| @@ -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<WxLegionActivityUser> 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(); | |||||
| } | |||||
| } | |||||
| @@ -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) | @ApiVersion(group = SwaggerConstant.V_2_0_0) | ||||
| @ApiOperation("查询当前信息详情") | @ApiOperation("查询当前信息详情") | ||||
| @GetMapping("getInfoById") | @GetMapping("getInfoById") | ||||
| @@ -52,7 +52,7 @@ public class WxLegionActivityOrder extends TenantEntity { | |||||
| * 订单金额 | * 订单金额 | ||||
| */ | */ | ||||
| @io.swagger.annotations.ApiModelProperty(value="订单金额",name="orderMoney") | @io.swagger.annotations.ApiModelProperty(value="订单金额",name="orderMoney") | ||||
| @Excel(name = "订单金额", width = 20, orderNum = "10") | |||||
| @Excel(name = "订单金额", width = 20, orderNum = "12") | |||||
| @TableField(value = "order_money") | @TableField(value = "order_money") | ||||
| private BigDecimal orderMoney; | private BigDecimal orderMoney; | ||||
| @@ -123,11 +123,14 @@ public class WxLegionActivityOrder extends TenantEntity { | |||||
| @io.swagger.annotations.ApiModelProperty(value="联盟id",name="unionId") | @io.swagger.annotations.ApiModelProperty(value="联盟id",name="unionId") | ||||
| @TableField(value = "union_id") | @TableField(value = "union_id") | ||||
| private Long unionId; | 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) | // @TableField(exist = false) | ||||
| // private Integer unionType; | // private Integer unionType; | ||||
| @@ -141,7 +144,7 @@ public class WxLegionActivityOrder extends TenantEntity { | |||||
| * 0:签单, 1:外部军团带单1, 2:内部军团不同联盟带单, 3:内部军团相同联盟带单, 4:内部军团无联盟带单 | * 0:签单, 1:外部军团带单1, 2:内部军团不同联盟带单, 3:内部军团相同联盟带单, 4:内部军团无联盟带单 | ||||
| */ | */ | ||||
| @io.swagger.annotations.ApiModelProperty(value="带单类型 0:签单, 1:外部军团带单1, 2:内部军团不同联盟带单, 3:内部军团相同联盟带单, 4:内部军团无联盟带单",name="orderType") | @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") | @TableField(value = "order_type") | ||||
| private Integer orderType; | private Integer orderType; | ||||
| @TableField(exist = false) | @TableField(exist = false) | ||||
| @@ -198,7 +201,7 @@ public class WxLegionActivityOrder extends TenantEntity { | |||||
| * 审核时间 | * 审核时间 | ||||
| */ | */ | ||||
| @io.swagger.annotations.ApiModelProperty(value="审核时间",name="auditTime") | @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") | @TableField(value = "audit_time") | ||||
| private Date auditTime; | private Date auditTime; | ||||
| @@ -1,5 +1,6 @@ | |||||
| package com.iformall.domain.po; | package com.iformall.domain.po; | ||||
| import cn.afterturn.easypoi.excel.annotation.Excel; | |||||
| import com.baomidou.mybatisplus.annotation.IdType; | import com.baomidou.mybatisplus.annotation.IdType; | ||||
| import com.baomidou.mybatisplus.annotation.TableField; | import com.baomidou.mybatisplus.annotation.TableField; | ||||
| import com.baomidou.mybatisplus.annotation.TableId; | 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") | @io.swagger.annotations.ApiModelProperty(value="用户手机号",name="phone") | ||||
| @TableField(value = "phone") | @TableField(value = "phone") | ||||
| private String 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") | @io.swagger.annotations.ApiModelProperty(value="用户姓名",name="phone") | ||||
| @TableField(value = "name") | @TableField(value = "name") | ||||
| private String 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") | @io.swagger.annotations.ApiModelProperty(value="用户地址",name="address") | ||||
| @TableField(value = "address") | @TableField(value = "address") | ||||
| private String 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") | @io.swagger.annotations.ApiModelProperty(value="会员卡号",name="vipNum") | ||||
| @TableField(value = "vip_num") | @TableField(value = "vip_num") | ||||
| private String vipNum; | private String vipNum; | ||||
| @@ -70,6 +75,10 @@ public class WxLegionActivityUser extends TenantEntity { | |||||
| @TableField(value = "merchant_id") | @TableField(value = "merchant_id") | ||||
| private Long merchantId; | private Long merchantId; | ||||
| @Excel(name = "商户名称", width = 20, orderNum = "5") | |||||
| @TableField(exist = false) | |||||
| private String merchantName; | |||||
| @TableField(exist = false) | @TableField(exist = false) | ||||
| private List<Long> merchantIdList; | private List<Long> merchantIdList; | ||||
| @@ -78,16 +87,23 @@ public class WxLegionActivityUser extends TenantEntity { | |||||
| */ | */ | ||||
| @TableField(value = "legion_id") | @TableField(value = "legion_id") | ||||
| private Long legionId; | private Long legionId; | ||||
| @Excel(name = "所属军团", width = 20, orderNum = "6") | |||||
| @TableField(exist = false) | |||||
| private String legionName; | |||||
| /** | /** | ||||
| * 所属联盟 | * 所属联盟 | ||||
| */ | */ | ||||
| @TableField(value = "union_id") | @TableField(value = "union_id") | ||||
| private Long unionId; | 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") | @TableField(value = "status") | ||||
| private Integer 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") | @TableField(value = "create_date") | ||||
| private Date createDate; | private Date createDate; | ||||
| @@ -4,6 +4,8 @@ import com.github.pagehelper.PageInfo; | |||||
| import com.iformall.domain.po.WxLegionActivityUser; | import com.iformall.domain.po.WxLegionActivityUser; | ||||
| import com.baomidou.mybatisplus.extension.service.IService; | import com.baomidou.mybatisplus.extension.service.IService; | ||||
| import javax.servlet.http.HttpServletRequest; | |||||
| import javax.servlet.http.HttpServletResponse; | |||||
| import java.util.Map; | import java.util.Map; | ||||
| /** | /** | ||||
| @@ -15,6 +17,8 @@ public interface WxLegionActivityUserService { | |||||
| PageInfo<WxLegionActivityUser> listAsPage(WxLegionActivityUser wxLegionActivityUser, Integer pageNum, Integer pageSize); | PageInfo<WxLegionActivityUser> listAsPage(WxLegionActivityUser wxLegionActivityUser, Integer pageNum, Integer pageSize); | ||||
| void exportData(HttpServletRequest request, HttpServletResponse response, WxLegionActivityUser wxLegionActivityUser); | |||||
| void saveOrUpdate(WxLegionActivityUser wxLegionActivityUser); | void saveOrUpdate(WxLegionActivityUser wxLegionActivityUser); | ||||
| WxLegionActivityUser getById(Long id, String tenantId); | WxLegionActivityUser getById(Long id, String tenantId); | ||||
| @@ -22,4 +26,7 @@ public interface WxLegionActivityUserService { | |||||
| WxLegionActivityUser selectOne(WxLegionActivityUser wxLegionActivityUser); | WxLegionActivityUser selectOne(WxLegionActivityUser wxLegionActivityUser); | ||||
| Map<Long, WxLegionActivityUser> findUserMap(WxLegionActivityUser wxLegionActivityUser); | Map<Long, WxLegionActivityUser> findUserMap(WxLegionActivityUser wxLegionActivityUser); | ||||
| void updateStatus(WxLegionActivityUser wxLegionActivityUser); | |||||
| } | } | ||||
| @@ -149,9 +149,16 @@ public class WxLegionActivityOrderServiceImpl implements WxLegionActivityOrderSe | |||||
| legionActivityOrder.setMerchantName(merchantMap.get(legionActivityOrder.getMerchantId())); | legionActivityOrder.setMerchantName(merchantMap.get(legionActivityOrder.getMerchantId())); | ||||
| if(legionActivityOrder.getLegionId().equals(0L)){ | if(legionActivityOrder.getLegionId().equals(0L)){ | ||||
| legionActivityOrder.setLegionName("未参加活动"); | legionActivityOrder.setLegionName("未参加活动"); | ||||
| legionActivityOrder.setUnionName("未参加活动"); | |||||
| }else{ | }else{ | ||||
| legionActivityOrder.setLegionName(legionConfigMap.get(legionActivityOrder.getLegionId())); | 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())){ | // if(EnumLegionActivityOrderType.EQ_UNION.getCode().equals(wxLegionActivityOrder.getOrderType())){ | ||||
| // wxLegionActivityOrder.setUnionType(EnumLegionActivityOrderUnionType.EQ_UNION.getCode()); | // wxLegionActivityOrder.setUnionType(EnumLegionActivityOrderUnionType.EQ_UNION.getCode()); | ||||
| // }else{ | // }else{ | ||||
| @@ -245,11 +252,20 @@ public class WxLegionActivityOrderServiceImpl implements WxLegionActivityOrderSe | |||||
| WxMerchant merchant = wxMerchantMapper.selectById(wxLegionActivityOrder.getMerchantId()); | WxMerchant merchant = wxMerchantMapper.selectById(wxLegionActivityOrder.getMerchantId()); | ||||
| wxLegionActivityOrder.setMerchantName(merchant.getName()); | wxLegionActivityOrder.setMerchantName(merchant.getName()); | ||||
| WxLegionActivityConfig legionConfigQ = new WxLegionActivityConfig(); | |||||
| legionConfigQ.updateTenantInfo(wxLegionActivityOrder); | |||||
| legionConfigQ.setActivityId(wxLegionActivityOrder.getActivityId()); | |||||
| Map<Long, String> legionConfigMap = wxLegionActivityConfigService.getLegionConfigMap(legionConfigQ); | |||||
| if(wxLegionActivityOrder.getLegionId().equals(0L)){ | if(wxLegionActivityOrder.getLegionId().equals(0L)){ | ||||
| wxLegionActivityOrder.setLegionName("未参加活动"); | wxLegionActivityOrder.setLegionName("未参加活动"); | ||||
| wxLegionActivityOrder.setUnionName("未参加活动"); | |||||
| }else{ | }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())){ | // if(EnumLegionActivityOrderType.EQ_UNION.getCode().equals(wxLegionActivityOrder.getOrderType())){ | ||||
| @@ -7,20 +7,23 @@ import com.github.pagehelper.PageInfo; | |||||
| import com.iformall.common.ErrorCode; | import com.iformall.common.ErrorCode; | ||||
| import com.iformall.common.IdWorker; | import com.iformall.common.IdWorker; | ||||
| import com.iformall.common.Result; | 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.EnumLegionActivityOrderStatus; | ||||
| import com.iformall.enums.EnumLegionActivityUserStatus; | import com.iformall.enums.EnumLegionActivityUserStatus; | ||||
| import com.iformall.exception.MallinkException; | 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.service.WxLegionActivityUserService; | ||||
| import com.iformall.mapper.WxLegionActivityUserMapper; | |||||
| import com.iformall.service.WxMerchantService; | |||||
| import org.apache.commons.lang3.StringUtils; | import org.apache.commons.lang3.StringUtils; | ||||
| import org.springframework.beans.factory.annotation.Autowired; | import org.springframework.beans.factory.annotation.Autowired; | ||||
| import org.springframework.stereotype.Service; | 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.*; | ||||
| import java.util.function.Function; | import java.util.function.Function; | ||||
| import java.util.stream.Collectors; | import java.util.stream.Collectors; | ||||
| @@ -39,22 +42,86 @@ public class WxLegionActivityUserServiceImpl implements WxLegionActivityUserServ | |||||
| @Autowired | @Autowired | ||||
| private WxLegionActivityMerchantConfigMapper wxLegionActivityMerchantConfigMapper; | 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 | @Override | ||||
| public PageInfo<WxLegionActivityUser> listAsPage(WxLegionActivityUser wxLegionActivityUser, Integer pageNum, Integer pageSize) { | public PageInfo<WxLegionActivityUser> listAsPage(WxLegionActivityUser wxLegionActivityUser, Integer pageNum, Integer pageSize) { | ||||
| handlerQuery(wxLegionActivityUser); | handlerQuery(wxLegionActivityUser); | ||||
| PageInfo<WxLegionActivityUser> recordPageInfo = PageHelper.startPage(pageNum, pageSize).doSelectPageInfo(() -> wxLegionActivityUserMapper.findList(wxLegionActivityUser)); | PageInfo<WxLegionActivityUser> recordPageInfo = PageHelper.startPage(pageNum, pageSize).doSelectPageInfo(() -> wxLegionActivityUserMapper.findList(wxLegionActivityUser)); | ||||
| handlerList(recordPageInfo.getList()); | |||||
| handlerList(wxLegionActivityUser,recordPageInfo.getList()); | |||||
| return recordPageInfo; | return recordPageInfo; | ||||
| } | } | ||||
| private void handlerQuery(WxLegionActivityUser wxLegionActivityUser) { | private void handlerQuery(WxLegionActivityUser wxLegionActivityUser) { | ||||
| //商户处理 | |||||
| if (StringUtils.isNotBlank(wxLegionActivityUser.getMerchantName())) { | |||||
| WxMerchant merchant = new WxMerchant(); | |||||
| merchant.updateTenantInfo(wxLegionActivityUser); | |||||
| merchant.setName(wxLegionActivityUser.getMerchantName()); | |||||
| List<Long> mids = wxMerchantMapper.findIdList(merchant); | |||||
| if (null == mids || mids.size() <= 0 ) { | |||||
| wxLegionActivityUser.setId(-1L); | |||||
| }else { | |||||
| wxLegionActivityUser.setMerchantIdList(mids); | |||||
| } | |||||
| } | |||||
| } | } | ||||
| private void handlerList(List<WxLegionActivityUser> wxLegionActivityUsers) { | |||||
| private void handlerList(WxLegionActivityUser wxLegionActivityUser,List<WxLegionActivityUser> wxLegionActivityUsers) { | |||||
| if(wxLegionActivityUsers == null || wxLegionActivityUsers.isEmpty()) { | if(wxLegionActivityUsers == null || wxLegionActivityUsers.isEmpty()) { | ||||
| return; | return; | ||||
| } | } | ||||
| List<Long> merchantIds = wxLegionActivityUsers.stream().map(WxLegionActivityUser::getMerchantId).distinct().collect(Collectors.toList()); | |||||
| WxMerchant merchantQ = new WxMerchant(); | |||||
| merchantQ.updateTenantInfo(wxLegionActivityUser); | |||||
| merchantQ.setIds(merchantIds); | |||||
| Map<Long, String> idAndNamesMap = wxMerchantService.getIdAndNamesMap(merchantQ); | |||||
| WxLegionActivityConfig legionConfigQ = new WxLegionActivityConfig(); | |||||
| legionConfigQ.updateTenantInfo(wxLegionActivityUser); | |||||
| legionConfigQ.setActivityId(wxLegionActivityUser.getActivityId()); | |||||
| Map<Long, String> 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<WxLegionActivityUser> list = wxLegionActivityUserMapper.findList(wxLegionActivityUser); | |||||
| handlerList(wxLegionActivityUser, list); | |||||
| excelService.exportExcel(list, null, "军团活动用户列表", WxLegionActivityUser.class, "军团活动用户列表.xlsx", response, false); | |||||
| } | } | ||||
| @Override | @Override | ||||
| @@ -137,7 +204,30 @@ public class WxLegionActivityUserServiceImpl implements WxLegionActivityUserServ | |||||
| @Override | @Override | ||||
| public WxLegionActivityUser getById(Long id, String tenantId) { | 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<Long, String> 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 | @Override | ||||
| @@ -154,6 +244,28 @@ public class WxLegionActivityUserServiceImpl implements WxLegionActivityUserServ | |||||
| } | } | ||||
| return userMap; | 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); | |||||
| } | |||||
| } | |||||
| } | } | ||||
| @@ -161,6 +161,9 @@ | |||||
| <if test=" null != activityId "> | <if test=" null != activityId "> | ||||
| and `activity_id` = #{activityId} | and `activity_id` = #{activityId} | ||||
| </if> | </if> | ||||
| <if test=" null != cusId"> | |||||
| and `cus_id` = #{cusId} | |||||
| </if> | |||||
| <if test=" null != merchantIdList "> | <if test=" null != merchantIdList "> | ||||
| and merchant_id in | and merchant_id in | ||||
| <foreach collection="merchantIdList" index="index" item="midItem" open="(" separator="," close=")"> | <foreach collection="merchantIdList" index="index" item="midItem" open="(" separator="," close=")"> | ||||