From 80d6b57b0a039b1b9c5d53374aa9472bab236698 Mon Sep 17 00:00:00 2001 From: xiaohu <1901900812@qq.com> Date: Mon, 26 Aug 2024 18:19:02 +0800 Subject: [PATCH 1/7] //legionActivity --- .../iformall/constant/SwaggerConstant.java | 1 + .../market/WxLegionActivityController.java | 151 +++++++++++++ .../WxLegionActivityOrderController.java | 208 ++++++++++++++++++ .../WxLegionActivityController.java | 55 +++++ .../WxLegionActivityOrderController.java | 111 ++++++++++ .../WxLegionActivityUserController.java | 113 ++++++++++ .../domain/vo/LegionActivityCount.java | 14 ++ .../vo/LegionActivityMerchantStatistics.java | 33 +++ .../vo/LegionActivityOrderStatistics.java | 15 ++ .../vo/LegionActivityOrderTypeStatistics.java | 15 ++ .../domain/vo/LegionActivitySellOrder.java | 58 +++++ .../vo/LegionActivityUserStatistics.java | 14 ++ .../EnumLegionActivityOrderLegionType.java | 36 +++ .../enums/EnumLegionActivityOrderStatus.java | 38 ++++ .../enums/EnumLegionActivityOrderType.java | 58 +++++ .../EnumLegionActivityOrderUnionType.java | 36 +++ .../enums/EnumLegionActivityStatus.java | 56 +++++ .../enums/EnumLegionActivityUserStatus.java | 36 +++ 18 files changed, 1048 insertions(+) create mode 100644 mallinkAdmin/src/main/java/com/iformall/controller/market/WxLegionActivityController.java create mode 100644 mallinkAdmin/src/main/java/com/iformall/controller/market/WxLegionActivityOrderController.java create mode 100644 mallinkBApi/src/main/java/com/iformall/controller/WxLegionActivityController.java create mode 100644 mallinkBApi/src/main/java/com/iformall/controller/WxLegionActivityOrderController.java create mode 100644 mallinkBApi/src/main/java/com/iformall/controller/WxLegionActivityUserController.java create mode 100644 mallinkService/src/main/java/com/iformall/domain/vo/LegionActivityCount.java create mode 100644 mallinkService/src/main/java/com/iformall/domain/vo/LegionActivityMerchantStatistics.java create mode 100644 mallinkService/src/main/java/com/iformall/domain/vo/LegionActivityOrderStatistics.java create mode 100644 mallinkService/src/main/java/com/iformall/domain/vo/LegionActivityOrderTypeStatistics.java create mode 100644 mallinkService/src/main/java/com/iformall/domain/vo/LegionActivitySellOrder.java create mode 100644 mallinkService/src/main/java/com/iformall/domain/vo/LegionActivityUserStatistics.java create mode 100644 mallinkService/src/main/java/com/iformall/enums/EnumLegionActivityOrderLegionType.java create mode 100644 mallinkService/src/main/java/com/iformall/enums/EnumLegionActivityOrderStatus.java create mode 100644 mallinkService/src/main/java/com/iformall/enums/EnumLegionActivityOrderType.java create mode 100644 mallinkService/src/main/java/com/iformall/enums/EnumLegionActivityOrderUnionType.java create mode 100644 mallinkService/src/main/java/com/iformall/enums/EnumLegionActivityStatus.java create mode 100644 mallinkService/src/main/java/com/iformall/enums/EnumLegionActivityUserStatus.java diff --git a/mallink-swagger/src/main/java/com/iformall/constant/SwaggerConstant.java b/mallink-swagger/src/main/java/com/iformall/constant/SwaggerConstant.java index 7350e9c64..819377219 100644 --- a/mallink-swagger/src/main/java/com/iformall/constant/SwaggerConstant.java +++ b/mallink-swagger/src/main/java/com/iformall/constant/SwaggerConstant.java @@ -2,4 +2,5 @@ package com.iformall.constant; public interface SwaggerConstant { String V_1_0_0 = "v1.0.0"; + String V_2_0_0 = "v2.0.0"; } diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxLegionActivityController.java b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxLegionActivityController.java new file mode 100644 index 000000000..3a873bdd2 --- /dev/null +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxLegionActivityController.java @@ -0,0 +1,151 @@ +package com.iformall.controller.market; + +import com.github.pagehelper.PageInfo; +import com.iformall.annotation.ApiVersion; +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.*; +import com.iformall.domain.po.base.BaseEntity.SortField; +import com.iformall.domain.po.base.TenantEntity; +import com.iformall.enums.EnumLegionActivityStatus; +import com.iformall.exception.MallinkException; +import com.iformall.service.WxLegionActivityConfigService; +import com.iformall.service.WxLegionActivityOrderService; +import com.iformall.service.WxLegionActivityService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +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; +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +/** + * @author alascor + * + */ +@RestController +@RequestMapping("/legion") +@Api(tags = "军团活动相关接口") +public class WxLegionActivityController extends BaseController { + private final Logger logger = LoggerFactory.getLogger(this.getClass()); + + @Autowired + private WxLegionActivityService wxLegionActivityService; + + @Autowired + private WxLegionActivityConfigService wxLegionActivityConfigService; + + @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 WxLegionActivity wxLegionActivity, Integer pageNum, Integer pageSize) { + if (null == wxLegionActivity) wxLegionActivity = new WxLegionActivity(); + TenantEntity tenantInfo = getTenantInfo(); + wxLegionActivity.updateTenantInfo(tenantInfo); + wxLegionActivity.setSortColumns(SortField.CreateDate_DESC); + final PageInfo page = wxLegionActivityService.listAsPage(wxLegionActivity,true, pageNum, pageSize); + + return new ResultData(page); + } + + @ApiVersion(group = SwaggerConstant.V_2_0_0) + @ApiOperation("新增修改接口") + @PostMapping("saveOrUpdate") + public ResultData saveOrUpdate(@RequestBody WxLegionActivity wxLegionActivity) { + TenantEntity tenantEntity = getTenantInfo(); + wxLegionActivity.updateTenantInfo(tenantEntity); + if(wxLegionActivity.getLegionList() == null || wxLegionActivity.getLegionList().isEmpty()){ + return new ResultData(Result.ERROR,"军团配置为空"); + } + + List merchantIds = new ArrayList<>(); + for (WxLegionActivityConfig legionConfig:wxLegionActivity.getLegionList()){ + if(legionConfig.getMerchantList() == null || legionConfig.getMerchantList().isEmpty()){ + continue; + } + for (WxLegionActivityMerchantConfig wxLegionActivityMerchantConfig : legionConfig.getMerchantList()) { + merchantIds.add(wxLegionActivityMerchantConfig.getMerchantId()); + } + } + if(!merchantIds.isEmpty() && merchantIds.stream().distinct().count() != merchantIds.size()){ + return new ResultData(Result.ERROR,"军团商户配置重复"); + } + wxLegionActivityService.saveOrUpdate(wxLegionActivity); + return new ResultData(wxLegionActivity); + } + + @ApiVersion(group = SwaggerConstant.V_2_0_0) + @ApiOperation("删除活动门店") + @PostMapping("delMerchant") + public ResultData delMerchant(@RequestBody WxLegionActivity wxLegionActivity) { + if(wxLegionActivity.getId() == null){ + return new ResultData(Result.ERROR,"活动id为空"); + } + if(wxLegionActivity.getMerchantConfigIdList() == null || wxLegionActivity.getMerchantConfigIdList().isEmpty()){ + return new ResultData(Result.ERROR,"删除门店为空"); + } + TenantEntity tenantEntity = getTenantInfo(); + wxLegionActivity.updateTenantInfo(tenantEntity); + wxLegionActivityService.delMerchant(wxLegionActivity); + return new ResultData(); + } + + @ApiVersion(group = SwaggerConstant.V_2_0_0) + @ApiOperation("上架") + @PostMapping("online") + public ResultData online(@RequestBody WxLegionActivity wxLegionActivity) { + TenantEntity tenantEntity = getTenantInfo(); + wxLegionActivity.updateTenantInfo(tenantEntity); + wxLegionActivity.setStatus(EnumLegionActivityStatus.ON_LINE.getCode()); + wxLegionActivityService.updateStatus(wxLegionActivity); + return new ResultData(); + } + + @ApiVersion(group = SwaggerConstant.V_2_0_0) + @ApiOperation("下架") + @PostMapping("offline") + public ResultData offline(@RequestBody WxLegionActivity wxLegionActivity) { + TenantEntity tenantEntity = getTenantInfo(); + wxLegionActivity.updateTenantInfo(tenantEntity); + wxLegionActivity.setStatus(EnumLegionActivityStatus.OFF_LINE.getCode()); + wxLegionActivityService.updateStatus(wxLegionActivity); + return new ResultData(); + } + + @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(); + WxLegionActivity activity = wxLegionActivityService.getInfoById(id, tenantInfo.getTenantId()); + return new ResultData(activity); + } + + @ApiVersion(group = SwaggerConstant.V_2_0_0) + @ApiOperation("查询军团列表") + @GetMapping("getLegionById") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "主键id", dataType = "Long", paramType = "query", required = true)}) + public ResultData getLegionById(Long id) { + TenantEntity tenantInfo = getTenantInfo(); + List legionConfigList = wxLegionActivityConfigService.findLegionList(id,tenantInfo.getTenantId()); + return new ResultData(legionConfigList); + } + +} diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxLegionActivityOrderController.java b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxLegionActivityOrderController.java new file mode 100644 index 000000000..450fb0516 --- /dev/null +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxLegionActivityOrderController.java @@ -0,0 +1,208 @@ +package com.iformall.controller.market; + +import com.github.pagehelper.PageInfo; +import com.iformall.annotation.ApiVersion; +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.WxOfflineActivityRecord; +import com.iformall.domain.po.base.BaseEntity.SortField; +import com.iformall.domain.po.base.TenantEntity; +import com.iformall.domain.vo.LegionActivityMerchantStatistics; +import com.iformall.domain.vo.LegionActivitySellOrder; +import com.iformall.enums.EnumLegionActivityOrderStatus; +import com.iformall.enums.EnumOfflineActivityRecordStatus; +import com.iformall.exception.MallinkException; +import com.iformall.service.WxLegionActivityOrderService; +import com.iformall.service.WxOfflineActivityRecordService; +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; +import java.util.List; +import java.util.Map; + +/** + * @author alascor + * + */ +@RestController +@RequestMapping("/legionOrder") +@Api(tags = "军团活动订单相关接口") +public class WxLegionActivityOrderController extends BaseController { + private final Logger logger = LoggerFactory.getLogger(this.getClass()); + + @Autowired + private WxLegionActivityOrderService wxLegionActivityOrderService; + + @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 WxLegionActivityOrder wxLegionActivityOrder, Integer pageNum, Integer pageSize) { + if (null == wxLegionActivityOrder) wxLegionActivityOrder = new WxLegionActivityOrder(); + if(wxLegionActivityOrder.getActivityId() == null){ + return new ResultData(Result.ERROR,"活动ID不能为空"); + } + TenantEntity tenantInfo = getTenantInfo(); + wxLegionActivityOrder.updateTenantInfo(tenantInfo); + wxLegionActivityOrder.setSortColumns(SortField.CreateDate_DESC); + final PageInfo page = wxLegionActivityOrderService.listAsPage(wxLegionActivityOrder, pageNum, pageSize); + + return new ResultData(page); + } + + @ApiVersion(group = SwaggerConstant.V_2_0_0) + @ApiOperation("导出") + @GetMapping("/export") + public void export(@ModelAttribute WxLegionActivityOrder wxLegionActivityOrder, HttpServletRequest request, HttpServletResponse response) { + if (null == wxLegionActivityOrder) wxLegionActivityOrder = new WxLegionActivityOrder(); + if(wxLegionActivityOrder.getActivityId() == null){ + throw new MallinkException(Result.ERROR,"活动ID不能为空"); + } + TenantEntity tenantInfo = getTenantInfo(); + wxLegionActivityOrder.updateTenantInfo(tenantInfo); + wxLegionActivityOrder.setSortColumns(SortField.CreateDate_DESC); + wxLegionActivityOrderService.exportData(request,response,wxLegionActivityOrder); + } + + @ApiVersion(group = SwaggerConstant.V_2_0_0) + @ApiOperation("审核通过") + @PostMapping("audiPass") + public ResultData audiPass(@RequestBody WxLegionActivityOrder wxLegionActivityOrder) { + if(wxLegionActivityOrder == null){ + return new ResultData(Result.ERROR,"id 不能为空"); + } + TenantEntity tenantEntity = getTenantInfo(); + wxLegionActivityOrder.updateTenantInfo(tenantEntity); + wxLegionActivityOrder.setAuditStatus(EnumLegionActivityOrderStatus.AUDI_SUCCESS.getCode()); + wxLegionActivityOrderService.auditRecord(wxLegionActivityOrder,getUserId()); + return new ResultData(); + } + + @ApiVersion(group = SwaggerConstant.V_2_0_0) + @ApiOperation("审核驳回") + @PostMapping("audtFail") + public ResultData audtFail(@RequestBody WxLegionActivityOrder wxLegionActivityOrder) { + if(wxLegionActivityOrder == null){ + return new ResultData(Result.ERROR,"id 不能为空"); + } + if(StringUtil.isBlank(wxLegionActivityOrder.getAuditRemark())){ + return new ResultData(Result.ERROR,"驳回意见不能为空"); + } + TenantEntity tenantEntity = getTenantInfo(); + wxLegionActivityOrder.updateTenantInfo(tenantEntity); + wxLegionActivityOrder.setAuditStatus(EnumLegionActivityOrderStatus.AUDT_FAIL.getCode()); + wxLegionActivityOrderService.auditRecord(wxLegionActivityOrder,getUserId()); + return new ResultData(); + } + + @ApiVersion(group = SwaggerConstant.V_2_0_0) + @ApiOperation("失效") + @PostMapping("invalid") + public ResultData invalid(@RequestBody WxLegionActivityOrder wxLegionActivityOrder) { + if(wxLegionActivityOrder == null){ + return new ResultData(Result.ERROR,"id 不能为空"); + } + TenantEntity tenantEntity = getTenantInfo(); + wxLegionActivityOrder.updateTenantInfo(tenantEntity); + wxLegionActivityOrder.setAuditStatus(EnumLegionActivityOrderStatus.INVALID.getCode()); + wxLegionActivityOrderService.auditRecord(wxLegionActivityOrder,getUserId()); + return new ResultData(); + } + + @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(); + WxLegionActivityOrder record = wxLegionActivityOrderService.getInfoById(id, tenantInfo.getTenantId()); + return new ResultData(record); + } + + @ApiVersion(group = SwaggerConstant.V_2_0_0) + @ApiOperation("查询活动数据(军团?)") + @GetMapping("getActivityData") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "主键id", dataType = "Long", paramType = "query", required = true)}) + public ResultData getActivityData(@ModelAttribute WxLegionActivityOrder wxLegionActivityOrder) { + if(wxLegionActivityOrder.getActivityId() == null){ + throw new MallinkException(Result.ERROR,"活动ID不能为空"); + } + TenantEntity tenantInfo = getTenantInfo(); + wxLegionActivityOrder.updateTenantInfo(tenantInfo); + Map activityData = wxLegionActivityOrderService.getActivityData(wxLegionActivityOrder); + return new ResultData(activityData); + } + + @ApiVersion(group = SwaggerConstant.V_2_0_0) + @ApiOperation("查询活动数据(门店)") + @GetMapping("getActivityMerchantData") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "主键id", dataType = "Long", paramType = "query", required = true)}) + public ResultData getActivityMerchantData(@ModelAttribute WxLegionActivityOrder wxLegionActivityOrder) { + if(wxLegionActivityOrder.getActivityId() == null){ + throw new MallinkException(Result.ERROR,"活动ID不能为空"); + } + TenantEntity tenantInfo = getTenantInfo(); + wxLegionActivityOrder.updateTenantInfo(tenantInfo); + List activityMerchantData = wxLegionActivityOrderService.getActivityMerchantData(wxLegionActivityOrder); + return new ResultData(activityMerchantData); + } + + @ApiVersion(group = SwaggerConstant.V_2_0_0) + @ApiOperation("导出活动数据(门店)") + @GetMapping("/exportActivityMerchantData") + public void exportActivityMerchantDate(@ModelAttribute WxLegionActivityOrder wxLegionActivityOrder, HttpServletRequest request, HttpServletResponse response) { + if (null == wxLegionActivityOrder) wxLegionActivityOrder = new WxLegionActivityOrder(); + if(wxLegionActivityOrder.getActivityId() == null){ + throw new MallinkException(Result.ERROR,"活动ID不能为空"); + } + TenantEntity tenantInfo = getTenantInfo(); + wxLegionActivityOrder.updateTenantInfo(tenantInfo); + wxLegionActivityOrderService.exportActivityMerchantData(request,response,wxLegionActivityOrder); + } + + @ApiVersion(group = SwaggerConstant.V_2_0_0) + @ApiOperation("查询活动数据(带单数据)") + @GetMapping("getActivitySellOrder") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "主键id", dataType = "Long", paramType = "query", required = true)}) + public ResultData getActivitySellOrder(@ModelAttribute WxLegionActivityOrder wxLegionActivityOrder) { + if(wxLegionActivityOrder.getActivityId() == null){ + throw new MallinkException(Result.ERROR,"活动ID不能为空"); + } + TenantEntity tenantInfo = getTenantInfo(); + wxLegionActivityOrder.updateTenantInfo(tenantInfo); + List activityMerchantDate = wxLegionActivityOrderService.getActivitySellOrder(wxLegionActivityOrder); + return new ResultData(activityMerchantDate); + } + + @ApiVersion(group = SwaggerConstant.V_2_0_0) + @ApiOperation("导出活动数据(带单数据)") + @GetMapping("/exportActivitySellOrder") + public void exportActivitySellOrder(@ModelAttribute WxLegionActivityOrder wxLegionActivityOrder, HttpServletRequest request, HttpServletResponse response) { + if (null == wxLegionActivityOrder) wxLegionActivityOrder = new WxLegionActivityOrder(); + if(wxLegionActivityOrder.getActivityId() == null){ + throw new MallinkException(Result.ERROR,"活动ID不能为空"); + } + TenantEntity tenantInfo = getTenantInfo(); + wxLegionActivityOrder.updateTenantInfo(tenantInfo); + wxLegionActivityOrderService.exportActivitySellOrder(request,response,wxLegionActivityOrder); + } + +} diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxLegionActivityController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxLegionActivityController.java new file mode 100644 index 000000000..e09a10b97 --- /dev/null +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxLegionActivityController.java @@ -0,0 +1,55 @@ +package com.iformall.controller; + +import com.github.pagehelper.PageInfo; +import com.iformall.annotation.ApiVersion; +import com.iformall.common.Result; +import com.iformall.common.ResultData; +import com.iformall.constant.SwaggerConstant; +import com.iformall.domain.po.WxLegionActivity; +import com.iformall.domain.po.base.BaseEntity.SortField; +import com.iformall.domain.po.base.TenantEntity; +import com.iformall.enums.EnumLegionActivityStatus; +import com.iformall.service.WxLegionActivityService; +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 java.util.Map; + +/** + * @author alascor + * + */ +@RestController +@RequestMapping("/api/legion") +@Api(tags = "军团活动相关接口") +public class WxLegionActivityController extends BaseController { + private final Logger logger = LoggerFactory.getLogger(this.getClass()); + + @Autowired + private WxLegionActivityService wxLegionActivityService; + + + @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 WxLegionActivity wxLegionActivity, Integer pageNum, Integer pageSize) { + if (null == wxLegionActivity) wxLegionActivity = new WxLegionActivity(); + TenantEntity tenantInfo = getTenantInfo(); + wxLegionActivity.updateTenantInfo(tenantInfo); + wxLegionActivity.setStatusList(EnumLegionActivityStatus.getLine()); + wxLegionActivity.setSortColumns(SortField.CreateDate_DESC); + final PageInfo page = wxLegionActivityService.listAsPage(wxLegionActivity, false,pageNum, pageSize); + return new ResultData(page); + } + +} diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxLegionActivityOrderController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxLegionActivityOrderController.java new file mode 100644 index 000000000..2ac66d9c2 --- /dev/null +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxLegionActivityOrderController.java @@ -0,0 +1,111 @@ +package com.iformall.controller; + +import com.github.pagehelper.PageInfo; +import com.iformall.annotation.ApiVersion; +import com.iformall.common.Result; +import com.iformall.common.ResultData; +import com.iformall.constant.SwaggerConstant; +import com.iformall.domain.po.WxLegionActivityOrder; +import com.iformall.domain.po.WxOfflineActivityRecord; +import com.iformall.domain.po.base.BaseEntity.SortField; +import com.iformall.domain.po.base.TenantEntity; +import com.iformall.service.WxLegionActivityOrderService; +import com.iformall.service.WxOfflineActivityRecordService; +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 java.util.Map; + +/** + * @author alascor + * + */ +@RestController +@RequestMapping("/api/legionOrder") +@Api(tags = "军团活动订单相关接口") +public class WxLegionActivityOrderController extends BaseController { + private final Logger logger = LoggerFactory.getLogger(this.getClass()); + + @Autowired + private WxLegionActivityOrderService wxLegionActivityOrderService; + + @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 WxLegionActivityOrder wxLegionActivityOrder, Integer pageNum, Integer pageSize) { + if (null == wxLegionActivityOrder) wxLegionActivityOrder = new WxLegionActivityOrder(); + if(wxLegionActivityOrder.getActivityId() == null){ + return new ResultData(Result.ERROR,"活动ID不能为空"); + } + TenantEntity tenantInfo = getTenantInfo(); + wxLegionActivityOrder.updateTenantInfo(tenantInfo); + wxLegionActivityOrder.setSortColumns(SortField.CreateDate_DESC); + wxLegionActivityOrder.setMerchantId(getLoginBUser().getMerchantId()); + final PageInfo page = wxLegionActivityOrderService.listAsPage(wxLegionActivityOrder, pageNum, pageSize); + return new ResultData(page); + } + + @ApiVersion(group = SwaggerConstant.V_2_0_0) + @ApiOperation("新增修改接口") + @PostMapping("saveOrUpdate") + public ResultData saveOrUpdate(@RequestBody WxLegionActivityOrder wxLegionActivityOrder) { + if(wxLegionActivityOrder.getActivityId() == null){ + return new ResultData(Result.ERROR,"活动ID不能为空"); + } + if(StringUtil.isBlank(wxLegionActivityOrder.getOrderNo())){ + return new ResultData(Result.ERROR,"订单号不能为空"); + } + if (null == wxLegionActivityOrder.getOrderMoney() ) { + return new ResultData(Result.ERROR,"订单金额不能为空"); + } + if(wxLegionActivityOrder.getCusId() == null){ + return new ResultData(Result.ERROR,"未查询到用户,请先进行VIP卡绑定"); + } + if(StringUtil.isBlank(wxLegionActivityOrder.getCusPhone())){ + return new ResultData(Result.ERROR,"客户手机号不能为空"); + } + TenantEntity tenantEntity = getTenantInfo(); + wxLegionActivityOrder.updateTenantInfo(tenantEntity); + wxLegionActivityOrder.setCreateBy(getMerchantBUserId()); + wxLegionActivityOrder.setMerchantId(getLoginBUser().getMerchantId()); + wxLegionActivityOrderService.saveOrUpdate(wxLegionActivityOrder); + return new ResultData(); + } + + @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(); + WxLegionActivityOrder activity = wxLegionActivityOrderService.getInfoById(id, tenantInfo.getTenantId()); + return new ResultData(activity); + } + + @ApiVersion(group = SwaggerConstant.V_2_0_0) + @ApiOperation("查询当前信息统计") + @GetMapping("statistics") + public ResultData statisticsCount(@ModelAttribute WxLegionActivityOrder wxLegionActivityOrder) { + if(wxLegionActivityOrder.getActivityId() == null){ + return new ResultData(Result.ERROR,"活动ID不能为空"); + } + TenantEntity tenantInfo = getTenantInfo(); + wxLegionActivityOrder.updateTenantInfo(tenantInfo); + wxLegionActivityOrder.setMerchantId(getLoginBUser().getMerchantId()); + Map statisticsMap = wxLegionActivityOrderService.getStatistics(wxLegionActivityOrder); + return new ResultData(statisticsMap); + } + + +} diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxLegionActivityUserController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxLegionActivityUserController.java new file mode 100644 index 000000000..0980d8975 --- /dev/null +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxLegionActivityUserController.java @@ -0,0 +1,113 @@ +package com.iformall.controller; + +import com.github.pagehelper.PageInfo; +import com.iformall.annotation.ApiVersion; +import com.iformall.common.Result; +import com.iformall.common.ResultData; +import com.iformall.constant.SwaggerConstant; +import com.iformall.domain.po.WxLegionActivityUser; +import com.iformall.domain.po.WxOfflineActivityRecord; +import com.iformall.domain.po.base.BaseEntity.SortField; +import com.iformall.domain.po.base.TenantEntity; +import com.iformall.enums.EnumLegionActivityUserStatus; +import com.iformall.service.WxLegionActivityUserService; +import com.iformall.service.WxOfflineActivityRecordService; +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 java.util.Map; + +/** + * @author alascor + * + */ +@RestController +@RequestMapping("/api/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); + wxLegionActivityUser.setMerchantId(getLoginBUser().getMerchantId()); + final PageInfo page = wxLegionActivityUserService.listAsPage(wxLegionActivityUser, pageNum, pageSize); + return new ResultData(page); + } + + @ApiVersion(group = SwaggerConstant.V_2_0_0) + @ApiOperation("新增修改接口") + @PostMapping("saveOrUpdate") + public ResultData saveOrUpdate(@RequestBody WxLegionActivityUser wxLegionActivityUser) { + if(wxLegionActivityUser.getActivityId() == null){ + return new ResultData(Result.ERROR,"活动ID不能为空"); + } + if(StringUtil.isBlank(wxLegionActivityUser.getPhone())){ + return new ResultData(Result.ERROR,"客户手机号不能为空"); + } + if(StringUtil.isBlank(wxLegionActivityUser.getVipNum())){ + return new ResultData(Result.ERROR,"vip卡号不能为空"); + } + TenantEntity tenantEntity = getTenantInfo(); + wxLegionActivityUser.updateTenantInfo(tenantEntity); + wxLegionActivityUser.setCreateBy(getMerchantBUserId()); + wxLegionActivityUser.setMerchantId(getLoginBUser().getMerchantId()); + wxLegionActivityUserService.saveOrUpdate(wxLegionActivityUser); + return new ResultData(); + } + + @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("通过手机号查询") + @GetMapping("getByPhone") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "主键id", dataType = "Long", paramType = "query", required = true)}) + public ResultData getInfoById(@ModelAttribute WxLegionActivityUser wxLegionActivityUser) { + if(wxLegionActivityUser.getActivityId() == null){ + return new ResultData(Result.ERROR,"活动ID不能为空"); + } + if(StringUtil.isBlank(wxLegionActivityUser.getPhone())){ + return new ResultData(Result.ERROR,"客户手机号不能为空"); + } + TenantEntity tenantInfo = getTenantInfo(); + wxLegionActivityUser.updateTenantInfo(tenantInfo); + wxLegionActivityUser.setStatus(EnumLegionActivityUserStatus.VALID.getCode()); + WxLegionActivityUser user = wxLegionActivityUserService.selectOne(wxLegionActivityUser); + if(user == null){ + return new ResultData(Result.ERROR,"未查询到用户,请先绑定VIP"); + } + return new ResultData(user); + } + +} diff --git a/mallinkService/src/main/java/com/iformall/domain/vo/LegionActivityCount.java b/mallinkService/src/main/java/com/iformall/domain/vo/LegionActivityCount.java new file mode 100644 index 000000000..2fdffedeb --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/domain/vo/LegionActivityCount.java @@ -0,0 +1,14 @@ +package com.iformall.domain.vo; + +import lombok.Data; + +import java.io.Serializable; + +@Data +public class LegionActivityCount implements Serializable { + + private static final long serialVersionUID = 1L; + + private Long activityId; + private Integer count; +} diff --git a/mallinkService/src/main/java/com/iformall/domain/vo/LegionActivityMerchantStatistics.java b/mallinkService/src/main/java/com/iformall/domain/vo/LegionActivityMerchantStatistics.java new file mode 100644 index 000000000..fdfae9349 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/domain/vo/LegionActivityMerchantStatistics.java @@ -0,0 +1,33 @@ +package com.iformall.domain.vo; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import com.baomidou.mybatisplus.annotation.TableField; +import lombok.Data; + +import java.io.Serializable; + +@Data +public class LegionActivityMerchantStatistics implements Serializable { + + private static final long serialVersionUID = 1L; + + private Long merchantId; + @Excel(name="商铺名称",width = 20,orderNum = "1") + private String merchantName; + @Excel(name="商铺号",width = 20,orderNum = "2") + private String shopNumber; + @Excel(name="售卡数量",width = 20,orderNum = "3") + private Integer userCount; + @Excel(name="签单数量",width = 20,orderNum = "4") + private Integer orderCount; +// @Excel(name="带单数量",width = 20,orderNum = "5") + private Integer sellOrderCount; + @Excel(name="军团外带单",width = 20,orderNum = "6") + private Integer difLegion; + @Excel(name="非原军团内部带单",width = 20,orderNum = "7") + private Integer difUnion; + @Excel(name="原军团内部带单",width = 20,orderNum = "8") + private Integer eqUnion; + @Excel(name="得分",width = 20,orderNum = "9") + private Integer totalScore; +} diff --git a/mallinkService/src/main/java/com/iformall/domain/vo/LegionActivityOrderStatistics.java b/mallinkService/src/main/java/com/iformall/domain/vo/LegionActivityOrderStatistics.java new file mode 100644 index 000000000..797a20e0e --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/domain/vo/LegionActivityOrderStatistics.java @@ -0,0 +1,15 @@ +package com.iformall.domain.vo; + +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; + +@Data +public class LegionActivityOrderStatistics implements Serializable { + + private static final long serialVersionUID = 1L; + + private Integer auditStatus; + private Integer count; +} diff --git a/mallinkService/src/main/java/com/iformall/domain/vo/LegionActivityOrderTypeStatistics.java b/mallinkService/src/main/java/com/iformall/domain/vo/LegionActivityOrderTypeStatistics.java new file mode 100644 index 000000000..6a2a9c570 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/domain/vo/LegionActivityOrderTypeStatistics.java @@ -0,0 +1,15 @@ +package com.iformall.domain.vo; + +import lombok.Data; + +import java.io.Serializable; + +@Data +public class LegionActivityOrderTypeStatistics implements Serializable { + + private static final long serialVersionUID = 1L; + + private Long merchantId; + private Integer orderType; + private Integer count; +} diff --git a/mallinkService/src/main/java/com/iformall/domain/vo/LegionActivitySellOrder.java b/mallinkService/src/main/java/com/iformall/domain/vo/LegionActivitySellOrder.java new file mode 100644 index 000000000..a7e9e8980 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/domain/vo/LegionActivitySellOrder.java @@ -0,0 +1,58 @@ +package com.iformall.domain.vo; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +@Data +public class LegionActivitySellOrder implements Serializable { + + private static final long serialVersionUID = 1L; + + private Long cusId; + private String cusPhone; + @Excel(name = "VIP卡号", width = 20, orderNum = "4") + private String cusVipNum; + private Long cusMerchantId; + @Excel(name="卡属商户",width = 20,orderNum = "6") + private String cusMerchantName; + @Excel(name="卡属商铺号",width = 20,orderNum = "7") + private String cusShopNumber; + + private Long cusLegionId; + @Excel(name = "卡属军团", width = 20, orderNum = "2") + private String cusLegionName; + private Long cusUnionId; +// @Excel(name = "卡属派系", width = 20, orderNum = "3") + private String cusUnionName; + + private Date cusCreateDate; + + private Long orderId; + @Excel(name = "订单号", width = 20, orderNum = "15") + private String orderNo; + private BigDecimal orderMoney; + private Long orderMerchantId; + @Excel(name = "订单商户", width = 20, orderNum = "13") + private String orderMerchantName; + @Excel(name = "订单商户号", width = 20, orderNum = "14") + private String orderShopNumber; + + private Long orderLegionId; + @Excel(name = "订单军团", width = 20, orderNum = "11") + private String orderLegionName; + private Long orderUnionId; +// @Excel(name = "订单派系", width = 20, orderNum = "12") + private String orderUnionName; + + private Integer orderType; + + @Excel(name = "时间", format = "yyyy-MM-dd HH:mm:ss", width = 20, orderNum = "1") + private Date orderCreateDate; + + @Excel(name = "带单积分", width = 20, orderNum = "16") + private Integer score; +} diff --git a/mallinkService/src/main/java/com/iformall/domain/vo/LegionActivityUserStatistics.java b/mallinkService/src/main/java/com/iformall/domain/vo/LegionActivityUserStatistics.java new file mode 100644 index 000000000..cdc5ca7d1 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/domain/vo/LegionActivityUserStatistics.java @@ -0,0 +1,14 @@ +package com.iformall.domain.vo; + +import lombok.Data; + +import java.io.Serializable; + +@Data +public class LegionActivityUserStatistics implements Serializable { + + private static final long serialVersionUID = 1L; + + private Long merchantId; + private Integer count; +} diff --git a/mallinkService/src/main/java/com/iformall/enums/EnumLegionActivityOrderLegionType.java b/mallinkService/src/main/java/com/iformall/enums/EnumLegionActivityOrderLegionType.java new file mode 100644 index 000000000..83a42c35d --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/enums/EnumLegionActivityOrderLegionType.java @@ -0,0 +1,36 @@ +package com.iformall.enums; + + +/** + * @author gongbiao + */ +public enum EnumLegionActivityOrderLegionType { + + EQ_LEGION(1, "团内"), + DIF_LEGION(2, "团外"),; + + public static EnumLegionActivityOrderLegionType getEnum(Integer code) { + for (EnumLegionActivityOrderLegionType value : values()) { + if (value.getCode().equals(code)) { + return value; + } + } + return null; + } + + private Integer code; + private String message; + + EnumLegionActivityOrderLegionType(Integer code, String message) { + this.code = code; + this.message = message; + } + + public Integer getCode() { + return code; + } + + public String getMessage() { + return message; + } +} diff --git a/mallinkService/src/main/java/com/iformall/enums/EnumLegionActivityOrderStatus.java b/mallinkService/src/main/java/com/iformall/enums/EnumLegionActivityOrderStatus.java new file mode 100644 index 000000000..92668091c --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/enums/EnumLegionActivityOrderStatus.java @@ -0,0 +1,38 @@ +package com.iformall.enums; + + +/** + * @author gongbiao + */ +public enum EnumLegionActivityOrderStatus { + + AUDTING(0, "审核中"), + AUDI_SUCCESS(1, "审批通过"), + AUDT_FAIL(2, "审批拒绝"), + INVALID(3, "失效"),; + + public static EnumLegionActivityOrderStatus getEnum(Integer code) { + for (EnumLegionActivityOrderStatus value : values()) { + if (value.getCode().equals(code)) { + return value; + } + } + return null; + } + + private Integer code; + private String message; + + EnumLegionActivityOrderStatus(Integer code, String message) { + this.code = code; + this.message = message; + } + + public Integer getCode() { + return code; + } + + public String getMessage() { + return message; + } +} diff --git a/mallinkService/src/main/java/com/iformall/enums/EnumLegionActivityOrderType.java b/mallinkService/src/main/java/com/iformall/enums/EnumLegionActivityOrderType.java new file mode 100644 index 000000000..7f0adc87e --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/enums/EnumLegionActivityOrderType.java @@ -0,0 +1,58 @@ +package com.iformall.enums; + + +import java.util.ArrayList; +import java.util.List; + +/** + * @author gongbiao + */ +public enum EnumLegionActivityOrderType { + + SIGN_ORDER(0, "签单"), + DIF_LEGION(1, "外部军团带单"), + DIF_UNION(2, "内部军团不同联盟带单"), + EQ_UNION(3, "内部军团相同联盟带单"), + NOT_UNION(4, "内部军团无联盟带单"),; + + public static EnumLegionActivityOrderType getEnum(Integer code) { + for (EnumLegionActivityOrderType value : values()) { + if (value.getCode().equals(code)) { + return value; + } + } + return null; + } + + private Integer code; + private String message; + + EnumLegionActivityOrderType(Integer code, String message) { + this.code = code; + this.message = message; + } + + public static List getDifUnion() { + List result = new ArrayList(); + result.add(DIF_LEGION.getCode()); + result.add(DIF_UNION.getCode()); + result.add(NOT_UNION.getCode()); + return result; + } + + public static List getEqLegion() { + List result = new ArrayList<>(); + result.add(DIF_UNION.getCode()); + result.add(EQ_UNION.getCode()); + result.add(NOT_UNION.getCode()); + return result; + } + + public Integer getCode() { + return code; + } + + public String getMessage() { + return message; + } +} diff --git a/mallinkService/src/main/java/com/iformall/enums/EnumLegionActivityOrderUnionType.java b/mallinkService/src/main/java/com/iformall/enums/EnumLegionActivityOrderUnionType.java new file mode 100644 index 000000000..7388c26a2 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/enums/EnumLegionActivityOrderUnionType.java @@ -0,0 +1,36 @@ +package com.iformall.enums; + + +/** + * @author gongbiao + */ +public enum EnumLegionActivityOrderUnionType { + + EQ_UNION(1, "原联盟"), + DIF_UNION(2, "非联盟"),; + + public static EnumLegionActivityOrderUnionType getEnum(Integer code) { + for (EnumLegionActivityOrderUnionType value : values()) { + if (value.getCode().equals(code)) { + return value; + } + } + return null; + } + + private Integer code; + private String message; + + EnumLegionActivityOrderUnionType(Integer code, String message) { + this.code = code; + this.message = message; + } + + public Integer getCode() { + return code; + } + + public String getMessage() { + return message; + } +} diff --git a/mallinkService/src/main/java/com/iformall/enums/EnumLegionActivityStatus.java b/mallinkService/src/main/java/com/iformall/enums/EnumLegionActivityStatus.java new file mode 100644 index 000000000..f38babea4 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/enums/EnumLegionActivityStatus.java @@ -0,0 +1,56 @@ +package com.iformall.enums; + + +import java.util.ArrayList; +import java.util.List; + +/** + * @author gongbiao + */ +public enum EnumLegionActivityStatus { + + DRAFT(0, "草稿"), + ON_LINE(1, "已上架"), + OFF_LINE(2, "已下架"), + EXPIRE(3, "已过期") + ; + + public static EnumLegionActivityStatus getEnum(Integer code) { + for (EnumLegionActivityStatus value : values()) { + if (value.getCode().equals(code)) { + return value; + } + } + return null; + } + + private Integer code; + private String message; + + EnumLegionActivityStatus(Integer code, String message) { + this.code = code; + this.message = message; + } + + public static List getOffLine() { + List offLine = new ArrayList(); + offLine.add(DRAFT.code); + offLine.add(OFF_LINE.code); + return offLine; + } + + public static List getLine() { + List line = new ArrayList(); + line.add(ON_LINE.code); + line.add(OFF_LINE.code); + return line; + } + + public Integer getCode() { + return code; + } + + public String getMessage() { + return message; + } +} diff --git a/mallinkService/src/main/java/com/iformall/enums/EnumLegionActivityUserStatus.java b/mallinkService/src/main/java/com/iformall/enums/EnumLegionActivityUserStatus.java new file mode 100644 index 000000000..d9297fbe2 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/enums/EnumLegionActivityUserStatus.java @@ -0,0 +1,36 @@ +package com.iformall.enums; + + +/** + * @author gongbiao + */ +public enum EnumLegionActivityUserStatus { + + VALID(0, "有效"), + INVALID(1, "失效"),; + + public static EnumLegionActivityUserStatus getEnum(Integer code) { + for (EnumLegionActivityUserStatus value : values()) { + if (value.getCode().equals(code)) { + return value; + } + } + return null; + } + + private Integer code; + private String message; + + EnumLegionActivityUserStatus(Integer code, String message) { + this.code = code; + this.message = message; + } + + public Integer getCode() { + return code; + } + + public String getMessage() { + return message; + } +} From f5c1a76111e9f08201cd2897a8b017009b592e4c Mon Sep 17 00:00:00 2001 From: xiaohu <1901900812@qq.com> Date: Mon, 26 Aug 2024 18:20:01 +0800 Subject: [PATCH 2/7] //legionActivity --- .../iformall/domain/po/WxLegionActivity.java | 148 +++++ .../domain/po/WxLegionActivityConfig.java | 79 +++ .../po/WxLegionActivityMerchantConfig.java | 80 +++ .../domain/po/WxLegionActivityOrder.java | 206 +++++++ .../domain/po/WxLegionActivityUser.java | 116 ++++ .../mapper/WxLegionActivityConfigMapper.java | 30 ++ .../mapper/WxLegionActivityMapper.java | 31 ++ .../WxLegionActivityMerchantConfigMapper.java | 33 ++ .../mapper/WxLegionActivityOrderMapper.java | 38 ++ .../mapper/WxLegionActivityUserMapper.java | 33 ++ .../WxLegionActivityConfigService.java | 24 + ...WxLegionActivityMerchantConfigService.java | 16 + .../service/WxLegionActivityOrderService.java | 46 ++ .../service/WxLegionActivityService.java | 24 + .../service/WxLegionActivityUserService.java | 25 + .../WxLegionActivityConfigServiceImpl.java | 125 +++++ ...gionActivityMerchantConfigServiceImpl.java | 39 ++ .../WxLegionActivityOrderServiceImpl.java | 508 ++++++++++++++++++ .../impl/WxLegionActivityServiceImpl.java | 245 +++++++++ .../impl/WxLegionActivityUserServiceImpl.java | 126 +++++ .../mapper/WxLegionActivityConfigMapper.xml | 109 ++++ .../mapper/WxLegionActivityMapper.xml | 115 ++++ .../WxLegionActivityMerchantConfigMapper.xml | 122 +++++ .../mapper/WxLegionActivityOrderMapper.xml | 303 +++++++++++ .../mapper/WxLegionActivityUserMapper.xml | 167 ++++++ 25 files changed, 2788 insertions(+) create mode 100644 mallinkService/src/main/java/com/iformall/domain/po/WxLegionActivity.java create mode 100644 mallinkService/src/main/java/com/iformall/domain/po/WxLegionActivityConfig.java create mode 100644 mallinkService/src/main/java/com/iformall/domain/po/WxLegionActivityMerchantConfig.java create mode 100644 mallinkService/src/main/java/com/iformall/domain/po/WxLegionActivityOrder.java create mode 100644 mallinkService/src/main/java/com/iformall/domain/po/WxLegionActivityUser.java create mode 100644 mallinkService/src/main/java/com/iformall/mapper/WxLegionActivityConfigMapper.java create mode 100644 mallinkService/src/main/java/com/iformall/mapper/WxLegionActivityMapper.java create mode 100644 mallinkService/src/main/java/com/iformall/mapper/WxLegionActivityMerchantConfigMapper.java create mode 100644 mallinkService/src/main/java/com/iformall/mapper/WxLegionActivityOrderMapper.java create mode 100644 mallinkService/src/main/java/com/iformall/mapper/WxLegionActivityUserMapper.java create mode 100644 mallinkService/src/main/java/com/iformall/service/WxLegionActivityConfigService.java create mode 100644 mallinkService/src/main/java/com/iformall/service/WxLegionActivityMerchantConfigService.java create mode 100644 mallinkService/src/main/java/com/iformall/service/WxLegionActivityOrderService.java create mode 100644 mallinkService/src/main/java/com/iformall/service/WxLegionActivityService.java create mode 100644 mallinkService/src/main/java/com/iformall/service/WxLegionActivityUserService.java create mode 100644 mallinkService/src/main/java/com/iformall/service/impl/WxLegionActivityConfigServiceImpl.java create mode 100644 mallinkService/src/main/java/com/iformall/service/impl/WxLegionActivityMerchantConfigServiceImpl.java create mode 100644 mallinkService/src/main/java/com/iformall/service/impl/WxLegionActivityOrderServiceImpl.java create mode 100644 mallinkService/src/main/java/com/iformall/service/impl/WxLegionActivityServiceImpl.java create mode 100644 mallinkService/src/main/java/com/iformall/service/impl/WxLegionActivityUserServiceImpl.java create mode 100644 mallinkService/src/main/resources/mapper/WxLegionActivityConfigMapper.xml create mode 100644 mallinkService/src/main/resources/mapper/WxLegionActivityMapper.xml create mode 100644 mallinkService/src/main/resources/mapper/WxLegionActivityMerchantConfigMapper.xml create mode 100644 mallinkService/src/main/resources/mapper/WxLegionActivityOrderMapper.xml create mode 100644 mallinkService/src/main/resources/mapper/WxLegionActivityUserMapper.xml diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxLegionActivity.java b/mallinkService/src/main/java/com/iformall/domain/po/WxLegionActivity.java new file mode 100644 index 000000000..ec332126e --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxLegionActivity.java @@ -0,0 +1,148 @@ +package com.iformall.domain.po; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.util.Date; +import java.util.List; +import java.util.Map; + +import com.iformall.domain.po.base.TenantEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +/** + * 军团活动 + * @TableName wx_legion_activity + */ +@TableName(value ="wx_legion_activity") +@Data +@ToString(callSuper = true) +@EqualsAndHashCode(callSuper = true) +public class WxLegionActivity extends TenantEntity { + /** + * 主键ID + */ + @io.swagger.annotations.ApiModelProperty(value="id",name="id") + @TableId(value = "id") + private Long id; + + /** + * 活动名称 + */ + @io.swagger.annotations.ApiModelProperty(value="活动名称",name="name") + @TableField(value = "name") + private String name; + + /** + * 开始时间 + */ + @io.swagger.annotations.ApiModelProperty(value="活动开始时间",name="startTime") + @TableField(value = "start_time") + private Date startTime; + + /** + * 结束时间 + */ + @io.swagger.annotations.ApiModelProperty(value="活动结束时间",name="endTime") + @TableField(value = "end_time") + private Date endTime; + + /** + * 售卡积分 + */ + @io.swagger.annotations.ApiModelProperty(value="售卡积分",name="sellingCard") + @TableField(value = "selling_card") + private Integer sellingCard; + + /** + * 签单积分 + */ + @io.swagger.annotations.ApiModelProperty(value="签单积分",name="signOrder") + @TableField(value = "sign_order") + private Integer signOrder; + + /** + * 外部军团带单 + */ + @io.swagger.annotations.ApiModelProperty(value="外部军团带单",name="difLegionOrder") + @TableField(value = "dif_legion_order") + private Integer difLegionOrder; + + /** + * 内部军团不同联盟带单 + */ + @io.swagger.annotations.ApiModelProperty(value="内部军团不同联盟带单",name="difUnionOrder") + @TableField(value = "dif_union_order") + private Integer difUnionOrder; + + /** + * 内部军团相同联盟带单 + */ + @io.swagger.annotations.ApiModelProperty(value="内部军团相同联盟带单",name="eqUnionOrder") + @TableField(value = "eq_union_order") + private Integer eqUnionOrder; + + /** + * 内部军团无联盟带单 + */ + @io.swagger.annotations.ApiModelProperty(value="内部军团无联盟带单",name="notUnionOrder") + @TableField(value = "not_union_order") + private Integer notUnionOrder; + + /** + * 状态(0:未上架 1:已上架) + */ + @io.swagger.annotations.ApiModelProperty(value="状态(0:草稿 1:已上架 2:已下架 3:已过期)",name="status") + @TableField(value = "status") + private Integer status; + + /** + * 创建时间 + */ + @io.swagger.annotations.ApiModelProperty(value="创建时间",name="createDate") + @TableField(value = "create_date") + private Date createDate; + + /** + * 更新时间 + */ + @io.swagger.annotations.ApiModelProperty(value="修改时间",name="updateDate") + @TableField(value = "update_date") + private Date updateDate; + + @TableField(exist = false) + private Date begin; + @TableField(exist = false) + private Date end; + + /** + * 是否过期 + */ + @TableField(exist = false) + private Integer validStatus; + + @TableField(exist = false) + private List statusList; + + /** + * 军团列表 + */ + @TableField(exist = false) + private List legionList; + + @TableField(exist = false) + private Integer legionCount; + @TableField(exist = false) + private Integer merchantCount; + + @TableField(exist = false) + private List merchantConfigIdList; + + @TableField(exist = false) + private Map activityData; + +} \ No newline at end of file diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxLegionActivityConfig.java b/mallinkService/src/main/java/com/iformall/domain/po/WxLegionActivityConfig.java new file mode 100644 index 000000000..a4ab5e563 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxLegionActivityConfig.java @@ -0,0 +1,79 @@ +package com.iformall.domain.po; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +import com.iformall.domain.po.base.TenantEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +/** + * 军团活动军团配置 + * @TableName wx_legion_activity_config + */ +@TableName(value ="wx_legion_activity_config") +@Data +@ToString(callSuper = true) +@EqualsAndHashCode(callSuper = true) +public class WxLegionActivityConfig extends TenantEntity { + /** + * 主键ID + */ + @io.swagger.annotations.ApiModelProperty(value="id",name="id") + @TableId(value = "id") + private Long id; + + /** + * 活动id + */ + @io.swagger.annotations.ApiModelProperty(value="活动id",name="activityId") + @TableField(value = "activity_id") + private Long activityId; + @TableField(exist = false) + private List activityIdList; + + /** + * 上级ID + */ + @TableField(value = "parent_id") + private Long parentId; + + /** + * 军团/联盟名称 + */ + @io.swagger.annotations.ApiModelProperty(value="军团/联盟名称",name="name") + @TableField(value = "name") + private String name; + + /** + * 创建时间 + */ + @io.swagger.annotations.ApiModelProperty(value="创建时间",name="createDate") + @TableField(value = "create_date") + private Date createDate; + + /** + * 更新时间 + */ + @io.swagger.annotations.ApiModelProperty(value="更新时间",name="updateDate") + @TableField(value = "update_date") + private Date updateDate; + + /** + * 联盟列表 + */ + @TableField(exist = false) + private List unionList; + + /** + * 门店列表 + */ + @TableField(exist = false) + private List merchantList; +} \ No newline at end of file diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxLegionActivityMerchantConfig.java b/mallinkService/src/main/java/com/iformall/domain/po/WxLegionActivityMerchantConfig.java new file mode 100644 index 000000000..0694e3686 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxLegionActivityMerchantConfig.java @@ -0,0 +1,80 @@ +package com.iformall.domain.po; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +import com.iformall.domain.po.base.TenantEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +/** + * 军团活动商户配置 + * @TableName wx_legion_activity_merchant_config + */ +@TableName(value ="wx_legion_activity_merchant_config") +@Data +@ToString(callSuper = true) +@EqualsAndHashCode(callSuper = true) +public class WxLegionActivityMerchantConfig extends TenantEntity { + /** + * 主键ID + */ + @io.swagger.annotations.ApiModelProperty(value="id",name="id") + @TableId(value = "id") + private Long id; + + /** + * 活动id + */ + @io.swagger.annotations.ApiModelProperty(value="活动id",name="activityId") + @TableField(value = "activity_id") + private Long activityId; + @TableField(exist = false) + private List activityIdList; + + /** + * 军团id + */ + @io.swagger.annotations.ApiModelProperty(value="军团id",name="legionId") + @TableField(value = "legion_id") + private Long legionId; + + /** + * 商户Id + */ + @io.swagger.annotations.ApiModelProperty(value="商户Id",name="merchantId") + @TableField(value = "merchant_id") + private Long merchantId; + + @TableField(exist = false) + private String merchantName; + @TableField(exist = false) + private String merchantPhone; + + /** + * 联盟ID + */ + @io.swagger.annotations.ApiModelProperty(value="联盟ID",name="unionId") + @TableField(value = "union_id") + private Long unionId; + + /** + * 创建时间 + */ + @io.swagger.annotations.ApiModelProperty(value="创建时间",name="createDate") + @TableField(value = "create_date") + private Date createDate; + + /** + * 更新时间 + */ + @io.swagger.annotations.ApiModelProperty(value="更新时间",name="updateDate") + @TableField(value = "update_date") + private Date updateDate; +} \ No newline at end of file diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxLegionActivityOrder.java b/mallinkService/src/main/java/com/iformall/domain/po/WxLegionActivityOrder.java new file mode 100644 index 000000000..b5b39128b --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxLegionActivityOrder.java @@ -0,0 +1,206 @@ +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; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +import com.iformall.domain.po.base.TenantEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +/** + * 军团活动订单 + * @TableName wx_legion_activity_order + */ +@TableName(value ="wx_legion_activity_order") +@Data +@ToString(callSuper = true) +@EqualsAndHashCode(callSuper = true) +public class WxLegionActivityOrder extends TenantEntity { + /** + * 主键ID + */ + @io.swagger.annotations.ApiModelProperty(value="id",name="id") + @TableId(value = "id") + private Long id; + + /** + * 活动Id + */ + @io.swagger.annotations.ApiModelProperty(value="活动id",name="activityId") + @TableField(value = "activity_id") + private Long activityId; + + /** + * 订单号 + */ + @io.swagger.annotations.ApiModelProperty(value="订单号",name="orderNo") + @Excel(name = "订单号", width = 20, orderNum = "1") + @TableField(value = "order_no") + private String orderNo; + + /** + * 订单金额 + */ + @io.swagger.annotations.ApiModelProperty(value="已收定金",name="orderMoney") + @Excel(name = "已收定金", width = 20, orderNum = "10") + @TableField(value = "order_money") + private BigDecimal orderMoney; + + /** + * 客户Id + */ + @io.swagger.annotations.ApiModelProperty(value="客户Id",name="cusId") + @TableField(value = "cus_id") + private Long cusId; + + @TableField(exist = false) + private List cusIdList; + + @io.swagger.annotations.ApiModelProperty(value="客户手机号",name="cusPhone") + @Excel(name = "客户手机号", width = 20, orderNum = "5") + @TableField(exist = false) + private String cusPhone; + + @io.swagger.annotations.ApiModelProperty(value="VIP卡号",name="cusVipNum") + @Excel(name = "VIP卡号", width = 20, orderNum = "3") + @TableField(exist = false) + private String cusVipNum; + + /** + * 客户姓名 + */ + @io.swagger.annotations.ApiModelProperty(value="客户姓名",name="cusName") + @Excel(name = "客户姓名", width = 20, orderNum = "4") + @TableField(value = "cus_name") + private String cusName; + + /** + * 客户地址 + */ + @io.swagger.annotations.ApiModelProperty(value="客户地址",name="cusAddress") + @Excel(name = "客户地址", width = 20, orderNum = "6") + @TableField(value = "cus_address") + private String cusAddress; + + /** + * 商户编号 + */ + @io.swagger.annotations.ApiModelProperty(value="商户编号",name="merchantId") + @TableField(value = "merchant_id") + private Long merchantId; + @Excel(name = "商户名称", width = 20, orderNum = "7") + @TableField(exist = false) + private String merchantName; + @TableField(exist = false) + private List merchantIdList; + + /** + * 军团ID + */ + @io.swagger.annotations.ApiModelProperty(value="军团ID",name="legionId") + @TableField(value = "legion_id") + private Long legionId; + @Excel(name = "所属军团", width = 20, orderNum = "8") + @TableField(exist = false) + private String legionName; + + @TableField(exist = false) + private Integer legionType; + + /** + * 联盟id + */ + @io.swagger.annotations.ApiModelProperty(value="联盟id",name="unionId") + @TableField(value = "union_id") + private Long unionId; + +// /** +// * 卡属派系 +// */ +// @Excel(name = "所属派系", width = 20, orderNum = "9", replace = {"原联盟_1", "非联盟_2"}) +// @TableField(exist = false) +// private Integer unionType; + + /** + * 带单类型 + * SIGN_ORDER(0, "签单"), + * DIF_LEGION(1, "外部军团带单"), + * DIF_UNION(2, "内部军团不同联盟带单"), + * EQ_UNION(3, "内部军团相同联盟带单"), + * NOT_UNION(4, "内部军团无联盟带单"),; + * 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"}) + @TableField(value = "order_type") + private Integer orderType; + @TableField(exist = false) + private List orderTypeList; + + /** + * + */ + @TableField(value = "create_by") + private Long createBy; + + /** + * 创建时间 + */ + @io.swagger.annotations.ApiModelProperty(value="创建时间",name="createDate") + @Excel(name = "提交时间", format = "yyyy-MM-dd HH:mm:ss", width = 20, orderNum = "2") + @TableField(value = "create_date") + private Date createDate; + + @TableField(exist = false) + private Date createDateBegin; + @TableField(exist = false) + private Date createDateEnd; + + /** + * 更新时间 + */ + @TableField(value = "update_date") + private Date updateDate; + + /** + * 审批意见 + */ + @io.swagger.annotations.ApiModelProperty(value="审批意见",name="auditRemark") + @TableField(value = "audit_remark") + private String auditRemark; + + /** + * 审批状态 + * 0:审核中, 1:已审批, 2:已驳回, 3:已失效 + */ + @io.swagger.annotations.ApiModelProperty(value="审批状态 0:审核中, 1:已审批, 2:已驳回, 3:已失效",name="auditStatus") + @Excel(name = "审核状态", width = 20, orderNum = "11", replace = {"审核中_0", "已审批_1", "已驳回_2", "已失效_3"}) + @TableField(value = "audit_status") + private Integer auditStatus; + + /** + * 审核人 + */ + @TableField(value = "audit_by") + private Long auditBy; + + /** + * 审核时间 + */ + @io.swagger.annotations.ApiModelProperty(value="审核时间",name="auditTime") + @TableField(value = "audit_time") + private Date auditTime; + + @TableField(exist = false) + private Date auditTimeBegin; + @TableField(exist = false) + private Date auditTimeEnd; +} \ No newline at end of file diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxLegionActivityUser.java b/mallinkService/src/main/java/com/iformall/domain/po/WxLegionActivityUser.java new file mode 100644 index 000000000..da2789dee --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxLegionActivityUser.java @@ -0,0 +1,116 @@ +package com.iformall.domain.po; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +import com.iformall.domain.po.base.TenantEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +/** + * 军团活动用户 + * @TableName wx_legion_activity_user + */ +@TableName(value ="wx_legion_activity_user") +@Data +@ToString(callSuper = true) +@EqualsAndHashCode(callSuper = true) +public class WxLegionActivityUser extends TenantEntity { + /** + * 主键ID + */ + @io.swagger.annotations.ApiModelProperty(value="id",name="id") + @TableId(value = "id") + private Long id; + + /** + * 活动id + */ + @io.swagger.annotations.ApiModelProperty(value="活动id",name="activityId") + @TableField(value = "activity_id") + private Long activityId; + + /** + * 用户手机号 + */ + @io.swagger.annotations.ApiModelProperty(value="用户手机号",name="phone") + @TableField(value = "phone") + private String phone; + + /** + * 用户姓名 + */ + @io.swagger.annotations.ApiModelProperty(value="用户姓名",name="phone") + @TableField(value = "name") + private String name; + + /** + * 用户地址 + */ + @io.swagger.annotations.ApiModelProperty(value="用户地址",name="address") + @TableField(value = "address") + private String address; + + /** + * 会员卡号 + */ + @io.swagger.annotations.ApiModelProperty(value="会员卡号",name="vipNum") + @TableField(value = "vip_num") + private String vipNum; + + /** + * 商户id + */ + @TableField(value = "merchant_id") + private Long merchantId; + + @TableField(exist = false) + private List merchantIdList; + + /** + * 所属军团 + */ + @TableField(value = "legion_id") + private Long legionId; + + /** + * 所属联盟 + */ + @TableField(value = "union_id") + private Long unionId; + + /** + * 状态 + */ + @TableField(value = "status") + private Integer status; + + /** + * + */ + @TableField(value = "create_by") + private Long createBy; + + /** + * 创建时间 + */ + @TableField(value = "create_date") + private Date createDate; + + @TableField(exist = false) + private Date createDateBegin; + @TableField(exist = false) + private Date createDateEnd; + + /** + * 更新时间 + */ + @TableField(value = "update_date") + private Date updateDate; +} \ No newline at end of file diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxLegionActivityConfigMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxLegionActivityConfigMapper.java new file mode 100644 index 000000000..950da534e --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/mapper/WxLegionActivityConfigMapper.java @@ -0,0 +1,30 @@ +package com.iformall.mapper; + +import com.iformall.common.CommonMapper; +import com.iformall.domain.po.WxLegionActivityConfig; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.iformall.domain.vo.LegionActivityCount; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** +* @author xiaohu +* @description 针对表【wx_legion_activity_config(军团活动军团配置)】的数据库操作Mapper +* @createDate 2024-08-23 21:31:17 +* @Entity com.iformall.domain.po.WxLegionActivityConfig +*/ +public interface WxLegionActivityConfigMapper extends CommonMapper { + + void deleteConfig(@Param("activityId")Long activityId, @Param("tenantId")String tenantId); + + void insertList(@Param("configList")List legionConfigList); + + List findList(WxLegionActivityConfig legionConfig); + + List findActivityCount(WxLegionActivityConfig legionConfig); +} + + + + diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxLegionActivityMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxLegionActivityMapper.java new file mode 100644 index 000000000..2bae4556b --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/mapper/WxLegionActivityMapper.java @@ -0,0 +1,31 @@ +package com.iformall.mapper; + +import com.iformall.common.CommonMapper; +import com.iformall.domain.po.WxLegionActivity; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.iformall.domain.po.WxOfflineActivity; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** +* @author xiaohu +* @description 针对表【wx_legion_activity(军团活动)】的数据库操作Mapper +* @createDate 2024-08-23 21:31:17 +* @Entity com.iformall.domain.po.WxLegionActivity +*/ +public interface WxLegionActivityMapper extends CommonMapper { + + WxLegionActivity selectById(@Param("id")Long id, @Param("tenantId")String tenantId); + + List findList(WxLegionActivity wxOfflineActivity); + + void updateStatus(WxLegionActivity wxOfflineActivity); + + List findIds(WxLegionActivity wxOfflineActivity); + +} + + + + diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxLegionActivityMerchantConfigMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxLegionActivityMerchantConfigMapper.java new file mode 100644 index 000000000..7c1b9b803 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/mapper/WxLegionActivityMerchantConfigMapper.java @@ -0,0 +1,33 @@ +package com.iformall.mapper; + +import com.iformall.common.CommonMapper; +import com.iformall.domain.po.WxLegionActivityConfig; +import com.iformall.domain.po.WxLegionActivityMerchantConfig; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.iformall.domain.vo.LegionActivityCount; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** +* @author xiaohu +* @description 针对表【wx_legion_activity_merchant_config(军团活动商户配置)】的数据库操作Mapper +* @createDate 2024-08-23 21:31:17 +* @Entity com.iformall.domain.po.WxLegionActivityMerchantConfig +*/ +public interface WxLegionActivityMerchantConfigMapper extends CommonMapper { + + void deleteConfig(@Param("activityId")Long activityId, @Param("tenantId")String tenantId); + + void insertList(@Param("configList") List legionConfigList); + + List findList(WxLegionActivityMerchantConfig merchantConfig); + + List findActivityCount(WxLegionActivityMerchantConfig merchantConfig); + + void deleteByIds(WxLegionActivityMerchantConfig merchantConfig); +} + + + + diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxLegionActivityOrderMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxLegionActivityOrderMapper.java new file mode 100644 index 000000000..3809d4fcc --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/mapper/WxLegionActivityOrderMapper.java @@ -0,0 +1,38 @@ +package com.iformall.mapper; + +import com.iformall.common.CommonMapper; +import com.iformall.domain.po.WxLegionActivityOrder; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.iformall.domain.vo.LegionActivityOrderStatistics; +import com.iformall.domain.vo.LegionActivityOrderTypeStatistics; +import com.iformall.domain.vo.LegionActivitySellOrder; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** +* @author xiaohu +* @description 针对表【wx_legion_activity_order(军团活动订单)】的数据库操作Mapper +* @createDate 2024-08-23 21:31:17 +* @Entity com.iformall.domain.po.WxLegionActivityOrder +*/ +public interface WxLegionActivityOrderMapper extends CommonMapper { + + List findList(WxLegionActivityOrder wxLegionActivityOrder); + + WxLegionActivityOrder selectById(@Param("id")Long id, @Param("tenantId")String tenantId); + + List auditStatusStatistics(WxLegionActivityOrder wxLegionActivityOrder); + + void updateAuditStatus(WxLegionActivityOrder wxLegionActivityOrder); + + List orderTypeStatistics(WxLegionActivityOrder wxLegionActivityOrder); + + List merchantStatistics(WxLegionActivityOrder wxLegionActivityOrder); + + List findOrderUser(WxLegionActivityOrder wxLegionActivityOrder); +} + + + + diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxLegionActivityUserMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxLegionActivityUserMapper.java new file mode 100644 index 000000000..37f56d0c2 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/mapper/WxLegionActivityUserMapper.java @@ -0,0 +1,33 @@ +package com.iformall.mapper; + +import com.iformall.common.CommonMapper; +import com.iformall.domain.po.WxLegionActivityOrder; +import com.iformall.domain.po.WxLegionActivityUser; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.iformall.domain.vo.LegionActivityUserStatistics; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** +* @author xiaohu +* @description 针对表【wx_legion_activity_user(军团活动用户)】的数据库操作Mapper +* @createDate 2024-08-23 21:31:17 +* @Entity com.iformall.domain.po.WxLegionActivityUser +*/ +public interface WxLegionActivityUserMapper extends CommonMapper { + + List findList(WxLegionActivityUser wxLegionActivityUser); + + WxLegionActivityUser selectById(@Param("id")Long id, @Param("tenantId")String tenantId); + + List findIdList(WxLegionActivityUser wxLegionActivityUser); + + List merchantCountStatistics(WxLegionActivityUser wxLegionActivityUser); + + void updateStatus(WxLegionActivityUser activityUser); +} + + + + diff --git a/mallinkService/src/main/java/com/iformall/service/WxLegionActivityConfigService.java b/mallinkService/src/main/java/com/iformall/service/WxLegionActivityConfigService.java new file mode 100644 index 000000000..840ca4d36 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/service/WxLegionActivityConfigService.java @@ -0,0 +1,24 @@ +package com.iformall.service; + +import com.iformall.domain.po.WxLegionActivity; +import com.iformall.domain.po.WxLegionActivityConfig; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; +import java.util.Map; + +/** +* @author xiaohu +* @description 针对表【wx_legion_activity_config(军团活动军团配置)】的数据库操作Service +* @createDate 2024-08-23 21:31:17 +*/ +public interface WxLegionActivityConfigService { + + void handleLegionConfig(WxLegionActivity wxLegionActivity); + + List findLegionList(Long activityId, String tenantId); + + Map getLegionConfigMap(WxLegionActivityConfig legionConfigQ); + + Map findLegionCount(WxLegionActivityConfig legionConfigQ); +} diff --git a/mallinkService/src/main/java/com/iformall/service/WxLegionActivityMerchantConfigService.java b/mallinkService/src/main/java/com/iformall/service/WxLegionActivityMerchantConfigService.java new file mode 100644 index 000000000..25d36203c --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/service/WxLegionActivityMerchantConfigService.java @@ -0,0 +1,16 @@ +package com.iformall.service; + +import com.iformall.domain.po.WxLegionActivityMerchantConfig; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.Map; + +/** +* @author xiaohu +* @description 针对表【wx_legion_activity_merchant_config(军团活动商户配置)】的数据库操作Service +* @createDate 2024-08-23 21:31:17 +*/ +public interface WxLegionActivityMerchantConfigService { + + Map findMerchantCount(WxLegionActivityMerchantConfig merchantConfigQ); +} diff --git a/mallinkService/src/main/java/com/iformall/service/WxLegionActivityOrderService.java b/mallinkService/src/main/java/com/iformall/service/WxLegionActivityOrderService.java new file mode 100644 index 000000000..527687083 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/service/WxLegionActivityOrderService.java @@ -0,0 +1,46 @@ +package com.iformall.service; + +import com.github.pagehelper.PageInfo; +import com.iformall.domain.po.WxLegionActivity; +import com.iformall.domain.po.WxLegionActivityOrder; +import com.baomidou.mybatisplus.extension.service.IService; +import com.iformall.domain.po.WxOfflineActivityRecord; +import com.iformall.domain.vo.LegionActivityMerchantStatistics; +import com.iformall.domain.vo.LegionActivitySellOrder; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.List; +import java.util.Map; + +/** +* @author xiaohu +* @description 针对表【wx_legion_activity_order(军团活动订单)】的数据库操作Service +* @createDate 2024-08-23 21:31:17 +*/ +public interface WxLegionActivityOrderService { + + PageInfo listAsPage(WxLegionActivityOrder wxLegionActivityOrder, Integer pageNum, Integer pageSize); + + void saveOrUpdate(WxLegionActivityOrder wxLegionActivityOrder); + + WxLegionActivityOrder getInfoById(Long id, String tenantId); + + Map getStatistics(WxLegionActivityOrder wxLegionActivityOrder); + + void exportData(HttpServletRequest request, HttpServletResponse response, WxLegionActivityOrder wxLegionActivityOrder); + + void auditRecord(WxLegionActivityOrder wxLegionActivityOrder, Long userId); + + Map getActivityData(WxLegionActivityOrder wxLegionActivityOrder); + + Map handleActivityData(WxLegionActivity wxLegionActivity, Long legionId); + + List getActivityMerchantData(WxLegionActivityOrder wxLegionActivityOrder); + + void exportActivityMerchantData(HttpServletRequest request, HttpServletResponse response, WxLegionActivityOrder wxLegionActivityOrder); + + List getActivitySellOrder(WxLegionActivityOrder wxLegionActivityOrder); + + void exportActivitySellOrder(HttpServletRequest request, HttpServletResponse response, WxLegionActivityOrder wxLegionActivityOrder); +} diff --git a/mallinkService/src/main/java/com/iformall/service/WxLegionActivityService.java b/mallinkService/src/main/java/com/iformall/service/WxLegionActivityService.java new file mode 100644 index 000000000..1e3183bd6 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/service/WxLegionActivityService.java @@ -0,0 +1,24 @@ +package com.iformall.service; + +import com.github.pagehelper.PageInfo; +import com.iformall.domain.po.WxLegionActivity; +import com.baomidou.mybatisplus.extension.service.IService; +import com.iformall.domain.po.WxOfflineActivity; + +/** +* @author xiaohu +* @description 针对表【wx_legion_activity(军团活动)】的数据库操作Service +* @createDate 2024-08-23 21:31:17 +*/ +public interface WxLegionActivityService { + + PageInfo listAsPage(WxLegionActivity wxLegionActivity, boolean needCount, Integer pageNum, Integer pageSize); + + void saveOrUpdate(WxLegionActivity wxLegionActivity); + + void updateStatus(WxLegionActivity wxLegionActivity); + + WxLegionActivity getInfoById(Long id, String tenantId); + + void delMerchant(WxLegionActivity wxLegionActivity); +} diff --git a/mallinkService/src/main/java/com/iformall/service/WxLegionActivityUserService.java b/mallinkService/src/main/java/com/iformall/service/WxLegionActivityUserService.java new file mode 100644 index 000000000..e4cdda50d --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/service/WxLegionActivityUserService.java @@ -0,0 +1,25 @@ +package com.iformall.service; + +import com.github.pagehelper.PageInfo; +import com.iformall.domain.po.WxLegionActivityUser; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.Map; + +/** +* @author xiaohu +* @description 针对表【wx_legion_activity_user(军团活动用户)】的数据库操作Service +* @createDate 2024-08-23 21:31:17 +*/ +public interface WxLegionActivityUserService { + + PageInfo listAsPage(WxLegionActivityUser wxLegionActivityUser, Integer pageNum, Integer pageSize); + + void saveOrUpdate(WxLegionActivityUser wxLegionActivityUser); + + WxLegionActivityUser getById(Long id, String tenantId); + + WxLegionActivityUser selectOne(WxLegionActivityUser wxLegionActivityUser); + + Map findUserMap(WxLegionActivityUser wxLegionActivityUser); +} diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxLegionActivityConfigServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxLegionActivityConfigServiceImpl.java new file mode 100644 index 000000000..0b657dd0b --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxLegionActivityConfigServiceImpl.java @@ -0,0 +1,125 @@ +package com.iformall.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.iformall.common.IdWorker; +import com.iformall.domain.po.WxLegionActivity; +import com.iformall.domain.po.WxLegionActivityConfig; +import com.iformall.domain.po.WxLegionActivityMerchantConfig; +import com.iformall.domain.vo.LegionActivityCount; +import com.iformall.domain.vo.LegionActivityUserStatistics; +import com.iformall.mapper.WxLegionActivityMerchantConfigMapper; +import com.iformall.service.WxLegionActivityConfigService; +import com.iformall.mapper.WxLegionActivityConfigMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.*; +import java.util.stream.Collectors; + +/** +* @author xiaohu +* @description 针对表【wx_legion_activity_config(军团活动军团配置)】的数据库操作Service实现 +* @createDate 2024-08-23 21:31:17 +*/ +@Service +public class WxLegionActivityConfigServiceImpl implements WxLegionActivityConfigService{ + + @Autowired + private WxLegionActivityConfigMapper wxLegionActivityConfigMapper; + + @Autowired + private WxLegionActivityMerchantConfigMapper wxLegionActivityMerchantConfigMapper; + + @Override + public void handleLegionConfig(WxLegionActivity wxLegionActivity) { + if(wxLegionActivity.getLegionList() == null || wxLegionActivity.getLegionList().isEmpty()){ + return; + } + Date now = new Date(); + final IdWorker idWorker = IdWorker.get(); + List legionConfigList = new ArrayList<>(); + List merchantConfigList = new ArrayList<>(); + //军团 + for (WxLegionActivityConfig legionConfig : wxLegionActivity.getLegionList()) { + if(legionConfig.getId() == null){ + legionConfig.setId(idWorker.nextId()); + legionConfig.setCreateDate(now); + } + legionConfig.updateTenantInfo(wxLegionActivity); + legionConfig.setActivityId(wxLegionActivity.getId()); + legionConfig.setParentId(0L); + legionConfig.setUpdateDate(now); + legionConfigList.add(legionConfig); + //联盟 + if (legionConfig.getUnionList() != null && !legionConfig.getUnionList().isEmpty()) { + for (WxLegionActivityConfig unionConfig : legionConfig.getUnionList()) { + if(unionConfig.getId() == null){ + unionConfig.setId(idWorker.nextId()); + unionConfig.setCreateDate(now); + } + unionConfig.updateTenantInfo(wxLegionActivity); + unionConfig.setActivityId(wxLegionActivity.getId()); + unionConfig.setParentId(legionConfig.getId()); + unionConfig.setUpdateDate(now); + legionConfigList.add(unionConfig); + } + } + //商户 + if(legionConfig.getMerchantList() != null && !legionConfig.getMerchantList().isEmpty()){ + for (WxLegionActivityMerchantConfig merchantConfig : legionConfig.getMerchantList()) { + if(merchantConfig.getId() == null){ + merchantConfig.setId(idWorker.nextId()); + merchantConfig.setCreateDate(now); + } + merchantConfig.updateTenantInfo(wxLegionActivity); + merchantConfig.setActivityId(wxLegionActivity.getId()); + merchantConfig.setLegionId(legionConfig.getId()); + if(merchantConfig.getUnionId() == null){ + merchantConfig.setUnionId(0L); + } + merchantConfig.setUpdateDate(now); + merchantConfigList.add(merchantConfig); + } + } + } + wxLegionActivityConfigMapper.deleteConfig(wxLegionActivity.getId(),wxLegionActivity.getTenantId()); + wxLegionActivityConfigMapper.insertList(legionConfigList); + + if(!merchantConfigList.isEmpty()){ + wxLegionActivityMerchantConfigMapper.deleteConfig(wxLegionActivity.getId(),wxLegionActivity.getTenantId()); + wxLegionActivityMerchantConfigMapper.insertList(merchantConfigList); + } + } + + @Override + public List findLegionList(Long activityId, String tenantId) { + WxLegionActivityConfig configQ = new WxLegionActivityConfig(); + configQ.setTenantId(tenantId); + configQ.setActivityId(activityId); + configQ.setParentId(0L); + return wxLegionActivityConfigMapper.findList(configQ); + } + + @Override + public Map getLegionConfigMap(WxLegionActivityConfig legionConfigQ) { +// legionConfigQ.setParentId(0L); + List list = wxLegionActivityConfigMapper.findList(legionConfigQ); + if(list == null || list.isEmpty()){ + return Collections.emptyMap(); + } + return list.stream().collect(Collectors.toMap(WxLegionActivityConfig::getId, WxLegionActivityConfig::getName)); + } + + @Override + public Map findLegionCount(WxLegionActivityConfig legionConfigQ) { + List activityCountList = wxLegionActivityConfigMapper.findActivityCount(legionConfigQ); + if (activityCountList == null || activityCountList.isEmpty()){ + return Collections.emptyMap(); + } + return activityCountList.stream().collect(Collectors.toMap(LegionActivityCount::getActivityId, LegionActivityCount::getCount)); + } +} + + + + diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxLegionActivityMerchantConfigServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxLegionActivityMerchantConfigServiceImpl.java new file mode 100644 index 000000000..7da8e51be --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxLegionActivityMerchantConfigServiceImpl.java @@ -0,0 +1,39 @@ +package com.iformall.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.iformall.domain.po.WxLegionActivityMerchantConfig; +import com.iformall.domain.vo.LegionActivityCount; +import com.iformall.service.WxLegionActivityMerchantConfigService; +import com.iformall.mapper.WxLegionActivityMerchantConfigMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Collections; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** +* @author xiaohu +* @description 针对表【wx_legion_activity_merchant_config(军团活动商户配置)】的数据库操作Service实现 +* @createDate 2024-08-23 21:31:17 +*/ +@Service +public class WxLegionActivityMerchantConfigServiceImpl implements WxLegionActivityMerchantConfigService{ + + @Autowired + private WxLegionActivityMerchantConfigMapper wxLegionActivityMerchantConfigMapper; + + @Override + public Map findMerchantCount(WxLegionActivityMerchantConfig merchantConfigQ) { + List activityCountList = wxLegionActivityMerchantConfigMapper.findActivityCount(merchantConfigQ); + if (activityCountList == null || activityCountList.isEmpty()){ + return Collections.emptyMap(); + } + return activityCountList.stream().collect(Collectors.toMap(LegionActivityCount::getActivityId, LegionActivityCount::getCount)); + } +} + + + + diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxLegionActivityOrderServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxLegionActivityOrderServiceImpl.java new file mode 100644 index 000000000..98f6c3518 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxLegionActivityOrderServiceImpl.java @@ -0,0 +1,508 @@ +package com.iformall.service.impl; + +import com.aliyun.openservices.shade.org.apache.commons.lang3.StringUtils; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import com.iformall.common.IdWorker; +import com.iformall.common.Result; +import com.iformall.domain.dto.cockpit.CountShopByStatusDTO; +import com.iformall.domain.po.*; +import com.iformall.domain.po.base.TenantEntity; +import com.iformall.domain.vo.*; +import com.iformall.enums.*; +import com.iformall.exception.MallinkException; +import com.iformall.mapper.*; +import com.iformall.service.*; +import jodd.util.StringUtil; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.*; +import java.util.stream.Collectors; + +import static java.util.stream.Collectors.groupingBy; + +/** +* @author xiaohu +* @description 针对表【wx_legion_activity_order(军团活动订单)】的数据库操作Service实现 +* @createDate 2024-08-23 21:31:17 +*/ +@Service +public class WxLegionActivityOrderServiceImpl implements WxLegionActivityOrderService{ + + @Autowired + private WxLegionActivityOrderMapper wxLegionActivityOrderMapper; + + @Autowired + private WxLegionActivityMapper wxLegionActivityMapper; + + @Autowired + private WxLegionActivityUserMapper wxLegionActivityUserMapper; + + @Autowired + private WxLegionActivityUserService wxLegionActivityUserService; + + @Autowired + private WxLegionActivityConfigService wxLegionActivityConfigService; + + @Autowired + private WxLegionActivityMerchantConfigMapper wxLegionActivityMerchantConfigMapper; + + @Autowired + private WxMerchantMapper wxMerchantMapper; + + @Autowired + private WxMerchantService wxMerchantService; + + @Autowired + private WxShopService wxShopService; + + @Autowired + private ExcelService excelService; + @Autowired + private WxLegionActivityConfigMapper wxLegionActivityConfigMapper; + + @Override + public PageInfo listAsPage(WxLegionActivityOrder wxLegionActivityOrder, Integer pageNum, Integer pageSize) { + handlerQuery(wxLegionActivityOrder); + PageInfo recordPageInfo = PageHelper.startPage(pageNum, pageSize).doSelectPageInfo(() -> wxLegionActivityOrderMapper.findList(wxLegionActivityOrder)); + handlerList(wxLegionActivityOrder, recordPageInfo.getList()); + return recordPageInfo; + } + + private void handlerQuery(WxLegionActivityOrder wxLegionActivityOrder) { + if (StringUtils.isNotBlank(wxLegionActivityOrder.getMerchantName())) { + WxMerchant merchant = new WxMerchant(); + merchant.updateTenantInfo(wxLegionActivityOrder); + merchant.setName(wxLegionActivityOrder.getMerchantName()); + List mids = wxMerchantMapper.findIdList(merchant); + if (null == mids || mids.size() <= 0 ) { + wxLegionActivityOrder.setId(-1L); + }else { + wxLegionActivityOrder.setMerchantIdList(mids); + } + } + if(StringUtils.isNotBlank(wxLegionActivityOrder.getCusPhone()) + || StringUtils.isNotBlank(wxLegionActivityOrder.getCusVipNum())){ + WxLegionActivityUser user = new WxLegionActivityUser(); + user.setActivityId(wxLegionActivityOrder.getActivityId()); + user.setPhone(wxLegionActivityOrder.getCusPhone()); + user.setVipNum(wxLegionActivityOrder.getCusVipNum()); + List uIds = wxLegionActivityUserMapper.findIdList(user); + if (null == uIds || uIds.size() <= 0 ) { + wxLegionActivityOrder.setId(-1L); + }else { + wxLegionActivityOrder.setCusIdList(uIds); + } + } + +// if(EnumLegionActivityOrderUnionType.EQ_UNION.getCode().equals(wxLegionActivityOrder.getUnionType())){ +// wxLegionActivityOrder.setOrderType(EnumLegionActivityOrderType.EQ_UNION.getCode()); +// } +// else if(EnumLegionActivityOrderUnionType.DIF_UNION.getCode().equals(wxLegionActivityOrder.getUnionType())){ +// wxLegionActivityOrder.setOrderTypeList(EnumLegionActivityOrderType.getDifUnion()); +// } + + } + + private void handlerList(WxLegionActivityOrder wxLegionActivityOrder, List wxLegionActivityOrders) { + if (wxLegionActivityOrders == null || wxLegionActivityOrders.isEmpty()) { + return; + } + + List merchantIds = wxLegionActivityOrders.stream().map(WxLegionActivityOrder::getMerchantId).filter(Objects::nonNull).distinct().collect(Collectors.toList()); + List userIds = wxLegionActivityOrders.stream().map(WxLegionActivityOrder::getCusId).filter(Objects::nonNull).distinct().collect(Collectors.toList()); + + Map merchantMap = new HashMap<>(); + if(!merchantIds.isEmpty()){ + WxMerchant merchantQ = new WxMerchant(); + merchantQ.updateTenantInfo(wxLegionActivityOrder); + merchantQ.setIds(merchantIds); + merchantMap = wxMerchantService.getIdAndNamesMap(merchantQ); + } + Map activityUserMap = new HashMap<>(); + if(!userIds.isEmpty()){ + WxLegionActivityUser userQ = new WxLegionActivityUser(); + userQ.updateTenantInfo(wxLegionActivityOrder); + userQ.setIds(userIds); + activityUserMap = wxLegionActivityUserService.findUserMap(userQ); + } + WxLegionActivityConfig legionConfigQ = new WxLegionActivityConfig(); + legionConfigQ.updateTenantInfo(wxLegionActivityOrder); + legionConfigQ.setActivityId(wxLegionActivityOrder.getActivityId()); + Map legionConfigMap = wxLegionActivityConfigService.getLegionConfigMap(legionConfigQ); + + for (WxLegionActivityOrder legionActivityOrder : wxLegionActivityOrders) { + WxLegionActivityUser user = activityUserMap.get(legionActivityOrder.getCusId()); + if (null != user) { + legionActivityOrder.setCusPhone(user.getPhone()); + legionActivityOrder.setCusVipNum(user.getVipNum()); + } + legionActivityOrder.setMerchantName(merchantMap.get(legionActivityOrder.getMerchantId())); + if(legionActivityOrder.getLegionId().equals(0L)){ + legionActivityOrder.setLegionName("未参加活动"); + }else{ + legionActivityOrder.setLegionName(legionConfigMap.get(legionActivityOrder.getLegionId())); + } +// if(EnumLegionActivityOrderType.EQ_UNION.getCode().equals(wxLegionActivityOrder.getOrderType())){ +// wxLegionActivityOrder.setUnionType(EnumLegionActivityOrderUnionType.EQ_UNION.getCode()); +// }else{ +// wxLegionActivityOrder.setUnionType(EnumLegionActivityOrderUnionType.DIF_UNION.getCode()); +// } + } + + } + + @Override + public void saveOrUpdate(WxLegionActivityOrder wxLegionActivityOrder) { + WxLegionActivityUser user = wxLegionActivityUserMapper.selectById(wxLegionActivityOrder.getCusId(), wxLegionActivityOrder.getTenantId()); + if (user == null || EnumLegionActivityUserStatus.INVALID.getCode().equals(user.getStatus())) { + throw new MallinkException(Result.ERROR,"未查询到有效用户"); + } + if(!user.getPhone().equals(wxLegionActivityOrder.getCusPhone())){ + throw new MallinkException(Result.ERROR,"用户信息错误"); + } + if(StringUtil.isBlank(wxLegionActivityOrder.getCusName())){ + wxLegionActivityOrder.setCusName(user.getName()); + } + if(StringUtil.isBlank(wxLegionActivityOrder.getCusAddress())){ + wxLegionActivityOrder.setCusAddress(user.getAddress()); + } + WxLegionActivityMerchantConfig merchantConfigQuery = new WxLegionActivityMerchantConfig(); + merchantConfigQuery.updateTenantInfo(wxLegionActivityOrder); + merchantConfigQuery.setActivityId(wxLegionActivityOrder.getActivityId()); + merchantConfigQuery.setMerchantId(wxLegionActivityOrder.getMerchantId()); + WxLegionActivityMerchantConfig merchantConfig = wxLegionActivityMerchantConfigMapper.selectOne(new QueryWrapper<>(merchantConfigQuery)); + if(merchantConfig != null){ + wxLegionActivityOrder.setLegionId(merchantConfig.getLegionId()); + wxLegionActivityOrder.setUnionId(merchantConfig.getUnionId()); + }else{ + wxLegionActivityOrder.setLegionId(0L); + wxLegionActivityOrder.setUnionId(0L); + } + if(wxLegionActivityOrder.getMerchantId().equals(user.getMerchantId())){ + wxLegionActivityOrder.setOrderType(EnumLegionActivityOrderType.SIGN_ORDER.getCode()); + } + else if(wxLegionActivityOrder.getLegionId().equals(0L) || user.getLegionId().equals(0L)){ + //未参加活动 提交订单(外部军团带单) + wxLegionActivityOrder.setOrderType(EnumLegionActivityOrderType.DIF_LEGION.getCode()); + }else if(wxLegionActivityOrder.getLegionId().equals(user.getLegionId())){ + //订单军团与用户军团一致 + if(wxLegionActivityOrder.getUnionId().equals(0L) || user.getUnionId().equals(0L)){ + //订单/用户无联盟(内部军团无联盟带单) + wxLegionActivityOrder.setOrderType(EnumLegionActivityOrderType.NOT_UNION.getCode()); + }else if(wxLegionActivityOrder.getUnionId().equals(user.getUnionId())){ + wxLegionActivityOrder.setOrderType(EnumLegionActivityOrderType.EQ_UNION.getCode()); + }else{ + wxLegionActivityOrder.setOrderType(EnumLegionActivityOrderType.DIF_UNION.getCode()); + } + }else{ + if(wxLegionActivityOrder.getUnionId().equals(0L) || user.getUnionId().equals(0L)){ + wxLegionActivityOrder.setOrderType(EnumLegionActivityOrderType.NOT_UNION.getCode()); + }else{ + wxLegionActivityOrder.setOrderType(EnumLegionActivityOrderType.DIF_LEGION.getCode()); + } + } + + Date now = new Date(); + if(wxLegionActivityOrder.getId() == null){ + final IdWorker idWorker = IdWorker.get(); + wxLegionActivityOrder.setId(idWorker.nextId()); + wxLegionActivityOrder.setCreateDate(now); + wxLegionActivityOrder.setUpdateDate(now); + wxLegionActivityOrder.setAuditStatus(EnumLegionActivityOrderStatus.AUDTING.getCode()); + wxLegionActivityOrderMapper.insert(wxLegionActivityOrder); + } + else{ + wxLegionActivityOrder.setAuditRemark(""); + wxLegionActivityOrder.setAuditStatus(EnumLegionActivityOrderStatus.AUDTING.getCode()); + wxLegionActivityOrder.setUpdateDate(now); + wxLegionActivityOrderMapper.updateById(wxLegionActivityOrder); + } + } + + @Override + public WxLegionActivityOrder getInfoById(Long id, String tenantId) { + WxLegionActivityOrder wxLegionActivityOrder = wxLegionActivityOrderMapper.selectById(id, tenantId); + if(wxLegionActivityOrder == null){ + return null; + } + WxLegionActivityUser user = wxLegionActivityUserMapper.selectById(wxLegionActivityOrder.getCusId(), wxLegionActivityOrder.getTenantId()); + wxLegionActivityOrder.setCusPhone(user.getPhone()); + wxLegionActivityOrder.setCusVipNum(user.getVipNum()); + WxMerchant merchant = wxMerchantMapper.selectById(wxLegionActivityOrder.getMerchantId()); + wxLegionActivityOrder.setMerchantName(merchant.getName()); + + if(wxLegionActivityOrder.getLegionId().equals(0L)){ + wxLegionActivityOrder.setLegionName("未参加活动"); + }else{ + WxLegionActivityConfig legionActivityConfig = wxLegionActivityConfigMapper.selectById(wxLegionActivityOrder.getLegionId()); + wxLegionActivityOrder.setLegionName(legionActivityConfig.getName()); + } + +// if(EnumLegionActivityOrderType.EQ_UNION.getCode().equals(wxLegionActivityOrder.getOrderType())){ +// wxLegionActivityOrder.setUnionType(EnumLegionActivityOrderUnionType.EQ_UNION.getCode()); +// }else{ +// wxLegionActivityOrder.setUnionType(EnumLegionActivityOrderUnionType.DIF_UNION.getCode()); +// } + + return wxLegionActivityOrder; + } + + @Override + public Map getStatistics(WxLegionActivityOrder wxLegionActivityOrder) { + List auditStatusStatistics = wxLegionActivityOrderMapper.auditStatusStatistics(wxLegionActivityOrder); + Map result = new HashMap<>(); + Integer audting = 0, audi_success = 0, audt_fail = 0, invalid = 0; + for(LegionActivityOrderStatistics statistics : auditStatusStatistics){ + if(EnumLegionActivityOrderStatus.AUDTING.getCode().equals(statistics.getAuditStatus())){ + audting = statistics.getCount(); + } else if (EnumLegionActivityOrderStatus.AUDI_SUCCESS.getCode().equals(statistics.getAuditStatus())) { + audi_success = statistics.getCount(); + } else if (EnumLegionActivityOrderStatus.AUDT_FAIL.getCode().equals(statistics.getAuditStatus())) { + audt_fail = statistics.getCount(); + } else if (EnumLegionActivityOrderStatus.INVALID.getCode().equals(statistics.getAuditStatus())) { + invalid = statistics.getCount(); + } + } + result.put("audting",audting); + result.put("audi_success",audi_success); + result.put("audt_fail",audt_fail); + result.put("invalid",invalid); + result.put("sum_count",audting+audi_success+audt_fail+invalid); + return result; + } + + @Override + public void exportData(HttpServletRequest request, HttpServletResponse response, WxLegionActivityOrder wxLegionActivityOrder) { + handlerQuery(wxLegionActivityOrder); + List list = wxLegionActivityOrderMapper.findList(wxLegionActivityOrder); + handlerList(wxLegionActivityOrder, list); + excelService.exportExcel(list, null, "军团活动订单列表", WxLegionActivityOrder.class, "军团活动订单列表.xlsx", response, false); + } + + @Override + public void auditRecord(WxLegionActivityOrder wxLegionActivityOrder, Long userId) { + Date now = new Date(); + wxLegionActivityOrder.setUpdateDate(now); + wxLegionActivityOrder.setAuditTime(now); + wxLegionActivityOrder.setAuditBy(userId); + wxLegionActivityOrderMapper.updateAuditStatus(wxLegionActivityOrder); + } + + @Override + public Map getActivityData(WxLegionActivityOrder wxLegionActivityOrder) { + WxLegionActivity activity = wxLegionActivityMapper.selectById(wxLegionActivityOrder.getActivityId(), wxLegionActivityOrder.getTenantId()); + if(activity == null){ + throw new MallinkException(Result.ERROR,"未查询到活动"); + } + return handleActivityData(activity,wxLegionActivityOrder.getLegionId()); + + } + + @Override + public Map handleActivityData(WxLegionActivity activity, Long legionId) { + Map result = new HashMap<>(); + + WxLegionActivityUser userQ = new WxLegionActivityUser(); + userQ.updateTenantInfo(activity); + userQ.setActivityId(activity.getId()); + userQ.setLegionId(legionId); + userQ.setStatus(EnumLegionActivityUserStatus.VALID.getCode()); + Integer userCount = wxLegionActivityUserMapper.selectCount(new QueryWrapper<>(userQ)); + result.put("userCount",userCount); + + WxLegionActivityOrder orderQ = new WxLegionActivityOrder(); + orderQ.updateTenantInfo(activity); + orderQ.setActivityId(activity.getId()); + orderQ.setLegionId(legionId); + orderQ.setAuditStatus(EnumLegionActivityOrderStatus.AUDI_SUCCESS.getCode()); + List orderTypeStatistics = wxLegionActivityOrderMapper.orderTypeStatistics(orderQ); + Integer sign_order = 0,dif_legion = 0,dif_union = 0,eq_union = 0,not_union = 0; + for(LegionActivityOrderTypeStatistics statistics : orderTypeStatistics){ + if(EnumLegionActivityOrderType.SIGN_ORDER.getCode().equals(statistics.getOrderType())){ + sign_order = statistics.getCount(); + }else if (EnumLegionActivityOrderType.DIF_LEGION.getCode().equals(statistics.getOrderType())){ + dif_legion = statistics.getCount(); + }else if(EnumLegionActivityOrderType.DIF_UNION.getCode().equals(statistics.getOrderType())){ + dif_union = statistics.getCount(); + }else if(EnumLegionActivityOrderType.EQ_UNION.getCode().equals(statistics.getOrderType())){ + eq_union = statistics.getCount(); + }else if(EnumLegionActivityOrderType.NOT_UNION.getCode().equals(statistics.getOrderType())){ + not_union = statistics.getCount(); + } + } + //签单=总订单数 + Integer order_count = sign_order+dif_legion+dif_union+eq_union+not_union; + result.put("orderCount",order_count); + //带单 + result.put("sellOrderCount",dif_legion+dif_union+eq_union+not_union); + result.put("difLegion",dif_legion); + result.put("eqUnion",eq_union); + result.put("difUnion",dif_union+not_union); + + Integer total_score = userCount*activity.getSellingCard()+order_count*activity.getSignOrder() + +dif_legion*activity.getDifLegionOrder()+dif_union*activity.getDifUnionOrder() + +eq_union*activity.getEqUnionOrder()+not_union*activity.getNotUnionOrder(); + result.put("totalScore",total_score); + return result; + } + + @Override + public List getActivityMerchantData(WxLegionActivityOrder wxLegionActivityOrder) { + WxLegionActivity activity = wxLegionActivityMapper.selectById(wxLegionActivityOrder.getActivityId(), wxLegionActivityOrder.getTenantId()); + if(activity == null){ + throw new MallinkException(Result.ERROR,"未查询到活动"); + } + + WxLegionActivityOrder orderQ = new WxLegionActivityOrder(); + orderQ.updateTenantInfo(activity); + orderQ.setActivityId(activity.getId()); + orderQ.setAuditStatus(EnumLegionActivityOrderStatus.AUDI_SUCCESS.getCode()); + List merchantStatistics = wxLegionActivityOrderMapper.merchantStatistics(orderQ); + if(merchantStatistics == null || merchantStatistics.isEmpty()){ + return Collections.emptyList(); + } + + List merchantIds = merchantStatistics.stream().map(LegionActivityOrderTypeStatistics::getMerchantId).filter(Objects::nonNull).distinct().collect(Collectors.toList()); + WxMerchant merchantQ = new WxMerchant(); + merchantQ.updateTenantInfo(activity); + merchantQ.setIds(merchantIds); + Map idAndNamesMap = wxMerchantService.getIdAndNamesMap(merchantQ); + Map merchantShopNumberMap = wxShopService.getMerchantShopNumberMap(activity, merchantIds, EnumYesOrNo.NO.getCode()); + + Map> merchantStatisticsMap = merchantStatistics.stream().collect(groupingBy(LegionActivityOrderTypeStatistics::getMerchantId)); + + WxLegionActivityUser userQ = new WxLegionActivityUser(); + userQ.updateTenantInfo(activity); + userQ.setActivityId(activity.getId()); + userQ.setStatus(EnumLegionActivityUserStatus.VALID.getCode()); + List merchantCountStatistics = wxLegionActivityUserMapper.merchantCountStatistics(userQ); + Map merchantCountStatisticsMap = merchantCountStatistics.stream().collect(Collectors.toMap(LegionActivityUserStatistics::getMerchantId, LegionActivityUserStatistics::getCount)); + + List merchantStatisticsList = new ArrayList<>(); + for (Long merchantId : merchantStatisticsMap.keySet()) { + LegionActivityMerchantStatistics merchantS = new LegionActivityMerchantStatistics(); + merchantS.setMerchantId(merchantId); + merchantS.setMerchantName(idAndNamesMap.get(merchantId)); + merchantS.setShopNumber(merchantShopNumberMap.get(merchantId)); + Integer userCount = merchantCountStatisticsMap.get(merchantId)==null?0:merchantCountStatisticsMap.get(merchantId); + merchantS.setUserCount(userCount); + Integer sign_order = 0,dif_legion = 0,dif_union = 0,eq_union = 0,not_union = 0; + for(LegionActivityOrderTypeStatistics statistics : merchantStatisticsMap.get(merchantId)){ + if(EnumLegionActivityOrderType.SIGN_ORDER.getCode().equals(statistics.getOrderType())){ + sign_order = statistics.getCount(); + }else if (EnumLegionActivityOrderType.DIF_LEGION.getCode().equals(statistics.getOrderType())){ + dif_legion = statistics.getCount(); + }else if(EnumLegionActivityOrderType.DIF_UNION.getCode().equals(statistics.getOrderType())){ + dif_union = statistics.getCount(); + }else if(EnumLegionActivityOrderType.EQ_UNION.getCode().equals(statistics.getOrderType())){ + eq_union = statistics.getCount(); + }else if(EnumLegionActivityOrderType.NOT_UNION.getCode().equals(statistics.getOrderType())){ + not_union = statistics.getCount(); + } + } + //签单=总订单数 + Integer order_count = sign_order+dif_legion+dif_union+eq_union+not_union; + merchantS.setOrderCount(order_count); + //带单 + merchantS.setSellOrderCount(dif_legion+dif_union+eq_union+not_union); + merchantS.setDifLegion(dif_legion); + merchantS.setEqUnion(eq_union); + merchantS.setDifUnion(dif_union+not_union); + + Integer total_score = userCount*activity.getSellingCard()+order_count*activity.getSignOrder() + +dif_legion*activity.getDifLegionOrder()+dif_union*activity.getDifUnionOrder() + +eq_union*activity.getEqUnionOrder()+not_union*activity.getNotUnionOrder(); + merchantS.setTotalScore(total_score); + + merchantStatisticsList.add(merchantS); + } + return merchantStatisticsList; + } + + @Override + public void exportActivityMerchantData(HttpServletRequest request, HttpServletResponse response, WxLegionActivityOrder wxLegionActivityOrder) { + List activityMerchantDate = getActivityMerchantData(wxLegionActivityOrder); + excelService.exportExcel(activityMerchantDate, null, "军团活动数据(门店)", LegionActivityMerchantStatistics.class, "军团活动数据(门店).xlsx", response, false); + } + + @Override + public List getActivitySellOrder(WxLegionActivityOrder wxLegionActivityOrder) { + WxLegionActivity activity = wxLegionActivityMapper.selectById(wxLegionActivityOrder.getActivityId(), wxLegionActivityOrder.getTenantId()); + if(activity == null){ + throw new MallinkException(Result.ERROR,"未查询到活动"); + } + if(wxLegionActivityOrder.getLegionType() == null){ + wxLegionActivityOrder.setLegionType(EnumLegionActivityOrderLegionType.EQ_LEGION.getCode()); + } + if(EnumLegionActivityOrderLegionType.EQ_LEGION.getCode().equals(wxLegionActivityOrder.getLegionType())){ + wxLegionActivityOrder.setOrderTypeList(EnumLegionActivityOrderType.getEqLegion()); + }else{ + wxLegionActivityOrder.setLegionType(EnumLegionActivityOrderLegionType.DIF_LEGION.getCode()); + wxLegionActivityOrder.setOrderType(EnumLegionActivityOrderType.DIF_LEGION.getCode()); + } + wxLegionActivityOrder.setAuditStatus(EnumLegionActivityOrderStatus.AUDI_SUCCESS.getCode()); + List sellOrderList = wxLegionActivityOrderMapper.findOrderUser(wxLegionActivityOrder); + if(sellOrderList == null || sellOrderList.isEmpty()){ + return sellOrderList; + } + List merchantIds = sellOrderList.stream().flatMap(sellOrder -> Arrays.stream(new Long[]{sellOrder.getCusMerchantId(), sellOrder.getOrderMerchantId()})).distinct().collect(Collectors.toList()); +// List merchantIds = sellOrderList.stream().map(LegionActivitySellOrder::getOrderMerchantId).filter(Objects::nonNull).distinct().collect(Collectors.toList()); + WxMerchant merchantQ = new WxMerchant(); + merchantQ.updateTenantInfo(activity); + merchantQ.setIds(merchantIds); + Map idAndNamesMap = wxMerchantService.getIdAndNamesMap(merchantQ); + Map merchantShopNumberMap = wxShopService.getMerchantShopNumberMap(activity, merchantIds, EnumYesOrNo.NO.getCode()); + + WxLegionActivityConfig legionConfigQ = new WxLegionActivityConfig(); + legionConfigQ.updateTenantInfo(wxLegionActivityOrder); + legionConfigQ.setActivityId(wxLegionActivityOrder.getActivityId()); + Map legionConfigMap = wxLegionActivityConfigService.getLegionConfigMap(legionConfigQ); + + for (LegionActivitySellOrder sellOrder : sellOrderList) { + sellOrder.setCusMerchantName(idAndNamesMap.get(sellOrder.getCusMerchantId())); + sellOrder.setCusShopNumber(merchantShopNumberMap.get(sellOrder.getCusMerchantId())); + if(sellOrder.getCusLegionId().equals(0L)){ + sellOrder.setCusLegionName("未参加活动"); + }else{ + sellOrder.setCusLegionName(legionConfigMap.get(sellOrder.getCusLegionId())); + } + sellOrder.setOrderMerchantName(idAndNamesMap.get(sellOrder.getOrderMerchantId())); + sellOrder.setOrderShopNumber(merchantShopNumberMap.get(sellOrder.getOrderMerchantId())); + if(sellOrder.getOrderLegionId().equals(0L)){ + sellOrder.setOrderLegionName("未参加活动"); + }else{ + sellOrder.setOrderLegionName(legionConfigMap.get(sellOrder.getOrderLegionId())); + } + + if(EnumLegionActivityOrderType.DIF_LEGION.getCode().equals(sellOrder.getOrderType())){ + sellOrder.setScore(activity.getDifLegionOrder()); + } else if(EnumLegionActivityOrderType.DIF_UNION.getCode().equals(sellOrder.getOrderType())) { + sellOrder.setScore(activity.getDifUnionOrder()); + } else if (EnumLegionActivityOrderType.EQ_UNION.getCode().equals(sellOrder.getOrderType())) { + sellOrder.setScore(activity.getEqUnionOrder()); + } else if (EnumLegionActivityOrderType.NOT_UNION.getCode().equals(sellOrder.getOrderType())) { + sellOrder.setScore(activity.getNotUnionOrder()); + } + } + + return sellOrderList; + } + + @Override + public void exportActivitySellOrder(HttpServletRequest request, HttpServletResponse response, WxLegionActivityOrder wxLegionActivityOrder) { + List activitySellOrder = getActivitySellOrder(wxLegionActivityOrder); + String legionTypeStr = EnumLegionActivityOrderLegionType.getEnum(wxLegionActivityOrder.getLegionType()).getMessage(); + excelService.exportExcel(activitySellOrder, null, "军团带单数据("+legionTypeStr+")", LegionActivitySellOrder.class, "军团带单数据("+legionTypeStr+").xlsx", response, false); + + } +} + + + + diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxLegionActivityServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxLegionActivityServiceImpl.java new file mode 100644 index 000000000..55af6a8a8 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxLegionActivityServiceImpl.java @@ -0,0 +1,245 @@ +package com.iformall.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import com.iformall.common.IdWorker; +import com.iformall.common.Result; +import com.iformall.domain.po.*; +import com.iformall.domain.po.base.TenantEntity; +import com.iformall.enums.*; +import com.iformall.exception.MallinkException; +import com.iformall.mapper.*; +import com.iformall.service.*; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import java.util.stream.Collectors; + +/** +* @author xiaohu +* @description 针对表【wx_legion_activity(军团活动)】的数据库操作Service实现 +* @createDate 2024-08-23 21:31:17 +*/ +@Service +public class WxLegionActivityServiceImpl implements WxLegionActivityService{ + + @Autowired + private WxLegionActivityMapper wxLegionActivityMapper; + + @Autowired + private WxLegionActivityConfigMapper wxLegionActivityConfigMapper; + + @Autowired + private WxLegionActivityMerchantConfigMapper wxLegionActivityMerchantConfigMapper; + + @Autowired + private WxLegionActivityConfigService wxLegionActivityConfigService; + + @Autowired + private WxLegionActivityUserMapper wxLegionActivityUserMapper; + + @Autowired + private WxLegionActivityOrderMapper wxLegionActivityOrderMapper; + + @Autowired + private WxLegionActivityMerchantConfigService wxLegionActivityMerchantConfigService; + + @Autowired + private WxLegionActivityOrderService wxLegionActivityOrderService; + + @Autowired + private WxMerchantService wxMerchantService; + + @Override + public PageInfo listAsPage(WxLegionActivity record, boolean needCount, Integer pageNum, Integer pageSize) { + handlerQuery(record); + PageInfo activityPageInfo = PageHelper.startPage(pageNum, pageSize).doSelectPageInfo(() -> wxLegionActivityMapper.findList(record)); + handlerList(record,activityPageInfo.getList(),needCount); + return activityPageInfo; + } + + private void handlerQuery(WxLegionActivity record) { + if (null != record.getStatus()) { + //已上架 + if(EnumLegionActivityStatus.ON_LINE.getCode().equals(record.getStatus())){ + record.setValidStatus(EnumYesOrNo.NO.getCode()); + } + //未上架 + if(EnumLegionActivityStatus.OFF_LINE.getCode().equals(record.getStatus())){ + record.setStatus(null); + List offLine = EnumLegionActivityStatus.getOffLine(); + if(record.getStatusList() != null && !record.getStatusList().isEmpty()){ + offLine.retainAll(record.getStatusList()); + } + record.setStatusList(offLine); + } + //已过期 + else if(EnumLegionActivityStatus.EXPIRE.getCode().equals(record.getStatus())){ + record.setStatus(null); + record.setValidStatus(EnumYesOrNo.YES.getCode()); + } + } + } + + private void handlerList(TenantEntity tenantEntity,List list, boolean needCount) { + if(list == null || list.isEmpty()){ + return; + } + List ids = list.stream().map(WxLegionActivity::getId).collect(Collectors.toList()); + WxLegionActivityConfig legionConfigQ = new WxLegionActivityConfig(); + legionConfigQ.updateTenantInfo(tenantEntity); + legionConfigQ.setActivityIdList(ids); + legionConfigQ.setParentId(0L); + Map legionCountMap = wxLegionActivityConfigService.findLegionCount(legionConfigQ); + WxLegionActivityMerchantConfig merchantConfigQ = new WxLegionActivityMerchantConfig(); + merchantConfigQ.updateTenantInfo(tenantEntity); + merchantConfigQ.setActivityIdList(ids); + Map merchantCountMap = wxLegionActivityMerchantConfigService.findMerchantCount(merchantConfigQ); + + Date now = new Date(); + for (WxLegionActivity activity : list) { + if(now.after(activity.getEndTime())){ + activity.setStatus(EnumOfflineActivityStatus.EXPIRE.getCode()); + } + activity.setLegionCount(legionCountMap.get(activity.getId())==null?0:legionCountMap.get(activity.getId())); + activity.setMerchantCount(merchantCountMap.get(activity.getId())==null?0:merchantCountMap.get(activity.getId())); + //处理数量 + if(needCount){ + activity.setActivityData(wxLegionActivityOrderService.handleActivityData(activity,null)); + } + } + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void saveOrUpdate(WxLegionActivity wxLegionActivity) { + Date now = new Date(); + if(wxLegionActivity.getSellingCard() == null){ + wxLegionActivity.setSellingCard(0); + } + if(wxLegionActivity.getSignOrder() == null){ + wxLegionActivity.setSignOrder(0); + } + if(wxLegionActivity.getDifLegionOrder() == null){ + wxLegionActivity.setDifLegionOrder(0); + } + if(wxLegionActivity.getDifUnionOrder() == null){ + wxLegionActivity.setDifUnionOrder(0); + } + if(wxLegionActivity.getEqUnionOrder() == null){ + wxLegionActivity.setEqUnionOrder(0); + } + if(wxLegionActivity.getNotUnionOrder() == null){ + wxLegionActivity.setNotUnionOrder(0); + } + if(wxLegionActivity.getId() == null){ + final IdWorker idWorker = IdWorker.get(); + wxLegionActivity.setId(idWorker.nextId()); + wxLegionActivity.setCreateDate(now); + wxLegionActivity.setCreateDate(now); + wxLegionActivity.setStatus(EnumLegionActivityStatus.DRAFT.getCode()); + wxLegionActivityMapper.insert(wxLegionActivity); + } + else{ + WxLegionActivity activity = wxLegionActivityMapper.selectById(wxLegionActivity.getId(), wxLegionActivity.getTenantId()); + if(!EnumLegionActivityStatus.DRAFT.getCode().equals(activity.getStatus())){ + throw new MallinkException(Result.ERROR,"活动状态不允许修改"); + } + wxLegionActivity.setUpdateDate(now); + wxLegionActivityMapper.updateById(wxLegionActivity); + } + //处理军团配置 + wxLegionActivityConfigService.handleLegionConfig(wxLegionActivity); + + } + + @Override + public void updateStatus(WxLegionActivity wxLegionActivity) { + wxLegionActivityMapper.updateStatus(wxLegionActivity); + } + + @Override + public WxLegionActivity getInfoById(Long id, String tenantId) { + WxLegionActivity activity = wxLegionActivityMapper.selectById(id, tenantId); + if(activity == null){ + return activity; + } + //获取军团配置 + WxLegionActivityConfig legionConfigQ = new WxLegionActivityConfig(); + legionConfigQ.updateTenantInfo(activity); + legionConfigQ.setActivityId(activity.getId()); + List legionConfigList = wxLegionActivityConfigMapper.findList(legionConfigQ); + if(legionConfigList == null || legionConfigList.isEmpty()){ + return activity; + } + Map> legionConfigMap = legionConfigList.stream().collect(Collectors.groupingBy(WxLegionActivityConfig::getParentId)); + //获取商户配置 + Map> merchantConfigMap = new HashMap<>(); + WxLegionActivityMerchantConfig merchantConfigQ = new WxLegionActivityMerchantConfig(); + merchantConfigQ.updateTenantInfo(activity); + merchantConfigQ.setActivityId(activity.getId()); + List merchantConfigList = wxLegionActivityMerchantConfigMapper.findList(merchantConfigQ); + if(merchantConfigList != null && !merchantConfigList.isEmpty()){ + List merchantIds = merchantConfigList.stream().map(WxLegionActivityMerchantConfig::getMerchantId).filter(Objects::nonNull).collect(Collectors.toList()); + WxMerchant merchantQ = new WxMerchant(); + merchantQ.updateTenantInfo(activity); + merchantQ.setIds(merchantIds); + Map merchantMap = wxMerchantService.findMerchantMap(merchantQ); + for(WxLegionActivityMerchantConfig merchantConfig : merchantConfigList){ + WxMerchant merchant = merchantMap.get(merchantConfig.getMerchantId()); + if(merchant != null){ + merchantConfig.setMerchantName(merchant.getName()); + merchantConfig.setMerchantPhone(merchant.getLinkPhone()); + } + } + merchantConfigMap = merchantConfigList.stream().collect(Collectors.groupingBy(WxLegionActivityMerchantConfig::getLegionId)); + } + List legionList = legionConfigMap.get(0L); + activity.setLegionList(legionList); + for(WxLegionActivityConfig legion : activity.getLegionList()){ + legion.setUnionList(legionConfigMap.get(legion.getId())); + legion.setMerchantList(merchantConfigMap.get(legion.getId())); + } + return activity; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delMerchant(WxLegionActivity wxLegionActivity) { + WxLegionActivityMerchantConfig merchantConfigQ = new WxLegionActivityMerchantConfig(); + merchantConfigQ.updateTenantInfo(wxLegionActivity); + merchantConfigQ.setActivityId(wxLegionActivity.getId()); + merchantConfigQ.setIds(wxLegionActivity.getMerchantConfigIdList()); + List delList = wxLegionActivityMerchantConfigMapper.findList(merchantConfigQ); + if(delList == null || delList.isEmpty()){ + throw new MallinkException(Result.ERROR,"未查询到数据"); + } + List merchantIds = delList.stream().map(WxLegionActivityMerchantConfig::getMerchantId).collect(Collectors.toList()); + wxLegionActivityMerchantConfigMapper.deleteByIds(merchantConfigQ); + + Date now = new Date(); + WxLegionActivityUser activityUser = new WxLegionActivityUser(); + activityUser.updateTenantInfo(wxLegionActivity); + activityUser.setActivityId(wxLegionActivity.getId()); + activityUser.setMerchantIdList(merchantIds); + activityUser.setStatus(EnumLegionActivityUserStatus.INVALID.getCode()); + activityUser.setUpdateDate(now); + wxLegionActivityUserMapper.updateStatus(activityUser); + + WxLegionActivityOrder activityOrder = new WxLegionActivityOrder(); + activityOrder.updateTenantInfo(wxLegionActivity); + activityOrder.setActivityId(wxLegionActivity.getId()); + activityOrder.setMerchantIdList(merchantIds); + activityOrder.setAuditStatus(EnumLegionActivityOrderStatus.INVALID.getCode()); + activityOrder.setUpdateDate(now); + wxLegionActivityOrderMapper.updateAuditStatus(activityOrder); + + } +} + + + + diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxLegionActivityUserServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxLegionActivityUserServiceImpl.java new file mode 100644 index 000000000..9fd5a7399 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxLegionActivityUserServiceImpl.java @@ -0,0 +1,126 @@ +package com.iformall.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +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.enums.EnumLegionActivityOrderStatus; +import com.iformall.enums.EnumLegionActivityUserStatus; +import com.iformall.exception.MallinkException; +import com.iformall.mapper.WxLegionActivityMerchantConfigMapper; +import com.iformall.service.WxLegionActivityUserService; +import com.iformall.mapper.WxLegionActivityUserMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.*; +import java.util.function.Function; +import java.util.stream.Collectors; + +/** +* @author xiaohu +* @description 针对表【wx_legion_activity_user(军团活动用户)】的数据库操作Service实现 +* @createDate 2024-08-23 21:31:17 +*/ +@Service +public class WxLegionActivityUserServiceImpl implements WxLegionActivityUserService{ + + @Autowired + private WxLegionActivityUserMapper wxLegionActivityUserMapper; + + @Autowired + private WxLegionActivityMerchantConfigMapper wxLegionActivityMerchantConfigMapper; + + @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()); + return recordPageInfo; + } + + private void handlerQuery(WxLegionActivityUser wxLegionActivityUser) { + + } + + private void handlerList(List wxLegionActivityUsers) { + if(wxLegionActivityUsers == null || wxLegionActivityUsers.isEmpty()) { + return; + } + } + + @Override + public void saveOrUpdate(WxLegionActivityUser wxLegionActivityUser) { + WxLegionActivityUser userQ = new WxLegionActivityUser(); + userQ.updateTenantInfo(wxLegionActivityUser); + userQ.setActivityId(wxLegionActivityUser.getActivityId()); + userQ.setPhone(wxLegionActivityUser.getPhone()); + userQ.setStatus(EnumLegionActivityUserStatus.VALID.getCode()); + WxLegionActivityUser user = this.selectOne(userQ); + if(user != null) { + if(wxLegionActivityUser.getId() == null){ + throw new MallinkException(Result.ERROR,"该用户已绑定"); + } + if(!wxLegionActivityUser.getId().equals(user.getId())){ + throw new MallinkException(Result.ERROR,"该用户已绑定"); + } + } + + WxLegionActivityMerchantConfig merchantConfigQuery = new WxLegionActivityMerchantConfig(); + merchantConfigQuery.updateTenantInfo(wxLegionActivityUser); + merchantConfigQuery.setActivityId(wxLegionActivityUser.getActivityId()); + merchantConfigQuery.setMerchantId(wxLegionActivityUser.getMerchantId()); + WxLegionActivityMerchantConfig merchantConfig = wxLegionActivityMerchantConfigMapper.selectOne(new QueryWrapper<>(merchantConfigQuery)); + if(merchantConfig != null){ + wxLegionActivityUser.setLegionId(merchantConfig.getLegionId()); + wxLegionActivityUser.setUnionId(merchantConfig.getUnionId()); + }else{ + wxLegionActivityUser.setLegionId(0L); + wxLegionActivityUser.setUnionId(0L); + } + + Date now = new Date(); + if(wxLegionActivityUser.getId() == null){ + final IdWorker idWorker = IdWorker.get(); + wxLegionActivityUser.setId(idWorker.nextId()); + wxLegionActivityUser.setCreateDate(now); + wxLegionActivityUser.setUpdateDate(now); + wxLegionActivityUser.setStatus(EnumLegionActivityUserStatus.VALID.getCode()); + wxLegionActivityUserMapper.insert(wxLegionActivityUser); + } + else{ + wxLegionActivityUser.setUpdateDate(now); + wxLegionActivityUserMapper.updateById(wxLegionActivityUser); + } + } + + @Override + public WxLegionActivityUser getById(Long id, String tenantId) { + return wxLegionActivityUserMapper.selectById(id,tenantId); + } + + @Override + public WxLegionActivityUser selectOne(WxLegionActivityUser wxLegionActivityUser) { + return wxLegionActivityUserMapper.selectOne(new QueryWrapper<>(wxLegionActivityUser)); + } + + @Override + public Map findUserMap(WxLegionActivityUser wxLegionActivityUser) { + Map userMap = new HashMap<>(); + List list = wxLegionActivityUserMapper.findList(wxLegionActivityUser); + if(!list.isEmpty()){ + userMap = list.stream().collect(Collectors.toMap(WxLegionActivityUser::getId, Function.identity())); + } + return userMap; + } +} + + + + diff --git a/mallinkService/src/main/resources/mapper/WxLegionActivityConfigMapper.xml b/mallinkService/src/main/resources/mapper/WxLegionActivityConfigMapper.xml new file mode 100644 index 000000000..3a904c8ca --- /dev/null +++ b/mallinkService/src/main/resources/mapper/WxLegionActivityConfigMapper.xml @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + id,tenant_id,parent_tenant_id, + activity_id,parent_id,`name`, + create_date,update_date + + + + where 1 = 1 + + + and `id` = #{id} + + + + and `tenant_id` = #{tenantId} + + + and `parent_tenant_id` = #{parentTenantId} + + + and `activity_id` = #{activityId} + + + and `parent_id` = #{parentId} + + + + and `name` like concat('%', #{name},'%') + + + + and id in + + #{idItem} + + + order by ${sortColumns} + + + + + + delete from wx_legion_activity_config + where `activity_id` = #{activityId} + + and `tenant_id` = #{tenantId} + + + + + insert into wx_legion_activity_config + (id, + activity_id,parent_id,`name`, + create_date,update_date) + values + + (#{item.id,jdbcType=BIGINT}, + #{item.activityId,jdbcType=BIGINT},#{item.parentId,jdbcType=BIGINT},#{item.name,jdbcType=VARCHAR}, + #{item.createDate,jdbcType=TIMESTAMP},#{item.updateDate,jdbcType=TIMESTAMP}) + + + + + + diff --git a/mallinkService/src/main/resources/mapper/WxLegionActivityMapper.xml b/mallinkService/src/main/resources/mapper/WxLegionActivityMapper.xml new file mode 100644 index 000000000..ba59eff4f --- /dev/null +++ b/mallinkService/src/main/resources/mapper/WxLegionActivityMapper.xml @@ -0,0 +1,115 @@ + + + + + + + + + + + + + + + + + + + + + + + + id,tenant_id,parent_tenant_id, + `name`,start_time,end_time, + selling_card,sign_order,dif_legion_order, + dif_union_order,eq_union_order,not_union_order, + status,create_date,update_date + + + + where 1 = 1 + + + and `id` = #{id} + + + + and `tenant_id` = #{tenantId} + + + and `parent_tenant_id` = #{parentTenantId} + + + + and `start_time` >= #{begin} + + + + and `end_time` <= #{end} + + + + + and end_time >= now() + + + + + and end_time <= now() + + + + and `name` like concat('%', #{name},'%') + + + + and `status` = #{status} + + + + and `status` in + + #{statusItem} + + + + + and id in + + #{idItem} + + + order by ${sortColumns} + + + + + + + + + + update wx_legion_activity + set `status` = #{status}, + `update_date` = #{updateDate} + where id=#{id} + + and `tenant_id` = #{tenantId} + + + and `parent_tenant_id` = #{parentTenantId} + + + diff --git a/mallinkService/src/main/resources/mapper/WxLegionActivityMerchantConfigMapper.xml b/mallinkService/src/main/resources/mapper/WxLegionActivityMerchantConfigMapper.xml new file mode 100644 index 000000000..6177fa190 --- /dev/null +++ b/mallinkService/src/main/resources/mapper/WxLegionActivityMerchantConfigMapper.xml @@ -0,0 +1,122 @@ + + + + + + + + + + + + + + + + + + id,tenant_id,parent_tenant_id, + activity_id,legion_id,merchant_id, + union_id,create_date,update_date + + + + where 1 = 1 + + + and `id` = #{id} + + + + and `tenant_id` = #{tenantId} + + + and `parent_tenant_id` = #{parentTenantId} + + + and `activity_id` = #{activityId} + + + and `legion_id` = #{legionId} + + + and `merchant_id` = #{merchantId} + + + and `union_id` = #{unionId} + + + + and id in + + #{idItem} + + + order by ${sortColumns} + + + + + + delete from wx_legion_activity_merchant_config + where `activity_id` = #{activityId} + + and `tenant_id` = #{tenantId} + + + + + insert into wx_legion_activity_merchant_config + (id, + activity_id,legion_id,merchant_id, + union_id,create_date,update_date) + values + + (#{item.id,jdbcType=BIGINT}, + #{item.activityId,jdbcType=BIGINT},#{item.legionId,jdbcType=BIGINT},#{item.merchantId,jdbcType=BIGINT}, + #{item.unionId,jdbcType=BIGINT},#{item.createDate,jdbcType=TIMESTAMP},#{item.updateDate,jdbcType=TIMESTAMP}) + + + + + + + delete from wx_legion_activity_merchant_config + where `activity_id` = #{activityId} + + and `tenant_id` = #{tenantId} + + + and id in + + #{idItem} + + + + diff --git a/mallinkService/src/main/resources/mapper/WxLegionActivityOrderMapper.xml b/mallinkService/src/main/resources/mapper/WxLegionActivityOrderMapper.xml new file mode 100644 index 000000000..d4a0d213e --- /dev/null +++ b/mallinkService/src/main/resources/mapper/WxLegionActivityOrderMapper.xml @@ -0,0 +1,303 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id,tenant_id,parent_tenant_id, + activity_id,order_no,order_money, + cus_id,cus_name,cus_address, + merchant_id,legion_id,union_id, + order_type,create_by,create_date, + update_date,audit_remark,audit_status, + audit_by,audit_time + + + + where 1 = 1 + + + and `id` = #{id} + + + and `tenant_id` = #{tenantId} + + + and `parent_tenant_id` = #{parentTenantId} + + + and `activity_id` = #{activityId} + + + and `order_no` like concat('%', #{orderNo},'%') + + + and `cus_id` = #{cusId} + + + and `cus_name` like concat('%', #{cusName},'%') + + + and `merchant_id` = #{merchantId} + + + and `legion_id` = #{legionId} + + + and `union_id` = #{unionId} + + + and `order_type` = #{orderType} + + + + and `create_date` >= #{createDateBegin} + + + + and `create_date` <= #{createDateEnd} + + + + and `audit_time` >= #{auditTimeBegin} + + + + and `audit_time` <= #{auditTimeEnd} + + + + and `audit_status` = #{auditStatus} + + + + and order_type in + + #{otyItem} + + + + + and cus_id in + + #{cidItem} + + + + + and merchant_id in + + #{midItem} + + + + + and id in + + #{idItem} + + + order by ${sortColumns} + + + + + + + + + update wx_legion_activity_order + set `audit_status` = #{auditStatus}, + + + `audit_remark` = #{auditRemark}, + + + `audit_time` = #{auditTime}, + + + `audit_by` = #{auditBy}, + + `update_date` = #{updateDate} + where 1 = 1 + + and `id` = #{id} + + + and `tenant_id` = #{tenantId} + + + and `parent_tenant_id` = #{parentTenantId} + + + and `activity_id` = #{activityId} + + + and merchant_id in + + #{midItem} + + + + + + + + + + + + + + diff --git a/mallinkService/src/main/resources/mapper/WxLegionActivityUserMapper.xml b/mallinkService/src/main/resources/mapper/WxLegionActivityUserMapper.xml new file mode 100644 index 000000000..d2492fb03 --- /dev/null +++ b/mallinkService/src/main/resources/mapper/WxLegionActivityUserMapper.xml @@ -0,0 +1,167 @@ + + + + + + + + + + + + + + + + + + + + + + + + id,tenant_id,parent_tenant_id, + activity_id,phone,`name`, + address,vip_num,merchant_id, + legion_id,union_id,status,create_by, + create_date,update_date + + + + where 1 = 1 + + + and `id` = #{id} + + + and `tenant_id` = #{tenantId} + + + and `parent_tenant_id` = #{parentTenantId} + + + and `activity_id` = #{activityId} + + + and `phone` like concat('%', #{phone},'%') + + + and `name` like concat('%', #{name},'%') + + + and `vip_num` like concat('%', #{vipNum},'%') + + + and `merchant_id` = #{merchantId} + + + and `legion_id` = #{legionId} + + + and `union_id` = #{unionId} + + + + + and `create_date` >= #{createDateBegin} + + + + and `create_date` <= #{createDateEnd} + + + + and `status` = #{status} + + + + and merchant_id in + + #{midItem} + + + + + and id in + + #{idItem} + + + order by ${sortColumns} + + + + + + + + + + + + + update wx_legion_activity_user + set `status` = #{Status}, + `update_date` = #{updateDate} + where 1 = 1 + + and `id` = #{id} + + + and `tenant_id` = #{tenantId} + + + and `parent_tenant_id` = #{parentTenantId} + + + and `activity_id` = #{activityId} + + + and merchant_id in + + #{midItem} + + + + From 2b4c8cb3c775df41b173351bf0c19ff243bc841e Mon Sep 17 00:00:00 2001 From: xiaohu <1901900812@qq.com> Date: Mon, 26 Aug 2024 20:06:10 +0800 Subject: [PATCH 3/7] //LegionActivity --- .../market/WxLegionActivityController.java | 3 +- .../WxLegionActivityController.java | 4 ++- .../iformall/domain/po/WxLegionActivity.java | 9 ++++++ .../service/WxLegionActivityService.java | 2 +- .../impl/WxLegionActivityServiceImpl.java | 29 +++++++++++++++---- 5 files changed, 38 insertions(+), 9 deletions(-) diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxLegionActivityController.java b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxLegionActivityController.java index 3a873bdd2..99f5cd484 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxLegionActivityController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxLegionActivityController.java @@ -57,7 +57,8 @@ public class WxLegionActivityController extends BaseController { TenantEntity tenantInfo = getTenantInfo(); wxLegionActivity.updateTenantInfo(tenantInfo); wxLegionActivity.setSortColumns(SortField.CreateDate_DESC); - final PageInfo page = wxLegionActivityService.listAsPage(wxLegionActivity,true, pageNum, pageSize); + wxLegionActivity.setNeedCount(true); + final PageInfo page = wxLegionActivityService.listAsPage(wxLegionActivity, pageNum, pageSize); return new ResultData(page); } diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxLegionActivityController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxLegionActivityController.java index e09a10b97..e9f42c902 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxLegionActivityController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxLegionActivityController.java @@ -48,7 +48,9 @@ public class WxLegionActivityController extends BaseController { wxLegionActivity.updateTenantInfo(tenantInfo); wxLegionActivity.setStatusList(EnumLegionActivityStatus.getLine()); wxLegionActivity.setSortColumns(SortField.CreateDate_DESC); - final PageInfo page = wxLegionActivityService.listAsPage(wxLegionActivity, false,pageNum, pageSize); + wxLegionActivity.setNeedCount(false); + wxLegionActivity.setMerchantId(getLoginBUser().getMerchantId()); + final PageInfo page = wxLegionActivityService.listAsPage(wxLegionActivity,pageNum, pageSize); return new ResultData(page); } diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxLegionActivity.java b/mallinkService/src/main/java/com/iformall/domain/po/WxLegionActivity.java index ec332126e..75006dd92 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxLegionActivity.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxLegionActivity.java @@ -145,4 +145,13 @@ public class WxLegionActivity extends TenantEntity { @TableField(exist = false) private Map activityData; + @TableField(exist = false) + private boolean needCount; + + @TableField(exist = false) + private Long merchantId; + @TableField(exist = false) + private String legionName; + @TableField(exist = false) + private String unionName; } \ No newline at end of file diff --git a/mallinkService/src/main/java/com/iformall/service/WxLegionActivityService.java b/mallinkService/src/main/java/com/iformall/service/WxLegionActivityService.java index 1e3183bd6..f1ba33acf 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxLegionActivityService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxLegionActivityService.java @@ -12,7 +12,7 @@ import com.iformall.domain.po.WxOfflineActivity; */ public interface WxLegionActivityService { - PageInfo listAsPage(WxLegionActivity wxLegionActivity, boolean needCount, Integer pageNum, Integer pageSize); + PageInfo listAsPage(WxLegionActivity wxLegionActivity, Integer pageNum, Integer pageSize); void saveOrUpdate(WxLegionActivity wxLegionActivity); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxLegionActivityServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxLegionActivityServiceImpl.java index 55af6a8a8..fb45888da 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxLegionActivityServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxLegionActivityServiceImpl.java @@ -1,5 +1,6 @@ package com.iformall.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; @@ -54,10 +55,10 @@ public class WxLegionActivityServiceImpl implements WxLegionActivityService{ private WxMerchantService wxMerchantService; @Override - public PageInfo listAsPage(WxLegionActivity record, boolean needCount, Integer pageNum, Integer pageSize) { + public PageInfo listAsPage(WxLegionActivity record, Integer pageNum, Integer pageSize) { handlerQuery(record); PageInfo activityPageInfo = PageHelper.startPage(pageNum, pageSize).doSelectPageInfo(() -> wxLegionActivityMapper.findList(record)); - handlerList(record,activityPageInfo.getList(),needCount); + handlerList(record,activityPageInfo.getList()); return activityPageInfo; } @@ -84,18 +85,19 @@ public class WxLegionActivityServiceImpl implements WxLegionActivityService{ } } - private void handlerList(TenantEntity tenantEntity,List list, boolean needCount) { + private void handlerList(WxLegionActivity record,List list) { if(list == null || list.isEmpty()){ return; } List ids = list.stream().map(WxLegionActivity::getId).collect(Collectors.toList()); WxLegionActivityConfig legionConfigQ = new WxLegionActivityConfig(); - legionConfigQ.updateTenantInfo(tenantEntity); + legionConfigQ.updateTenantInfo(record); legionConfigQ.setActivityIdList(ids); + Map legionConfigMap = wxLegionActivityConfigService.getLegionConfigMap(legionConfigQ); legionConfigQ.setParentId(0L); Map legionCountMap = wxLegionActivityConfigService.findLegionCount(legionConfigQ); WxLegionActivityMerchantConfig merchantConfigQ = new WxLegionActivityMerchantConfig(); - merchantConfigQ.updateTenantInfo(tenantEntity); + merchantConfigQ.updateTenantInfo(record); merchantConfigQ.setActivityIdList(ids); Map merchantCountMap = wxLegionActivityMerchantConfigService.findMerchantCount(merchantConfigQ); @@ -107,9 +109,24 @@ public class WxLegionActivityServiceImpl implements WxLegionActivityService{ activity.setLegionCount(legionCountMap.get(activity.getId())==null?0:legionCountMap.get(activity.getId())); activity.setMerchantCount(merchantCountMap.get(activity.getId())==null?0:merchantCountMap.get(activity.getId())); //处理数量 - if(needCount){ + if(record.isNeedCount()){ activity.setActivityData(wxLegionActivityOrderService.handleActivityData(activity,null)); } + //处理商户所属 + if(record.getMerchantId() != null){ + WxLegionActivityMerchantConfig merchantQ = new WxLegionActivityMerchantConfig(); + merchantQ.updateTenantInfo(activity); + merchantQ.setActivityId(activity.getId()); + merchantQ.setMerchantId(record.getMerchantId()); + WxLegionActivityMerchantConfig merchantConfig = wxLegionActivityMerchantConfigMapper.selectOne(new QueryWrapper<>(merchantQ)); + if(merchantConfig == null || merchantConfig.getLegionId().equals(0L)){ + activity.setLegionName("无军团"); + activity.setUnionName("无联盟"); + }else{ + activity.setLegionName(legionConfigMap.get(merchantConfig.getLegionId())); + activity.setUnionName(merchantConfig.getUnionId().equals(0L)?"无联盟":legionConfigMap.get(merchantConfig.getUnionId())); + } + } } } From 803716b71d13f5a0fc23c2aa1fde9d08675a77b3 Mon Sep 17 00:00:00 2001 From: xiaohu <1901900812@qq.com> Date: Tue, 27 Aug 2024 23:33:53 +0800 Subject: [PATCH 4/7] //LegionActivity --- .../java/com/iformall/domain/po/WxLegionActivity.java | 4 ++-- .../service/impl/WxLegionActivityServiceImpl.java | 11 ++++++++--- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxLegionActivity.java b/mallinkService/src/main/java/com/iformall/domain/po/WxLegionActivity.java index 75006dd92..b9cba2f2b 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxLegionActivity.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxLegionActivity.java @@ -94,9 +94,9 @@ public class WxLegionActivity extends TenantEntity { private Integer notUnionOrder; /** - * 状态(0:未上架 1:已上架) + * 状态 */ - @io.swagger.annotations.ApiModelProperty(value="状态(0:草稿 1:已上架 2:已下架 3:已过期)",name="status") + @io.swagger.annotations.ApiModelProperty(value="状态(0:草稿 1:已上架 2:已下架 3:已过期 4:未开始)",name="status") @TableField(value = "status") private Integer status; diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxLegionActivityServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxLegionActivityServiceImpl.java index fb45888da..6b8f03baa 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxLegionActivityServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxLegionActivityServiceImpl.java @@ -79,7 +79,7 @@ public class WxLegionActivityServiceImpl implements WxLegionActivityService{ } //已过期 else if(EnumLegionActivityStatus.EXPIRE.getCode().equals(record.getStatus())){ - record.setStatus(null); + record.setStatus(EnumLegionActivityStatus.ON_LINE.getCode()); record.setValidStatus(EnumYesOrNo.YES.getCode()); } } @@ -103,8 +103,13 @@ public class WxLegionActivityServiceImpl implements WxLegionActivityService{ Date now = new Date(); for (WxLegionActivity activity : list) { - if(now.after(activity.getEndTime())){ - activity.setStatus(EnumOfflineActivityStatus.EXPIRE.getCode()); + if(EnumLegionActivityStatus.ON_LINE.getCode().equals(activity.getStatus())){ + if(now.before(activity.getStartTime())){ + activity.setStatus(EnumLegionActivityStatus.NOT_START.getCode()); + } + if(now.after(activity.getEndTime())){ + activity.setStatus(EnumLegionActivityStatus.EXPIRE.getCode()); + } } activity.setLegionCount(legionCountMap.get(activity.getId())==null?0:legionCountMap.get(activity.getId())); activity.setMerchantCount(merchantCountMap.get(activity.getId())==null?0:merchantCountMap.get(activity.getId())); From c6d72edd1d11809d39fedc3a42c2f0b0f9657a11 Mon Sep 17 00:00:00 2001 From: xiaohu <1901900812@qq.com> Date: Tue, 27 Aug 2024 23:34:58 +0800 Subject: [PATCH 5/7] //LegionActivity --- .../main/java/com/iformall/enums/EnumLegionActivityStatus.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mallinkService/src/main/java/com/iformall/enums/EnumLegionActivityStatus.java b/mallinkService/src/main/java/com/iformall/enums/EnumLegionActivityStatus.java index f38babea4..a3462beed 100644 --- a/mallinkService/src/main/java/com/iformall/enums/EnumLegionActivityStatus.java +++ b/mallinkService/src/main/java/com/iformall/enums/EnumLegionActivityStatus.java @@ -12,7 +12,8 @@ public enum EnumLegionActivityStatus { DRAFT(0, "草稿"), ON_LINE(1, "已上架"), OFF_LINE(2, "已下架"), - EXPIRE(3, "已过期") + EXPIRE(3, "已过期"), + NOT_START(4,"未开始") ; public static EnumLegionActivityStatus getEnum(Integer code) { From 7f5ab815e56316cb4fdc198d2bc3b61464769ae0 Mon Sep 17 00:00:00 2001 From: xiaohu <1901900812@qq.com> Date: Tue, 27 Aug 2024 23:47:38 +0800 Subject: [PATCH 6/7] //LegionActivity --- .../main/java/com/iformall/domain/po/WxLegionActivity.java | 5 +++++ .../iformall/service/impl/WxLegionActivityServiceImpl.java | 6 ++++++ 2 files changed, 11 insertions(+) diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxLegionActivity.java b/mallinkService/src/main/java/com/iformall/domain/po/WxLegionActivity.java index b9cba2f2b..8204efa3d 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxLegionActivity.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxLegionActivity.java @@ -124,6 +124,11 @@ public class WxLegionActivity extends TenantEntity { */ @TableField(exist = false) private Integer validStatus; + /** + * 是否开始 + */ + @TableField(exist = false) + private Integer startStatus; @TableField(exist = false) private List statusList; diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxLegionActivityServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxLegionActivityServiceImpl.java index 6b8f03baa..0ac56f382 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxLegionActivityServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxLegionActivityServiceImpl.java @@ -67,6 +67,7 @@ public class WxLegionActivityServiceImpl implements WxLegionActivityService{ //已上架 if(EnumLegionActivityStatus.ON_LINE.getCode().equals(record.getStatus())){ record.setValidStatus(EnumYesOrNo.NO.getCode()); +// record.setStartStatus(EnumYesOrNo.YES.getCode()); } //未上架 if(EnumLegionActivityStatus.OFF_LINE.getCode().equals(record.getStatus())){ @@ -82,6 +83,11 @@ public class WxLegionActivityServiceImpl implements WxLegionActivityService{ record.setStatus(EnumLegionActivityStatus.ON_LINE.getCode()); record.setValidStatus(EnumYesOrNo.YES.getCode()); } + //未开始 + else if(EnumLegionActivityStatus.NOT_START.getCode().equals(record.getStatus())){ + record.setStatus(EnumLegionActivityStatus.ON_LINE.getCode()); + record.setStartStatus(EnumYesOrNo.NO.getCode()); + } } } From d5abf2ed1ed9b82cfbb1546294f3c73ec566f0af Mon Sep 17 00:00:00 2001 From: xiaohu <1901900812@qq.com> Date: Thu, 29 Aug 2024 15:44:40 +0800 Subject: [PATCH 7/7] //OfflineActivity --- .../WxOfflineActivityGrantController.java | 4 +- .../domain/po/WxOfflineActivityRecord.java | 6 ++ .../WxOfflineActivityRecordGrantMapper.java | 2 +- .../WxOfflineActivityGrantAwardService.java | 2 +- ...xOfflineActivityGrantAwardServiceImpl.java | 66 ++++++++++--------- .../WxOfflineActivityRecordServiceImpl.java | 4 ++ 6 files changed, 50 insertions(+), 34 deletions(-) diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxOfflineActivityGrantController.java b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxOfflineActivityGrantController.java index 7d75661c8..eda9b0c4b 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxOfflineActivityGrantController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxOfflineActivityGrantController.java @@ -134,8 +134,8 @@ public class WxOfflineActivityGrantController extends BaseController { } TenantEntity tenantInfo = getTenantInfo(); wxOfflineActivityGrantAward.updateTenantInfo(tenantInfo); - WxOfflineActivityGrantAward grantAward = wxOfflineActivityGrantAwardService.grantAwardDetail(wxOfflineActivityGrantAward); - return new ResultData(grantAward); + List grantAwardList = wxOfflineActivityGrantAwardService.grantAwardDetail(wxOfflineActivityGrantAward); + return new ResultData(grantAwardList); } } diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxOfflineActivityRecord.java b/mallinkService/src/main/java/com/iformall/domain/po/WxOfflineActivityRecord.java index 439e45103..28f02aef2 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxOfflineActivityRecord.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxOfflineActivityRecord.java @@ -169,6 +169,12 @@ public class WxOfflineActivityRecord extends TenantEntity { @TableField(value = "audit_status") private Integer auditStatus; + /** + * 是否可发奖 + */ + @TableField(exist = false) + private Integer grantStatus; + /** * 审核人 */ diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxOfflineActivityRecordGrantMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxOfflineActivityRecordGrantMapper.java index ae5feed7f..a8e01052f 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxOfflineActivityRecordGrantMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxOfflineActivityRecordGrantMapper.java @@ -19,7 +19,7 @@ public interface WxOfflineActivityRecordGrantMapper extends CommonMapper recordGrantList); - Long selectGrantId(@Param("tenantId")String tenantId, @Param("activityId")Long activityId, @Param("recordId")Long recordId); + List selectGrantId(@Param("tenantId")String tenantId, @Param("activityId")Long activityId, @Param("recordId")Long recordId); } diff --git a/mallinkService/src/main/java/com/iformall/service/WxOfflineActivityGrantAwardService.java b/mallinkService/src/main/java/com/iformall/service/WxOfflineActivityGrantAwardService.java index 246bd646c..60f2c39d7 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxOfflineActivityGrantAwardService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxOfflineActivityGrantAwardService.java @@ -31,7 +31,7 @@ public interface WxOfflineActivityGrantAwardService { void recordExport(HttpServletRequest request, HttpServletResponse response, WxOfflineActivityRecord wxOfflineActivityRecord); - WxOfflineActivityGrantAward grantAwardDetail(WxOfflineActivityGrantAward wxOfflineActivityGrantAward); + List grantAwardDetail(WxOfflineActivityGrantAward wxOfflineActivityGrantAward); void activityGrantExport(HttpServletRequest request, HttpServletResponse response, WxOfflineActivity wxOfflineActivity); } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityGrantAwardServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityGrantAwardServiceImpl.java index f74007b75..0604b9523 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityGrantAwardServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityGrantAwardServiceImpl.java @@ -322,9 +322,9 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity if(record.getCreateDate().before(activity.getStartTime()) || record.getCreateDate().after(activity.getEndTime())){ throw new MallinkException(Result.ERROR, "请检查活动时间"); } - if(wxOfflineActivityRecordGrantMapper.selectGrantCount(activity.getTenantId(),activity.getId(),record.getId()) > 0){ - throw new MallinkException(Result.ERROR, "请检查订单是否已参与活动"); - } +// if(wxOfflineActivityRecordGrantMapper.selectGrantCount(activity.getTenantId(),activity.getId(),record.getId()) > 0){ +// throw new MallinkException(Result.ERROR, "请检查订单是否已参与活动"); +// } orderMoneySum = orderMoneySum.add(record.getOrderMoney()); if(record.getLotteryNumList() != null && !record.getLotteryNumList().isEmpty()){ @@ -548,37 +548,43 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity } @Override - public WxOfflineActivityGrantAward grantAwardDetail(WxOfflineActivityGrantAward wxOfflineActivityGrantAward) { - Long grantId = wxOfflineActivityRecordGrantMapper.selectGrantId(wxOfflineActivityGrantAward.getTenantId(),wxOfflineActivityGrantAward.getActivityId(),wxOfflineActivityGrantAward.getRecordId()); - if(grantId == null){ + public List grantAwardDetail(WxOfflineActivityGrantAward wxOfflineActivityGrantAward) { + List grantIds = wxOfflineActivityRecordGrantMapper.selectGrantId(wxOfflineActivityGrantAward.getTenantId(),wxOfflineActivityGrantAward.getActivityId(),wxOfflineActivityGrantAward.getRecordId()); + if(grantIds == null || grantIds.isEmpty()){ return null; } - WxOfflineActivityGrantAward grantAward = wxOfflineActivityGrantAwardMapper.selectById(grantId,wxOfflineActivityGrantAward.getTenantId()); - //获取奖项 - List activityItemList = wxOfflineActivityItemService.getActivityItemList(grantAward.getActivityId(), grantAward.getTenantId()); - grantAward.setActivityItemList(activityItemList); - //获取实际获得奖项 - WxOfflineActivityGrantItem grantItemQ = new WxOfflineActivityGrantItem(); - grantItemQ.updateTenantInfo(grantAward); - grantItemQ.setGrantId(grantId); - List grantItemList = wxOfflineActivityGrantItemMapper.findList(grantItemQ); - Map> activityItemGrantMap = grantItemList.stream().collect(groupingBy(WxOfflineActivityGrantItem::getActivityItemId)); - for (WxOfflineActivityItem activityItem : grantAward.getActivityItemList()) { - List grantActivityItemList = activityItemGrantMap.get(activityItem.getId()); - if (grantActivityItemList == null || grantActivityItemList.isEmpty()) { - activityItem.setIsMeet(false); - continue; - } - for (WxOfflineActivityGrantItem grantItem : grantActivityItemList) { - grantItem.setMallSharePrice(grantItem.getAwardPrice() - .multiply(grantItem.getMallShareRate().divide(new BigDecimal(100))) - .setScale(2, RoundingMode.HALF_UP)); - grantItem.setMerchantSharePrice(grantItem.getAwardPrice().subtract(grantItem.getMallSharePrice())); + WxOfflineActivityGrantAward grantAwardQ = new WxOfflineActivityGrantAward(); + grantAwardQ.updateTenantInfo(wxOfflineActivityGrantAward); + grantAwardQ.setIds(grantIds); + List grantAwardList = wxOfflineActivityGrantAwardMapper.findList(grantAwardQ); + for (WxOfflineActivityGrantAward grantAward : grantAwardList) { + //获取奖项 + List activityItemList = wxOfflineActivityItemService.getActivityItemList(grantAward.getActivityId(), grantAward.getTenantId()); + grantAward.setActivityItemList(activityItemList); + //获取实际获得奖项 + WxOfflineActivityGrantItem grantItemQ = new WxOfflineActivityGrantItem(); + grantItemQ.updateTenantInfo(grantAward); + grantItemQ.setGrantId(grantAward.getId()); + List grantItemList = wxOfflineActivityGrantItemMapper.findList(grantItemQ); + Map> activityItemGrantMap = grantItemList.stream().collect(groupingBy(WxOfflineActivityGrantItem::getActivityItemId)); + for (WxOfflineActivityItem activityItem : grantAward.getActivityItemList()) { + List grantActivityItemList = activityItemGrantMap.get(activityItem.getId()); + if (grantActivityItemList == null || grantActivityItemList.isEmpty()) { + activityItem.setIsMeet(false); + continue; + } + for (WxOfflineActivityGrantItem grantItem : grantActivityItemList) { + grantItem.setMallSharePrice(grantItem.getAwardPrice() + .multiply(grantItem.getMallShareRate().divide(new BigDecimal(100))) + .setScale(2, RoundingMode.HALF_UP)); + grantItem.setMerchantSharePrice(grantItem.getAwardPrice().subtract(grantItem.getMallSharePrice())); + } + activityItem.setIsMeet(true); + activityItem.setActivityGrantItemList(grantActivityItemList); } - activityItem.setIsMeet(true); - activityItem.setActivityGrantItemList(grantActivityItemList); } - return grantAward; + + return grantAwardList; } @Override diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityRecordServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityRecordServiceImpl.java index 192a8b8ec..06f5eb5c1 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityRecordServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityRecordServiceImpl.java @@ -142,6 +142,10 @@ public class WxOfflineActivityRecordServiceImpl implements WxOfflineActivityReco } if(activityId != null){ + record.setGrantStatus(EnumYesOrNo.NO.getCode()); + if(EnumOfflineActivityRecordStatus.AUDI_SUCCESS.getCode().equals(record.getAuditStatus())){ + record.setGrantStatus(EnumYesOrNo.YES.getCode()); + } //判断订单是否发奖 Integer grantCount = wxOfflineActivityRecordGrantMapper.selectGrantCount(tenantEntity.getTenantId(),activityId,record.getId()); if(grantCount >= 1){