From 443b1f53b5e7e543270a6f090dd80c2d7ef9955e Mon Sep 17 00:00:00 2001 From: xiaohu <1901900812@qq.com> Date: Thu, 10 Oct 2024 18:27:35 +0800 Subject: [PATCH 1/2] //legionActivity --- .../WxLegionActivityUserController.java | 124 ++++++++++++++++ .../WxLegionActivityUserController.java | 14 ++ .../domain/po/WxLegionActivityOrder.java | 11 +- .../domain/po/WxLegionActivityUser.java | 17 +++ .../service/WxLegionActivityUserService.java | 7 + .../WxLegionActivityOrderServiceImpl.java | 20 ++- .../impl/WxLegionActivityUserServiceImpl.java | 132 ++++++++++++++++-- .../mapper/WxLegionActivityOrderMapper.xml | 3 + 8 files changed, 312 insertions(+), 16 deletions(-) create mode 100644 mallinkAdmin/src/main/java/com/iformall/controller/market/WxLegionActivityUserController.java diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxLegionActivityUserController.java b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxLegionActivityUserController.java new file mode 100644 index 000000000..c7554e41e --- /dev/null +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxLegionActivityUserController.java @@ -0,0 +1,124 @@ +package com.iformall.controller.market; + +import com.github.pagehelper.PageInfo; +import com.iformall.annotation.ApiVersion; +import com.iformall.common.ErrorCode; +import com.iformall.common.Result; +import com.iformall.common.ResultData; +import com.iformall.constant.SwaggerConstant; +import com.iformall.controller.base.BaseController; +import com.iformall.domain.po.WxLegionActivityOrder; +import com.iformall.domain.po.WxLegionActivityUser; +import com.iformall.domain.po.base.BaseEntity.SortField; +import com.iformall.domain.po.base.TenantEntity; +import com.iformall.enums.EnumLegionActivityOrderStatus; +import com.iformall.enums.EnumLegionActivityUserStatus; +import com.iformall.exception.MallinkException; +import com.iformall.service.WxLegionActivityUserService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import jodd.util.StringUtil; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +/** + * @author alascor + * + */ +@RestController +@RequestMapping("/legionUser") +@Api(tags = "军团活动用户相关接口") +public class WxLegionActivityUserController extends BaseController { + private final Logger logger = LoggerFactory.getLogger(this.getClass()); + + @Autowired + private WxLegionActivityUserService wxLegionActivityUserService; + + @ApiVersion(group = SwaggerConstant.V_2_0_0) + @ApiOperation("分页列表接口") + @GetMapping("list") + @ApiImplicitParams({ + @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), + @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) + public ResultData list(@ModelAttribute WxLegionActivityUser wxLegionActivityUser, Integer pageNum, Integer pageSize) { + if (null == wxLegionActivityUser) wxLegionActivityUser = new WxLegionActivityUser(); + if(wxLegionActivityUser.getActivityId() == null){ + return new ResultData(Result.ERROR,"活动ID不能为空"); + } + TenantEntity tenantInfo = getTenantInfo(); + wxLegionActivityUser.updateTenantInfo(tenantInfo); + wxLegionActivityUser.setSortColumns(SortField.CreateDate_DESC); + final PageInfo page = wxLegionActivityUserService.listAsPage(wxLegionActivityUser, pageNum, pageSize); + + return new ResultData(page); + } + + @ApiVersion(group = SwaggerConstant.V_2_0_0) + @ApiOperation("导出") + @GetMapping("/export") + public void export(@ModelAttribute WxLegionActivityUser wxLegionActivityUser, HttpServletRequest request, HttpServletResponse response) { + if (null == wxLegionActivityUser) wxLegionActivityUser = new WxLegionActivityUser(); + if(wxLegionActivityUser.getActivityId() == null){ + throw new MallinkException(Result.ERROR,"活动ID不能为空"); + } + TenantEntity tenantInfo = getTenantInfo(); + wxLegionActivityUser.updateTenantInfo(tenantInfo); + wxLegionActivityUser.setSortColumns(SortField.CreateDate_DESC); + wxLegionActivityUserService.exportData(request,response,wxLegionActivityUser); + } + + @ApiVersion(group = SwaggerConstant.V_2_0_0) + @ApiOperation("修改接口") + @PostMapping("saveOrUpdate") + public ResultData saveOrUpdate(@RequestBody WxLegionActivityUser wxLegionActivityUser) { + if(wxLegionActivityUser.getId() == null){ + return new ResultData(Result.ERROR,"ID不能为空"); + } + + TenantEntity tenantEntity = getTenantInfo(); + wxLegionActivityUser.updateTenantInfo(tenantEntity); + try{ + wxLegionActivityUserService.saveOrUpdate(wxLegionActivityUser); + return new ResultData(); + }catch(MallinkException e){ + logger.error(e.getMessage()); + return new ResultData(e.getErrorCode(), e.getMessage()); + }catch(Exception e){ + logger.error("异常:" + e); + return new ResultData(ErrorCode.SYS_SERVER_ERROR); + } + } + + @ApiVersion(group = SwaggerConstant.V_2_0_0) + @ApiOperation("查询当前信息详情") + @GetMapping("getInfoById") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "主键id", dataType = "Long", paramType = "query", required = true)}) + public ResultData getInfoById(Long id) { + TenantEntity tenantInfo = getTenantInfo(); + WxLegionActivityUser user = wxLegionActivityUserService.getById(id, tenantInfo.getTenantId()); + return new ResultData(user); + } + + @ApiVersion(group = SwaggerConstant.V_2_0_0) + @ApiOperation("失效") + @PostMapping("invalid") + public ResultData invalid(@RequestBody WxLegionActivityUser wxLegionActivityUser) { + if(wxLegionActivityUser.getId() == null){ + return new ResultData(Result.ERROR,"ID不能为空"); + } + TenantEntity tenantEntity = getTenantInfo(); + wxLegionActivityUser.updateTenantInfo(tenantEntity); + wxLegionActivityUser.setStatus(EnumLegionActivityUserStatus.INVALID.getCode()); + wxLegionActivityUserService.updateStatus(wxLegionActivityUser); + return new ResultData(); + } + +} diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxLegionActivityUserController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxLegionActivityUserController.java index b6f038d8b..42e585eb4 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxLegionActivityUserController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxLegionActivityUserController.java @@ -87,6 +87,20 @@ public class WxLegionActivityUserController extends BaseController { } } + @ApiVersion(group = SwaggerConstant.V_2_0_0) + @ApiOperation("失效") + @PostMapping("invalid") + public ResultData invalid(@RequestBody WxLegionActivityUser wxLegionActivityUser) { + if(wxLegionActivityUser.getId() == null){ + return new ResultData(Result.ERROR,"ID不能为空"); + } + TenantEntity tenantEntity = getTenantInfo(); + wxLegionActivityUser.updateTenantInfo(tenantEntity); + wxLegionActivityUser.setStatus(EnumLegionActivityUserStatus.INVALID.getCode()); + wxLegionActivityUserService.updateStatus(wxLegionActivityUser); + return new ResultData(); + } + @ApiVersion(group = SwaggerConstant.V_2_0_0) @ApiOperation("查询当前信息详情") @GetMapping("getInfoById") diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxLegionActivityOrder.java b/mallinkService/src/main/java/com/iformall/domain/po/WxLegionActivityOrder.java index e63a538e4..fc4c9245e 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxLegionActivityOrder.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxLegionActivityOrder.java @@ -52,7 +52,7 @@ public class WxLegionActivityOrder extends TenantEntity { * 订单金额 */ @io.swagger.annotations.ApiModelProperty(value="订单金额",name="orderMoney") - @Excel(name = "订单金额", width = 20, orderNum = "10") + @Excel(name = "订单金额", width = 20, orderNum = "12") @TableField(value = "order_money") private BigDecimal orderMoney; @@ -123,11 +123,14 @@ public class WxLegionActivityOrder extends TenantEntity { @io.swagger.annotations.ApiModelProperty(value="联盟id",name="unionId") @TableField(value = "union_id") private Long unionId; + @Excel(name = "所属联盟", width = 20, orderNum = "9") + @TableField(exist = false) + private String unionName; // /** // * 卡属派系 // */ -// @Excel(name = "所属派系", width = 20, orderNum = "9", replace = {"原联盟_1", "非联盟_2"}) +// @Excel(name = "所属派系", width = 20, orderNum = "10", replace = {"原联盟_1", "非联盟_2"}) // @TableField(exist = false) // private Integer unionType; @@ -141,7 +144,7 @@ public class WxLegionActivityOrder extends TenantEntity { * 0:签单, 1:外部军团带单1, 2:内部军团不同联盟带单, 3:内部军团相同联盟带单, 4:内部军团无联盟带单 */ @io.swagger.annotations.ApiModelProperty(value="带单类型 0:签单, 1:外部军团带单1, 2:内部军团不同联盟带单, 3:内部军团相同联盟带单, 4:内部军团无联盟带单",name="orderType") - @Excel(name = "带单类型", width = 20, orderNum = "9", replace = {"签单_0", "外部军团带单_1", "内部军团不同联盟带单_2", "内部军团相同联盟带单_3", "内部军团无联盟带单_4"}) + @Excel(name = "带单类型", width = 20, orderNum = "13", replace = {"签单_0", "外部军团带单_1", "内部军团不同联盟带单_2", "内部军团相同联盟带单_3", "内部军团无联盟带单_4"}) @TableField(value = "order_type") private Integer orderType; @TableField(exist = false) @@ -198,7 +201,7 @@ public class WxLegionActivityOrder extends TenantEntity { * 审核时间 */ @io.swagger.annotations.ApiModelProperty(value="审核时间",name="auditTime") - @Excel(name = "审核时间", format = "yyyy-MM-dd HH:mm:ss", width = 20, orderNum = "12") + @Excel(name = "审核时间", format = "yyyy-MM-dd HH:mm:ss", width = 20, orderNum = "14") @TableField(value = "audit_time") private Date auditTime; diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxLegionActivityUser.java b/mallinkService/src/main/java/com/iformall/domain/po/WxLegionActivityUser.java index da2789dee..bd8452506 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxLegionActivityUser.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxLegionActivityUser.java @@ -1,5 +1,6 @@ package com.iformall.domain.po; +import cn.afterturn.easypoi.excel.annotation.Excel; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; @@ -39,6 +40,7 @@ public class WxLegionActivityUser extends TenantEntity { /** * 用户手机号 */ + @Excel(name = "用户手机号", width = 20, orderNum = "1") @io.swagger.annotations.ApiModelProperty(value="用户手机号",name="phone") @TableField(value = "phone") private String phone; @@ -46,6 +48,7 @@ public class WxLegionActivityUser extends TenantEntity { /** * 用户姓名 */ + @Excel(name = "用户姓名", width = 20, orderNum = "3") @io.swagger.annotations.ApiModelProperty(value="用户姓名",name="phone") @TableField(value = "name") private String name; @@ -53,6 +56,7 @@ public class WxLegionActivityUser extends TenantEntity { /** * 用户地址 */ + @Excel(name = "用户地址", width = 20, orderNum = "4") @io.swagger.annotations.ApiModelProperty(value="用户地址",name="address") @TableField(value = "address") private String address; @@ -60,6 +64,7 @@ public class WxLegionActivityUser extends TenantEntity { /** * 会员卡号 */ + @Excel(name = "会员卡号", width = 20, orderNum = "2") @io.swagger.annotations.ApiModelProperty(value="会员卡号",name="vipNum") @TableField(value = "vip_num") private String vipNum; @@ -70,6 +75,10 @@ public class WxLegionActivityUser extends TenantEntity { @TableField(value = "merchant_id") private Long merchantId; + @Excel(name = "商户名称", width = 20, orderNum = "5") + @TableField(exist = false) + private String merchantName; + @TableField(exist = false) private List merchantIdList; @@ -78,16 +87,23 @@ public class WxLegionActivityUser extends TenantEntity { */ @TableField(value = "legion_id") private Long legionId; + @Excel(name = "所属军团", width = 20, orderNum = "6") + @TableField(exist = false) + private String legionName; /** * 所属联盟 */ @TableField(value = "union_id") private Long unionId; + @Excel(name = "所属联盟", width = 20, orderNum = "7") + @TableField(exist = false) + private String unionName; /** * 状态 */ + @Excel(name = "状态", width = 20, orderNum = "8", replace = {"已绑定_0", "已失效_1"}) @TableField(value = "status") private Integer status; @@ -100,6 +116,7 @@ public class WxLegionActivityUser extends TenantEntity { /** * 创建时间 */ + @Excel(name = "提交时间", format = "yyyy-MM-dd HH:mm:ss", width = 20, orderNum = "9") @TableField(value = "create_date") private Date createDate; diff --git a/mallinkService/src/main/java/com/iformall/service/WxLegionActivityUserService.java b/mallinkService/src/main/java/com/iformall/service/WxLegionActivityUserService.java index e4cdda50d..840d52b3f 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxLegionActivityUserService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxLegionActivityUserService.java @@ -4,6 +4,8 @@ import com.github.pagehelper.PageInfo; import com.iformall.domain.po.WxLegionActivityUser; import com.baomidou.mybatisplus.extension.service.IService; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import java.util.Map; /** @@ -15,6 +17,8 @@ public interface WxLegionActivityUserService { PageInfo listAsPage(WxLegionActivityUser wxLegionActivityUser, Integer pageNum, Integer pageSize); + void exportData(HttpServletRequest request, HttpServletResponse response, WxLegionActivityUser wxLegionActivityUser); + void saveOrUpdate(WxLegionActivityUser wxLegionActivityUser); WxLegionActivityUser getById(Long id, String tenantId); @@ -22,4 +26,7 @@ public interface WxLegionActivityUserService { WxLegionActivityUser selectOne(WxLegionActivityUser wxLegionActivityUser); Map findUserMap(WxLegionActivityUser wxLegionActivityUser); + + void updateStatus(WxLegionActivityUser wxLegionActivityUser); + } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxLegionActivityOrderServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxLegionActivityOrderServiceImpl.java index 56cf7b54b..e41979b77 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxLegionActivityOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxLegionActivityOrderServiceImpl.java @@ -149,9 +149,16 @@ public class WxLegionActivityOrderServiceImpl implements WxLegionActivityOrderSe legionActivityOrder.setMerchantName(merchantMap.get(legionActivityOrder.getMerchantId())); if(legionActivityOrder.getLegionId().equals(0L)){ legionActivityOrder.setLegionName("未参加活动"); + legionActivityOrder.setUnionName("未参加活动"); }else{ legionActivityOrder.setLegionName(legionConfigMap.get(legionActivityOrder.getLegionId())); + if(legionActivityOrder.getUnionId().equals(0L)){ + legionActivityOrder.setUnionName("无联盟"); + }else{ + legionActivityOrder.setUnionName(legionConfigMap.get(legionActivityOrder.getUnionId())); + } } + // if(EnumLegionActivityOrderType.EQ_UNION.getCode().equals(wxLegionActivityOrder.getOrderType())){ // wxLegionActivityOrder.setUnionType(EnumLegionActivityOrderUnionType.EQ_UNION.getCode()); // }else{ @@ -245,11 +252,20 @@ public class WxLegionActivityOrderServiceImpl implements WxLegionActivityOrderSe WxMerchant merchant = wxMerchantMapper.selectById(wxLegionActivityOrder.getMerchantId()); wxLegionActivityOrder.setMerchantName(merchant.getName()); + WxLegionActivityConfig legionConfigQ = new WxLegionActivityConfig(); + legionConfigQ.updateTenantInfo(wxLegionActivityOrder); + legionConfigQ.setActivityId(wxLegionActivityOrder.getActivityId()); + Map legionConfigMap = wxLegionActivityConfigService.getLegionConfigMap(legionConfigQ); if(wxLegionActivityOrder.getLegionId().equals(0L)){ wxLegionActivityOrder.setLegionName("未参加活动"); + wxLegionActivityOrder.setUnionName("未参加活动"); }else{ - WxLegionActivityConfig legionActivityConfig = wxLegionActivityConfigMapper.selectById(wxLegionActivityOrder.getLegionId()); - wxLegionActivityOrder.setLegionName(legionActivityConfig.getName()); + wxLegionActivityOrder.setLegionName(legionConfigMap.get(wxLegionActivityOrder.getLegionId())); + if(wxLegionActivityOrder.getUnionId().equals(0L)){ + wxLegionActivityOrder.setUnionName("无联盟"); + }else{ + wxLegionActivityOrder.setUnionName(legionConfigMap.get(wxLegionActivityOrder.getUnionId())); + } } // if(EnumLegionActivityOrderType.EQ_UNION.getCode().equals(wxLegionActivityOrder.getOrderType())){ diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxLegionActivityUserServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxLegionActivityUserServiceImpl.java index 17d81fbce..bce1303c9 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxLegionActivityUserServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxLegionActivityUserServiceImpl.java @@ -7,20 +7,23 @@ import com.github.pagehelper.PageInfo; import com.iformall.common.ErrorCode; import com.iformall.common.IdWorker; import com.iformall.common.Result; -import com.iformall.domain.po.WxLegionActivityMerchantConfig; -import com.iformall.domain.po.WxLegionActivityOrder; -import com.iformall.domain.po.WxLegionActivityUser; -import com.iformall.domain.po.WxMerchant; +import com.iformall.domain.po.*; +import com.iformall.domain.po.base.TenantEntity; import com.iformall.enums.EnumLegionActivityOrderStatus; import com.iformall.enums.EnumLegionActivityUserStatus; import com.iformall.exception.MallinkException; -import com.iformall.mapper.WxLegionActivityMerchantConfigMapper; +import com.iformall.mapper.*; +import com.iformall.service.ExcelService; +import com.iformall.service.WxLegionActivityConfigService; import com.iformall.service.WxLegionActivityUserService; -import com.iformall.mapper.WxLegionActivityUserMapper; +import com.iformall.service.WxMerchantService; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import java.util.*; import java.util.function.Function; import java.util.stream.Collectors; @@ -39,22 +42,86 @@ public class WxLegionActivityUserServiceImpl implements WxLegionActivityUserServ @Autowired private WxLegionActivityMerchantConfigMapper wxLegionActivityMerchantConfigMapper; + @Autowired + private WxLegionActivityConfigService wxLegionActivityConfigService; + + @Autowired + private WxLegionActivityConfigMapper wxLegionActivityConfigMapper; + + @Autowired + private WxLegionActivityOrderMapper wxLegionActivityOrderMapper; + + @Autowired + private WxMerchantMapper wxMerchantMapper; + + @Autowired + private WxMerchantService wxMerchantService; + + @Autowired + private ExcelService excelService; + @Override public PageInfo listAsPage(WxLegionActivityUser wxLegionActivityUser, Integer pageNum, Integer pageSize) { handlerQuery(wxLegionActivityUser); PageInfo recordPageInfo = PageHelper.startPage(pageNum, pageSize).doSelectPageInfo(() -> wxLegionActivityUserMapper.findList(wxLegionActivityUser)); - handlerList(recordPageInfo.getList()); + handlerList(wxLegionActivityUser,recordPageInfo.getList()); return recordPageInfo; } private void handlerQuery(WxLegionActivityUser wxLegionActivityUser) { - + //商户处理 + if (StringUtils.isNotBlank(wxLegionActivityUser.getMerchantName())) { + WxMerchant merchant = new WxMerchant(); + merchant.updateTenantInfo(wxLegionActivityUser); + merchant.setName(wxLegionActivityUser.getMerchantName()); + List mids = wxMerchantMapper.findIdList(merchant); + if (null == mids || mids.size() <= 0 ) { + wxLegionActivityUser.setId(-1L); + }else { + wxLegionActivityUser.setMerchantIdList(mids); + } + } } - private void handlerList(List wxLegionActivityUsers) { + private void handlerList(WxLegionActivityUser wxLegionActivityUser,List wxLegionActivityUsers) { if(wxLegionActivityUsers == null || wxLegionActivityUsers.isEmpty()) { return; } + + List merchantIds = wxLegionActivityUsers.stream().map(WxLegionActivityUser::getMerchantId).distinct().collect(Collectors.toList()); + WxMerchant merchantQ = new WxMerchant(); + merchantQ.updateTenantInfo(wxLegionActivityUser); + merchantQ.setIds(merchantIds); + Map idAndNamesMap = wxMerchantService.getIdAndNamesMap(merchantQ); + + WxLegionActivityConfig legionConfigQ = new WxLegionActivityConfig(); + legionConfigQ.updateTenantInfo(wxLegionActivityUser); + legionConfigQ.setActivityId(wxLegionActivityUser.getActivityId()); + Map legionConfigMap = wxLegionActivityConfigService.getLegionConfigMap(legionConfigQ); + + for (WxLegionActivityUser legionActivityUser : wxLegionActivityUsers) { + legionActivityUser.setMerchantName(idAndNamesMap.get(legionActivityUser.getMerchantId())); + + if(legionActivityUser.getLegionId().equals(0L)){ + legionActivityUser.setLegionName("未参加活动"); + legionActivityUser.setUnionName("未参加活动"); + }else{ + legionActivityUser.setLegionName(legionConfigMap.get(legionActivityUser.getLegionId())); + if(legionActivityUser.getUnionId().equals(0L)){ + legionActivityUser.setUnionName("无联盟"); + }else{ + legionActivityUser.setUnionName(legionConfigMap.get(legionActivityUser.getUnionId())); + } + } + } + } + + @Override + public void exportData(HttpServletRequest request, HttpServletResponse response, WxLegionActivityUser wxLegionActivityUser) { + handlerQuery(wxLegionActivityUser); + List list = wxLegionActivityUserMapper.findList(wxLegionActivityUser); + handlerList(wxLegionActivityUser, list); + excelService.exportExcel(list, null, "军团活动用户列表", WxLegionActivityUser.class, "军团活动用户列表.xlsx", response, false); } @Override @@ -137,7 +204,30 @@ public class WxLegionActivityUserServiceImpl implements WxLegionActivityUserServ @Override public WxLegionActivityUser getById(Long id, String tenantId) { - return wxLegionActivityUserMapper.selectById(id,tenantId); + WxLegionActivityUser wxLegionActivityUser = wxLegionActivityUserMapper.selectById(id, tenantId); + if(wxLegionActivityUser == null) { + return null; + } + WxMerchant merchant = wxMerchantMapper.selectById(wxLegionActivityUser.getMerchantId()); + wxLegionActivityUser.setMerchantName(merchant.getName()); + + WxLegionActivityConfig legionConfigQ = new WxLegionActivityConfig(); + legionConfigQ.updateTenantInfo(wxLegionActivityUser); + legionConfigQ.setActivityId(wxLegionActivityUser.getActivityId()); + Map legionConfigMap = wxLegionActivityConfigService.getLegionConfigMap(legionConfigQ); + + if(wxLegionActivityUser.getLegionId().equals(0L)){ + wxLegionActivityUser.setLegionName("未参加活动"); + wxLegionActivityUser.setUnionName("未参加活动"); + }else{ + wxLegionActivityUser.setLegionName(legionConfigMap.get(wxLegionActivityUser.getLegionId())); + if(wxLegionActivityUser.getUnionId().equals(0L)){ + wxLegionActivityUser.setUnionName("无联盟"); + }else{ + wxLegionActivityUser.setUnionName(legionConfigMap.get(wxLegionActivityUser.getUnionId())); + } + } + return wxLegionActivityUser; } @Override @@ -154,6 +244,28 @@ public class WxLegionActivityUserServiceImpl implements WxLegionActivityUserServ } return userMap; } + + @Override + @Transactional(rollbackFor = Exception.class) + public void updateStatus(WxLegionActivityUser wxLegionActivityUser) { + Date now = new Date(); + wxLegionActivityUser.setUpdateDate(now); + wxLegionActivityUserMapper.updateStatus(wxLegionActivityUser); + + if(EnumLegionActivityUserStatus.INVALID.getCode().equals(wxLegionActivityUser.getStatus())){ + //作废用户下所有订单 + + WxLegionActivityOrder activityOrder = new WxLegionActivityOrder(); + activityOrder.updateTenantInfo(wxLegionActivityUser); + activityOrder.setActivityId(wxLegionActivityUser.getId()); + activityOrder.setCusId(wxLegionActivityUser.getId()); + activityOrder.setAuditStatus(EnumLegionActivityOrderStatus.INVALID.getCode()); + activityOrder.setUpdateDate(now); + wxLegionActivityOrderMapper.updateAuditStatus(activityOrder); + + } + } + } diff --git a/mallinkService/src/main/resources/mapper/WxLegionActivityOrderMapper.xml b/mallinkService/src/main/resources/mapper/WxLegionActivityOrderMapper.xml index d4a0d213e..25717b909 100644 --- a/mallinkService/src/main/resources/mapper/WxLegionActivityOrderMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxLegionActivityOrderMapper.xml @@ -161,6 +161,9 @@ and `activity_id` = #{activityId} + + and `cus_id` = #{cusId} + and merchant_id in From 2693778034634b1079f88086dbb9b376dd9a5fba Mon Sep 17 00:00:00 2001 From: xiaohu <1901900812@qq.com> Date: Thu, 10 Oct 2024 19:17:06 +0800 Subject: [PATCH 2/2] //legionActivity --- .../WxLegionActivityUserController.java | 4 ++++ .../WxLegionActivityUserController.java | 3 ++- .../domain/po/WxLegionActivityUser.java | 21 +++++++++++-------- .../impl/WxLegionActivityUserServiceImpl.java | 11 ++++++---- 4 files changed, 25 insertions(+), 14 deletions(-) diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxLegionActivityUserController.java b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxLegionActivityUserController.java index c7554e41e..cdca4e1ce 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxLegionActivityUserController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxLegionActivityUserController.java @@ -54,6 +54,7 @@ public class WxLegionActivityUserController extends BaseController { } TenantEntity tenantInfo = getTenantInfo(); wxLegionActivityUser.updateTenantInfo(tenantInfo); + wxLegionActivityUser.setStatus(EnumLegionActivityUserStatus.VALID.getCode()); wxLegionActivityUser.setSortColumns(SortField.CreateDate_DESC); final PageInfo page = wxLegionActivityUserService.listAsPage(wxLegionActivityUser, pageNum, pageSize); @@ -81,6 +82,9 @@ public class WxLegionActivityUserController extends BaseController { if(wxLegionActivityUser.getId() == null){ return new ResultData(Result.ERROR,"ID不能为空"); } + if(wxLegionActivityUser.getMerchantId() == null){ + return new ResultData(Result.ERROR,"商户ID不能为空"); + } TenantEntity tenantEntity = getTenantInfo(); wxLegionActivityUser.updateTenantInfo(tenantEntity); diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxLegionActivityUserController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxLegionActivityUserController.java index 42e585eb4..52395fa29 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxLegionActivityUserController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxLegionActivityUserController.java @@ -52,8 +52,9 @@ public class WxLegionActivityUserController extends BaseController { } TenantEntity tenantInfo = getTenantInfo(); wxLegionActivityUser.updateTenantInfo(tenantInfo); - wxLegionActivityUser.setSortColumns(SortField.CreateDate_DESC); wxLegionActivityUser.setMerchantId(getLoginBUser().getMerchantId()); + wxLegionActivityUser.setStatus(EnumLegionActivityUserStatus.VALID.getCode()); + wxLegionActivityUser.setSortColumns(SortField.CreateDate_DESC); final PageInfo page = wxLegionActivityUserService.listAsPage(wxLegionActivityUser, pageNum, pageSize); return new ResultData(page); } diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxLegionActivityUser.java b/mallinkService/src/main/java/com/iformall/domain/po/WxLegionActivityUser.java index bd8452506..6777edee8 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxLegionActivityUser.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxLegionActivityUser.java @@ -40,7 +40,7 @@ public class WxLegionActivityUser extends TenantEntity { /** * 用户手机号 */ - @Excel(name = "用户手机号", width = 20, orderNum = "1") + @Excel(name = "用户手机号", width = 20, orderNum = "5") @io.swagger.annotations.ApiModelProperty(value="用户手机号",name="phone") @TableField(value = "phone") private String phone; @@ -48,7 +48,7 @@ public class WxLegionActivityUser extends TenantEntity { /** * 用户姓名 */ - @Excel(name = "用户姓名", width = 20, orderNum = "3") + @Excel(name = "用户姓名", width = 20, orderNum = "4") @io.swagger.annotations.ApiModelProperty(value="用户姓名",name="phone") @TableField(value = "name") private String name; @@ -56,7 +56,7 @@ public class WxLegionActivityUser extends TenantEntity { /** * 用户地址 */ - @Excel(name = "用户地址", width = 20, orderNum = "4") + @Excel(name = "用户地址", width = 20, orderNum = "6") @io.swagger.annotations.ApiModelProperty(value="用户地址",name="address") @TableField(value = "address") private String address; @@ -64,7 +64,7 @@ public class WxLegionActivityUser extends TenantEntity { /** * 会员卡号 */ - @Excel(name = "会员卡号", width = 20, orderNum = "2") + @Excel(name = "会员卡号", width = 20, orderNum = "1") @io.swagger.annotations.ApiModelProperty(value="会员卡号",name="vipNum") @TableField(value = "vip_num") private String vipNum; @@ -75,9 +75,12 @@ public class WxLegionActivityUser extends TenantEntity { @TableField(value = "merchant_id") private Long merchantId; - @Excel(name = "商户名称", width = 20, orderNum = "5") + @Excel(name = "商户名称", width = 20, orderNum = "7") @TableField(exist = false) private String merchantName; + @Excel(name="商铺号",width = 20,orderNum = "8") + @TableField(exist = false) + private String shopNumber; @TableField(exist = false) private List merchantIdList; @@ -87,7 +90,7 @@ public class WxLegionActivityUser extends TenantEntity { */ @TableField(value = "legion_id") private Long legionId; - @Excel(name = "所属军团", width = 20, orderNum = "6") + @Excel(name = "所属军团", width = 20, orderNum = "2") @TableField(exist = false) private String legionName; @@ -96,14 +99,14 @@ public class WxLegionActivityUser extends TenantEntity { */ @TableField(value = "union_id") private Long unionId; - @Excel(name = "所属联盟", width = 20, orderNum = "7") +// @Excel(name = "所属联盟", width = 20, orderNum = "3") @TableField(exist = false) private String unionName; /** * 状态 */ - @Excel(name = "状态", width = 20, orderNum = "8", replace = {"已绑定_0", "已失效_1"}) +// @Excel(name = "状态", width = 20, orderNum = "9", replace = {"已绑定_0", "已失效_1"}) @TableField(value = "status") private Integer status; @@ -116,7 +119,7 @@ public class WxLegionActivityUser extends TenantEntity { /** * 创建时间 */ - @Excel(name = "提交时间", format = "yyyy-MM-dd HH:mm:ss", width = 20, orderNum = "9") + @Excel(name = "提交时间", format = "yyyy-MM-dd HH:mm:ss", width = 20, orderNum = "10") @TableField(value = "create_date") private Date createDate; diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxLegionActivityUserServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxLegionActivityUserServiceImpl.java index bce1303c9..3a9754f8a 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxLegionActivityUserServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxLegionActivityUserServiceImpl.java @@ -11,12 +11,10 @@ import com.iformall.domain.po.*; import com.iformall.domain.po.base.TenantEntity; import com.iformall.enums.EnumLegionActivityOrderStatus; import com.iformall.enums.EnumLegionActivityUserStatus; +import com.iformall.enums.EnumYesOrNo; import com.iformall.exception.MallinkException; import com.iformall.mapper.*; -import com.iformall.service.ExcelService; -import com.iformall.service.WxLegionActivityConfigService; -import com.iformall.service.WxLegionActivityUserService; -import com.iformall.service.WxMerchantService; +import com.iformall.service.*; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -57,6 +55,9 @@ public class WxLegionActivityUserServiceImpl implements WxLegionActivityUserServ @Autowired private WxMerchantService wxMerchantService; + @Autowired + private WxShopService wxShopService; + @Autowired private ExcelService excelService; @@ -93,6 +94,7 @@ public class WxLegionActivityUserServiceImpl implements WxLegionActivityUserServ merchantQ.updateTenantInfo(wxLegionActivityUser); merchantQ.setIds(merchantIds); Map idAndNamesMap = wxMerchantService.getIdAndNamesMap(merchantQ); + Map merchantShopNumberMap = wxShopService.getMerchantShopNumberMap(wxLegionActivityUser, merchantIds, EnumYesOrNo.NO.getCode()); WxLegionActivityConfig legionConfigQ = new WxLegionActivityConfig(); legionConfigQ.updateTenantInfo(wxLegionActivityUser); @@ -101,6 +103,7 @@ public class WxLegionActivityUserServiceImpl implements WxLegionActivityUserServ for (WxLegionActivityUser legionActivityUser : wxLegionActivityUsers) { legionActivityUser.setMerchantName(idAndNamesMap.get(legionActivityUser.getMerchantId())); + legionActivityUser.setShopNumber(merchantShopNumberMap.get(legionActivityUser.getMerchantId())); if(legionActivityUser.getLegionId().equals(0L)){ legionActivityUser.setLegionName("未参加活动");