Merge remote-tracking branch 'origin/dev' into dev

This commit is contained in:
sangelxiu1 2025-06-13 09:35:20 +08:00
commit b728f56575
13 changed files with 191 additions and 356 deletions

View File

@ -3,16 +3,11 @@ package com.hzs.member.detail;
import com.hzs.common.core.domain.R; import com.hzs.common.core.domain.R;
import com.hzs.common.domain.member.detail.CuMemberServiceLog; import com.hzs.common.domain.member.detail.CuMemberServiceLog;
import com.hzs.common.domain.member.detail.CuMemberServiceLogExt; import com.hzs.common.domain.member.detail.CuMemberServiceLogExt;
import org.apache.ibatis.annotations.Param;
import java.util.Date;
import java.util.List; import java.util.List;
/**
* @Description:
* @Author: sui q
* @Time: 2023/3/13 19:02
* @Classname: ICuMemberServiceLogServiceApi
* @PackageName: com.hzs.member.detail
*/
public interface ICuMemberServiceLogServiceApi { public interface ICuMemberServiceLogServiceApi {
/** /**
@ -20,13 +15,9 @@ public interface ICuMemberServiceLogServiceApi {
* *
* @param pkMember 会员编号 * @param pkMember 会员编号
* @param editTypeList 查询类型 * @param editTypeList 查询类型
* @return: List<CuMemberServiceLog>
* @Author: sui q
* @Date: 2023/3/13 18:51
*/ */
List<CuMemberServiceLog> queryMaxCuMemberServiceLog(Long pkMember, List<Integer> editTypeList); List<CuMemberServiceLog> queryMaxCuMemberServiceLog(Long pkMember, List<Integer> editTypeList);
/** /**
* 查询最大审核次数 * 查询最大审核次数
* *
@ -60,11 +51,7 @@ public interface ICuMemberServiceLogServiceApi {
R<Boolean> updateByBusinessNo(CuMemberServiceLog memberLog); R<Boolean> updateByBusinessNo(CuMemberServiceLog memberLog);
/** /**
* @description: 根据业务单号查询业务日志 * 根据业务单号查询业务日志
* @author: zhang jing
* @date: 2023/7/29 11:15
* @param: [businessNo]
* @return: com.hzs.common.core.domain.R<java.util.List < com.hzs.common.domain.member.detail.CuMemberServiceLog>>
**/ **/
R<List<CuMemberServiceLog>> selectCuMemberServiceLog(String businessNo); R<List<CuMemberServiceLog>> selectCuMemberServiceLog(String businessNo);
@ -94,4 +81,12 @@ public interface ICuMemberServiceLogServiceApi {
*/ */
R<CuMemberServiceLog> selectTopData(Long pkMember, int editType, int approveStatus); R<CuMemberServiceLog> selectTopData(Long pkMember, int editType, int approveStatus);
/**
* 查询激活操作数据
*
* @param queryDate
* @return
*/
R<List<CuMemberServiceLog>> listActivateLog(@Param("queryDate") Date queryDate);
} }

View File

@ -22,6 +22,7 @@ import com.hzs.common.domain.member.bonus.*;
import com.hzs.common.domain.member.detail.CuMemberAwards; import com.hzs.common.domain.member.detail.CuMemberAwards;
import com.hzs.common.domain.member.detail.CuMemberGrade; import com.hzs.common.domain.member.detail.CuMemberGrade;
import com.hzs.common.domain.member.detail.CuMemberLevel; import com.hzs.common.domain.member.detail.CuMemberLevel;
import com.hzs.common.domain.member.detail.CuMemberServiceLog;
import com.hzs.common.domain.member.ext.BdWaresBonusExt; import com.hzs.common.domain.member.ext.BdWaresBonusExt;
import com.hzs.common.domain.sale.ext.SaOrderExt; import com.hzs.common.domain.sale.ext.SaOrderExt;
import com.hzs.common.domain.sale.ext.SaOrderItemsExt; import com.hzs.common.domain.sale.ext.SaOrderItemsExt;
@ -30,13 +31,16 @@ import com.hzs.common.domain.sale.order.SaOrder;
import com.hzs.common.domain.system.config.BdAwards; import com.hzs.common.domain.system.config.BdAwards;
import com.hzs.common.domain.system.config.BdGrade; import com.hzs.common.domain.system.config.BdGrade;
import com.hzs.common.domain.system.config.BdRangeAwards; import com.hzs.common.domain.system.config.BdRangeAwards;
import com.hzs.member.detail.ICuMemberServiceLogServiceApi;
import com.hzs.system.config.dto.BonusConfigDTO; import com.hzs.system.config.dto.BonusConfigDTO;
import org.apache.dubbo.config.annotation.DubboReference;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.temporal.ChronoUnit; import java.time.temporal.ChronoUnit;
import java.util.*; import java.util.*;
import java.util.stream.Collectors;
/** /**
* 计算乐享极差收益 * 计算乐享极差收益
@ -57,6 +61,9 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
@Autowired @Autowired
private IBonusOrderService iBonusOrderService; private IBonusOrderService iBonusOrderService;
@DubboReference
ICuMemberServiceLogServiceApi iCuMemberServiceLogServiceApi;
/** /**
* 秒结 * 秒结
* 实时计算秒结数据业绩盒数等级奖衔日奖 * 实时计算秒结数据业绩盒数等级奖衔日奖
@ -102,6 +109,9 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
} }
} }
// 当期的手动激活的记录列表
Map<Long, Date> activateMap = this.getActivateMap(saOrderExt.getPayTime());
// 计算自消费奖衔 // 计算自消费奖衔
CuMemberRetailRangeExt sourceMemberRangeExt = memberRangeExtMap.get(saOrderExt.getPkMember()); CuMemberRetailRangeExt sourceMemberRangeExt = memberRangeExtMap.get(saOrderExt.getPkMember());
// 先算等级 注册升级计算等级 // 先算等级 注册升级计算等级
@ -129,9 +139,11 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
// 会员奖衔升级记录 // 会员奖衔升级记录
List<CuMemberAwards> cuMemberAwardsList = new ArrayList<>(); List<CuMemberAwards> cuMemberAwardsList = new ArrayList<>();
// 计算自己等级奖衔等 // 计算自己等级奖衔等
calculateGradeAwards(currentPeriod, memberRangeExtMap, rangeTableName, saOrderExt, retailTeamGradeMap, retailAwardsMap, secondRangeTableName, cuMemberGradeList, cuMemberAwardsList, sourceMemberRangeExt); calculateGradeAwards(currentPeriod, memberRangeExtMap, rangeTableName, saOrderExt, retailTeamGradeMap, retailAwardsMap, secondRangeTableName,
cuMemberGradeList, cuMemberAwardsList, sourceMemberRangeExt, activateMap);
// 计算团队业绩盒数计算等级奖衔 // 计算团队业绩盒数计算等级奖衔
cuMemberAwardsList.addAll(calculateRetailRangeGradeAwards(currentPeriod, memberRangeExtMap, rangeTableName, saOrderExt, retailTeamGradeMap, retailAwardsMap, secondRangeTableName, boxNum, cuMemberGradeList)); cuMemberAwardsList.addAll(calculateRetailRangeGradeAwards(currentPeriod, memberRangeExtMap, rangeTableName, saOrderExt, retailTeamGradeMap, retailAwardsMap,
secondRangeTableName, boxNum, cuMemberGradeList, activateMap));
// 奖金处理 // 奖金处理
List<CuMemberBonusRange> cuMemberBonusRangeList = new ArrayList<>(); List<CuMemberBonusRange> cuMemberBonusRangeList = new ArrayList<>();
@ -235,7 +247,6 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
for (CuMemberRetailRangeExt cuMemberRetailRangeExt : memberRetailRangeExtList) { for (CuMemberRetailRangeExt cuMemberRetailRangeExt : memberRetailRangeExtList) {
if (!memberRangeExtMap.containsKey(cuMemberRetailRangeExt.getPkMember())) { if (!memberRangeExtMap.containsKey(cuMemberRetailRangeExt.getPkMember())) {
cuMemberRetailRangeExt.setBuyNum(0);
memberRangeExtMap.put(cuMemberRetailRangeExt.getPkMember(), cuMemberRetailRangeExt); memberRangeExtMap.put(cuMemberRetailRangeExt.getPkMember(), cuMemberRetailRangeExt);
} }
} }
@ -399,6 +410,9 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
// 更新注水 // 更新注水
iCuMemberRetailRangeService.mergeCuMemberRetailRangeBySpecial(rangeTableName, period); iCuMemberRetailRangeService.mergeCuMemberRetailRangeBySpecial(rangeTableName, period);
// 当期的手动激活的记录列表
Map<Long, Date> activateMap = this.getActivateMap(settleStartDate);
if (retailOrderList.size() > 0) { if (retailOrderList.size() > 0) {
Map<Long, CuMemberLevel> memberLevelMap = new HashMap<>(); Map<Long, CuMemberLevel> memberLevelMap = new HashMap<>();
List<CuMemberLevel> memberLevelList = iCuMemberGradeService.calculateCuMemberRetailGradeInit(period, settleStartDate, settleEndDate, rangeTableName); List<CuMemberLevel> memberLevelList = iCuMemberGradeService.calculateCuMemberRetailGradeInit(period, settleStartDate, settleEndDate, rangeTableName);
@ -409,8 +423,6 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
// 会员结算mapkey会员IDvalue结算扩展 // 会员结算mapkey会员IDvalue结算扩展
Map<Long, CuMemberRetailRangeExt> memberRangeExtMap = new HashMap<>(); Map<Long, CuMemberRetailRangeExt> memberRangeExtMap = new HashMap<>();
// 购买升级等级mapkey:等级值value:等级对象
Map<Integer, BdGrade> retaiBuyGradeMap = new TreeMap<>();
// 团队升级等级mapkey:等级值value:等级对象 // 团队升级等级mapkey:等级值value:等级对象
Map<Integer, BdGrade> retailTeamGradeMap = new TreeMap<>(); Map<Integer, BdGrade> retailTeamGradeMap = new TreeMap<>();
// 等级mapkey:等级值value:等级对象 // 等级mapkey:等级值value:等级对象
@ -420,9 +432,6 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
// 等级列表 // 等级列表
List<BdGrade> retaiGradeList = bonusConfigDTO.getRetaiGradeList(); List<BdGrade> retaiGradeList = bonusConfigDTO.getRetaiGradeList();
for (BdGrade bdGrade : retaiGradeList) { for (BdGrade bdGrade : retaiGradeList) {
if (bdGrade.getBoxNumber() > 0) {
retaiBuyGradeMap.put(bdGrade.getGradeValue(), bdGrade);
}
if (bdGrade.getBoxTotal() > 0) { if (bdGrade.getBoxTotal() > 0) {
retailTeamGradeMap.put(bdGrade.getGradeValue(), bdGrade); retailTeamGradeMap.put(bdGrade.getGradeValue(), bdGrade);
} }
@ -437,17 +446,6 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
for (CuMemberRetailRangeExt cuMemberRetailRangeExt : memberRetailRangeExtList) { for (CuMemberRetailRangeExt cuMemberRetailRangeExt : memberRetailRangeExtList) {
if (!memberRangeExtMap.containsKey(cuMemberRetailRangeExt.getPkMember())) { if (!memberRangeExtMap.containsKey(cuMemberRetailRangeExt.getPkMember())) {
cuMemberRetailRangeExt.setBuyNum(0);
// TODO new 目前一次性补差升级不需要校验是不是当天了
cuMemberRetailRangeExt.setSameDate(EYesNo.NO.getIntValue());
for (Integer gradeValue : retaiBuyGradeMap.keySet()) {
BdGrade bdGrade = retaiBuyGradeMap.get(gradeValue);
if (bdGrade.getBoxNumber() > 0 && cuMemberRetailRangeExt.getGradeValue().equals(gradeValue)) {
// TODO new 一次性补差需要下个等级的盒数 - 当前等级盒数
cuMemberRetailRangeExt.setBuyNum(bdGrade.getBoxNumber());
break;
}
}
memberRangeExtMap.put(cuMemberRetailRangeExt.getPkMember(), cuMemberRetailRangeExt); memberRangeExtMap.put(cuMemberRetailRangeExt.getPkMember(), cuMemberRetailRangeExt);
} }
} }
@ -469,18 +467,19 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
List<CuMemberBonusDetail> cuMemberBonusDetailList = new ArrayList<>(); List<CuMemberBonusDetail> cuMemberBonusDetailList = new ArrayList<>();
// 上面更新网体按会员表是否激活进行处理 // 上面更新网体按会员表是否激活进行处理
// for (SaOrderExt saOrderExt : retailOrderList) { for (SaOrderExt saOrderExt : retailOrderList) {
// CuMemberRetailRangeExt sourceMemberRangeExt = memberRangeExtMap.get(saOrderExt.getPkMember()); CuMemberRetailRangeExt sourceMemberRangeExt = memberRangeExtMap.get(saOrderExt.getPkMember());
// if (EOrderType.RETAIL_REGISTER.getValue() == saOrderExt.getOrderType() || if (EOrderType.RETAIL_REGISTER.getValue() == saOrderExt.getOrderType() ||
// EOrderType.RETAIL_UPGRADE.getValue() == saOrderExt.getOrderType()) { EOrderType.RETAIL_UPGRADE.getValue() == saOrderExt.getOrderType()) {
// // 注册升级才能算激活状态 // 注册升级才能算激活状态
// sourceMemberRangeExt.setEnableStatus(EYesNo.YES.getIntValue()); sourceMemberRangeExt.setEnableStatus(EYesNo.YES.getIntValue());
// } }
// } }
for (SaOrderExt saOrderExt : retailOrderList) { for (SaOrderExt saOrderExt : retailOrderList) {
// 计算自消费奖衔 // 计算自消费奖衔
CuMemberRetailRangeExt sourceMemberRangeExt = memberRangeExtMap.get(saOrderExt.getPkMember()); CuMemberRetailRangeExt sourceMemberRangeExt = memberRangeExtMap.get(saOrderExt.getPkMember());
// 订单指定产品盒数计算等级使用 // 订单指定产品盒数计算等级使用
int boxNum = 0; int boxNum = 0;
for (SaOrderWaresExt saOrderItems : saOrderExt.getOrderWaresExtList()) { for (SaOrderWaresExt saOrderItems : saOrderExt.getOrderWaresExtList()) {
@ -498,9 +497,11 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
sourceMemberRangeExt.setMonthConsumePv(ComputeUtil.computeAdd(sourceMemberRangeExt.getMonthConsumePv(), orderAchieve)); sourceMemberRangeExt.setMonthConsumePv(ComputeUtil.computeAdd(sourceMemberRangeExt.getMonthConsumePv(), orderAchieve));
sourceMemberRangeExt.setNewConsumePv(ComputeUtil.computeAdd(sourceMemberRangeExt.getNewConsumePv(), orderAchieve)); sourceMemberRangeExt.setNewConsumePv(ComputeUtil.computeAdd(sourceMemberRangeExt.getNewConsumePv(), orderAchieve));
// 计算自己等级奖衔等 // 计算自己等级奖衔等
calculateGradeAwards(period, memberRangeExtMap, rangeTableName, saOrderExt, retailTeamGradeMap, retailAwardsMap, null, cuMemberGradeList, cuMemberAwardsList, sourceMemberRangeExt); calculateGradeAwards(period, memberRangeExtMap, rangeTableName, saOrderExt, retailTeamGradeMap, retailAwardsMap,
null, cuMemberGradeList, cuMemberAwardsList, sourceMemberRangeExt, activateMap);
// 计算团队业绩盒数计算等级奖衔 // 计算团队业绩盒数计算等级奖衔
cuMemberAwardsList.addAll(calculateRetailRangeGradeAwards(period, memberRangeExtMap, rangeTableName, saOrderExt, retailTeamGradeMap, retailAwardsMap, null, boxNum, cuMemberGradeList)); cuMemberAwardsList.addAll(calculateRetailRangeGradeAwards(period, memberRangeExtMap, rangeTableName, saOrderExt,
retailTeamGradeMap, retailAwardsMap, null, boxNum, cuMemberGradeList, activateMap));
// 计算奖金 直推级差 + 平级收益 // 计算奖金 直推级差 + 平级收益
if ((EOrderType.RETAIL_REGISTER.getValue() == saOrderExt.getOrderType() if ((EOrderType.RETAIL_REGISTER.getValue() == saOrderExt.getOrderType()
@ -513,25 +514,17 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
cuMemberBonusRangeList.addAll(calculateRetailRangeBonus(memberRangeExtMap, cuMemberBonusMap, gradeMap, bonusConfigDTO, period, saOrderItems, saOrderExt)); cuMemberBonusRangeList.addAll(calculateRetailRangeBonus(memberRangeExtMap, cuMemberBonusMap, gradeMap, bonusConfigDTO, period, saOrderItems, saOrderExt));
// 计算完奖金算等级 // 计算完奖金算等级
if (EOrderType.RETAIL_REGISTER.getValue() == saOrderExt.getOrderType() || if (EOrderType.RETAIL_REGISTER.getValue() == saOrderExt.getOrderType()
EOrderType.RETAIL_UPGRADE.getValue() == saOrderExt.getOrderType() || || EOrderType.RETAIL_UPGRADE.getValue() == saOrderExt.getOrderType()) {
EOrderType.RETAIL_REPURCHASE.getValue() == saOrderExt.getOrderType()) { // 订单存在升级记录
// 计算个人等级消费等级
int waresQuantity = saOrderItems.getWaresQuantity();
int buyBoxNum = sourceMemberRangeExt.getBuyNum() + waresQuantity;
if (memberLevelMap.containsKey(saOrderExt.getPkId())) { if (memberLevelMap.containsKey(saOrderExt.getPkId())) {
CuMemberLevel cuMemberLevel = memberLevelMap.get(saOrderExt.getPkId()); CuMemberLevel cuMemberLevel = memberLevelMap.get(saOrderExt.getPkId());
if (gradeIdMap.containsKey(cuMemberLevel.getNewLevel())) { if (gradeIdMap.containsKey(cuMemberLevel.getNewLevel())) {
BdGrade bdGrade = gradeIdMap.get(cuMemberLevel.getNewLevel()); BdGrade bdGrade = gradeIdMap.get(cuMemberLevel.getNewLevel());
if (bdGrade.getGradeValue() > sourceMemberRangeExt.getGradeValue()) { if (bdGrade.getGradeValue() > sourceMemberRangeExt.getGradeValue()) {
sourceMemberRangeExt.setGradeValue(bdGrade.getGradeValue());
sourceMemberRangeExt.setPkGrade(bdGrade.getPkId()); sourceMemberRangeExt.setPkGrade(bdGrade.getPkId());
sourceMemberRangeExt.setGradeValue(bdGrade.getGradeValue());
sourceMemberRangeExt.setGradeName(bdGrade.getGradeName()); sourceMemberRangeExt.setGradeName(bdGrade.getGradeName());
if (sourceMemberRangeExt.getSameDate() == EYesNo.NO.getIntValue()) {
sourceMemberRangeExt.setBuyNum(bdGrade.getBoxNumber());
} else {
sourceMemberRangeExt.setBuyNum(buyBoxNum);
}
} }
} }
} }
@ -850,7 +843,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
*/ */
public List<CuMemberAwards> calculateRetailRangeGradeAwards(Integer period, Map<Long, CuMemberRetailRangeExt> memberRangeExtMap, String rangeTableName, SaOrderExt saOrderExt, public List<CuMemberAwards> calculateRetailRangeGradeAwards(Integer period, Map<Long, CuMemberRetailRangeExt> memberRangeExtMap, String rangeTableName, SaOrderExt saOrderExt,
Map<Integer, BdGrade> retailTeamGradeMap, Map<Integer, BdAwards> retailAwardsMap, String secondRangeTableName, Map<Integer, BdGrade> retailTeamGradeMap, Map<Integer, BdAwards> retailAwardsMap, String secondRangeTableName,
Integer boxNum, List<CuMemberGrade> cuMemberGradeList) { Integer boxNum, List<CuMemberGrade> cuMemberGradeList, Map<Long, Date> activateMap) {
// 会员奖衔升级列表 // 会员奖衔升级列表
List<CuMemberAwards> cuMemberAwardsList = new ArrayList<>(); List<CuMemberAwards> cuMemberAwardsList = new ArrayList<>();
// 订单会员 // 订单会员
@ -860,7 +853,14 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
BigDecimal orderAchieve = saOrderExt.getOrderAchieve(); BigDecimal orderAchieve = saOrderExt.getOrderAchieve();
BigDecimal orderAmount = saOrderExt.getOrderAmount(); BigDecimal orderAmount = saOrderExt.getOrderAmount();
while (targetMemberRangeExt != null) { while (null != targetMemberRangeExt) {
// 手动激活时间
if (EYesNo.NO.getIntValue() == targetMemberRangeExt.getEnableStatus()
&& activateMap.containsKey(targetMemberRangeExt.getPkMember())) {
// 存在手动激活
targetMemberRangeExt.setEnableStatus(EYesNo.YES.getIntValue());
}
// 激活的账号才能累计业绩和盒数有注册升级订单 // 激活的账号才能累计业绩和盒数有注册升级订单
if (targetMemberRangeExt.getEnableStatus() == EYesNo.YES.getIntValue()) { if (targetMemberRangeExt.getEnableStatus() == EYesNo.YES.getIntValue()) {
// 累计业绩 // 累计业绩
@ -876,7 +876,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
targetMemberRangeExt.setTeamNewBoxNum(targetMemberRangeExt.getTeamNewBoxNum() + boxNum); targetMemberRangeExt.setTeamNewBoxNum(targetMemberRangeExt.getTeamNewBoxNum() + boxNum);
// 计算等级 // 计算等级
calculateGradeAwards(period, memberRangeExtMap, rangeTableName, saOrderExt, retailTeamGradeMap, retailAwardsMap, calculateGradeAwards(period, memberRangeExtMap, rangeTableName, saOrderExt, retailTeamGradeMap, retailAwardsMap,
secondRangeTableName, cuMemberGradeList, cuMemberAwardsList, targetMemberRangeExt); secondRangeTableName, cuMemberGradeList, cuMemberAwardsList, targetMemberRangeExt, activateMap);
} }
targetMemberRangeExt = memberRangeExtMap.get(targetMemberRangeExt.getPkParent()); targetMemberRangeExt = memberRangeExtMap.get(targetMemberRangeExt.getPkParent());
} }
@ -886,7 +886,13 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
private void calculateGradeAwards(Integer period, Map<Long, CuMemberRetailRangeExt> memberRangeExtMap, String rangeTableName, private void calculateGradeAwards(Integer period, Map<Long, CuMemberRetailRangeExt> memberRangeExtMap, String rangeTableName,
SaOrderExt saOrderExt, Map<Integer, BdGrade> retailTeamGradeMap, Map<Integer, BdAwards> retailAwardsMap, SaOrderExt saOrderExt, Map<Integer, BdGrade> retailTeamGradeMap, Map<Integer, BdAwards> retailAwardsMap,
String secondRangeTableName, List<CuMemberGrade> cuMemberGradeList, List<CuMemberAwards> cuMemberAwardsList, String secondRangeTableName, List<CuMemberGrade> cuMemberGradeList, List<CuMemberAwards> cuMemberAwardsList,
CuMemberRetailRangeExt targetMemberRangeExt) { CuMemberRetailRangeExt targetMemberRangeExt, Map<Long, Date> activateMap) {
if (EYesNo.NO.getIntValue() == targetMemberRangeExt.getEnableStatus()
&& activateMap.containsKey(targetMemberRangeExt.getPkMember())) {
// 存在手动激活
targetMemberRangeExt.setEnableStatus(EYesNo.YES.getIntValue());
}
// 遍历团队等级mapV4,V5 // 遍历团队等级mapV4,V5
for (Integer gradeValue : retailTeamGradeMap.keySet()) { for (Integer gradeValue : retailTeamGradeMap.keySet()) {
BdGrade bdGrade = retailTeamGradeMap.get(gradeValue); BdGrade bdGrade = retailTeamGradeMap.get(gradeValue);
@ -2141,4 +2147,23 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
cuMemberBonusDetail.setPkCreator(MagicNumberConstants.PK_ADMIN); cuMemberBonusDetail.setPkCreator(MagicNumberConstants.PK_ADMIN);
return cuMemberBonusDetail; return cuMemberBonusDetail;
} }
/**
* 获取手动激活map
*
* @param settleStartDate
* @return
*/
private Map<Long, Date> getActivateMap(Date settleStartDate) {
// 当期的手动激活的记录列表
List<CuMemberServiceLog> activateList = iCuMemberServiceLogServiceApi.listActivateLog(settleStartDate).getData();
return activateList.stream()
.collect(Collectors.groupingBy(
CuMemberServiceLog::getPkMember,
Collectors.collectingAndThen(
Collectors.minBy(Comparator.comparing(CuMemberServiceLog::getCreationTime)),
optional -> optional.get().getCreationTime()
)
));
}
} }

View File

@ -299,7 +299,7 @@
a.pk_country, a.pk_country,
a.pk_settle_country, a.pk_settle_country,
a.pk_share_awards, a.pk_share_awards,
nvl(cm.is_activate, a.enable_status) enable_status a.enable_status,
consume_box_num, consume_box_num,
new_box_num, new_box_num,
team_box_num, team_box_num,
@ -335,10 +335,6 @@
start with pk_member = #{item} start with pk_member = #{item}
connect by pk_member = prior pk_parent connect by pk_member = prior pk_parent
) a ) a
left join cu_member cm
on cm.pk_id = a.pk_member
and cm.del_flag = 0
and cm.category = 0
inner join bd_grade ba inner join bd_grade ba
on a.pk_grade = ba.pk_id on a.pk_grade = ba.pk_id
inner join bd_awards bw inner join bd_awards bw

View File

@ -7,35 +7,25 @@ import com.hzs.member.detail.vo.CuMemberServiceLogVO;
import com.hzs.member.handlebusiness.vo.BusinessMemberVO; import com.hzs.member.handlebusiness.vo.BusinessMemberVO;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.Date;
import java.util.List; import java.util.List;
/** /**
* 会员更名密码修改表 Mapper 接口 * 会员更名密码修改表 Mapper 接口
*
* @author hzs
* @since 2022-08-22
*/ */
public interface CuMemberServiceLogMapper extends BaseMapper<CuMemberServiceLog> { public interface CuMemberServiceLogMapper extends BaseMapper<CuMemberServiceLog> {
Integer selectByMaxApproveNumber(@Param("pkMember") Long pkMember, @Param("editType") Integer editType, @Param("approveStatus") Integer approveStatus); Integer selectByMaxApproveNumber(@Param("pkMember") Long pkMember, @Param("editType") Integer editType, @Param("approveStatus") Integer approveStatus);
/** /**
* @description: 查询会员办理业务日志最新数据 * 查询会员办理业务日志最新数据
* @author: zhang jing
* @date: 2023/3/24 9:08
* @param: [pkMember, editType, approveStatus]
* @return: com.hzs.member.detail.vo.CuMemberServiceLogVO
**/ **/
CuMemberServiceLog selectTopData(@Param("pkMember") Long pkMember, CuMemberServiceLog selectTopData(@Param("pkMember") Long pkMember,
@Param("editType") int editType, @Param("editType") int editType,
@Param("approveStatus") int approveStatus); @Param("approveStatus") int approveStatus);
/** /**
* @description: 查询用户是否已经存在未审核业务 * 查询用户是否已经存在未审核业务
* @author: zhang jing
* @date: 2023/1/29 17:26
* @param: [cuMemberServiceLogVO]
* @return: java.util.List<com.hzs.common.domain.member.detail.CuMemberServiceLog>
**/ **/
List<CuMemberServiceLogVO> selectServiceLogList(CuMemberServiceLogVO cuMemberServiceLogVO); List<CuMemberServiceLogVO> selectServiceLogList(CuMemberServiceLogVO cuMemberServiceLogVO);
@ -48,20 +38,12 @@ public interface CuMemberServiceLogMapper extends BaseMapper<CuMemberServiceLog>
List<CuMemberServiceLogExt> selectByServiceLogList(CuMemberServiceLog cuMemberServiceLog); List<CuMemberServiceLogExt> selectByServiceLogList(CuMemberServiceLog cuMemberServiceLog);
/** /**
* @description: 查询审核通过的最新数据 * 查询审核通过的最新数据
* @author: zhang jing
* @date: 2023/1/30 10:02
* @param: [cuMemberServiceLogVO]
* @return: com.hzs.member.detail.vo.CuMemberServiceLogVO
**/ **/
CuMemberServiceLogVO selectNewestServiceLog(CuMemberServiceLogVO cuMemberServiceLogVO); CuMemberServiceLogVO selectNewestServiceLog(CuMemberServiceLogVO cuMemberServiceLogVO);
/** /**
* @description: 查询会员原值 * 查询会员原值
* @author: zhang jing
* @date: 2023/1/30 14:20
* @param: [cuMemberOldValueVO]
* @return: java.util.List<com.hzs.member.handleBusiness.vo.CuMemberOldValueVO>
**/ **/
List<BusinessMemberVO> selectOldValue(BusinessMemberVO businessMemberVO); List<BusinessMemberVO> selectOldValue(BusinessMemberVO businessMemberVO);
@ -109,15 +91,19 @@ public interface CuMemberServiceLogMapper extends BaseMapper<CuMemberServiceLog>
CuMemberServiceLogExt queryPolicy(@Param("pkMember") Long pkMember); CuMemberServiceLogExt queryPolicy(@Param("pkMember") Long pkMember);
/** /**
* @description: 查询会员办理业务日志表最新数据 * 查询会员办理业务日志表最新数据
* @author: zhang jing
* @date: 2024/11/21 9:56
* @param: [pkMember, editTypeList, approveStatus]
* @return: java.util.List<com.hzs.common.domain.member.detail.CuMemberServiceLog>
**/ **/
List<CuMemberServiceLog> selectTopDataList(@Param("pkMember") Long pkMember, List<CuMemberServiceLog> selectTopDataList(@Param("pkMember") Long pkMember,
@Param("editTypeList") List<Integer> editTypeList, @Param("editTypeList") List<Integer> editTypeList,
@Param("approveStatus") int approveStatus, @Param("approveStatus") int approveStatus,
@Param("actEndDateStr") String actEndDateStr); @Param("actEndDateStr") String actEndDateStr);
/**
* 查询激活操作数据
*
* @param queryDate
* @return
*/
List<CuMemberServiceLog> listActivateLog(@Param("queryDate") Date queryDate);
} }

View File

@ -1,6 +1,6 @@
package com.hzs.member.detail.provider; package com.hzs.member.detail.provider;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.hzs.common.core.domain.R; import com.hzs.common.core.domain.R;
import com.hzs.common.domain.member.detail.CuMemberServiceLog; import com.hzs.common.domain.member.detail.CuMemberServiceLog;
import com.hzs.common.domain.member.detail.CuMemberServiceLogExt; import com.hzs.common.domain.member.detail.CuMemberServiceLogExt;
@ -9,109 +9,66 @@ import com.hzs.member.detail.service.ICuMemberServiceLogService;
import org.apache.dubbo.config.annotation.DubboService; import org.apache.dubbo.config.annotation.DubboService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import java.util.Date;
import java.util.List; import java.util.List;
/**
* @Description:
* @Author: sui q
* @Time: 2023/3/13 19:04
* @Classname: CuMemberServiceLogProvider
* @PackageName: com.hzs.member.detail.provider
*/
@DubboService @DubboService
public class CuMemberServiceLogProvider implements ICuMemberServiceLogServiceApi { public class CuMemberServiceLogProvider implements ICuMemberServiceLogServiceApi {
private ICuMemberServiceLogService cuMemberServiceLogService;
@Autowired @Autowired
public void setCuMemberServiceLogService(ICuMemberServiceLogService cuMemberServiceLogService) { private ICuMemberServiceLogService iCuMemberServiceLogService;
this.cuMemberServiceLogService = cuMemberServiceLogService;
}
@Override @Override
public List<CuMemberServiceLog> queryMaxCuMemberServiceLog(Long pkMember, List<Integer> editTypeList) { public List<CuMemberServiceLog> queryMaxCuMemberServiceLog(Long pkMember, List<Integer> editTypeList) {
return cuMemberServiceLogService.queryMaxCuMemberServiceLog(pkMember, editTypeList); return iCuMemberServiceLogService.queryMaxCuMemberServiceLog(pkMember, editTypeList);
} }
/**
* 查询最大审核次数
*
* @param pkMember
* @param editType
* @return
*/
@Override @Override
public Integer selectByMaxApproveNumber(Long pkMember, Integer editType, Integer approveStatus) { public Integer selectByMaxApproveNumber(Long pkMember, Integer editType, Integer approveStatus) {
return cuMemberServiceLogService.selectByMaxApproveNumber(pkMember, editType, approveStatus); return iCuMemberServiceLogService.selectByMaxApproveNumber(pkMember, editType, approveStatus);
} }
/**
* 新增
*
* @param memberLog
* @return
*/
@Override @Override
public R<Boolean> insert(CuMemberServiceLog memberLog) { public R<Boolean> insert(CuMemberServiceLog memberLog) {
return R.ok(cuMemberServiceLogService.save(memberLog)); return R.ok(iCuMemberServiceLogService.save(memberLog));
} }
/**
* 根据业务单号查询
*
* @return
*/
@Override @Override
public R<CuMemberServiceLog> selectByBusinessNo(String businessNo) { public R<CuMemberServiceLog> selectByBusinessNo(String businessNo) {
return cuMemberServiceLogService.selectByBusinessNo(businessNo); return iCuMemberServiceLogService.selectByBusinessNo(businessNo);
} }
/**
* 根据业务单号修改信息
*
* @param memberLog
* @return
*/
@Override @Override
public R<Boolean> updateByBusinessNo(CuMemberServiceLog memberLog) { public R<Boolean> updateByBusinessNo(CuMemberServiceLog memberLog) {
return cuMemberServiceLogService.updateByBusinessNo(memberLog); return iCuMemberServiceLogService.updateByBusinessNo(memberLog);
} }
/**
* @description: 根据业务单号查询业务日志
* @author: zhang jing
* @date: 2023/7/29 11:16
* @param: [businessNo]
* @return: com.hzs.common.core.domain.R<java.util.List < com.hzs.common.domain.member.detail.CuMemberServiceLog>>
**/
@Override @Override
public R<List<CuMemberServiceLog>> selectCuMemberServiceLog(String businessNo) { public R<List<CuMemberServiceLog>> selectCuMemberServiceLog(String businessNo) {
return cuMemberServiceLogService.selectCuMemberServiceLog(businessNo); return iCuMemberServiceLogService.selectCuMemberServiceLog(businessNo);
} }
@Override @Override
public R<CuMemberServiceLogExt> queryPolicy(Long pkMember) { public R<CuMemberServiceLogExt> queryPolicy(Long pkMember) {
return R.ok(cuMemberServiceLogService.queryPolicy(pkMember)); return R.ok(iCuMemberServiceLogService.queryPolicy(pkMember));
} }
/**
* @param pkMember 会员主键 pkMember
* @param approvalBusiness 类型 EApprovalBusiness
* @param approveStatus 提交签呈状态 EApproveStatus
* @return
*/
@Override @Override
public R<Integer> queryCount(Long pkMember, Integer approvalBusiness, Integer approveStatus) { public R<Integer> queryCount(Long pkMember, Integer approvalBusiness, Integer approveStatus) {
QueryWrapper<CuMemberServiceLog> query = new QueryWrapper<>(); LambdaQueryWrapper<CuMemberServiceLog> query = new LambdaQueryWrapper<>();
query.eq("APPROVE_STATUS", approveStatus); query.eq(CuMemberServiceLog::getApproveStatus, approveStatus);
query.eq("EDIT_TYPE", approvalBusiness); query.eq(CuMemberServiceLog::getEditType, approvalBusiness);
query.eq("PK_MEMBER", pkMember); query.eq(CuMemberServiceLog::getPkMember, pkMember);
return R.ok(cuMemberServiceLogService.count(query)); return R.ok(iCuMemberServiceLogService.count(query));
} }
@Override @Override
public R<CuMemberServiceLog> selectTopData(Long pkMember, int editType, int approveStatus) { public R<CuMemberServiceLog> selectTopData(Long pkMember, int editType, int approveStatus) {
return R.ok(cuMemberServiceLogService.selectTopData(pkMember, editType, approveStatus)); return R.ok(iCuMemberServiceLogService.selectTopData(pkMember, editType, approveStatus));
} }
@Override
public R<List<CuMemberServiceLog>> listActivateLog(Date queryDate) {
return R.ok(iCuMemberServiceLogService.listActivateLog(queryDate));
}
} }

View File

@ -6,14 +6,13 @@ import com.hzs.common.domain.member.detail.CuMemberServiceLog;
import com.hzs.common.domain.member.detail.CuMemberServiceLogExt; import com.hzs.common.domain.member.detail.CuMemberServiceLogExt;
import com.hzs.member.detail.vo.CuMemberServiceLogVO; import com.hzs.member.detail.vo.CuMemberServiceLogVO;
import com.hzs.member.handlebusiness.vo.BusinessMemberVO; import com.hzs.member.handlebusiness.vo.BusinessMemberVO;
import org.apache.ibatis.annotations.Param;
import java.util.Date;
import java.util.List; import java.util.List;
/** /**
* 会员更名密码修改表 服务类 * 会员更名密码修改表 服务类
*
* @author hzs
* @since 2022-08-22
*/ */
public interface ICuMemberServiceLogService extends IService<CuMemberServiceLog> { public interface ICuMemberServiceLogService extends IService<CuMemberServiceLog> {
@ -27,20 +26,12 @@ public interface ICuMemberServiceLogService extends IService<CuMemberServiceLog>
Integer selectByMaxApproveNumber(Long pkMember, Integer editType, Integer approveStatus); Integer selectByMaxApproveNumber(Long pkMember, Integer editType, Integer approveStatus);
/** /**
* @description: 查询会员办理业务日志最新数据 * 查询会员办理业务日志最新数据
* @author: zhang jing
* @date: 2023/3/24 9:07
* @param: [pkMember, editType, approveStatus]
* @return: com.hzs.member.detail.vo.CuMemberServiceLogVO
**/ **/
CuMemberServiceLog selectTopData(Long pkMember, int editType, int approveStatus); CuMemberServiceLog selectTopData(Long pkMember, int editType, int approveStatus);
/** /**
* @description: 查询用户是否已经存在未审核业务 * 查询用户是否已经存在未审核业务
* @author: zhang jing
* @date: 2023/1/29 17:25
* @param: [cuMemberServiceLogVO]
* @return: java.util.List<com.hzs.common.domain.member.detail.CuMemberServiceLog>
**/ **/
List<CuMemberServiceLogVO> selectServiceLogList(CuMemberServiceLogVO cuMemberServiceLogVO); List<CuMemberServiceLogVO> selectServiceLogList(CuMemberServiceLogVO cuMemberServiceLogVO);
@ -53,29 +44,17 @@ public interface ICuMemberServiceLogService extends IService<CuMemberServiceLog>
List<CuMemberServiceLogExt> selectByServiceLogList(CuMemberServiceLog cuMemberServiceLog); List<CuMemberServiceLogExt> selectByServiceLogList(CuMemberServiceLog cuMemberServiceLog);
/** /**
* @description: 查询审核通过的最新数据 * 查询审核通过的最新数据
* @author: zhang jing
* @date: 2023/1/30 10:02
* @param: [cuMemberServiceLogVO]
* @return: com.hzs.member.detail.vo.CuMemberServiceLogVO
**/ **/
CuMemberServiceLogVO selectNewestServiceLog(CuMemberServiceLogVO cuMemberServiceLogVO); CuMemberServiceLogVO selectNewestServiceLog(CuMemberServiceLogVO cuMemberServiceLogVO);
/** /**
* @description: 查询会员原值 * 查询会员原值
* @author: zhang jing
* @date: 2023/1/30 14:20
* @param: [cuMemberOldValueVO]
* @return: java.util.List<com.hzs.member.handleBusiness.vo.CuMemberOldValueVO>
**/ **/
List<BusinessMemberVO> selectOldValue(BusinessMemberVO businessMemberVO); List<BusinessMemberVO> selectOldValue(BusinessMemberVO businessMemberVO);
/** /**
* @description: 再次发起签呈 * 再次发起签呈
* @author: zhang jing
* @date: 2023/2/2 11:15
* @param: [cmslList, cuMemberServiceLogVO]
* @return: com.hzs.member.detail.vo.CuMemberServiceLogVO
**/ **/
CuMemberServiceLogVO againBusiness(List<CuMemberServiceLog> cmslList, CuMemberServiceLogVO cuMemberServiceLogVO); CuMemberServiceLogVO againBusiness(List<CuMemberServiceLog> cmslList, CuMemberServiceLogVO cuMemberServiceLogVO);
@ -123,11 +102,7 @@ public interface ICuMemberServiceLogService extends IService<CuMemberServiceLog>
List<CuMemberServiceLog> queryList(Integer editType, String memberCode, String memberName, Integer pkCountry, Integer approveStatus); List<CuMemberServiceLog> queryList(Integer editType, String memberCode, String memberName, Integer pkCountry, Integer approveStatus);
/** /**
* @description: 根据业务单号查询业务日志 * 根据业务单号查询业务日志
* @author: zhang jing
* @date: 2023/7/29 11:16
* @param: [businessNo]
* @return: com.hzs.common.core.domain.R<java.util.List < com.hzs.common.domain.member.detail.CuMemberServiceLog>>
**/ **/
R<List<CuMemberServiceLog>> selectCuMemberServiceLog(String businessNo); R<List<CuMemberServiceLog>> selectCuMemberServiceLog(String businessNo);
@ -147,12 +122,16 @@ public interface ICuMemberServiceLogService extends IService<CuMemberServiceLog>
CuMemberServiceLogExt queryPolicy(Long pkMember); CuMemberServiceLogExt queryPolicy(Long pkMember);
/** /**
* @description: 查询会员多个办理业务的日志最新数据 * 查询会员多个办理业务的日志最新数据
* @author: zhang jing
* @date: 2023/3/24 9:07
* @param: [pkMember, editType, approveStatus]
* @return: com.hzs.member.detail.vo.CuMemberServiceLogVO
**/ **/
CuMemberServiceLogVO selectTopDataList(Long pkMember, List<Integer> editType, int approveStatus,String actEndDateStr); CuMemberServiceLogVO selectTopDataList(Long pkMember, List<Integer> editType, int approveStatus, String actEndDateStr);
/**
* 查询激活操作数据
*
* @param queryDate
* @return
*/
List<CuMemberServiceLog> listActivateLog(@Param("queryDate") Date queryDate);
} }

View File

@ -31,91 +31,40 @@ import java.util.stream.Collectors;
/** /**
* 会员更名密码修改表 服务实现类 * 会员更名密码修改表 服务实现类
*
* @author hzs
* @since 2022-08-22
*/ */
@Service @Service
public class CuMemberServiceLogServiceImpl extends ServiceImpl<CuMemberServiceLogMapper, CuMemberServiceLog> implements ICuMemberServiceLogService { public class CuMemberServiceLogServiceImpl extends ServiceImpl<CuMemberServiceLogMapper, CuMemberServiceLog> implements ICuMemberServiceLogService {
/**
* 查询最大审核次数
*
* @param pkMember
* @param editType
* @return
*/
@Override @Override
public Integer selectByMaxApproveNumber(Long pkMember, Integer editType, Integer approveStatus) { public Integer selectByMaxApproveNumber(Long pkMember, Integer editType, Integer approveStatus) {
return baseMapper.selectByMaxApproveNumber(pkMember, editType, approveStatus); return baseMapper.selectByMaxApproveNumber(pkMember, editType, approveStatus);
} }
/**
* @description: 查询会员办理业务日志最新数据
* @author: zhang jing
* @date: 2023/3/24 9:08
* @param: [pkMember, editType, approveStatus]
* @return: com.hzs.member.detail.vo.CuMemberServiceLogVO
**/
@Override @Override
public CuMemberServiceLog selectTopData(Long pkMember, int editType, int approveStatus) { public CuMemberServiceLog selectTopData(Long pkMember, int editType, int approveStatus) {
return baseMapper.selectTopData(pkMember, editType, approveStatus); return baseMapper.selectTopData(pkMember, editType, approveStatus);
} }
/**
* @description: 查询用户是否已经存在未审核业务
* @author: zhang jing
* @date: 2023/1/29 17:26
* @param: [cuMemberServiceLogVO]
* @return: java.util.List<com.hzs.common.domain.member.detail.CuMemberServiceLog>
**/
@Override @Override
public List<CuMemberServiceLogVO> selectServiceLogList(CuMemberServiceLogVO cuMemberServiceLogVO) { public List<CuMemberServiceLogVO> selectServiceLogList(CuMemberServiceLogVO cuMemberServiceLogVO) {
return baseMapper.selectServiceLogList(cuMemberServiceLogVO); return baseMapper.selectServiceLogList(cuMemberServiceLogVO);
} }
/**
* 查询
*
* @param cuMemberServiceLog
* @return
*/
@Override @Override
public List<CuMemberServiceLogExt> selectByServiceLogList(CuMemberServiceLog cuMemberServiceLog) { public List<CuMemberServiceLogExt> selectByServiceLogList(CuMemberServiceLog cuMemberServiceLog) {
return baseMapper.selectByServiceLogList(cuMemberServiceLog); return baseMapper.selectByServiceLogList(cuMemberServiceLog);
} }
/**
* @description: 查询审核通过的最新数据
* @author: zhang jing
* @date: 2023/1/30 10:02
* @param: [cuMemberServiceLogVO]
* @return: com.hzs.member.detail.vo.CuMemberServiceLogVO
**/
@Override @Override
public CuMemberServiceLogVO selectNewestServiceLog(CuMemberServiceLogVO cuMemberServiceLogVO) { public CuMemberServiceLogVO selectNewestServiceLog(CuMemberServiceLogVO cuMemberServiceLogVO) {
return baseMapper.selectNewestServiceLog(cuMemberServiceLogVO); return baseMapper.selectNewestServiceLog(cuMemberServiceLogVO);
} }
/**
* @description: 查询会员原值
* @author: zhang jing
* @date: 2023/1/30 14:20
* @param: [cuMemberOldValueVO]
* @return: java.util.List<com.hzs.member.handleBusiness.vo.CuMemberOldValueVO>
**/
@Override @Override
public List<BusinessMemberVO> selectOldValue(BusinessMemberVO businessMemberVO) { public List<BusinessMemberVO> selectOldValue(BusinessMemberVO businessMemberVO) {
return baseMapper.selectOldValue(businessMemberVO); return baseMapper.selectOldValue(businessMemberVO);
} }
/**
* @description: 再次发起签呈
* @author: zhang jing
* @date: 2023/2/2 9:09
* @param: [cmslList]
* @return: boolean
**/
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
public CuMemberServiceLogVO againBusiness(List<CuMemberServiceLog> cmslList, CuMemberServiceLogVO cuMemberServiceLogVO) { public CuMemberServiceLogVO againBusiness(List<CuMemberServiceLog> cmslList, CuMemberServiceLogVO cuMemberServiceLogVO) {
@ -151,11 +100,6 @@ public class CuMemberServiceLogServiceImpl extends ServiceImpl<CuMemberServiceLo
return baseMapper.queryMaxCuMemberServiceLog(pkMember, editTypeList); return baseMapper.queryMaxCuMemberServiceLog(pkMember, editTypeList);
} }
/**
* 根据业务单号查询
*
* @return
*/
@Override @Override
public R<CuMemberServiceLog> selectByBusinessNo(String businessNo) { public R<CuMemberServiceLog> selectByBusinessNo(String businessNo) {
QueryWrapper<CuMemberServiceLog> queryWrapper = new QueryWrapper<>(); QueryWrapper<CuMemberServiceLog> queryWrapper = new QueryWrapper<>();
@ -163,12 +107,6 @@ public class CuMemberServiceLogServiceImpl extends ServiceImpl<CuMemberServiceLo
return R.ok(baseMapper.selectOne(queryWrapper)); return R.ok(baseMapper.selectOne(queryWrapper));
} }
/**
* 根据业务单号修改信息
*
* @param memberLog
* @return
*/
@Override @Override
public R<Boolean> updateByBusinessNo(CuMemberServiceLog memberLog) { public R<Boolean> updateByBusinessNo(CuMemberServiceLog memberLog) {
UpdateWrapper<CuMemberServiceLog> updateWrapper = new UpdateWrapper<>(); UpdateWrapper<CuMemberServiceLog> updateWrapper = new UpdateWrapper<>();
@ -176,28 +114,11 @@ public class CuMemberServiceLogServiceImpl extends ServiceImpl<CuMemberServiceLo
return R.ok(baseMapper.update(memberLog, updateWrapper) == 1); return R.ok(baseMapper.update(memberLog, updateWrapper) == 1);
} }
/**
* 查询列表信息
*
* @param editType
* @param memberCode
* @param memberName
* @param pkCountry
* @param approveStatus
* @return
*/
@Override @Override
public List<CuMemberServiceLog> queryList(Integer editType, String memberCode, String memberName, Integer pkCountry, Integer approveStatus) { public List<CuMemberServiceLog> queryList(Integer editType, String memberCode, String memberName, Integer pkCountry, Integer approveStatus) {
return baseMapper.queryList(editType, memberCode, memberName, pkCountry, approveStatus); return baseMapper.queryList(editType, memberCode, memberName, pkCountry, approveStatus);
} }
/**
* @description: 根据业务单号查询业务日志
* @author: zhang jing
* @date: 2023/7/29 11:16
* @param: [cuMemberServiceLog]
* @return: java.util.List<com.hzs.common.domain.member.detail.CuMemberServiceLog>
**/
@Override @Override
public R<List<CuMemberServiceLog>> selectCuMemberServiceLog(String businessNo) { public R<List<CuMemberServiceLog>> selectCuMemberServiceLog(String businessNo) {
QueryWrapper<CuMemberServiceLog> queryWrapper = new QueryWrapper<>(); QueryWrapper<CuMemberServiceLog> queryWrapper = new QueryWrapper<>();
@ -205,11 +126,6 @@ public class CuMemberServiceLogServiceImpl extends ServiceImpl<CuMemberServiceLo
return R.ok(baseMapper.selectList(queryWrapper)); return R.ok(baseMapper.selectList(queryWrapper));
} }
/**
* 查询展示列表
*
* @return
*/
@Override @Override
public List<CuMemberServiceLog> selectByList(CuMemberServiceLogExt memberServiceLogExt) { public List<CuMemberServiceLog> selectByList(CuMemberServiceLogExt memberServiceLogExt) {
return baseMapper.selectByList(memberServiceLogExt); return baseMapper.selectByList(memberServiceLogExt);
@ -225,28 +141,23 @@ public class CuMemberServiceLogServiceImpl extends ServiceImpl<CuMemberServiceLo
return baseMapper.queryPolicy(pkMember); return baseMapper.queryPolicy(pkMember);
} }
/**
* @description: 查询会员办理业务日志最新数据
* @author: zhang jing
* @date: 2023/3/24 9:08
* @param: [pkMember, editType, approveStatus]
* @return: com.hzs.member.detail.vo.CuMemberServiceLogVO
**/
@Override @Override
public CuMemberServiceLogVO selectTopDataList(Long pkMember, List<Integer> editType, int approveStatus,String actEndDateStr) { public CuMemberServiceLogVO selectTopDataList(Long pkMember, List<Integer> editType, int approveStatus, String actEndDateStr) {
CuMemberServiceLogVO cmvo=new CuMemberServiceLogVO(); CuMemberServiceLogVO cmvo = new CuMemberServiceLogVO();
List<CuMemberServiceLog> cmsList=baseMapper.selectTopDataList(pkMember, editType, approveStatus,actEndDateStr); List<CuMemberServiceLog> cmsList = baseMapper.selectTopDataList(pkMember, editType, approveStatus, actEndDateStr);
if(CollectionUtil.isNotEmpty(cmsList)){ if (CollectionUtil.isNotEmpty(cmsList)) {
List<CuMemberServiceLog> sortedCmsList = cmsList.stream() List<CuMemberServiceLog> sortedCmsList = cmsList.stream()
.sorted(Comparator.comparing(CuMemberServiceLog::getCreationTime)) .sorted(Comparator.comparing(CuMemberServiceLog::getCreationTime))
.collect(Collectors.toList()); .collect(Collectors.toList());
for(CuMemberServiceLog cms: sortedCmsList){ for (CuMemberServiceLog cms : sortedCmsList) {
cms.setPkMember(pkMember); cms.setPkMember(pkMember);
if(cms.getEditType()== EApprovalBusiness.CHANGE_NAME.getValue()){ if (cms.getEditType() == EApprovalBusiness.CHANGE_NAME.getValue()) {
cmvo.setOldName(cms.getOldValue()); cmvo.setOldName(cms.getOldValue());
}if(cms.getEditType()== EApprovalBusiness.CHANGE_PHONE.getValue()){ }
if (cms.getEditType() == EApprovalBusiness.CHANGE_PHONE.getValue()) {
cmvo.setOldPhone(cms.getOldValue()); cmvo.setOldPhone(cms.getOldValue());
}if(cms.getEditType()== EApprovalBusiness.DOMICILE_CHANGE.getValue()){ }
if (cms.getEditType() == EApprovalBusiness.DOMICILE_CHANGE.getValue()) {
DomicileChangeVO oldValue = JSONUtil.toBean(cms.getOldValue(), DomicileChangeVO.class); DomicileChangeVO oldValue = JSONUtil.toBean(cms.getOldValue(), DomicileChangeVO.class);
cmvo.setOldPhone(oldValue.getPhone()); cmvo.setOldPhone(oldValue.getPhone());
cmvo.setOldName(oldValue.getMemberName()); cmvo.setOldName(oldValue.getMemberName());
@ -256,5 +167,8 @@ public class CuMemberServiceLogServiceImpl extends ServiceImpl<CuMemberServiceLo
return cmvo; return cmvo;
} }
@Override
public List<CuMemberServiceLog> listActivateLog(Date queryDate) {
return baseMapper.listActivateLog(queryDate);
}
} }

View File

@ -116,12 +116,10 @@ public class MemberEmptyServiceImpl implements IMemberEmptyService {
public void importTemplate(List<MemberEmptyDetailDTO> resultList) { public void importTemplate(List<MemberEmptyDetailDTO> resultList) {
// 会员编号列表导入会员编号去重 // 会员编号列表导入会员编号去重
List<String> checkMemberList = new ArrayList<>(); List<String> checkMemberList = new ArrayList<>();
// 会员联系方式列表需要查库校验
List<String> checkPhoneList = new ArrayList<>();
// 遍历导入数据提取各种校验所需要的数据 // 遍历导入数据提取各种校验所需要的数据
for (MemberEmptyDetailDTO detail : resultList) { for (MemberEmptyDetailDTO detail : resultList) {
this.checkBase(detail, checkMemberList, checkPhoneList); this.checkBase(detail, checkMemberList);
} }
} }
@ -255,7 +253,7 @@ public class MemberEmptyServiceImpl implements IMemberEmptyService {
// 遍历导入数据提取各种校验所需要的数据 // 遍历导入数据提取各种校验所需要的数据
for (MemberEmptyDetailDTO detail : resultList) { for (MemberEmptyDetailDTO detail : resultList) {
if (this.checkBase(detail, checkMemberList, checkPhoneList)) { if (this.checkBase(detail, checkMemberList)) {
// 已经存在异常直接返回 // 已经存在异常直接返回
return false; return false;
} }
@ -270,8 +268,8 @@ public class MemberEmptyServiceImpl implements IMemberEmptyService {
// 查询会员编号是否存在 // 查询会员编号是否存在
Map<String, Integer> checkCodeMap = iCuMemberService.checkMemberCodeExist(checkMemberList, true, pkMemberEmpty); Map<String, Integer> checkCodeMap = iCuMemberService.checkMemberCodeExist(checkMemberList, true, pkMemberEmpty);
// 查询联系方式是否存在 // // 查询联系方式是否存在
Map<String, Integer> checkPhoneMap = iCuMemberService.checkMemberPhoneExist(checkPhoneList, true, pkMemberEmpty, systemType); // Map<String, Integer> checkPhoneMap = iCuMemberService.checkMemberPhoneExist(checkPhoneList, true, pkMemberEmpty, systemType);
// 查询推荐编号是否存在在本次推荐数据中的直接排除掉 // 查询推荐编号是否存在在本次推荐数据中的直接排除掉
final Map<String, Integer> checkParentCodeMap = new HashMap<>(); final Map<String, Integer> checkParentCodeMap = new HashMap<>();
@ -290,15 +288,6 @@ public class MemberEmptyServiceImpl implements IMemberEmptyService {
bool[0] = false; bool[0] = false;
} }
} }
if (checkPhoneMap.size() > 0) {
if (null != checkPhoneMap.get(detail.getPhone()) && checkPhoneMap.get(detail.getPhone()) >= 1) {
// 导入的会员联系方式已经存在数据库中异常状态
detail.setPointStatus(EPointStatus.ABNORMAL.getValue());
// 会员联系方式存在重复
detail.setContentAbstract(detail.getContentAbstract().replace(TransactionUtils.getContent(MemberMsgConstants.EMPTY_PHONE_NOT), "") + TransactionUtils.getContent(MemberMsgConstants.EMPTY_PHONE_NOT) + ";");
bool[0] = false;
}
}
// 处理校验推荐编号是否存在 // 处理校验推荐编号是否存在
if (!checkMemberList.contains(detail.getParentCode()) && checkParentCodeMap.get(detail.getParentCode()) == null) { if (!checkMemberList.contains(detail.getParentCode()) && checkParentCodeMap.get(detail.getParentCode()) == null) {
// 推荐编号不在本次导入的会员中也不在数据库中异常状态 // 推荐编号不在本次导入的会员中也不在数据库中异常状态
@ -568,9 +557,8 @@ public class MemberEmptyServiceImpl implements IMemberEmptyService {
* *
* @param detail 校验数据 * @param detail 校验数据
* @param checkMemberList 会员编号列表 * @param checkMemberList 会员编号列表
* @param checkPhoneList 会员联系方式列表
*/ */
private boolean checkBase(MemberEmptyDetailDTO detail, List<String> checkMemberList, List<String> checkPhoneList) { private boolean checkBase(MemberEmptyDetailDTO detail, List<String> checkMemberList) {
// 校验之前先为空 // 校验之前先为空
detail.setPointStatus(EPointStatus.NORMAL.getValue()); detail.setPointStatus(EPointStatus.NORMAL.getValue());
detail.setContentAbstract(""); detail.setContentAbstract("");
@ -601,16 +589,7 @@ public class MemberEmptyServiceImpl implements IMemberEmptyService {
// 导入数据中不重复的会员编号需要查库校验是否重复 // 导入数据中不重复的会员编号需要查库校验是否重复
checkMemberList.add(detail.getMemberCode()); checkMemberList.add(detail.getMemberCode());
} }
if (checkPhoneList.contains(detail.getPhone())) {
// 导入的数据存在重复联系方式异常状态
detail.setPointStatus(EPointStatus.ABNORMAL.getValue());
// 联系方式存在重复
detail.setContentAbstract(detail.getContentAbstract() + TransactionUtils.getContent(MemberMsgConstants.EMPTY_PHONE_NOT) + ";");
hasError = true;
} else {
// 导入数据中不重复的联系方式需要查库校验是否重复
checkPhoneList.add(detail.getPhone());
}
return hasError; return hasError;
} }

View File

@ -87,6 +87,7 @@ public class MemberRetailServiceImpl implements IMemberRetailService {
.systemType(cuMember.getSystemType()) .systemType(cuMember.getSystemType())
.pkCountry(cuMember.getPkCountry()) .pkCountry(cuMember.getPkCountry())
.pkSettleCountry(cuMember.getPkSettleCountry()) .pkSettleCountry(cuMember.getPkSettleCountry())
.isActivate(cuMember.getIsActivate())
.build(); .build();
} }
return null; return null;

View File

@ -127,4 +127,9 @@ public class RetailMemberInfoVO implements Serializable {
*/ */
private Integer systemType; private Integer systemType;
/**
* 是否激活0=1=
*/
private Integer isActivate;
} }

View File

@ -348,23 +348,34 @@
<select id="selectTopDataList" resultMap="CuMemberServiceLog"> <select id="selectTopDataList" resultMap="CuMemberServiceLog">
select * select *
from ( from (
select * select *
from CU_MEMBER_SERVICE_LOG from CU_MEMBER_SERVICE_LOG
where 1=1 where 1=1
<if test="editTypeList != null and editTypeList != ''"> <if test="editTypeList != null and editTypeList != ''">
and EDIT_TYPE in and EDIT_TYPE in
<foreach item="editType" collection="editTypeList" open="(" separator="," close=")"> <foreach item="editType" collection="editTypeList" open="(" separator="," close=")">
#{editType} #{editType}
</foreach> </foreach>
</if> </if>
and PK_MEMBER = #{pkMember} and PK_MEMBER = #{pkMember}
and APPROVE_STATUS = #{approveStatus} and APPROVE_STATUS = #{approveStatus}
and del_flag = 0 and del_flag = 0
<if test="actEndDateStr != null and actEndDateStr != '' "> <if test="actEndDateStr != null and actEndDateStr != '' ">
and CREATION_TIME &lt;= to_date(#{actEndDateStr} || ' 23:59:59', 'yyyy-mm-dd hh24:mi:ss') and CREATION_TIME &lt;= to_date(#{actEndDateStr} || ' 23:59:59', 'yyyy-mm-dd hh24:mi:ss')
</if> </if>
order by CREATION_TIME desc) order by CREATION_TIME desc)
where rownum &lt;= 2 where rownum &lt;= 2
</select> </select>
<!-- 查询激活操作数据 -->
<select id="listActivateLog" resultType="com.hzs.common.domain.member.detail.CuMemberServiceLog">
select cmsl.*
from CU_MEMBER_SERVICE_LOG cmsl
where cmsl.del_flag = 0
and cmsl.edit_type = 137
and cmsl.new_value = 0
and to_char(cmsl.creation_time, 'yyyy-mm-dd') = to_char(#{queryDate}, 'yyyy-mm-dd')
order by cmsl.creation_time
</select>
</mapper> </mapper>

View File

@ -35,16 +35,6 @@ public class CuMemberRetailRangeExt extends CuMemberRetailRange {
*/ */
private String awardsName; private String awardsName;
/**
* 是否相同日注册日是累计升级
*/
private Integer sameDate;
/**
* 注册升级购买数量
*/
private Integer buyNum;
/** /**
* 极差比例 * 极差比例
*/ */

View File

@ -5,8 +5,10 @@ import com.baomidou.mybatisplus.annotation.TableName;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable; import java.io.Serializable;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
@ -15,12 +17,7 @@ import lombok.*;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
/** /**
* <p>
* 办理业务记录信息表 * 办理业务记录信息表
* </p>
*
* @author hzs
* @since 2022-08-22
*/ */
@Data @Data
@Builder @Builder
@ -103,7 +100,7 @@ public class CuMemberServiceLog extends BaseEntity {
private BigDecimal singleAmount; private BigDecimal singleAmount;
/** /**
* 批次单号大单号 * 批次单号大单号
*/ */
@TableField(exist = false) @TableField(exist = false)
private String orderNumber; private String orderNumber;