From 8bd9ce7c7e0c9d8d1f524679e96be5368805e641 Mon Sep 17 00:00:00 2001 From: sangelxiu1 <15781802@163.com> Date: Thu, 21 Aug 2025 14:10:59 +0800 Subject: [PATCH 1/3] =?UTF-8?q?##=20Feat=20-=20=E8=BF=81=E7=A7=BB=E4=BA=A7?= =?UTF-8?q?=E5=93=81=E9=94=80=E5=94=AE=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../manage/MemberReportController.java | 182 ++++++++++++------ .../member/mapper/MemberReportMapper.java | 10 + .../member/param/ProductShippingParam.java | 35 ++++ .../member/service/MemberReportService.java | 11 ++ .../service/impl/MemberReportServiceImpl.java | 10 + .../member/vo/ProductShippingDetailsVO.java | 37 ++++ .../report/member/vo/ProductShippingVO.java | 35 ++++ .../report/member/MemberReportMapper.xml | 75 ++++++++ .../enums/controller/EnumsController.java | 14 +- .../core/constant/EnumsPrefixConstants.java | 5 + .../common/core/enums/EOperationBusiness.java | 4 + .../hzs/common/core/enums/EOrderShipment.java | 168 ++++++++++++++++ 12 files changed, 522 insertions(+), 64 deletions(-) create mode 100644 bd-business/bd-business-report/src/main/java/com/hzs/report/member/param/ProductShippingParam.java create mode 100644 bd-business/bd-business-report/src/main/java/com/hzs/report/member/vo/ProductShippingDetailsVO.java create mode 100644 bd-business/bd-business-report/src/main/java/com/hzs/report/member/vo/ProductShippingVO.java create mode 100644 bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOrderShipment.java diff --git a/bd-business/bd-business-report/src/main/java/com/hzs/report/member/controller/manage/MemberReportController.java b/bd-business/bd-business-report/src/main/java/com/hzs/report/member/controller/manage/MemberReportController.java index 4ef2b016..6f72e268 100644 --- a/bd-business/bd-business-report/src/main/java/com/hzs/report/member/controller/manage/MemberReportController.java +++ b/bd-business/bd-business-report/src/main/java/com/hzs/report/member/controller/manage/MemberReportController.java @@ -1180,69 +1180,69 @@ public class MemberReportController extends BaseController { return getDataTable(orderDistributionList); } - - /** - * 出货明细汇总统计 - */ - @Log(module = EOperationModule.STATISTIC_ANALYSIS, business = EOperationBusiness.PRODUCT_SHIPPING_DETAILS_LIST, method = EOperationMethod.SELECT) - @GetMapping("/product-shipping-details-list") - public TableDataInfo productShippingDetailsList(String productName, Integer pkClassify, Date startTime, Date endTime, Integer orderType) { - startPage(); - Integer pkCountry = SecurityUtils.getPkCountry(); - List orderTypeList = EOrderBusiness.getOrderTypeList(orderType); - if (endTime != null) { - endTime = DateUtils.getEndTime(endTime); - } - List memberReportList = memberReportService.getProductOrderInfo(productName, pkClassify, startTime, endTime, pkCountry, orderTypeList); - for (ProductOrderInfoVo productOrderInfoVo : memberReportList) { - if (productOrderInfoVo.getProductPrice() != null) { - productOrderInfoVo.setProductTotalPrice(productOrderInfoVo.getProductPrice()); - } else { - productOrderInfoVo.setProductTotalPrice(BigDecimal.ZERO); - } - - if (productOrderInfoVo.getOrderType() != null) { - productOrderInfoVo.setOrderTypeStr(EOrderType.getEnumByValue(productOrderInfoVo.getOrderType()).getLabel()); - } - } - // 计算总计 - Integer count = memberReportService.sumQuantity(productName, pkClassify, startTime, endTime, pkCountry, orderTypeList); - ProductOrderInfoVo productOrderInfoVo = new ProductOrderInfoVo(); - productOrderInfoVo.setProductCode("总计"); - productOrderInfoVo.setProductName("-"); - productOrderInfoVo.setQuantity(count); - productOrderInfoVo.setProductTotalPrice(BigDecimal.ZERO); - memberReportList.add(productOrderInfoVo); - return getDataTable(memberReportList); - } - - /** - * 出货明细汇总导出 - * - * @return - */ - @Log(module = EOperationModule.STATISTIC_ANALYSIS, business = EOperationBusiness.PRODUCT_SHIPPING_DETAILS_LIST, method = EOperationMethod.EXPORT) - @PostMapping("/product-shipping-details-export") - public void productShippingDetailsExport(String productName, Integer pkClassify, Date startTime, Date endTime, Integer orderType, HttpServletResponse response) { - Integer pkCountry = SecurityUtils.getPkCountry(); - List orderTypeList = EOrderBusiness.getOrderTypeList(orderType); - if (endTime != null) { - endTime = DateUtils.getEndTime(endTime); - } - List memberReportList = memberReportService.getProductOrderInfo(productName, pkClassify, startTime, endTime, pkCountry, orderTypeList); - for (ProductOrderInfoVo productOrderInfoVo : memberReportList) { - if (productOrderInfoVo.getProductPrice() != null) { - productOrderInfoVo.setProductTotalPrice(productOrderInfoVo.getProductPrice()); - } else { - productOrderInfoVo.setProductTotalPrice(BigDecimal.ZERO); - } - if (productOrderInfoVo.getOrderType() != null) { - productOrderInfoVo.setOrderTypeStr(EOrderType.getEnumByValue(productOrderInfoVo.getOrderType()).getLabel()); - } - } - ExcelUtil util = new ExcelUtil<>(ProductOrderInfoVo.class); - util.exportExcel(response, memberReportList, "出货明细汇总导出"); - } +// +// /** +// * 出货明细汇总统计 +// */ +// @Log(module = EOperationModule.STATISTIC_ANALYSIS, business = EOperationBusiness.PRODUCT_SHIPPING_DETAILS_LIST, method = EOperationMethod.SELECT) +// @GetMapping("/product-shipping-details-list") +// public TableDataInfo productShippingDetailsList(String productName, Integer pkClassify, Date startTime, Date endTime, Integer orderType) { +// startPage(); +// Integer pkCountry = SecurityUtils.getPkCountry(); +// List orderTypeList = EOrderBusiness.getOrderTypeList(orderType); +// if (endTime != null) { +// endTime = DateUtils.getEndTime(endTime); +// } +// List memberReportList = memberReportService.getProductOrderInfo(productName, pkClassify, startTime, endTime, pkCountry, orderTypeList); +// for (ProductOrderInfoVo productOrderInfoVo : memberReportList) { +// if (productOrderInfoVo.getProductPrice() != null) { +// productOrderInfoVo.setProductTotalPrice(productOrderInfoVo.getProductPrice()); +// } else { +// productOrderInfoVo.setProductTotalPrice(BigDecimal.ZERO); +// } +// +// if (productOrderInfoVo.getOrderType() != null) { +// productOrderInfoVo.setOrderTypeStr(EOrderType.getEnumByValue(productOrderInfoVo.getOrderType()).getLabel()); +// } +// } +// // 计算总计 +// Integer count = memberReportService.sumQuantity(productName, pkClassify, startTime, endTime, pkCountry, orderTypeList); +// ProductOrderInfoVo productOrderInfoVo = new ProductOrderInfoVo(); +// productOrderInfoVo.setProductCode("总计"); +// productOrderInfoVo.setProductName("-"); +// productOrderInfoVo.setQuantity(count); +// productOrderInfoVo.setProductTotalPrice(BigDecimal.ZERO); +// memberReportList.add(productOrderInfoVo); +// return getDataTable(memberReportList); +// } +// +// /** +// * 出货明细汇总导出 +// * +// * @return +// */ +// @Log(module = EOperationModule.STATISTIC_ANALYSIS, business = EOperationBusiness.PRODUCT_SHIPPING_DETAILS_LIST, method = EOperationMethod.EXPORT) +// @PostMapping("/product-shipping-details-export") +// public void productShippingDetailsExport(String productName, Integer pkClassify, Date startTime, Date endTime, Integer orderType, HttpServletResponse response) { +// Integer pkCountry = SecurityUtils.getPkCountry(); +// List orderTypeList = EOrderBusiness.getOrderTypeList(orderType); +// if (endTime != null) { +// endTime = DateUtils.getEndTime(endTime); +// } +// List memberReportList = memberReportService.getProductOrderInfo(productName, pkClassify, startTime, endTime, pkCountry, orderTypeList); +// for (ProductOrderInfoVo productOrderInfoVo : memberReportList) { +// if (productOrderInfoVo.getProductPrice() != null) { +// productOrderInfoVo.setProductTotalPrice(productOrderInfoVo.getProductPrice()); +// } else { +// productOrderInfoVo.setProductTotalPrice(BigDecimal.ZERO); +// } +// if (productOrderInfoVo.getOrderType() != null) { +// productOrderInfoVo.setOrderTypeStr(EOrderType.getEnumByValue(productOrderInfoVo.getOrderType()).getLabel()); +// } +// } +// ExcelUtil util = new ExcelUtil<>(ProductOrderInfoVo.class); +// util.exportExcel(response, memberReportList, "出货明细汇总导出"); +// } /** * 出货明细汇总统计详情 @@ -1544,4 +1544,60 @@ public class MemberReportController extends BaseController { return AjaxResult.success(); } + + /** + * 产品销售统计列表 + */ + @Log(module = EOperationModule.STATISTIC_ANALYSIS, business = EOperationBusiness.PRODUCT_SHIPPING, method = EOperationMethod.SELECT) + @GetMapping("/product-shipping") + public TableDataInfo productShipping(ProductShippingParam param) { + startPage(); + List productShippingList = memberReportService.listProductShipping(param); + return getDataTable(productShippingList); + } + + /** + * 产品销售统计导出 + */ + @Log(module = EOperationModule.STATISTIC_ANALYSIS, business = EOperationBusiness.PRODUCT_SHIPPING, method = EOperationMethod.EXPORT) + @PostMapping("/product-shipping-export") + public void productShippingExport(HttpServletResponse response, ProductShippingParam param) { + List productShippingList = memberReportService.listProductShipping(param); + ExcelUtil util = new ExcelUtil<>(ProductShippingVO.class); + util.exportExcel(response, productShippingList, "出货明细汇总导出"); + } + + /** + * 产品销售统计详情 + */ + @Log(module = EOperationModule.STATISTIC_ANALYSIS, business = EOperationBusiness.PRODUCT_SHIPPING_DETAILS, method = EOperationMethod.SELECT) + @GetMapping("/product-shipping-details") + public TableDataInfo productShippingDetails(ProductShippingParam param) { + startPage(); + List productOrderInfoVoList = memberReportService.listProductShippingDetail(param); + if (CollectionUtil.isNotEmpty(productOrderInfoVoList)) { + for (ProductShippingDetailsVO productShippingDetailsVO : productOrderInfoVoList) { + productShippingDetailsVO.setSpecialAreaVal(ESpecialArea.getLabelByValue(productShippingDetailsVO.getSpecialArea())); + productShippingDetailsVO.setIsMakerGiftVal(EWaresType.getEnumLabelByValue(productShippingDetailsVO.getIsMakerGift())); + } + } + return getDataTable(productOrderInfoVoList); + } + + /** + * 产品销售统计详情导出 + */ + @Log(module = EOperationModule.STATISTIC_ANALYSIS, business = EOperationBusiness.PRODUCT_SHIPPING_DETAILS, method = EOperationMethod.EXPORT) + @PostMapping("/product-shipping-details-export") + public void productShippingDetailsExport(HttpServletResponse response, ProductShippingParam param) { + List productOrderInfoVoList = memberReportService.listProductShippingDetail(param); + if (CollectionUtil.isNotEmpty(productOrderInfoVoList)) { + for (ProductShippingDetailsVO productShippingDetailsVO : productOrderInfoVoList) { + productShippingDetailsVO.setSpecialAreaVal(ESpecialArea.getLabelByValue(productShippingDetailsVO.getSpecialArea())); + productShippingDetailsVO.setIsMakerGiftVal(EWaresType.getEnumLabelByValue(productShippingDetailsVO.getIsMakerGift())); + } + } + ExcelUtil util = new ExcelUtil<>(ProductShippingDetailsVO.class); + util.exportExcel(response, productOrderInfoVoList, "出货明细汇总统计详情"); + } } diff --git a/bd-business/bd-business-report/src/main/java/com/hzs/report/member/mapper/MemberReportMapper.java b/bd-business/bd-business-report/src/main/java/com/hzs/report/member/mapper/MemberReportMapper.java index e2b7df5a..924a08f3 100644 --- a/bd-business/bd-business-report/src/main/java/com/hzs/report/member/mapper/MemberReportMapper.java +++ b/bd-business/bd-business-report/src/main/java/com/hzs/report/member/mapper/MemberReportMapper.java @@ -1,6 +1,7 @@ package com.hzs.report.member.mapper; import com.hzs.report.member.param.ProductDetailQueryParam; +import com.hzs.report.member.param.ProductShippingParam; import com.hzs.report.member.vo.*; import org.apache.ibatis.annotations.Param; @@ -298,4 +299,13 @@ public interface MemberReportMapper { **/ List querDirectPushDetails(DirectPushNewVo directPushNewVo); + /** + * 产品销售统计列表 + */ + List listProductShipping(@Param("param") ProductShippingParam param); + + /** + * 出货明细汇总统计详情 + */ + List listProductShippingDetail(@Param("param") ProductShippingParam param); } diff --git a/bd-business/bd-business-report/src/main/java/com/hzs/report/member/param/ProductShippingParam.java b/bd-business/bd-business-report/src/main/java/com/hzs/report/member/param/ProductShippingParam.java new file mode 100644 index 00000000..56defe04 --- /dev/null +++ b/bd-business/bd-business-report/src/main/java/com/hzs/report/member/param/ProductShippingParam.java @@ -0,0 +1,35 @@ +package com.hzs.report.member.param; + +import lombok.Data; + +/** + * 产品销售统计入参 + */ +@Data +public class ProductShippingParam { + + /** + * 仓储编号 + */ + private String wmsCode; + + /** + * 产品编号 + */ + private String productCode; + + /** + * 产品名称 + */ + private String productName; + + /** + * 开始时间 + */ + private String startTime; + /** + * 结束时间 + */ + private String endTime; + +} diff --git a/bd-business/bd-business-report/src/main/java/com/hzs/report/member/service/MemberReportService.java b/bd-business/bd-business-report/src/main/java/com/hzs/report/member/service/MemberReportService.java index c3807acb..3de8906d 100644 --- a/bd-business/bd-business-report/src/main/java/com/hzs/report/member/service/MemberReportService.java +++ b/bd-business/bd-business-report/src/main/java/com/hzs/report/member/service/MemberReportService.java @@ -1,6 +1,7 @@ package com.hzs.report.member.service; import com.hzs.report.member.param.ProductDetailQueryParam; +import com.hzs.report.member.param.ProductShippingParam; import com.hzs.report.member.vo.*; import java.math.BigDecimal; @@ -231,4 +232,14 @@ public interface MemberReportService { * 创建表 **/ void createCuMemberAmountBoxTable(String tabeName); + /** + * 产品销售统计列表 + */ + List listProductShipping(ProductShippingParam param); + + /** + * 产品销售统计详情列表 + */ + List listProductShippingDetail(ProductShippingParam param); + } diff --git a/bd-business/bd-business-report/src/main/java/com/hzs/report/member/service/impl/MemberReportServiceImpl.java b/bd-business/bd-business-report/src/main/java/com/hzs/report/member/service/impl/MemberReportServiceImpl.java index ae4dfb3b..7a61155d 100644 --- a/bd-business/bd-business-report/src/main/java/com/hzs/report/member/service/impl/MemberReportServiceImpl.java +++ b/bd-business/bd-business-report/src/main/java/com/hzs/report/member/service/impl/MemberReportServiceImpl.java @@ -12,6 +12,7 @@ import com.hzs.common.domain.system.config.BdAccount; import com.hzs.common.service.ITransactionCommonService; import com.hzs.report.member.mapper.MemberReportMapper; import com.hzs.report.member.param.ProductDetailQueryParam; +import com.hzs.report.member.param.ProductShippingParam; import com.hzs.report.member.service.MemberReportService; import com.hzs.report.member.vo.*; import com.hzs.report.report.service.ICuMemberSettlePeriodService; @@ -575,5 +576,14 @@ public class MemberReportServiceImpl implements MemberReportService { memberReportMapper.createCuMemberAmountBoxTable(tabeName); } + @Override + public List listProductShipping(ProductShippingParam param) { + return memberReportMapper.listProductShipping(param); + } + + @Override + public List listProductShippingDetail(ProductShippingParam param) { + return memberReportMapper.listProductShippingDetail(param); + } } diff --git a/bd-business/bd-business-report/src/main/java/com/hzs/report/member/vo/ProductShippingDetailsVO.java b/bd-business/bd-business-report/src/main/java/com/hzs/report/member/vo/ProductShippingDetailsVO.java new file mode 100644 index 00000000..f7a497ab --- /dev/null +++ b/bd-business/bd-business-report/src/main/java/com/hzs/report/member/vo/ProductShippingDetailsVO.java @@ -0,0 +1,37 @@ +package com.hzs.report.member.vo; + +import com.hzs.common.core.annotation.Excel; +import lombok.Data; + +import java.io.Serializable; + +@Data +public class ProductShippingDetailsVO implements Serializable { + + /** + * 仓储编号 + */ + @Excel(name = "仓储编号") + private String wmsCode; + + /** + * 所属专区 + */ + private Integer specialArea; + @Excel(name = "所属专区") + private String specialAreaVal; + + /** + * 商品类型 + */ + private Integer isMakerGift; + @Excel(name = "商品类型") + private String isMakerGiftVal; + + /** + * 销量 + */ + @Excel(name = "销量") + private Integer quantity; + +} diff --git a/bd-business/bd-business-report/src/main/java/com/hzs/report/member/vo/ProductShippingVO.java b/bd-business/bd-business-report/src/main/java/com/hzs/report/member/vo/ProductShippingVO.java new file mode 100644 index 00000000..1194339d --- /dev/null +++ b/bd-business/bd-business-report/src/main/java/com/hzs/report/member/vo/ProductShippingVO.java @@ -0,0 +1,35 @@ +package com.hzs.report.member.vo; + +import com.hzs.common.core.annotation.Excel; +import lombok.Data; + +import java.io.Serializable; + +@Data +public class ProductShippingVO implements Serializable { + + /** + * 仓储编号 + */ + @Excel(name = "仓储编号") + private String wmsCode; + + /** + * 产品名称 + */ + @Excel(name = "产品名称") + private String productName; + + /** + * 产品编号 + */ + @Excel(name = "产品编号") + private String productCode; + + /** + * 销量 + */ + @Excel(name = "销量") + private Integer quantity; + +} diff --git a/bd-business/bd-business-report/src/main/resources/mapper/report/member/MemberReportMapper.xml b/bd-business/bd-business-report/src/main/resources/mapper/report/member/MemberReportMapper.xml index 4387e03a..73a88f22 100644 --- a/bd-business/bd-business-report/src/main/resources/mapper/report/member/MemberReportMapper.xml +++ b/bd-business/bd-business-report/src/main/resources/mapper/report/member/MemberReportMapper.xml @@ -1827,4 +1827,79 @@ + + + + + + diff --git a/bd-business/bd-business-system/src/main/java/com/hzs/system/enums/controller/EnumsController.java b/bd-business/bd-business-system/src/main/java/com/hzs/system/enums/controller/EnumsController.java index b4d5864c..8b64b4a7 100644 --- a/bd-business/bd-business-system/src/main/java/com/hzs/system/enums/controller/EnumsController.java +++ b/bd-business/bd-business-system/src/main/java/com/hzs/system/enums/controller/EnumsController.java @@ -333,7 +333,19 @@ public class EnumsController extends BaseController { return AjaxResult.success(enumEntityList); } - + /** + * 出货相关订单类型 + * + * @return + */ + @GetMapping("/order-shipment") + public AjaxResult orderShipment() { + List enumEntityList = new ArrayList<>(); + for (EOrderShipment value : EOrderShipment.values()) { + enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.ORDER_SHIPMENT)); + } + return AjaxResult.success(enumEntityList); + } /** * 单个批量枚举 * diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/EnumsPrefixConstants.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/EnumsPrefixConstants.java index 029576a9..d3adcd4f 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/EnumsPrefixConstants.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/EnumsPrefixConstants.java @@ -331,6 +331,11 @@ public class EnumsPrefixConstants { */ public static final String ORDER_UP_BUSINESS = "ENU_ORDER_UP_BUSINESS_"; + /** + * 出货相关订单类型 + */ + public static final String ORDER_SHIPMENT = "ENU_ORDER_SHIPMENT_"; + /** * 支付业务类型 */ diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOperationBusiness.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOperationBusiness.java index f3bb3c13..4dd70908 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOperationBusiness.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOperationBusiness.java @@ -402,6 +402,10 @@ public enum EOperationBusiness { MONTHLY_JOB_LEVEL("月度职级名单查询"), MEMBER_RISK_CONTROL("K值风控设置"), MEMBER_RETAIL_STAT("收益区域数据"), + + PRODUCT_SHIPPING("产品销售统计"), + + PRODUCT_SHIPPING_DETAILS("产品销售统计详情"), ; diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOrderShipment.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOrderShipment.java new file mode 100644 index 00000000..6c1098b8 --- /dev/null +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOrderShipment.java @@ -0,0 +1,168 @@ +package com.hzs.common.core.enums; + +import com.hzs.common.core.constant.EnumsPrefixConstants; +import lombok.AllArgsConstructor; +import lombok.Getter; + +import java.util.ArrayList; +import java.util.List; + +/** + * 出货相关订单类型枚举 + */ +@AllArgsConstructor +@Getter +public enum EOrderShipment { + + /** + * 全部 注册 + 升级+ 复购 + */ + WHOLE(1, "全部", 0, EnumsPrefixConstants.ORDER_SHIPMENT + 1), + + /** + * 首购 注册 + 升级 + */ + FIRST_PURCHASE(2, "首购", 0, EnumsPrefixConstants.ORDER_SHIPMENT + 2), + + /** + * 复购 + */ + REPURCHASE(3, "复购", 0, EnumsPrefixConstants.ORDER_SHIPMENT + 3), + + /** + * 注册 + */ + REGISTER_ORDER(5, "注册专区", 0, EnumsPrefixConstants.ORDER_SHIPMENT + 5), + + /** + * 升级 + */ + UPGRADE_ORDER(6, "升级专区", 0, EnumsPrefixConstants.ORDER_SHIPMENT + 6), + + /** + * 复购专区 + */ + REPURCHASE_ORDER(7, "复购专区", 0, EnumsPrefixConstants.ORDER_SHIPMENT + 7), + +// /** +// * 福利 +// */ +// WELFARE_ORDER(9, "福利专区", 0, EnumsPrefixConstants.ORDER_SHIPMENT + 9), +// /** +// * 虚拟订单 +// */ +// FICTITIOUS_ORDER(12, "虚拟订单", 0, EnumsPrefixConstants.ORDER_SHIPMENT + 12), + /** + * 重销订单 + */ + CONSUME_ORDER(17, "重销订单", 0, EnumsPrefixConstants.ORDER_SHIPMENT + 17), + /** + * 提货订单 + */ + PICK_ORDER(18, "提货订单", 0, EnumsPrefixConstants.ORDER_SHIPMENT + 18), +// /** +// * 积分订单 +// */ +// EXCHANGE_ORDER(20, "积分订单", 0, EnumsPrefixConstants.ORDER_SHIPMENT + 20), +// /** +// * 专供专区 +// */ +// WHOLESALE_AREA(21, "专供专区", 0, EnumsPrefixConstants.ORDER_SHIPMENT + 21), + + ; + + /** + * 实际值 + */ + private final int value; + /** + * 显示标签 + */ + private final String label; + /** + * 是否启用(0=是,1=否) -- 来源EYesNo + */ + private final int enable; + /** + * 国际化翻译key值 + */ + private final String key; + + /** + * 根据值,返回枚举 + * + * @param value + * @return + */ + public static EOrderShipment getEnumByValue(int value) { + for (EOrderShipment eOrderType : EOrderShipment.values()) { + if (eOrderType.getValue() == value) { + return eOrderType; + } + } + return null; + } + + /** + * 根据值,返回订单类型集合 + * + * @param value + * @return + */ + public static List getOrderTypeList(Integer value) { + List orderTypeList = new ArrayList<>(); + if (null == value || EOrderShipment.WHOLE.getValue() == value) { + //首购 1,2,24,25,20 + orderTypeList.add(EOrderType.REGISTER_ORDER.getValue()); + orderTypeList.add(EOrderType.UPGRADE_ORDER.getValue()); +// orderTypeList.add(EOrderType.SPECIAL_REGISTER_ORDER.getValue()); +// orderTypeList.add(EOrderType.SPECIAL_UPGRADE_ORDER.getValue()); + + //复购 3,26,22,14,12,18,19,7,28,13,31,10 + orderTypeList.add(EOrderType.CONSUME_ORDER.getValue()); + orderTypeList.add(EOrderType.REPURCHASE_ORDER.getValue()); +// orderTypeList.add(EOrderType.SPECIAL_REPURCHASE_ORDER.getValue()); +// orderTypeList.add(EOrderType.PICK_ORDER.getValue()); + orderTypeList.add(EOrderType.CONSUME_ORDER.getValue()); + } else if (EOrderShipment.FIRST_PURCHASE.getValue() == value) { + //首购 + orderTypeList.add(EOrderType.REGISTER_ORDER.getValue()); + orderTypeList.add(EOrderType.UPGRADE_ORDER.getValue()); +// orderTypeList.add(EOrderType.SPECIAL_REGISTER_ORDER.getValue()); +// orderTypeList.add(EOrderType.SPECIAL_UPGRADE_ORDER.getValue()); + } else if (EOrderShipment.REPURCHASE.getValue() == value) { + //复购 + orderTypeList.add(EOrderType.REPURCHASE_ORDER.getValue()); +// orderTypeList.add(EOrderType.SPECIAL_REPURCHASE_ORDER.getValue()); +// orderTypeList.add(EOrderType.PICK_ORDER.getValue()); + orderTypeList.add(EOrderType.CONSUME_ORDER.getValue()); + } else if (EOrderShipment.REGISTER_ORDER.getValue() == value) { + //注册专区 + orderTypeList.add(EOrderType.REGISTER_ORDER.getValue()); +// orderTypeList.add(EOrderType.SPECIAL_REGISTER_ORDER.getValue()); + } else if (EOrderShipment.UPGRADE_ORDER.getValue() == value) { + //升级专区 + orderTypeList.add(EOrderType.UPGRADE_ORDER.getValue()); +// orderTypeList.add(EOrderType.SPECIAL_UPGRADE_ORDER.getValue()); + } else if (EOrderShipment.REPURCHASE_ORDER.getValue() == value) { + //复购专区 3,26,22,14,12,18,19,28,13 + orderTypeList.add(EOrderType.REPURCHASE_ORDER.getValue()); +// orderTypeList.add(EOrderType.SPECIAL_REPURCHASE_ORDER.getValue()); + orderTypeList.add(EOrderType.CONSUME_ORDER.getValue()); + } else if (EOrderShipment.CONSUME_ORDER.getValue() == value) { + //重销订单 + orderTypeList.add(EOrderType.CONSUME_ORDER.getValue()); + } else if (EOrderShipment.PICK_ORDER.getValue() == value) { + //提货订单 +// orderTypeList.add(EOrderType.PICK_ORDER.getValue()); + } + return orderTypeList; + } + + + /** + * 会员前端列表 + */ + private static List apiList; + +} From 59a7bfc7420531c33e3558ca143817f0c544acc9 Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Fri, 22 Aug 2025 10:12:25 +0800 Subject: [PATCH 2/3] =?UTF-8?q?##=20=E5=90=8E=E5=8F=B0=E6=94=AF=E4=BB=98?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E6=98=BE=E7=A4=BA=E6=B7=BB=E5=8A=A0=E4=BA=AC?= =?UTF-8?q?=E4=B8=9C=E6=96=B9=E5=BC=8F=E8=BF=94=E5=9B=9E=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../manage/OnlinePayConfigController.java | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/bd-third/src/main/java/com/hzs/third/pay/controller/manage/OnlinePayConfigController.java b/bd-third/src/main/java/com/hzs/third/pay/controller/manage/OnlinePayConfigController.java index 3c8b17d1..4bc4d420 100644 --- a/bd-third/src/main/java/com/hzs/third/pay/controller/manage/OnlinePayConfigController.java +++ b/bd-third/src/main/java/com/hzs/third/pay/controller/manage/OnlinePayConfigController.java @@ -14,11 +14,7 @@ import org.springframework.data.redis.core.RedisTemplate; import org.springframework.web.bind.annotation.*; /** - * @Description: 在线支付配置 - * @Author: jiang chao - * @Time: 2023/3/23 16:15 - * @Classname: OnlinePayConfigController - * @PackageName: com.hzs.third.pay.controller.manage + * 在线支付配置 */ @RestController @RequestMapping("/manage/online-config") @@ -40,6 +36,16 @@ public class OnlinePayConfigController { OnlinePayConfigVO payConfigVO = new OnlinePayConfigVO(); // 各支付方式: true=显示,false=隐藏 + // 京东收银台(H5) + String pay5 = String.format(PayConfigConstants.PAY_CONFIG_5, pkCountry); + if (redisTemplate.hasKey(pay5)) { + payConfigVO.setPay5((Boolean) redisTemplate.opsForValue().get(pay5)); + } + // 京东收银台(PC) + String pay6 = String.format(PayConfigConstants.PAY_CONFIG_6, pkCountry); + if (redisTemplate.hasKey(pay6)) { + payConfigVO.setPay6((Boolean) redisTemplate.opsForValue().get(pay6)); + } // 新汇付PC微信扫码支付 String pay81 = String.format(PayConfigConstants.PAY_CONFIG_81, pkCountry); From f40781d4607466f753bbfbb65889c2f33c9c55fb Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Tue, 26 Aug 2025 11:51:43 +0800 Subject: [PATCH 3/3] =?UTF-8?q?##=20=E5=A5=96=E9=87=91=E7=BB=93=E7=AE=97?= =?UTF-8?q?=E6=97=B6=EF=BC=8C=E5=A6=82=E6=9E=9C=E5=BD=93=E5=A4=A9=E6=B2=A1?= =?UTF-8?q?=E6=9C=89=E8=AE=A2=E5=8D=95=E4=BF=AE=E6=94=B9=E7=BB=93=E7=AE=97?= =?UTF-8?q?=E7=AD=89=E7=BA=A7=E3=80=81=E4=BF=AE=E6=94=B9=E6=BF=80=E6=B4=BB?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E4=B9=9F=E4=BC=9A=E8=BF=9B=E8=A1=8C=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/CuMemberRetailRangeMapper.java | 10 ++++ .../service/ICuMemberRetailRangeService.java | 10 ++++ .../impl/CuMemberRetailRangeServiceImpl.java | 6 +++ .../service/impl/BonusSettleRangeHandle.java | 47 ++++++++++++++----- .../detail/service/ICuMemberGradeService.java | 7 ++- .../impl/CuMemberGradeServiceImpl.java | 9 +++- .../achieve/CuMemberRetailRangeMapper.xml | 10 ++++ 7 files changed, 84 insertions(+), 15 deletions(-) diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/mapper/CuMemberRetailRangeMapper.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/mapper/CuMemberRetailRangeMapper.java index 53dcfffd..e77b316c 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/mapper/CuMemberRetailRangeMapper.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/mapper/CuMemberRetailRangeMapper.java @@ -132,4 +132,14 @@ public interface CuMemberRetailRangeMapper extends BaseMapper pkMemberList); + } diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/ICuMemberRetailRangeService.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/ICuMemberRetailRangeService.java index b8182a78..4739316b 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/ICuMemberRetailRangeService.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/ICuMemberRetailRangeService.java @@ -114,4 +114,14 @@ public interface ICuMemberRetailRangeService extends IService cuMemberTreeMap); + + /** + * 更新会员激活状态 + * + * @param rangeTableName + * @param pkMemberList + * @return + */ + int updateMemberEnable(String rangeTableName, List pkMemberList); + } diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberRetailRangeServiceImpl.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberRetailRangeServiceImpl.java index 118cb339..0a5bc83f 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberRetailRangeServiceImpl.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberRetailRangeServiceImpl.java @@ -149,4 +149,10 @@ public class CuMemberRetailRangeServiceImpl extends ServiceImpl cuMemberTreeList.add(value)); return cuMemberBonusSettle.handleCutList(cuMemberTreeList); } + + @Override + public int updateMemberEnable(String rangeTableName, List pkMemberList) { + return baseMapper.updateMemberEnable(rangeTableName, pkMemberList); + } + } diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleRangeHandle.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleRangeHandle.java index 11325d44..961a994a 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleRangeHandle.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleRangeHandle.java @@ -111,7 +111,18 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { } // 当期的手动激活的记录列表 - Map activateMap = this.getActivateMap(saOrderExt.getPayTime()); + List activateList = this.getActivateList(saOrderExt.getPayTime()); + Map activateMap = new HashMap<>(); + if (CollectionUtil.isNotEmpty(activateList)) { + activateMap = activateList.stream() + .collect(Collectors.groupingBy( + CuMemberServiceLog::getPkMember, + Collectors.collectingAndThen( + Collectors.minBy(Comparator.comparing(CuMemberServiceLog::getCreationTime)), + optional -> optional.get().getCreationTime() + ) + )); + } // 查询体系奖项配置 Map> vertexBonusMap = iBdVertexBonusService.queryVertexBonus(); @@ -469,6 +480,8 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { iCuMemberAwardsService.calculateCuMemberRetailRangeAwardsInit(settleDate, period, rangeTableName); // 更新网体 iCuMemberRetailRangeService.mergeMemberRetailRangeByYesterday(settleEndDate, rangeTableName, yesterdayRangeTableName, isSameMonth); + // 更新会员手动升级 + iCuMemberGradeService.updateCuMemberManualGrade(rangeTableName, period); // 回退历史注水 iCuMemberRetailRangeService.mergeCuMemberRetailBackBoxBySpecial(rangeTableName, yesterdayRangeTableName, period); @@ -476,7 +489,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { iCuMemberRetailRangeService.mergeCuMemberRetailRangeBySpecial(rangeTableName, period); // 当期的手动激活的记录列表 - Map activateMap = this.getActivateMap(settleStartDate); + List activateList = this.getActivateList(settleStartDate); if (retailOrderList.size() > 0) { // 复购订单级差数据map(key:订单ID,value:订单明细+级差) @@ -489,6 +502,18 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { List memberLevelList = iCuMemberGradeService.calculateCuMemberRetailGradeInit(period, settleStartDate, settleEndDate, rangeTableName); memberLevelList.forEach(cuMemberLevel -> memberLevelMap.put(cuMemberLevel.getPkOrder(), cuMemberLevel)); + Map activateMap = new HashMap<>(); + if (CollectionUtil.isNotEmpty(activateList)) { + activateMap = activateList.stream() + .collect(Collectors.groupingBy( + CuMemberServiceLog::getPkMember, + Collectors.collectingAndThen( + Collectors.minBy(Comparator.comparing(CuMemberServiceLog::getCreationTime)), + optional -> optional.get().getCreationTime() + ) + )); + } + // 按照血缘,查询该会员所有伞上会员 List memberRetailRangeExtList = iCuMemberRetailRangeService.queryCuMemberRetailRangeParent(rangeTableName, retailOrderList); @@ -653,6 +678,12 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { } // 更新网体 iCuMemberRetailRangeService.updateCuMemberRetailRange(rangeTableName, memberRangeExtMap); + } else { + // 当日没有订单,也需要处理手动激活 + if (CollectionUtil.isNotEmpty(activateList)) { + List pkMemberList = activateList.stream().map(CuMemberServiceLog::getPkMember).collect(Collectors.toList()); + iCuMemberRetailRangeService.updateMemberEnable(rangeTableName, pkMemberList); + } } } @@ -2102,17 +2133,9 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { * @param settleStartDate * @return */ - private Map getActivateMap(Date settleStartDate) { + private List getActivateList(Date settleStartDate) { // 当期的手动激活的记录列表 - List activateList = iCuMemberServiceLogServiceApi.listActivateLog(settleStartDate).getData(); - return activateList.stream() - .collect(Collectors.groupingBy( - CuMemberServiceLog::getPkMember, - Collectors.collectingAndThen( - Collectors.minBy(Comparator.comparing(CuMemberServiceLog::getCreationTime)), - optional -> optional.get().getCreationTime() - ) - )); + return iCuMemberServiceLogServiceApi.listActivateLog(settleStartDate).getData(); } /** diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/ICuMemberGradeService.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/ICuMemberGradeService.java index 42165197..159cca79 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/ICuMemberGradeService.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/ICuMemberGradeService.java @@ -14,7 +14,12 @@ import java.util.List; public interface ICuMemberGradeService extends IService { /** - * 回退极差奖衔,每日重新结算,先把奖衔回退到前一天 + * 更新会员手动升级 + */ + void updateCuMemberManualGrade(String rangeTableName, Integer period); + + /** + * 回退等级,每日重新结算,先把等级回退到前一天 * * @param period 结算期间 * @param rangeTableName 结算表 diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/impl/CuMemberGradeServiceImpl.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/impl/CuMemberGradeServiceImpl.java index 34cfd152..2b4db518 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/impl/CuMemberGradeServiceImpl.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/impl/CuMemberGradeServiceImpl.java @@ -17,11 +17,16 @@ import java.util.List; @Service public class CuMemberGradeServiceImpl extends ServiceImpl implements ICuMemberGradeService { + @Override - public List calculateCuMemberRetailGradeInit(Integer period, Date startDate, Date endDate, String rangeTableName) { - // 更新奖衔,回退等级 + public void updateCuMemberManualGrade(String rangeTableName, Integer period) { + // 回退等级,更新手动升级 baseMapper.deleteCuMemberGrade(period); baseMapper.updateCuMemberGrade(rangeTableName, period); + } + + @Override + public List calculateCuMemberRetailGradeInit(Integer period, Date startDate, Date endDate, String rangeTableName) { return baseMapper.queryCuMemberLevel(startDate, endDate); } diff --git a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberRetailRangeMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberRetailRangeMapper.xml index 82e61e73..ee46ee93 100644 --- a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberRetailRangeMapper.xml +++ b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberRetailRangeMapper.xml @@ -816,4 +816,14 @@ where pk_parent = #{pkParent} + + + update ${rangeTableName} cmr + set cmr.enable_status = 0 + where cmr.pk_member in + + #{item} + + +