diff --git a/bd-api/bd-api-member/src/main/java/com/hzs/member/detail/ICuMemberDetailServiceApi.java b/bd-api/bd-api-member/src/main/java/com/hzs/member/detail/ICuMemberDetailServiceApi.java
index d7a7b25b..81d8a032 100644
--- a/bd-api/bd-api-member/src/main/java/com/hzs/member/detail/ICuMemberDetailServiceApi.java
+++ b/bd-api/bd-api-member/src/main/java/com/hzs/member/detail/ICuMemberDetailServiceApi.java
@@ -8,11 +8,7 @@ import com.hzs.common.domain.member.detail.ext.CuMemberAwardsExt;
import java.util.List;
/**
- * @Description: 会员升级记录dubbo服务
- * @Author: jiang chao
- * @Time: 2024/1/30 17:24
- * @Classname: ICuMemberLevelServiceApi
- * @PackageName: com.hzs.member.detail
+ * 会员升级记录dubbo服务
*/
public interface ICuMemberDetailServiceApi {
diff --git a/bd-api/bd-api-report/src/main/java/com/hzs/report/stat/IMemberReportServiceApi.java b/bd-api/bd-api-report/src/main/java/com/hzs/report/stat/IMemberReportServiceApi.java
index f3911c5d..87cc82da 100644
--- a/bd-api/bd-api-report/src/main/java/com/hzs/report/stat/IMemberReportServiceApi.java
+++ b/bd-api/bd-api-report/src/main/java/com/hzs/report/stat/IMemberReportServiceApi.java
@@ -1,37 +1,20 @@
package com.hzs.report.stat;
import com.hzs.common.core.domain.R;
-import com.hzs.common.core.enums.EApprovalBusiness;
-import com.hzs.report.stat.dto.StatisticalLogDTO;
-import com.hzs.system.sys.dto.ApprovalBusinessResultDTO;
-
-import java.util.List;
/**
- * @description: 统计分析
- * @author: zhang jing
- * @date: 2025/2/12 15:22
- * @param:
- * @return:
+ * 统计分析
**/
public interface IMemberReportServiceApi {
+ /**
+ * 定时任务批量处理统计会员以及伞下金额业绩盒数
+ **/
+ R> pushAmountBoxmethod();
/**
- * @description: 定时任务批量处理统计会员以及伞下金额业绩盒数
- * @author: zhang jing
- * @date: 2025/2/13 10:41
- * @param: []
- * @return: com.hzs.common.core.domain.R
+ * 定时任务7天重算直推会员金额业绩盒数
**/
- R pushAmountBoxmethod();
- /**
- * @description: 定时任务7天重算直推会员金额业绩盒数
- * @author: zhang jing
- * @date: 2025/2/13 10:41
- * @param: [startDateStr, endDateStr]
- * @return: com.hzs.common.core.domain.R
- **/
- R repeatPushAmountBoxmethod(String startDateStr, String endDateStr);
+ R> repeatPushAmountBoxmethod(String startDateStr, String endDateStr);
}
diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/mapper/CuMemberRetailLogMapper.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/mapper/CuMemberRetailLogMapper.java
index f13b56d5..fed3aac8 100644
--- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/mapper/CuMemberRetailLogMapper.java
+++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/mapper/CuMemberRetailLogMapper.java
@@ -7,20 +7,13 @@ import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
- *
* 秒接日志记录表 Mapper 接口
- *
- *
- * @author hzs
- * @since 2024-12-27
*/
public interface CuMemberRetailLogMapper extends BaseMapper {
/*
- * @description: 更新会员日志
- * @author: sui q
- * @date: 2024/12/31 13:44
- * @param: null null
+ * 更新会员日志
**/
void updateCuMemberRetailLogByList(@Param("cuMemberRetailLogs") List cuMemberRetailLogs);
+
}
diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/provider/MemberSettleBonusProvider.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/provider/MemberSettleBonusProvider.java
index 1274e5aa..71dee107 100644
--- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/provider/MemberSettleBonusProvider.java
+++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/provider/MemberSettleBonusProvider.java
@@ -30,27 +30,22 @@ import java.util.List;
public class MemberSettleBonusProvider implements IMemberSettleBonusApi {
@Autowired
- private ICuMemberMonthAchieveService cuMemberMonthAchieveService;
-
+ private ICuMemberMonthAchieveService iCuMemberMonthAchieveService;
@Autowired
- private IBonusSettleService bonusSettleService;
-
+ private IBonusSettleService iBonusSettleService;
@Autowired
- private ICuMemberBonusService cuMemberBonusService;
-
+ private IBonusGrantService iBonusGrantService;
@Autowired
- private IBonusGrantService bonusGrantService;
-
+ private ICuMemberBonusService iCuMemberBonusService;
@Autowired
- private ICuMemberAchieveService cuMemberAchieveService;
-
+ private ICuMemberAchieveService iCuMemberAchieveService;
@Autowired
- private ICuMemberRetailLogService cuMemberRetailLogService;
+ private ICuMemberRetailLogService iCuMemberRetailLogService;
@Override
public R calculateCumberBonusBySecond(String orderCode) {
try {
- bonusSettleService.calculateCumberBonusBySecond(orderCode);
+ iBonusSettleService.calculateCumberBonusBySecond(orderCode);
} catch (Exception e) {
return R.fail();
}
@@ -69,7 +64,7 @@ public class MemberSettleBonusProvider implements IMemberSettleBonusApi {
@Override
public void backupsSettleBonusEveryday() {
- cuMemberBonusService.backupsSettleBonusEveryday();
+ iCuMemberBonusService.backupsSettleBonusEveryday();
}
class BonusCalculateBonus extends Thread {
@@ -82,55 +77,53 @@ public class MemberSettleBonusProvider implements IMemberSettleBonusApi {
@Override
public void run() {
- if (DateUtils.compareDateBefore(settleDate, DateUtils.parseStringToDate("2023-09-04"))) {
- return;
- }
Date settleEndDate = DateUtils.afterDate(1, ChronoUnit.DAYS, settleDate);
- log.info("奖金结算完成,结算时间:{}", DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, settleDate));
+ log.info("奖金结算开始, 结算时间:{}", DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, settleDate));
// 奖金结算
try {
- cuMemberBonusService.autoCalculateBonus(settleDate, settleEndDate);
+ iCuMemberBonusService.autoCalculateBonus(settleDate, settleEndDate);
+ log.info("奖金结算结束");
} catch (Exception e) {
- log.info("BonusCalculateBonus error: ", e);
+ log.error("奖金结算异常,结算时间:{}", DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, settleDate), e);
}
}
}
@Override
public void insertCuMemberAchieveByEveryDay() {
- cuMemberMonthAchieveService.insertCuMemberAchieveByEveryDay(DateUtils.beforeDate(1, ChronoUnit.DAYS));
+ iCuMemberMonthAchieveService.insertCuMemberAchieveByEveryDay(DateUtils.beforeDate(1, ChronoUnit.DAYS));
}
@Override
public void autoPublishBonus() {
- bonusGrantService.publishBonusByPeriodEveryDay();
+ iBonusGrantService.publishBonusByPeriodEveryDay();
}
@Override
public void autoGrantBonus() {
- bonusGrantService.grantWithdrawBonusByPeriodEveryDay();
+ iBonusGrantService.grantWithdrawBonusByPeriodEveryDay();
}
@Override
public Boolean chargeBackSaOrder(SaOrder saOrder) {
- return cuMemberAchieveService.chargeBackSaOrder(saOrder);
+ return iCuMemberAchieveService.chargeBackSaOrder(saOrder);
}
@Override
public void calculateCuMemberRetailRangeBonusBySaOrder() {
- List cuMemberRetailLogs = cuMemberRetailLogService.queryCuMemberRetailLog();
+ List cuMemberRetailLogs = iCuMemberRetailLogService.queryCuMemberRetailLog();
if (cuMemberRetailLogs.size() > 0) {
List successLogList = new ArrayList<>();
try {
for (CuMemberRetailLog cuMemberRetailLog : cuMemberRetailLogs) {
- bonusSettleService.calculateCuMemberRetailRangeBonusBySaOrder(cuMemberRetailLog.getOrderCode());
+ iBonusSettleService.calculateCuMemberRetailRangeBonusBySaOrder(cuMemberRetailLog.getOrderCode());
successLogList.add(cuMemberRetailLog);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (successLogList.size() > 0) {
- cuMemberRetailLogService.updateCuMemberRetailLogByList(successLogList);
+ iCuMemberRetailLogService.updateCuMemberRetailLogByList(successLogList);
}
}
}
@@ -138,6 +131,6 @@ public class MemberSettleBonusProvider implements IMemberSettleBonusApi {
@Override
public R queryValidateBoxOrAchieve(Long pkMember) {
- return R.ok(bonusSettleService.queryValidateBoxOrAchieve(pkMember));
+ return R.ok(iBonusSettleService.queryValidateBoxOrAchieve(pkMember));
}
}
diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/IBonusSettleService.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/IBonusSettleService.java
index 3489cd83..b93db1fd 100644
--- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/IBonusSettleService.java
+++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/IBonusSettleService.java
@@ -1,27 +1,20 @@
package com.hzs.bonus.bonus.service;
import com.hzs.common.domain.member.bonus.CuMemberRetail;
-import com.hzs.common.domain.member.ext.CuMemberSettleExt;
import com.hzs.common.domain.sale.ext.SaOrderExt;
import java.util.List;
/**
- * @Description: 奖金结算服务类
- * @Author: sui q
- * @Time: 2022/11/3 18:49
- * @Classname: IBonusSettleService
- * @PackageName: com.hzs.member.achieve.service
+ * 奖金结算服务类
*/
public interface IBonusSettleService {
/**
* 根据秒结算会员奖金
+ *
* @param orderCode 订单
- * @return: List
- * @Author: sui q
- * @Date: 2023/2/1 21:27
- */
+ */
void calculateCumberBonusBySecond(String orderCode);
/**
@@ -29,32 +22,22 @@ public interface IBonusSettleService {
*
* @param date 结算日期
* @param saOrderExtList 订单
- * @Author: sui q
- * @Date: 2022/11/3 13:56
*/
void calculateCuMemberBonus(String date, List saOrderExtList);
/*
- * @description: 根据订单计算新零售奖金
- * @author: sui q
- * @date: 2024/12/12 9:39
- * @param: null null
+ * 根据订单计算新零售奖金
**/
void calculateCuMemberRetailRangeBonusBySaOrder(String orderCode);
/*
- * @description: 4-n配置修改后,重算首购奖金
- * @author: sui q
- * @date: 2024/7/23 11:15
- * @param: null null
+ * 4-n配置修改后,重算首购奖金
**/
void repeatCuMemberBonusByExpand(String settleDate, List saOrderExtList);
/*
- * @description: 根据会员查询会员的 大小区盒数、业绩
- * @author: sui q
- * @date: 2025/2/20 15:10
- * @param: null null
+ * 根据会员查询会员的 大小区盒数、业绩
**/
CuMemberRetail queryValidateBoxOrAchieve(Long pkMember);
+
}
diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/ICuMemberRetailLogService.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/ICuMemberRetailLogService.java
index 363fe74e..2c7b76f6 100644
--- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/ICuMemberRetailLogService.java
+++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/ICuMemberRetailLogService.java
@@ -6,28 +6,18 @@ import com.hzs.common.domain.member.bonus.CuMemberRetailLog;
import java.util.List;
/**
- *
* 秒接日志记录表 服务类
- *
- *
- * @author hzs
- * @since 2024-12-27
*/
public interface ICuMemberRetailLogService extends IService {
/*
- * @description: 查询24小时之内失败的记录,重试
- * @author: sui q
- * @date: 2024/12/31 13:35
- * @param: null null
+ * 查询24小时之内失败的记录,重试
**/
List queryCuMemberRetailLog();
/*
- * @description: 更新会员日志
- * @author: sui q
- * @date: 2024/12/31 13:44
- * @param: null null
+ * 更新会员日志
**/
void updateCuMemberRetailLogByList(List cuMemberRetailLogs);
+
}
diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleHandle.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleHandle.java
index b35f2d44..f7fd7985 100644
--- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleHandle.java
+++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleHandle.java
@@ -1,12 +1,8 @@
package com.hzs.bonus.bonus.service.impl;
-import cn.hutool.core.collection.CollectionUtil;
import com.hzs.bonus.achieve.param.MemberAchieveParam;
-import com.hzs.bonus.achieve.service.ICuMemberAchieveService;
import com.hzs.bonus.achieve.service.ICuMemberSettlePeriodService;
import com.hzs.bonus.achieve.service.ICuMemberTreeService;
-import com.hzs.bonus.base.service.ICuMemberService;
-import com.hzs.bonus.bonus.service.ICuBonusExpandService;
import com.hzs.bonus.detail.service.ICuMemberAssessService;
import com.hzs.common.core.constant.BonusFieldConstants;
import com.hzs.common.core.constant.CountryConstants;
@@ -18,7 +14,6 @@ import com.hzs.common.core.utils.ComputeUtil;
import com.hzs.common.core.utils.DateUtils;
import com.hzs.common.core.utils.reflect.ReflectUtils;
import com.hzs.common.domain.bonus.BdBonusDeduct;
-import com.hzs.common.domain.member.achieve.CuMemberRetailRange;
import com.hzs.common.domain.member.achieve.CuMemberTree;
import com.hzs.common.domain.member.achieve.ext.CuMemberRangeExt;
import com.hzs.common.domain.member.achieve.ext.CuMemberRetailRangeExt;
@@ -28,7 +23,6 @@ import com.hzs.common.domain.member.detail.CuMemberAssess;
import com.hzs.common.domain.member.ext.CuMemberSettleExt;
import com.hzs.common.domain.sale.ext.SaOrderExt;
import com.hzs.common.domain.sale.order.SaOrder;
-import com.hzs.common.domain.sale.order.SaOrderBonus;
import com.hzs.common.domain.system.config.BdAwards;
import com.hzs.common.domain.system.config.BdGrade;
import com.hzs.common.domain.system.config.ext.BdBonusItemsExt;
@@ -47,27 +41,18 @@ import org.springframework.stereotype.Component;
import java.math.BigDecimal;
import java.util.*;
-/**
- * @Description:
- * @Author: sui q
- * @Time: 2022/11/16 11:24
- * @Classname: BonusSettleHandle
- * @PackageName: com.hzs.member.achieve.service.impl
- */
@Component
public abstract class BonusSettleHandle {
- protected ICuMemberTreeService cuMemberTreeService;
-
@DubboReference
protected ISaOrderServiceApi saOrderServiceApi;
-
@DubboReference
protected IBonusItemsServiceApi bonusItemsServiceApi;
-
@DubboReference
private ICurrencyServiceApi currencyServiceApi;
+ protected ICuMemberTreeService cuMemberTreeService;
+
@Autowired
public void setCuMemberTreeService(ICuMemberTreeService cuMemberTreeService) {
this.cuMemberTreeService = cuMemberTreeService;
@@ -148,14 +133,12 @@ public abstract class BonusSettleHandle {
}
/**
+ * 获得国家对应的4-n参数比例
+ *
* @param bonusConfigDTO 奖金配置汇总
* @param memberSettleExt 会员
* @param endTouch 4-n的次数
* @param bdGrade 等级
- * @Description: 获得国家对应的4-n参数比例
- * @return: BigDecimal
- * @Author: sui q
- * @Date: 2022/11/16 11:27
*/
protected BigDecimal getCountryExpand(BonusConfigDTO bonusConfigDTO, CuMemberSettleExt memberSettleExt, Integer endTouch, BdGrade bdGrade,
BigDecimal addTouch, BigDecimal editExpandRatio) {
@@ -175,14 +158,12 @@ public abstract class BonusSettleHandle {
}
/**
+ * 获得国家对应的4-n参数比例
+ *
* @param bonusConfigDTO 奖金配置汇总
* @param memberSettleExt 会员
* @param endTouch 4-n的次数
* @param bdGrade 等级
- * @Description: 获得国家对应的4-n参数比例
- * @return: BigDecimal
- * @Author: sui q
- * @Date: 2022/11/16 11:27
*/
protected BigDecimal getCountryRepurchaseExpand(BonusConfigDTO bonusConfigDTO, CuMemberSettleExt memberSettleExt, Integer endTouch, BdGrade bdGrade, BigDecimal addTouch, BigDecimal editExpandRatio) {
BonusExpandDTO bonusExpand = bonusConfigDTO.getBonusExpandMap().get(memberSettleExt.getPkSettleCountry());
@@ -728,14 +709,12 @@ public abstract class BonusSettleHandle {
}
/**
+ * 获得 报单服务费收益的备注
+ *
* @param saOrderExt 订单编号
* @param cuMemberBonusRange 报单服务费
* @param sourceMemberRangeExt 提供奖金的人
* @param targetMemberRangeExt 获得奖金的人
- * @Description: 获得 报单服务费收益的备注
- * @return: String
- * @Author: sui q
- * @Date: 2022/11/17 11:22
*/
protected void rangeBenefitRetailRemark(SaOrder saOrderExt, CuMemberBonusRange cuMemberBonusRange, CuMemberRetailRangeExt sourceMemberRangeExt,
CuMemberRetailRangeExt targetMemberRangeExt) {
@@ -747,14 +726,12 @@ public abstract class BonusSettleHandle {
}
/**
+ * 获得 报单服务费收益的备注
+ *
* @param saOrderExt 订单编号
* @param cuMemberBonusRange 报单服务费
* @param sourceMemberRangeExt 提供奖金的人
* @param targetMemberRangeExt 获得奖金的人
- * @Description: 获得 报单服务费收益的备注
- * @return: String
- * @Author: sui q
- * @Date: 2022/11/17 11:22
*/
protected void oriRangeRemark(SaOrderExt saOrderExt, CuMemberBonusRange cuMemberBonusRange, CuMemberRangeExt sourceMemberRangeExt,
CuMemberRangeExt targetMemberRangeExt) {
@@ -785,33 +762,29 @@ public abstract class BonusSettleHandle {
}
/**
+ * 获得 报单服务费收益的备注
+ *
* @param saOrderExt 订单编号
* @param cuMemberBonusRange 报单服务费
* @param sourceCuMemberSettleExt 提供奖金的人
* @param targetCuMemberSettleExt 获得奖金的人
- * @Description: 获得 报单服务费收益的备注
- * @return: String
- * @Author: sui q
- * @Date: 2022/11/17 11:22
*/
protected void xueRangeRemark(SaOrderExt saOrderExt, CuMemberBonusRange cuMemberBonusRange, CuMemberSettleExt sourceCuMemberSettleExt,
CuMemberSettleExt targetCuMemberSettleExt) {
String remark = String.format(BonusMsgConstants.LE_XUE_SHARE_RANGE, saOrderExt.getOrderCode(),
sourceCuMemberSettleExt.getMemberCode() + sourceCuMemberSettleExt.getMemberName(),
targetCuMemberSettleExt.getMemberCode() + targetCuMemberSettleExt.getMemberName(),
- ComputeUtil.computeDivide(targetCuMemberSettleExt.getRetailPrice(), BigDecimal.valueOf(6.4)), targetCuMemberSettleExt.getGradeValue());
+ ComputeUtil.computeDivide(targetCuMemberSettleExt.getRetailPrice(), BigDecimal.ONE), targetCuMemberSettleExt.getGradeValue());
cuMemberBonusRange.setRemark(remark);
}
/**
+ * 获得 报单服务费收益的备注
+ *
* @param saOrder 订单编号
* @param cuMemberBonusDetail 云代首购
* @param sourceCuMemberSettleExt 提供奖金的人
* @param targetCuMemberSettleExt 获得奖金的人
- * @Description: 获得 报单服务费收益的备注
- * @return: String
- * @Author: sui q
- * @Date: 2022/11/17 11:22
*/
protected void cloudAgentRemark(SaOrder saOrder, CuMemberBonusDetail cuMemberBonusDetail, CuMemberSettleExt sourceCuMemberSettleExt,
CuMemberSettleExt targetCuMemberSettleExt, String msg) {
@@ -1206,13 +1179,11 @@ public abstract class BonusSettleHandle {
}
/**
+ * 设置奖金扣项,计算税前收益,扣税,实际收益, 设置明细表
+ *
* @param cuMemberDetail 奖金明细
* @param orderAmount 订单金额
* @param exchangeRate 入汇率
- * @Description: 设置奖金扣项,计算税前收益,扣税,实际收益, 设置明细表
- * @return: void
- * @Author: sui q
- * @Date: 2023/1/11 11:17
*/
protected BdBonusDeduct setBonusDetailDeduct(BonusConfigDTO bonusConfigDTO, Object cuMemberDetail, BigDecimal orderAmount, BigDecimal exchangeRate) {
Integer pkBonusItems = ReflectUtils.invokeGetter(cuMemberDetail, BonusFieldConstants.PK_BONUS_ITEMS);
diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettlePurchaseHandle.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettlePurchaseHandle.java
index 10471d58..772ce9e2 100644
--- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettlePurchaseHandle.java
+++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettlePurchaseHandle.java
@@ -724,12 +724,12 @@ public class BonusSettlePurchaseHandle extends BonusSettleHandle {
cuMemberBonusRange.setCalAchieve(saOrderItemsExt.getAchievement());
cuMemberBonusRange.setCalValue(BigDecimal.ZERO);
cuMemberBonusRange.setPretaxIncome(ComputeUtil.computeMultiply(BigDecimal.valueOf(saOrderItemsExt.getWaresQuantity()),
- ComputeUtil.computeDivide(targetMemberSettleExt.getRetailPrice(), BigDecimal.valueOf(6.4))));
+ ComputeUtil.computeDivide(targetMemberSettleExt.getRetailPrice(), BigDecimal.ONE)));
String key = targetMemberSettleExt.getPkSettleCountry().toString() + ERangeType.GRADE.getValue() + targetMemberSettleExt.getPkGrade();
cuMemberBonusRange.setPkRange(rangeDtoMap.get(key).getPkRange());
String beforeKey = targetMemberSettleExt.getPkSettleCountry().toString() + ERangeType.GRADE.getValue() + targetMemberSettleExt.getPkGrade();
cuMemberBonusRange.setPkBeforeRange(rangeDtoMap.get(beforeKey).getPkRange());
- cuMemberBonusRange.setIncomeRatio(ComputeUtil.computeDivide(ComputeUtil.computeMultiply(cuMemberBonusRange.getPretaxIncome(), BigDecimal.valueOf(6.4)), saOrderExt.getOrderAmount()));
+ cuMemberBonusRange.setIncomeRatio(ComputeUtil.computeDivide(ComputeUtil.computeMultiply(cuMemberBonusRange.getPretaxIncome(), BigDecimal.ONE), saOrderExt.getOrderAmount()));
cuMemberBonusRange.setPkOrderItems(0L);
// 计算比例
cuMemberBonusRange.setPkBonusItems(getPkBonusItems(bonusConfigDTO, targetMemberSettleExt.getPkSettleCountry(), EBonusItems.REPURCHASE_RANGE_INCOME.getValue()));
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 1b3bc523..a16cf1a4 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
@@ -3,9 +3,6 @@ package com.hzs.bonus.bonus.service.impl;
import com.hzs.bonus.achieve.service.ICuMemberRangeService;
import com.hzs.bonus.achieve.service.ICuMemberRetailRangeService;
import com.hzs.bonus.base.service.ICuMemberService;
-import com.hzs.bonus.bonus.param.BdWaresBonusParam;
-import com.hzs.bonus.bonus.service.IBdWaresBonusService;
-import com.hzs.bonus.bonus.service.ICuMemberSpeRetailService;
import com.hzs.bonus.bonus.vo.BonusRecordDetailVO;
import com.hzs.bonus.detail.service.ICuMemberAwardsService;
import com.hzs.bonus.detail.service.ICuMemberGradeService;
@@ -31,9 +28,7 @@ import com.hzs.common.domain.sale.order.SaOrder;
import com.hzs.common.domain.system.config.BdAwards;
import com.hzs.common.domain.system.config.BdGrade;
import com.hzs.common.domain.system.config.BdRangeAwards;
-import com.hzs.system.config.IAwardsServiceApi;
import com.hzs.system.config.dto.BonusConfigDTO;
-import org.apache.dubbo.config.annotation.DubboReference;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@@ -42,51 +37,33 @@ import java.time.temporal.ChronoUnit;
import java.util.*;
/**
- * @description: 计算乐享极差收益
- * @author: sui q
- * @time: 2024/10/15 13:53
- * @classname: BonusSettleRangeHandle
- * @package_name: com.hzs.bonus.bonus.service.impl
- * version 1.0.0
+ * 计算乐享极差收益
*/
@Component
public class BonusSettleRangeHandle extends BonusSettleHandle {
- @DubboReference
- private IAwardsServiceApi awardsServiceApi;
-
@Autowired
- private ICuMemberRangeService cuMemberRangeService;
-
+ private ICuMemberRangeService iCuMemberRangeService;
@Autowired
- private ICuMemberRetailRangeService cuMemberRetailRangeService;
-
+ private ICuMemberRetailRangeService iCuMemberRetailRangeService;
@Autowired
- private ICuMemberAwardsService cuMemberAwardsService;
-
+ private ICuMemberAwardsService iCuMemberAwardsService;
@Autowired
- private ICuMemberGradeService cuMemberGradeService;
-
+ private ICuMemberGradeService iCuMemberGradeService;
@Autowired
- private ICuMemberService cuMemberService;
+ private ICuMemberService iCuMemberService;
- @Autowired
- private ICuMemberSpeRetailService cuMemberSpeRetailService;
-
- /*
- * @description: 实时计算当月奖衔
- * @author: sui q
- * @date: 2024/10/22 15:16
- * @param: null null
- **/
+ /**
+ * 实时计算当月奖衔
+ */
List calculateCuMemberRetailRangeBonusBySecond(String settleDate, SaOrderExt saOrderExt, BonusConfigDTO bonusConfigDTO,
String secondRangeTableName, int beforePeriod, int currentPeriod,
Map cuMemberBonusMap, List cuMemberBonusDetailList) {
String rangeTableName = TableNameConstants.CU_MEMBER_RETAIL_RANGE + beforePeriod;
- cuMemberRetailRangeService.mergeMemberSecondRetailRangeByRange(rangeTableName, secondRangeTableName, saOrderExt.getPkMember());
- cuMemberGradeService.updateCuMemberGradeSecond(secondRangeTableName, currentPeriod);
+ iCuMemberRetailRangeService.mergeMemberSecondRetailRangeByRange(rangeTableName, secondRangeTableName, saOrderExt.getPkMember());
+ iCuMemberGradeService.updateCuMemberGradeSecond(secondRangeTableName, currentPeriod);
// 按照血缘,查询该会员所有伞上会员
- List memberRetailRangeExtList = cuMemberRetailRangeService.queryCuMemberSecondRangeParent(rangeTableName, secondRangeTableName, saOrderExt.getPkMember());
+ List memberRetailRangeExtList = iCuMemberRetailRangeService.queryCuMemberSecondRangeParent(rangeTableName, secondRangeTableName, saOrderExt.getPkMember());
Map memberRangeExtMap = new HashMap<>();
Map retaiBuyGradeMap = new TreeMap<>();
@@ -175,7 +152,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
}
}
Map countyRangeExtMap = new HashMap<>();
- List countyRangeExtList = cuMemberRetailRangeService.batchQueryMemberRetailSecondRangeByCounty(rangeTableName, secondRangeTableName, saOrderExt.getRecCounty());
+ List countyRangeExtList = iCuMemberRetailRangeService.batchQueryMemberRetailSecondRangeByCounty(rangeTableName, secondRangeTableName, saOrderExt.getRecCounty());
countyRangeExtList.forEach(cuMemberRetailRangeExt ->
countyRangeExtMap.put(cuMemberRetailRangeExt.getSystemType() + "_" + cuMemberRetailRangeExt.getRegionAddress(), cuMemberRetailRangeExt));
// 计算区域奖
@@ -183,28 +160,25 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
if (cuMemberBonusDetail != null) {
cuMemberBonusDetailList.add(cuMemberBonusDetail);
}
- cuMemberGradeService.updateCuMemberGrade(secondRangeTableName, saOrderExt.getPkId());
+ iCuMemberGradeService.updateCuMemberGrade(secondRangeTableName, saOrderExt.getPkId());
if (cuMemberAwardsList.size() > 0) {
- cuMemberAwardsService.saveBatchCuMemberAwards(cuMemberAwardsList);
+ iCuMemberAwardsService.saveBatchCuMemberAwards(cuMemberAwardsList);
// 更新会员表,更新奖衔
- cuMemberService.updateCuMemberRetailRangeByList(cuMemberAwardsList, currentPeriod);
+ iCuMemberService.updateCuMemberRetailRangeByList(cuMemberAwardsList, currentPeriod);
}
if (cuMemberGradeList.size() > 0) {
- cuMemberGradeService.insertCuMemberGrade(cuMemberGradeList);
- cuMemberService.updateCuMemberGradeByList(cuMemberGradeList, currentPeriod);
+ iCuMemberGradeService.insertCuMemberGrade(cuMemberGradeList);
+ iCuMemberService.updateCuMemberGradeByList(cuMemberGradeList, currentPeriod);
}
if (memberRetailRangeExtList.size() > 0) {
- cuMemberRetailRangeService.updateCuMemberSecondRange(secondRangeTableName, memberRangeExtMap);
+ iCuMemberRetailRangeService.updateCuMemberSecondRange(secondRangeTableName, memberRangeExtMap);
}
return cuMemberBonusRangeList;
}
- /*
- * @description: 实时计算当月奖衔
- * @author: sui q
- * @date: 2024/10/22 15:16
- * @param: null null
- **/
+ /**
+ * 实时计算当月奖衔
+ */
void calculateCuMemberBackRetailIncome(SaOrderExt saOrderExt, BonusConfigDTO bonusConfigDTO,
String secondRangeTableName, int beforePeriod, int currentPeriod) {
// 当天的撤单
@@ -212,18 +186,18 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
String rangeTableName = TableNameConstants.CU_MEMBER_RETAIL_RANGE + beforePeriod;
if (DateUtils.isSameDay(saOrderExt.getPayTime(), DateUtils.currentDate())) {
// 按照血缘,查询该会员所有伞上会员
- cuMemberRetailRangeService.mergeMemberRetailGradeByMember(secondRangeTableName, saOrderExt.getPkMember());
+ iCuMemberRetailRangeService.mergeMemberRetailGradeByMember(secondRangeTableName, saOrderExt.getPkMember());
// 恢复奖衔
- cuMemberAwardsService.mergeCuMemberBackAwards(secondRangeTableName, saOrderExt.getPkMember(), currentPeriod);
- memberRetailRangeExtList = cuMemberRetailRangeService.queryCuMemberSecondRangeParent(rangeTableName, secondRangeTableName, saOrderExt.getPkMember());
+ iCuMemberAwardsService.mergeCuMemberBackAwards(secondRangeTableName, saOrderExt.getPkMember(), currentPeriod);
+ memberRetailRangeExtList = iCuMemberRetailRangeService.queryCuMemberSecondRangeParent(rangeTableName, secondRangeTableName, saOrderExt.getPkMember());
} else {
rangeTableName = TableNameConstants.CU_MEMBER_RETAIL_RANGE + currentPeriod;
List retailOrderList = new ArrayList<>();
retailOrderList.add(saOrderExt);
- cuMemberRetailRangeService.mergeMemberRetailGradeByMember(rangeTableName, saOrderExt.getPkMember());
+ iCuMemberRetailRangeService.mergeMemberRetailGradeByMember(rangeTableName, saOrderExt.getPkMember());
// 恢复奖衔
- cuMemberAwardsService.mergeCuMemberBackAwards(rangeTableName, saOrderExt.getPkMember(), beforePeriod);
- memberRetailRangeExtList = cuMemberRetailRangeService.queryCuMemberRetailRangeParent(rangeTableName, retailOrderList);
+ iCuMemberAwardsService.mergeCuMemberBackAwards(rangeTableName, saOrderExt.getPkMember(), beforePeriod);
+ memberRetailRangeExtList = iCuMemberRetailRangeService.queryCuMemberRetailRangeParent(rangeTableName, retailOrderList);
}
Map memberRangeExtMap = new HashMap<>();
@@ -278,9 +252,9 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
List cuMemberRetailRangeExtList = calculateRetailBackRangeGradeAwards(currentPeriod, memberRangeExtMap, rangeTableName, saOrderExt, retailTeamGradeMap, retailAwardsMap, secondRangeTableName, boxNum, cuMemberGradeMap, cuMemberAwardsMap);
cuMemberRetailRangeExtList.add(sourceMemberRangeExt);
// 查询期间的等级和奖衔
- List memberGradeList = cuMemberGradeService.queryCuMemberGrade(cuMemberRetailRangeExtList, currentPeriod);
+ List memberGradeList = iCuMemberGradeService.queryCuMemberGrade(cuMemberRetailRangeExtList, currentPeriod);
// 查询最大的手动奖衔
- List cuMemberGradeList1 = cuMemberGradeService.queryCuMemberGradeByList(currentPeriod, memberRetailRangeExtList);
+ List cuMemberGradeList1 = iCuMemberGradeService.queryCuMemberGradeByList(currentPeriod, memberRetailRangeExtList);
if (cuMemberGradeList1.size() > 0) {
Map memberGradeMap = new HashMap<>();
for (CuMemberGrade cuMemberGrade : cuMemberGradeList1) {
@@ -316,11 +290,11 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
}
}
if (cuMemberGradeList.size() > 0) {
- cuMemberGradeService.deleteCuMemberGrade(cuMemberGradeList, currentPeriod);
- cuMemberService.updateCuMemberMinGradeByList(cuMemberGradeList, currentPeriod);
+ iCuMemberGradeService.deleteCuMemberGrade(cuMemberGradeList, currentPeriod);
+ iCuMemberService.updateCuMemberMinGradeByList(cuMemberGradeList, currentPeriod);
}
}
- List memberAwardsList = cuMemberAwardsService.queryCuMemberAwards(cuMemberRetailRangeExtList, currentPeriod);
+ List memberAwardsList = iCuMemberAwardsService.queryCuMemberAwards(cuMemberRetailRangeExtList, currentPeriod);
if (memberAwardsList.size() > 0) {
List cuMemberAwardsList = new ArrayList<>();
for (CuMemberAwards cuMemberAwards : memberAwardsList) {
@@ -340,17 +314,17 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
}
// 处理等级、奖衔
if (cuMemberAwardsList.size() > 0) {
- cuMemberAwardsService.deleteCuMemberAwards(cuMemberAwardsList, currentPeriod);
+ iCuMemberAwardsService.deleteCuMemberAwards(cuMemberAwardsList, currentPeriod);
// 更新会员表,更新奖衔
- cuMemberService.updateCuMemberMinAwardsByList(cuMemberAwardsList, currentPeriod);
+ iCuMemberService.updateCuMemberMinAwardsByList(cuMemberAwardsList, currentPeriod);
}
}
// 处理业绩
if (memberRangeExtMap.size() > 0) {
if (DateUtils.isSameDay(saOrderExt.getPayTime(), DateUtils.currentDate())) {
- cuMemberRetailRangeService.updateCuMemberSecondRange(secondRangeTableName, memberRangeExtMap);
+ iCuMemberRetailRangeService.updateCuMemberSecondRange(secondRangeTableName, memberRangeExtMap);
} else {
- cuMemberRetailRangeService.updateCuMemberRetailRange(rangeTableName, memberRangeExtMap);
+ iCuMemberRetailRangeService.updateCuMemberRetailRange(rangeTableName, memberRangeExtMap);
}
}
}
@@ -368,13 +342,9 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
return cuMemberGrade;
}
- /*
- * @description: 计算新零售团队的奖金,极差、平级、福利、福利分红、区域
- * 订单: HZS30720290
- * @author: sui q
- * @date: 2024/10/15 13:55
- * @param: null null
- **/
+ /**
+ * 计算新零售团队的奖金,极差、平级、福利、福利分红、区域
+ */
void calculateRetailBonusByDay(String settleDate, Map cuMemberBonusMap, BonusConfigDTO bonusConfigDTO, BonusRecordDetailVO bonusRecordDetailVO,
Integer period, Integer yesterdayPeriod, Boolean isSameMonth) {
Date settleStartDate = DateUtils.parseStringToDate(settleDate);
@@ -392,19 +362,19 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
String rangeTableName = TableNameConstants.CU_MEMBER_RETAIL_RANGE + period;
String yesterdayRangeTableName = TableNameConstants.CU_MEMBER_RETAIL_RANGE + yesterdayPeriod;
// 回退奖衔,将奖衔回退到结算前状态
- cuMemberAwardsService.calculateCuMemberRetailRangeAwardsInit(settleDate, period, rangeTableName);
+ iCuMemberAwardsService.calculateCuMemberRetailRangeAwardsInit(settleDate, period, rangeTableName);
// 更新网体
- cuMemberRetailRangeService.mergeMemberRetailRangeByYesterday(settleEndDate, rangeTableName, yesterdayRangeTableName, isSameMonth);
- List memberLevelList = cuMemberGradeService.calculateCuMemberRetailGradeInit(period, settleStartDate, settleEndDate, rangeTableName);
+ iCuMemberRetailRangeService.mergeMemberRetailRangeByYesterday(settleEndDate, rangeTableName, yesterdayRangeTableName, isSameMonth);
+ List memberLevelList = iCuMemberGradeService.calculateCuMemberRetailGradeInit(period, settleStartDate, settleEndDate, rangeTableName);
Map memberLevelMap = new HashMap<>();
memberLevelList.forEach(cuMemberLevel -> memberLevelMap.put(cuMemberLevel.getPkOrder(), cuMemberLevel));
// 回退历史注水
- cuMemberRetailRangeService.mergeCuMemberRetailBackBoxBySpecial(rangeTableName, yesterdayRangeTableName, period);
+ iCuMemberRetailRangeService.mergeCuMemberRetailBackBoxBySpecial(rangeTableName, yesterdayRangeTableName, period);
// 更新注水
- cuMemberRetailRangeService.mergeCuMemberRetailRangeBySpecial(rangeTableName, period);
+ iCuMemberRetailRangeService.mergeCuMemberRetailRangeBySpecial(rangeTableName, period);
if (retailOrderList.size() > 0) {
// 按照血缘,查询该会员所有伞上会员
- List memberRetailRangeExtList = cuMemberRetailRangeService.queryCuMemberRetailRangeParent(rangeTableName, retailOrderList);
+ List memberRetailRangeExtList = iCuMemberRetailRangeService.queryCuMemberRetailRangeParent(rangeTableName, retailOrderList);
Map memberRangeExtMap = new HashMap<>();
Map retaiBuyGradeMap = new TreeMap<>();
Map retailTeamGradeMap = new TreeMap<>();
@@ -450,7 +420,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
}
}
Map countyRangeExtMap = new HashMap<>();
- List countyRangeExtList = cuMemberRetailRangeService.batchQueryMemberRetailRangeByCounty(rangeTableName);
+ List countyRangeExtList = iCuMemberRetailRangeService.batchQueryMemberRetailRangeByCounty(rangeTableName);
countyRangeExtList.forEach(cuMemberRetailRangeExt ->
countyRangeExtMap.put(cuMemberRetailRangeExt.getSystemType() + "_" + cuMemberRetailRangeExt.getRegionAddress(), cuMemberRetailRangeExt));
// 奖衔升级记录
@@ -496,37 +466,31 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
// 团队业绩,计算奖衔
calculateGradeAwards(period, memberRangeExtMap, rangeTableName, saOrderExt, retailTeamGradeMap, retailAwardsMap, null, cuMemberGradeList, cuMemberAwardsList, sourceMemberRangeExt);
cuMemberAwardsList.addAll(calculateRetailRangeGradeAwards(period, memberRangeExtMap, rangeTableName, saOrderExt, retailTeamGradeMap, retailAwardsMap, null, boxNum, cuMemberGradeList));
- // 美业订单计算极差收益,没有平级收益
- if (EOrderType.RETAIL_SHOP_ORDER.getValue() == saOrderExt.getOrderType()) {
- for (SaOrderItemsExt saOrderItems : saOrderExt.getOrderItemsExtList()) {
-// cuMemberBonusRangeList.addAll(calculateRetailRangeBonus(memberRangeExtMap, cuMemberBonusMap, gradeMap, bonusConfigDTO, period, saOrderItems, saOrderExt));
- }
- } else {
- // 计算奖金 计算极差平级收益
- for (SaOrderWaresExt saOrderItems : saOrderExt.getOrderWaresExtList()) {
- for (String waresCode : RetailProductConstants.ALL_BOX_WARES_LIST) {
- if (saOrderItems.getWaresCode() != null && saOrderItems.getWaresCode().equals(waresCode)) {
- int waresQuantity = saOrderItems.getWaresQuantity();
- cuMemberBonusRangeList.addAll(calculateRetailRangeBonus(memberRangeExtMap, cuMemberBonusMap, gradeMap, bonusConfigDTO, period, saOrderItems, saOrderExt));
- // 计算完奖金算等级
- if (EOrderType.RETAIL_REGISTER.getValue() == saOrderExt.getOrderType() ||
- EOrderType.RETAIL_UPGRADE.getValue() == saOrderExt.getOrderType() ||
+
+ // 计算奖金 计算极差平级收益
+ for (SaOrderWaresExt saOrderItems : saOrderExt.getOrderWaresExtList()) {
+ for (String waresCode : RetailProductConstants.ALL_BOX_WARES_LIST) {
+ if (saOrderItems.getWaresCode() != null && saOrderItems.getWaresCode().equals(waresCode)) {
+ int waresQuantity = saOrderItems.getWaresQuantity();
+ cuMemberBonusRangeList.addAll(calculateRetailRangeBonus(memberRangeExtMap, cuMemberBonusMap, gradeMap, bonusConfigDTO, period, saOrderItems, saOrderExt));
+ // 计算完奖金算等级
+ if (EOrderType.RETAIL_REGISTER.getValue() == saOrderExt.getOrderType() ||
+ EOrderType.RETAIL_UPGRADE.getValue() == saOrderExt.getOrderType() ||
EOrderType.RETAIL_REPURCHASE.getValue() == saOrderExt.getOrderType()) {
- // 计算个人等级,消费等级
- int buyBoxNum = sourceMemberRangeExt.getBuyNum() + waresQuantity;
- if (memberLevelMap.containsKey(saOrderExt.getPkId())) {
- CuMemberLevel cuMemberLevel = memberLevelMap.get(saOrderExt.getPkId());
- if (gradeIdMap.containsKey(cuMemberLevel.getNewLevel())) {
- BdGrade bdGrade = gradeIdMap.get(cuMemberLevel.getNewLevel());
- if (bdGrade.getGradeValue() > sourceMemberRangeExt.getGradeValue()) {
- sourceMemberRangeExt.setGradeValue(bdGrade.getGradeValue());
- sourceMemberRangeExt.setPkGrade(bdGrade.getPkId());
- sourceMemberRangeExt.setGradeName(bdGrade.getGradeName());
- if (sourceMemberRangeExt.getSameDate() == EYesNo.NO.getIntValue()) {
- sourceMemberRangeExt.setBuyNum(bdGrade.getBoxNumber());
- } else {
- sourceMemberRangeExt.setBuyNum(buyBoxNum);
- }
+ // 计算个人等级,消费等级
+ int buyBoxNum = sourceMemberRangeExt.getBuyNum() + waresQuantity;
+ if (memberLevelMap.containsKey(saOrderExt.getPkId())) {
+ CuMemberLevel cuMemberLevel = memberLevelMap.get(saOrderExt.getPkId());
+ if (gradeIdMap.containsKey(cuMemberLevel.getNewLevel())) {
+ BdGrade bdGrade = gradeIdMap.get(cuMemberLevel.getNewLevel());
+ if (bdGrade.getGradeValue() > sourceMemberRangeExt.getGradeValue()) {
+ sourceMemberRangeExt.setGradeValue(bdGrade.getGradeValue());
+ sourceMemberRangeExt.setPkGrade(bdGrade.getPkId());
+ sourceMemberRangeExt.setGradeName(bdGrade.getGradeName());
+ if (sourceMemberRangeExt.getSameDate() == EYesNo.NO.getIntValue()) {
+ sourceMemberRangeExt.setBuyNum(bdGrade.getBoxNumber());
+ } else {
+ sourceMemberRangeExt.setBuyNum(buyBoxNum);
}
}
}
@@ -559,32 +523,29 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
}
}
if (cuMemberAwardsList.size() > 0) {
- cuMemberAwardsService.saveBatchCuMemberAwards(cuMemberAwardsList);
+ iCuMemberAwardsService.saveBatchCuMemberAwards(cuMemberAwardsList);
// 更新会员表,更新奖衔
- cuMemberService.updateCuMemberRetailRangeByPeriod(cuMemberAwardsList, period);
+ iCuMemberService.updateCuMemberRetailRangeByPeriod(cuMemberAwardsList, period);
}
if (cuMemberGradeList.size() > 0) {
- cuMemberGradeService.insertCuMemberGrade(cuMemberGradeList);
- cuMemberService.updateCuMemberGradeByPeriod(cuMemberGradeList, period);
+ iCuMemberGradeService.insertCuMemberGrade(cuMemberGradeList);
+ iCuMemberService.updateCuMemberGradeByPeriod(cuMemberGradeList, period);
// 根据cu_member_level更新cu_member
- cuMemberService.updateCuMemberLevel(settleStartDate, settleEndDate);
+ iCuMemberService.updateCuMemberLevel(settleStartDate, settleEndDate);
}
// 更新网体
- cuMemberRetailRangeService.updateCuMemberRetailRange(rangeTableName, memberRangeExtMap);
+ iCuMemberRetailRangeService.updateCuMemberRetailRange(rangeTableName, memberRangeExtMap);
}
}
- /*
- * @description: 查询会员验证大小区,区域算法2种条件,1 实际满足V5 1种是满足 30w 小区10w
- * @author: sui q
- * @date: 2025/2/20 15:22
- * @param: null null
- **/
+ /**
+ * 查询会员验证大小区,区域算法2种条件,1 实际满足V5 1种是满足 30w 小区10w
+ */
CuMemberRetail queryValidateBoxOrAchieve(int currentPeriod, int beforePeriod, Long pkMember) {
CuMemberRetail cuMemberRetail = new CuMemberRetail();
String rangeTableName = TableNameConstants.CU_MEMBER_RETAIL_RANGE + beforePeriod;
String secondRangeTableName = TableNameConstants.CU_MEMBER_RETAIL_S + currentPeriod;
- List memberRetailRangeExtList = cuMemberRetailRangeService.queryCuMemberSecondRange(rangeTableName, secondRangeTableName, pkMember);
+ List memberRetailRangeExtList = iCuMemberRetailRangeService.queryCuMemberSecondRange(rangeTableName, secondRangeTableName, pkMember);
List cuMemberRangeExtList = new ArrayList<>();
CuMemberRetailRangeExt targetMemberRangeExt = null;
for (CuMemberRetailRangeExt cuMemberRetailRangeExt : memberRetailRangeExtList) {
@@ -724,14 +685,11 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
}
}
- /*
- * @description: 先计算奖衔,奖衔计算分为2种,先计算自己消费足够的,S1-S3,S4以上的另一种方式,自消费的只有购买人,其他的都是根据业绩,注意,有人可以直接是S4
+ /**
+ * 先计算奖衔,奖衔计算分为2种,先计算自己消费足够的,S1-S3,S4以上的另一种方式,自消费的只有购买人,其他的都是根据业绩,注意,有人可以直接是S4
* 先验证团队业绩,小区业绩,验证小市场需要从上往下走 s1只能通过自消费,除了购买人其他人丛S2开始升级
* 计算个人消费奖项
- * @author: sui q
- * @date: 2024/10/15 17:10
- * @param: null null
- **/
+ */
public List calculateConsumeRangeAwards(Integer period, Map> parentRangeExtMap, Map memberRangeExtMap, String rangeTableName,
CuMemberRangeExt sourceMemberRangeExt, SaOrderExt saOrderExt,
Map consumeRangeAwardsMap) {
@@ -745,7 +703,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
// 去结算表种查询该会员下所有会员,会员团队业绩+消费业绩是业绩 计算小区业绩 团队业绩-小区业绩 验证小区、直推必有一种
// 如果需要验证小区
if (ComputeUtil.compareValue(bdRangeAwards.getCommunityCheck())) {
- List cuMemberRangeExtList = cuMemberRangeService.queryCuMemberRangeExtByParent(rangeTableName, sourceMemberRangeExt.getPkMember(), saOrderExt.getPayTime());
+ List cuMemberRangeExtList = iCuMemberRangeService.queryCuMemberRangeExtByParent(rangeTableName, sourceMemberRangeExt.getPkMember(), saOrderExt.getPayTime());
// 需要验证团队业绩,小区业绩
if (calculateAwards(parentRangeExtMap, memberRangeExtMap, sourceMemberRangeExt, bdRangeAwards, cuMemberRangeExtList, false)) {
break;
@@ -768,12 +726,9 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
return cuMemberAwardsList;
}
- /*
- * @description: 计算团队极差奖衔
- * @author: sui q
- * @date: 2024/10/15 17:10
- * @param: null null
- **/
+ /**
+ * 计算团队极差奖衔
+ */
public List calculateBloodRangeAwards(Integer period, Map> parentRangeExtMap, Map memberRangeExtMap, String rangeTableName, SaOrderExt saOrderExt,
Map bloodRangeAwardsMap, long pkParent, String secondRangeTableName) {
// 计算血缘奖衔,一级一级升级,分为2段,s2、s3 一级,s3以上一级,先验证团队总业绩,
@@ -808,9 +763,9 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
// 去结算表种查询该会员下所有会员,会员团队业绩+消费业绩是业绩 计算小区业绩 团队业绩-小区业绩 验证小区、直推必有一种
List cuMemberRangeExtList;
if (secondRangeTableName != null) {
- cuMemberRangeExtList = cuMemberRangeService.querySecondCuMemberRangeExtByParent(rangeTableName, secondRangeTableName, targetMemberRangeExt.getPkMember());
+ cuMemberRangeExtList = iCuMemberRangeService.querySecondCuMemberRangeExtByParent(rangeTableName, secondRangeTableName, targetMemberRangeExt.getPkMember());
} else {
- cuMemberRangeExtList = cuMemberRangeService.queryCuMemberRangeExtByParent(rangeTableName, targetMemberRangeExt.getPkMember(), saOrderExt.getPayTime());
+ cuMemberRangeExtList = iCuMemberRangeService.queryCuMemberRangeExtByParent(rangeTableName, targetMemberRangeExt.getPkMember(), saOrderExt.getPayTime());
}
if (cuMemberRangeExtList.size() > 0) {
if (calculateAwards(parentRangeExtMap, memberRangeExtMap, targetMemberRangeExt, bdRangeAwards, cuMemberRangeExtList, true)) {
@@ -820,17 +775,17 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
// 当日的实时奖衔,这个位置直接在会员表中计算就可以
if (bdRangeAwards.getPlaceNum() > 0) {
if (secondRangeTableName != null) {
- cuMemberRangeService.mergeSecondCuMemberRangeExt(secondRangeTableName, parentRangeExtMap.get(targetMemberRangeExt.getPkMember()));
+ iCuMemberRangeService.mergeSecondCuMemberRangeExt(secondRangeTableName, parentRangeExtMap.get(targetMemberRangeExt.getPkMember()));
// 验证
- Integer placeNum = cuMemberRangeService.validateSecondCuMemberPlaceAwards(secondRangeTableName, cuMemberRangeExtList, bdRangeAwards.getCheckAwards());
+ Integer placeNum = iCuMemberRangeService.validateSecondCuMemberPlaceAwards(secondRangeTableName, cuMemberRangeExtList, bdRangeAwards.getCheckAwards());
if (bdRangeAwards.getPlaceNum() > placeNum) {
break;
}
} else {
// 更新网体,更新伞下
- cuMemberRangeService.mergeCuMemberRangeExt(rangeTableName, parentRangeExtMap.get(targetMemberRangeExt.getPkMember()));
+ iCuMemberRangeService.mergeCuMemberRangeExt(rangeTableName, parentRangeExtMap.get(targetMemberRangeExt.getPkMember()));
// 验证
- Integer placeNum = cuMemberRangeService.validateCuMemberPlaceAwards(rangeTableName, cuMemberRangeExtList, bdRangeAwards.getCheckAwards(), saOrderExt.getPayTime());
+ Integer placeNum = iCuMemberRangeService.validateCuMemberPlaceAwards(rangeTableName, cuMemberRangeExtList, bdRangeAwards.getCheckAwards(), saOrderExt.getPayTime());
if (bdRangeAwards.getPlaceNum() > placeNum) {
break;
}
@@ -853,12 +808,9 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
return cuMemberAwardsList;
}
- /*
- * @description: 计算团队极差奖衔
- * @author: sui q
- * @date: 2024/10/15 17:10
- * @param: null null
- **/
+ /**
+ * 计算团队极差奖衔
+ */
public List calculateRetailRangeGradeAwards(Integer period, Map memberRangeExtMap, String rangeTableName, SaOrderExt saOrderExt,
Map retailTeamGradeMap, Map retailAwardsMap, String secondRangeTableName,
Integer boxNum, List cuMemberGradeList) {
@@ -897,9 +849,9 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
// 验证小区,计算小区累计盒数 查询伞下会员
List cuMemberRangeExtList;
if (secondRangeTableName != null) {
- cuMemberRangeExtList = cuMemberRetailRangeService.queryCuMemberSecondRangeExtByParent(rangeTableName, secondRangeTableName, targetMemberRangeExt.getPkMember());
+ cuMemberRangeExtList = iCuMemberRetailRangeService.queryCuMemberSecondRangeExtByParent(rangeTableName, secondRangeTableName, targetMemberRangeExt.getPkMember());
} else {
- cuMemberRangeExtList = cuMemberRetailRangeService.queryCuMemberRetailRangeExtByParent(rangeTableName, targetMemberRangeExt.getPkMember());
+ cuMemberRangeExtList = iCuMemberRetailRangeService.queryCuMemberRetailRangeExtByParent(rangeTableName, targetMemberRangeExt.getPkMember());
}
// 有注水的,大区无限大,新增全算小区
int bigBoxNum = targetMemberRangeExt.getConsumeBoxNum();
@@ -939,9 +891,9 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
// // 验证小区,计算小区业绩
// List cuMemberRangeExtList;
// if (secondRangeTableName != null) {
-// cuMemberRangeExtList = cuMemberRetailRangeService.queryCuMemberSecondRangeExtByParent(rangeTableName, secondRangeTableName, targetMemberRangeExt.getPkMember());
+// cuMemberRangeExtList = iCuMemberRetailRangeService.queryCuMemberSecondRangeExtByParent(rangeTableName, secondRangeTableName, targetMemberRangeExt.getPkMember());
// } else {
-// cuMemberRangeExtList = cuMemberRetailRangeService.queryCuMemberRetailRangeExtByParent(rangeTableName, targetMemberRangeExt.getPkMember());
+// cuMemberRangeExtList = iCuMemberRetailRangeService.queryCuMemberRetailRangeExtByParent(rangeTableName, targetMemberRangeExt.getPkMember());
// }
// for (CuMemberRetailRangeExt cuMemberRetailRangeExt : cuMemberRangeExtList) {
// if (memberRangeExtMap.containsKey(cuMemberRetailRangeExt.getPkMember())) {
@@ -976,7 +928,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
// 先验证累计业绩
if (ComputeUtil.compareValue(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamMonthPv(), targetMemberRangeExt.getMonthConsumePv()), bdAwards.getShareTotalCheck())) {
// 验证小区,计算小区业绩
- List cuMemberRangeExtList = cuMemberRetailRangeService.queryCuMemberRetailRangeExtByParent(rangeTableName, targetMemberRangeExt.getPkMember());
+ List cuMemberRangeExtList = iCuMemberRetailRangeService.queryCuMemberRetailRangeExtByParent(rangeTableName, targetMemberRangeExt.getPkMember());
BigDecimal consumeBigPv = targetMemberRangeExt.getMonthConsumePv();
// if (ComputeUtil.compareGreaterThan(targetMemberRangeExt.getBigTeamPv(), consumeBigPv)) {
// consumeBigPv = targetMemberRangeExt.getBigTeamPv();
@@ -994,14 +946,14 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
if (ComputeUtil.compareValue(smallAreaPv, bdAwards.getShareCommunityCheck())) {
if (bdAwards.getPlaceDeptNum() > 0) {
// 验证是否有多个区满足业绩
- List cuMemberRetailRangeExtList = cuMemberRetailRangeService.queryCuMemberRetailRangeEnoughAchieve(rangeTableName, targetMemberRangeExt.getPkMember(), bdAwards.getShareCommunityCheck());
+ List cuMemberRetailRangeExtList = iCuMemberRetailRangeService.queryCuMemberRetailRangeEnoughAchieve(rangeTableName, targetMemberRangeExt.getPkMember(), bdAwards.getShareCommunityCheck());
int enoughNum = 0;
- for(CuMemberRetailRangeExt cuMemberRetailRangeExt : cuMemberRetailRangeExtList){
+ for (CuMemberRetailRangeExt cuMemberRetailRangeExt : cuMemberRetailRangeExtList) {
if (memberRangeExtMap.containsKey(cuMemberRetailRangeExt.getPkMember())) {
cuMemberRetailRangeExt = memberRangeExtMap.get(cuMemberRetailRangeExt.getPkMember());
}
- if(ComputeUtil.compareValue(ComputeUtil.computeAdd(cuMemberRetailRangeExt.getMonthConsumePv(), cuMemberRetailRangeExt.getTeamMonthPv()), bdAwards.getShareCommunityCheck())){
- enoughNum+=1;
+ if (ComputeUtil.compareValue(ComputeUtil.computeAdd(cuMemberRetailRangeExt.getMonthConsumePv(), cuMemberRetailRangeExt.getTeamMonthPv()), bdAwards.getShareCommunityCheck())) {
+ enoughNum += 1;
}
}
if (bdAwards.getPlaceDeptNum() > enoughNum) {
@@ -1019,12 +971,9 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
}
}
- /*
- * @description: 计算团队极差奖衔
- * @author: sui q
- * @date: 2024/10/15 17:10
- * @param: null null
- **/
+ /**
+ * 计算团队极差奖衔
+ */
public List calculateRetailBackRangeGradeAwards(Integer period, Map memberRangeExtMap, String rangeTableName, SaOrderExt saOrderExt,
Map retailTeamGradeMap, Map retailAwardsMap, String secondRangeTableName,
Integer boxNum, Map cuMemberGradeMap, Map cuMemberAwardsMap) {
@@ -1062,9 +1011,9 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
// 验证小区,计算小区累计盒数 查询伞下会员
List cuMemberRangeExtList;
if (secondRangeTableName != null) {
- cuMemberRangeExtList = cuMemberRetailRangeService.queryCuMemberSecondRangeExtByParent(rangeTableName, secondRangeTableName, targetMemberRangeExt.getPkMember());
+ cuMemberRangeExtList = iCuMemberRetailRangeService.queryCuMemberSecondRangeExtByParent(rangeTableName, secondRangeTableName, targetMemberRangeExt.getPkMember());
} else {
- cuMemberRangeExtList = cuMemberRetailRangeService.queryCuMemberRetailRangeExtByParent(rangeTableName, targetMemberRangeExt.getPkMember());
+ cuMemberRangeExtList = iCuMemberRetailRangeService.queryCuMemberRetailRangeExtByParent(rangeTableName, targetMemberRangeExt.getPkMember());
}
int bigBoxNum = targetMemberRangeExt.getConsumeBoxNum();
if (targetMemberRangeExt.getBigBoxNum() > 0) {
@@ -1101,9 +1050,9 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
// 验证小区,计算小区业绩
List cuMemberRangeExtList;
if (secondRangeTableName != null) {
- cuMemberRangeExtList = cuMemberRetailRangeService.queryCuMemberSecondRangeExtByParent(rangeTableName, secondRangeTableName, targetMemberRangeExt.getPkMember());
+ cuMemberRangeExtList = iCuMemberRetailRangeService.queryCuMemberSecondRangeExtByParent(rangeTableName, secondRangeTableName, targetMemberRangeExt.getPkMember());
} else {
- cuMemberRangeExtList = cuMemberRetailRangeService.queryCuMemberRetailRangeExtByParent(rangeTableName, targetMemberRangeExt.getPkMember());
+ cuMemberRangeExtList = iCuMemberRetailRangeService.queryCuMemberRetailRangeExtByParent(rangeTableName, targetMemberRangeExt.getPkMember());
}
BigDecimal consumeBigPv = BigDecimal.ZERO;
for (CuMemberRetailRangeExt cuMemberRetailRangeExt : cuMemberRangeExtList) {
@@ -1130,12 +1079,9 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
}
}
- /*
- * @description: 计算奖衔,验证小区业绩和推荐数量是否满足
- * @author: sui q
- * @date: 2024/10/16 16:31
- * @param: null null
- **/
+ /**
+ * 计算奖衔,验证小区业绩和推荐数量是否满足
+ */
private boolean calculateAwards(Map> parentRangeExtMap, Map memberRangeExtMap, CuMemberRangeExt targetMemberRangeExt, BdRangeAwards bdRangeAwards, List cuMemberRangeExtList, Boolean isRecommend) {
BigDecimal bigAreaPv = BigDecimal.ZERO;
Integer recommendNum = 0;
@@ -1171,7 +1117,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
}
// /*
-// * @description: 计算幸运奖,先计算有效代数,所有有效代数均分,比例10%
+// * 计算幸运奖,先计算有效代数,所有有效代数均分,比例10%
// * @author: sui q
// * @date: 2024/10/17 11:34
// * @param: null null
@@ -1221,12 +1167,9 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
// return memberBonusCoachList;
// }
- /*
- * @description: 计算极差收益,根据极差收益计算平级收益
- * @author: sui q
- * @date: 2024/10/17 14:31
- * @param: null null
- **/
+ /**
+ * 计算极差收益,根据极差收益计算平级收益
+ */
List calculateRetailRangeBonus(Map memberRangeExtMap, Map cuMemberBonusMap, Map gradeMap, BonusConfigDTO bonusConfigDTO,
Integer period, SaOrderWaresExt saOrderItems, SaOrderExt saOrderExt) {
List memberBonusRangeList = new ArrayList<>();
@@ -1252,7 +1195,6 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
continue;
}
// 推荐V1 有额外100
-// CuMemberRetailRangeExt parentMemberRangeExt = memberRangeExtMap.get(memberRangeExtMap.get(saOrderExt.getPkMember()).getPkParent());
int calGradeValue = targetMemberRangeExt.getGradeValue();
// 如果价格是209,代表是第一单激活,只有平级收益,只有V5有平级收益
if (beginBuyPrice.equals(BigDecimal.valueOf(209))) {
@@ -1272,7 +1214,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
int pkBonusItems = getPkBonusItems(bonusConfigDTO, targetMemberRangeExt.getPkSettleCountry(), EBonusItems.RETAIL_RANGE_INCOME.getValue());
CuMemberBonusRange cuMemberBonusRange = getCuMemberRetailBonusRange(saOrderExt, targetMemberRangeExt, cuMemberBonus, pkBonusItems);
cuMemberBonusRange.setCalValue(BigDecimal.ZERO);
- cuMemberBonusRange.setPretaxIncome(ComputeUtil.computeDivide(ComputeUtil.computeMultiply(ComputeUtil.computeSubtract(ComputeUtil.computeSubtract(beginBuyPrice, buyPrice), calBonusIncome), saOrderItems.getWaresQuantity()), BigDecimal.valueOf(6.4)));
+ cuMemberBonusRange.setPretaxIncome(ComputeUtil.computeDivide(ComputeUtil.computeMultiply(ComputeUtil.computeSubtract(ComputeUtil.computeSubtract(beginBuyPrice, buyPrice), calBonusIncome), saOrderItems.getWaresQuantity()), BigDecimal.ONE));
cuMemberBonusRange.setPkRange(targetMemberRangeExt.getPkGrade());
cuMemberBonusRange.setPkBeforeRange(sourceMemberRangeExt.getPkGrade());
cuMemberBonusRange.setPkOrderItems(saOrderItems.getPkId());
@@ -1313,7 +1255,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
BigDecimal sameBuyPrice = gradeMap.get(calGradeValue).getBuyPrice();
// 有平级
// if (calGradeValue < beginGradeValue) {
- if(ComputeUtil.compareGreaterThan(sameBuyPrice, comBuyPrice)){
+ if (ComputeUtil.compareGreaterThan(sameBuyPrice, comBuyPrice)) {
lastPkParent = targetMemberRangeExt.getPkParent();
pkParent = targetMemberRangeExt.getPkParent();
j--;
@@ -1342,13 +1284,13 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
} else if (j == 2) {
bonusIncome = bdGrade.getThirdAlgebra();
}
- if (/*calGradeValue == beginGradeValue && */ComputeUtil.compareEqual(beginBuyPrice, sameBuyPrice)) {
+ if (ComputeUtil.compareEqual(beginBuyPrice, sameBuyPrice)) {
CuMemberBonus cuMemberBonus = getCuMemberBonus(period, cuMemberBonusMap, targetMemberRangeExt.getPkMember(),
targetMemberRangeExt.getIncomeStatus(), targetMemberRangeExt.getPkSettleCountry(), targetMemberRangeExt.getPkRate() == null ? saOrderExt.getPkRate() : targetMemberRangeExt.getPkRate());
int pkBonusItems = getPkBonusItems(bonusConfigDTO, targetMemberRangeExt.getPkSettleCountry(), EBonusItems.RETAIL_SAME_LEVEL_INCOME.getValue());
CuMemberBonusRange oriMemberBonusRange = getCuMemberRetailBonusRange(saOrderExt, targetMemberRangeExt, cuMemberBonus, pkBonusItems);
oriMemberBonusRange.setCalValue(BigDecimal.valueOf(10));
- oriMemberBonusRange.setPretaxIncome(ComputeUtil.computeDivide(ComputeUtil.computeMultiply(bonusIncome, saOrderItems.getWaresQuantity()), BigDecimal.valueOf(6.4)));
+ oriMemberBonusRange.setPretaxIncome(ComputeUtil.computeDivide(ComputeUtil.computeMultiply(bonusIncome, saOrderItems.getWaresQuantity()), BigDecimal.ONE));
oriMemberBonusRange.setPkRange(targetMemberRangeExt.getPkGrade());
oriMemberBonusRange.setPkBeforeRange(sourceMemberRangeExt.getPkGrade());
oriMemberBonusRange.setPkOrderItems(saOrderItems.getPkId());
@@ -1417,10 +1359,6 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
/**
* 计算某条订单的推荐奖金
- *
- * @return: void
- * @Author: sui q
- * @Date: 2023/2/4 13:57
*/
CuMemberBonusPush calculatePushBonusOne(CuMemberRangeExt sourceMemberRangeExt, Map cuMemberRangeExtMap, BonusConfigDTO bonusConfigDTO, Integer period, Map cuMemberBonusMap,
SaOrderExt saOrderExt, int algebra, BigDecimal orderAssAchieve, List cuMemberBonusPushList) {
@@ -1500,10 +1438,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
}
/**
- * @Description: 计算服务中心奖
- * @return: CuMemberBonusDetail
- * @Author: sui q
- * @Date: 2023/2/8 17:22
+ * 计算服务中心奖
*/
CuMemberBonusDetail calculateRangeStoreBonusOne(Map cuMemberRangeExtMap, CuMemberRangeExt targetMemberRangeExt, BonusConfigDTO bonusConfigDTO, Integer period, Map cuMemberBonusMap, SaOrderExt saOrderExt) {
CuMemberRangeExt sourceMemberRangeExt = cuMemberRangeExtMap.get(saOrderExt.getPkMember());
@@ -1535,10 +1470,6 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
/**
* @param settleDateStr 结算日期
- * @Desccription: 计算新零售的月奖,区域、福利、福利分红
- * @return: Map 需要更新的
- * @Author: sui q
- * @Date: 2022/11/10 17:40
*/
void calculateRetailShareBonus(String settleDateStr, BonusConfigDTO bonusConfigDTO,
Integer period, BonusRecordDetailVO bonusRecordDetailVO, Map cuMemberBonusMap) {
@@ -1570,7 +1501,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
if (totalMonthOrderList.size() > 0) {
Set pkMemberSet = new HashSet<>();
totalMonthOrderList.forEach(saOrder -> pkMemberSet.add(saOrder.getPkMember()));
- List cuMemberRetailRangeExtList = cuMemberRetailRangeService.batchQueryMemberRetailRangeByMemberPk(rangeTableName, pkMemberSet);
+ List cuMemberRetailRangeExtList = iCuMemberRetailRangeService.batchQueryMemberRetailRangeByMemberPk(rangeTableName, pkMemberSet);
Map memberRangeExtMap = new HashMap<>();
cuMemberRetailRangeExtList.forEach(cuMemberRetailRangeExt ->
memberRangeExtMap.put(cuMemberRetailRangeExt.getPkMember(), cuMemberRetailRangeExt));
@@ -1632,7 +1563,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
cuMemberBonusRange.setPkBeforeRange(sourceMemberRetailRangeExt.getPkGrade());
cuMemberBonusRange.setPkOrderItems(0L);
rangeBenefitRetailRemark(saOrder, cuMemberBonusRange, sourceMemberRetailRangeExt, targetMemberRangeExt);
- BdBonusDeduct bdBonusDeduct = setBonusDetailDeduct(bonusConfigDTO, cuMemberBonusRange, saOrder.getOrderAmount(), BigDecimal.valueOf(6.4));
+ BdBonusDeduct bdBonusDeduct = setBonusDetailDeduct(bonusConfigDTO, cuMemberBonusRange, saOrder.getOrderAmount(), BigDecimal.ONE);
if (EBonusIncomeStatus.NORMAL.getValue() == cuMemberBonusRange.getIncomeStatus()) {
cuMemberBonus.setRetailBenefitRangeIncome(ComputeUtil.computeAdd(cuMemberBonus.getRetailBenefitRangeIncome(), cuMemberBonusRange.getPretaxIncome()));
setRetailTotal(bdBonusDeduct, cuMemberBonus, cuMemberBonusRange);
@@ -1645,9 +1576,9 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
}
// CAR_AWARD_POINTS 福利平均收益 SHARE_INCOME 福利收益
// 查询v5 等级 且奖衔>=S4的
- List memberRetailRangeExtList = cuMemberRetailRangeService.batchQueryMemberRetailRangeByAwards(rangeTableName);
+ List memberRetailRangeExtList = iCuMemberRetailRangeService.batchQueryMemberRetailRangeByAwards(rangeTableName);
if (memberRetailRangeExtList.size() > 0) {
- List retailRangeExtList = cuMemberRetailRangeService.batchQueryMemberRetailRangeByParent(rangeTableName, memberRetailRangeExtList);
+ List retailRangeExtList = iCuMemberRetailRangeService.batchQueryMemberRetailRangeByParent(rangeTableName, memberRetailRangeExtList);
Map> parentMemberRangeExtMap = new HashMap<>();
for (CuMemberRetailRangeExt cuMemberRetailRangeExt : retailRangeExtList) {
if (parentMemberRangeExtMap.containsKey(cuMemberRetailRangeExt.getPkParent())) {
@@ -1737,7 +1668,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
}
// for (SaOrder saOrder : totalMonthOrderList) {
// Map countyRangeExtMap = new HashMap<>();
-// List countyRangeExtList = cuMemberRetailRangeService.batchQueryMemberRetailRangeByCounty(rangeTableName);
+// List countyRangeExtList = iCuMemberRetailRangeService.batchQueryMemberRetailRangeByCounty(rangeTableName);
// countyRangeExtList.forEach(cuMemberRetailRangeExt ->
// countyRangeExtMap.put(cuMemberRetailRangeExt.getRegionAddress(), cuMemberRetailRangeExt));
// // 计算区域,获取所有有区域的会员
@@ -1784,7 +1715,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
if (EBonusIncomeStatus.NORMAL.getValue() == cuMemberBonusDetail.getIncomeStatus()) {
if (bonusItemsValue == EBonusItems.RETAIL_AREA_INCOME.getValue()) {
cuMemberBonus.setRetailAreaIncome(ComputeUtil.computeAdd(cuMemberBonus.getRetailAreaIncome(), cuMemberBonusDetail.getPretaxIncome()));
- }else if(bonusItemsValue == EBonusItems.RETAIL_BENEFIT_AVG_INCOME.getValue()) {
+ } else if (bonusItemsValue == EBonusItems.RETAIL_BENEFIT_AVG_INCOME.getValue()) {
cuMemberBonus.setRetailBenefitAvgIncome(ComputeUtil.computeAdd(cuMemberBonus.getRetailBenefitAvgIncome(), cuMemberBonusDetail.getPretaxIncome()));
} else {
cuMemberBonus.setRetailBenefitIncome(ComputeUtil.computeAdd(cuMemberBonus.getRetailBenefitIncome(), cuMemberBonusDetail.getPretaxIncome()));
@@ -1885,11 +1816,9 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
}
/**
+ * 记录需要修改的会员结算表数据, 安置的
+ *
* @param memberRangeMap 查询出来的结算数据
- * @Description: 记录需要修改的会员结算表数据, 安置的
- * @return: void
- * @Author: sui q
- * @Date: 2022/11/15 9:52
*/
private Map getMemberSettle(Map> memberRangeMap) {
Map memberRangeExtMap = new HashMap<>();
@@ -1949,12 +1878,10 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
}
/**
+ * 奖金明细 报单服务费、分红、云代首购、云代复购、海豆收益
+ *
* @param saOrderExt 订单
* @param cuMemberBonus 奖金主表
- * @Description: 奖金明细 报单服务费、分红、云代首购、云代复购、海豆收益
- * @return: CuMemberBonusDetail
- * @Author: sui q
- * @Date: 2023/1/5 16:31
*/
private CuMemberBonusDetail getCuMemberBonusDetail(SaOrder saOrderExt, Integer incomeStatus, Integer pkCountry, CuMemberBonus cuMemberBonus) {
CuMemberBonusDetail cuMemberBonusDetail = CuMemberBonusDetail.builder()
diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleServiceImpl.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleServiceImpl.java
index 53acd4c6..5674dd78 100644
--- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleServiceImpl.java
+++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleServiceImpl.java
@@ -58,17 +58,17 @@ import java.util.*;
public class BonusSettleServiceImpl implements IBonusSettleService {
@DubboReference
- IGradeServiceApi gradeServiceApi;
+ ISystemConfigServiceApi iSystemConfigServiceApi;
@DubboReference
- IAwardsServiceApi awardsServiceApi;
+ IGradeServiceApi iGradeServiceApi;
@DubboReference
- ISystemConfigServiceApi systemConfigServiceApi;
+ IAwardsServiceApi iAwardsServiceApi;
@DubboReference
- IRangeServiceApi rangeServiceApi;
+ IRangeServiceApi iRangeServiceApi;
@DubboReference
- IBonusItemsServiceApi bonusItemsServiceApi;
+ ISaOrderServiceApi iSaOrderServiceApi;
@DubboReference
- ISaOrderServiceApi saOrderServiceApi;
+ IBonusItemsServiceApi iBonusItemsServiceApi;
@Autowired
private ICuRegionAssessService cuRegionAssessService;
@@ -143,10 +143,10 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
public void calculateCumberBonusBySecond(String orderCode) {
log.info("开始执行秒接,订单编号:{}", orderCode);
Date startDate = DateUtils.currentDate();
- SaOrderExt saOrderExt = saOrderServiceApi.querySaOrderByDay(startDate,
+ SaOrderExt saOrderExt = iSaOrderServiceApi.querySaOrderByDay(startDate,
DateUtils.afterDate(1, ChronoUnit.DAYS, startDate), orderCode).getData();
- Map systemConfigMap = systemConfigServiceApi.getBonusSystemConfig().getData();
- Map rangeDtoMap = rangeServiceApi.queryRangeDto().getData();
+ Map systemConfigMap = iSystemConfigServiceApi.getBonusSystemConfig().getData();
+ Map rangeDtoMap = iRangeServiceApi.queryRangeDto().getData();
// 处理奖金结算秒结表,判断是否存在当天结算的秒接表,从cu_member中获取网体,从昨日结算表中获取累计、结余数据
String settleDate = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, saOrderExt.getPayTime());
String beforeDay = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, DateUtils.beforeDate(1, ChronoUnit.DAYS, saOrderExt.getPayTime()));
@@ -160,7 +160,7 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
// 前天
String yesSettleTableName = TableNameConstants.CU_MEMBER_SETTLE + beforeYesPeriod;
Map cuMemberBonusMap = new HashMap<>(MagicNumberConstants.DELETE_DATA_BATCH_UPDATE_NUM);
- BonusConfigDTO bonusConfigDTO = bonusItemsServiceApi.queryBonusConfigDTO().getData();
+ BonusConfigDTO bonusConfigDTO = iBonusItemsServiceApi.queryBonusConfigDTO().getData();
Map cuMemberSettleExtMap = new HashMap<>();
Map cuAwardsControlMap = getCuAwardsControlMap();
// 计算奖金
@@ -185,8 +185,8 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
bonusSettleFirstPurchaseHandle.getSecondMemberSettle(cuMemberSettleExtMap, cuMemberSettleExtList);
// 计算奖金
// 计算直推奖
- List gradeDtoList = gradeServiceApi.queryGradeConfigByCondition(saOrderExt.getPkCountry()).getData();
- CuMemberBonusPush cuMemberBonusPush = bonusSettleFirstPurchaseHandle.calculatePushBonusOne(cuMemberSettleExtMap, bonusConfigDTO, systemConfigMap, period, cuMemberBonusMap, saOrderExt, awardsServiceApi.getAwards().getData(), gradeDtoList);
+ List gradeDtoList = iGradeServiceApi.queryGradeConfigByCondition(saOrderExt.getPkCountry()).getData();
+ CuMemberBonusPush cuMemberBonusPush = bonusSettleFirstPurchaseHandle.calculatePushBonusOne(cuMemberSettleExtMap, bonusConfigDTO, systemConfigMap, period, cuMemberBonusMap, saOrderExt, iAwardsServiceApi.getAwards().getData(), gradeDtoList);
log.info("获得直推奖,奖金为:{}", JSONUtil.toJsonStr(cuMemberBonusPush));
// 计算量奖
// 所有需要计算的父节点,只计算新增
@@ -266,7 +266,7 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
List cuMemberBonusExpandList = bonusSettlePurchaseHandle.calculateRepurchaseExpandSecondBonus(riskControlMap, settleTableName,
cuMemberSettleExtMap, bonusConfigDTO, systemConfigMap, period, weekMemberBonusMap, cuMemberBonusMap, saOrderExt, cuMemberSettleExtList, settleDate, BigDecimal.ZERO, BigDecimal.ZERO, 0);
// c)增加奖衔记录表
- Map awardsMap = awardsServiceApi.getAwards().getData();
+ Map awardsMap = iAwardsServiceApi.getAwards().getData();
List cuMemberBonusRangeList = bonusSettlePurchaseHandle.calculateRepurchaseRangeBonus(cuMemberSettleExtMap, settleTableName, settleDate, rangeDtoMap, awardsMap,
bonusConfigDTO, Collections.singletonList(saOrderExt), period, cuMemberBonusMap, cuAwardsControlMap, new LeXueRangeParam());
if (cuMemberBonusMap.size() > 0) {
@@ -325,9 +325,6 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
}
}
- /**
- * 每日计算会员奖金,最终的奖金
- */
@Override
@Transactional(rollbackFor = Exception.class)
public void calculateCuMemberBonus(String settleDate, List saOrderExtList) {
@@ -338,7 +335,7 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
// 将删除的订单的点位变为死点
//********************************* 更新当天最新的业绩*************************/
// 获取所有国家的奖金项 key = 国家 + 奖金项的值
- BonusConfigDTO bonusConfigDTO = bonusItemsServiceApi.queryBonusConfigDTO().getData();
+ BonusConfigDTO bonusConfigDTO = iBonusItemsServiceApi.queryBonusConfigDTO().getData();
Map cuMemberBonusMap = new HashMap<>();
BonusRecordDetailVO recordDetailVO = new BonusRecordDetailVO();
Boolean isSameMonth = DateUtils.getMonth(settleDate).equals(DateUtils.getMonth(yesterday));
@@ -367,8 +364,8 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
@Override
public void calculateCuMemberRetailRangeBonusBySaOrder(String orderCode) {
Map cuMemberBonusMap = new HashMap<>(MagicNumberConstants.DELETE_DATA_BATCH_UPDATE_NUM);
- BonusConfigDTO bonusConfigDTO = bonusItemsServiceApi.queryBonusConfigDTO().getData();
- List retailOrderList = saOrderServiceApi.queryRetailSaOrderByDay(DateUtils.beforeDate(6, ChronoUnit.DAYS), DateUtils.afterDate(1, ChronoUnit.DAYS), orderCode).getData();
+ BonusConfigDTO bonusConfigDTO = iBonusItemsServiceApi.queryBonusConfigDTO().getData();
+ List retailOrderList = iSaOrderServiceApi.queryRetailSaOrderByDay(DateUtils.beforeDate(6, ChronoUnit.DAYS), DateUtils.afterDate(1, ChronoUnit.DAYS), orderCode).getData();
if (retailOrderList != null && retailOrderList.size() > 0) {
SaOrderExt saOrderExt = retailOrderList.get(0);
// 处理奖金结算秒结表,判断是否存在当天结算的秒接表,从cu_member中获取网体,从昨日结算表中获取累计、结余数据
@@ -415,14 +412,14 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
Integer yesterdayPeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(yesterday).getPkId();
String yesterdayTableName = TableNameConstants.CU_MEMBER_SETTLE + yesterdayPeriod;
cuMemberTreeService.initCuMemberExpandTreeTable(yesterdayTableName, currentSettleTableName);
- BonusConfigDTO bonusConfigDTO = bonusItemsServiceApi.queryBonusConfigDTO().getData();
+ BonusConfigDTO bonusConfigDTO = iBonusItemsServiceApi.queryBonusConfigDTO().getData();
Map cuMemberSettleExtMap = new HashMap<>();
Map cuMemberBonusMap = new HashMap<>();
Map cuAwardsControlMap = getCuAwardsControlMap();
Map weekMemberBonusMap = getWeekMemberBonusMap(settleDate, period);
- Map systemConfigMap = systemConfigServiceApi.getBonusSystemConfig().getData();
+ Map systemConfigMap = iSystemConfigServiceApi.getBonusSystemConfig().getData();
BonusRecordDetailVO recordDetailVO = new BonusRecordDetailVO();
- Map awardsMap = awardsServiceApi.getAwards().getData();
+ Map awardsMap = iAwardsServiceApi.getAwards().getData();
// 首购订单
List firPurchaseOrderList = new ArrayList<>();
diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuMemberRetailLogServiceImpl.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuMemberRetailLogServiceImpl.java
index fe15f0bb..461632b1 100644
--- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuMemberRetailLogServiceImpl.java
+++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuMemberRetailLogServiceImpl.java
@@ -1,10 +1,9 @@
package com.hzs.bonus.bonus.service.impl;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.hzs.bonus.bonus.mapper.CuMemberRetailLogMapper;
import com.hzs.bonus.bonus.service.ICuMemberRetailLogService;
-import com.hzs.common.core.constant.SystemFieldConstants;
import com.hzs.common.core.enums.EYesNo;
import com.hzs.common.core.utils.DateUtils;
import com.hzs.common.domain.member.bonus.CuMemberRetailLog;
@@ -15,25 +14,20 @@ import java.util.Date;
import java.util.List;
/**
- *
* 秒接日志记录表 服务实现类
- *
- *
- * @author hzs
- * @since 2024-12-27
*/
@Service
public class CuMemberRetailLogServiceImpl extends ServiceImpl implements ICuMemberRetailLogService {
@Override
public List queryCuMemberRetailLog() {
- QueryWrapper queryWrapper = new QueryWrapper<>();
- queryWrapper.eq("ENABLE_STATUS", EYesNo.NO.getIntValue());
+ LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
+ queryWrapper.eq(CuMemberRetailLog::getEnableStatus, EYesNo.NO.getIntValue());
Date endTime = DateUtils.currentDateTime();
Date startTime = DateUtils.beforeDate(1, ChronoUnit.DAYS, endTime);
- queryWrapper.gt(SystemFieldConstants.CREATION_TIME, startTime);
- queryWrapper.le(SystemFieldConstants.CREATION_TIME, endTime);
- queryWrapper.orderByAsc(SystemFieldConstants.CREATION_TIME);
+ queryWrapper.gt(CuMemberRetailLog::getCreationTime, startTime);
+ queryWrapper.le(CuMemberRetailLog::getCreationTime, endTime);
+ queryWrapper.orderByAsc(CuMemberRetailLog::getCreationTime);
return baseMapper.selectList(queryWrapper);
}
diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/listener/SaOrderSecondListener.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/listener/SaOrderSecondListener.java
index db5144ae..f2832d26 100644
--- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/listener/SaOrderSecondListener.java
+++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/listener/SaOrderSecondListener.java
@@ -17,21 +17,17 @@ import org.springframework.messaging.Message;
import org.springframework.stereotype.Component;
/**
- * @Description: 订单秒接
- * @Author: sui q
- * @Time: 2023/3/1 16:30
- * @Classname: SaOrderSecondListener
- * @PackageName: com.hzs.third.mqcall.listener
+ * 订单秒接
*/
@Slf4j
@Component
public class SaOrderSecondListener {
@Autowired
- private IBonusSettleService bonusSettleService;
+ private IBonusSettleService iBonusSettleService;
@Autowired
- private ICuMemberRetailLogService cuMemberRetailLogService;
+ private ICuMemberRetailLogService iCuMemberRetailLogService;
@RabbitListener(bindings = @QueueBinding(
exchange = @Exchange(value = RabbitMqConstants.ORDER_SECOND_EXCHANGE, type = "topic"),
@@ -47,19 +43,18 @@ public class SaOrderSecondListener {
cuMemberRetailLog.setPkCountry(CountryConstants.CHINA_COUNTRY);
cuMemberRetailLog.setPkCreator(MagicNumberConstants.PK_ADMIN);
cuMemberRetailLog.setOrderCode(saOrderExt.getOrderCode());
- if(saOrderExt.getCancelBool() != null && saOrderExt.getCancelBool()){
+ if (saOrderExt.getCancelBool() != null && saOrderExt.getCancelBool()) {
cuMemberRetailLog.setCancelStatus(EYesNo.YES.getIntValue());
}
try {
Thread.sleep(500);
- bonusSettleService.calculateCuMemberRetailRangeBonusBySaOrder(saOrderExt.getOrderCode());
+ iBonusSettleService.calculateCuMemberRetailRangeBonusBySaOrder(saOrderExt.getOrderCode());
} catch (Exception e) {
cuMemberRetailLog.setEnableStatus(EYesNo.NO.getIntValue());
cuMemberRetailLog.setMsg(e.getMessage());
e.printStackTrace();
} finally {
- cuMemberRetailLogService.save(cuMemberRetailLog);
+ iCuMemberRetailLogService.save(cuMemberRetailLog);
}
- // todo 失败的时候记录日志
}
}
diff --git a/bd-business/bd-business-bonus/src/main/resources/mapper/member/achieve/CuMemberAchieveMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/member/achieve/CuMemberAchieveMapper.xml
index 601194e1..e904a79e 100644
--- a/bd-business/bd-business-bonus/src/main/resources/mapper/member/achieve/CuMemberAchieveMapper.xml
+++ b/bd-business/bd-business-bonus/src/main/resources/mapper/member/achieve/CuMemberAchieveMapper.xml
@@ -490,16 +490,16 @@
merge into ${tableName} a
using(select #{period} period, a.*
from (select user_id pk_member,
- sum(CURR_DAY_MAIN_REG_AMOUNT)/6.4 REGISTER_AMOUNT,
- sum(CURR_DAY_MAIN_REG_PV)/6.4 REGISTER_PV,
- sum(CURR_DAY_MAIN_UP_AMOUNT)/6.4 UPGRADE_AMOUNT,
- sum(CURR_DAY_MAIN_UP_PV)/6.4 UPGRADE_PV,
- sum(CURR_DAY_MAIN_REPUR_AMOUNT)/6.4 REPURCHASE_AMOUNT,
- sum(CURR_DAY_MAIN_REPURCHASE_PV)/6.4 REPURCHASE_PV,
- sum(CURR_DAY_SEA2_REG_AMOUNT)/6.4 HI_FUN_AMOUNT,
- sum(CURR_DAY_SEA2_REG_PV)/6.4 HI_FUN_PV,
- sum(CURR_DAY_MALL_AMOUNT)/6.4 MALL_AMOUNT,
- sum(CURR_DAY_MALL_PV)/6.4 MALL_PV
+ sum(CURR_DAY_MAIN_REG_AMOUNT) REGISTER_AMOUNT,
+ sum(CURR_DAY_MAIN_REG_PV) REGISTER_PV,
+ sum(CURR_DAY_MAIN_UP_AMOUNT) UPGRADE_AMOUNT,
+ sum(CURR_DAY_MAIN_UP_PV) UPGRADE_PV,
+ sum(CURR_DAY_MAIN_REPUR_AMOUNT) REPURCHASE_AMOUNT,
+ sum(CURR_DAY_MAIN_REPURCHASE_PV) REPURCHASE_PV,
+ sum(CURR_DAY_SEA2_REG_AMOUNT) HI_FUN_AMOUNT,
+ sum(CURR_DAY_SEA2_REG_PV) HI_FUN_PV,
+ sum(CURR_DAY_MALL_AMOUNT) MALL_AMOUNT,
+ sum(CURR_DAY_MALL_PV) MALL_PV
from G_MEMBER_ACHIV@link_test
where period between - 729 and #{period}
group by user_id) a) b on
diff --git a/bd-business/bd-business-bonus/src/main/resources/mapper/member/bonus/CuMemberRetailLogMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/member/bonus/CuMemberRetailLogMapper.xml
index 5075934f..c77e7b95 100644
--- a/bd-business/bd-business-bonus/src/main/resources/mapper/member/bonus/CuMemberRetailLogMapper.xml
+++ b/bd-business/bd-business-bonus/src/main/resources/mapper/member/bonus/CuMemberRetailLogMapper.xml
@@ -2,23 +2,11 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- update cu_member_retail_log set enable_status=0
- where del_flag=0 and pk_id in
+ update cu_member_retail_log
+ set enable_status = 0
+ where del_flag = 0
+ and pk_id in
#{item.pkId}
diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/controller/api/ApiMemberController.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/controller/api/ApiMemberController.java
index 7067f7f1..86d04ef3 100644
--- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/controller/api/ApiMemberController.java
+++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/controller/api/ApiMemberController.java
@@ -43,11 +43,7 @@ import java.math.BigDecimal;
import java.util.*;
/**
- * @Description: 会员控制器
- * @Author: jiang chao
- * @Time: 2023/1/10 15:18
- * @Classname: ApiMemberController
- * @PackageName: com.hzs.member.base.controller.api
+ * 会员控制器
*/
@Slf4j
@RequestMapping("/api/member")
@@ -68,19 +64,19 @@ public class ApiMemberController extends BaseController {
@DubboReference
ICurrencyServiceApi currencyServiceApi;
- /**
- * 获取登录会员信息
- *
- * @return
- */
- @GetMapping("/get-info")
- public AjaxResult getInfo() {
- MemberInfoVO memberInfo = iMemberInfoService.getMemberInfo(SecurityUtils.getUserId());
- if (null == memberInfo) {
- return AjaxResult.error();
- }
- return AjaxResult.success(memberInfo);
- }
+// /**
+// * 获取登录会员信息
+// *
+// * @return
+// */
+// @GetMapping("/get-info")
+// public AjaxResult getInfo() {
+// MemberInfoVO memberInfo = iMemberInfoService.getMemberInfo(SecurityUtils.getUserId());
+// if (null == memberInfo) {
+// return AjaxResult.error();
+// }
+// return AjaxResult.success(memberInfo);
+// }
/**
* 更新个人资料(昵称)
diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/controller/manage/CuMemberController.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/controller/manage/CuMemberController.java
index db16e999..93b001ba 100644
--- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/controller/manage/CuMemberController.java
+++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/controller/manage/CuMemberController.java
@@ -110,7 +110,7 @@ public class CuMemberController extends BaseController {
/**
- * 导入批量查询会员信息
+ * 导入批量查询会员信息
**/
@Log(module = EOperationModule.SPECIAL_BUSINESS, business = EOperationBusiness.MODIFY_CODE, method = EOperationMethod.IMPORT)
@PostMapping("/batch-importData")
@@ -168,7 +168,8 @@ public class CuMemberController extends BaseController {
/**
- * 真实信息
+ * 真实信息
+ *
* @author: zhang jing
* @date: 2022/11/15 17:59
* @param: [memberParam]
@@ -208,7 +209,8 @@ public class CuMemberController extends BaseController {
}
/**
- * 根据会员编号查询会员信息
+ * 根据会员编号查询会员信息
+ *
* @author: zhang jing
* @date: 2022/11/9 18:25
* @param: [pkId]
@@ -567,7 +569,8 @@ public class CuMemberController extends BaseController {
/**
- * 导出真实信息
+ * 导出真实信息
+ *
* @author: zhang jing
* @date: 2023/7/15 17:02
* @param: [response, memberRealInfoParam]
@@ -650,7 +653,8 @@ public class CuMemberController extends BaseController {
/**
- * 校验身份证格式
+ * 校验身份证格式
+ *
* @author: zhang jing
* @date: 2023/10/17 14:10
* @param: [idCard]
@@ -787,17 +791,12 @@ public class CuMemberController extends BaseController {
/**
- * 新零售会员信息
- * @author: zhang jing
- * @date: 2024/12/9 17:34
- * @param: [memberParam]
- * @return: com.hzs.common.core.web.page.TableDataInfo
+ * 新零售会员信息
**/
@Log(module = EOperationModule.MEMBER_INFORMATION, business = EOperationBusiness.RETAIL_MEMBER_INFO, method = EOperationMethod.SELECT)
@GetMapping("/query-member")
public TableDataInfo retailMember(RetailMemberVO memberParam) {
memberParam.setPkCountry(SecurityUtils.getPkCountry());
- memberParam.setSystemType(SecurityUtils.getSystemType());
List memberCodeList = new ArrayList<>();
List memberCodeList1 = new ArrayList<>();
@@ -909,11 +908,7 @@ public class CuMemberController extends BaseController {
/**
- * 导出新零售
- * @author: zhang jing
- * @date: 2024/12/10 17:22
- * @param: [response, memberParam]
- * @return: void
+ * 导出新零售
**/
@Log(module = EOperationModule.MEMBER_INFORMATION, business = EOperationBusiness.RETAIL_MEMBER_INFO, method = EOperationMethod.EXPORT)
@PostMapping("/export")
@@ -1045,7 +1040,8 @@ public class CuMemberController extends BaseController {
}
/**
- * 免密登录
+ * 免密登录
+ *
* @author: zhang jing
* @date: 2023/6/6 10:05
* @param: [memberTeamInfoParam]
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 d8d1dbd5..1bcb3274 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
@@ -863,7 +863,6 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
for (int i = memberList.size() - 1; i >= 0; i--) {
Long pkMember = memberList.get(i);
SaOrderExt saOrder = saOrderMap.get(pkMember);
- CuMember cuMember = cuMemberService.getMemberById(pkMember);
// 删除等级
cuMemberLevelService.deleteCuMemberLevelRecord(saOrder.getPkId(), pkApprove, currentDateTime);
// 回退奖衔,根据订单从 cu_member_awards查询
@@ -1525,16 +1524,17 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
boolean updateFlag = false;
LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>();
- if (null != saOrder.getPkGrade()) {
- updateWrapper.set(CuMember::getPkSettleGrade, saOrder.getPkGrade());
- updateFlag = true;
-
- cuMember.setPkSettleGrade(saOrder.getPkGrade());
- }
+// if (null != saOrder.getPkGrade()) {
+// updateWrapper.set(CuMember::getPkSettleGrade, saOrder.getPkGrade());
+// updateFlag = true;
+//
+// cuMember.setPkSettleGrade(saOrder.getPkGrade());
+// }
if (activateFlag) {
updateWrapper.set(null != cuMember.getIsActivate(), CuMember::getIsActivate, cuMember.getIsActivate());
updateWrapper.set(null != cuMember.getPayStatus(), CuMember::getPayStatus, cuMember.getPayStatus());
updateWrapper.set(null != cuMember.getPayTime(), CuMember::getPayTime, cuMember.getPayTime());
+ updateFlag = true;
}
if (updateFlag) {
// 更新会员信息
@@ -1543,10 +1543,10 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
cuMemberService.update(updateWrapper);
}
- if (!cuMember.getPkSettleGrade().equals(saOrder.getPkGradeOld())) {
- // 保存会员等级变动(如果旧等级和新等级相同,则不记录)
- saveLevelUpgrade(cuMember, EUpgradeType.BUY_UPGRADE.getValue(), saOrder, saOrder.getPkGradeOld());
- }
+// if (!cuMember.getPkSettleGrade().equals(saOrder.getPkGradeOld())) {
+// // 保存会员等级变动(如果旧等级和新等级相同,则不记录)
+// saveLevelUpgrade(cuMember, EUpgradeType.BUY_UPGRADE.getValue(), saOrder, saOrder.getPkGradeOld());
+// }
this.handleRetailMemberAccount(saOrder, cuMemberAccountExt);
}
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 2900d87d..641a6b15 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
@@ -3210,15 +3210,17 @@ public class CuMemberServiceImpl extends ServiceImpl i
* @return
*/
private String checkRegisterRelation(String phone, Integer systemType) {
- if (this.count(Wrappers.lambdaQuery()
- .eq(CuMember::getPhone, phone)
- .eq(CuMember::getCategory, ECategory.NORMAL.getValue())
- .eq(CuMember::getSystemType, systemType)
- ) == 0) {
- // 手机号不存在,可以进行注册
- return null;
- }
- return "注册信息已存在,请重新输入注册信息";
+ // TODO new 手机号可以重复,不需要进行是否重复校验
+ return null;
+// if (this.count(Wrappers.lambdaQuery()
+// .eq(CuMember::getPhone, phone)
+// .eq(CuMember::getCategory, ECategory.NORMAL.getValue())
+// .eq(CuMember::getSystemType, systemType)
+// ) == 0) {
+// // 手机号不存在,可以进行注册
+// return null;
+// }
+// return "注册信息已存在,请重新输入注册信息";
}
/**
diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/detail/mapper/CuMemberLevelMapper.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/detail/mapper/CuMemberLevelMapper.java
index 61c220a2..39503912 100644
--- a/bd-business/bd-business-member/src/main/java/com/hzs/member/detail/mapper/CuMemberLevelMapper.java
+++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/detail/mapper/CuMemberLevelMapper.java
@@ -10,9 +10,6 @@ import java.util.List;
/**
* 会员信息-等级升级记录 Mapper 接口
- *
- * @author hzs
- * @since 2022-10-11
*/
public interface CuMemberLevelMapper extends BaseMapper {
diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/detail/provider/CuMemberDetailProvider.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/detail/provider/CuMemberDetailProvider.java
index ac97121f..e60f1eae 100644
--- a/bd-business/bd-business-member/src/main/java/com/hzs/member/detail/provider/CuMemberDetailProvider.java
+++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/detail/provider/CuMemberDetailProvider.java
@@ -14,11 +14,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import java.util.List;
/**
- * @Description: 会员升级记录dubbo服务
- * @Author: jiang chao
- * @Time: 2024/1/30 17:25
- * @Classname: CuMemberLevelProvider
- * @PackageName: com.hzs.member.detail.provider
+ * 会员升级记录dubbo服务
*/
@DubboService
public class CuMemberDetailProvider implements ICuMemberDetailServiceApi {
diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/detail/service/ICuMemberLevelService.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/detail/service/ICuMemberLevelService.java
index 9b053255..db92ef4b 100644
--- a/bd-business/bd-business-member/src/main/java/com/hzs/member/detail/service/ICuMemberLevelService.java
+++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/detail/service/ICuMemberLevelService.java
@@ -9,9 +9,6 @@ import java.util.List;
/**
* 会员信息-等级升级记录 服务类
- *
- * @author hzs
- * @since 2022-10-11
*/
public interface ICuMemberLevelService extends IService {
@@ -21,9 +18,6 @@ public interface ICuMemberLevelService extends IService {
* @param pkOrder 订单
* @param pkApprove 审核人
* @param currentDateTime 当前时间
- * @return: void
- * @Author: sui q
- * @Date: 2023/3/30 9:15
*/
void deleteCuMemberLevelRecord(Long pkOrder, Long pkApprove, Date currentDateTime);
diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/detail/service/impl/CuMemberLevelServiceImpl.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/detail/service/impl/CuMemberLevelServiceImpl.java
index 3beba667..86477026 100644
--- a/bd-business/bd-business-member/src/main/java/com/hzs/member/detail/service/impl/CuMemberLevelServiceImpl.java
+++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/detail/service/impl/CuMemberLevelServiceImpl.java
@@ -15,9 +15,6 @@ import java.util.List;
/**
* 会员信息-等级升级记录 服务实现类
- *
- * @author hzs
- * @since 2022-10-11
*/
@Service
public class CuMemberLevelServiceImpl extends ServiceImpl implements ICuMemberLevelService {
diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/login/controller/MemberTokenController.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/login/controller/MemberTokenController.java
index 5eae3149..f9a3a79a 100644
--- a/bd-business/bd-business-member/src/main/java/com/hzs/member/login/controller/MemberTokenController.java
+++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/login/controller/MemberTokenController.java
@@ -16,7 +16,6 @@ import javax.servlet.http.HttpServletRequest;
/**
* 会员端 token 控制
*
- * @author hzs
*/
@RequestMapping("/auth/api")
@RestController
@@ -28,20 +27,20 @@ public class MemberTokenController {
@Autowired
private IMemberLoginService iMemberLoginService;
- /**
- * 会员登录
- *
- * @param form
- * @return
- */
- @PostMapping("/login")
- public AjaxResult login(@RequestBody LoginBody form) {
- // 用户登录
- LoginMember loginMember = iMemberLoginService.login(form.getUsername(), form.getPassword());
-
- // 获取登录token
- return AjaxResult.success(memberTokenService.createToken(loginMember));
- }
+// /**
+// * 会员登录
+// *
+// * @param form
+// * @return
+// */
+// @PostMapping("/login")
+// public AjaxResult login(@RequestBody LoginBody form) {
+// // 用户登录
+// LoginMember loginMember = iMemberLoginService.login(form.getUsername(), form.getPassword());
+//
+// // 获取登录token
+// return AjaxResult.success(memberTokenService.createToken(loginMember));
+// }
/**
* 会员登出
diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/marketnews/controller/api/MarketNewsController.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/marketnews/controller/api/MarketNewsController.java
index b1984b87..a3181c2c 100644
--- a/bd-business/bd-business-member/src/main/java/com/hzs/member/marketnews/controller/api/MarketNewsController.java
+++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/marketnews/controller/api/MarketNewsController.java
@@ -242,15 +242,10 @@ public class MarketNewsController extends BaseController {
if (cuMemberBonusPush.getOrderType() != null) {
cuMemberBonusPush.setOrderTypeStr(transactionMap.get(EnumsPrefixConstants.ORDER_TYPE + cuMemberBonusPush.getOrderType()));
}
- // 注册业绩 国内 * 6.4
- if (SecurityUtils.getPkCountry().equals(CountryConstants.CHINA_COUNTRY)) {
- if (cuMemberBonusPush.getOrderAchieve() == null) {
- cuMemberBonusPush.setOrderAchieve(BigDecimal.ZERO);
- }
- cuMemberBonusPush.setOrderAchieve(cuMemberBonusPush.getOrderAchieve().multiply(inExchangeRate));
- } else {
- cuMemberBonusPush.setOrderAchieve(cuMemberBonusPush.getOrderAchieve());
+ if (cuMemberBonusPush.getOrderAchieve() == null) {
+ cuMemberBonusPush.setOrderAchieve(BigDecimal.ZERO);
}
+ cuMemberBonusPush.setOrderAchieve(cuMemberBonusPush.getOrderAchieve().multiply(inExchangeRate));
cuMemberBonusPush.setCreationTime(cuMemberBonusPush.getMemberPayTime());
// 跨国报单 汇率转换
diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/retail/login/service/impl/RetailMemberLoginServiceImpl.java b/bd-business/bd-business-member/src/main/java/com/hzs/retail/login/service/impl/RetailMemberLoginServiceImpl.java
index bfdc4d37..3ff6b665 100644
--- a/bd-business/bd-business-member/src/main/java/com/hzs/retail/login/service/impl/RetailMemberLoginServiceImpl.java
+++ b/bd-business/bd-business-member/src/main/java/com/hzs/retail/login/service/impl/RetailMemberLoginServiceImpl.java
@@ -1,10 +1,7 @@
package com.hzs.retail.login.service.impl;
import cn.hutool.core.codec.Base64Decoder;
-import cn.hutool.core.collection.CollectionUtil;
-import cn.hutool.core.lang.Validator;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
-import com.hzs.common.core.constant.SysConstants;
import com.hzs.common.core.constant.msg.SystemMsgConstants;
import com.hzs.common.core.enums.EAccountStatus;
import com.hzs.common.core.enums.ECategory;
@@ -30,7 +27,6 @@ import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletRequest;
import java.util.Date;
-import java.util.List;
/**
* 新零售会员登录服务
@@ -52,27 +48,27 @@ public class RetailMemberLoginServiceImpl implements IRetailMemberLoginService {
throw new ServiceException("会员账号或联系方式必须填写");
}
- CuMemberExt member;
+ CuMemberExt member = iCuMemberService.getRetailMemberByCode(userName);
- if (userName.startsWith(SysConstants.RETAIL_PREFIX)) {
- // 会员编号登录
- member = iCuMemberService.getRetailMemberByCode(userName);
- } else if ((userName.length() == 11 && userName.startsWith("1"))
- || Validator.isEmail(userName)) {
- // 手机号 或 邮箱 登录
- List memberList = iCuMemberService.listMemberByPhone(userName);
- if (CollectionUtil.isEmpty(memberList)) {
- throw new ServiceException("会员账号或联系方式填写有误,请检查后重试");
- }
- if (memberList.size() > 1) {
- // 联系方式超过两个,只能使用会员编号进行登录
- throw new ServiceException("当前会员需要使用会员编号进行登录");
- }
- member = memberList.get(0);
- } else {
- // 用户/密码必须填写
- throw new ServiceException("会员账号或联系方式填写有误,请检查后重试");
- }
+// if (userName.startsWith(SysConstants.RETAIL_PREFIX)) {
+// // 会员编号登录
+// member = iCuMemberService.getRetailMemberByCode(userName);
+// } else if ((userName.length() == 11 && userName.startsWith("1"))
+// || Validator.isEmail(userName)) {
+// // 手机号 或 邮箱 登录
+// List memberList = iCuMemberService.listMemberByPhone(userName);
+// if (CollectionUtil.isEmpty(memberList)) {
+// throw new ServiceException("会员账号或联系方式填写有误,请检查后重试");
+// }
+// if (memberList.size() > 1) {
+// // 联系方式超过两个,只能使用会员编号进行登录
+// throw new ServiceException("当前会员需要使用会员编号进行登录");
+// }
+// member = memberList.get(0);
+// } else {
+// // 用户/密码必须填写
+// throw new ServiceException("会员账号或联系方式填写有误,请检查后重试");
+// }
if (null == member) {
recordLoginLog(null, EStatus.NO, userName + " 登录会员不存在");
@@ -122,20 +118,20 @@ public class RetailMemberLoginServiceImpl implements IRetailMemberLoginService {
updateFlag = true;
}
}
- if (null == member.getPkTeamCode()) {
- // 空单注册会员,如果团队为空处理
- CuMemberExt teamMember = iCuMemberService.queryParentTeam(member.getPkId());
- if (null != teamMember) {
- updateWrapper.set(CuMember::getPkTeamCode, teamMember.getPkTeamCode());
- updateFlag = true;
- }
- }
+// if (null == member.getPkTeamCode()) {
+// // 空单注册会员,如果团队为空处理
+// CuMemberExt teamMember = iCuMemberService.queryParentTeam(member.getPkId());
+// if (null != teamMember) {
+// updateWrapper.set(CuMember::getPkTeamCode, teamMember.getPkTeamCode());
+// updateFlag = true;
+// }
+// }
if (updateFlag) {
updateWrapper.eq(CuMember::getPkId, member.getPkId());
iCuMemberService.update(updateWrapper);
}
} catch (Exception e) {
- log.error("会员 {} 补全【体系】或【团队】错误", member.getMemberCode());
+ log.error("会员 {} 补全【体系】错误", member.getMemberCode());
}
recordLoginLog(loginMember.getPkId(), EStatus.YES, "登录成功");
diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/controller/api/RetailMemberController.java b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/controller/api/RetailMemberController.java
index 418a5f08..97316def 100644
--- a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/controller/api/RetailMemberController.java
+++ b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/controller/api/RetailMemberController.java
@@ -166,10 +166,8 @@ public class RetailMemberController extends BaseController {
// 达到条件,但是没有选择区域,需要弹窗选择区域
CuMemberRetailAchieveVO retailAchieve = iCuMemberRetailAchieveService.selectMemberSumAchieve(userId, pkCountry, systemType);
- // 2024.12.30 添加需求,存在手动V0升V5,需要判断小市场业绩达到2万以上才可以进行开通
- if (retailAchieve.getSmallAreaPv().multiply(new BigDecimal("10000")).compareTo(SysConstants.SMALL_AREA_PV) < 0
- || retailAchieve.getBigArealPv().multiply(new BigDecimal("10000")).compareTo(SysConstants.SMALL_AREA_PV) < 0
- ) {
+ // TODO 2025.06.09 新需求,选择区域判断等级达到合伙人,血缘累计业绩达到30万,可以选择
+ if (retailAchieve.getSmallAreaPv().add(retailAchieve.getBigArealPv()).compareTo(SysConstants.TOTAL_AREA_PV) < 0) {
return AjaxResult.error("还未达到选择收益区域条件");
}
}
diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/service/impl/MemberRetailServiceImpl.java b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/service/impl/MemberRetailServiceImpl.java
index bbc9b93a..e76a25df 100644
--- a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/service/impl/MemberRetailServiceImpl.java
+++ b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/service/impl/MemberRetailServiceImpl.java
@@ -85,6 +85,8 @@ public class MemberRetailServiceImpl implements IMemberRetailService {
.creationTime(cuMember.getCreationTime())
.idCardAuth(idCardAuth)
.systemType(cuMember.getSystemType())
+ .pkCountry(cuMember.getPkCountry())
+ .pkSettleCountry(cuMember.getPkSettleCountry())
.build();
}
return null;
diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/vo/RetailMemberInfoVO.java b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/vo/RetailMemberInfoVO.java
index 2f75cd13..108d531c 100644
--- a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/vo/RetailMemberInfoVO.java
+++ b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/vo/RetailMemberInfoVO.java
@@ -11,11 +11,7 @@ import java.math.BigDecimal;
import java.util.Date;
/**
- * @Description: 新零售会员信息返回VO
- * @Author: jiang chao
- * @Time: 2024/12/11 15:06
- * @Classname: RetailMemberInfoVO
- * @PackageName: com.hzs.retail.member.vo
+ * 新零售会员信息返回VO
*/
@Builder
@AllArgsConstructor
@@ -44,6 +40,14 @@ public class RetailMemberInfoVO implements Serializable {
*/
private String nickName;
+ /**
+ * 自然国ID
+ */
+ private Integer pkCountry;
+ /**
+ * 结算国ID
+ */
+ private Integer pkSettleCountry;
/**
* 结算国
*/
diff --git a/bd-business/bd-business-member/src/main/resources/mapper/member/achieve/CuMemberAchieveMapper.xml b/bd-business/bd-business-member/src/main/resources/mapper/member/achieve/CuMemberAchieveMapper.xml
index a5a04949..8018e415 100644
--- a/bd-business/bd-business-member/src/main/resources/mapper/member/achieve/CuMemberAchieveMapper.xml
+++ b/bd-business/bd-business-member/src/main/resources/mapper/member/achieve/CuMemberAchieveMapper.xml
@@ -716,16 +716,16 @@
merge into ${tableName} a
using (select #{period} period, a.*
from (select user_id pk_member,
- sum(CURR_DAY_MAIN_REG_AMOUNT) / 6.4 REGISTER_AMOUNT,
- sum(CURR_DAY_MAIN_REG_PV) / 6.4 REGISTER_PV,
- sum(CURR_DAY_MAIN_UP_AMOUNT) / 6.4 UPGRADE_AMOUNT,
- sum(CURR_DAY_MAIN_UP_PV) / 6.4 UPGRADE_PV,
- sum(CURR_DAY_MAIN_REPUR_AMOUNT) / 6.4 REPURCHASE_AMOUNT,
- sum(CURR_DAY_MAIN_REPURCHASE_PV) / 6.4 REPURCHASE_PV,
- sum(CURR_DAY_SEA2_REG_AMOUNT) / 6.4 HI_FUN_AMOUNT,
- sum(CURR_DAY_SEA2_REG_PV) / 6.4 HI_FUN_PV,
- sum(CURR_DAY_MALL_AMOUNT) / 6.4 MALL_AMOUNT,
- sum(CURR_DAY_MALL_PV) / 6.4 MALL_PV
+ sum(CURR_DAY_MAIN_REG_AMOUNT) REGISTER_AMOUNT,
+ sum(CURR_DAY_MAIN_REG_PV) REGISTER_PV,
+ sum(CURR_DAY_MAIN_UP_AMOUNT) UPGRADE_AMOUNT,
+ sum(CURR_DAY_MAIN_UP_PV) UPGRADE_PV,
+ sum(CURR_DAY_MAIN_REPUR_AMOUNT) REPURCHASE_AMOUNT,
+ sum(CURR_DAY_MAIN_REPURCHASE_PV) REPURCHASE_PV,
+ sum(CURR_DAY_SEA2_REG_AMOUNT) HI_FUN_AMOUNT,
+ sum(CURR_DAY_SEA2_REG_PV) HI_FUN_PV,
+ sum(CURR_DAY_MALL_AMOUNT) MALL_AMOUNT,
+ sum(CURR_DAY_MALL_PV) MALL_PV
from G_MEMBER_ACHIV@link_test
where period between - 729 and #{period}
group by user_id) a) b on
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 bd0333d8..c8775727 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
@@ -2346,7 +2346,7 @@
FROM cu_member cm
inner join CU_MEMBER_ACCOUNT cma
on cm.pk_id = cma.PK_MEMBER
- INNER JOIN cu_member par
+ left join cu_member par
ON par.pk_id = cm.pk_parent
left join bd_awards awa
on awa.pk_id = cm.PK_AWARDS
@@ -2374,7 +2374,7 @@
FROM cu_member cm
inner join CU_MEMBER_ACCOUNT cma
on cm.pk_id = cma.PK_MEMBER
- INNER JOIN cu_member par
+ left join cu_member par
ON par.pk_id = cm.pk_parent
left join bd_awards awa
on awa.pk_id = cm.PK_AWARDS
@@ -2395,9 +2395,6 @@
and cm.pk_settle_country = #{pkCountry}
-
- and cm.SYSTEM_TYPE = #{systemType}
-
and cm.member_code like #{memberCode}||'%'
diff --git a/bd-business/bd-business-member/src/main/resources/mapper/member/statis/CuBonusVertexStatisMapper.xml b/bd-business/bd-business-member/src/main/resources/mapper/member/statis/CuBonusVertexStatisMapper.xml
index 5432230d..9d79ec7d 100644
--- a/bd-business/bd-business-member/src/main/resources/mapper/member/statis/CuBonusVertexStatisMapper.xml
+++ b/bd-business/bd-business-member/src/main/resources/mapper/member/statis/CuBonusVertexStatisMapper.xml
@@ -147,7 +147,7 @@
(nvl(cbs.MAIN_REG_PV,0)+nvl(cbs.MAIN_UP_PV,0)+nvl(cbs.MAIN_REPUR_PV,0)+nvl(cbs.RETAIL_CONSUME_PV,0)),4) end as backPointsRate,
- 6.4*(nvl(cbs.retail_range_income,0)+nvl(cbs.retail_same_level_income_V1V4,0)+nvl(cbs.retail_same_level_income_V5,0)
+ (nvl(cbs.retail_range_income,0)+nvl(cbs.retail_same_level_income_V1V4,0)+nvl(cbs.retail_same_level_income_V5,0)
+nvl(cbs.retail_area_income,0)+nvl(cbs.retail_benefit_avg_income,0)
+nvl(cbs.retail_benefit_income,0)+nvl(cbs.retail_benefit_range_income,0)+nvl(cbs.BACK_POINTS,0)) totalBonus,
diff --git a/bd-business/bd-business-report/src/main/java/com/hzs/report/member/provider/MemberReportServiceProvider.java b/bd-business/bd-business-report/src/main/java/com/hzs/report/member/provider/MemberReportServiceProvider.java
index 37f7ed4d..5b4c2196 100644
--- a/bd-business/bd-business-report/src/main/java/com/hzs/report/member/provider/MemberReportServiceProvider.java
+++ b/bd-business/bd-business-report/src/main/java/com/hzs/report/member/provider/MemberReportServiceProvider.java
@@ -8,11 +8,7 @@ import org.apache.dubbo.config.annotation.DubboService;
import org.springframework.beans.factory.annotation.Autowired;
/**
- * @description: 统计分析相关dubbo服务
- * @author: zhang jing
- * @date: 2025/2/12 15:23
- * @param:
- * @return:
+ * 统计分析相关dubbo服务
**/
@Slf4j
@DubboService
@@ -21,30 +17,15 @@ public class MemberReportServiceProvider implements IMemberReportServiceApi {
@Autowired
private MemberReportService iMemberReportService;
-
- /**
- * @description: 定时任务批量处理统计会员以及伞下金额业绩盒数
- * @author: zhang jing
- * @date: 2025/2/12 15:28
- * @param: []
- * @return: com.hzs.common.core.domain.R
- **/
@Override
- public R pushAmountBoxmethod() {
- iMemberReportService.pushAmountBoxmethod();
- return R.ok();
+ public R> pushAmountBoxmethod() {
+ iMemberReportService.pushAmountBoxmethod();
+ return R.ok();
}
- /**
- * @description: 定时任务7天重算直推会员金额业绩盒数
- * @author: zhang jing
- * @date: '2025/2/12' 16:10
- * @param: [startDateStr, endDateStr]
- * @return: com.hzs.common.core.domain.R
- **/
@Override
- public R repeatPushAmountBoxmethod(String startDateStr, String endDateStr) {
- iMemberReportService.repeatPushAmountBoxmethod(startDateStr,endDateStr);
+ public R> repeatPushAmountBoxmethod(String startDateStr, String endDateStr) {
+ iMemberReportService.repeatPushAmountBoxmethod(startDateStr, endDateStr);
return R.ok();
}
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 5f382809..e6074edc 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
@@ -892,11 +892,11 @@
t6.rightSumPv,
t6.leftSumPv,
t2.dept,
- t2.a_sum_pv * 6.4 historyLeftSumPv,
- t2.b_sum_pv * 6.4 historyRightSumPv,
+ t2.a_sum_pv historyLeftSumPv,
+ t2.b_sum_pv historyRightSumPv,
t6.pk_member
- FROM (SELECT NVL(SUM(t1.a_new_pv) * 6.4, 0) leftSumPv,
- NVL(SUM(t1.b_new_pv) * 6.4, 0) rightSumPv,
+ FROM (SELECT NVL(SUM(t1.a_new_pv), 0) leftSumPv,
+ NVL(SUM(t1.b_new_pv), 0) rightSumPv,
t1.pk_member
FROM (
@@ -951,12 +951,12 @@
bv.vertex_name vertexName,
CASE
WHEN t5.a_new_pv > t5.b_new_pv THEN
- NVL(t5.b_new_pv * 6.4, 0)
+ NVL(t5.b_new_pv, 0)
WHEN t5.a_new_pv <= t5.b_new_pv THEN
- NVL(t5.a_new_pv * 6.4, 0)
+ NVL(t5.a_new_pv, 0)
END achieve,
- t5.a_new_pv * 6.4 leftSumPv,
- t5.b_new_pv * 6.4 rightSumPv,
+ t5.a_new_pv leftSumPv,
+ t5.b_new_pv rightSumPv,
CASE
WHEN t5.a_new_pv > t5.b_new_pv THEN
2
@@ -1006,8 +1006,8 @@
) t2
GROUP BY t2.pk_member) t3
ON t1.pk_id = t3.pk_member
- WHERE t3.a_new_pv * 6.4 >= #{achieve}
- AND t3.b_new_pv * 6.4 >= #{achieve}) t5
+ WHERE t3.a_new_pv >= #{achieve}
+ AND t3.b_new_pv >= #{achieve}) t5
LEFT JOIN bd_awards a
ON a.pk_id = t5.pk_awards
AND a.pk_country = #{pkCountry}
@@ -1035,11 +1035,11 @@
t6.rightSumPv,
t6.leftSumPv,
t2.dept,
- t2.a_sum_pv * 6.4 historyLeftSumPv,
- t2.b_sum_pv * 6.4 historyRightSumPv,
+ t2.a_sum_pv historyLeftSumPv,
+ t2.b_sum_pv historyRightSumPv,
t6.pk_member
- FROM (SELECT NVL(SUM(t1.a_new_pv) * 6.4, 0) leftSumPv,
- NVL(SUM(t1.b_new_pv) * 6.4, 0) rightSumPv,
+ FROM (SELECT NVL(SUM(t1.a_new_pv), 0) leftSumPv,
+ NVL(SUM(t1.b_new_pv), 0) rightSumPv,
t1.pk_member
FROM (
@@ -1091,12 +1091,12 @@
bv.vertex_name vertexName,
CASE
WHEN t5.a_new_pv > t5.b_new_pv THEN
- NVL(t5.b_new_pv * 6.4, 0)
+ NVL(t5.b_new_pv, 0)
WHEN t5.a_new_pv <= t5.b_new_pv THEN
- NVL(t5.a_new_pv * 6.4, 0)
+ NVL(t5.a_new_pv, 0)
END achieve,
- t5.a_new_pv * 6.4 leftSumPv,
- t5.b_new_pv * 6.4 rightSumPv,
+ t5.a_new_pv leftSumPv,
+ t5.b_new_pv rightSumPv,
CASE
WHEN t5.a_new_pv > t5.b_new_pv THEN
2
@@ -1146,8 +1146,8 @@
) t2
GROUP BY t2.pk_member) t3
ON t1.pk_id = t3.pk_member
- WHERE t3.a_new_pv * 6.4 >= #{achieve}
- AND t3.b_new_pv * 6.4 >= #{achieve}) t5
+ WHERE t3.a_new_pv >= #{achieve}
+ AND t3.b_new_pv >= #{achieve}) t5
LEFT JOIN bd_awards a
ON a.pk_id = t5.pk_awards
AND a.pk_country = #{pkCountry}
diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/controller/api/ApiRetailOrderController.java b/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/controller/api/ApiRetailOrderController.java
index f3421c7c..54ea00d2 100644
--- a/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/controller/api/ApiRetailOrderController.java
+++ b/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/controller/api/ApiRetailOrderController.java
@@ -107,13 +107,15 @@ public class ApiRetailOrderController {
orderLevelVO.setMsg("会员不满足升级条件");
}
} catch (Exception e) {
- if (EYesNo.YES.getIntValue() == levelParam.getFirstCheck()) {
- // 2024.12.25 -- 添加需求,首次校验不需要进行提示错误(9050)
- orderLevelVO.setIsEnough(true);
- return AjaxResult.success(orderLevelVO);
- } else {
- throw e;
- }
+ log.error("校验会员等级异常", e);
+ orderLevelVO.setMsg("校验会员等级异常");
+// if (EYesNo.YES.getIntValue() == levelParam.getFirstCheck()) {
+// // 2024.12.25 -- 添加需求,首次校验不需要进行提示错误(9050)
+// orderLevelVO.setIsEnough(true);
+// return AjaxResult.success(orderLevelVO);
+// } else {
+// throw e;
+// }
}
return AjaxResult.success(orderLevelVO);
}
@@ -147,11 +149,11 @@ public class ApiRetailOrderController {
*/
@PostMapping("/valid-relation")
public AjaxResult validRelation(@Valid @RequestBody RetailOrderRelationParam relationParam) {
- // 校验注册关系(是否跨团队) -- 2024.12.24 修改为校验手机号必须唯一(9035)
- String relationStr = iMemberServiceApi.checkRegisterRelation(relationParam.getPhone(), relationParam.getParentCode()).getData();
- if (relationStr != null) {
- return AjaxResult.error(relationStr);
- }
+ // TODO new 手机号可以重复,不需要进行是否重复校验 -- 已经跳过,此处可以不需要当前判断
+// String relationStr = iMemberServiceApi.checkRegisterRelation(relationParam.getPhone(), relationParam.getParentCode()).getData();
+// if (relationStr != null) {
+// return AjaxResult.error(relationStr);
+// }
return AjaxResult.success();
}
@@ -225,11 +227,12 @@ public class ApiRetailOrderController {
return AjaxResult.error(checkStr);
}
- // 校验注册关系(是否跨团队) -- 2024.12.24 修改为校验手机号必须唯一
- String relationStr = iMemberServiceApi.checkRegisterRelation(registerParam.getPhone(), registerParam.getParentCode()).getData();
- if (relationStr != null) {
- return AjaxResult.error(relationStr);
- }
+ // TODO new 手机号可以重复,不需要进行是否重复校验 -- 已经跳过,此处可以不需要当前判断
+// // 校验注册关系(是否跨团队) -- 2024.12.24 修改为校验手机号必须唯一
+// String relationStr = iMemberServiceApi.checkRegisterRelation(registerParam.getPhone(), registerParam.getParentCode()).getData();
+// if (relationStr != null) {
+// return AjaxResult.error(relationStr);
+// }
// 购物车中获取商品信息
registerParam.setOrderItemsParams(convertShoppingCarToSku(registerParam.getPkCreator(), registerParam.getShopList()));
@@ -268,11 +271,12 @@ public class ApiRetailOrderController {
return AjaxResult.error(checkStr);
}
- // 校验注册关系(是否跨团队) -- 2024.12.24 修改为校验手机号必须唯一
- String relationStr = iMemberServiceApi.checkRegisterRelation(registerParam.getPhone(), registerParam.getParentCode()).getData();
- if (relationStr != null) {
- return AjaxResult.error(relationStr);
- }
+ // TODO new 手机号可以重复,不需要进行是否重复校验 -- 已经跳过,此处可以不需要当前判断
+// // 校验注册关系(是否跨团队) -- 2024.12.24 修改为校验手机号必须唯一
+// String relationStr = iMemberServiceApi.checkRegisterRelation(registerParam.getPhone(), registerParam.getParentCode()).getData();
+// if (relationStr != null) {
+// return AjaxResult.error(relationStr);
+// }
// 封装会员信息
CuMember newMember = iRetailOrderService.packageCuMember(registerParam);
@@ -338,6 +342,10 @@ public class ApiRetailOrderController {
if (null == updateGradeMember) {
throw new ServiceException("升级编号不存在,请重试");
}
+ String otherCheckStr = this.otherOrderCheck(updateGradeMember, upgradeParam.getSpecialArea());
+ if (null != otherCheckStr) {
+ return AjaxResult.error(otherCheckStr);
+ }
upgradeParam.setUpgradeMember(updateGradeMember);
// 购物车中获取商品信息
@@ -371,6 +379,10 @@ public class ApiRetailOrderController {
if (null == updateGradeMember) {
throw new ServiceException("升级编号不存在,请重试");
}
+ String otherCheckStr = this.otherOrderCheck(updateGradeMember, payParam.getSpecialArea());
+ if (null != otherCheckStr) {
+ return AjaxResult.error(otherCheckStr);
+ }
// 封装订单信息
SaOrderExt saOrderExt = iRetailOrderService.createSaOrder(upgradeParam, null, updateGradeMember);
@@ -649,12 +661,12 @@ public class ApiRetailOrderController {
orderParam.setPkParent(orderParam.getPkCreator());
if (!creatorMember.getMemberCode().equals(orderParam.getParentCode())) {
- // 校验推荐人是否大于V0,不然不能当推荐人
+
CuMember parentMember = iMemberServiceApi.getRetailMember(null, orderParam.getParentCode()).getData();
if (null == parentMember) {
return "推荐编号不存在";
}
-// // 校验推荐人等级是否为V0,如果是V0不能进行注册
+// // 校验推荐人是否大于V0,不然不能当推荐人
// BdGrade parentGrade = gradeList.stream().filter(tmpGrade -> tmpGrade.getPkId().equals(parentMember.getPkSettleGrade())).findFirst().get();
// if (EGrade.START_UP.getValue() == parentGrade.getGradeValue()) {
// return orderParam.getParentCode() + " 不能做为推荐人";
@@ -706,9 +718,9 @@ public class ApiRetailOrderController {
if (null == buyMember) {
return "购买会员编号不存在,请重试";
}
- if (ESpecialArea.RETAIL_REPURCHASE.getValue() != specialArea) {
- // 2025.02.24 新需求,升级专区取消,V0可以直接购买复购专区
- // 判断购买会员是否是V0,V0不允许下升级以外订单
+ if (ESpecialArea.RETAIL_UPGRADE.getValue() != specialArea
+ && ESpecialArea.RETAIL_REPURCHASE.getValue() != specialArea) {
+ // 判断购买会员是否是V0,V0不允许下升级、复购以外订单
GradeDTO gradeDTO = iGradeServiceApi.getGrade(buyMember.getPkSettleGrade()).getData();
if (gradeDTO.getGradeValue() == EGrade.START_UP.getValue()) {
return "当前购买会员编号不允许下单";
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 50ec4cdd..7ac2a093 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
@@ -20,6 +20,7 @@ import com.hzs.common.domain.sale.ext.BdWaresDetailExt;
import com.hzs.common.domain.sale.ext.SaOrderExt;
import com.hzs.common.domain.sale.ext.SaOrderWaresLimitExt;
import com.hzs.common.domain.sale.order.*;
+import com.hzs.common.domain.sale.product.BdProduct;
import com.hzs.common.domain.sale.wares.BdWaresRange;
import com.hzs.common.domain.system.base.BdStorehouse;
import com.hzs.common.domain.system.config.BdGrade;
@@ -36,6 +37,7 @@ import com.hzs.sale.order.param.OrderItemsParam;
import com.hzs.sale.order.param.WaresNumberParam;
import com.hzs.sale.order.service.*;
import com.hzs.sale.order.service.impl.SaOrderHandle;
+import com.hzs.sale.product.service.IBdProductService;
import com.hzs.sale.wares.service.IBdWaresDetailService;
import com.hzs.sale.wares.service.IBdWaresExtendService;
import com.hzs.sale.wares.service.IBdWaresRangeService;
@@ -82,6 +84,8 @@ public class RetailOrderServiceImpl implements IRetailOrderService {
private ISaOrderTempService iSaOrderTempService;
@Autowired
private ISaOrderWaresLimitService iSaOrderWaresLimitService;
+ @Autowired
+ private IBdProductService iBdProductService;
@Autowired
private RedisService redisService;
@@ -107,9 +111,6 @@ public class RetailOrderServiceImpl implements IRetailOrderService {
// 封装订单信息
SaOrderExt saOrderExt = this.createSaOrder(registerParam, gradeList, newMember);
- // 测试环境特殊处理
- this.testHandle(registerParam.getPkCreator(), saOrderExt);
-
// 订单缓存(60分钟有效,防止在线支付回调慢)
redisService.setCacheObject(CacheConstants.RETAIL_TEMP_ORDER + registerParam.getPkCreator() + registerParam.getOrderCode(), saOrderExt, CacheConstants.RETAIL_ORDER_EXPIRE_TIME * 2, TimeUnit.MINUTES);
registerParam.setPkGrade(newMember.getPkSettleGrade());
@@ -130,9 +131,6 @@ public class RetailOrderServiceImpl implements IRetailOrderService {
// 封装订单信息
SaOrderExt saOrderExt = this.createSaOrder(upgradeParam, null, upgradeMember);
- // 测试环境特殊处理
- this.testHandle(upgradeParam.getPkCreator(), saOrderExt);
-
// 订单缓存(60分钟有效,防止在线支付回调慢)
redisService.setCacheObject(CacheConstants.RETAIL_TEMP_ORDER + upgradeParam.getPkCreator() + upgradeParam.getOrderCode(), saOrderExt, CacheConstants.RETAIL_ORDER_EXPIRE_TIME * 2, TimeUnit.MINUTES);
upgradeParam.setPkGrade(upgradeMember.getPkSettleGrade());
@@ -213,9 +211,7 @@ public class RetailOrderServiceImpl implements IRetailOrderService {
}
if (ESpecialArea.RETAIL_REGISTER.getValue() == orderParam.getSpecialArea()
- || ESpecialArea.RETAIL_UPGRADE.getValue() == orderParam.getSpecialArea()
- || ESpecialArea.RETAIL_REPURCHASE.getValue() == orderParam.getSpecialArea()) {
- // 2025.02.24 升级专区取消,复购盒数商品满足条件也可以升级
+ || ESpecialArea.RETAIL_UPGRADE.getValue() == orderParam.getSpecialArea()) {
// 注册、升级订单,计算会员等级
BdGrade newGrade = iSaOrderService.calculateGrade(orderParam.getSpecialArea(), orderParam.getOrderItemsParams(), gradeList, cuMember, orderParam.getSystemType());
// if (null == newGrade) {
@@ -268,10 +264,10 @@ public class RetailOrderServiceImpl implements IRetailOrderService {
// 订单明细信息
List orderItemsList = new ArrayList<>();
- // 需要计算等级,以及商品价格
- if (CollectionUtil.isEmpty(gradeList)) {
- gradeList = iGradeServiceApi.getRetailGradeList().getData();
- }
+// // 需要计算等级,以及商品价格
+// if (CollectionUtil.isEmpty(gradeList)) {
+// gradeList = iGradeServiceApi.getRetailGradeList().getData();
+// }
if (null == currency) {
currency = iCurrencyServiceApi.getCurrency(orderParam.getPkCountry()).getData();
}
@@ -283,127 +279,131 @@ public class RetailOrderServiceImpl implements IRetailOrderService {
// 邮费模板map(key:邮费模板ID,value:邮费订单明细)
Map> postageMap = new HashMap<>(ComputeUtil.mapInitCapacity(waresDetailExtList.size()));
- // 升级盒数基数
- int baseBoxNum = 0;
-// // 是否购买过(手动升级第一单升级订单价格、复购第一单价格209)
-// boolean buyFlag = false;
+// // 升级盒数基数
+// int baseBoxNum = 0;
- // 当前会员等级
- BdGrade memberGrade = null;
- if (null != cuMember.getPkSettleGrade()) {
- // 获取当前会员等级(注册专区,目前没有会员等级)
- memberGrade = gradeList.stream().filter(tmpGrade -> tmpGrade.getPkId().equals(cuMember.getPkSettleGrade())).findFirst().get();
- }
- // 2025.02.24 升级专区取消,复购专区指定盒数商品走升级逻辑
- if (ESpecialArea.RETAIL_REPURCHASE.getValue() == orderParam.getSpecialArea()) {
-// // 复购订单
-// if (HzsUtil.checkOnlineTime()) {
-// // 2025.03.01 之前还需要处理首单209,校验是否购买过首单
-// buyFlag = iSaOrderItemsService.getRetailWaresQuantity(cuMember.getPkId(), boxProductList, null,
-// Arrays.asList(EOrderType.RETAIL_REGISTER.getValue(), EOrderType.RETAIL_UPGRADE.getValue(), EOrderType.RETAIL_REPURCHASE.getValue()), orderParam.getSystemType()) > 0;
-// }
- // 获取升级盒数基数
- baseBoxNum = iSaOrderService.handleBaseBoxNum(cuMember, memberGrade, gradeList, boxProductList, orderParam.getSystemType());
- }
+// // 当前会员等级
+// BdGrade memberGrade = null;
+// if (null != cuMember.getPkSettleGrade()) {
+// // 获取当前会员等级(注册专区,目前没有会员等级)
+// memberGrade = gradeList.stream().filter(tmpGrade -> tmpGrade.getPkId().equals(cuMember.getPkSettleGrade())).findFirst().get();
+// }
+// // 2025.02.24 升级专区取消,复购专区指定盒数商品走升级逻辑
+// if (ESpecialArea.RETAIL_REPURCHASE.getValue() == orderParam.getSpecialArea()) {
+// // 获取升级盒数基数
+// baseBoxNum = iSaOrderService.handleBaseBoxNum(cuMember, memberGrade, gradeList, boxProductList, orderParam.getSystemType());
+// }
// 当前盒数
int boxNum = 0;
- // 2025.03.11 添加需求,复购专区、重消专区,指定盒数商品每用户每月限购50件
- this.checkWaresLimit(cuMember.getPkId(), orderParam.getSpecialArea(), waresDetailExtList, boxProductList);
+// // 2025.03.11 添加需求,复购专区、重消专区,指定盒数商品每用户每月限购50件
+// this.checkWaresLimit(cuMember.getPkId(), orderParam.getSpecialArea(), waresDetailExtList, boxProductList);
+
+ // 商品编号列表
+ List waresCodeList = waresDetailExtList.stream().map(BdWaresDetailExt::getWaresCode).collect(Collectors.toList());
+ // 根据商品获取商品下所有产品数据
+ Map productMap = iBdProductService.listProductInfoByWaresCode(orderParam.getSpecialArea(), waresCodeList);
// 遍历生成订单明细数据
for (BdWaresDetailExt waresDetailExt : waresDetailExtList) {
+// // 价格KEY(商品编号 + 价格)
+// String waresGroupKey = null;
+// // 商品数量
+// int waresQuantity = 1;
+
// 订单明细
- SaOrderItems orderItems = null;
- // 价格KEY(商品编号 + 价格)
- String waresGroupKey = null;
- // 商品数量
- int waresQuantity = 1;
+ SaOrderItems orderItems = saOrderHandle.getSaOrderItems(cuMember, saOrderExt, currency, orderItemsList, waresDetailExt);
- if (ESpecialArea.RETAIL_REGISTER.getValue() == orderParam.getSpecialArea()
- && boxProductList.contains(waresDetailExt.getWaresCode())
- && EYesNo.NO.getIntValue() == waresDetailExt.getIsGift()) {
- // 会员专区(注册) 并且 指定的商品不为赠品,需要根据盒数重新计算价格
- // 指定盒数商品,价格需要按等级和购买数量重新计算
- for (int i = 0; i < waresDetailExt.getWaresQuantity(); i++) {
- // 存在商品,盒数累加1
- boxNum += 1;
- // 按盒数计算当前商品实际支付金额
- BigDecimal price = this.getWaresPrice(baseBoxNum + boxNum, gradeList);
-
- if (null == waresGroupKey || !waresGroupKey.equals(waresDetailExt.getWaresCode() + "-" + price)) {
- // 第一盒 或者 商品 + 价格有变化,累计商品数量
- waresGroupKey = waresDetailExt.getWaresCode() + "-" + price;
- waresQuantity = 1;
-
- orderItems = saOrderHandle.getSaOrderItems(cuMember, saOrderExt, currency, orderItemsList, waresDetailExt);
- orderItems.setPrice(price);
- } else {
- waresQuantity += 1;
- }
- orderItems.setWaresQuantity(waresQuantity);
- orderItems.setQuantity(waresDetailExt.getQuantity() * waresQuantity);
- }
- } else {
- // 非会员专区
- if (ESpecialArea.RETAIL_REPURCHASE.getValue() == orderParam.getSpecialArea()
- && memberGrade.getGradeValue() < EGrade.MAKER.getValue()
- && boxProductList.contains(waresDetailExt.getWaresCode())
- && EYesNo.NO.getIntValue() == waresDetailExt.getIsGift()) {
- // 复购专区,如果会员等级小于V3,并且为盒数商品,需要计算等级和价格
- // 2025.02.24 升级专区取消,复购专区指定盒数商品可以升级,需要根据盒数商品重新计算价格
- for (int i = 0; i < waresDetailExt.getWaresQuantity(); i++) {
- // 存在商品,盒数累加1
- boxNum += 1;
-
- // 产品价格
- BigDecimal price = this.getWaresPrice(baseBoxNum + boxNum, gradeList);
-// if (HzsUtil.checkOnlineTime() && !buyFlag) {
-// // 如果是 2025.03.01 之前,并且没有买过,默认第一盒为209
-// price = ERetailWaresPrice.FIRST.getPrice();
-// buyFlag = true;
-// } else {
-// // 根据等级盒数计算实际价格
-// price = this.getWaresPrice(baseBoxNum + boxNum, gradeList);
-// }
-
- if (null == waresGroupKey || !waresGroupKey.equals(waresDetailExt.getWaresCode() + "-" + price)) {
- // 第一盒 或者 商品 + 价格有变化,累计商品数量
- waresGroupKey = waresDetailExt.getWaresCode() + "-" + price;
- waresQuantity = 1;
-
- orderItems = saOrderHandle.getSaOrderItems(cuMember, saOrderExt, currency, orderItemsList, waresDetailExt);
- orderItems.setPrice(price);
- } else {
- waresQuantity += 1;
- }
- orderItems.setWaresQuantity(waresQuantity);
- orderItems.setQuantity(waresDetailExt.getQuantity() * waresQuantity);
- }
- } else {
- if ((ESpecialArea.RETAIL_REPURCHASE.getValue() == orderParam.getSpecialArea()
- || ESpecialArea.RETAIL_RESCISSION.getValue() == orderParam.getSpecialArea())
- && boxProductList.contains(waresDetailExt.getWaresCode())
- && EYesNo.NO.getIntValue() == waresDetailExt.getIsGift()) {
- // 重消也累计盒数
- boxNum += waresDetailExt.getWaresQuantity();
- }
- orderItems = saOrderHandle.getSaOrderItems(cuMember, saOrderExt, currency, orderItemsList, waresDetailExt);
+ // 不是赠品,需要累积包邮邮费
+ if (EYesNo.NO.getIntValue() == waresDetailExt.getIsGift()) {
+ // 包邮金额
+ freePostage = freePostage.add(orderItems.getPrice().multiply(new BigDecimal(orderItems.getQuantity())));
+ if (EYesNo.NO.getIntValue() == waresDetailExt.getIsFreeMail()) {
+ // 不包邮,处理邮费模板map
+ saOrderHandle.setPostageTmpMap(orderParam.getTranType(), postageMap, waresDetailExt, orderItems);
}
- // 不包邮 并且 不是赠品,需要累积包邮邮费
- // 2025.02.12 调整需求,专区包邮金额需要计算包邮商品金额,只有赠品不计算包邮金额
-// if (EYesNo.NO.getIntValue() == waresDetailExt.getIsFreeMail() && EYesNo.NO.getIntValue() == waresDetailExt.getIsGift()) {
- if (EYesNo.NO.getIntValue() == waresDetailExt.getIsGift()) {
- // 包邮金额
- freePostage = freePostage.add(orderItems.getPrice().multiply(new BigDecimal(orderItems.getQuantity())));
- if (EYesNo.NO.getIntValue() == waresDetailExt.getIsFreeMail()) {
- // 不包邮,处理邮费模板map
- saOrderHandle.setPostageTmpMap(orderParam.getTranType(), postageMap, waresDetailExt, orderItems);
- }
+ if (null != productMap.get(orderItems.getPkProduct())
+ && boxProductList.contains(productMap.get(orderItems.getPkProduct()).getProductCode())) {
+ // 产品是盒数产品,需要累计数量
+ boxNum += orderItems.getQuantity();
}
}
+
+// if (ESpecialArea.RETAIL_REGISTER.getValue() == orderParam.getSpecialArea()
+// && boxProductList.contains(waresDetailExt.getWaresCode())
+// && EYesNo.NO.getIntValue() == waresDetailExt.getIsGift()) {
+// // 会员专区(注册) 并且 指定的商品不为赠品,需要根据盒数重新计算价格
+// // 指定盒数商品,价格需要按等级和购买数量重新计算
+// for (int i = 0; i < waresDetailExt.getWaresQuantity(); i++) {
+// // 存在商品,盒数累加1
+// boxNum += 1;
+// // 按盒数计算当前商品实际支付金额
+// BigDecimal price = this.getWaresPrice(baseBoxNum + boxNum, gradeList);
+//
+// if (null == waresGroupKey || !waresGroupKey.equals(waresDetailExt.getWaresCode() + "-" + price)) {
+// // 第一盒 或者 商品 + 价格有变化,累计商品数量
+// waresGroupKey = waresDetailExt.getWaresCode() + "-" + price;
+// waresQuantity = 1;
+//
+// orderItems = saOrderHandle.getSaOrderItems(cuMember, saOrderExt, currency, orderItemsList, waresDetailExt);
+// orderItems.setPrice(price);
+// } else {
+// waresQuantity += 1;
+// }
+// orderItems.setWaresQuantity(waresQuantity);
+// orderItems.setQuantity(waresDetailExt.getQuantity() * waresQuantity);
+// }
+// } else {
+// // 非会员专区
+// if (ESpecialArea.RETAIL_REPURCHASE.getValue() == orderParam.getSpecialArea()
+// && memberGrade.getGradeValue() < EGrade.MAKER.getValue()
+// && boxProductList.contains(waresDetailExt.getWaresCode())
+// && EYesNo.NO.getIntValue() == waresDetailExt.getIsGift()) {
+// // 复购专区,如果会员等级小于V3,并且为盒数商品,需要计算等级和价格
+// // 2025.02.24 升级专区取消,复购专区指定盒数商品可以升级,需要根据盒数商品重新计算价格
+// for (int i = 0; i < waresDetailExt.getWaresQuantity(); i++) {
+// // 存在商品,盒数累加1
+// boxNum += 1;
+//
+// // 产品价格
+// BigDecimal price = this.getWaresPrice(baseBoxNum + boxNum, gradeList);
+//
+// if (null == waresGroupKey || !waresGroupKey.equals(waresDetailExt.getWaresCode() + "-" + price)) {
+// // 第一盒 或者 商品 + 价格有变化,累计商品数量
+// waresGroupKey = waresDetailExt.getWaresCode() + "-" + price;
+// waresQuantity = 1;
+//
+// orderItems = saOrderHandle.getSaOrderItems(cuMember, saOrderExt, currency, orderItemsList, waresDetailExt);
+// orderItems.setPrice(price);
+// } else {
+// waresQuantity += 1;
+// }
+// orderItems.setWaresQuantity(waresQuantity);
+// orderItems.setQuantity(waresDetailExt.getQuantity() * waresQuantity);
+// }
+// } else {
+// if ((ESpecialArea.RETAIL_REPURCHASE.getValue() == orderParam.getSpecialArea()
+// || ESpecialArea.RETAIL_RESCISSION.getValue() == orderParam.getSpecialArea())
+// && boxProductList.contains(waresDetailExt.getWaresCode())
+// && EYesNo.NO.getIntValue() == waresDetailExt.getIsGift()) {
+// // 重消也累计盒数
+// boxNum += waresDetailExt.getWaresQuantity();
+// }
+// orderItems = saOrderHandle.getSaOrderItems(cuMember, saOrderExt, currency, orderItemsList, waresDetailExt);
+// }
+//
+// // 不包邮 并且 不是赠品,需要累积包邮邮费
+// if (EYesNo.NO.getIntValue() == waresDetailExt.getIsGift()) {
+// // 包邮金额
+// freePostage = freePostage.add(orderItems.getPrice().multiply(new BigDecimal(orderItems.getQuantity())));
+// if (EYesNo.NO.getIntValue() == waresDetailExt.getIsFreeMail()) {
+// // 不包邮,处理邮费模板map
+// saOrderHandle.setPostageTmpMap(orderParam.getTranType(), postageMap, waresDetailExt, orderItems);
+// }
+// }
+// }
}
// 计算订单邮费
@@ -499,12 +499,6 @@ public class RetailOrderServiceImpl implements IRetailOrderService {
// 去掉升级条件带有累计盒数的(V4,V5)并且升级购买合数小于等于订单商品盒数的,再进行等级值倒序排序
gradeList = gradeList.stream().filter(tmpGrade -> tmpGrade.getBoxTotal() == 0 && tmpGrade.getBoxNumber() <= boxNum).sorted(Comparator.comparingInt(BdGrade::getGradeValue).reversed()).collect(Collectors.toList());
-// // 2025.02.21 添加需求,在 2025.03.01 前,第一盒还是按209走,之后恢复正常
-// // 2024.12.30 添加需求,购买第一盒直接给209元
-// if (HzsUtil.checkOnlineTime() && boxNum == ERetailWaresPrice.FIRST.getValue()) {
-// return ERetailWaresPrice.FIRST.getPrice();
-// }
-
for (BdGrade bdGrade : gradeList) {
if (boxNum > bdGrade.getBoxNumber()) {
// 盒数大于等于购买盒数
@@ -922,19 +916,6 @@ public class RetailOrderServiceImpl implements IRetailOrderService {
}
}
- /***
- * 处理测试数据
- * @param pkMember 下单人
- * @param saOrderExt 订单信息
- */
- private void testHandle(Long pkMember, SaOrderExt saOrderExt) {
- if (EEnv.TEST.getValue().equals(HzsConfig.getEnv())
- && pkMember.equals(615831L)) {
- // 测试环境,指定会员,下单时金额处理
- saOrderExt.setOrderAmount(RandomUtil.randomBigDecimal(new BigDecimal("0.02"), new BigDecimal("0.1")).setScale(2, BigDecimal.ROUND_HALF_UP));
- }
- }
-
@Transactional(rollbackFor = Exception.class)
@Override
public Long savePickOrder(SaOrder saOrder, List saOrderItemsList) {
@@ -979,31 +960,39 @@ public class RetailOrderServiceImpl implements IRetailOrderService {
*/
private Boolean handleMemberActivate(CuMember cuMember, SaOrderExt saOrder) {
if (null == cuMember.getIsActivate()) {
- // 会员激活状态为空,按未激活处理
- cuMember.setIsActivate(EYesNo.NO.getIntValue());
- }
+// // 会员激活状态为空,按未激活处理
+// cuMember.setIsActivate(EYesNo.NO.getIntValue());
- if (EYesNo.YES.getIntValue() != cuMember.getIsActivate()
- && (EOrderType.RETAIL_REGISTER.getValue() == saOrder.getOrderType()
- || EOrderType.RETAIL_UPGRADE.getValue() == saOrder.getOrderType()
- || EOrderType.RETAIL_REPURCHASE.getValue() == saOrder.getOrderType())
- ) {
- // 会员未激活,并且是 注册、升级、复购 订单,判断会员是否激活
- List boxProductList = BoxProductUtil.getBoxProductListBySystemType(saOrder.getSystemType());
-
- for (SaOrderItems saOrderItems : saOrder.getOrderItemsList()) {
- if (boxProductList.contains(saOrderItems.getWareCode())) {
- // 存在指定盒数商品
- cuMember.setIsActivate(EYesNo.YES.getIntValue());
- if (EPayStatus.UNPAID.getValue() == cuMember.getPayStatus()) {
- cuMember.setPayTime(saOrder.getPayTime());
- cuMember.setPayStatus(EPayStatus.PAID.getValue());
- }
- return true;
- }
+ // TODO new 暂时不处理激活,只要是会员就按激活处理,有订单就有支付状态和时间
+ cuMember.setIsActivate(EYesNo.YES.getIntValue());
+ if (null != saOrder) {
+ cuMember.setPayTime(saOrder.getPayTime());
+ cuMember.setPayStatus(EPayStatus.PAID.getValue());
}
}
- return false;
+ return true;
+
+// if (EYesNo.YES.getIntValue() != cuMember.getIsActivate()
+// && (EOrderType.RETAIL_REGISTER.getValue() == saOrder.getOrderType()
+// || EOrderType.RETAIL_UPGRADE.getValue() == saOrder.getOrderType()
+// || EOrderType.RETAIL_REPURCHASE.getValue() == saOrder.getOrderType())
+// ) {
+// // 会员未激活,并且是 注册、升级、复购 订单,判断会员是否激活
+// List boxProductList = BoxProductUtil.getBoxProductListBySystemType(saOrder.getSystemType());
+//
+// for (SaOrderItems saOrderItems : saOrder.getOrderItemsList()) {
+// if (boxProductList.contains(saOrderItems.getWareCode())) {
+// // 存在指定盒数商品
+// cuMember.setIsActivate(EYesNo.YES.getIntValue());
+// if (EPayStatus.UNPAID.getValue() == cuMember.getPayStatus()) {
+// cuMember.setPayTime(saOrder.getPayTime());
+// cuMember.setPayStatus(EPayStatus.PAID.getValue());
+// }
+// return true;
+// }
+// }
+// }
+// return false;
}
/**
diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/param/RetailOrderLevelParam.java b/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/param/RetailOrderLevelParam.java
index 89dcf8fc..3ca7cb46 100644
--- a/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/param/RetailOrderLevelParam.java
+++ b/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/param/RetailOrderLevelParam.java
@@ -10,11 +10,7 @@ import java.io.Serializable;
import java.util.List;
/**
- * @Description: 新零售订单等级入参
- * @Author: jiang chao
- * @Time: 2024/12/12 17:22
- * @Classname: RetailerOrderLevelParam
- * @PackageName: com.hzs.retail.sale.param
+ * 新零售订单等级入参
*/
@Data
public class RetailOrderLevelParam implements Serializable {
@@ -31,11 +27,11 @@ public class RetailOrderLevelParam implements Serializable {
@NotNull(message = "缺少商品信息")
private List shopList;
- /**
- * 首次校验(0=首次校验)
- */
- @NotNull(message = "缺少参数")
- private Integer firstCheck;
+// /**
+// * 首次校验(0=首次校验)
+// */
+// @NotNull(message = "缺少参数")
+// private Integer firstCheck;
/**
* 升级编号
diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/param/RetailOrderParam.java b/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/param/RetailOrderParam.java
index ef8d689d..18de1236 100644
--- a/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/param/RetailOrderParam.java
+++ b/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/param/RetailOrderParam.java
@@ -21,11 +21,7 @@ import java.math.BigDecimal;
import java.util.List;
/**
- * @Description: 新零售订单入参
- * @Author: jiang chao
- * @Time: 2024/12/12 10:03
- * @Classname: RetailOrderParam
- * @PackageName: com.hzs.retail.sale.param
+ * 新零售订单入参
*/
@Builder
@AllArgsConstructor
diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/retail/wares/controller/api/ApiRetailWaresController.java b/bd-business/bd-business-sale/src/main/java/com/hzs/retail/wares/controller/api/ApiRetailWaresController.java
index c375f2c8..576f317d 100644
--- a/bd-business/bd-business-sale/src/main/java/com/hzs/retail/wares/controller/api/ApiRetailWaresController.java
+++ b/bd-business/bd-business-sale/src/main/java/com/hzs/retail/wares/controller/api/ApiRetailWaresController.java
@@ -22,7 +22,6 @@ import com.hzs.common.domain.sale.wares.BdWaresLabel;
import com.hzs.common.domain.sale.wares.BdWaresRange;
import com.hzs.common.domain.sale.wares.BdWaresSpecsSku;
import com.hzs.common.domain.system.config.BdLabel;
-import com.hzs.common.domain.system.config.BdRetailRange;
import com.hzs.common.domain.system.ext.BdLabelExt;
import com.hzs.common.security.utils.SecurityUtils;
import com.hzs.member.base.IMemberServiceApi;
@@ -37,7 +36,6 @@ import com.hzs.sale.wares.service.IBdWaresSpecsSkuService;
import com.hzs.system.base.ICurrencyServiceApi;
import com.hzs.system.base.dto.CurrencyDTO;
import com.hzs.system.config.IAreaCurrencyServiceApi;
-import com.hzs.system.config.IRetailRangeServiceApi;
import com.hzs.system.config.dto.AreaCurrencyDTO;
import lombok.extern.slf4j.Slf4j;
import org.apache.dubbo.config.annotation.DubboReference;
@@ -53,11 +51,7 @@ import java.util.*;
import java.util.stream.Collectors;
/**
- * @Description: 商品相关控制器
- * @Author: jiang chao
- * @Time: 2024/12/9 14:24
- * @Classname: ApiWaresController
- * @PackageName: com.hzs.retail.wares.controller.api
+ * 商品相关控制器
*/
@RestController
@RequestMapping("/api/retail-wares")
@@ -79,8 +73,6 @@ public class ApiRetailWaresController extends BaseController {
IAreaCurrencyServiceApi iAreaCurrencyServiceApi;
@DubboReference
IMemberServiceApi iMemberServiceApi;
- @DubboReference
- IRetailRangeServiceApi iRetailRangeServiceApi;
/**
* 商品列表
@@ -207,17 +199,11 @@ public class ApiRetailWaresController extends BaseController {
List waresRangeList = new ArrayList<>();
if (ESpecialArea.RETAIL_REPURCHASE.getValue() == specialArea
|| ESpecialArea.RETAIL_RESCISSION.getValue() == specialArea) {
- // 新零售复购专区,需要处理级差
- // 2024.12.30 添加需求,复消也需要处理级差
+ // 复购、复消需要处理级差
if (waresIdList.size() > 0) {
waresRangeList = iBdWaresRangeService.listRetailWaresRange(pkGrade, waresIdList);
}
}
- // 专区级差
- BdRetailRange retailRange = new BdRetailRange();
- if (ESpecialArea.RETAIL_SHOP_ORDER.getValue() == specialArea) {
-
- }
for (BdWaresExt bdWaresExt : bdWaresExtList) {
if (null != list) {
@@ -261,8 +247,7 @@ public class ApiRetailWaresController extends BaseController {
if (ESpecialArea.RETAIL_REPURCHASE.getValue() == specialArea
|| ESpecialArea.RETAIL_RESCISSION.getValue() == specialArea) {
- // 新零售复购需要处理极差
- // 2024.12.30 添加需求,复消也需要处理级差
+ // 复购、复消需要处理级差
for (BdWaresRange waresRange : waresRangeList) {
if (bdWaresExt.getPkId().equals(waresRange.getPkWares())) {
waresPrice = waresPrice.add(waresRange.getPrice());
diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/retail/wares/param/RetailWaresParam.java b/bd-business/bd-business-sale/src/main/java/com/hzs/retail/wares/param/RetailWaresParam.java
index 7f661f78..29346f6c 100644
--- a/bd-business/bd-business-sale/src/main/java/com/hzs/retail/wares/param/RetailWaresParam.java
+++ b/bd-business/bd-business-sale/src/main/java/com/hzs/retail/wares/param/RetailWaresParam.java
@@ -6,11 +6,7 @@ import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
- * @Description: 新零售商品查询入参
- * @Author: jiang chao
- * @Time: 2024/12/9 14:29
- * @Classname: WaresParams
- * @PackageName: com.hzs.retail.wares.param
+ * 新零售商品查询入参
*/
@Data
public class RetailWaresParam implements Serializable {
diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/deliver/controller/manage/SaDeliverController.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/deliver/controller/manage/SaDeliverController.java
index 4a46dd72..328e1ae6 100644
--- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/deliver/controller/manage/SaDeliverController.java
+++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/deliver/controller/manage/SaDeliverController.java
@@ -215,23 +215,25 @@ public class SaDeliverController extends BaseController {
public AjaxResult batchDeliverImport(MultipartFile file, @RequestParam("idList") List idList) throws Exception {
ExcelUtil util = new ExcelUtil<>(DeliverTemplateParam.class);
List deliverTemplateParamList = util.importExcel(file.getInputStream());
- Map templateParamMap = deliverTemplateParamList.stream().collect(Collectors.toMap(DeliverTemplateParam::getDeliverCode, val -> val));
// 返回数据
List resultList = new ArrayList<>(idList.size());
// 查询发货单信息
- List saDeliverList = iSaDeliverService.listDataBatch(idList);
+ List saDeliverList = iSaDeliverService.listByIds(idList);
for (SaDeliver saDeliver : saDeliverList) {
- DeliverTemplateParam deliverTemplate = templateParamMap.get(saDeliver.getDeliverCode());
- if (null != deliverTemplate) {
- // 发货单号相同 ,则进行返回
- resultList.add(DeliverTemplateVO.builder()
- .pkId(saDeliver.getPkId())
- .logisticsCompany(deliverTemplate.getLogisticsCompany().trim())
- .logisticsCode(deliverTemplate.getLogisticsCode().trim())
- .build());
+ // 遍历导入数据,匹配发货单发货数据,如果相同则封装返回发货信息
+ for (DeliverTemplateParam deliverTemplate : deliverTemplateParamList) {
+ if (saDeliver.getDeliverCode().equals(deliverTemplate.getDeliverCode())) {
+ // 物流单号相同,进行返回
+ resultList.add(DeliverTemplateVO.builder()
+ .pkId(saDeliver.getPkId())
+ .logisticsCompany(deliverTemplate.getLogisticsCompany().trim())
+ .logisticsCode(deliverTemplate.getLogisticsCode().trim())
+ .build());
+ break;
+ }
}
}
return AjaxResult.success(resultList);
diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/deliver/controller/manage/SaDeliverHandledController.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/deliver/controller/manage/SaDeliverHandledController.java
index c4dfe5e9..2334a220 100644
--- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/deliver/controller/manage/SaDeliverHandledController.java
+++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/deliver/controller/manage/SaDeliverHandledController.java
@@ -3,6 +3,7 @@ package com.hzs.sale.deliver.controller.manage;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.DesensitizedUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.hzs.common.core.annotation.AccessPermissions;
import com.hzs.common.core.annotation.Log;
import com.hzs.common.core.annotation.RepeatSubmitSimple;
@@ -18,6 +19,7 @@ import com.hzs.common.core.web.controller.BaseController;
import com.hzs.common.core.web.domain.AjaxResult;
import com.hzs.common.core.web.page.TableDataInfo;
import com.hzs.common.domain.sale.deliver.SaDeliver;
+import com.hzs.common.domain.sale.deliver.SaDeliverBarCode;
import com.hzs.common.security.utils.SecurityUtils;
import com.hzs.common.service.ITransactionCommonService;
import com.hzs.common.util.TransactionUtils;
@@ -43,11 +45,7 @@ import java.util.*;
import java.util.stream.Collectors;
/**
- * @Description: 发货清单已合单控制器
- * @Author: jiang chao
- * @Time: 2022/10/19 16:43
- * @Classname: SaDeliverController
- * @PackageName: com.hzs.sale.order.controller.manager
+ * 发货清单已合单控制器
*/
@RestController
@RequestMapping("/manage/deliver-handled")
@@ -162,6 +160,74 @@ public class SaDeliverHandledController extends BaseController {
util.exportExcel(response, resultList, "发货清单已合单导出");
}
+ /**
+ * 仓储导出
+ *
+ * @param response
+ * @param param
+ */
+ @PostMapping("/wms-export")
+ public void wmsExport(HttpServletResponse response, DeliverHandledParam param) {
+ DateUtils.handTimeStartAndEnd(param.getCreationTime());
+ DateUtils.handTimeStartAndEnd(param.getPayTime());
+
+ // 国家ID
+ Integer pkCountry = SecurityUtils.getPkCountry();
+
+ List voList = new ArrayList<>();
+
+ // 获取管理员权限(角色地区范围、体系列表、团队列表)
+ UserAuthorityDTO userAuthorityDTO = iUserServiceApi.getUserAuthority(SecurityUtils.getUserId()).getData();
+ param.setAreaScopeList(userAuthorityDTO.getRoleAreaScopeList());
+ param.setVertexIdList(userAuthorityDTO.getVertexIdList());
+ param.setTeamList(userAuthorityDTO.getUserTeamList());
+
+ List resultList = iSaDeliverService.queryDeliverHandledList(param, pkCountry);
+
+ // 当查询有数据才进行处理
+ if (resultList.size() > 0) {
+ // 获取行政区划map
+ Map areaMap = iAreaServiceApi.getAreaMap(pkCountry).getData();
+
+ String deliverCode = "";
+ DeliverWmsVO vo = null;
+ // 合并 key: 发货单号 + 仓储编号 + 规格,一样的累计数量
+ String key = null;
+ for (DeliverHandledVO deliverHandled : resultList) {
+ if (null == key || !key.equals(deliverHandled.getDeliverCode() + "-" + deliverHandled.getWmsCode() + "-" + deliverHandled.getSpecsName())) {
+ // key: 发货单号 + 仓储编号 + 规格,一样的累计数量
+ key = deliverHandled.getDeliverCode() + "-" + deliverHandled.getWmsCode() + "-" + deliverHandled.getSpecsName();
+
+ vo = DeliverWmsVO.builder()
+ .wmsCode(deliverHandled.getWmsCode())
+ .productName(deliverHandled.getProductName())
+ .specsName(deliverHandled.getSpecsName())
+ .quantity(deliverHandled.getQuantity())
+ .price(BigDecimal.ZERO)
+ .build();
+ if (!deliverCode.equals(deliverHandled.getDeliverCode())) {
+ deliverCode = deliverHandled.getDeliverCode();
+ vo.setDeliverCode(deliverHandled.getDeliverCode());
+ vo.setRecName(deliverHandled.getRecName());
+ vo.setRecPhone(deliverHandled.getRecPhone());
+
+ // 省市区处理
+ OrderUtil.handleOrderAddress(areaMap, deliverHandled);
+ String address = deliverHandled.getRecProvinceVal()
+ + (StringUtils.isNotEmpty(deliverHandled.getRecCityVal()) ? deliverHandled.getRecCityVal() : "")
+ + (StringUtils.isNotEmpty(deliverHandled.getRecCountyVal()) ? deliverHandled.getRecCountyVal() : "")
+ + deliverHandled.getRecAddress();
+ vo.setRecAddress(address);
+ }
+ voList.add(vo);
+ } else {
+ vo.setQuantity(vo.getQuantity() + deliverHandled.getQuantity());
+ }
+ }
+ }
+ ExcelUtil util = new ExcelUtil<>(DeliverWmsVO.class);
+ util.exportExcel(response, voList, "发货清单已合单导出");
+ }
/**
* 打印货单
diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/deliver/param/DeliverTemplateParam.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/deliver/param/DeliverTemplateParam.java
index 60b4f395..ce783341 100644
--- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/deliver/param/DeliverTemplateParam.java
+++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/deliver/param/DeliverTemplateParam.java
@@ -4,48 +4,45 @@ import com.hzs.common.core.annotation.Excel;
import lombok.Data;
/**
- * @Description: 导入发货数据参数
- * @Author: jiang chao
- * @Time: 2022/10/31 10:00
- * @Classname: BatchDeliverVO
- * @PackageName: com.hzs.sale.deliver.vo
+ * 导入发货数据参数
*/
@Data
public class DeliverTemplateParam {
- /**
- * 收货姓名
- */
- @Excel(name = "收货姓名")
- private String recName;
+// /**
+// * 收货姓名
+// */
+// @Excel(name = "收货姓名")
+// private String recName;
+//
+// /**
+// * 收货电话
+// */
+// @Excel(name = "收货电话")
+// private String recPhone;
+//
+// /**
+// * 收货地址
+// */
+// @Excel(name = "收货地址")
+// private String recAddress;
- /**
- * 收货电话
- */
- @Excel(name = "收货电话")
- private String recPhone;
-
- /**
- * 收货地址
- */
- @Excel(name = "收货地址")
- private String recAddress;
/**
* 发货单号
*/
- @Excel(name = "发货单号")
+ @Excel(name = "订单号")
private String deliverCode;
/**
* 物流公司
*/
- @Excel(name = "物流公司")
+ @Excel(name = "快递公司")
private String logisticsCompany;
/**
* 物流单号
*/
- @Excel(name = "物流单号")
+ @Excel(name = "快递单号")
private String logisticsCode;
}
diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/deliver/vo/DeliverHandledVO.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/deliver/vo/DeliverHandledVO.java
index 18cba58e..6e53ffc5 100644
--- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/deliver/vo/DeliverHandledVO.java
+++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/deliver/vo/DeliverHandledVO.java
@@ -10,11 +10,7 @@ import lombok.Data;
import java.util.Date;
/**
- * @Description: 发货单已合并列表VO
- * @Author: jiang chao
- * @Time: 2022/11/5 15:51
- * @Classname: DeliverHandledVO
- * @PackageName: com.hzs.sale.deliver.vo
+ * 发货单已合并列表VO
*/
@Data
public class DeliverHandledVO {
@@ -68,7 +64,7 @@ public class DeliverHandledVO {
* 订单类型显示
*/
@Excel(name = "订单类型")
- private String orderTypeVal;
+ private String orderTypeVal;
/**
* 订单状态(EOrderStatus)
@@ -102,6 +98,13 @@ public class DeliverHandledVO {
*/
@Excel(name = "产品编号")
private String productCode;
+
+ /**
+ * 产品编号
+ */
+ @Excel(name = "仓储编号")
+ private String wmsCode;
+
/**
* 产品名称
*/
diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/deliver/vo/DeliverUnhandledVO.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/deliver/vo/DeliverUnhandledVO.java
index d0d01ac3..d602ba53 100644
--- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/deliver/vo/DeliverUnhandledVO.java
+++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/deliver/vo/DeliverUnhandledVO.java
@@ -11,11 +11,7 @@ import java.math.BigDecimal;
import java.util.Date;
/**
- * @Description: 发货单未合并列表VO
- * @Author: jiang chao
- * @Time: 2022/11/4 11:29
- * @Classname: DeliverUnhandledVO
- * @PackageName: com.hzs.sale.deliver.vo
+ * 发货单未合并列表VO
*/
@Data
public class DeliverUnhandledVO {
diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/deliver/vo/DeliverWmsVO.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/deliver/vo/DeliverWmsVO.java
new file mode 100644
index 00000000..0d66a917
--- /dev/null
+++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/deliver/vo/DeliverWmsVO.java
@@ -0,0 +1,106 @@
+package com.hzs.sale.deliver.vo;
+
+import com.hzs.common.core.annotation.Excel;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * 发货单WMS导出VO
+ */
+@Builder
+@AllArgsConstructor
+@NoArgsConstructor
+@Data
+public class DeliverWmsVO implements Serializable {
+
+ @Excel(name = "<必填>订单号")
+ private String deliverCode;
+
+ @Excel(name = "下单时间")
+ private String createTime;
+ @Excel(name = "付款时间")
+ private String payTime;
+
+ @Excel(name = "交易类型")
+ private String payType;
+ @Excel(name = "业务员")
+ private String peopleName;
+ @Excel(name = "备注")
+ private String orderRemark;
+ @Excel(name = "买家留言")
+ private String buyRemark;
+ @Excel(name = "系统备注")
+ private String sysRemark;
+ @Excel(name = "仓库")
+ private String storeName;
+ @Excel(name = "总金额")
+ private BigDecimal totalAmount;
+ @Excel(name = "运费")
+ private String postAmount;
+ @Excel(name = "实付总额")
+ private String realTotalAmount;
+ @Excel(name = "本次收款")
+ private String receiveAmount;
+ @Excel(name = "结算账户")
+ private String settleAccount;
+
+ @Excel(name = "<必填>收货人姓名")
+ private String recName;
+
+ @Excel(name = "手机")
+ private String recPhone;
+
+ @Excel(name = "固话")
+ private String fixedPhone;
+
+ @Excel(name = "<必填>地址")
+ private String recAddress;
+
+ @Excel(name = "邮编")
+ private String postal;
+
+ @Excel(name = "电子邮箱")
+ private String email;
+
+ @Excel(name = "<必填>商品编码")
+ private String wmsCode;
+
+ @Excel(name = "产品名称")
+ private String productName;
+
+ @Excel(name = "规格名称")
+ private String specsName;
+
+ @Excel(name = "<必填>数量")
+ private Integer quantity;
+
+ @Excel(name = "单价")
+ private BigDecimal price;
+
+ @Excel(name = "实付")
+ private BigDecimal realPay;
+
+ @Excel(name = "配送方式")
+ private String delivery;
+
+ @Excel(name = "明细备注")
+ private String remark;
+
+ @Excel(name = "批次号")
+ private String batchNo;
+
+ @Excel(name = "生产日期")
+ private String produceDate;
+
+ @Excel(name = "过期日期")
+ private String expireDate;
+
+
+
+
+}
diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/controller/manager/SaOrderBusinessController.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/controller/manager/SaOrderBusinessController.java
index dff29833..401f32db 100644
--- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/controller/manager/SaOrderBusinessController.java
+++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/controller/manager/SaOrderBusinessController.java
@@ -66,11 +66,7 @@ import java.util.*;
import java.util.stream.Collectors;
/**
- * @Description: 订单业务办理
- * @Author: jiang chao
- * @Time: 2023/1/31 10:31
- * @Classname: OrderBusinessController
- * @PackageName: com.hzs.sale.order.controller.manager
+ * 订单业务办理
*/
@Slf4j
@RestController
diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/param/WaresItemsParam.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/param/WaresItemsParam.java
index 3183400b..04fed1fe 100644
--- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/param/WaresItemsParam.java
+++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/param/WaresItemsParam.java
@@ -8,11 +8,7 @@ import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
- * @Description: 商品明细参数
- * @Author: sui q
- * @Time: 2022/9/15 17:00
- * @Classname: WaresItemsParam
- * @PackageName: com.hzs.sale.order.param
+ * 商品明细参数
*/
@Data
@Builder
@@ -26,7 +22,7 @@ public class WaresItemsParam implements Serializable {
private Integer pkWaresSpecsSku;
/**
- * 商品数量
+ * 产品数量
*/
private Integer quantity;
@@ -35,4 +31,9 @@ public class WaresItemsParam implements Serializable {
*/
private Integer pkProduct;
+ /**
+ * 产品编号
+ */
+ private String productCode;
+
}
diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderHandle.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderHandle.java
index fd3d8be5..7719a652 100644
--- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderHandle.java
+++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderHandle.java
@@ -772,14 +772,12 @@ public class SaOrderHandle {
}
/**
+ * orderType 1 = 注册,注册不用找累计 2 升级需要
+ *
* @param specialArea 专区
* @param settleOrderAmount 订单金额
* @param settleOrderPv 订单业绩
* @param pkCountry 国家
- * @Description: orderType 1 = 注册,注册不用找累计 2 升级需要
- * @return: List
- * @Author: sui q
- * @Date: 2022/2/17 11:27
*/
GradeDTO getMemberGradeAndAwardByCountry(CuMember cuMember, Integer specialArea, BigDecimal settleOrderAmount,
BigDecimal settleOrderPv, Integer pkCountry, String upgradeWay) {
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 bb70f68e..ce3f48ec 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
@@ -76,13 +76,6 @@ public class SaOrderItemsServiceImpl extends ServiceImpl
- **/
@Override
public List waresListByOrderId(List orderIdList) {
return baseMapper.waresListByOrderId(orderIdList);
@@ -98,12 +91,6 @@ public class SaOrderItemsServiceImpl extends ServiceImpl selectByInvestmentList(WaresOrderParam waresOrderParam) {
return baseMapper.selectByInvestmentList(waresOrderParam);
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 4fc7ea34..9f36458e 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
@@ -63,6 +63,7 @@ import com.hzs.sale.order.param.*;
import com.hzs.sale.order.service.*;
import com.hzs.sale.order.vo.*;
import com.hzs.sale.product.service.IBdProductExtendService;
+import com.hzs.sale.product.service.IBdProductService;
import com.hzs.sale.wares.service.*;
import com.hzs.scm.pub.IScmBillServiceApi;
import com.hzs.system.base.IAreaServiceApi;
@@ -150,7 +151,9 @@ public class SaOrderServiceImpl extends ServiceImpl impl
@Autowired
private UserTokenService userTokenService;
@Autowired
- private IBdProductExtendService productExtendService;
+ private IBdProductService iBdProductService;
+ @Autowired
+ private IBdProductExtendService iBdProductExtendService;
@Autowired
private RabbitTemplate rabbitTemplate;
@Autowired
@@ -1307,7 +1310,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl
for (SaOrderItems orderItem : orderItems) {
orderItem.setPkOrder(saOrder.getPkId());
BdWares wares = waresService.getWares(orderItem.getPkWares());
- BdProductExtendExt productExtend = productExtendService.queryExtendAndProduct(orderItem.getPkProduct());
+ BdProductExtendExt productExtend = iBdProductExtendService.queryExtendAndProduct(orderItem.getPkProduct());
orderItem.setPkWares(wares.getPkId());
orderItem.setPrice(wares.getWaresPrice().multiply(new BigDecimal(orderItem.getQuantity())));
orderItem.setPkRate(currency.getData().getPkId());
@@ -2534,11 +2537,12 @@ public class SaOrderServiceImpl extends ServiceImpl impl
// 存在手动升级
cuMember.setPkSettleGrade(cuMemberLevel.getNewLevel());
}
- } else {
- // 累计升级制,传的订单是当前撤的订单
- GradeDTO gradeDTO = calculateRetailCancelGrade(cuMember, saOrderExt);
- cuMember.setPkSettleGrade(gradeDTO.getPkId());
}
+// else {
+// // 累计升级制,传的订单是当前撤的订单
+// GradeDTO gradeDTO = calculateRetailCancelGrade(cuMember, saOrderExt);
+// cuMember.setPkSettleGrade(gradeDTO.getPkId());
+// }
Date firstDate = baseMapper.getFirstPayTime(cuMember.getPkId());
if (null == firstDate) {
@@ -2560,33 +2564,34 @@ public class SaOrderServiceImpl extends ServiceImpl impl
saOrderExt.setUpdateFlag(EYesNo.YES.getIntValue());
}
- // 如果复购订单后面还有升级订单,不需要处理等级问题; 复购订单后面没有升级订单,走新逻辑校验
- if (this.count(Wrappers.lambdaQuery()
- .eq(SaOrder::getPkMember, saOrderExt.getPkMember())
- .eq(SaOrder::getOrderType, EOrderType.RETAIL_UPGRADE.getValue())
- .ge(SaOrder::getPayTime, saOrderExt.getPayTime())
- .eq(SaOrder::getOrderStatus, EPayStatus.PAID.getValue())
- ) == 0) {
- // 带有盒数商品的订单,需要校验等级
- List gradeList = iGradeServiceApi.getRetailGradeList().getData();
- // 当前会员等级
- BdGrade memberGrade = this.getGrade(cuMember.getPkSettleGrade(), gradeList);
-
- // 需要添加的升级记录列表
- List createLevelList = new ArrayList<>();
- // 需要删除的升级记录列表
- List deleteLevelList = new ArrayList<>();
- // 新等级计算
- BdGrade newGrade = this.handleNewGrade(cuMember, memberGrade, gradeList, saOrderExt, createLevelList, deleteLevelList);
-
- if (memberGrade.getGradeValue() < EGrade.VIP.getValue() && newGrade.getGradeValue() < memberGrade.getGradeValue()) {
- // 当前会员等级不是V4或者V5 并且 新等级小于当前等级需要进行处理
- saOrderExt.setNewGrade(newGrade);
- saOrderExt.setUpdateFlag(EYesNo.YES.getIntValue());
- }
- saOrderExt.setCreateLevelList(createLevelList);
- saOrderExt.setDeleteLevelList(deleteLevelList);
- }
+ // TODO new 恢复升级专区,复购专区不需要处理等级问题
+// // 如果复购订单后面还有升级订单,不需要处理等级问题; 复购订单后面没有升级订单,走新逻辑校验
+// if (this.count(Wrappers.lambdaQuery()
+// .eq(SaOrder::getPkMember, saOrderExt.getPkMember())
+// .eq(SaOrder::getOrderType, EOrderType.RETAIL_UPGRADE.getValue())
+// .ge(SaOrder::getPayTime, saOrderExt.getPayTime())
+// .eq(SaOrder::getOrderStatus, EPayStatus.PAID.getValue())
+// ) == 0) {
+// // 带有盒数商品的订单,需要校验等级
+// List gradeList = iGradeServiceApi.getRetailGradeList().getData();
+// // 当前会员等级
+// BdGrade memberGrade = this.getGrade(cuMember.getPkSettleGrade(), gradeList);
+//
+// // 需要添加的升级记录列表
+// List createLevelList = new ArrayList<>();
+// // 需要删除的升级记录列表
+// List deleteLevelList = new ArrayList<>();
+// // 新等级计算
+// BdGrade newGrade = this.handleNewGrade(cuMember, memberGrade, gradeList, saOrderExt, createLevelList, deleteLevelList);
+//
+// if (memberGrade.getGradeValue() < EGrade.VIP.getValue() && newGrade.getGradeValue() < memberGrade.getGradeValue()) {
+// // 当前会员等级不是V4或者V5 并且 新等级小于当前等级需要进行处理
+// saOrderExt.setNewGrade(newGrade);
+// saOrderExt.setUpdateFlag(EYesNo.YES.getIntValue());
+// }
+// saOrderExt.setCreateLevelList(createLevelList);
+// saOrderExt.setDeleteLevelList(deleteLevelList);
+// }
}
} else if (EOrderType.RETAIL_PICK.getValue() == saOrderExt.getOrderType()) {
// 新提货订单
@@ -2636,16 +2641,21 @@ public class SaOrderServiceImpl extends ServiceImpl impl
if (CollectionUtil.isEmpty(gradeList)) {
gradeList = iGradeServiceApi.getRetailGradeList().getData();
}
- // 盒数商品
+
+ // 补全产品编号
+ handleOrderItemsParamsProduct(orderItemsParams);
+ // 盒数产品
List boxProductList = BoxProductUtil.getBoxProductListBySystemType(systemType);
- // 当前商品盒数
+ // 当前产品盒数
int boxNum = 0;
- // 判断订单明细中指定商品数量,校验达到等级,重算价格
+ // 判断订单明细中指定产品数量,校验等级
for (OrderItemsParam orderItemsParam : orderItemsParams) {
- if (boxProductList.contains(orderItemsParam.getWaresCode())) {
- // 存在指定商品,需要累计合数
- boxNum += orderItemsParam.getQuantity();
+ for (WaresItemsParam waresItemsParam : orderItemsParam.getWaresItemsParamList()) {
+ if (boxProductList.contains(waresItemsParam.getProductCode())) {
+ // 存在指定产品,需要累计盒数(产品数量 * 商品数量)
+ boxNum += waresItemsParam.getQuantity() * orderItemsParam.getQuantity();
+ }
}
}
@@ -2654,20 +2664,22 @@ public class SaOrderServiceImpl extends ServiceImpl impl
if (ESpecialArea.RETAIL_REGISTER.getValue() == specialArea) {
// 注册专区直接算等级
bdGrade = this.getGradeByBox(boxNum, gradeList, null, true);
- } else if (ESpecialArea.RETAIL_UPGRADE.getValue() == specialArea
- || ESpecialArea.RETAIL_REPURCHASE.getValue() == specialArea) {
- // 2025.02.24 升级专区取消,复购专区购买盒数商品可以升级,首日累积升级,次日一次性补差升级
+ } else if (ESpecialArea.RETAIL_UPGRADE.getValue() == specialArea) {
+ // 升级专区取消,一次性补差升级
+ if (boxNum == 0) {
+ // 不满足升级条件
+ throw new ServiceException("不满足升级条件");
+ }
// 当前会员等级
BdGrade memberGrade = gradeList.stream().filter(tmpGrade -> tmpGrade.getPkId().equals(updateGradeMember.getPkSettleGrade())).findFirst().get();
- if (boxNum == 0) {
- return memberGrade;
+ if (memberGrade.getGradeValue().compareTo(EGrade.MAKER.getValue()) >= 0) {
+ // 会员等级大于等于V3(卓越),不能通过升级进行购买了
+ throw new ServiceException("当前已经是可以购买的最高等级");
}
- // 获取升级盒数基数
- int baseBoxNum = this.handleBaseBoxNum(updateGradeMember, memberGrade, gradeList, boxProductList, systemType);
// 计算等级
- bdGrade = this.getGradeByBox(baseBoxNum + boxNum, gradeList, memberGrade, true);
+ bdGrade = this.getGradeByBox(boxNum, gradeList, memberGrade, true);
// 会员等级比购买盒数的等级要高,则以会员当前等级为准
if (memberGrade.getGradeValue().compareTo(bdGrade.getGradeValue()) >= 0) {
@@ -2694,29 +2706,31 @@ public class SaOrderServiceImpl extends ServiceImpl impl
if (null == memberGrade) {
// 注册处理
- // 去掉升级条件带有累计盒数的(V4,V5)升级购买合数小于等于订单商品盒数的,升级盒数小于购买盒数的最大一个等级为注册等级
- return gradeList.stream().filter(tmpGrade -> tmpGrade.getBoxTotal() == 0 && tmpGrade.getBoxNumber() <= boxTotal).max(Comparator.comparingInt(BdGrade::getGradeValue)).get();
+ // 去掉 V4,V5 升级盒数小于购买盒数的最大一个等级为注册等级
+ return gradeList.stream()
+ .filter(tmpGrade -> tmpGrade.getGradeValue() != EGrade.VIP.getValue() && tmpGrade.getGradeValue() != EGrade.S_VIP.getValue() && tmpGrade.getBoxNumber() <= boxTotal)
+ .max(Comparator.comparingInt(BdGrade::getGradeValue)).get();
} else {
// 非注册处理
- if (checkUpgrade) {
- // 当前等级大于等于V3 或 盒数商品为0,则直接返回当前等级
- if (memberGrade.getGradeValue().compareTo(EGrade.MAKER.getValue()) >= 0
- || boxTotal == 0) {
- return memberGrade;
- }
- } else {
- // 当前等级大于V3 或 盒数商品为0,则直接返回当前等级
- if (memberGrade.getGradeValue().compareTo(EGrade.MAKER.getValue()) > 0
- || boxTotal == 0) {
- return memberGrade;
- }
- }
+// if (checkUpgrade) {
+// // 当前等级大于等于V3 或 盒数商品为0,则直接返回当前等级
+// if (memberGrade.getGradeValue().compareTo(EGrade.MAKER.getValue()) >= 0
+// || boxTotal == 0) {
+// return memberGrade;
+// }
+// } else {
+// // 当前等级大于V3 或 盒数商品为0,则直接返回当前等级
+// if (memberGrade.getGradeValue().compareTo(EGrade.MAKER.getValue()) > 0
+// || boxTotal == 0) {
+// return memberGrade;
+// }
+// }
- // 查询等级比现在当前等级大的,然后倒序排序,再查询等级盒数 >= 购买盒数 的第一个等级,就是当前升级的等级
+ // 查询等级比现在当前等级大的,然后倒序排序,再查询 购买盒数 <= 等级盒数 的第一个等级,就是当前升级的等级
Optional gradeOptional = gradeList.stream().filter(tmpGrade -> 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() - memberGrade.getBoxNumber() <= boxTotal).findFirst();
return gradeOptional.orElse(memberGrade);
}
}
@@ -3594,4 +3608,29 @@ public class SaOrderServiceImpl extends ServiceImpl impl
return cuMemberLevel;
}
+ /**
+ * 处理订单明细产品编号信息
+ *
+ * @param orderItemsParams
+ */
+ private void handleOrderItemsParamsProduct(List orderItemsParams) {
+ if (CollectionUtil.isNotEmpty(orderItemsParams)) {
+ Set pkProductSet = new HashSet<>();
+ for (OrderItemsParam orderItemsParam : orderItemsParams) {
+ for (WaresItemsParam waresItemsParam : orderItemsParam.getWaresItemsParamList()) {
+ pkProductSet.add(waresItemsParam.getPkProduct());
+ }
+ }
+ if (pkProductSet.size() > 0) {
+ Map productCodeMap = iBdProductService.getProductCodeMap(pkProductSet);
+ for (OrderItemsParam orderItemsParam : orderItemsParams) {
+ for (WaresItemsParam waresItemsParam : orderItemsParam.getWaresItemsParamList()) {
+ // 补全产品编号
+ waresItemsParam.setProductCode(productCodeMap.get(waresItemsParam.getPkProduct()));
+ }
+ }
+ }
+ }
+ }
+
}
diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/controller/manage/BdProductController.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/controller/manage/BdProductController.java
index 9c56ea43..705ac976 100644
--- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/controller/manage/BdProductController.java
+++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/controller/manage/BdProductController.java
@@ -4,7 +4,6 @@ import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.hzs.common.core.annotation.AccessPermissions;
import com.hzs.common.core.annotation.Log;
import com.hzs.common.core.constant.HttpStatus;
import com.hzs.common.core.constant.msg.ProductMsgConstants;
@@ -48,13 +47,6 @@ import javax.servlet.http.HttpServletResponse;
import java.util.*;
import java.util.stream.Collectors;
-/**
- * @Description:
- * @Author: yuhui
- * @Time: 2022/9/1 14:14
- * @Classname: BdProductController
- * @PackageName: com.hzs.sale.product.controller.manage
- */
@Slf4j
@RestController
@RequestMapping("/manage/product")
@@ -226,16 +218,6 @@ public class BdProductController extends BaseController {
if (productCount > 0) {
return AjaxResult.error(TransactionUtils.getContent(ProductMsgConstants.PRODUCT_NUMBER_ALREADY_EXISTS));
}
- if (productParams.getPkProductBas() != null) {
- // 校验每个国家该产品bas只能有一款
- LambdaQueryWrapper qe = new LambdaQueryWrapper<>();
- qe.eq(BdProduct::getPkProductBas, productParams.getPkProductBas());
- qe.eq(BdProduct::getPkCountry, SecurityUtils.getPkCountry());
- int ct = productService.count(qe);
- if (ct > 0) {
- return AjaxResult.error(TransactionUtils.getContent(ProductMsgConstants.PRODUCT_BAS_COUNTYR_FIRST));
- }
- }
productService.saveProduct(productParams, loginUser);
return AjaxResult.success();
}
@@ -276,17 +258,6 @@ public class BdProductController extends BaseController {
if (productCount > 0) {
return AjaxResult.error(TransactionUtils.getContent(ProductMsgConstants.PRODUCT_NUMBER_ALREADY_EXISTS));
}
- if (productParams.getPkProductBas() != null) {
- // 校验每个国家该产品bas只能有一款
- LambdaQueryWrapper qw = new LambdaQueryWrapper<>();
- qw.eq(BdProduct::getPkProductBas, productParams.getPkProductBas());
- qw.eq(BdProduct::getPkCountry, SecurityUtils.getPkCountry());
- qw.notIn(BdProduct::getPkId, productParams.getPkId());
- int ct = productService.count(qw);
- if (ct > 0) {
- return AjaxResult.error(TransactionUtils.getContent(ProductMsgConstants.PRODUCT_BAS_COUNTYR_FIRST));
- }
- }
// 修改商品信息
productService.updateProduct(productParams, loginUser);
return AjaxResult.success(productParams.getProductCode());
diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/controller/manage/params/ProductParams.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/controller/manage/params/ProductParams.java
index 624f6bae..143b509a 100644
--- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/controller/manage/params/ProductParams.java
+++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/controller/manage/params/ProductParams.java
@@ -7,13 +7,6 @@ import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
-/**
- * @Description:
- * @Author: yuhui
- * @Time: 2022/9/1 15:48
- * @Classname: Product
- * @PackageName: com.hzs.sale.product.controller.manage.params
- */
@Data
public class ProductParams implements Serializable {
@@ -258,4 +251,9 @@ public class ProductParams implements Serializable {
*/
private Date removalTime;
+ /**
+ * 仓储产品编号
+ */
+ private String wmsCode;
+
}
diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/mapper/BdProductMapper.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/mapper/BdProductMapper.java
index 6b9cbe73..1109c14d 100644
--- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/mapper/BdProductMapper.java
+++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/mapper/BdProductMapper.java
@@ -13,11 +13,7 @@ import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
- * @Description: 产品相关mapper
- * @Author: yuhui
- * @Time: 2022/8/29 10:59
- * @Classname: BdProductMapper
- * @PackageName: com.hzs.sale.product.mapper
+ * 产品相关mapper
*/
public interface BdProductMapper extends BaseMapper {
@@ -37,10 +33,7 @@ public interface BdProductMapper extends BaseMapper {
List selectByQueryList(ProductParams productParams);
/*
- * @description: 根据规格、主键查询产品
- * @author: sui q
- * @date: 2023/11/27 15:52
- * @param: null null
+ * 根据规格、主键查询产品
**/
List queryProductExtBySpecsId(@Param("productSpecsList") List productSpecsList, @Param("pkCountry") Integer pkCountry);
@@ -68,4 +61,15 @@ public interface BdProductMapper extends BaseMapper {
* @return
*/
ProductVo getByProductId(@Param("productId") Integer productId);
+
+ /**
+ * 根据商品获取对应产品信息
+ *
+ * @param specialArea 商品专区
+ * @param waresCodeList 商品编码列表
+ * @return
+ */
+ List listProductInfoByWaresCode(@Param("specialArea") Integer specialArea,
+ @Param("waresCodeList") List waresCodeList);
+
}
diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/service/IBdProductService.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/service/IBdProductService.java
index 92136316..1a979e36 100644
--- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/service/IBdProductService.java
+++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/service/IBdProductService.java
@@ -123,4 +123,21 @@ public interface IBdProductService extends IService {
*/
ProductVo getByProductId(Integer productId);
+ /**
+ * 获取产品编号map
+ *
+ * @param pkProductSet
+ * @return
+ */
+ Map getProductCodeMap(Collection pkProductSet);
+
+ /**
+ * 根据商品获取对应产品信息
+ *
+ * @param specialArea 商品专区
+ * @param waresCodeList 商品编码列表
+ * @return
+ */
+ Map listProductInfoByWaresCode(Integer specialArea, List waresCodeList);
+
}
diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/service/impl/BdProductServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/service/impl/BdProductServiceImpl.java
index e98e7a2e..59133912 100644
--- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/service/impl/BdProductServiceImpl.java
+++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/service/impl/BdProductServiceImpl.java
@@ -25,7 +25,6 @@ import com.hzs.sale.product.vo.SupplierProductCensusVo;
import com.hzs.sale.product.vo.WaresDetailVo;
import com.hzs.sale.wares.service.IBdWaresDetailService;
import com.hzs.sale.wares.service.IBdWaresExtendService;
-import com.hzs.scm.product.IBdProductBasSpecsServiceApi;
import com.hzs.system.base.ITransactionServiceApi;
import com.hzs.system.sys.ICubasdocApi;
import com.hzs.system.sys.dto.BusinessLogDTO;
@@ -65,8 +64,6 @@ public class BdProductServiceImpl extends ServiceImpl cubasdocDTO = cubasdocApi.getCubasdoc(productParams.getPkCubasdoc());
CubasdocDTO cubasdoc = cubasdocDTO.getData();
@@ -110,6 +105,10 @@ public class BdProductServiceImpl extends ServiceImpl pkProductBasList) {
- productBasSpecsServiceApi.removeByPkProductBasList(pkProductBasList);
- }
-
@Override
@Transactional(rollbackFor = Exception.class)
public void updateProduct(ProductParams productParams, LoginUser loginUser) {
@@ -239,19 +228,16 @@ public class BdProductServiceImpl extends ServiceImpl getProductCodeMap(Collection pkProductSet) {
+ Map productCodeMap = new HashMap<>();
+
+ LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
+ queryWrapper.eq(BdProduct::getPkId, pkProductSet);
+ List productList = this.list(queryWrapper);
+ for (BdProduct bdProduct : productList) {
+ productCodeMap.put(bdProduct.getPkId(), bdProduct.getProductCode());
+ }
+ return productCodeMap;
+ }
+
+ @Override
+ public Map listProductInfoByWaresCode(Integer specialArea, List waresCodeList) {
+ Map productMap = new HashMap<>();
+
+ List bdProductList = baseMapper.listProductInfoByWaresCode(specialArea, waresCodeList);
+ if (CollectionUtil.isNotEmpty(bdProductList)) {
+ for (BdProduct bdProduct : bdProductList) {
+ productMap.put(bdProduct.getPkId(), bdProduct);
+ }
+ }
+ return productMap;
+ }
+
}
diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/vo/ProductVo.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/vo/ProductVo.java
index 9b37a0d4..51539862 100644
--- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/vo/ProductVo.java
+++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/vo/ProductVo.java
@@ -1,27 +1,14 @@
package com.hzs.sale.product.vo;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableLogic;
import com.fasterxml.jackson.annotation.JsonFormat;
-import com.fasterxml.jackson.annotation.JsonIgnore;
import com.hzs.common.core.annotation.BigDecimalFormat;
import com.hzs.common.core.annotation.Excel;
-import com.hzs.common.core.web.domain.BaseEntity;
-import com.hzs.common.domain.sale.product.BdProduct;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
-/**
- * @Description:
- * @Author: yuhui
- * @Time: 2022/10/28 16:26
- * @Classname: ProductVo
- * @PackageName: com.hzs.sale.product.vo
- */
@Data
public class ProductVo implements Serializable {
@@ -184,7 +171,7 @@ public class ProductVo implements Serializable {
*/
private Integer isMerge;
/**
- *合并发货 翻译
+ * 合并发货 翻译
*/
@Excel(name = "合并发货")
private String isMergeVal;
@@ -225,7 +212,7 @@ public class ProductVo implements Serializable {
/**
* 上下架
*/
- @Excel(name = "上下架状态",readConverterExp = "0=上架,1=下架")
+ @Excel(name = "上下架状态", readConverterExp = "0=上架,1=下架")
private Integer isPutOn;
/**
* 创建人ID
@@ -235,7 +222,7 @@ public class ProductVo implements Serializable {
/**
* 创建时间
*/
- @Excel(name = "创建时间",dateFormat = "yyyy-MM-dd HH:mm:ss")
+ @Excel(name = "创建时间", dateFormat = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date creationTime;
@@ -297,5 +284,9 @@ public class ProductVo implements Serializable {
*/
private Integer pkCubasdoc;
+ /**
+ * 仓储产品编号
+ */
+ private String wmsCode;
}
diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/shopping/service/IShoppingCartService.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/shopping/service/IShoppingCartService.java
index 906156e8..6ce722ad 100644
--- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/shopping/service/IShoppingCartService.java
+++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/shopping/service/IShoppingCartService.java
@@ -9,10 +9,7 @@ import java.util.Map;
public interface IShoppingCartService {
/*
- * @description: 查询需要下单的购物车
- * @author: sui q
- * @date: 2023/5/23 16:08
- * @param: null null
+ * 查询需要下单的购物车
**/
List queryShopping(Long userId, ShoppingCartVO sop);
@@ -25,11 +22,7 @@ public interface IShoppingCartService {
void batchDelShopping(Long userId, ShoppingCartVO sop);
/**
- * @description: 查询购物车
- * @author: zhang jing
- * @date: 2022/12/13 16:40
- * @param: [shoppingCartOld]
- * @return: com.hz.web.controller.api.vo.ShoppingCartVO
+ * 查询购物车
**/
List getShopping(Map innerShopMap, Integer specialArea, Integer pkCountry, Integer systemType);
diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/shopping/service/impl/ShoppingCartServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/shopping/service/impl/ShoppingCartServiceImpl.java
index bb99b007..3c0d6b6d 100644
--- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/shopping/service/impl/ShoppingCartServiceImpl.java
+++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/shopping/service/impl/ShoppingCartServiceImpl.java
@@ -25,11 +25,7 @@ import java.math.BigDecimal;
import java.util.*;
/**
- * @description: 购物车服务实现
- * @author: zhang jing
- * @date: 2022/11/22 14:47
- * @param:
- * @return:
+ * 购物车服务实现
**/
@Service
public class ShoppingCartServiceImpl implements IShoppingCartService {
@@ -37,17 +33,11 @@ public class ShoppingCartServiceImpl implements IShoppingCartService {
@Autowired
private RedisService redisService;
@Autowired
- private IBdWaresSpecsSkuService bdWaresSpecsSkuService;
+ private IBdWaresSpecsSkuService iBdWaresSpecsSkuService;
@DubboReference
- ICurrencyServiceApi currencyServiceApi;
+ ICurrencyServiceApi iCurrencyServiceApi;
- /**
- * 查询需要下单的购物车
- *
- * @param userId
- * @param sop
- */
@Override
public List queryShopping(Long userId, ShoppingCartVO sop) {
List deleteList = sop.getDeleteList();
@@ -73,12 +63,6 @@ public class ShoppingCartServiceImpl implements IShoppingCartService {
return newShoppingCartRedis;
}
- /**
- * 批量删除购物车
- *
- * @param userId
- * @param sop
- */
@Override
public void batchDelShopping(Long userId, ShoppingCartVO sop) {
List deleteList = sop.getDeleteList();
@@ -107,19 +91,12 @@ public class ShoppingCartServiceImpl implements IShoppingCartService {
}
}
- /**
- * @description: 查询购物车
- * @author: zhang jing
- * @date: 2022/12/12 19:03
- * @param: [shoppingCartOld]
- * @return: com.hz.web.controller.api.vo.ShoppingCartVO
- **/
@Override
public List getShopping(Map innerShopMap, Integer specialArea, Integer pkCountry, Integer systemType) {
Long userId = SecurityUtils.getUserId();
//汇率
List shoppingCartOld = new ArrayList<>();
- R currency = currencyServiceApi.getCurrency(SecurityUtils.getPkCountry());
+ R currency = iCurrencyServiceApi.getCurrency(SecurityUtils.getPkCountry());
if (StringUtils.isNotNull(specialArea)) {
ShoppingCartVO scv = new ShoppingCartVO();
List shoppingCartList = new ArrayList<>();
@@ -184,14 +161,11 @@ public class ShoppingCartServiceImpl implements IShoppingCartService {
}
/**
- * @description: 获取购物车商品信息
- * @author: zhang jing
- * @date: 2023/5/22 14:36
- * @param: [shoppingCart, specialArea, waresCode, userId, sst, waresPrice, achieve, assAchieve, currency,]
+ * 获取购物车商品信息
**/
private void getShoppingCart(ShoppingCart shoppingCart, Integer specialArea, String waresCode, Long userId, ShoppingCartRedis sst,
BigDecimal waresPrice, BigDecimal achieve, BigDecimal assAchieve, R currency, Integer pkCountry, Integer systemType) {
- CuWaresParams cuWaresParams = bdWaresSpecsSkuService.queryWaresSpecsSkuShopping(specialArea, waresCode, userId, pkCountry, systemType);
+ CuWaresParams cuWaresParams = iBdWaresSpecsSkuService.queryWaresSpecsSkuShopping(specialArea, waresCode, userId, pkCountry, systemType);
if (cuWaresParams == null) {
return;
}
diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/shopping/vo/ProductGroup.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/shopping/vo/ProductGroup.java
index f1072f5a..813adedd 100644
--- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/shopping/vo/ProductGroup.java
+++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/shopping/vo/ProductGroup.java
@@ -5,14 +5,11 @@ import lombok.Data;
import java.io.Serializable;
/**
- * @Description: 购物车产品SKU组合缓存实体类
- * @Author: zhangjing
- * @Time: 2022/9/16 11:11
- * @Classname: ShoppingCartVO
- * @PackageName: com.hzs.common.domain.sale.ext
+ * 购物车产品SKU组合缓存实体类
*/
@Data
public class ProductGroup implements Serializable {
+
/**
* 产品主键
*/
diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/shopping/vo/ShoppingCartRedis.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/shopping/vo/ShoppingCartRedis.java
index a74729ee..408db2ed 100644
--- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/shopping/vo/ShoppingCartRedis.java
+++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/shopping/vo/ShoppingCartRedis.java
@@ -6,11 +6,7 @@ import java.io.Serializable;
import java.util.List;
/**
- * @Description: 购物车缓存实体类
- * @Author: zhangjing
- * @Time: 2022/9/16 11:11
- * @Classname: ShoppingCartVO
- * @PackageName: com.hzs.common.domain.sale.ext
+ * 购物车缓存实体类
*/
@Data
public class ShoppingCartRedis implements Serializable {
diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/shopping/vo/WaresItemVo.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/shopping/vo/WaresItemVo.java
index 8fb34d72..97c68804 100644
--- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/shopping/vo/WaresItemVo.java
+++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/shopping/vo/WaresItemVo.java
@@ -1,11 +1,4 @@
package com.hzs.sale.shopping.vo;
-/**
- * @Description:
- * @Author: yuhui
- * @Time: 2023/3/20 14:03
- * @Classname: WaresItemVo
- * @PackageName: com.hzs.sale.shopping.vo
- */
import com.hzs.common.core.annotation.BigDecimalFormat;
import lombok.AllArgsConstructor;
@@ -16,14 +9,6 @@ import lombok.NoArgsConstructor;
import java.math.BigDecimal;
import java.util.List;
-/**
- *@BelongsProject: hzs_cloud
- *@BelongsPackage: com.hzs.sale.shopping.vo
- *@Author: yh
- *@CreateTime: 2023-03-20 14:03
- *@Description: TODO
- *@Version: 1.0
- */
@Data
@Builder
@AllArgsConstructor
@@ -41,6 +26,11 @@ public class WaresItemVo {
*/
private String waresCode;
+ /**
+ * 商品展示图片
+ */
+ private String cover;
+
/**
* 商品展示图片
*/
@@ -64,7 +54,6 @@ public class WaresItemVo {
private BigDecimal achieve;
/**
* bv
- *
*/
@BigDecimalFormat
private BigDecimal assAchieve;
diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/mapper/BdWaresSpecialPostageMapper.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/mapper/BdWaresSpecialPostageMapper.java
index a4a6b273..31fa4ffc 100644
--- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/mapper/BdWaresSpecialPostageMapper.java
+++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/mapper/BdWaresSpecialPostageMapper.java
@@ -5,17 +5,13 @@ import com.hzs.common.domain.sale.wares.BdWaresSpecialPostage;
import org.apache.ibatis.annotations.Param;
/**
- *
* 商品特殊邮费配置 Mapper 接口
- *
- *
- * @author hzs
- * @since 2023-10-27
*/
public interface BdWaresSpecialPostageMapper extends BaseMapper {
/**
* 根据邮费主键删除邮费配置信息
+ *
* @param pkPostage
*/
void deleteByPkPostage(@Param("pkPostage") Integer pkPostage);
diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/mapper/BdWaresSpecsSkuMapper.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/mapper/BdWaresSpecsSkuMapper.java
index 6bedebdf..beaf1ad5 100644
--- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/mapper/BdWaresSpecsSkuMapper.java
+++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/mapper/BdWaresSpecsSkuMapper.java
@@ -14,9 +14,6 @@ import java.util.Set;
/**
* 规格sku表 Mapper 接口
- *
- * @author hzs
- * @since 2022-09-09
*/
public interface BdWaresSpecsSkuMapper extends BaseMapper {
@@ -26,9 +23,6 @@ public interface BdWaresSpecsSkuMapper extends BaseMapper {
* @param specialArea 专区
* @param systemType 系统类型
* @param waresCode 商品编号
- * @return: List
- * @Author: sui q
- * @Date: 2022/9/19 11:21
*/
List queryWaresSpecsSku(@Param("specialArea") Integer specialArea,
@Param("systemType") Integer systemType,
@@ -38,9 +32,6 @@ public interface BdWaresSpecsSkuMapper extends BaseMapper {
* 根据sku主键查询规格名称
*
* @param pkSkuId sku主键
- * @return: List
- * @Author: sui q
- * @Date: 2023/1/13 15:25
*/
List queryWaresSpecsNameSku(@Param("pkSkuIdList") Set pkSkuId);
@@ -48,9 +39,6 @@ public interface BdWaresSpecsSkuMapper extends BaseMapper {
* 通过规格列表查询商品最小库存单位,
*
* @param cuWaresItemsParams 专区
- * @return: SpecsSkuParam
- * @Author: sui q
- * @Date: 2022/9/19 16:26
*/
BdWaresSpecsSkuExt queryWaresDetailSkuBySpecs(@Param("cuWaresItemsParams") CuWaresItemsParams cuWaresItemsParams);
@@ -85,12 +73,9 @@ public interface BdWaresSpecsSkuMapper extends BaseMapper {
*/
List selectByPkIds(@Param("pkWaresSpecsSku") List