diff --git a/bd-api/bd-api-system/src/main/java/com/hzs/system/config/dto/GradeDTO.java b/bd-api/bd-api-system/src/main/java/com/hzs/system/config/dto/GradeDTO.java index 6a6ed575..200e7803 100644 --- a/bd-api/bd-api-system/src/main/java/com/hzs/system/config/dto/GradeDTO.java +++ b/bd-api/bd-api-system/src/main/java/com/hzs/system/config/dto/GradeDTO.java @@ -11,11 +11,7 @@ import java.math.BigDecimal; import java.util.List; /** - * @Description: 等级的dto - * @Author: sui q - * @Time: 2022/9/24 15:06 - * @Classname: GradeDTO - * @PackageName: com.hzs.system.config.dto + * 等级的dto */ @Data @Builder @@ -113,16 +109,16 @@ public class GradeDTO implements Serializable { /** * 购买盒数 */ - private Integer boxNumber; + private BigDecimal boxNumber; /** * 累计盒数 */ - private Integer boxTotal; + private BigDecimal boxTotal; /** * 小市场盒数 */ - private Integer boxSmallTotal; + private BigDecimal boxSmallTotal; } 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 f7f44440..7a56e2db 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 @@ -126,7 +126,6 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { // 配送收益配置 Map regionMap = iMemberServiceApi.listEffectiveRegion(settleStartDate).getData(); - // 直推、复购级差收益 List cuMemberBonusRangeList = new ArrayList<>(); // 复购配送收益 @@ -147,14 +146,14 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { CuMemberRetailRangeExt sourceMemberRangeExt = memberRangeExtMap.get(saOrderExt.getPkMember()); // 订单指定产品盒数(计算等级使用) - int boxNum = saOrderExt.getBoxNum(); + BigDecimal boxNum = saOrderExt.getBoxNum(); // 个人累计消费pv BigDecimal orderAchieve = saOrderExt.getOrderAchieve(); // 复购、重消,盒数、业绩算个人累计数据(盒数、业绩) - sourceMemberRangeExt.setNewBoxNum(sourceMemberRangeExt.getNewBoxNum() + boxNum); - sourceMemberRangeExt.setConsumeBoxNum(sourceMemberRangeExt.getConsumeBoxNum() + boxNum); - sourceMemberRangeExt.setMonthBoxNum(sourceMemberRangeExt.getMonthBoxNum() + boxNum); + sourceMemberRangeExt.setNewBoxNum(sourceMemberRangeExt.getNewBoxNum().add(boxNum)); + sourceMemberRangeExt.setConsumeBoxNum(sourceMemberRangeExt.getConsumeBoxNum().add(boxNum)); + sourceMemberRangeExt.setMonthBoxNum(sourceMemberRangeExt.getMonthBoxNum().add(boxNum)); sourceMemberRangeExt.setNewConsumePv(ComputeUtil.computeAdd(sourceMemberRangeExt.getNewConsumePv(), orderAchieve)); sourceMemberRangeExt.setConsumePv(ComputeUtil.computeAdd(sourceMemberRangeExt.getConsumePv(), orderAchieve)); sourceMemberRangeExt.setMonthConsumePv(ComputeUtil.computeAdd(sourceMemberRangeExt.getMonthConsumePv(), orderAchieve)); @@ -169,7 +168,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { // 计算奖金 直推级差 if ((EOrderType.RETAIL_REGISTER.getValue() == saOrderExt.getOrderType() || EOrderType.RETAIL_UPGRADE.getValue() == saOrderExt.getOrderType()) - && boxNum > 0 + && boxNum.compareTo(BigDecimal.ZERO) > 0 ) { // 注册或升级订单并且存在盒数产品,才有 直推级差 cuMemberBonusRangeList.addAll(calculateRetailRangeBonus(memberRangeExtMap, cuMemberBonusMap, bonusConfigDTO, period, saOrderExt, gradeIdMap)); @@ -186,20 +185,22 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { } } } - // 订单存在自动升级记录(高级店主处理) + // 订单存在自动升级记录(高级店主、区域董事处理) if (autoLevelMap.containsKey(saOrderExt.getPkId())) { CuMemberLevel cuMemberLevel = autoLevelMap.get(saOrderExt.getPkId()); if (gradeIdMap.containsKey(cuMemberLevel.getNewLevel())) { BdGrade bdGrade = gradeIdMap.get(cuMemberLevel.getNewLevel()); CuMemberRetailRangeExt tmpMemberRetailRange = memberRangeExtMap.get(cuMemberLevel.getPkMember()); - tmpMemberRetailRange.setPkGrade(bdGrade.getPkId()); - tmpMemberRetailRange.setGradeValue(bdGrade.getGradeValue()); - tmpMemberRetailRange.setGradeName(bdGrade.getGradeName()); + if (bdGrade.getGradeValue() > tmpMemberRetailRange.getGradeValue()) { + tmpMemberRetailRange.setPkGrade(bdGrade.getPkId()); + tmpMemberRetailRange.setGradeValue(bdGrade.getGradeValue()); + tmpMemberRetailRange.setGradeName(bdGrade.getGradeName()); + } } } } else if (EOrderType.RETAIL_REPURCHASE.getValue() == saOrderExt.getOrderType()) { // 复购订单 - if (boxNum > 0) { + if (boxNum.compareTo(BigDecimal.ZERO) > 0) { // 存在盒数商品,计算复购级差 cuMemberBonusRangeList.addAll(calculateRetailRepurRangeBonus(memberRangeExtMap, cuMemberBonusMap, bonusConfigDTO, period, saOrderExt)); @@ -234,7 +235,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { * 累计团队盒数、业绩等 */ public void calculateRetailRangeGradeAwards(Map memberRangeExtMap, SaOrderExt saOrderExt, - Integer boxNum, Map activateMap) { + BigDecimal boxNum, Map activateMap) { // 订单会员 CuMemberRetailRangeExt sourceMemberRangeExt = memberRangeExtMap.get(saOrderExt.getPkMember()); // 订单会员的推荐人 @@ -261,9 +262,9 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { targetMemberRangeExt.setTeamConsumePv(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamConsumePv(), orderAchieve)); targetMemberRangeExt.setTeamMonthPv(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamMonthPv(), orderAchieve)); // 累计盒数 - targetMemberRangeExt.setTeamNewBoxNum(targetMemberRangeExt.getTeamNewBoxNum() + boxNum); - targetMemberRangeExt.setTeamBoxNum(targetMemberRangeExt.getTeamBoxNum() + boxNum); - targetMemberRangeExt.setTeamMonthBoxNum(targetMemberRangeExt.getTeamMonthBoxNum() + boxNum); + targetMemberRangeExt.setTeamNewBoxNum(targetMemberRangeExt.getTeamNewBoxNum().add(boxNum)); + targetMemberRangeExt.setTeamBoxNum(targetMemberRangeExt.getTeamBoxNum().add(boxNum)); + targetMemberRangeExt.setTeamMonthBoxNum(targetMemberRangeExt.getTeamMonthBoxNum().add(boxNum)); } targetMemberRangeExt = memberRangeExtMap.get(targetMemberRangeExt.getPkParent()); } @@ -281,9 +282,23 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { CuMemberRetailRangeExt sourceMemberRangeExt = memberRangeExtMap.get(saOrderExt.getPkMember()); // 推荐人 long pkParent = sourceMemberRangeExt.getPkParent(); - // 订单等级值 + // 订单金额 + BigDecimal orderAmount = saOrderExt.getOrderAmount(); +// // TODO 累计升级,此处订单可能没有等级值 +// if (null != saOrderExt.getPkGrade()) { +// // 订单存在升级记录信息 +// // 订单等级值 +// Integer orderGradeValue = gradeIdMap.get(saOrderExt.getPkGrade()).getGradeValue(); +// } else { +// +// } + + Integer orderGradeValue = gradeIdMap.get(saOrderExt.getPkGrade()).getGradeValue(); + + + // 前一个会员等级 int beforeGradeValue = 0; // 前面累计奖金 @@ -598,7 +613,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { // 推荐人 long pkParent = sourceMemberRangeExt.getPkParent(); // 商品盒数 - BigDecimal boxNum = new BigDecimal(saOrderExt.getBoxNum()); + BigDecimal boxNum = saOrderExt.getBoxNum(); // 2025.08.13 添加分公司级差收益,每1盒(4个产品)第一分公司4元,第二分公司4元,公司6元,总拨出14元 int branch = 0; diff --git a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberTreeMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberTreeMapper.xml index 65845453..07eb81db 100644 --- a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberTreeMapper.xml +++ b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberTreeMapper.xml @@ -434,15 +434,15 @@ pk_country number(4) default 1 not null, system_type NUMBER(2) default 2 not null, pk_rate NUMBER(6), - new_box_num number(8) default 0 not null, - consume_box_num number(8) default 0 not null, - month_box_num number(8) default 0 not null, + new_box_num number(10,2) default 0 not null, + consume_box_num number(10,2) default 0 not null, + month_box_num number(10,2) default 0 not null, new_consume_pv number(17,6) default 0 not null, consume_pv number(17,6) default 0 not null, month_consume_pv number(17,6) default 0 not null, - team_new_box_num number(8) default 0 not null, - team_box_num number(8) default 0 not null, - team_month_box_num number(8) default 0 not null, + team_new_box_num number(10,2) default 0 not null, + team_box_num number(10,2) default 0 not null, + team_month_box_num number(10,2) default 0 not null, team_new_pv number(17,6) default 0 not null, team_consume_pv number(17,6) default 0 not null, team_month_pv number(17,6) default 0 not null, @@ -452,8 +452,8 @@ recommend_num number(8) default 0 not null, team_num number(8) default 0 not null, region_address number(8) default 0 not null, - big_box_num number(8) default 0 not null, - small_box_num number(8) default 0 not null, + big_box_num number(10,2) default 0 not null, + small_box_num number(10,2) default 0 not null, big_team_pv number(17,6) default 0 not null, small_team_pv number(17,6) default 0 not null ) diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/mapper/CuMemberMapper.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/mapper/CuMemberMapper.java index 450f7035..15e8b7cd 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/mapper/CuMemberMapper.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/mapper/CuMemberMapper.java @@ -604,7 +604,7 @@ public interface CuMemberMapper extends BaseMapper { * * @return */ - CuMember getShopkeeperMember(@Param("pkMember") Long pkMember); + CuMember getShopkeeperMember(@Param("pkMember") Long pkMember, @Param("gradeValue") Integer gradeValue); /** * 查询高级店主 diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/ICuMemberService.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/ICuMemberService.java index 8630427b..7c3313b9 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/ICuMemberService.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/ICuMemberService.java @@ -873,7 +873,7 @@ public interface ICuMemberService extends IService { * * @return */ - CuMember getShopkeeperMember(Long pkMember); + CuMember getShopkeeperMember(Long pkMember, Integer gradeValue); /** * 查询高级店主 diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberBusinessServiceImpl.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberBusinessServiceImpl.java index 75635f8e..774276d1 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberBusinessServiceImpl.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberBusinessServiceImpl.java @@ -918,7 +918,6 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService { // 处理推荐人等级 this.handleParentLevel(saOrder, currentDateTime); - // 部分撤单 todo 发货后邮费不退,未发货退邮费 if (saOrder.getPayType().equals(EOrderPayType.WALLET.getValue())) { // 钱包支付,则需要回退金额 // 部分撤单 @@ -1606,9 +1605,9 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService { if (null == gradeDTO) { gradeDTO = iGradeServiceApi.getGrade(cuMember.getPkSettleGrade()).getData(); } - if (EGrade.VIP.getValue() == gradeDTO.getGradeValue()) { - // 会员等级为 博羚店主,推荐人如果也是博羚店主,需要升级为高级店主 - CuMember parentMember = iCuMemberService.getShopkeeperMember(cuMember.getPkParent()); + if (gradeDTO.getGradeValue() >= EGrade.VIP.getValue()) { + // 会员等级大于等于 博羚店主,推荐人如果也是博羚店主,需要升级为高级店主 + CuMember parentMember = iCuMemberService.getShopkeeperMember(cuMember.getPkParent(), EGrade.VIP.getValue()); if (null != parentMember) { // 记录升级历史 GradeDTO upgradeDTO = iGradeServiceApi.getGradeByGradeValue(EGrade.S_VIP.getValue(), cuMember.getPkSettleCountry()).getData(); @@ -1624,6 +1623,31 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService { cuMemberLevel.setPkCreator(cuMember.getPkId()); iCuMemberLevelService.save(cuMemberLevel); + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.set(CuMember::getPkSettleGrade, upgradeDTO.getPkId()); + updateWrapper.eq(CuMember::getPkId, parentMember.getPkId()); + updateWrapper.set(CuMember::getPkModified, cuMember.getPkId()); + updateWrapper.set(CuMember::getModifiedTime, new Date()); + iCuMemberService.update(updateWrapper); + } + } else if (gradeDTO.getGradeValue() >= EGrade.REGION.getValue()) { + // 会员等级大于等于 区域代理,推荐人如果也是区域代理,需要升级为董事代理 + CuMember parentMember = iCuMemberService.getShopkeeperMember(cuMember.getPkParent(), EGrade.REGION.getValue()); + if (null != parentMember) { + // 记录升级历史 + GradeDTO upgradeDTO = iGradeServiceApi.getGradeByGradeValue(EGrade.DIRECTOR.getValue(), cuMember.getPkSettleCountry()).getData(); + CuMemberLevel cuMemberLevel = CuMemberLevel.builder() + .pkMember(parentMember.getPkId()) + .upType(EUpgradeType.AUTO_UPGRADE.getValue()) + .oldLevel(parentMember.getPkSettleGrade()) + .newLevel(upgradeDTO.getPkId()) + .upgradeTime(saOrder.getPayTime()) + .pkOrder(saOrder.getPkId()) + .build(); + cuMemberLevel.setPkCountry(cuMember.getPkSettleCountry()); + cuMemberLevel.setPkCreator(cuMember.getPkId()); + iCuMemberLevelService.save(cuMemberLevel); + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); updateWrapper.set(CuMember::getPkSettleGrade, upgradeDTO.getPkId()); updateWrapper.eq(CuMember::getPkId, parentMember.getPkId()); diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberServiceImpl.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberServiceImpl.java index 2ca06ece..ecfa05dc 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberServiceImpl.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberServiceImpl.java @@ -121,7 +121,7 @@ public class CuMemberServiceImpl extends ServiceImpl i @Autowired private ICuSettleCountryDetailedService iCuSettleCountryDetailedService; @Autowired - private ICuMemberBusinessService cuMemberBusinessService; + private ICuMemberBusinessService iCuMemberBusinessService; @Autowired private RabbitTemplate rabbitTemplate; @@ -2398,7 +2398,7 @@ public class CuMemberServiceImpl extends ServiceImpl i cuMember.setPkRegisterGrade(gradeDTO.getPkId()); cuMember.setPkSettleGrade(gradeDTO.getPkId()); cuMember.setPkAwards(gradeDTO.getPkAwards()); - cuMemberBusinessService.saveShareMember(cuMember); + iCuMemberBusinessService.saveShareMember(cuMember); return cuMember; } @@ -3245,8 +3245,8 @@ public class CuMemberServiceImpl extends ServiceImpl i } @Override - public CuMember getShopkeeperMember(Long pkMember) { - return baseMapper.getShopkeeperMember(pkMember); + public CuMember getShopkeeperMember(Long pkMember, Integer gradeValue) { + return baseMapper.getShopkeeperMember(pkMember, gradeValue); } @Override diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/vo/CuMemberRetailAchieveVO.java b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/vo/CuMemberRetailAchieveVO.java index 358a7b76..84ed0137 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/vo/CuMemberRetailAchieveVO.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/vo/CuMemberRetailAchieveVO.java @@ -52,7 +52,7 @@ public class CuMemberRetailAchieveVO implements Serializable { /** * 盒数 */ - private Integer boxs; + private BigDecimal boxs; /** * 状态 diff --git a/bd-business/bd-business-member/src/main/resources/mapper/member/base/CuMemberMapper.xml b/bd-business/bd-business-member/src/main/resources/mapper/member/base/CuMemberMapper.xml index 1357c44a..b0444400 100644 --- a/bd-business/bd-business-member/src/main/resources/mapper/member/base/CuMemberMapper.xml +++ b/bd-business/bd-business-member/src/main/resources/mapper/member/base/CuMemberMapper.xml @@ -2379,7 +2379,7 @@ left join bd_grade bg on bg.pk_id = cm.pk_settle_grade where cm.pk_id = #{pkMember} - and bg.grade_value = 60 + and bg.grade_value = #{gradeValue} diff --git a/bd-business/bd-business-report/src/main/java/com/hzs/report/member/vo/DirectPushAmountPvBoxVo.java b/bd-business/bd-business-report/src/main/java/com/hzs/report/member/vo/DirectPushAmountPvBoxVo.java index a45bf337..c1c1d163 100644 --- a/bd-business/bd-business-report/src/main/java/com/hzs/report/member/vo/DirectPushAmountPvBoxVo.java +++ b/bd-business/bd-business-report/src/main/java/com/hzs/report/member/vo/DirectPushAmountPvBoxVo.java @@ -9,11 +9,7 @@ import lombok.NoArgsConstructor; import java.math.BigDecimal; /** - * @description: 伞下直推查询会员大小区金额业绩盒数 - * @author: zhang jing - * @date: 2025/2/10 18:00 - * @param: - * @return: + * 伞下直推查询会员大小区金额业绩盒数 **/ @AllArgsConstructor @NoArgsConstructor @@ -36,71 +32,65 @@ public class DirectPushAmountPvBoxVo { /** * 盒数 */ - private Integer boxNum; + private BigDecimal boxNum; /** * 金额 */ @BigDecimalFormat() - private BigDecimal orderAmountReg=BigDecimal.ZERO; + private BigDecimal orderAmountReg = BigDecimal.ZERO; /** * 金额 */ @BigDecimalFormat() - private BigDecimal orderAmountUpg=BigDecimal.ZERO; + private BigDecimal orderAmountUpg = BigDecimal.ZERO; /** * 金额 */ @BigDecimalFormat() - private BigDecimal orderAmountRep=BigDecimal.ZERO; + private BigDecimal orderAmountRep = BigDecimal.ZERO; /** * 金额 */ @BigDecimalFormat() - private BigDecimal orderAmountCon=BigDecimal.ZERO; + private BigDecimal orderAmountCon = BigDecimal.ZERO; /** * 业绩 */ @BigDecimalFormat() - private BigDecimal orderAchieveReg=BigDecimal.ZERO; + private BigDecimal orderAchieveReg = BigDecimal.ZERO; /** * 业绩 */ @BigDecimalFormat() - private BigDecimal orderAchieveUpg=BigDecimal.ZERO; + private BigDecimal orderAchieveUpg = BigDecimal.ZERO; /** * 业绩 */ @BigDecimalFormat() - private BigDecimal orderAchieveRep=BigDecimal.ZERO; + private BigDecimal orderAchieveRep = BigDecimal.ZERO; /** * 业绩 */ @BigDecimalFormat() - private BigDecimal orderAchieveCon=BigDecimal.ZERO; + private BigDecimal orderAchieveCon = BigDecimal.ZERO; /** * 盒数 */ - private int boxNumReg; + private BigDecimal boxNumReg; /** * 盒数 */ - private int boxNumUpg; + private BigDecimal boxNumUpg; /** * 盒数 */ - private int boxNumRep; + private BigDecimal boxNumRep; /** * 盒数 */ - private int boxNumCon; - - - - - - + private BigDecimal boxNumCon; } 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 e6074edc..e81b9e08 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 @@ -38,23 +38,23 @@ TEAM_REP_AMOUNT NUMBER(17,6) default 0 not null, TEAM_CON_AMOUNT NUMBER(17,6) default 0 not null, - SUM_BOX NUMBER(8) default 0, - BIG_BOX NUMBER(8) default 0, - SMALL_BOX NUMBER(8) default 0, - REG_BOX NUMBER(8) default 0, - UPG_BOX NUMBER(8) default 0, - REP_BOX NUMBER(8) default 0, - CON_BOX NUMBER(8) default 0, - INFLATE_BIG_BOX NUMBER(8) default 0, - INFLATE_SMALL_BOX NUMBER(8) default 0, + SUM_BOX NUMBER(10, 2) default 0, + BIG_BOX NUMBER(10, 2) default 0, + SMALL_BOX NUMBER(10, 2) default 0, + REG_BOX NUMBER(10, 2) default 0, + UPG_BOX NUMBER(10, 2) default 0, + REP_BOX NUMBER(10, 2) default 0, + CON_BOX NUMBER(10, 2) default 0, + INFLATE_BIG_BOX NUMBER(10, 2) default 0, + INFLATE_SMALL_BOX NUMBER(10, 2) default 0, - TEAM_SUM_BOX NUMBER(18) default 0, - TEAM_BIG_BOX NUMBER(18) default 0, - TEAM_SMALL_BOX NUMBER(8) default 0, - TEAM_REG_BOX NUMBER(18) default 0, - TEAM_UPG_BOX NUMBER(18) default 0, - TEAM_REP_BOX NUMBER(18) default 0, - TEAM_CON_BOX NUMBER(18) default 0, + TEAM_SUM_BOX NUMBER(18, 2) default 0, + TEAM_BIG_BOX NUMBER(18, 2) default 0, + TEAM_SMALL_BOX NUMBER(8, 2) default 0, + TEAM_REG_BOX NUMBER(18, 2) default 0, + TEAM_UPG_BOX NUMBER(18, 2) default 0, + TEAM_REP_BOX NUMBER(18, 2) default 0, + TEAM_CON_BOX NUMBER(18, 2) default 0, SUM_PV NUMBER(17,6) default 0 not null, BIG_PV NUMBER(17,6) default 0 not null, diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/controller/service/impl/RetailOrderServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/controller/service/impl/RetailOrderServiceImpl.java index aa847938..352ee431 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/controller/service/impl/RetailOrderServiceImpl.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/controller/service/impl/RetailOrderServiceImpl.java @@ -236,7 +236,7 @@ public class RetailOrderServiceImpl implements IRetailOrderService { } } - // TODO 2025.08.04 注册、升级专区,下单支付会员如果是分公司,订单不需要发货,直接放入提货中心 + // 2025.08.04 注册、升级专区,下单支付会员如果是分公司,订单不需要发货,直接放入提货中心 CuMember createMember = orderParam.getCreatorMember(); if (null == createMember) { createMember = iMemberServiceApi.getMember(orderParam.getPkCreator()).getData(); @@ -273,7 +273,7 @@ public class RetailOrderServiceImpl implements IRetailOrderService { Map> postageMap = new HashMap<>(ComputeUtil.mapInitCapacity(waresDetailExtList.size())); // 当前盒数 - int boxNum = 0; + BigDecimal boxNum = BigDecimal.ZERO; // 设置已经累计盒数的商品列表 List tmpBoxWares = new ArrayList<>(); @@ -298,7 +298,7 @@ public class RetailOrderServiceImpl implements IRetailOrderService { if (boxWaresList.contains(waresDetailExt.getWaresCode())) { // 商品是盒数商品,需要累计数量 if (!tmpBoxWares.contains(waresDetailExt.getWaresCode())) { - boxNum += waresDetailExt.getBoxNum() * orderItems.getWaresQuantity(); + boxNum = boxNum.add(waresDetailExt.getBoxNum().multiply(new BigDecimal(orderItems.getWaresQuantity()))); tmpBoxWares.add(waresDetailExt.getWaresCode()); } } @@ -387,26 +387,6 @@ public class RetailOrderServiceImpl implements IRetailOrderService { } } - /** - * 根据购买盒数,返回商品价格 - * - * @param boxNum 盒数 - * @param gradeList 等级列表(倒序排序) - * @return - */ - private BigDecimal getWaresPrice(int boxNum, List gradeList) { - // 去掉升级条件带有累计盒数的(V4,V5)并且升级购买合数小于等于订单商品盒数的,再进行等级值倒序排序 - gradeList = gradeList.stream().filter(tmpGrade -> tmpGrade.getBoxTotal() == 0 && tmpGrade.getBoxNumber() <= boxNum).sorted(Comparator.comparingInt(BdGrade::getGradeValue).reversed()).collect(Collectors.toList()); - - for (BdGrade bdGrade : gradeList) { - if (boxNum > bdGrade.getBoxNumber()) { - // 盒数大于等于购买盒数 - return ERetailWaresPrice.getEnumByValue(bdGrade.getGradeValue()).getPrice(); - } - } - return ERetailWaresPrice.V0.getPrice(); - } - /** * 封装订单信息 * @@ -871,7 +851,7 @@ public class RetailOrderServiceImpl implements IRetailOrderService { || EOrderType.RETAIL_UPGRADE.getValue() == saOrder.getOrderType()) ) { // 会员激活状态为空 或 未激活,并且是 注册、升级 订单,判断会员是否激活 - if (saOrder.getBoxNum() > 0) { + if (saOrder.getBoxNum().compareTo(BigDecimal.ZERO) > 0) { // 存在指定盒数商品 cuMember.setIsActivate(EYesNo.YES.getIntValue()); if (EPayStatus.UNPAID.getValue() == cuMember.getPayStatus()) { @@ -961,49 +941,53 @@ public class RetailOrderServiceImpl implements IRetailOrderService { if (EYesNo.NO.getIntValue() == BdConfig.getProductSync()) { return; } - Map productMap = iBdProductService.queryProductMap(saOrderExt.getOrderItemsList().stream().map(SaOrderItems::getPkProduct).collect(Collectors.toSet()), null); - // 开启线程调用全网产品库存 - // 请求参数 - Map bodyMap = new HashMap<>(); - bodyMap.put("source", BdConfig.getSysName()); - bodyMap.put("orderCode", saOrderExt.getOrderCode()); - List> bodyDetailList = new ArrayList<>(); - for (SaOrderItems saOrderItems : saOrderExt.getOrderItemsList()) { - Map detailMap = new HashMap<>(); - detailMap.put("wmsCode", productMap.get(saOrderItems.getPkProduct()).getWmsCode()); - detailMap.put("changeNum", saOrderItems.getQuantity()); - bodyDetailList.add(detailMap); - } - bodyMap.put("detailList", bodyDetailList); - // 请求头 - String header = Base64Encoder.encode(BdConfig.getSysName() + "!" + saOrderExt.getOrderCode()); - ThreadUtils.threadPoolExecutor.submit(() -> { - log.info("同步产品,header: {}", header); - log.info("同步产品,bodyMap: {}", bodyMap); - HttpRequest httpRequest = HttpUtil.createPost(BdConfig.getProductSyncUrl()); - httpRequest.header("authorization", header); - httpRequest.body(JSONUtil.toJsonStr(bodyMap)); - httpRequest.setReadTimeout(5000); - try { - // 同步产品接口返回 - String resultStr = httpRequest.execute().body(); - AjaxResult ajaxResult = JSONUtil.toBean(resultStr, AjaxResult.class); - log.info("同步产品,resultStr: {}", resultStr); - if (!ajaxResult.isSuccess()) { - // 同步产品失败,250毫秒后重试 - Thread.sleep(250); - resultStr = httpRequest.execute().body(); - log.info("同步产品失败重试,resultStr: {}", resultStr); - } - } catch (Exception e) { - log.error("同步产品库存异常", e); - // 保存订单产品同步记录 - iSaOrderSyncService.save(SaOrderSync.builder() - .orderCode(saOrderExt.getOrderCode()) - .bodyDetail(JSONUtil.toJsonStr(bodyDetailList)) - .build()); + try { + Map productMap = iBdProductService.queryProductMap(saOrderExt.getOrderItemsList().stream().map(SaOrderItems::getPkProduct).collect(Collectors.toSet()), null); + // 开启线程调用全网产品库存 + // 请求参数 + Map bodyMap = new HashMap<>(); + bodyMap.put("source", BdConfig.getSysName()); + bodyMap.put("orderCode", saOrderExt.getOrderCode()); + List> bodyDetailList = new ArrayList<>(); + for (SaOrderItems saOrderItems : saOrderExt.getOrderItemsList()) { + Map detailMap = new HashMap<>(); + detailMap.put("wmsCode", productMap.get(saOrderItems.getPkProduct()).getWmsCode()); + detailMap.put("changeNum", saOrderItems.getQuantity()); + bodyDetailList.add(detailMap); } - }); + bodyMap.put("detailList", bodyDetailList); + // 请求头 + String header = Base64Encoder.encode(BdConfig.getSysName() + "!" + saOrderExt.getOrderCode()); + ThreadUtils.threadPoolExecutor.submit(() -> { + log.info("同步产品,header: {}", header); + log.info("同步产品,bodyMap: {}", bodyMap); + HttpRequest httpRequest = HttpUtil.createPost(BdConfig.getProductSyncUrl()); + httpRequest.header("authorization", header); + httpRequest.body(JSONUtil.toJsonStr(bodyMap)); + httpRequest.setReadTimeout(5000); + try { + // 同步产品接口返回 + String resultStr = httpRequest.execute().body(); + AjaxResult ajaxResult = JSONUtil.toBean(resultStr, AjaxResult.class); + log.info("同步产品,resultStr: {}", resultStr); + if (!ajaxResult.isSuccess()) { + // 同步产品失败,250毫秒后重试 + Thread.sleep(250); + resultStr = httpRequest.execute().body(); + log.info("同步产品失败重试,resultStr: {}", resultStr); + } + } catch (Exception e) { + log.error("同步产品库存异常", e); + // 保存订单产品同步记录 + iSaOrderSyncService.save(SaOrderSync.builder() + .orderCode(saOrderExt.getOrderCode()) + .bodyDetail(JSONUtil.toJsonStr(bodyDetailList)) + .build()); + } + }); + } catch (Exception e) { + log.error("同步产品异常: ", e); + } } } diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/mapper/SaOrderItemsMapper.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/mapper/SaOrderItemsMapper.java index caa08a22..d45385d3 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/mapper/SaOrderItemsMapper.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/mapper/SaOrderItemsMapper.java @@ -14,6 +14,7 @@ import com.hzs.sale.order.param.WaresOrderParam; import com.hzs.sale.order.vo.WaresOrderVo; import org.apache.ibatis.annotations.Param; +import java.math.BigDecimal; import java.util.Date; import java.util.List; @@ -285,11 +286,11 @@ public interface SaOrderItemsMapper extends BaseMapper { * @param systemType 系统类型(可为null) * @return */ - int getRetailWaresQuantityNew(@Param("pkMember") Long pkMember, - @Param("waresCodeList") List waresCodeList, - @Param("payTime") Date payTime, - @Param("orderTypeList") List orderTypeList, - @Param("systemType") Integer systemType); + BigDecimal getRetailWaresQuantityNew(@Param("pkMember") Long pkMember, + @Param("waresCodeList") List waresCodeList, + @Param("payTime") Date payTime, + @Param("orderTypeList") List orderTypeList, + @Param("systemType") Integer systemType); /** * 订单发货数量 diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/param/OrderItemsParam.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/param/OrderItemsParam.java index 5d53a1d6..9d0a68eb 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/param/OrderItemsParam.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/param/OrderItemsParam.java @@ -6,6 +6,7 @@ import lombok.Data; import lombok.NoArgsConstructor; import java.io.Serializable; +import java.math.BigDecimal; import java.util.List; /** @@ -42,7 +43,7 @@ public class OrderItemsParam implements Serializable { /** * 商品盒数 */ - private Integer boxNum; + private BigDecimal boxNum; /** * 商品明细 diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/ISaOrderItemsService.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/ISaOrderItemsService.java index 63d71342..6d9782f2 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/ISaOrderItemsService.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/ISaOrderItemsService.java @@ -14,6 +14,7 @@ import com.hzs.sale.order.param.WaresOrderParam; import com.hzs.sale.order.vo.WaresOrderVo; import org.apache.ibatis.annotations.Param; +import java.math.BigDecimal; import java.util.Date; import java.util.List; @@ -249,7 +250,7 @@ public interface ISaOrderItemsService extends IService { * @param systemType 系统类型(可为null) * @return */ - int getRetailWaresQuantityNew(Long pkMember, List waresCodeList, Date payTime, List orderTypeList, Integer systemType); + BigDecimal getRetailWaresQuantityNew(Long pkMember, List waresCodeList, Date payTime, List orderTypeList, Integer systemType); /** * 订单发货数量 diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/ISaOrderService.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/ISaOrderService.java index c5dcf188..0b109c00 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/ISaOrderService.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/ISaOrderService.java @@ -603,7 +603,7 @@ public interface ISaOrderService extends IService { * @param checkUpgrade 校验升级 * @return */ - BdGrade getGradeByBox(final Integer boxTotal, List gradeList, BdGrade memberGrade, boolean checkUpgrade); + BdGrade getGradeByBox(final BigDecimal boxTotal, List gradeList, BdGrade memberGrade, boolean checkUpgrade); /** * 处理升级盒数基数 @@ -615,7 +615,7 @@ public interface ISaOrderService extends IService { * @param systemType 所属系统 * @return */ - int handleBaseBoxNum(CuMember cuMember, BdGrade memberGrade, List gradeList, List boxProductList, Integer systemType); + BigDecimal handleBaseBoxNum(CuMember cuMember, BdGrade memberGrade, List gradeList, List boxProductList, Integer systemType); /** * 查询省、市、区绑定次数 diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/OrderBusinessServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/OrderBusinessServiceImpl.java index 15d6fe6e..39601676 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/OrderBusinessServiceImpl.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/OrderBusinessServiceImpl.java @@ -2286,7 +2286,7 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService { // 调换货物选择不同产品,没有商品信息,此处先全部按默认值来处理 // 2025.02.11 如果盒数商品,历史商品ID不变,非盒数商品进行处理 - if (saOrder.getBoxNum() == 0) { + if (saOrder.getBoxNum().compareTo(BigDecimal.ZERO) == 0) { saOrderItems.setPkWares(0); } saOrderItems.setPkWaresDetail(0); diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderItemsServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderItemsServiceImpl.java index b4649ded..9ec79b64 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderItemsServiceImpl.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderItemsServiceImpl.java @@ -20,6 +20,7 @@ import com.hzs.sale.order.vo.WaresOrderVo; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.math.BigDecimal; import java.util.*; /** @@ -191,7 +192,7 @@ public class SaOrderItemsServiceImpl extends ServiceImpl waresCodeList, Date payTime, List orderTypeList, Integer systemType) { + public BigDecimal getRetailWaresQuantityNew(Long pkMember, List waresCodeList, Date payTime, List orderTypeList, Integer systemType) { return baseMapper.getRetailWaresQuantityNew(pkMember, waresCodeList, payTime, orderTypeList, systemType); } diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderServiceImpl.java index 0b35b5e2..09930e71 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderServiceImpl.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderServiceImpl.java @@ -2132,18 +2132,18 @@ public class SaOrderServiceImpl extends ServiceImpl impl gradeList = iGradeServiceApi.getRetailGradeList().getData(); } - // 盒数产品 + // 盒数商品 List boxWaresList = BoxProductUtil.getBoxProductListBySystemType(systemType); // 当前产品盒数 - int boxNum = 0; + BigDecimal boxNum = BigDecimal.ZERO; // 处理商品盒数 this.handleWaresBoxNum(specialArea, orderItemsParams); // 判断订单明细中指定产品数量,校验等级 for (OrderItemsParam orderItemsParam : orderItemsParams) { if (boxWaresList.contains(orderItemsParam.getWaresCode())) { // 存在指定商品,需要累计盒数 - boxNum += orderItemsParam.getBoxNum() * orderItemsParam.getQuantity(); + boxNum = boxNum.add(orderItemsParam.getBoxNum().multiply(new BigDecimal(orderItemsParam.getQuantity()))); } } @@ -2154,7 +2154,8 @@ public class SaOrderServiceImpl extends ServiceImpl impl bdGrade = this.getGradeByBox(boxNum, gradeList, null, true); } else if (ESpecialArea.RETAIL_UPGRADE.getValue() == specialArea) { // 升级专区,一次性补差升级 - if (boxNum == 0) { + // 2025.08.20 升级方式改为累计升级制 + if (boxNum.compareTo(BigDecimal.ZERO) == 0) { // 不满足升级条件 throw new ServiceException("不满足升级条件"); } @@ -2167,9 +2168,14 @@ public class SaOrderServiceImpl extends ServiceImpl impl } // 获取升级盒数基数 - int baseBoxNum = this.handleBaseBoxNum(updateGradeMember, memberGrade, gradeList, boxWaresList, systemType); + BigDecimal baseBoxNum = this.handleBaseBoxNum(updateGradeMember, memberGrade, gradeList, boxWaresList, systemType); // 计算等级 - bdGrade = this.getGradeByBox(boxNum + baseBoxNum, gradeList, memberGrade, true); + bdGrade = this.getGradeByBox(boxNum.add(baseBoxNum), gradeList, memberGrade, true); + + // 2025.08.20 升级方式改为累计升级制 + if (memberGrade.getGradeValue().equals(bdGrade.getGradeValue())) { + return bdGrade; + } // 会员等级 大于等于 购买盒数等级,则不充足升级条件 if (memberGrade.getGradeValue().compareTo(bdGrade.getGradeValue()) >= 0) { @@ -2180,18 +2186,18 @@ public class SaOrderServiceImpl extends ServiceImpl impl } @Override - public BdGrade getGradeByBox(final Integer boxTotal, List gradeList, BdGrade memberGrade, boolean checkUpgrade) { + public BdGrade getGradeByBox(final BigDecimal boxTotal, List gradeList, BdGrade memberGrade, boolean checkUpgrade) { if (CollectionUtil.isEmpty(gradeList)) { gradeList = iGradeServiceApi.getRetailGradeList().getData(); } if (null == memberGrade) { // 注册处理 - // 小于总公司等级 并且 排除高级店主 并且 升级盒数小于购买盒数的最大一个等级为注册等级 + // 小于总公司等级 并且 排除高级店主、董事代理 并且 升级盒数小于购买盒数的最大一个等级为注册等级 return gradeList.stream() - .filter(tmpGrade -> tmpGrade.getGradeValue() != EGrade.S_VIP.getValue() + .filter(tmpGrade -> tmpGrade.getGradeValue() != EGrade.S_VIP.getValue() && tmpGrade.getGradeValue() != EGrade.DIRECTOR.getValue() && tmpGrade.getGradeValue() < EGrade.COMPANY.getValue() - && tmpGrade.getBoxNumber() <= boxTotal) + && tmpGrade.getBoxNumber().compareTo(boxTotal) <= 0) .max(Comparator.comparingInt(BdGrade::getGradeValue)).get(); } else { // 非注册处理 @@ -2213,8 +2219,8 @@ public class SaOrderServiceImpl extends ServiceImpl impl Optional gradeOptional = gradeList.stream() .filter(tmpGrade -> tmpGrade.getGradeValue() != EGrade.S_VIP.getValue() && tmpGrade.getGradeValue() > memberGrade.getGradeValue()) .sorted(Comparator.comparingInt(BdGrade::getGradeValue).reversed()) - .filter(tmpGrade -> tmpGrade.getBoxNumber() != 0) - .filter(tmpGrade -> tmpGrade.getBoxNumber() <= boxTotal).findFirst(); + .filter(tmpGrade -> tmpGrade.getBoxNumber().compareTo(BigDecimal.ZERO) > 0) + .filter(tmpGrade -> tmpGrade.getBoxNumber().compareTo(boxTotal) <= 0).findFirst(); return gradeOptional.orElse(memberGrade); } } @@ -2231,11 +2237,10 @@ public class SaOrderServiceImpl extends ServiceImpl impl * @return */ @Override - public int handleBaseBoxNum(CuMember cuMember, BdGrade memberGrade, - List gradeList, List boxWaresList, + public BigDecimal handleBaseBoxNum(CuMember cuMember, BdGrade memberGrade, List gradeList, List boxWaresList, Integer systemType) { // 升级盒数基数 - int baseBoxNum = 0; + BigDecimal baseBoxNum = BigDecimal.ZERO; // 会员所有升级记录 List memberLevelList = iCuMemberDetailServiceApi.getUpgradeList(cuMember.getPkId()).getData(); if (CollectionUtil.isNotEmpty(memberLevelList)) { @@ -2245,11 +2250,18 @@ public class SaOrderServiceImpl extends ServiceImpl impl CuMemberLevel lastMemberLevel = lastManualOptional.get(); BdGrade lastUpdateGrade = gradeList.stream().filter(tmpGrade -> tmpGrade.getPkId().equals(lastMemberLevel.getNewLevel())).findFirst().get(); // 盒数基数 = 手动升级盒数 + 手动升级之后的升级订单盒数 - baseBoxNum = lastUpdateGrade.getBoxNumber() - + iSaOrderItemsService.getRetailWaresQuantityNew(cuMember.getPkId(), boxWaresList, lastMemberLevel.getUpgradeTime(), Collections.singletonList(EOrderType.RETAIL_UPGRADE.getValue()), systemType); + BigDecimal oldBoxNum = iSaOrderItemsService.getRetailWaresQuantityNew(cuMember.getPkId(), boxWaresList, lastMemberLevel.getUpgradeTime(), Collections.singletonList(EOrderType.RETAIL_UPGRADE.getValue()), systemType); + if (null != oldBoxNum) { + baseBoxNum = lastUpdateGrade.getBoxNumber().add(oldBoxNum); + } else { + baseBoxNum = lastUpdateGrade.getBoxNumber(); + } } else { // 没有手动升级记录 - baseBoxNum = iSaOrderItemsService.getRetailWaresQuantityNew(cuMember.getPkId(), boxWaresList, null, Arrays.asList(EOrderType.RETAIL_REGISTER.getValue(), EOrderType.RETAIL_UPGRADE.getValue()), systemType); + BigDecimal oldBoxNum = iSaOrderItemsService.getRetailWaresQuantityNew(cuMember.getPkId(), boxWaresList, null, Arrays.asList(EOrderType.RETAIL_REGISTER.getValue(), EOrderType.RETAIL_UPGRADE.getValue()), systemType); + if (null != oldBoxNum) { + baseBoxNum = oldBoxNum; + } } } return baseBoxNum; diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/controller/manage/BdWaresController.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/controller/manage/BdWaresController.java index 8bc64370..135e3351 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/controller/manage/BdWaresController.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/controller/manage/BdWaresController.java @@ -517,8 +517,7 @@ public class BdWaresController extends BaseController { waresParams.setPkSpecialCurrency(waresExtend.getPkSpecialCurrency()); waresParams.setSortStatus(wares.getSortStatus()); waresParams.setSystemType(waresExtend.getSystemType()); - waresParams. - setAreaIncome(wares.getAreaIncome()); + waresParams.setAreaIncome(wares.getAreaIncome()); waresParams.setBoxNum(wares.getBoxNum()); BdAreaClassify parentAreaClassify = areaClassifyService.getAreaClassify(wares.getPkAreaClassify()); diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/param/WaresParams.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/param/WaresParams.java index 2c6cb000..64b4e14a 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/param/WaresParams.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/param/WaresParams.java @@ -412,6 +412,6 @@ public class WaresParams implements Serializable { /** * 商品上传盒数 */ - private Integer boxNum; + private BigDecimal boxNum; } diff --git a/bd-business/bd-business-sale/src/main/resources/mapper/sale/order/SaOrderItemsMapper.xml b/bd-business/bd-business-sale/src/main/resources/mapper/sale/order/SaOrderItemsMapper.xml index bae2e4cb..f87658da 100644 --- a/bd-business/bd-business-sale/src/main/resources/mapper/sale/order/SaOrderItemsMapper.xml +++ b/bd-business/bd-business-sale/src/main/resources/mapper/sale/order/SaOrderItemsMapper.xml @@ -1160,15 +1160,9 @@ - + select sum(so.box_num) wares_quantity from sa_order so - left join sa_order_items soi - on soi.pk_order = so.pk_id - and soi.del_flag = 0 - and soi.is_gift = 1 - left join bd_wares bw - on bw.pk_id = soi.pk_wares where so.del_flag = 0 and so.order_status = 1 and so.pk_member = #{pkMember} @@ -1179,10 +1173,6 @@ #{item} - and bw.wares_code in - - #{items} - and so.pay_time > #{payTime} diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EUpgradeType.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EUpgradeType.java index caac6485..e9235952 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EUpgradeType.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EUpgradeType.java @@ -12,7 +12,7 @@ import lombok.Getter; public enum EUpgradeType { /** - * 1=自动升级 -- 目前只高级店主升级为自动升级 + * 1=自动升级 -- 高级店主升级为自动升级、董事代理为自动升级 */ AUTO_UPGRADE(1, "自动升级", 0, EnumsPrefixConstants.UPGRADE_TYPE + 1), diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/achieve/CuMemberRetailRange.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/achieve/CuMemberRetailRange.java index 6183a357..db1549e8 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/achieve/CuMemberRetailRange.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/achieve/CuMemberRetailRange.java @@ -117,17 +117,17 @@ public class CuMemberRetailRange extends BaseEntity { * 本人当天新消费盒数 */ @TableField("NEW_BOX_NUM") - private Integer newBoxNum; + private BigDecimal newBoxNum; /** * 本人累计消费盒数 */ @TableField("CONSUME_BOX_NUM") - private Integer consumeBoxNum; + private BigDecimal consumeBoxNum; /** * 本人月累计盒数 */ @TableField("MONTH_BOX_NUM") - private Integer monthBoxNum; + private BigDecimal monthBoxNum; /** * 本人当天新消费pv @@ -159,17 +159,17 @@ public class CuMemberRetailRange extends BaseEntity { * 团队当天新增盒数 */ @TableField("TEAM_NEW_BOX_NUM") - private Integer teamNewBoxNum; + private BigDecimal teamNewBoxNum; /** * 团队累计盒数 */ @TableField("TEAM_BOX_NUM") - private Integer teamBoxNum; + private BigDecimal teamBoxNum; /** * 团队月累计盒数 */ @TableField("TEAM_MONTH_BOX_NUM") - private Integer teamMonthBoxNum; + private BigDecimal teamMonthBoxNum; /** * 团队当天新增消费pv @@ -238,13 +238,13 @@ public class CuMemberRetailRange extends BaseEntity { * 大区注水盒数 */ @TableField("big_box_num") - private Integer bigBoxNum; + private BigDecimal bigBoxNum; /** * 小区注水盒数 */ @TableField("small_box_num") - private Integer smallBoxNum; + private BigDecimal smallBoxNum; @TableField("big_team_pv") private BigDecimal bigTeamPv; diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/sale/ext/BdWaresDetailExt.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/sale/ext/BdWaresDetailExt.java index 71971975..2c20b8e0 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/sale/ext/BdWaresDetailExt.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/sale/ext/BdWaresDetailExt.java @@ -141,6 +141,6 @@ public class BdWaresDetailExt extends BdWaresDetail { /** * 商品上传盒数 */ - private Integer boxNum; + private BigDecimal boxNum; } diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/sale/order/SaOrder.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/sale/order/SaOrder.java index 45cc2441..91101ae7 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/sale/order/SaOrder.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/sale/order/SaOrder.java @@ -224,6 +224,6 @@ public class SaOrder extends BaseEntity { * 指定商品盒数 */ @TableField("BOX_NUM") - private Integer boxNum; + private BigDecimal boxNum; } diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/sale/wares/BdWares.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/sale/wares/BdWares.java index 3c58acc1..92a0521f 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/sale/wares/BdWares.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/sale/wares/BdWares.java @@ -226,6 +226,6 @@ public class BdWares extends BaseEntity { * 商品上传盒数 */ @TableField("BOX_NUM") - private Integer boxNum; + private BigDecimal boxNum; } diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/system/config/BdGrade.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/system/config/BdGrade.java index bb00bcc1..1904ed87 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/system/config/BdGrade.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/system/config/BdGrade.java @@ -161,19 +161,19 @@ public class BdGrade extends BaseEntity { * 购买盒数 */ @TableField("BOX_NUMBER") - private Integer boxNumber; + private BigDecimal boxNumber; /** * 累计盒数 */ @TableField("BOX_TOTAL") - private Integer boxTotal; + private BigDecimal boxTotal; /** * 小市场盒数 */ @TableField("BOX_SMALL_TOTAL") - private Integer boxSmallTotal; + private BigDecimal boxSmallTotal; /** * 购买价格