3
0
Fork 0

## 调整部分代码逻辑;

This commit is contained in:
cabbage 2025-06-08 16:05:57 +08:00
parent a6e5e94a44
commit 07ffadeab0
55 changed files with 340 additions and 1820 deletions

View File

@ -7,20 +7,13 @@ import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
/** /**
* <p>
* 秒接日志记录表 Mapper 接口 * 秒接日志记录表 Mapper 接口
* </p>
*
* @author hzs
* @since 2024-12-27
*/ */
public interface CuMemberRetailLogMapper extends BaseMapper<CuMemberRetailLog> { public interface CuMemberRetailLogMapper extends BaseMapper<CuMemberRetailLog> {
/* /*
* @description: 更新会员日志 * 更新会员日志
* @author: sui q
* @date: 2024/12/31 13:44
* @param: null null
**/ **/
void updateCuMemberRetailLogByList(@Param("cuMemberRetailLogs") List<CuMemberRetailLog> cuMemberRetailLogs); void updateCuMemberRetailLogByList(@Param("cuMemberRetailLogs") List<CuMemberRetailLog> cuMemberRetailLogs);
} }

View File

@ -1,27 +1,20 @@
package com.hzs.bonus.bonus.service; package com.hzs.bonus.bonus.service;
import com.hzs.common.domain.member.bonus.CuMemberRetail; 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 com.hzs.common.domain.sale.ext.SaOrderExt;
import java.util.List; 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 { public interface IBonusSettleService {
/** /**
* 根据秒结算会员奖金 * 根据秒结算会员奖金
*
* @param orderCode 订单 * @param orderCode 订单
* @return: List<SaOrderExt> */
* @Author: sui q
* @Date: 2023/2/1 21:27
*/
void calculateCumberBonusBySecond(String orderCode); void calculateCumberBonusBySecond(String orderCode);
/** /**
@ -29,32 +22,22 @@ public interface IBonusSettleService {
* *
* @param date 结算日期 * @param date 结算日期
* @param saOrderExtList 订单 * @param saOrderExtList 订单
* @Author: sui q
* @Date: 2022/11/3 13:56
*/ */
void calculateCuMemberBonus(String date, List<SaOrderExt> saOrderExtList); void calculateCuMemberBonus(String date, List<SaOrderExt> saOrderExtList);
/* /*
* @description: 根据订单计算新零售奖金 * 根据订单计算新零售奖金
* @author: sui q
* @date: 2024/12/12 9:39
* @param: null null
**/ **/
void calculateCuMemberRetailRangeBonusBySaOrder(String orderCode); void calculateCuMemberRetailRangeBonusBySaOrder(String orderCode);
/* /*
* @description: 4-n配置修改后重算首购奖金 * 4-n配置修改后重算首购奖金
* @author: sui q
* @date: 2024/7/23 11:15
* @param: null null
**/ **/
void repeatCuMemberBonusByExpand(String settleDate, List<SaOrderExt> saOrderExtList); void repeatCuMemberBonusByExpand(String settleDate, List<SaOrderExt> saOrderExtList);
/* /*
* @description: 根据会员查询会员的 大小区盒数业绩 * 根据会员查询会员的 大小区盒数业绩
* @author: sui q
* @date: 2025/2/20 15:10
* @param: null null
**/ **/
CuMemberRetail queryValidateBoxOrAchieve(Long pkMember); CuMemberRetail queryValidateBoxOrAchieve(Long pkMember);
} }

View File

@ -6,28 +6,18 @@ import com.hzs.common.domain.member.bonus.CuMemberRetailLog;
import java.util.List; import java.util.List;
/** /**
* <p>
* 秒接日志记录表 服务类 * 秒接日志记录表 服务类
* </p>
*
* @author hzs
* @since 2024-12-27
*/ */
public interface ICuMemberRetailLogService extends IService<CuMemberRetailLog> { public interface ICuMemberRetailLogService extends IService<CuMemberRetailLog> {
/* /*
* @description: 查询24小时之内失败的记录重试 * 查询24小时之内失败的记录重试
* @author: sui q
* @date: 2024/12/31 13:35
* @param: null null
**/ **/
List<CuMemberRetailLog> queryCuMemberRetailLog(); List<CuMemberRetailLog> queryCuMemberRetailLog();
/* /*
* @description: 更新会员日志 * 更新会员日志
* @author: sui q
* @date: 2024/12/31 13:44
* @param: null null
**/ **/
void updateCuMemberRetailLogByList(List<CuMemberRetailLog> cuMemberRetailLogs); void updateCuMemberRetailLogByList(List<CuMemberRetailLog> cuMemberRetailLogs);
} }

View File

@ -1,12 +1,8 @@
package com.hzs.bonus.bonus.service.impl; 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.param.MemberAchieveParam;
import com.hzs.bonus.achieve.service.ICuMemberAchieveService;
import com.hzs.bonus.achieve.service.ICuMemberSettlePeriodService; import com.hzs.bonus.achieve.service.ICuMemberSettlePeriodService;
import com.hzs.bonus.achieve.service.ICuMemberTreeService; 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.bonus.detail.service.ICuMemberAssessService;
import com.hzs.common.core.constant.BonusFieldConstants; import com.hzs.common.core.constant.BonusFieldConstants;
import com.hzs.common.core.constant.CountryConstants; 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.DateUtils;
import com.hzs.common.core.utils.reflect.ReflectUtils; import com.hzs.common.core.utils.reflect.ReflectUtils;
import com.hzs.common.domain.bonus.BdBonusDeduct; 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.CuMemberTree;
import com.hzs.common.domain.member.achieve.ext.CuMemberRangeExt; import com.hzs.common.domain.member.achieve.ext.CuMemberRangeExt;
import com.hzs.common.domain.member.achieve.ext.CuMemberRetailRangeExt; 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.member.ext.CuMemberSettleExt;
import com.hzs.common.domain.sale.ext.SaOrderExt; import com.hzs.common.domain.sale.ext.SaOrderExt;
import com.hzs.common.domain.sale.order.SaOrder; 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.BdAwards;
import com.hzs.common.domain.system.config.BdGrade; import com.hzs.common.domain.system.config.BdGrade;
import com.hzs.common.domain.system.config.ext.BdBonusItemsExt; import com.hzs.common.domain.system.config.ext.BdBonusItemsExt;
@ -47,27 +41,18 @@ import org.springframework.stereotype.Component;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.*; import java.util.*;
/**
* @Description:
* @Author: sui q
* @Time: 2022/11/16 11:24
* @Classname: BonusSettleHandle
* @PackageName: com.hzs.member.achieve.service.impl
*/
@Component @Component
public abstract class BonusSettleHandle { public abstract class BonusSettleHandle {
protected ICuMemberTreeService cuMemberTreeService;
@DubboReference @DubboReference
protected ISaOrderServiceApi saOrderServiceApi; protected ISaOrderServiceApi saOrderServiceApi;
@DubboReference @DubboReference
protected IBonusItemsServiceApi bonusItemsServiceApi; protected IBonusItemsServiceApi bonusItemsServiceApi;
@DubboReference @DubboReference
private ICurrencyServiceApi currencyServiceApi; private ICurrencyServiceApi currencyServiceApi;
protected ICuMemberTreeService cuMemberTreeService;
@Autowired @Autowired
public void setCuMemberTreeService(ICuMemberTreeService cuMemberTreeService) { public void setCuMemberTreeService(ICuMemberTreeService cuMemberTreeService) {
this.cuMemberTreeService = cuMemberTreeService; this.cuMemberTreeService = cuMemberTreeService;
@ -148,14 +133,12 @@ public abstract class BonusSettleHandle {
} }
/** /**
* 获得国家对应的4-n参数比例
*
* @param bonusConfigDTO 奖金配置汇总 * @param bonusConfigDTO 奖金配置汇总
* @param memberSettleExt 会员 * @param memberSettleExt 会员
* @param endTouch 4-n的次数 * @param endTouch 4-n的次数
* @param bdGrade 等级 * @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, protected BigDecimal getCountryExpand(BonusConfigDTO bonusConfigDTO, CuMemberSettleExt memberSettleExt, Integer endTouch, BdGrade bdGrade,
BigDecimal addTouch, BigDecimal editExpandRatio) { BigDecimal addTouch, BigDecimal editExpandRatio) {
@ -175,14 +158,12 @@ public abstract class BonusSettleHandle {
} }
/** /**
* 获得国家对应的4-n参数比例
*
* @param bonusConfigDTO 奖金配置汇总 * @param bonusConfigDTO 奖金配置汇总
* @param memberSettleExt 会员 * @param memberSettleExt 会员
* @param endTouch 4-n的次数 * @param endTouch 4-n的次数
* @param bdGrade 等级 * @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) { protected BigDecimal getCountryRepurchaseExpand(BonusConfigDTO bonusConfigDTO, CuMemberSettleExt memberSettleExt, Integer endTouch, BdGrade bdGrade, BigDecimal addTouch, BigDecimal editExpandRatio) {
BonusExpandDTO bonusExpand = bonusConfigDTO.getBonusExpandMap().get(memberSettleExt.getPkSettleCountry()); BonusExpandDTO bonusExpand = bonusConfigDTO.getBonusExpandMap().get(memberSettleExt.getPkSettleCountry());
@ -728,14 +709,12 @@ public abstract class BonusSettleHandle {
} }
/** /**
* 获得 报单服务费收益的备注
*
* @param saOrderExt 订单编号 * @param saOrderExt 订单编号
* @param cuMemberBonusRange 报单服务费 * @param cuMemberBonusRange 报单服务费
* @param sourceMemberRangeExt 提供奖金的人 * @param sourceMemberRangeExt 提供奖金的人
* @param targetMemberRangeExt 获得奖金的人 * @param targetMemberRangeExt 获得奖金的人
* @Description: 获得 报单服务费收益的备注
* @return: String
* @Author: sui q
* @Date: 2022/11/17 11:22
*/ */
protected void rangeBenefitRetailRemark(SaOrder saOrderExt, CuMemberBonusRange cuMemberBonusRange, CuMemberRetailRangeExt sourceMemberRangeExt, protected void rangeBenefitRetailRemark(SaOrder saOrderExt, CuMemberBonusRange cuMemberBonusRange, CuMemberRetailRangeExt sourceMemberRangeExt,
CuMemberRetailRangeExt targetMemberRangeExt) { CuMemberRetailRangeExt targetMemberRangeExt) {
@ -747,14 +726,12 @@ public abstract class BonusSettleHandle {
} }
/** /**
* 获得 报单服务费收益的备注
*
* @param saOrderExt 订单编号 * @param saOrderExt 订单编号
* @param cuMemberBonusRange 报单服务费 * @param cuMemberBonusRange 报单服务费
* @param sourceMemberRangeExt 提供奖金的人 * @param sourceMemberRangeExt 提供奖金的人
* @param targetMemberRangeExt 获得奖金的人 * @param targetMemberRangeExt 获得奖金的人
* @Description: 获得 报单服务费收益的备注
* @return: String
* @Author: sui q
* @Date: 2022/11/17 11:22
*/ */
protected void oriRangeRemark(SaOrderExt saOrderExt, CuMemberBonusRange cuMemberBonusRange, CuMemberRangeExt sourceMemberRangeExt, protected void oriRangeRemark(SaOrderExt saOrderExt, CuMemberBonusRange cuMemberBonusRange, CuMemberRangeExt sourceMemberRangeExt,
CuMemberRangeExt targetMemberRangeExt) { CuMemberRangeExt targetMemberRangeExt) {
@ -785,33 +762,29 @@ public abstract class BonusSettleHandle {
} }
/** /**
* 获得 报单服务费收益的备注
*
* @param saOrderExt 订单编号 * @param saOrderExt 订单编号
* @param cuMemberBonusRange 报单服务费 * @param cuMemberBonusRange 报单服务费
* @param sourceCuMemberSettleExt 提供奖金的人 * @param sourceCuMemberSettleExt 提供奖金的人
* @param targetCuMemberSettleExt 获得奖金的人 * @param targetCuMemberSettleExt 获得奖金的人
* @Description: 获得 报单服务费收益的备注
* @return: String
* @Author: sui q
* @Date: 2022/11/17 11:22
*/ */
protected void xueRangeRemark(SaOrderExt saOrderExt, CuMemberBonusRange cuMemberBonusRange, CuMemberSettleExt sourceCuMemberSettleExt, protected void xueRangeRemark(SaOrderExt saOrderExt, CuMemberBonusRange cuMemberBonusRange, CuMemberSettleExt sourceCuMemberSettleExt,
CuMemberSettleExt targetCuMemberSettleExt) { CuMemberSettleExt targetCuMemberSettleExt) {
String remark = String.format(BonusMsgConstants.LE_XUE_SHARE_RANGE, saOrderExt.getOrderCode(), String remark = String.format(BonusMsgConstants.LE_XUE_SHARE_RANGE, saOrderExt.getOrderCode(),
sourceCuMemberSettleExt.getMemberCode() + sourceCuMemberSettleExt.getMemberName(), sourceCuMemberSettleExt.getMemberCode() + sourceCuMemberSettleExt.getMemberName(),
targetCuMemberSettleExt.getMemberCode() + targetCuMemberSettleExt.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); cuMemberBonusRange.setRemark(remark);
} }
/** /**
* 获得 报单服务费收益的备注
*
* @param saOrder 订单编号 * @param saOrder 订单编号
* @param cuMemberBonusDetail 云代首购 * @param cuMemberBonusDetail 云代首购
* @param sourceCuMemberSettleExt 提供奖金的人 * @param sourceCuMemberSettleExt 提供奖金的人
* @param targetCuMemberSettleExt 获得奖金的人 * @param targetCuMemberSettleExt 获得奖金的人
* @Description: 获得 报单服务费收益的备注
* @return: String
* @Author: sui q
* @Date: 2022/11/17 11:22
*/ */
protected void cloudAgentRemark(SaOrder saOrder, CuMemberBonusDetail cuMemberBonusDetail, CuMemberSettleExt sourceCuMemberSettleExt, protected void cloudAgentRemark(SaOrder saOrder, CuMemberBonusDetail cuMemberBonusDetail, CuMemberSettleExt sourceCuMemberSettleExt,
CuMemberSettleExt targetCuMemberSettleExt, String msg) { CuMemberSettleExt targetCuMemberSettleExt, String msg) {
@ -1206,13 +1179,11 @@ public abstract class BonusSettleHandle {
} }
/** /**
* 设置奖金扣项计算税前收益扣税实际收益, 设置明细表
*
* @param cuMemberDetail 奖金明细 * @param cuMemberDetail 奖金明细
* @param orderAmount 订单金额 * @param orderAmount 订单金额
* @param exchangeRate 入汇率 * @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) { protected BdBonusDeduct setBonusDetailDeduct(BonusConfigDTO bonusConfigDTO, Object cuMemberDetail, BigDecimal orderAmount, BigDecimal exchangeRate) {
Integer pkBonusItems = ReflectUtils.invokeGetter(cuMemberDetail, BonusFieldConstants.PK_BONUS_ITEMS); Integer pkBonusItems = ReflectUtils.invokeGetter(cuMemberDetail, BonusFieldConstants.PK_BONUS_ITEMS);

View File

@ -724,12 +724,12 @@ public class BonusSettlePurchaseHandle extends BonusSettleHandle {
cuMemberBonusRange.setCalAchieve(saOrderItemsExt.getAchievement()); cuMemberBonusRange.setCalAchieve(saOrderItemsExt.getAchievement());
cuMemberBonusRange.setCalValue(BigDecimal.ZERO); cuMemberBonusRange.setCalValue(BigDecimal.ZERO);
cuMemberBonusRange.setPretaxIncome(ComputeUtil.computeMultiply(BigDecimal.valueOf(saOrderItemsExt.getWaresQuantity()), 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(); String key = targetMemberSettleExt.getPkSettleCountry().toString() + ERangeType.GRADE.getValue() + targetMemberSettleExt.getPkGrade();
cuMemberBonusRange.setPkRange(rangeDtoMap.get(key).getPkRange()); cuMemberBonusRange.setPkRange(rangeDtoMap.get(key).getPkRange());
String beforeKey = targetMemberSettleExt.getPkSettleCountry().toString() + ERangeType.GRADE.getValue() + targetMemberSettleExt.getPkGrade(); String beforeKey = targetMemberSettleExt.getPkSettleCountry().toString() + ERangeType.GRADE.getValue() + targetMemberSettleExt.getPkGrade();
cuMemberBonusRange.setPkBeforeRange(rangeDtoMap.get(beforeKey).getPkRange()); 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.setPkOrderItems(0L);
// 计算比例 // 计算比例
cuMemberBonusRange.setPkBonusItems(getPkBonusItems(bonusConfigDTO, targetMemberSettleExt.getPkSettleCountry(), EBonusItems.REPURCHASE_RANGE_INCOME.getValue())); cuMemberBonusRange.setPkBonusItems(getPkBonusItems(bonusConfigDTO, targetMemberSettleExt.getPkSettleCountry(), EBonusItems.REPURCHASE_RANGE_INCOME.getValue()));

View File

@ -3,9 +3,6 @@ package com.hzs.bonus.bonus.service.impl;
import com.hzs.bonus.achieve.service.ICuMemberRangeService; import com.hzs.bonus.achieve.service.ICuMemberRangeService;
import com.hzs.bonus.achieve.service.ICuMemberRetailRangeService; import com.hzs.bonus.achieve.service.ICuMemberRetailRangeService;
import com.hzs.bonus.base.service.ICuMemberService; 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.bonus.vo.BonusRecordDetailVO;
import com.hzs.bonus.detail.service.ICuMemberAwardsService; import com.hzs.bonus.detail.service.ICuMemberAwardsService;
import com.hzs.bonus.detail.service.ICuMemberGradeService; 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.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.system.config.IAwardsServiceApi;
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;
@ -42,51 +37,33 @@ import java.time.temporal.ChronoUnit;
import java.util.*; 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 @Component
public class BonusSettleRangeHandle extends BonusSettleHandle { public class BonusSettleRangeHandle extends BonusSettleHandle {
@DubboReference
private IAwardsServiceApi awardsServiceApi;
@Autowired @Autowired
private ICuMemberRangeService cuMemberRangeService; private ICuMemberRangeService iCuMemberRangeService;
@Autowired @Autowired
private ICuMemberRetailRangeService cuMemberRetailRangeService; private ICuMemberRetailRangeService iCuMemberRetailRangeService;
@Autowired @Autowired
private ICuMemberAwardsService cuMemberAwardsService; private ICuMemberAwardsService iCuMemberAwardsService;
@Autowired @Autowired
private ICuMemberGradeService cuMemberGradeService; private ICuMemberGradeService iCuMemberGradeService;
@Autowired @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<CuMemberBonusRange> calculateCuMemberRetailRangeBonusBySecond(String settleDate, SaOrderExt saOrderExt, BonusConfigDTO bonusConfigDTO, List<CuMemberBonusRange> calculateCuMemberRetailRangeBonusBySecond(String settleDate, SaOrderExt saOrderExt, BonusConfigDTO bonusConfigDTO,
String secondRangeTableName, int beforePeriod, int currentPeriod, String secondRangeTableName, int beforePeriod, int currentPeriod,
Map<Long, CuMemberBonus> cuMemberBonusMap, List<CuMemberBonusDetail> cuMemberBonusDetailList) { Map<Long, CuMemberBonus> cuMemberBonusMap, List<CuMemberBonusDetail> cuMemberBonusDetailList) {
String rangeTableName = TableNameConstants.CU_MEMBER_RETAIL_RANGE + beforePeriod; String rangeTableName = TableNameConstants.CU_MEMBER_RETAIL_RANGE + beforePeriod;
cuMemberRetailRangeService.mergeMemberSecondRetailRangeByRange(rangeTableName, secondRangeTableName, saOrderExt.getPkMember()); iCuMemberRetailRangeService.mergeMemberSecondRetailRangeByRange(rangeTableName, secondRangeTableName, saOrderExt.getPkMember());
cuMemberGradeService.updateCuMemberGradeSecond(secondRangeTableName, currentPeriod); iCuMemberGradeService.updateCuMemberGradeSecond(secondRangeTableName, currentPeriod);
// 按照血缘查询该会员所有伞上会员 // 按照血缘查询该会员所有伞上会员
List<CuMemberRetailRangeExt> memberRetailRangeExtList = cuMemberRetailRangeService.queryCuMemberSecondRangeParent(rangeTableName, secondRangeTableName, saOrderExt.getPkMember()); List<CuMemberRetailRangeExt> memberRetailRangeExtList = iCuMemberRetailRangeService.queryCuMemberSecondRangeParent(rangeTableName, secondRangeTableName, saOrderExt.getPkMember());
Map<Long, CuMemberRetailRangeExt> memberRangeExtMap = new HashMap<>(); Map<Long, CuMemberRetailRangeExt> memberRangeExtMap = new HashMap<>();
Map<Integer, BdGrade> retaiBuyGradeMap = new TreeMap<>(); Map<Integer, BdGrade> retaiBuyGradeMap = new TreeMap<>();
@ -175,7 +152,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
} }
} }
Map<String, CuMemberRetailRangeExt> countyRangeExtMap = new HashMap<>(); Map<String, CuMemberRetailRangeExt> countyRangeExtMap = new HashMap<>();
List<CuMemberRetailRangeExt> countyRangeExtList = cuMemberRetailRangeService.batchQueryMemberRetailSecondRangeByCounty(rangeTableName, secondRangeTableName, saOrderExt.getRecCounty()); List<CuMemberRetailRangeExt> countyRangeExtList = iCuMemberRetailRangeService.batchQueryMemberRetailSecondRangeByCounty(rangeTableName, secondRangeTableName, saOrderExt.getRecCounty());
countyRangeExtList.forEach(cuMemberRetailRangeExt -> countyRangeExtList.forEach(cuMemberRetailRangeExt ->
countyRangeExtMap.put(cuMemberRetailRangeExt.getSystemType() + "_" + cuMemberRetailRangeExt.getRegionAddress(), cuMemberRetailRangeExt)); countyRangeExtMap.put(cuMemberRetailRangeExt.getSystemType() + "_" + cuMemberRetailRangeExt.getRegionAddress(), cuMemberRetailRangeExt));
// 计算区域奖 // 计算区域奖
@ -183,28 +160,25 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
if (cuMemberBonusDetail != null) { if (cuMemberBonusDetail != null) {
cuMemberBonusDetailList.add(cuMemberBonusDetail); cuMemberBonusDetailList.add(cuMemberBonusDetail);
} }
cuMemberGradeService.updateCuMemberGrade(secondRangeTableName, saOrderExt.getPkId()); iCuMemberGradeService.updateCuMemberGrade(secondRangeTableName, saOrderExt.getPkId());
if (cuMemberAwardsList.size() > 0) { if (cuMemberAwardsList.size() > 0) {
cuMemberAwardsService.saveBatchCuMemberAwards(cuMemberAwardsList); iCuMemberAwardsService.saveBatchCuMemberAwards(cuMemberAwardsList);
// 更新会员表,更新奖衔 // 更新会员表,更新奖衔
cuMemberService.updateCuMemberRetailRangeByList(cuMemberAwardsList, currentPeriod); iCuMemberService.updateCuMemberRetailRangeByList(cuMemberAwardsList, currentPeriod);
} }
if (cuMemberGradeList.size() > 0) { if (cuMemberGradeList.size() > 0) {
cuMemberGradeService.insertCuMemberGrade(cuMemberGradeList); iCuMemberGradeService.insertCuMemberGrade(cuMemberGradeList);
cuMemberService.updateCuMemberGradeByList(cuMemberGradeList, currentPeriod); iCuMemberService.updateCuMemberGradeByList(cuMemberGradeList, currentPeriod);
} }
if (memberRetailRangeExtList.size() > 0) { if (memberRetailRangeExtList.size() > 0) {
cuMemberRetailRangeService.updateCuMemberSecondRange(secondRangeTableName, memberRangeExtMap); iCuMemberRetailRangeService.updateCuMemberSecondRange(secondRangeTableName, memberRangeExtMap);
} }
return cuMemberBonusRangeList; return cuMemberBonusRangeList;
} }
/* /**
* @description: 实时计算当月奖衔 * 实时计算当月奖衔
* @author: sui q */
* @date: 2024/10/22 15:16
* @param: null null
**/
void calculateCuMemberBackRetailIncome(SaOrderExt saOrderExt, BonusConfigDTO bonusConfigDTO, void calculateCuMemberBackRetailIncome(SaOrderExt saOrderExt, BonusConfigDTO bonusConfigDTO,
String secondRangeTableName, int beforePeriod, int currentPeriod) { String secondRangeTableName, int beforePeriod, int currentPeriod) {
// 当天的撤单 // 当天的撤单
@ -212,18 +186,18 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
String rangeTableName = TableNameConstants.CU_MEMBER_RETAIL_RANGE + beforePeriod; String rangeTableName = TableNameConstants.CU_MEMBER_RETAIL_RANGE + beforePeriod;
if (DateUtils.isSameDay(saOrderExt.getPayTime(), DateUtils.currentDate())) { if (DateUtils.isSameDay(saOrderExt.getPayTime(), DateUtils.currentDate())) {
// 按照血缘查询该会员所有伞上会员 // 按照血缘查询该会员所有伞上会员
cuMemberRetailRangeService.mergeMemberRetailGradeByMember(secondRangeTableName, saOrderExt.getPkMember()); iCuMemberRetailRangeService.mergeMemberRetailGradeByMember(secondRangeTableName, saOrderExt.getPkMember());
// 恢复奖衔 // 恢复奖衔
cuMemberAwardsService.mergeCuMemberBackAwards(secondRangeTableName, saOrderExt.getPkMember(), currentPeriod); iCuMemberAwardsService.mergeCuMemberBackAwards(secondRangeTableName, saOrderExt.getPkMember(), currentPeriod);
memberRetailRangeExtList = cuMemberRetailRangeService.queryCuMemberSecondRangeParent(rangeTableName, secondRangeTableName, saOrderExt.getPkMember()); memberRetailRangeExtList = iCuMemberRetailRangeService.queryCuMemberSecondRangeParent(rangeTableName, secondRangeTableName, saOrderExt.getPkMember());
} else { } else {
rangeTableName = TableNameConstants.CU_MEMBER_RETAIL_RANGE + currentPeriod; rangeTableName = TableNameConstants.CU_MEMBER_RETAIL_RANGE + currentPeriod;
List<SaOrderExt> retailOrderList = new ArrayList<>(); List<SaOrderExt> retailOrderList = new ArrayList<>();
retailOrderList.add(saOrderExt); retailOrderList.add(saOrderExt);
cuMemberRetailRangeService.mergeMemberRetailGradeByMember(rangeTableName, saOrderExt.getPkMember()); iCuMemberRetailRangeService.mergeMemberRetailGradeByMember(rangeTableName, saOrderExt.getPkMember());
// 恢复奖衔 // 恢复奖衔
cuMemberAwardsService.mergeCuMemberBackAwards(rangeTableName, saOrderExt.getPkMember(), beforePeriod); iCuMemberAwardsService.mergeCuMemberBackAwards(rangeTableName, saOrderExt.getPkMember(), beforePeriod);
memberRetailRangeExtList = cuMemberRetailRangeService.queryCuMemberRetailRangeParent(rangeTableName, retailOrderList); memberRetailRangeExtList = iCuMemberRetailRangeService.queryCuMemberRetailRangeParent(rangeTableName, retailOrderList);
} }
Map<Long, CuMemberRetailRangeExt> memberRangeExtMap = new HashMap<>(); Map<Long, CuMemberRetailRangeExt> memberRangeExtMap = new HashMap<>();
@ -278,9 +252,9 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
List<CuMemberRetailRangeExt> cuMemberRetailRangeExtList = calculateRetailBackRangeGradeAwards(currentPeriod, memberRangeExtMap, rangeTableName, saOrderExt, retailTeamGradeMap, retailAwardsMap, secondRangeTableName, boxNum, cuMemberGradeMap, cuMemberAwardsMap); List<CuMemberRetailRangeExt> cuMemberRetailRangeExtList = calculateRetailBackRangeGradeAwards(currentPeriod, memberRangeExtMap, rangeTableName, saOrderExt, retailTeamGradeMap, retailAwardsMap, secondRangeTableName, boxNum, cuMemberGradeMap, cuMemberAwardsMap);
cuMemberRetailRangeExtList.add(sourceMemberRangeExt); cuMemberRetailRangeExtList.add(sourceMemberRangeExt);
// 查询期间的等级和奖衔 // 查询期间的等级和奖衔
List<CuMemberGrade> memberGradeList = cuMemberGradeService.queryCuMemberGrade(cuMemberRetailRangeExtList, currentPeriod); List<CuMemberGrade> memberGradeList = iCuMemberGradeService.queryCuMemberGrade(cuMemberRetailRangeExtList, currentPeriod);
// 查询最大的手动奖衔 // 查询最大的手动奖衔
List<CuMemberGrade> cuMemberGradeList1 = cuMemberGradeService.queryCuMemberGradeByList(currentPeriod, memberRetailRangeExtList); List<CuMemberGrade> cuMemberGradeList1 = iCuMemberGradeService.queryCuMemberGradeByList(currentPeriod, memberRetailRangeExtList);
if (cuMemberGradeList1.size() > 0) { if (cuMemberGradeList1.size() > 0) {
Map<Long, CuMemberGrade> memberGradeMap = new HashMap<>(); Map<Long, CuMemberGrade> memberGradeMap = new HashMap<>();
for (CuMemberGrade cuMemberGrade : cuMemberGradeList1) { for (CuMemberGrade cuMemberGrade : cuMemberGradeList1) {
@ -316,11 +290,11 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
} }
} }
if (cuMemberGradeList.size() > 0) { if (cuMemberGradeList.size() > 0) {
cuMemberGradeService.deleteCuMemberGrade(cuMemberGradeList, currentPeriod); iCuMemberGradeService.deleteCuMemberGrade(cuMemberGradeList, currentPeriod);
cuMemberService.updateCuMemberMinGradeByList(cuMemberGradeList, currentPeriod); iCuMemberService.updateCuMemberMinGradeByList(cuMemberGradeList, currentPeriod);
} }
} }
List<CuMemberAwards> memberAwardsList = cuMemberAwardsService.queryCuMemberAwards(cuMemberRetailRangeExtList, currentPeriod); List<CuMemberAwards> memberAwardsList = iCuMemberAwardsService.queryCuMemberAwards(cuMemberRetailRangeExtList, currentPeriod);
if (memberAwardsList.size() > 0) { if (memberAwardsList.size() > 0) {
List<CuMemberAwards> cuMemberAwardsList = new ArrayList<>(); List<CuMemberAwards> cuMemberAwardsList = new ArrayList<>();
for (CuMemberAwards cuMemberAwards : memberAwardsList) { for (CuMemberAwards cuMemberAwards : memberAwardsList) {
@ -340,17 +314,17 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
} }
// 处理等级奖衔 // 处理等级奖衔
if (cuMemberAwardsList.size() > 0) { 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 (memberRangeExtMap.size() > 0) {
if (DateUtils.isSameDay(saOrderExt.getPayTime(), DateUtils.currentDate())) { if (DateUtils.isSameDay(saOrderExt.getPayTime(), DateUtils.currentDate())) {
cuMemberRetailRangeService.updateCuMemberSecondRange(secondRangeTableName, memberRangeExtMap); iCuMemberRetailRangeService.updateCuMemberSecondRange(secondRangeTableName, memberRangeExtMap);
} else { } else {
cuMemberRetailRangeService.updateCuMemberRetailRange(rangeTableName, memberRangeExtMap); iCuMemberRetailRangeService.updateCuMemberRetailRange(rangeTableName, memberRangeExtMap);
} }
} }
} }
@ -368,13 +342,9 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
return cuMemberGrade; return cuMemberGrade;
} }
/* /**
* @description: 计算新零售团队的奖金极差平级福利福利分红区域 * 计算新零售团队的奖金极差平级福利福利分红区域
* 订单 HZS30720290 */
* @author: sui q
* @date: 2024/10/15 13:55
* @param: null null
**/
void calculateRetailBonusByDay(String settleDate, Map<Long, CuMemberBonus> cuMemberBonusMap, BonusConfigDTO bonusConfigDTO, BonusRecordDetailVO bonusRecordDetailVO, void calculateRetailBonusByDay(String settleDate, Map<Long, CuMemberBonus> cuMemberBonusMap, BonusConfigDTO bonusConfigDTO, BonusRecordDetailVO bonusRecordDetailVO,
Integer period, Integer yesterdayPeriod, Boolean isSameMonth) { Integer period, Integer yesterdayPeriod, Boolean isSameMonth) {
Date settleStartDate = DateUtils.parseStringToDate(settleDate); Date settleStartDate = DateUtils.parseStringToDate(settleDate);
@ -392,19 +362,19 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
String rangeTableName = TableNameConstants.CU_MEMBER_RETAIL_RANGE + period; String rangeTableName = TableNameConstants.CU_MEMBER_RETAIL_RANGE + period;
String yesterdayRangeTableName = TableNameConstants.CU_MEMBER_RETAIL_RANGE + yesterdayPeriod; String yesterdayRangeTableName = TableNameConstants.CU_MEMBER_RETAIL_RANGE + yesterdayPeriod;
// 回退奖衔将奖衔回退到结算前状态 // 回退奖衔将奖衔回退到结算前状态
cuMemberAwardsService.calculateCuMemberRetailRangeAwardsInit(settleDate, period, rangeTableName); iCuMemberAwardsService.calculateCuMemberRetailRangeAwardsInit(settleDate, period, rangeTableName);
// 更新网体 // 更新网体
cuMemberRetailRangeService.mergeMemberRetailRangeByYesterday(settleEndDate, rangeTableName, yesterdayRangeTableName, isSameMonth); iCuMemberRetailRangeService.mergeMemberRetailRangeByYesterday(settleEndDate, rangeTableName, yesterdayRangeTableName, isSameMonth);
List<CuMemberLevel> memberLevelList = cuMemberGradeService.calculateCuMemberRetailGradeInit(period, settleStartDate, settleEndDate, rangeTableName); List<CuMemberLevel> memberLevelList = iCuMemberGradeService.calculateCuMemberRetailGradeInit(period, settleStartDate, settleEndDate, rangeTableName);
Map<Long, CuMemberLevel> memberLevelMap = new HashMap<>(); Map<Long, CuMemberLevel> memberLevelMap = new HashMap<>();
memberLevelList.forEach(cuMemberLevel -> memberLevelMap.put(cuMemberLevel.getPkOrder(), cuMemberLevel)); 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) { if (retailOrderList.size() > 0) {
// 按照血缘查询该会员所有伞上会员 // 按照血缘查询该会员所有伞上会员
List<CuMemberRetailRangeExt> memberRetailRangeExtList = cuMemberRetailRangeService.queryCuMemberRetailRangeParent(rangeTableName, retailOrderList); List<CuMemberRetailRangeExt> memberRetailRangeExtList = iCuMemberRetailRangeService.queryCuMemberRetailRangeParent(rangeTableName, retailOrderList);
Map<Long, CuMemberRetailRangeExt> memberRangeExtMap = new HashMap<>(); Map<Long, CuMemberRetailRangeExt> memberRangeExtMap = new HashMap<>();
Map<Integer, BdGrade> retaiBuyGradeMap = new TreeMap<>(); Map<Integer, BdGrade> retaiBuyGradeMap = new TreeMap<>();
Map<Integer, BdGrade> retailTeamGradeMap = new TreeMap<>(); Map<Integer, BdGrade> retailTeamGradeMap = new TreeMap<>();
@ -450,7 +420,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
} }
} }
Map<String, CuMemberRetailRangeExt> countyRangeExtMap = new HashMap<>(); Map<String, CuMemberRetailRangeExt> countyRangeExtMap = new HashMap<>();
List<CuMemberRetailRangeExt> countyRangeExtList = cuMemberRetailRangeService.batchQueryMemberRetailRangeByCounty(rangeTableName); List<CuMemberRetailRangeExt> countyRangeExtList = iCuMemberRetailRangeService.batchQueryMemberRetailRangeByCounty(rangeTableName);
countyRangeExtList.forEach(cuMemberRetailRangeExt -> countyRangeExtList.forEach(cuMemberRetailRangeExt ->
countyRangeExtMap.put(cuMemberRetailRangeExt.getSystemType() + "_" + cuMemberRetailRangeExt.getRegionAddress(), 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); calculateGradeAwards(period, memberRangeExtMap, rangeTableName, saOrderExt, retailTeamGradeMap, retailAwardsMap, null, cuMemberGradeList, cuMemberAwardsList, sourceMemberRangeExt);
cuMemberAwardsList.addAll(calculateRetailRangeGradeAwards(period, memberRangeExtMap, rangeTableName, saOrderExt, retailTeamGradeMap, retailAwardsMap, null, boxNum, cuMemberGradeList)); 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()) { for (SaOrderWaresExt saOrderItems : saOrderExt.getOrderWaresExtList()) {
// cuMemberBonusRangeList.addAll(calculateRetailRangeBonus(memberRangeExtMap, cuMemberBonusMap, gradeMap, bonusConfigDTO, period, saOrderItems, saOrderExt)); for (String waresCode : RetailProductConstants.ALL_BOX_WARES_LIST) {
} if (saOrderItems.getWaresCode() != null && saOrderItems.getWaresCode().equals(waresCode)) {
} else { int waresQuantity = saOrderItems.getWaresQuantity();
// 计算奖金 计算极差平级收益 cuMemberBonusRangeList.addAll(calculateRetailRangeBonus(memberRangeExtMap, cuMemberBonusMap, gradeMap, bonusConfigDTO, period, saOrderItems, saOrderExt));
for (SaOrderWaresExt saOrderItems : saOrderExt.getOrderWaresExtList()) { // 计算完奖金算等级
for (String waresCode : RetailProductConstants.ALL_BOX_WARES_LIST) { if (EOrderType.RETAIL_REGISTER.getValue() == saOrderExt.getOrderType() ||
if (saOrderItems.getWaresCode() != null && saOrderItems.getWaresCode().equals(waresCode)) { EOrderType.RETAIL_UPGRADE.getValue() == saOrderExt.getOrderType() ||
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()) { EOrderType.RETAIL_REPURCHASE.getValue() == saOrderExt.getOrderType()) {
// 计算个人等级消费等级 // 计算个人等级消费等级
int buyBoxNum = sourceMemberRangeExt.getBuyNum() + waresQuantity; 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.setGradeValue(bdGrade.getGradeValue());
sourceMemberRangeExt.setPkGrade(bdGrade.getPkId()); sourceMemberRangeExt.setPkGrade(bdGrade.getPkId());
sourceMemberRangeExt.setGradeName(bdGrade.getGradeName()); sourceMemberRangeExt.setGradeName(bdGrade.getGradeName());
if (sourceMemberRangeExt.getSameDate() == EYesNo.NO.getIntValue()) { if (sourceMemberRangeExt.getSameDate() == EYesNo.NO.getIntValue()) {
sourceMemberRangeExt.setBuyNum(bdGrade.getBoxNumber()); sourceMemberRangeExt.setBuyNum(bdGrade.getBoxNumber());
} else { } else {
sourceMemberRangeExt.setBuyNum(buyBoxNum); sourceMemberRangeExt.setBuyNum(buyBoxNum);
}
} }
} }
} }
@ -559,32 +523,29 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
} }
} }
if (cuMemberAwardsList.size() > 0) { if (cuMemberAwardsList.size() > 0) {
cuMemberAwardsService.saveBatchCuMemberAwards(cuMemberAwardsList); iCuMemberAwardsService.saveBatchCuMemberAwards(cuMemberAwardsList);
// 更新会员表,更新奖衔 // 更新会员表,更新奖衔
cuMemberService.updateCuMemberRetailRangeByPeriod(cuMemberAwardsList, period); iCuMemberService.updateCuMemberRetailRangeByPeriod(cuMemberAwardsList, period);
} }
if (cuMemberGradeList.size() > 0) { if (cuMemberGradeList.size() > 0) {
cuMemberGradeService.insertCuMemberGrade(cuMemberGradeList); iCuMemberGradeService.insertCuMemberGrade(cuMemberGradeList);
cuMemberService.updateCuMemberGradeByPeriod(cuMemberGradeList, period); iCuMemberService.updateCuMemberGradeByPeriod(cuMemberGradeList, period);
// 根据cu_member_level更新cu_member // 根据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 * 查询会员验证大小区区域算法2种条件1 实际满足V5 1种是满足 30w 小区10w
* @author: sui q */
* @date: 2025/2/20 15:22
* @param: null null
**/
CuMemberRetail queryValidateBoxOrAchieve(int currentPeriod, int beforePeriod, Long pkMember) { CuMemberRetail queryValidateBoxOrAchieve(int currentPeriod, int beforePeriod, Long pkMember) {
CuMemberRetail cuMemberRetail = new CuMemberRetail(); CuMemberRetail cuMemberRetail = new CuMemberRetail();
String rangeTableName = TableNameConstants.CU_MEMBER_RETAIL_RANGE + beforePeriod; String rangeTableName = TableNameConstants.CU_MEMBER_RETAIL_RANGE + beforePeriod;
String secondRangeTableName = TableNameConstants.CU_MEMBER_RETAIL_S + currentPeriod; String secondRangeTableName = TableNameConstants.CU_MEMBER_RETAIL_S + currentPeriod;
List<CuMemberRetailRangeExt> memberRetailRangeExtList = cuMemberRetailRangeService.queryCuMemberSecondRange(rangeTableName, secondRangeTableName, pkMember); List<CuMemberRetailRangeExt> memberRetailRangeExtList = iCuMemberRetailRangeService.queryCuMemberSecondRange(rangeTableName, secondRangeTableName, pkMember);
List<CuMemberRetailRangeExt> cuMemberRangeExtList = new ArrayList<>(); List<CuMemberRetailRangeExt> cuMemberRangeExtList = new ArrayList<>();
CuMemberRetailRangeExt targetMemberRangeExt = null; CuMemberRetailRangeExt targetMemberRangeExt = null;
for (CuMemberRetailRangeExt cuMemberRetailRangeExt : memberRetailRangeExtList) { for (CuMemberRetailRangeExt cuMemberRetailRangeExt : memberRetailRangeExtList) {
@ -724,14 +685,11 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
} }
} }
/* /**
* @description: 先计算奖衔,奖衔计算分为2种先计算自己消费足够的S1-S3S4以上的另一种方式自消费的只有购买人其他的都是根据业绩注意有人可以直接是S4 * 先计算奖衔,奖衔计算分为2种先计算自己消费足够的S1-S3S4以上的另一种方式自消费的只有购买人其他的都是根据业绩注意有人可以直接是S4
* 先验证团队业绩小区业绩验证小市场需要从上往下走 s1只能通过自消费除了购买人其他人丛S2开始升级 * 先验证团队业绩小区业绩验证小市场需要从上往下走 s1只能通过自消费除了购买人其他人丛S2开始升级
* 计算个人消费奖项 * 计算个人消费奖项
* @author: sui q */
* @date: 2024/10/15 17:10
* @param: null null
**/
public List<CuMemberAwards> calculateConsumeRangeAwards(Integer period, Map<Long, List<CuMemberRangeExt>> parentRangeExtMap, Map<Long, CuMemberRangeExt> memberRangeExtMap, String rangeTableName, public List<CuMemberAwards> calculateConsumeRangeAwards(Integer period, Map<Long, List<CuMemberRangeExt>> parentRangeExtMap, Map<Long, CuMemberRangeExt> memberRangeExtMap, String rangeTableName,
CuMemberRangeExt sourceMemberRangeExt, SaOrderExt saOrderExt, CuMemberRangeExt sourceMemberRangeExt, SaOrderExt saOrderExt,
Map<Integer, BdRangeAwards> consumeRangeAwardsMap) { Map<Integer, BdRangeAwards> consumeRangeAwardsMap) {
@ -745,7 +703,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
// 去结算表种查询该会员下所有会员会员团队业绩+消费业绩是业绩 计算小区业绩 团队业绩-小区业绩 验证小区直推必有一种 // 去结算表种查询该会员下所有会员会员团队业绩+消费业绩是业绩 计算小区业绩 团队业绩-小区业绩 验证小区直推必有一种
// 如果需要验证小区 // 如果需要验证小区
if (ComputeUtil.compareValue(bdRangeAwards.getCommunityCheck())) { if (ComputeUtil.compareValue(bdRangeAwards.getCommunityCheck())) {
List<CuMemberRangeExt> cuMemberRangeExtList = cuMemberRangeService.queryCuMemberRangeExtByParent(rangeTableName, sourceMemberRangeExt.getPkMember(), saOrderExt.getPayTime()); List<CuMemberRangeExt> cuMemberRangeExtList = iCuMemberRangeService.queryCuMemberRangeExtByParent(rangeTableName, sourceMemberRangeExt.getPkMember(), saOrderExt.getPayTime());
// 需要验证团队业绩小区业绩 // 需要验证团队业绩小区业绩
if (calculateAwards(parentRangeExtMap, memberRangeExtMap, sourceMemberRangeExt, bdRangeAwards, cuMemberRangeExtList, false)) { if (calculateAwards(parentRangeExtMap, memberRangeExtMap, sourceMemberRangeExt, bdRangeAwards, cuMemberRangeExtList, false)) {
break; break;
@ -768,12 +726,9 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
return cuMemberAwardsList; return cuMemberAwardsList;
} }
/* /**
* @description: 计算团队极差奖衔 * 计算团队极差奖衔
* @author: sui q */
* @date: 2024/10/15 17:10
* @param: null null
**/
public List<CuMemberAwards> calculateBloodRangeAwards(Integer period, Map<Long, List<CuMemberRangeExt>> parentRangeExtMap, Map<Long, CuMemberRangeExt> memberRangeExtMap, String rangeTableName, SaOrderExt saOrderExt, public List<CuMemberAwards> calculateBloodRangeAwards(Integer period, Map<Long, List<CuMemberRangeExt>> parentRangeExtMap, Map<Long, CuMemberRangeExt> memberRangeExtMap, String rangeTableName, SaOrderExt saOrderExt,
Map<Integer, BdRangeAwards> bloodRangeAwardsMap, long pkParent, String secondRangeTableName) { Map<Integer, BdRangeAwards> bloodRangeAwardsMap, long pkParent, String secondRangeTableName) {
// 计算血缘奖衔一级一级升级分为2段s2s3 一级s3以上一级先验证团队总业绩, // 计算血缘奖衔一级一级升级分为2段s2s3 一级s3以上一级先验证团队总业绩,
@ -808,9 +763,9 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
// 去结算表种查询该会员下所有会员会员团队业绩+消费业绩是业绩 计算小区业绩 团队业绩-小区业绩 验证小区直推必有一种 // 去结算表种查询该会员下所有会员会员团队业绩+消费业绩是业绩 计算小区业绩 团队业绩-小区业绩 验证小区直推必有一种
List<CuMemberRangeExt> cuMemberRangeExtList; List<CuMemberRangeExt> cuMemberRangeExtList;
if (secondRangeTableName != null) { if (secondRangeTableName != null) {
cuMemberRangeExtList = cuMemberRangeService.querySecondCuMemberRangeExtByParent(rangeTableName, secondRangeTableName, targetMemberRangeExt.getPkMember()); cuMemberRangeExtList = iCuMemberRangeService.querySecondCuMemberRangeExtByParent(rangeTableName, secondRangeTableName, targetMemberRangeExt.getPkMember());
} else { } else {
cuMemberRangeExtList = cuMemberRangeService.queryCuMemberRangeExtByParent(rangeTableName, targetMemberRangeExt.getPkMember(), saOrderExt.getPayTime()); cuMemberRangeExtList = iCuMemberRangeService.queryCuMemberRangeExtByParent(rangeTableName, targetMemberRangeExt.getPkMember(), saOrderExt.getPayTime());
} }
if (cuMemberRangeExtList.size() > 0) { if (cuMemberRangeExtList.size() > 0) {
if (calculateAwards(parentRangeExtMap, memberRangeExtMap, targetMemberRangeExt, bdRangeAwards, cuMemberRangeExtList, true)) { if (calculateAwards(parentRangeExtMap, memberRangeExtMap, targetMemberRangeExt, bdRangeAwards, cuMemberRangeExtList, true)) {
@ -820,17 +775,17 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
// 当日的实时奖衔这个位置直接在会员表中计算就可以 // 当日的实时奖衔这个位置直接在会员表中计算就可以
if (bdRangeAwards.getPlaceNum() > 0) { if (bdRangeAwards.getPlaceNum() > 0) {
if (secondRangeTableName != null) { 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) { if (bdRangeAwards.getPlaceNum() > placeNum) {
break; break;
} }
} else { } 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) { if (bdRangeAwards.getPlaceNum() > placeNum) {
break; break;
} }
@ -853,12 +808,9 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
return cuMemberAwardsList; return cuMemberAwardsList;
} }
/* /**
* @description: 计算团队极差奖衔 * 计算团队极差奖衔
* @author: sui q */
* @date: 2024/10/15 17:10
* @param: null null
**/
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) {
@ -897,9 +849,9 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
// 验证小区计算小区累计盒数 查询伞下会员 // 验证小区计算小区累计盒数 查询伞下会员
List<CuMemberRetailRangeExt> cuMemberRangeExtList; List<CuMemberRetailRangeExt> cuMemberRangeExtList;
if (secondRangeTableName != null) { if (secondRangeTableName != null) {
cuMemberRangeExtList = cuMemberRetailRangeService.queryCuMemberSecondRangeExtByParent(rangeTableName, secondRangeTableName, targetMemberRangeExt.getPkMember()); cuMemberRangeExtList = iCuMemberRetailRangeService.queryCuMemberSecondRangeExtByParent(rangeTableName, secondRangeTableName, targetMemberRangeExt.getPkMember());
} else { } else {
cuMemberRangeExtList = cuMemberRetailRangeService.queryCuMemberRetailRangeExtByParent(rangeTableName, targetMemberRangeExt.getPkMember()); cuMemberRangeExtList = iCuMemberRetailRangeService.queryCuMemberRetailRangeExtByParent(rangeTableName, targetMemberRangeExt.getPkMember());
} }
// 有注水的大区无限大新增全算小区 // 有注水的大区无限大新增全算小区
int bigBoxNum = targetMemberRangeExt.getConsumeBoxNum(); int bigBoxNum = targetMemberRangeExt.getConsumeBoxNum();
@ -939,9 +891,9 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
// // 验证小区计算小区业绩 // // 验证小区计算小区业绩
// List<CuMemberRetailRangeExt> cuMemberRangeExtList; // List<CuMemberRetailRangeExt> cuMemberRangeExtList;
// if (secondRangeTableName != null) { // if (secondRangeTableName != null) {
// cuMemberRangeExtList = cuMemberRetailRangeService.queryCuMemberSecondRangeExtByParent(rangeTableName, secondRangeTableName, targetMemberRangeExt.getPkMember()); // cuMemberRangeExtList = iCuMemberRetailRangeService.queryCuMemberSecondRangeExtByParent(rangeTableName, secondRangeTableName, targetMemberRangeExt.getPkMember());
// } else { // } else {
// cuMemberRangeExtList = cuMemberRetailRangeService.queryCuMemberRetailRangeExtByParent(rangeTableName, targetMemberRangeExt.getPkMember()); // cuMemberRangeExtList = iCuMemberRetailRangeService.queryCuMemberRetailRangeExtByParent(rangeTableName, targetMemberRangeExt.getPkMember());
// } // }
// for (CuMemberRetailRangeExt cuMemberRetailRangeExt : cuMemberRangeExtList) { // for (CuMemberRetailRangeExt cuMemberRetailRangeExt : cuMemberRangeExtList) {
// if (memberRangeExtMap.containsKey(cuMemberRetailRangeExt.getPkMember())) { // 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())) { if (ComputeUtil.compareValue(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamMonthPv(), targetMemberRangeExt.getMonthConsumePv()), bdAwards.getShareTotalCheck())) {
// 验证小区计算小区业绩 // 验证小区计算小区业绩
List<CuMemberRetailRangeExt> cuMemberRangeExtList = cuMemberRetailRangeService.queryCuMemberRetailRangeExtByParent(rangeTableName, targetMemberRangeExt.getPkMember()); List<CuMemberRetailRangeExt> cuMemberRangeExtList = iCuMemberRetailRangeService.queryCuMemberRetailRangeExtByParent(rangeTableName, targetMemberRangeExt.getPkMember());
BigDecimal consumeBigPv = targetMemberRangeExt.getMonthConsumePv(); BigDecimal consumeBigPv = targetMemberRangeExt.getMonthConsumePv();
// if (ComputeUtil.compareGreaterThan(targetMemberRangeExt.getBigTeamPv(), consumeBigPv)) { // if (ComputeUtil.compareGreaterThan(targetMemberRangeExt.getBigTeamPv(), consumeBigPv)) {
// consumeBigPv = targetMemberRangeExt.getBigTeamPv(); // consumeBigPv = targetMemberRangeExt.getBigTeamPv();
@ -994,14 +946,14 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
if (ComputeUtil.compareValue(smallAreaPv, bdAwards.getShareCommunityCheck())) { if (ComputeUtil.compareValue(smallAreaPv, bdAwards.getShareCommunityCheck())) {
if (bdAwards.getPlaceDeptNum() > 0) { if (bdAwards.getPlaceDeptNum() > 0) {
// 验证是否有多个区满足业绩 // 验证是否有多个区满足业绩
List<CuMemberRetailRangeExt> cuMemberRetailRangeExtList = cuMemberRetailRangeService.queryCuMemberRetailRangeEnoughAchieve(rangeTableName, targetMemberRangeExt.getPkMember(), bdAwards.getShareCommunityCheck()); List<CuMemberRetailRangeExt> cuMemberRetailRangeExtList = iCuMemberRetailRangeService.queryCuMemberRetailRangeEnoughAchieve(rangeTableName, targetMemberRangeExt.getPkMember(), bdAwards.getShareCommunityCheck());
int enoughNum = 0; int enoughNum = 0;
for(CuMemberRetailRangeExt cuMemberRetailRangeExt : cuMemberRetailRangeExtList){ for (CuMemberRetailRangeExt cuMemberRetailRangeExt : cuMemberRetailRangeExtList) {
if (memberRangeExtMap.containsKey(cuMemberRetailRangeExt.getPkMember())) { if (memberRangeExtMap.containsKey(cuMemberRetailRangeExt.getPkMember())) {
cuMemberRetailRangeExt = memberRangeExtMap.get(cuMemberRetailRangeExt.getPkMember()); cuMemberRetailRangeExt = memberRangeExtMap.get(cuMemberRetailRangeExt.getPkMember());
} }
if(ComputeUtil.compareValue(ComputeUtil.computeAdd(cuMemberRetailRangeExt.getMonthConsumePv(), cuMemberRetailRangeExt.getTeamMonthPv()), bdAwards.getShareCommunityCheck())){ if (ComputeUtil.compareValue(ComputeUtil.computeAdd(cuMemberRetailRangeExt.getMonthConsumePv(), cuMemberRetailRangeExt.getTeamMonthPv()), bdAwards.getShareCommunityCheck())) {
enoughNum+=1; enoughNum += 1;
} }
} }
if (bdAwards.getPlaceDeptNum() > enoughNum) { 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<CuMemberRetailRangeExt> calculateRetailBackRangeGradeAwards(Integer period, Map<Long, CuMemberRetailRangeExt> memberRangeExtMap, String rangeTableName, SaOrderExt saOrderExt, public List<CuMemberRetailRangeExt> calculateRetailBackRangeGradeAwards(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, Map<String, CuMemberGrade> cuMemberGradeMap, Map<String, CuMemberAwards> cuMemberAwardsMap) { Integer boxNum, Map<String, CuMemberGrade> cuMemberGradeMap, Map<String, CuMemberAwards> cuMemberAwardsMap) {
@ -1062,9 +1011,9 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
// 验证小区计算小区累计盒数 查询伞下会员 // 验证小区计算小区累计盒数 查询伞下会员
List<CuMemberRetailRangeExt> cuMemberRangeExtList; List<CuMemberRetailRangeExt> cuMemberRangeExtList;
if (secondRangeTableName != null) { if (secondRangeTableName != null) {
cuMemberRangeExtList = cuMemberRetailRangeService.queryCuMemberSecondRangeExtByParent(rangeTableName, secondRangeTableName, targetMemberRangeExt.getPkMember()); cuMemberRangeExtList = iCuMemberRetailRangeService.queryCuMemberSecondRangeExtByParent(rangeTableName, secondRangeTableName, targetMemberRangeExt.getPkMember());
} else { } else {
cuMemberRangeExtList = cuMemberRetailRangeService.queryCuMemberRetailRangeExtByParent(rangeTableName, targetMemberRangeExt.getPkMember()); cuMemberRangeExtList = iCuMemberRetailRangeService.queryCuMemberRetailRangeExtByParent(rangeTableName, targetMemberRangeExt.getPkMember());
} }
int bigBoxNum = targetMemberRangeExt.getConsumeBoxNum(); int bigBoxNum = targetMemberRangeExt.getConsumeBoxNum();
if (targetMemberRangeExt.getBigBoxNum() > 0) { if (targetMemberRangeExt.getBigBoxNum() > 0) {
@ -1101,9 +1050,9 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
// 验证小区计算小区业绩 // 验证小区计算小区业绩
List<CuMemberRetailRangeExt> cuMemberRangeExtList; List<CuMemberRetailRangeExt> cuMemberRangeExtList;
if (secondRangeTableName != null) { if (secondRangeTableName != null) {
cuMemberRangeExtList = cuMemberRetailRangeService.queryCuMemberSecondRangeExtByParent(rangeTableName, secondRangeTableName, targetMemberRangeExt.getPkMember()); cuMemberRangeExtList = iCuMemberRetailRangeService.queryCuMemberSecondRangeExtByParent(rangeTableName, secondRangeTableName, targetMemberRangeExt.getPkMember());
} else { } else {
cuMemberRangeExtList = cuMemberRetailRangeService.queryCuMemberRetailRangeExtByParent(rangeTableName, targetMemberRangeExt.getPkMember()); cuMemberRangeExtList = iCuMemberRetailRangeService.queryCuMemberRetailRangeExtByParent(rangeTableName, targetMemberRangeExt.getPkMember());
} }
BigDecimal consumeBigPv = BigDecimal.ZERO; BigDecimal consumeBigPv = BigDecimal.ZERO;
for (CuMemberRetailRangeExt cuMemberRetailRangeExt : cuMemberRangeExtList) { 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<Long, List<CuMemberRangeExt>> parentRangeExtMap, Map<Long, CuMemberRangeExt> memberRangeExtMap, CuMemberRangeExt targetMemberRangeExt, BdRangeAwards bdRangeAwards, List<CuMemberRangeExt> cuMemberRangeExtList, Boolean isRecommend) { private boolean calculateAwards(Map<Long, List<CuMemberRangeExt>> parentRangeExtMap, Map<Long, CuMemberRangeExt> memberRangeExtMap, CuMemberRangeExt targetMemberRangeExt, BdRangeAwards bdRangeAwards, List<CuMemberRangeExt> cuMemberRangeExtList, Boolean isRecommend) {
BigDecimal bigAreaPv = BigDecimal.ZERO; BigDecimal bigAreaPv = BigDecimal.ZERO;
Integer recommendNum = 0; Integer recommendNum = 0;
@ -1171,7 +1117,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
} }
// /* // /*
// * @description: 计算幸运奖先计算有效代数所有有效代数均分比例10% // * 计算幸运奖先计算有效代数所有有效代数均分比例10%
// * @author: sui q // * @author: sui q
// * @date: 2024/10/17 11:34 // * @date: 2024/10/17 11:34
// * @param: null null // * @param: null null
@ -1221,12 +1167,9 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
// return memberBonusCoachList; // return memberBonusCoachList;
// } // }
/* /**
* @description: 计算极差收益根据极差收益计算平级收益 * 计算极差收益根据极差收益计算平级收益
* @author: sui q */
* @date: 2024/10/17 14:31
* @param: null null
**/
List<CuMemberBonusRange> calculateRetailRangeBonus(Map<Long, CuMemberRetailRangeExt> memberRangeExtMap, Map<Long, CuMemberBonus> cuMemberBonusMap, Map<Integer, BdGrade> gradeMap, BonusConfigDTO bonusConfigDTO, List<CuMemberBonusRange> calculateRetailRangeBonus(Map<Long, CuMemberRetailRangeExt> memberRangeExtMap, Map<Long, CuMemberBonus> cuMemberBonusMap, Map<Integer, BdGrade> gradeMap, BonusConfigDTO bonusConfigDTO,
Integer period, SaOrderWaresExt saOrderItems, SaOrderExt saOrderExt) { Integer period, SaOrderWaresExt saOrderItems, SaOrderExt saOrderExt) {
List<CuMemberBonusRange> memberBonusRangeList = new ArrayList<>(); List<CuMemberBonusRange> memberBonusRangeList = new ArrayList<>();
@ -1272,7 +1215,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
int pkBonusItems = getPkBonusItems(bonusConfigDTO, targetMemberRangeExt.getPkSettleCountry(), EBonusItems.RETAIL_RANGE_INCOME.getValue()); int pkBonusItems = getPkBonusItems(bonusConfigDTO, targetMemberRangeExt.getPkSettleCountry(), EBonusItems.RETAIL_RANGE_INCOME.getValue());
CuMemberBonusRange cuMemberBonusRange = getCuMemberRetailBonusRange(saOrderExt, targetMemberRangeExt, cuMemberBonus, pkBonusItems); CuMemberBonusRange cuMemberBonusRange = getCuMemberRetailBonusRange(saOrderExt, targetMemberRangeExt, cuMemberBonus, pkBonusItems);
cuMemberBonusRange.setCalValue(BigDecimal.ZERO); 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.setPkRange(targetMemberRangeExt.getPkGrade());
cuMemberBonusRange.setPkBeforeRange(sourceMemberRangeExt.getPkGrade()); cuMemberBonusRange.setPkBeforeRange(sourceMemberRangeExt.getPkGrade());
cuMemberBonusRange.setPkOrderItems(saOrderItems.getPkId()); cuMemberBonusRange.setPkOrderItems(saOrderItems.getPkId());
@ -1313,7 +1256,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
BigDecimal sameBuyPrice = gradeMap.get(calGradeValue).getBuyPrice(); BigDecimal sameBuyPrice = gradeMap.get(calGradeValue).getBuyPrice();
// 有平级 // 有平级
// if (calGradeValue < beginGradeValue) { // if (calGradeValue < beginGradeValue) {
if(ComputeUtil.compareGreaterThan(sameBuyPrice, comBuyPrice)){ if (ComputeUtil.compareGreaterThan(sameBuyPrice, comBuyPrice)) {
lastPkParent = targetMemberRangeExt.getPkParent(); lastPkParent = targetMemberRangeExt.getPkParent();
pkParent = targetMemberRangeExt.getPkParent(); pkParent = targetMemberRangeExt.getPkParent();
j--; j--;
@ -1342,13 +1285,13 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
} else if (j == 2) { } else if (j == 2) {
bonusIncome = bdGrade.getThirdAlgebra(); bonusIncome = bdGrade.getThirdAlgebra();
} }
if (/*calGradeValue == beginGradeValue && */ComputeUtil.compareEqual(beginBuyPrice, sameBuyPrice)) { if (ComputeUtil.compareEqual(beginBuyPrice, sameBuyPrice)) {
CuMemberBonus cuMemberBonus = getCuMemberBonus(period, cuMemberBonusMap, targetMemberRangeExt.getPkMember(), CuMemberBonus cuMemberBonus = getCuMemberBonus(period, cuMemberBonusMap, targetMemberRangeExt.getPkMember(),
targetMemberRangeExt.getIncomeStatus(), targetMemberRangeExt.getPkSettleCountry(), targetMemberRangeExt.getPkRate() == null ? saOrderExt.getPkRate() : targetMemberRangeExt.getPkRate()); targetMemberRangeExt.getIncomeStatus(), targetMemberRangeExt.getPkSettleCountry(), targetMemberRangeExt.getPkRate() == null ? saOrderExt.getPkRate() : targetMemberRangeExt.getPkRate());
int pkBonusItems = getPkBonusItems(bonusConfigDTO, targetMemberRangeExt.getPkSettleCountry(), EBonusItems.RETAIL_SAME_LEVEL_INCOME.getValue()); int pkBonusItems = getPkBonusItems(bonusConfigDTO, targetMemberRangeExt.getPkSettleCountry(), EBonusItems.RETAIL_SAME_LEVEL_INCOME.getValue());
CuMemberBonusRange oriMemberBonusRange = getCuMemberRetailBonusRange(saOrderExt, targetMemberRangeExt, cuMemberBonus, pkBonusItems); CuMemberBonusRange oriMemberBonusRange = getCuMemberRetailBonusRange(saOrderExt, targetMemberRangeExt, cuMemberBonus, pkBonusItems);
oriMemberBonusRange.setCalValue(BigDecimal.valueOf(10)); 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.setPkRange(targetMemberRangeExt.getPkGrade());
oriMemberBonusRange.setPkBeforeRange(sourceMemberRangeExt.getPkGrade()); oriMemberBonusRange.setPkBeforeRange(sourceMemberRangeExt.getPkGrade());
oriMemberBonusRange.setPkOrderItems(saOrderItems.getPkId()); oriMemberBonusRange.setPkOrderItems(saOrderItems.getPkId());
@ -1417,10 +1360,6 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
/** /**
* 计算某条订单的推荐奖金 * 计算某条订单的推荐奖金
*
* @return: void
* @Author: sui q
* @Date: 2023/2/4 13:57
*/ */
CuMemberBonusPush calculatePushBonusOne(CuMemberRangeExt sourceMemberRangeExt, Map<Long, CuMemberRangeExt> cuMemberRangeExtMap, BonusConfigDTO bonusConfigDTO, Integer period, Map<Long, CuMemberBonus> cuMemberBonusMap, CuMemberBonusPush calculatePushBonusOne(CuMemberRangeExt sourceMemberRangeExt, Map<Long, CuMemberRangeExt> cuMemberRangeExtMap, BonusConfigDTO bonusConfigDTO, Integer period, Map<Long, CuMemberBonus> cuMemberBonusMap,
SaOrderExt saOrderExt, int algebra, BigDecimal orderAssAchieve, List<CuMemberBonusPush> cuMemberBonusPushList) { SaOrderExt saOrderExt, int algebra, BigDecimal orderAssAchieve, List<CuMemberBonusPush> cuMemberBonusPushList) {
@ -1500,10 +1439,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
} }
/** /**
* @Description: 计算服务中心奖 * 计算服务中心奖
* @return: CuMemberBonusDetail
* @Author: sui q
* @Date: 2023/2/8 17:22
*/ */
CuMemberBonusDetail calculateRangeStoreBonusOne(Map<Long, CuMemberRangeExt> cuMemberRangeExtMap, CuMemberRangeExt targetMemberRangeExt, BonusConfigDTO bonusConfigDTO, Integer period, Map<Long, CuMemberBonus> cuMemberBonusMap, SaOrderExt saOrderExt) { CuMemberBonusDetail calculateRangeStoreBonusOne(Map<Long, CuMemberRangeExt> cuMemberRangeExtMap, CuMemberRangeExt targetMemberRangeExt, BonusConfigDTO bonusConfigDTO, Integer period, Map<Long, CuMemberBonus> cuMemberBonusMap, SaOrderExt saOrderExt) {
CuMemberRangeExt sourceMemberRangeExt = cuMemberRangeExtMap.get(saOrderExt.getPkMember()); CuMemberRangeExt sourceMemberRangeExt = cuMemberRangeExtMap.get(saOrderExt.getPkMember());
@ -1535,10 +1471,6 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
/** /**
* @param settleDateStr 结算日期 * @param settleDateStr 结算日期
* @Desccription: 计算新零售的月奖区域福利福利分红
* @return: Map<Long, CuMemberSettleExt> 需要更新的
* @Author: sui q
* @Date: 2022/11/10 17:40
*/ */
void calculateRetailShareBonus(String settleDateStr, BonusConfigDTO bonusConfigDTO, void calculateRetailShareBonus(String settleDateStr, BonusConfigDTO bonusConfigDTO,
Integer period, BonusRecordDetailVO bonusRecordDetailVO, Map<Long, CuMemberBonus> cuMemberBonusMap) { Integer period, BonusRecordDetailVO bonusRecordDetailVO, Map<Long, CuMemberBonus> cuMemberBonusMap) {
@ -1570,7 +1502,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
if (totalMonthOrderList.size() > 0) { if (totalMonthOrderList.size() > 0) {
Set<Long> pkMemberSet = new HashSet<>(); Set<Long> pkMemberSet = new HashSet<>();
totalMonthOrderList.forEach(saOrder -> pkMemberSet.add(saOrder.getPkMember())); totalMonthOrderList.forEach(saOrder -> pkMemberSet.add(saOrder.getPkMember()));
List<CuMemberRetailRangeExt> cuMemberRetailRangeExtList = cuMemberRetailRangeService.batchQueryMemberRetailRangeByMemberPk(rangeTableName, pkMemberSet); List<CuMemberRetailRangeExt> cuMemberRetailRangeExtList = iCuMemberRetailRangeService.batchQueryMemberRetailRangeByMemberPk(rangeTableName, pkMemberSet);
Map<Long, CuMemberRetailRangeExt> memberRangeExtMap = new HashMap<>(); Map<Long, CuMemberRetailRangeExt> memberRangeExtMap = new HashMap<>();
cuMemberRetailRangeExtList.forEach(cuMemberRetailRangeExt -> cuMemberRetailRangeExtList.forEach(cuMemberRetailRangeExt ->
memberRangeExtMap.put(cuMemberRetailRangeExt.getPkMember(), cuMemberRetailRangeExt)); memberRangeExtMap.put(cuMemberRetailRangeExt.getPkMember(), cuMemberRetailRangeExt));
@ -1632,7 +1564,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
cuMemberBonusRange.setPkBeforeRange(sourceMemberRetailRangeExt.getPkGrade()); cuMemberBonusRange.setPkBeforeRange(sourceMemberRetailRangeExt.getPkGrade());
cuMemberBonusRange.setPkOrderItems(0L); cuMemberBonusRange.setPkOrderItems(0L);
rangeBenefitRetailRemark(saOrder, cuMemberBonusRange, sourceMemberRetailRangeExt, targetMemberRangeExt); 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()) { if (EBonusIncomeStatus.NORMAL.getValue() == cuMemberBonusRange.getIncomeStatus()) {
cuMemberBonus.setRetailBenefitRangeIncome(ComputeUtil.computeAdd(cuMemberBonus.getRetailBenefitRangeIncome(), cuMemberBonusRange.getPretaxIncome())); cuMemberBonus.setRetailBenefitRangeIncome(ComputeUtil.computeAdd(cuMemberBonus.getRetailBenefitRangeIncome(), cuMemberBonusRange.getPretaxIncome()));
setRetailTotal(bdBonusDeduct, cuMemberBonus, cuMemberBonusRange); setRetailTotal(bdBonusDeduct, cuMemberBonus, cuMemberBonusRange);
@ -1645,9 +1577,9 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
} }
// CAR_AWARD_POINTS 福利平均收益 SHARE_INCOME 福利收益 // CAR_AWARD_POINTS 福利平均收益 SHARE_INCOME 福利收益
// 查询v5 等级 且奖衔>=S4的 // 查询v5 等级 且奖衔>=S4的
List<CuMemberRetailRangeExt> memberRetailRangeExtList = cuMemberRetailRangeService.batchQueryMemberRetailRangeByAwards(rangeTableName); List<CuMemberRetailRangeExt> memberRetailRangeExtList = iCuMemberRetailRangeService.batchQueryMemberRetailRangeByAwards(rangeTableName);
if (memberRetailRangeExtList.size() > 0) { if (memberRetailRangeExtList.size() > 0) {
List<CuMemberRetailRangeExt> retailRangeExtList = cuMemberRetailRangeService.batchQueryMemberRetailRangeByParent(rangeTableName, memberRetailRangeExtList); List<CuMemberRetailRangeExt> retailRangeExtList = iCuMemberRetailRangeService.batchQueryMemberRetailRangeByParent(rangeTableName, memberRetailRangeExtList);
Map<Long, List<CuMemberRetailRangeExt>> parentMemberRangeExtMap = new HashMap<>(); Map<Long, List<CuMemberRetailRangeExt>> parentMemberRangeExtMap = new HashMap<>();
for (CuMemberRetailRangeExt cuMemberRetailRangeExt : retailRangeExtList) { for (CuMemberRetailRangeExt cuMemberRetailRangeExt : retailRangeExtList) {
if (parentMemberRangeExtMap.containsKey(cuMemberRetailRangeExt.getPkParent())) { if (parentMemberRangeExtMap.containsKey(cuMemberRetailRangeExt.getPkParent())) {
@ -1737,7 +1669,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
} }
// for (SaOrder saOrder : totalMonthOrderList) { // for (SaOrder saOrder : totalMonthOrderList) {
// Map<Integer, CuMemberRetailRangeExt> countyRangeExtMap = new HashMap<>(); // Map<Integer, CuMemberRetailRangeExt> countyRangeExtMap = new HashMap<>();
// List<CuMemberRetailRangeExt> countyRangeExtList = cuMemberRetailRangeService.batchQueryMemberRetailRangeByCounty(rangeTableName); // List<CuMemberRetailRangeExt> countyRangeExtList = iCuMemberRetailRangeService.batchQueryMemberRetailRangeByCounty(rangeTableName);
// countyRangeExtList.forEach(cuMemberRetailRangeExt -> // countyRangeExtList.forEach(cuMemberRetailRangeExt ->
// countyRangeExtMap.put(cuMemberRetailRangeExt.getRegionAddress(), cuMemberRetailRangeExt)); // countyRangeExtMap.put(cuMemberRetailRangeExt.getRegionAddress(), cuMemberRetailRangeExt));
// // 计算区域获取所有有区域的会员 // // 计算区域获取所有有区域的会员
@ -1784,7 +1716,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
if (EBonusIncomeStatus.NORMAL.getValue() == cuMemberBonusDetail.getIncomeStatus()) { if (EBonusIncomeStatus.NORMAL.getValue() == cuMemberBonusDetail.getIncomeStatus()) {
if (bonusItemsValue == EBonusItems.RETAIL_AREA_INCOME.getValue()) { if (bonusItemsValue == EBonusItems.RETAIL_AREA_INCOME.getValue()) {
cuMemberBonus.setRetailAreaIncome(ComputeUtil.computeAdd(cuMemberBonus.getRetailAreaIncome(), cuMemberBonusDetail.getPretaxIncome())); 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())); cuMemberBonus.setRetailBenefitAvgIncome(ComputeUtil.computeAdd(cuMemberBonus.getRetailBenefitAvgIncome(), cuMemberBonusDetail.getPretaxIncome()));
} else { } else {
cuMemberBonus.setRetailBenefitIncome(ComputeUtil.computeAdd(cuMemberBonus.getRetailBenefitIncome(), cuMemberBonusDetail.getPretaxIncome())); cuMemberBonus.setRetailBenefitIncome(ComputeUtil.computeAdd(cuMemberBonus.getRetailBenefitIncome(), cuMemberBonusDetail.getPretaxIncome()));
@ -1885,11 +1817,9 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
} }
/** /**
* 记录需要修改的会员结算表数据, 安置的
*
* @param memberRangeMap 查询出来的结算数据 * @param memberRangeMap 查询出来的结算数据
* @Description: 记录需要修改的会员结算表数据, 安置的
* @return: void
* @Author: sui q
* @Date: 2022/11/15 9:52
*/ */
private Map<Long, CuMemberRangeExt> getMemberSettle(Map<Long, List<CuMemberRangeExt>> memberRangeMap) { private Map<Long, CuMemberRangeExt> getMemberSettle(Map<Long, List<CuMemberRangeExt>> memberRangeMap) {
Map<Long, CuMemberRangeExt> memberRangeExtMap = new HashMap<>(); Map<Long, CuMemberRangeExt> memberRangeExtMap = new HashMap<>();
@ -1949,12 +1879,10 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
} }
/** /**
* 奖金明细 报单服务费分红云代首购云代复购海豆收益
*
* @param saOrderExt 订单 * @param saOrderExt 订单
* @param cuMemberBonus 奖金主表 * @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) { private CuMemberBonusDetail getCuMemberBonusDetail(SaOrder saOrderExt, Integer incomeStatus, Integer pkCountry, CuMemberBonus cuMemberBonus) {
CuMemberBonusDetail cuMemberBonusDetail = CuMemberBonusDetail.builder() CuMemberBonusDetail cuMemberBonusDetail = CuMemberBonusDetail.builder()

View File

@ -58,17 +58,17 @@ import java.util.*;
public class BonusSettleServiceImpl implements IBonusSettleService { public class BonusSettleServiceImpl implements IBonusSettleService {
@DubboReference @DubboReference
IGradeServiceApi gradeServiceApi; ISystemConfigServiceApi iSystemConfigServiceApi;
@DubboReference @DubboReference
IAwardsServiceApi awardsServiceApi; IGradeServiceApi iGradeServiceApi;
@DubboReference @DubboReference
ISystemConfigServiceApi systemConfigServiceApi; IAwardsServiceApi iAwardsServiceApi;
@DubboReference @DubboReference
IRangeServiceApi rangeServiceApi; IRangeServiceApi iRangeServiceApi;
@DubboReference @DubboReference
IBonusItemsServiceApi bonusItemsServiceApi; ISaOrderServiceApi iSaOrderServiceApi;
@DubboReference @DubboReference
ISaOrderServiceApi saOrderServiceApi; IBonusItemsServiceApi iBonusItemsServiceApi;
@Autowired @Autowired
private ICuRegionAssessService cuRegionAssessService; private ICuRegionAssessService cuRegionAssessService;
@ -143,10 +143,10 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
public void calculateCumberBonusBySecond(String orderCode) { public void calculateCumberBonusBySecond(String orderCode) {
log.info("开始执行秒接,订单编号:{}", orderCode); log.info("开始执行秒接,订单编号:{}", orderCode);
Date startDate = DateUtils.currentDate(); Date startDate = DateUtils.currentDate();
SaOrderExt saOrderExt = saOrderServiceApi.querySaOrderByDay(startDate, SaOrderExt saOrderExt = iSaOrderServiceApi.querySaOrderByDay(startDate,
DateUtils.afterDate(1, ChronoUnit.DAYS, startDate), orderCode).getData(); DateUtils.afterDate(1, ChronoUnit.DAYS, startDate), orderCode).getData();
Map<String, String> systemConfigMap = systemConfigServiceApi.getBonusSystemConfig().getData(); Map<String, String> systemConfigMap = iSystemConfigServiceApi.getBonusSystemConfig().getData();
Map<String, RangeDTO> rangeDtoMap = rangeServiceApi.queryRangeDto().getData(); Map<String, RangeDTO> rangeDtoMap = iRangeServiceApi.queryRangeDto().getData();
// 处理奖金结算秒结表判断是否存在当天结算的秒接表从cu_member中获取网体从昨日结算表中获取累计结余数据 // 处理奖金结算秒结表判断是否存在当天结算的秒接表从cu_member中获取网体从昨日结算表中获取累计结余数据
String settleDate = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, saOrderExt.getPayTime()); 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())); 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; String yesSettleTableName = TableNameConstants.CU_MEMBER_SETTLE + beforeYesPeriod;
Map<Long, CuMemberBonus> cuMemberBonusMap = new HashMap<>(MagicNumberConstants.DELETE_DATA_BATCH_UPDATE_NUM); Map<Long, CuMemberBonus> cuMemberBonusMap = new HashMap<>(MagicNumberConstants.DELETE_DATA_BATCH_UPDATE_NUM);
BonusConfigDTO bonusConfigDTO = bonusItemsServiceApi.queryBonusConfigDTO().getData(); BonusConfigDTO bonusConfigDTO = iBonusItemsServiceApi.queryBonusConfigDTO().getData();
Map<Long, CuMemberSettleExt> cuMemberSettleExtMap = new HashMap<>(); Map<Long, CuMemberSettleExt> cuMemberSettleExtMap = new HashMap<>();
Map<Long, CuAwardsControl> cuAwardsControlMap = getCuAwardsControlMap(); Map<Long, CuAwardsControl> cuAwardsControlMap = getCuAwardsControlMap();
// 计算奖金 // 计算奖金
@ -185,8 +185,8 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
bonusSettleFirstPurchaseHandle.getSecondMemberSettle(cuMemberSettleExtMap, cuMemberSettleExtList); bonusSettleFirstPurchaseHandle.getSecondMemberSettle(cuMemberSettleExtMap, cuMemberSettleExtList);
// 计算奖金 // 计算奖金
// 计算直推奖 // 计算直推奖
List<GradeDTO> gradeDtoList = gradeServiceApi.queryGradeConfigByCondition(saOrderExt.getPkCountry()).getData(); List<GradeDTO> gradeDtoList = iGradeServiceApi.queryGradeConfigByCondition(saOrderExt.getPkCountry()).getData();
CuMemberBonusPush cuMemberBonusPush = bonusSettleFirstPurchaseHandle.calculatePushBonusOne(cuMemberSettleExtMap, bonusConfigDTO, systemConfigMap, period, cuMemberBonusMap, saOrderExt, awardsServiceApi.getAwards().getData(), gradeDtoList); CuMemberBonusPush cuMemberBonusPush = bonusSettleFirstPurchaseHandle.calculatePushBonusOne(cuMemberSettleExtMap, bonusConfigDTO, systemConfigMap, period, cuMemberBonusMap, saOrderExt, iAwardsServiceApi.getAwards().getData(), gradeDtoList);
log.info("获得直推奖,奖金为:{}", JSONUtil.toJsonStr(cuMemberBonusPush)); log.info("获得直推奖,奖金为:{}", JSONUtil.toJsonStr(cuMemberBonusPush));
// 计算量奖 // 计算量奖
// 所有需要计算的父节点只计算新增 // 所有需要计算的父节点只计算新增
@ -266,7 +266,7 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
List<CuMemberBonusExpand> cuMemberBonusExpandList = bonusSettlePurchaseHandle.calculateRepurchaseExpandSecondBonus(riskControlMap, settleTableName, List<CuMemberBonusExpand> cuMemberBonusExpandList = bonusSettlePurchaseHandle.calculateRepurchaseExpandSecondBonus(riskControlMap, settleTableName,
cuMemberSettleExtMap, bonusConfigDTO, systemConfigMap, period, weekMemberBonusMap, cuMemberBonusMap, saOrderExt, cuMemberSettleExtList, settleDate, BigDecimal.ZERO, BigDecimal.ZERO, 0); cuMemberSettleExtMap, bonusConfigDTO, systemConfigMap, period, weekMemberBonusMap, cuMemberBonusMap, saOrderExt, cuMemberSettleExtList, settleDate, BigDecimal.ZERO, BigDecimal.ZERO, 0);
// c)增加奖衔记录表 // c)增加奖衔记录表
Map<String, BdAwards> awardsMap = awardsServiceApi.getAwards().getData(); Map<String, BdAwards> awardsMap = iAwardsServiceApi.getAwards().getData();
List<CuMemberBonusRange> cuMemberBonusRangeList = bonusSettlePurchaseHandle.calculateRepurchaseRangeBonus(cuMemberSettleExtMap, settleTableName, settleDate, rangeDtoMap, awardsMap, List<CuMemberBonusRange> cuMemberBonusRangeList = bonusSettlePurchaseHandle.calculateRepurchaseRangeBonus(cuMemberSettleExtMap, settleTableName, settleDate, rangeDtoMap, awardsMap,
bonusConfigDTO, Collections.singletonList(saOrderExt), period, cuMemberBonusMap, cuAwardsControlMap, new LeXueRangeParam()); bonusConfigDTO, Collections.singletonList(saOrderExt), period, cuMemberBonusMap, cuAwardsControlMap, new LeXueRangeParam());
if (cuMemberBonusMap.size() > 0) { if (cuMemberBonusMap.size() > 0) {
@ -325,9 +325,6 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
} }
} }
/**
* 每日计算会员奖金最终的奖金
*/
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void calculateCuMemberBonus(String settleDate, List<SaOrderExt> saOrderExtList) { public void calculateCuMemberBonus(String settleDate, List<SaOrderExt> saOrderExtList) {
@ -338,7 +335,7 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
// 将删除的订单的点位变为死点 // 将删除的订单的点位变为死点
//********************************* 更新当天最新的业绩*************************/ //********************************* 更新当天最新的业绩*************************/
// 获取所有国家的奖金项 key = 国家 + 奖金项的值 // 获取所有国家的奖金项 key = 国家 + 奖金项的值
BonusConfigDTO bonusConfigDTO = bonusItemsServiceApi.queryBonusConfigDTO().getData(); BonusConfigDTO bonusConfigDTO = iBonusItemsServiceApi.queryBonusConfigDTO().getData();
Map<Long, CuMemberBonus> cuMemberBonusMap = new HashMap<>(); Map<Long, CuMemberBonus> cuMemberBonusMap = new HashMap<>();
BonusRecordDetailVO recordDetailVO = new BonusRecordDetailVO(); BonusRecordDetailVO recordDetailVO = new BonusRecordDetailVO();
Boolean isSameMonth = DateUtils.getMonth(settleDate).equals(DateUtils.getMonth(yesterday)); Boolean isSameMonth = DateUtils.getMonth(settleDate).equals(DateUtils.getMonth(yesterday));
@ -367,8 +364,8 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
@Override @Override
public void calculateCuMemberRetailRangeBonusBySaOrder(String orderCode) { public void calculateCuMemberRetailRangeBonusBySaOrder(String orderCode) {
Map<Long, CuMemberBonus> cuMemberBonusMap = new HashMap<>(MagicNumberConstants.DELETE_DATA_BATCH_UPDATE_NUM); Map<Long, CuMemberBonus> cuMemberBonusMap = new HashMap<>(MagicNumberConstants.DELETE_DATA_BATCH_UPDATE_NUM);
BonusConfigDTO bonusConfigDTO = bonusItemsServiceApi.queryBonusConfigDTO().getData(); BonusConfigDTO bonusConfigDTO = iBonusItemsServiceApi.queryBonusConfigDTO().getData();
List<SaOrderExt> retailOrderList = saOrderServiceApi.queryRetailSaOrderByDay(DateUtils.beforeDate(6, ChronoUnit.DAYS), DateUtils.afterDate(1, ChronoUnit.DAYS), orderCode).getData(); List<SaOrderExt> retailOrderList = iSaOrderServiceApi.queryRetailSaOrderByDay(DateUtils.beforeDate(6, ChronoUnit.DAYS), DateUtils.afterDate(1, ChronoUnit.DAYS), orderCode).getData();
if (retailOrderList != null && retailOrderList.size() > 0) { if (retailOrderList != null && retailOrderList.size() > 0) {
SaOrderExt saOrderExt = retailOrderList.get(0); SaOrderExt saOrderExt = retailOrderList.get(0);
// 处理奖金结算秒结表判断是否存在当天结算的秒接表从cu_member中获取网体从昨日结算表中获取累计结余数据 // 处理奖金结算秒结表判断是否存在当天结算的秒接表从cu_member中获取网体从昨日结算表中获取累计结余数据
@ -415,14 +412,14 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
Integer yesterdayPeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(yesterday).getPkId(); Integer yesterdayPeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(yesterday).getPkId();
String yesterdayTableName = TableNameConstants.CU_MEMBER_SETTLE + yesterdayPeriod; String yesterdayTableName = TableNameConstants.CU_MEMBER_SETTLE + yesterdayPeriod;
cuMemberTreeService.initCuMemberExpandTreeTable(yesterdayTableName, currentSettleTableName); cuMemberTreeService.initCuMemberExpandTreeTable(yesterdayTableName, currentSettleTableName);
BonusConfigDTO bonusConfigDTO = bonusItemsServiceApi.queryBonusConfigDTO().getData(); BonusConfigDTO bonusConfigDTO = iBonusItemsServiceApi.queryBonusConfigDTO().getData();
Map<Long, CuMemberSettleExt> cuMemberSettleExtMap = new HashMap<>(); Map<Long, CuMemberSettleExt> cuMemberSettleExtMap = new HashMap<>();
Map<Long, CuMemberBonus> cuMemberBonusMap = new HashMap<>(); Map<Long, CuMemberBonus> cuMemberBonusMap = new HashMap<>();
Map<Long, CuAwardsControl> cuAwardsControlMap = getCuAwardsControlMap(); Map<Long, CuAwardsControl> cuAwardsControlMap = getCuAwardsControlMap();
Map<Long, CuMemberBonus> weekMemberBonusMap = getWeekMemberBonusMap(settleDate, period); Map<Long, CuMemberBonus> weekMemberBonusMap = getWeekMemberBonusMap(settleDate, period);
Map<String, String> systemConfigMap = systemConfigServiceApi.getBonusSystemConfig().getData(); Map<String, String> systemConfigMap = iSystemConfigServiceApi.getBonusSystemConfig().getData();
BonusRecordDetailVO recordDetailVO = new BonusRecordDetailVO(); BonusRecordDetailVO recordDetailVO = new BonusRecordDetailVO();
Map<String, BdAwards> awardsMap = awardsServiceApi.getAwards().getData(); Map<String, BdAwards> awardsMap = iAwardsServiceApi.getAwards().getData();
// 首购订单 // 首购订单
List<SaOrderExt> firPurchaseOrderList = new ArrayList<>(); List<SaOrderExt> firPurchaseOrderList = new ArrayList<>();

View File

@ -1,10 +1,9 @@
package com.hzs.bonus.bonus.service.impl; 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.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.hzs.bonus.bonus.mapper.CuMemberRetailLogMapper; import com.hzs.bonus.bonus.mapper.CuMemberRetailLogMapper;
import com.hzs.bonus.bonus.service.ICuMemberRetailLogService; 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.enums.EYesNo;
import com.hzs.common.core.utils.DateUtils; import com.hzs.common.core.utils.DateUtils;
import com.hzs.common.domain.member.bonus.CuMemberRetailLog; import com.hzs.common.domain.member.bonus.CuMemberRetailLog;
@ -15,25 +14,20 @@ import java.util.Date;
import java.util.List; import java.util.List;
/** /**
* <p>
* 秒接日志记录表 服务实现类 * 秒接日志记录表 服务实现类
* </p>
*
* @author hzs
* @since 2024-12-27
*/ */
@Service @Service
public class CuMemberRetailLogServiceImpl extends ServiceImpl<CuMemberRetailLogMapper, CuMemberRetailLog> implements ICuMemberRetailLogService { public class CuMemberRetailLogServiceImpl extends ServiceImpl<CuMemberRetailLogMapper, CuMemberRetailLog> implements ICuMemberRetailLogService {
@Override @Override
public List<CuMemberRetailLog> queryCuMemberRetailLog() { public List<CuMemberRetailLog> queryCuMemberRetailLog() {
QueryWrapper<CuMemberRetailLog> queryWrapper = new QueryWrapper<>(); LambdaQueryWrapper<CuMemberRetailLog> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq("ENABLE_STATUS", EYesNo.NO.getIntValue()); queryWrapper.eq(CuMemberRetailLog::getEnableStatus, EYesNo.NO.getIntValue());
Date endTime = DateUtils.currentDateTime(); Date endTime = DateUtils.currentDateTime();
Date startTime = DateUtils.beforeDate(1, ChronoUnit.DAYS, endTime); Date startTime = DateUtils.beforeDate(1, ChronoUnit.DAYS, endTime);
queryWrapper.gt(SystemFieldConstants.CREATION_TIME, startTime); queryWrapper.gt(CuMemberRetailLog::getCreationTime, startTime);
queryWrapper.le(SystemFieldConstants.CREATION_TIME, endTime); queryWrapper.le(CuMemberRetailLog::getCreationTime, endTime);
queryWrapper.orderByAsc(SystemFieldConstants.CREATION_TIME); queryWrapper.orderByAsc(CuMemberRetailLog::getCreationTime);
return baseMapper.selectList(queryWrapper); return baseMapper.selectList(queryWrapper);
} }

View File

@ -17,21 +17,17 @@ import org.springframework.messaging.Message;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
/** /**
* @Description: 订单秒接 * 订单秒接
* @Author: sui q
* @Time: 2023/3/1 16:30
* @Classname: SaOrderSecondListener
* @PackageName: com.hzs.third.mqcall.listener
*/ */
@Slf4j @Slf4j
@Component @Component
public class SaOrderSecondListener { public class SaOrderSecondListener {
@Autowired @Autowired
private IBonusSettleService bonusSettleService; private IBonusSettleService iBonusSettleService;
@Autowired @Autowired
private ICuMemberRetailLogService cuMemberRetailLogService; private ICuMemberRetailLogService iCuMemberRetailLogService;
@RabbitListener(bindings = @QueueBinding( @RabbitListener(bindings = @QueueBinding(
exchange = @Exchange(value = RabbitMqConstants.ORDER_SECOND_EXCHANGE, type = "topic"), exchange = @Exchange(value = RabbitMqConstants.ORDER_SECOND_EXCHANGE, type = "topic"),
@ -47,19 +43,18 @@ public class SaOrderSecondListener {
cuMemberRetailLog.setPkCountry(CountryConstants.CHINA_COUNTRY); cuMemberRetailLog.setPkCountry(CountryConstants.CHINA_COUNTRY);
cuMemberRetailLog.setPkCreator(MagicNumberConstants.PK_ADMIN); cuMemberRetailLog.setPkCreator(MagicNumberConstants.PK_ADMIN);
cuMemberRetailLog.setOrderCode(saOrderExt.getOrderCode()); cuMemberRetailLog.setOrderCode(saOrderExt.getOrderCode());
if(saOrderExt.getCancelBool() != null && saOrderExt.getCancelBool()){ if (saOrderExt.getCancelBool() != null && saOrderExt.getCancelBool()) {
cuMemberRetailLog.setCancelStatus(EYesNo.YES.getIntValue()); cuMemberRetailLog.setCancelStatus(EYesNo.YES.getIntValue());
} }
try { try {
Thread.sleep(500); Thread.sleep(500);
bonusSettleService.calculateCuMemberRetailRangeBonusBySaOrder(saOrderExt.getOrderCode()); iBonusSettleService.calculateCuMemberRetailRangeBonusBySaOrder(saOrderExt.getOrderCode());
} catch (Exception e) { } catch (Exception e) {
cuMemberRetailLog.setEnableStatus(EYesNo.NO.getIntValue()); cuMemberRetailLog.setEnableStatus(EYesNo.NO.getIntValue());
cuMemberRetailLog.setMsg(e.getMessage()); cuMemberRetailLog.setMsg(e.getMessage());
e.printStackTrace(); e.printStackTrace();
} finally { } finally {
cuMemberRetailLogService.save(cuMemberRetailLog); iCuMemberRetailLogService.save(cuMemberRetailLog);
} }
// todo 失败的时候记录日志
} }
} }

View File

@ -490,16 +490,16 @@
merge into ${tableName} a merge into ${tableName} a
using(select #{period} period, a.* using(select #{period} period, a.*
from (select user_id pk_member, from (select user_id pk_member,
sum(CURR_DAY_MAIN_REG_AMOUNT)/6.4 REGISTER_AMOUNT, sum(CURR_DAY_MAIN_REG_AMOUNT) REGISTER_AMOUNT,
sum(CURR_DAY_MAIN_REG_PV)/6.4 REGISTER_PV, sum(CURR_DAY_MAIN_REG_PV) REGISTER_PV,
sum(CURR_DAY_MAIN_UP_AMOUNT)/6.4 UPGRADE_AMOUNT, sum(CURR_DAY_MAIN_UP_AMOUNT) UPGRADE_AMOUNT,
sum(CURR_DAY_MAIN_UP_PV)/6.4 UPGRADE_PV, sum(CURR_DAY_MAIN_UP_PV) UPGRADE_PV,
sum(CURR_DAY_MAIN_REPUR_AMOUNT)/6.4 REPURCHASE_AMOUNT, sum(CURR_DAY_MAIN_REPUR_AMOUNT) REPURCHASE_AMOUNT,
sum(CURR_DAY_MAIN_REPURCHASE_PV)/6.4 REPURCHASE_PV, sum(CURR_DAY_MAIN_REPURCHASE_PV) REPURCHASE_PV,
sum(CURR_DAY_SEA2_REG_AMOUNT)/6.4 HI_FUN_AMOUNT, sum(CURR_DAY_SEA2_REG_AMOUNT) HI_FUN_AMOUNT,
sum(CURR_DAY_SEA2_REG_PV)/6.4 HI_FUN_PV, sum(CURR_DAY_SEA2_REG_PV) HI_FUN_PV,
sum(CURR_DAY_MALL_AMOUNT)/6.4 MALL_AMOUNT, sum(CURR_DAY_MALL_AMOUNT) MALL_AMOUNT,
sum(CURR_DAY_MALL_PV)/6.4 MALL_PV sum(CURR_DAY_MALL_PV) MALL_PV
from G_MEMBER_ACHIV@link_test from G_MEMBER_ACHIV@link_test
where period between - 729 and #{period} where period between - 729 and #{period}
group by user_id) a) b on group by user_id) a) b on

View File

@ -2,23 +2,11 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.hzs.bonus.bonus.mapper.CuMemberRetailLogMapper"> <mapper namespace="com.hzs.bonus.bonus.mapper.CuMemberRetailLogMapper">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="com.hzs.common.domain.member.bonus.CuMemberRetailLog">
<id column="PK_ID" property="pkId" />
<result column="DEL_FLAG" property="delFlag" />
<result column="CREATION_TIME" property="creationTime" />
<result column="MODIFIED_TIME" property="modifiedTime" />
<result column="PK_COUNTRY" property="pkCountry" />
<result column="PK_CREATOR" property="pkCreator" />
<result column="PK_MODIFIED" property="pkModified" />
<result column="ORDER_CODE" property="orderCode" />
<result column="ENABLE_STATUS" property="enableStatus" />
<result column="MSG" property="msg" />
<result column="RETRY_NUM" property="retryNum" />
</resultMap>
<update id="updateCuMemberRetailLogByList"> <update id="updateCuMemberRetailLogByList">
update cu_member_retail_log set enable_status=0 update cu_member_retail_log
where del_flag=0 and pk_id in set enable_status = 0
where del_flag = 0
and pk_id in
<foreach collection="cuMemberRetailLogs" item="item" open="(" close=")" separator=","> <foreach collection="cuMemberRetailLogs" item="item" open="(" close=")" separator=",">
#{item.pkId} #{item.pkId}
</foreach> </foreach>

View File

@ -110,7 +110,7 @@ public class CuMemberController extends BaseController {
/** /**
* 导入批量查询会员信息 * 导入批量查询会员信息
**/ **/
@Log(module = EOperationModule.SPECIAL_BUSINESS, business = EOperationBusiness.MODIFY_CODE, method = EOperationMethod.IMPORT) @Log(module = EOperationModule.SPECIAL_BUSINESS, business = EOperationBusiness.MODIFY_CODE, method = EOperationMethod.IMPORT)
@PostMapping("/batch-importData") @PostMapping("/batch-importData")
@ -168,7 +168,8 @@ public class CuMemberController extends BaseController {
/** /**
* 真实信息 * 真实信息
*
* @author: zhang jing * @author: zhang jing
* @date: 2022/11/15 17:59 * @date: 2022/11/15 17:59
* @param: [memberParam] * @param: [memberParam]
@ -208,7 +209,8 @@ public class CuMemberController extends BaseController {
} }
/** /**
* 根据会员编号查询会员信息 * 根据会员编号查询会员信息
*
* @author: zhang jing * @author: zhang jing
* @date: 2022/11/9 18:25 * @date: 2022/11/9 18:25
* @param: [pkId] * @param: [pkId]
@ -567,7 +569,8 @@ public class CuMemberController extends BaseController {
/** /**
* 导出真实信息 * 导出真实信息
*
* @author: zhang jing * @author: zhang jing
* @date: 2023/7/15 17:02 * @date: 2023/7/15 17:02
* @param: [response, memberRealInfoParam] * @param: [response, memberRealInfoParam]
@ -650,7 +653,8 @@ public class CuMemberController extends BaseController {
/** /**
* 校验身份证格式 * 校验身份证格式
*
* @author: zhang jing * @author: zhang jing
* @date: 2023/10/17 14:10 * @date: 2023/10/17 14:10
* @param: [idCard] * @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) @Log(module = EOperationModule.MEMBER_INFORMATION, business = EOperationBusiness.RETAIL_MEMBER_INFO, method = EOperationMethod.SELECT)
@GetMapping("/query-member") @GetMapping("/query-member")
public TableDataInfo retailMember(RetailMemberVO memberParam) { public TableDataInfo retailMember(RetailMemberVO memberParam) {
memberParam.setPkCountry(SecurityUtils.getPkCountry()); memberParam.setPkCountry(SecurityUtils.getPkCountry());
memberParam.setSystemType(SecurityUtils.getSystemType());
List<String> memberCodeList = new ArrayList<>(); List<String> memberCodeList = new ArrayList<>();
List<RetailMemberVO> memberCodeList1 = new ArrayList<>(); List<RetailMemberVO> 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) @Log(module = EOperationModule.MEMBER_INFORMATION, business = EOperationBusiness.RETAIL_MEMBER_INFO, method = EOperationMethod.EXPORT)
@PostMapping("/export") @PostMapping("/export")
@ -1045,7 +1040,8 @@ public class CuMemberController extends BaseController {
} }
/** /**
* 免密登录 * 免密登录
*
* @author: zhang jing * @author: zhang jing
* @date: 2023/6/6 10:05 * @date: 2023/6/6 10:05
* @param: [memberTeamInfoParam] * @param: [memberTeamInfoParam]

View File

@ -242,15 +242,10 @@ public class MarketNewsController extends BaseController {
if (cuMemberBonusPush.getOrderType() != null) { if (cuMemberBonusPush.getOrderType() != null) {
cuMemberBonusPush.setOrderTypeStr(transactionMap.get(EnumsPrefixConstants.ORDER_TYPE + cuMemberBonusPush.getOrderType())); cuMemberBonusPush.setOrderTypeStr(transactionMap.get(EnumsPrefixConstants.ORDER_TYPE + cuMemberBonusPush.getOrderType()));
} }
// 注册业绩 国内 * 6.4 if (cuMemberBonusPush.getOrderAchieve() == null) {
if (SecurityUtils.getPkCountry().equals(CountryConstants.CHINA_COUNTRY)) { cuMemberBonusPush.setOrderAchieve(BigDecimal.ZERO);
if (cuMemberBonusPush.getOrderAchieve() == null) {
cuMemberBonusPush.setOrderAchieve(BigDecimal.ZERO);
}
cuMemberBonusPush.setOrderAchieve(cuMemberBonusPush.getOrderAchieve().multiply(inExchangeRate));
} else {
cuMemberBonusPush.setOrderAchieve(cuMemberBonusPush.getOrderAchieve());
} }
cuMemberBonusPush.setOrderAchieve(cuMemberBonusPush.getOrderAchieve().multiply(inExchangeRate));
cuMemberBonusPush.setCreationTime(cuMemberBonusPush.getMemberPayTime()); cuMemberBonusPush.setCreationTime(cuMemberBonusPush.getMemberPayTime());
// 跨国报单 汇率转换 // 跨国报单 汇率转换

View File

@ -716,16 +716,16 @@
merge into ${tableName} a merge into ${tableName} a
using (select #{period} period, a.* using (select #{period} period, a.*
from (select user_id pk_member, from (select user_id pk_member,
sum(CURR_DAY_MAIN_REG_AMOUNT) / 6.4 REGISTER_AMOUNT, sum(CURR_DAY_MAIN_REG_AMOUNT) REGISTER_AMOUNT,
sum(CURR_DAY_MAIN_REG_PV) / 6.4 REGISTER_PV, sum(CURR_DAY_MAIN_REG_PV) REGISTER_PV,
sum(CURR_DAY_MAIN_UP_AMOUNT) / 6.4 UPGRADE_AMOUNT, sum(CURR_DAY_MAIN_UP_AMOUNT) UPGRADE_AMOUNT,
sum(CURR_DAY_MAIN_UP_PV) / 6.4 UPGRADE_PV, sum(CURR_DAY_MAIN_UP_PV) UPGRADE_PV,
sum(CURR_DAY_MAIN_REPUR_AMOUNT) / 6.4 REPURCHASE_AMOUNT, sum(CURR_DAY_MAIN_REPUR_AMOUNT) REPURCHASE_AMOUNT,
sum(CURR_DAY_MAIN_REPURCHASE_PV) / 6.4 REPURCHASE_PV, sum(CURR_DAY_MAIN_REPURCHASE_PV) REPURCHASE_PV,
sum(CURR_DAY_SEA2_REG_AMOUNT) / 6.4 HI_FUN_AMOUNT, sum(CURR_DAY_SEA2_REG_AMOUNT) HI_FUN_AMOUNT,
sum(CURR_DAY_SEA2_REG_PV) / 6.4 HI_FUN_PV, sum(CURR_DAY_SEA2_REG_PV) HI_FUN_PV,
sum(CURR_DAY_MALL_AMOUNT) / 6.4 MALL_AMOUNT, sum(CURR_DAY_MALL_AMOUNT) MALL_AMOUNT,
sum(CURR_DAY_MALL_PV) / 6.4 MALL_PV sum(CURR_DAY_MALL_PV) MALL_PV
from G_MEMBER_ACHIV@link_test from G_MEMBER_ACHIV@link_test
where period between - 729 and #{period} where period between - 729 and #{period}
group by user_id) a) b on group by user_id) a) b on

View File

@ -2346,7 +2346,7 @@
FROM cu_member cm FROM cu_member cm
inner join CU_MEMBER_ACCOUNT cma inner join CU_MEMBER_ACCOUNT cma
on cm.pk_id = cma.PK_MEMBER on cm.pk_id = cma.PK_MEMBER
INNER JOIN cu_member par left join cu_member par
ON par.pk_id = cm.pk_parent ON par.pk_id = cm.pk_parent
left join bd_awards awa left join bd_awards awa
on awa.pk_id = cm.PK_AWARDS on awa.pk_id = cm.PK_AWARDS
@ -2374,7 +2374,7 @@
FROM cu_member cm FROM cu_member cm
inner join CU_MEMBER_ACCOUNT cma inner join CU_MEMBER_ACCOUNT cma
on cm.pk_id = cma.PK_MEMBER on cm.pk_id = cma.PK_MEMBER
INNER JOIN cu_member par left join cu_member par
ON par.pk_id = cm.pk_parent ON par.pk_id = cm.pk_parent
left join bd_awards awa left join bd_awards awa
on awa.pk_id = cm.PK_AWARDS on awa.pk_id = cm.PK_AWARDS
@ -2395,9 +2395,6 @@
<if test="pkCountry != null"> <if test="pkCountry != null">
and cm.pk_settle_country = #{pkCountry} and cm.pk_settle_country = #{pkCountry}
</if> </if>
<if test="systemType != null">
and cm.SYSTEM_TYPE = #{systemType}
</if>
<if test="memberCode != null and memberCode != ''"> <if test="memberCode != null and memberCode != ''">
and cm.member_code like #{memberCode}||'%' and cm.member_code like #{memberCode}||'%'
</if> </if>

View File

@ -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, (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_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, +nvl(cbs.retail_benefit_income,0)+nvl(cbs.retail_benefit_range_income,0)+nvl(cbs.BACK_POINTS,0)) totalBonus,

View File

@ -892,11 +892,11 @@
t6.rightSumPv, t6.rightSumPv,
t6.leftSumPv, t6.leftSumPv,
t2.dept, t2.dept,
t2.a_sum_pv * 6.4 historyLeftSumPv, t2.a_sum_pv historyLeftSumPv,
t2.b_sum_pv * 6.4 historyRightSumPv, t2.b_sum_pv historyRightSumPv,
t6.pk_member t6.pk_member
FROM (SELECT NVL(SUM(t1.a_new_pv) * 6.4, 0) leftSumPv, FROM (SELECT NVL(SUM(t1.a_new_pv), 0) leftSumPv,
NVL(SUM(t1.b_new_pv) * 6.4, 0) rightSumPv, NVL(SUM(t1.b_new_pv), 0) rightSumPv,
t1.pk_member t1.pk_member
FROM ( FROM (
<foreach collection="monthAchieveVOList" item="monthAchieve" open=" " separator=" union all " close=" "> <foreach collection="monthAchieveVOList" item="monthAchieve" open=" " separator=" union all " close=" ">
@ -951,12 +951,12 @@
bv.vertex_name vertexName, bv.vertex_name vertexName,
CASE CASE
WHEN t5.a_new_pv > t5.b_new_pv THEN 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 &lt;= t5.b_new_pv THEN WHEN t5.a_new_pv &lt;= t5.b_new_pv THEN
NVL(t5.a_new_pv * 6.4, 0) NVL(t5.a_new_pv, 0)
END achieve, END achieve,
t5.a_new_pv * 6.4 leftSumPv, t5.a_new_pv leftSumPv,
t5.b_new_pv * 6.4 rightSumPv, t5.b_new_pv rightSumPv,
CASE CASE
WHEN t5.a_new_pv > t5.b_new_pv THEN WHEN t5.a_new_pv > t5.b_new_pv THEN
2 2
@ -1006,8 +1006,8 @@
) t2 ) t2
GROUP BY t2.pk_member) t3 GROUP BY t2.pk_member) t3
ON t1.pk_id = t3.pk_member ON t1.pk_id = t3.pk_member
WHERE t3.a_new_pv * 6.4 >= #{achieve} WHERE t3.a_new_pv >= #{achieve}
AND t3.b_new_pv * 6.4 >= #{achieve}) t5 AND t3.b_new_pv >= #{achieve}) t5
LEFT JOIN bd_awards a LEFT JOIN bd_awards a
ON a.pk_id = t5.pk_awards ON a.pk_id = t5.pk_awards
AND a.pk_country = #{pkCountry} AND a.pk_country = #{pkCountry}
@ -1035,11 +1035,11 @@
t6.rightSumPv, t6.rightSumPv,
t6.leftSumPv, t6.leftSumPv,
t2.dept, t2.dept,
t2.a_sum_pv * 6.4 historyLeftSumPv, t2.a_sum_pv historyLeftSumPv,
t2.b_sum_pv * 6.4 historyRightSumPv, t2.b_sum_pv historyRightSumPv,
t6.pk_member t6.pk_member
FROM (SELECT NVL(SUM(t1.a_new_pv) * 6.4, 0) leftSumPv, FROM (SELECT NVL(SUM(t1.a_new_pv), 0) leftSumPv,
NVL(SUM(t1.b_new_pv) * 6.4, 0) rightSumPv, NVL(SUM(t1.b_new_pv), 0) rightSumPv,
t1.pk_member t1.pk_member
FROM ( FROM (
<foreach collection="monthAchieveVOList" item="monthAchieve" open=" " separator=" union all " close=" "> <foreach collection="monthAchieveVOList" item="monthAchieve" open=" " separator=" union all " close=" ">
@ -1091,12 +1091,12 @@
bv.vertex_name vertexName, bv.vertex_name vertexName,
CASE CASE
WHEN t5.a_new_pv > t5.b_new_pv THEN 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 &lt;= t5.b_new_pv THEN WHEN t5.a_new_pv &lt;= t5.b_new_pv THEN
NVL(t5.a_new_pv * 6.4, 0) NVL(t5.a_new_pv, 0)
END achieve, END achieve,
t5.a_new_pv * 6.4 leftSumPv, t5.a_new_pv leftSumPv,
t5.b_new_pv * 6.4 rightSumPv, t5.b_new_pv rightSumPv,
CASE CASE
WHEN t5.a_new_pv > t5.b_new_pv THEN WHEN t5.a_new_pv > t5.b_new_pv THEN
2 2
@ -1146,8 +1146,8 @@
) t2 ) t2
GROUP BY t2.pk_member) t3 GROUP BY t2.pk_member) t3
ON t1.pk_id = t3.pk_member ON t1.pk_id = t3.pk_member
WHERE t3.a_new_pv * 6.4 >= #{achieve} WHERE t3.a_new_pv >= #{achieve}
AND t3.b_new_pv * 6.4 >= #{achieve}) t5 AND t3.b_new_pv >= #{achieve}) t5
LEFT JOIN bd_awards a LEFT JOIN bd_awards a
ON a.pk_id = t5.pk_awards ON a.pk_id = t5.pk_awards
AND a.pk_country = #{pkCountry} AND a.pk_country = #{pkCountry}

View File

@ -4,7 +4,6 @@ import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; 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.annotation.Log;
import com.hzs.common.core.constant.HttpStatus; import com.hzs.common.core.constant.HttpStatus;
import com.hzs.common.core.constant.msg.ProductMsgConstants; import com.hzs.common.core.constant.msg.ProductMsgConstants;
@ -48,13 +47,6 @@ import javax.servlet.http.HttpServletResponse;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/**
* @Description:
* @Author: yuhui
* @Time: 2022/9/1 14:14
* @Classname: BdProductController
* @PackageName: com.hzs.sale.product.controller.manage
*/
@Slf4j @Slf4j
@RestController @RestController
@RequestMapping("/manage/product") @RequestMapping("/manage/product")
@ -226,16 +218,6 @@ public class BdProductController extends BaseController {
if (productCount > 0) { if (productCount > 0) {
return AjaxResult.error(TransactionUtils.getContent(ProductMsgConstants.PRODUCT_NUMBER_ALREADY_EXISTS)); return AjaxResult.error(TransactionUtils.getContent(ProductMsgConstants.PRODUCT_NUMBER_ALREADY_EXISTS));
} }
if (productParams.getPkProductBas() != null) {
// 校验每个国家该产品bas只能有一款
LambdaQueryWrapper<BdProduct> 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); productService.saveProduct(productParams, loginUser);
return AjaxResult.success(); return AjaxResult.success();
} }
@ -276,17 +258,6 @@ public class BdProductController extends BaseController {
if (productCount > 0) { if (productCount > 0) {
return AjaxResult.error(TransactionUtils.getContent(ProductMsgConstants.PRODUCT_NUMBER_ALREADY_EXISTS)); return AjaxResult.error(TransactionUtils.getContent(ProductMsgConstants.PRODUCT_NUMBER_ALREADY_EXISTS));
} }
if (productParams.getPkProductBas() != null) {
// 校验每个国家该产品bas只能有一款
LambdaQueryWrapper<BdProduct> 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); productService.updateProduct(productParams, loginUser);
return AjaxResult.success(productParams.getProductCode()); return AjaxResult.success(productParams.getProductCode());

View File

@ -7,13 +7,6 @@ import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
/**
* @Description:
* @Author: yuhui
* @Time: 2022/9/1 15:48
* @Classname: Product
* @PackageName: com.hzs.sale.product.controller.manage.params
*/
@Data @Data
public class ProductParams implements Serializable { public class ProductParams implements Serializable {

View File

@ -100,8 +100,6 @@ public class BdProductServiceImpl extends ServiceImpl<BdProductMapper, BdProduct
bdProduct.setRemovalTime(DateUtils.currentDateTime()); bdProduct.setRemovalTime(DateUtils.currentDateTime());
} }
Integer pkProductBas = productParams.getPkProductBas();
bdProduct.setPkProductBas(pkProductBas);
if (productParams.getPkCubasdoc() != null) { if (productParams.getPkCubasdoc() != null) {
R<CubasdocDTO> cubasdocDTO = cubasdocApi.getCubasdoc(productParams.getPkCubasdoc()); R<CubasdocDTO> cubasdocDTO = cubasdocApi.getCubasdoc(productParams.getPkCubasdoc());
CubasdocDTO cubasdoc = cubasdocDTO.getData(); CubasdocDTO cubasdoc = cubasdocDTO.getData();
@ -239,13 +237,6 @@ public class BdProductServiceImpl extends ServiceImpl<BdProductMapper, BdProduct
bdProduct.setPkTransaction(transaction.getData()); bdProduct.setPkTransaction(transaction.getData());
bdProduct.setPkModified(loginUser.getUserId()); bdProduct.setPkModified(loginUser.getUserId());
bdProduct.setModifiedTime(new Date()); bdProduct.setModifiedTime(new Date());
// 产品bas
BdProductBas productBas = BeanUtil.copyProperties(bdProduct, BdProductBas.class);
if (productParams.getPkProductBas() == null) {
bdProduct.setPkProductBas(null);
} else {
bdProduct.setPkProductBas(productParams.getPkProductBas());
}
if (productParams.getIsPutOn().equals(EYesNo.YES.getIntValue())) { if (productParams.getIsPutOn().equals(EYesNo.YES.getIntValue())) {
bdProduct.setListingTime(DateUtils.currentDateTime()); bdProduct.setListingTime(DateUtils.currentDateTime());
} }
@ -274,10 +265,6 @@ public class BdProductServiceImpl extends ServiceImpl<BdProductMapper, BdProduct
productSpecsService.save(productSpecs); productSpecsService.save(productSpecs);
} }
// 产品规格 specs
if (productBas.getPkId() != null) {
this.removeProductBasSpecs(Collections.singletonList(productBas.getPkId()));
}
} }
productParams.setProductCode(productParams.getProductCode()); productParams.setProductCode(productParams.getProductCode());
productParams.setPkId(bdProduct.getPkId()); productParams.setPkId(bdProduct.getPkId());

View File

@ -188,16 +188,6 @@
<if test="param.productName != null and param.productName != ''"> <if test="param.productName != null and param.productName != ''">
and bp.product_name like '%' || #{param.productName} || '%' and bp.product_name like '%' || #{param.productName} || '%'
</if> </if>
<if test="param.secondDeliver != null">
<choose>
<when test="param.secondDeliver == 0">
and so.PK_ORIGINAL_ORDER is not null
</when>
<otherwise>
and so.PK_ORIGINAL_ORDER is null
</otherwise>
</choose>
</if>
<!-- 地区权限处理 --> <!-- 地区权限处理 -->
<if test="param.areaScopeList != null and param.areaScopeList.size > 0"> <if test="param.areaScopeList != null and param.areaScopeList.size > 0">
and so.rec_province in and so.rec_province in
@ -368,16 +358,6 @@
<if test="param.productName != null and param.productName != ''"> <if test="param.productName != null and param.productName != ''">
and bp.product_name like '%' || #{param.productName} || '%' and bp.product_name like '%' || #{param.productName} || '%'
</if> </if>
<if test="param.secondDeliver != null">
<choose>
<when test="param.secondDeliver == 0">
and so.PK_ORIGINAL_ORDER is not null
</when>
<otherwise>
and so.PK_ORIGINAL_ORDER is null
</otherwise>
</choose>
</if>
<!-- 地区权限处理 --> <!-- 地区权限处理 -->
<if test="param.areaScopeList != null and param.areaScopeList.size > 0"> <if test="param.areaScopeList != null and param.areaScopeList.size > 0">
and so.rec_province in and so.rec_province in

View File

@ -373,16 +373,6 @@
and sd.deliver_time >= #{param.deliverTime[0]} and sd.deliver_time >= #{param.deliverTime[0]}
and #{param.deliverTime[1]} >= sd.deliver_time and #{param.deliverTime[1]} >= sd.deliver_time
</if> </if>
<if test="param.secondDeliver != null">
<choose>
<when test="param.secondDeliver == 0">
and so.PK_ORIGINAL_ORDER is not null
</when>
<otherwise>
and so.PK_ORIGINAL_ORDER is null
</otherwise>
</choose>
</if>
<!-- 地区权限处理 --> <!-- 地区权限处理 -->
<if test="param.areaScopeList != null and param.areaScopeList.size > 0"> <if test="param.areaScopeList != null and param.areaScopeList.size > 0">
and so.rec_province in and so.rec_province in

View File

@ -1,60 +0,0 @@
package com.hzs.system.base.controller.api;
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.system.ext.BdFeedbackExt;
import com.hzs.common.security.utils.SecurityUtils;
import com.hzs.system.base.service.IBdFeedbackService;
import com.hzs.system.base.vo.FeedbackVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.List;
/**
* 意见反馈 前端控制器
*
* @author hzs
* @since 2023-02-05
*/
@RestController
@RequestMapping("/api/feedback")
public class ApiFeedbackController extends BaseController {
@Autowired
IBdFeedbackService bdFeedbackService;
/**
* 添加意见反馈
*
* @return
*/
@PostMapping("save")
public AjaxResult save(@Valid @RequestBody FeedbackVO feedbackVO) {
feedbackVO.setPkMember(SecurityUtils.getUserId());
feedbackVO.setPkCountry(SecurityUtils.getPkCountry());
return toAjax(bdFeedbackService.saveFeedback(feedbackVO));
}
@GetMapping("index-list")
public TableDataInfo indexList(Integer isShowDay) {
Integer pkCountry = SecurityUtils.getPkCountry();
FeedbackVO feedbackVO = FeedbackVO.builder().pkCountry(pkCountry).isShowDay(isShowDay)
.pkMember(SecurityUtils.getUserId())
.build();
startPage();
Object[] objects = bdFeedbackService.selectFeedbackList(feedbackVO);
TableDataInfo tableDataInfo = getDataTable((List<BdFeedbackExt>) objects[0]);
tableDataInfo.setRows((List<FeedbackVO>) objects[1]);
return tableDataInfo;
}
@GetMapping("index-detail")
public AjaxResult index(Long pkId) {
return AjaxResult.success(bdFeedbackService.showFeedbackVOById(pkId));
}
}

View File

@ -8,7 +8,6 @@ import com.hzs.common.core.web.domain.AjaxResult;
import com.hzs.common.core.web.page.TableDataInfo; import com.hzs.common.core.web.page.TableDataInfo;
import com.hzs.common.domain.system.base.BdNotice; import com.hzs.common.domain.system.base.BdNotice;
import com.hzs.common.security.utils.SecurityUtils; import com.hzs.common.security.utils.SecurityUtils;
import com.hzs.system.base.service.IBdFeedbackService;
import com.hzs.system.base.service.IBdNoticeService; import com.hzs.system.base.service.IBdNoticeService;
import com.hzs.system.base.vo.BdNoticeCountVO; import com.hzs.system.base.vo.BdNoticeCountVO;
import com.hzs.system.base.vo.BdNoticeVO; import com.hzs.system.base.vo.BdNoticeVO;
@ -22,12 +21,6 @@ import java.util.List;
/** /**
* 公告站内信 * 公告站内信
*
* @Description:
* @Author: ljc
* @Time: 2023/2/6 16:52
* @Classname: ApiNoticeController
* @Package_name: com.hzs.system.base.controller.api
*/ */
@RestController @RestController
@RequestMapping("/api/notice") @RequestMapping("/api/notice")
@ -36,9 +29,6 @@ public class ApiNoticeController extends BaseController {
@Autowired @Autowired
private IBdNoticeService noticeService; private IBdNoticeService noticeService;
@Autowired
private IBdFeedbackService bdFeedbackService;
/** /**
* 首页显示公告站内信 * 首页显示公告站内信
* *
@ -83,7 +73,7 @@ public class ApiNoticeController extends BaseController {
} }
/** /**
* 会员首页 公告站内信意见反馈数 * 会员首页 公告站内信
* *
* @return * @return
*/ */
@ -100,11 +90,8 @@ public class ApiNoticeController extends BaseController {
BdNoticeVO stationVO = BdNoticeVO.builder().pkCountry(pkCountry).pkMember(SecurityUtils.getUserId()) BdNoticeVO stationVO = BdNoticeVO.builder().pkCountry(pkCountry).pkMember(SecurityUtils.getUserId())
.websiteType(websiteType).functionType(ENoticeFunctionType.MAIL.getValue()).build(); .websiteType(websiteType).functionType(ENoticeFunctionType.MAIL.getValue()).build();
Integer stationNum = noticeService.showIndexMailCount(stationVO); Integer stationNum = noticeService.showIndexMailCount(stationVO);
//查询意见反馈数
Integer feedbackNum = bdFeedbackService.selectIndexFeedbackCount(pkCountry, SecurityUtils.getUserId());
BdNoticeCountVO noticeCountVO = BdNoticeCountVO.builder() BdNoticeCountVO noticeCountVO = BdNoticeCountVO.builder()
.noticeNum(noticeNum).stationNum(stationNum) .noticeNum(noticeNum).stationNum(stationNum).build();
.feedbackNum(feedbackNum).build();
return AjaxResult.success(noticeCountVO); return AjaxResult.success(noticeCountVO);
} }

View File

@ -1,136 +0,0 @@
package com.hzs.system.base.controller.manage;
import cn.hutool.core.collection.CollUtil;
import com.hzs.common.core.annotation.Log;
import com.hzs.common.core.constant.EnumsPrefixConstants;
import com.hzs.common.core.constant.msg.FinanceMsgConstants;
import com.hzs.common.core.enums.*;
import com.hzs.common.core.utils.poi.ExcelUtil;
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.system.ext.BdFeedbackExt;
import com.hzs.common.security.utils.SecurityUtils;
import com.hzs.common.service.ITransactionCommonService;
import com.hzs.common.util.TransactionUtils;
import com.hzs.system.base.service.IBdFeedbackReplyService;
import com.hzs.system.base.service.IBdFeedbackService;
import com.hzs.system.base.vo.BdFeedbackReplyVO;
import com.hzs.system.base.vo.FeedbackVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;
/**
* <p>
* 意见反馈 前端控制器
* </p>
*
* @author hzs
* @since 2023-02-05
*/
@RestController
@RequestMapping("/manage/feedback")
public class BdFeedbackController extends BaseController {
@Autowired
IBdFeedbackService bdFeedbackService;
@Autowired
IBdFeedbackReplyService bdFeedbackReplyService;
@Autowired
ITransactionCommonService iTransactionCommonService;
/**
* 查询列表
*
* @return
*/
@Log(module = EOperationModule.MEMBER_FEEDBACK, business = EOperationBusiness.MEMBER_FEEDBACK, method = EOperationMethod.SELECT)
@PostMapping("list")
public TableDataInfo getFeedbackList(@RequestBody FeedbackVO feedbackVO) {
feedbackVO.setPkCountry(SecurityUtils.getPkCountry());
startPage();
Object[] objects = bdFeedbackService.selectFeedbackList(feedbackVO);
TableDataInfo tableDataInfo = getDataTable((List<BdFeedbackExt>) objects[0]);
tableDataInfo.setRows((List<FeedbackVO>) objects[1]);
return tableDataInfo;
}
/**
* 意见反馈列表导出
*
* @param response 响应
* @param feedbackVO 查询入参
*/
@Log(module = EOperationModule.MEMBER_FEEDBACK, business = EOperationBusiness.MEMBER_FEEDBACK, method = EOperationMethod.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, FeedbackVO feedbackVO) {
feedbackVO.setPkCountry(SecurityUtils.getPkCountry());
List<FeedbackVO> feedbackVOList = (List<FeedbackVO>) bdFeedbackService.selectFeedbackList(feedbackVO)[1];
if (CollUtil.isNotEmpty(feedbackVOList)) {
//枚举翻译
Map<String, String> transactionMap = iTransactionCommonService.exportEnumTransaction(EFeedbackType.values(), EFeedbackStatus.values());
for (FeedbackVO feedback : feedbackVOList) {
feedback.setTypeVal(transactionMap.get(EnumsPrefixConstants.FEEDBACK_TYPE + feedback.getType()));
feedback.setStatusVal(transactionMap.get(EnumsPrefixConstants.FEEDBACK_STATUS + feedback.getStatus()));
}
}
ExcelUtil<FeedbackVO> util = new ExcelUtil<>(FeedbackVO.class);
util.exportExcel(response, feedbackVOList, "意见反馈");
}
/**
* 删除公告信息
*
* @param pkId
* @return
*/
@Log(module = EOperationModule.MEMBER_FEEDBACK, business = EOperationBusiness.MEMBER_FEEDBACK, method = EOperationMethod.DELETE)
@GetMapping("/delete")
public AjaxResult delete(Long pkId) {
FeedbackVO feedbackVO = new FeedbackVO();
feedbackVO.setPkId(pkId);
feedbackVO.setPkModified(SecurityUtils.getUserId());
return toAjax(bdFeedbackService.deleteById(feedbackVO));
}
/**
* 查询修改状态
*
* @return
*/
@Log(module = EOperationModule.MEMBER_FEEDBACK, business = EOperationBusiness.MEMBER_FEEDBACK, method = EOperationMethod.UPDATE)
@GetMapping("/show")
public AjaxResult showFeedbackVOById(Long pkId) {
return AjaxResult.success(bdFeedbackService.showFeedbackVOById(pkId));
}
/**
* 添加意见反馈
*
* @return
*/
@Log(module = EOperationModule.MEMBER_FEEDBACK, business = EOperationBusiness.MEMBER_FEEDBACK, method = EOperationMethod.INSERT, remark = "意见反馈")
@PostMapping("save")
public AjaxResult save(@RequestBody BdFeedbackReplyVO feedbackReplyVO) {
if (null == feedbackReplyVO.getReplyContent()) {
return AjaxResult.error("回复内容不能为空!");
}
feedbackReplyVO.setPkCreator(SecurityUtils.getUserId());
feedbackReplyVO.setPkCountry(SecurityUtils.getPkCountry());
return toAjax(bdFeedbackReplyService.saveFeedbackReplyInfo(feedbackReplyVO));
}
}

View File

@ -1,55 +0,0 @@
package com.hzs.system.base.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hzs.common.domain.system.base.BdFeedback;
import com.hzs.common.domain.system.ext.BdFeedbackExt;
import com.hzs.system.base.vo.FeedbackVO;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* <p>
* 意见反馈 Mapper 接口
* </p>
*
* @author hzs
* @since 2023-02-05
*/
public interface BdFeedbackMapper extends BaseMapper<BdFeedback> {
/**
* 查询意见反馈列表
*
* @param feedbackVO VO
* @return List<FeedbackVO>
*/
List<BdFeedbackExt> selectFeedbackList(FeedbackVO feedbackVO);
/**
* 删除信息
*
* @param feedbackVO 参数
* @return pkCountry
*/
Integer deleteById(FeedbackVO feedbackVO);
/**
* 查看详情
*
* @param pkId 主键ID
* @return BdFeedbackExt
*/
BdFeedbackExt showFeedbackVOById(Long pkId);
/**
* 查询会员首页意见反馈数
*
* @param pkCountry 国家ID
* @return pkCountry
*/
Integer selectIndexFeedbackCount(@Param("pkCountry") Integer pkCountry,@Param("pkMember") Long pkMember);
}

View File

@ -1,17 +0,0 @@
package com.hzs.system.base.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hzs.common.domain.system.base.BdFeedbackReply;
/**
* <p>
* 意见反馈回复 Mapper 接口
* </p>
*
* @author hzs
* @since 2023-04-25
*/
public interface BdFeedbackReplyMapper extends BaseMapper<BdFeedbackReply> {
}

View File

@ -1,37 +0,0 @@
package com.hzs.system.base.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hzs.common.domain.system.base.BdFeedbackReply;
import com.hzs.system.base.vo.BdFeedbackReplyVO;
import java.util.List;
/**
* <p>
* 意见反馈回复 服务类
* </p>
*
* @author hzs
* @since 2023-04-25
*/
public interface IBdFeedbackReplyService extends IService<BdFeedbackReply> {
/**
* 保存意见反馈回复
*
* @param feedbackReplyVO 意见反馈回复信息
* @return Boolean
*/
Boolean saveFeedbackReplyInfo(BdFeedbackReplyVO feedbackReplyVO);
/**
* 根据意见反馈ID查询回复信息
*
* @param pkFeedbackId
* @param pkCountry
* @return
*/
List<BdFeedbackReplyVO> selectFeedbackReplyById(Long pkFeedbackId, Integer pkCountry);
}

View File

@ -1,67 +0,0 @@
package com.hzs.system.base.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hzs.common.domain.system.base.BdFeedback;
import com.hzs.system.base.vo.FeedbackVO;
/**
* <p>
* 意见反馈 服务类
* </p>
*
* @author hzs
* @since 2023-02-05
*/
public interface IBdFeedbackService extends IService<BdFeedback> {
/**
* 保存意见反馈
*
* @param feedbackVO
* @return
*/
Integer saveFeedback(FeedbackVO feedbackVO);
/**
* 查询意见反馈列表
*
* @param feedbackVO VO
* @return List<FeedbackVO>
*/
Object[] selectFeedbackList(FeedbackVO feedbackVO);
/**
* 删除信息
*
* @param feedbackVO
* @return
*/
Integer deleteById(FeedbackVO feedbackVO);
/**
* 查看详情
*
* @param pkId
* @return
*/
FeedbackVO showFeedbackVOById(Long pkId);
/**
* 根据ID修改状态
*
* @param pkMember 用户ID
* @param pkId 主健
* @return Boolean
*/
Boolean updateFeedbackById(Long pkMember, Long pkId);
/**
* 查询会员首页意见反馈数
*
* @param pkCountry 国家ID
* @return pkCountry
*/
Integer selectIndexFeedbackCount(Integer pkCountry,Long pkMember);
}

View File

@ -1,53 +0,0 @@
package com.hzs.system.base.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.hzs.common.core.enums.EFeedbackStatus;
import com.hzs.common.domain.system.base.BdFeedback;
import com.hzs.common.domain.system.base.BdFeedbackReply;
import com.hzs.system.base.mapper.BdFeedbackReplyMapper;
import com.hzs.system.base.service.IBdFeedbackReplyService;
import com.hzs.system.base.service.IBdFeedbackService;
import com.hzs.system.base.vo.BdFeedbackReplyVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/**
* <p>
* 意见反馈回复 服务实现类
* </p>
*
* @author hzs
* @since 2023-04-25
*/
@Service
public class BdFeedbackReplyServiceImpl extends ServiceImpl<BdFeedbackReplyMapper, BdFeedbackReply> implements IBdFeedbackReplyService {
@Autowired
IBdFeedbackService bdFeedbackService;
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean saveFeedbackReplyInfo(BdFeedbackReplyVO feedbackReplyVO) {
BdFeedback BdFeedback = bdFeedbackService.getById(feedbackReplyVO.getPkFeedbackId());
if (BdFeedback.getStatus().equals(EFeedbackStatus.NO_FEEDBACK.getValue())) {
bdFeedbackService.updateFeedbackById(feedbackReplyVO.getPkCreator(), feedbackReplyVO.getPkFeedbackId());
}
return save(BeanUtil.copyProperties(feedbackReplyVO, BdFeedbackReply.class));
}
@Override
public List<BdFeedbackReplyVO> selectFeedbackReplyById(Long pkFeedbackId, Integer pkCountry) {
QueryWrapper<BdFeedbackReply> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("PK_FEEDBACK_ID", pkFeedbackId);
queryWrapper.eq("PK_COUNTRY", pkCountry);
queryWrapper.orderByAsc("CREATION_TIME");
return BeanUtil.copyToList(baseMapper.selectList(queryWrapper), BdFeedbackReplyVO.class);
}
}

View File

@ -1,92 +0,0 @@
package com.hzs.system.base.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.hzs.common.core.constant.SystemFieldConstants;
import com.hzs.common.core.enums.EFeedbackStatus;
import com.hzs.common.domain.system.base.BdFeedback;
import com.hzs.common.domain.system.ext.BdFeedbackExt;
import com.hzs.system.base.mapper.BdFeedbackMapper;
import com.hzs.system.base.service.IBdFeedbackReplyService;
import com.hzs.system.base.service.IBdFeedbackService;
import com.hzs.system.base.vo.BdFeedbackReplyVO;
import com.hzs.system.base.vo.FeedbackVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
* <p>
* 意见反馈 服务实现类
* </p>
*
* @author hzs
* @since 2023-02-05
*/
@Service
public class BdFeedbackServiceImpl extends ServiceImpl<BdFeedbackMapper, BdFeedback> implements IBdFeedbackService {
@Autowired
IBdFeedbackReplyService bdFeedbackReplyService;
@Override
public Integer saveFeedback(FeedbackVO feedbackVO) {
BdFeedback bdFeedback = BeanUtil.copyProperties(feedbackVO, BdFeedback.class);
bdFeedback.setPkCreator(feedbackVO.getPkMember());
return baseMapper.insert(bdFeedback);
}
@Override
public Object[] selectFeedbackList(FeedbackVO feedbackVO) {
FeedbackVO feedback;
List<FeedbackVO> feedbackVOList = new ArrayList<>();
List<BdFeedbackExt> feedbackExtList = baseMapper.selectFeedbackList(feedbackVO);
if (CollUtil.isNotEmpty(feedbackExtList)) {
for (BdFeedbackExt feedbackExt : feedbackExtList) {
List<BdFeedbackReplyVO> bdFeedbackReplyVOList = bdFeedbackReplyService.selectFeedbackReplyById(feedbackExt.getPkId(), feedbackExt.getPkCountry());
feedback = BeanUtil.copyProperties(feedbackExt, FeedbackVO.class);
feedback.setFeedbackReplyList(bdFeedbackReplyVOList);
feedbackVOList.add(feedback);
}
}
Object[] objects = new Object[]{feedbackExtList, feedbackVOList};
return objects;
}
@Override
public Integer deleteById(FeedbackVO feedbackVO) {
return baseMapper.deleteById(feedbackVO);
}
@Override
public FeedbackVO showFeedbackVOById(Long pkId) {
FeedbackVO feedbackVO = BeanUtil.copyProperties(baseMapper.showFeedbackVOById(pkId), FeedbackVO.class);
List<BdFeedbackReplyVO> bdFeedbackReplyVOList = bdFeedbackReplyService.selectFeedbackReplyById(feedbackVO.getPkId(), feedbackVO.getPkCountry());
feedbackVO.setFeedbackReplyList(bdFeedbackReplyVOList);
return feedbackVO;
}
@Override
public Boolean updateFeedbackById(Long pkMember, Long pkId) {
UpdateWrapper<BdFeedback> updateWrapper = new UpdateWrapper<>();
updateWrapper.set("STATUS", EFeedbackStatus.FEEDBACK_PROVIDED.getValue());
updateWrapper.set(SystemFieldConstants.MODIFIED_TIME, new Date());
updateWrapper.set(SystemFieldConstants.PK_MODIFIED, pkMember);
updateWrapper.eq("PK_ID", pkId);
return update(updateWrapper);
}
@Override
public Integer selectIndexFeedbackCount(Integer pkCountry,Long pkMember) {
return baseMapper.selectIndexFeedbackCount(pkCountry,pkMember);
}
}

View File

@ -1,56 +0,0 @@
package com.hzs.system.base.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Date;
/**
* 意见反馈回复VO
*
* @Description:
* @Author: ljc
* @Time: 2023/4/25 14:01
* @Classname: BdFeedbackReplyVO
* @Package_name: com.hzs.system.base.vo
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class BdFeedbackReplyVO implements Serializable {
/**
* 主键
*/
private Long pkId;
/**
* 主表ID
*/
private Long pkFeedbackId;
/**
* 回复内容
*/
private String replyContent;
/**
* 会员主键
*/
private Long pkCreator;
/**
* 国家 ID
*/
private Integer pkCountry;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date creationTime;
}

View File

@ -9,12 +9,6 @@ import java.io.Serializable;
/** /**
* 会员首页 记录数显示 * 会员首页 记录数显示
*
* @Description:
* @Author: ljc
* @Time: 2023/5/9 17:37
* @Classname: BdNoticeCountVO
* @Package_name: com.hzs.system.base.vo
*/ */
@Data @Data
@Builder @Builder
@ -31,9 +25,4 @@ public class BdNoticeCountVO implements Serializable {
*/ */
private Integer stationNum; private Integer stationNum;
/**
* 意见反馈数
*/
private Integer feedbackNum;
} }

View File

@ -1,153 +0,0 @@
package com.hzs.system.base.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.hzs.common.core.annotation.Excel;
import com.hzs.common.core.annotation.Transaction;
import com.hzs.common.core.constant.EnumsPrefixConstants;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* 意见反馈VO
*
* @Description:
* @Author: ljc
* @Time: 2023/2/5 14:05
* @Classname: Feedback
* @Package_name: com.hzs.system.base.vo
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class FeedbackVO implements Serializable {
private static final long serialVersionUID = -847776348100846568L;
/**
* 主键
*/
private Long pkId;
/**
* 会员主键
*/
private Long pkMember;
/**
* 国家 ID
*/
private Integer pkCountry;
/**
* 会员编号
*/
@Excel(name = "会员编号")
private String memberCode;
/**
* 会员名称
*/
@Excel(name = "会员姓名")
private String memberName;
/**
* 体系名称
*/
@Excel(name = "隶属体系")
private String vertexName;
/**
* 团队名称
*/
@Excel(name = "隶属团队")
private String teamName;
/**
* 类型1业务 2平台BUG 3客服问题 4商品问题
*/
@NotNull(message = "请选择反馈类型")
@Transaction(transactionKey = EnumsPrefixConstants.FEEDBACK_TYPE)
private Integer type;
@Excel(name = "类型")
private String typeVal;
/**
* 意见
*/
@NotEmpty(message = "请填写反馈内容")
@Size(max = 500, message = "个人意见不能超过500位")
@Excel(name = "个人意见")
private String idea;
/**
* 状态1已反馈 2未反馈"
*/
@Transaction(transactionKey = EnumsPrefixConstants.FEEDBACK_STATUS)
private Integer status;
@Excel(name = "反馈状态")
private String statusVal;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "填写日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date creationTime;
/**
* 会员昵称
*/
private String nickName;
/**
* 会员头像
*/
private String headPath;
/**
* 是否显示七天的数据
*/
private Integer isShowDay;
/**
* 修改人ID
*/
private Long pkModified;
/**
* 开始时间
*/
private String startDate;
/**
* 结束时间
*/
private String endDate;
/**
* 隶属体系
*/
private Integer pkVertex;
/**
* 隶属团队
*/
private Integer pkTeamCode;
/**
* 回复信息
*/
private List<BdFeedbackReplyVO> feedbackReplyList;
}

View File

@ -1540,26 +1540,7 @@ public class EnumsController extends BaseController {
} }
/** /**
* 意见反馈类型 * 发布位置
*
* @return AjaxResult
*/
@GetMapping("/feedback-type")
public AjaxResult getFeedback() {
List<EnumEntity> enumEntityList = new ArrayList<>();
for (EFeedbackType value : EFeedbackType.values()) {
enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.FEEDBACK_TYPE));
}
return AjaxResult.success(enumEntityList);
}
/**
* @description: 发布位置
* @author: zhang jing
* @date: 2022/12/8 17:48
* @param: []
* @return: com.hzs.common.core.web.domain.AjaxResult
**/ **/
@GetMapping("/position") @GetMapping("/position")
public AjaxResult getEPosition() { public AjaxResult getEPosition() {
@ -1571,11 +1552,7 @@ public class EnumsController extends BaseController {
} }
/** /**
* @description: 发布位置 * 发布位置
* @author: zhang jing
* @date: 2022/12/8 17:48
* @param: []
* @return: com.hzs.common.core.web.domain.AjaxResult
**/ **/
@GetMapping("/position-two") @GetMapping("/position-two")
public AjaxResult getEPositionTwo() { public AjaxResult getEPositionTwo() {
@ -2441,21 +2418,6 @@ public class EnumsController extends BaseController {
return AjaxResult.success(enumEntityList); return AjaxResult.success(enumEntityList);
} }
/**
* 意见反馈状态
*
* @return
*/
@GetMapping("/get-feedback-status")
public AjaxResult getFeedbackStatus() {
List<EnumEntity> enumEntityList = new ArrayList<>();
for (EFeedbackStatus value : EFeedbackStatus.values()) {
enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.FEEDBACK_STATUS));
}
return AjaxResult.success(enumEntityList);
}
/** /**
* 比率类型 * 比率类型
* *

View File

@ -481,13 +481,6 @@ public class EnumsInitController {
for (ENoticeGrade value : ENoticeGrade.values()) { for (ENoticeGrade value : ENoticeGrade.values()) {
initList.add(this.createData(value.getKey(), value.getLabel())); initList.add(this.createData(value.getKey(), value.getLabel()));
} }
/**
* 意见反馈类型
*/
for (EFeedbackType value : EFeedbackType.values()) {
initList.add(this.createData(value.getKey(), value.getLabel()));
}
/** /**
* 业务办理流程类型 * 业务办理流程类型
*/ */
@ -629,10 +622,6 @@ public class EnumsInitController {
for (EReachState value : EReachState.values()) { for (EReachState value : EReachState.values()) {
initList.add(this.createData(value.getKey(), value.getLabel())); initList.add(this.createData(value.getKey(), value.getLabel()));
} }
// 意见反馈状态
for (EFeedbackStatus value : EFeedbackStatus.values()) {
initList.add(this.createData(value.getKey(), value.getLabel()));
}
// 比率类型 // 比率类型
for (ERatioType value : ERatioType.values()) { for (ERatioType value : ERatioType.values()) {
initList.add(this.createData(value.getKey(), value.getLabel())); initList.add(this.createData(value.getKey(), value.getLabel()));

View File

@ -1,118 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.hzs.system.base.mapper.BdFeedbackMapper">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="com.hzs.common.domain.system.base.BdFeedback">
<result column="CREATION_TIME" property="creationTime"/>
<result column="MODIFIED_TIME" property="modifiedTime"/>
<result column="DEL_FLAG" property="delFlag"/>
<result column="PK_COUNTRY" property="pkCountry"/>
<result column="PK_CREATOR" property="pkCreator"/>
<result column="PK_MODIFIED" property="pkModified"/>
<result column="PK_ID" property="pkId"/>
<result column="PK_MEMBER" property="pkMember"/>
<result column="TYPE" property="type"/>
<result column="IDEA" property="idea"/>
<result column="STATUS" property="status"/>
</resultMap>
<!-- 通用查询结果列 -->
<sql id="Base_Column_List">
CREATION_TIME,
MODIFIED_TIME,
DEL_FLAG,
PK_COUNTRY,
PK_CREATOR,
PK_MODIFIED,
PK_ID, PK_MEMBER, TYPE, IDEA
</sql>
<select id="selectFeedbackList" resultType="com.hzs.common.domain.system.ext.BdFeedbackExt">
select m.member_code memberCode,
m.member_name memberName,
m.nick_name nickName,
m.head_path headPath,
f.type,
f.status,
f.idea,
f.pk_id pkId,
f.pk_country pkCountry,
f.creation_time creationTime,
bv.VERTEX_NAME vertexName,
cmt.team_name teamName
from bd_feedback f
left join cu_member m
on f.pk_member = m.pk_id
left join bd_vertex bv on bv.PK_ID = m.PK_VERTEX
left join cu_member_team cmt on m.pk_team_code = cmt.pk_id
where f.del_flag = 0
and f.pk_country = #{pkCountry}
<if test="memberCode != null and memberCode != ''">
and m.member_code like #{memberCode} || '%'
</if>
<if test="memberName != null and memberName != ''">
and m.member_name like #{memberName} || '%'
</if>
<if test="pkVertex != null">
and m.PK_VERTEX=#{pkVertex}
</if>
<if test="pkTeamCode != null">
and m.PK_TEAM_CODE=#{pkTeamCode}
</if>
<if test="type != null">
and f.type = #{type}
</if>
<if test="status != null">
and f.status = #{status}
</if>
<if test="startDate != null and startDate != ''">
and f.CREATION_TIME >= to_date(#{startDate}, 'yyyy-mm-dd')
</if>
<if test="endDate != null and endDate != ''">
and f.CREATION_TIME &lt;= to_date(#{endDate} || ' 23:59:59', 'yyyy-mm-dd hh24:mi:ss')
</if>
<if test='isShowDay != null and isShowDay == "1"'>
and n.creation_time >= trunc(SYSDATE - 6)
</if>
<if test="pkMember != null">
and f.PK_MEMBER = #{pkMember}
</if>
order by f.creation_time desc
</select>
<select id="selectIndexFeedbackCount" resultType="Integer">
select count(1)
from bd_feedback f
where f.del_flag = 0
and f.pk_country = #{pkCountry}
and f.PK_MEMBER = #{pkMember}
</select>
<update id="deleteById">
update bd_feedback f
set f.del_flag = 1, f.modified_time = sysdate, f.pk_modified = #{pkModified}
where f.pk_id = #{pkId}
</update>
<select id="showFeedbackVOById" resultType="com.hzs.common.domain.system.ext.BdFeedbackExt">
select m.member_code memberCode,
m.member_name memberName,
m.nick_name nickName,
m.head_path headPath,
f.type,
f.status,
f.idea,
f.pk_id pkId,
f.pk_country pkCountry,
f.creation_time creationTime
from bd_feedback f
left join cu_member m
on f.pk_member = m.pk_id
where f.del_flag = 0
and f.pk_id = #{pkId}
</select>
</mapper>

View File

@ -1,29 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.hzs.system.base.mapper.BdFeedbackReplyMapper">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="com.hzs.common.domain.system.base.BdFeedbackReply">
<id column="PK_ID" property="pkId"/>
<result column="CREATION_TIME" property="creationTime"/>
<result column="MODIFIED_TIME" property="modifiedTime"/>
<result column="DEL_FLAG" property="delFlag"/>
<result column="PK_COUNTRY" property="pkCountry"/>
<result column="PK_CREATOR" property="pkCreator"/>
<result column="PK_MODIFIED" property="pkModified"/>
<result column="PK_FEEDBACK_ID" property="pkFeedbackId"/>
<result column="REPLY_CONTENT" property="replyContent"/>
</resultMap>
<!-- 通用查询结果列 -->
<sql id="Base_Column_List">
CREATION_TIME,
MODIFIED_TIME,
DEL_FLAG,
PK_COUNTRY,
PK_CREATOR,
PK_MODIFIED,
PK_ID, PK_FEEDBACK_ID, REPLY_CONTENT
</sql>
</mapper>

View File

@ -821,12 +821,6 @@ public class EnumsPrefixConstants {
*/ */
public static final String NOTICE_GRADE = "ENU_NOTICE_GRADE_"; public static final String NOTICE_GRADE = "ENU_NOTICE_GRADE_";
/**
* 意见反馈类型
*/
public static final String FEEDBACK_TYPE = "ENU_FEEDBACK_T_";
/** /**
* 注水方式 * 注水方式
*/ */

View File

@ -14,9 +14,9 @@ public class SysConstants {
*/ */
public static final String RETAIL_PREFIX = "RE"; public static final String RETAIL_PREFIX = "RE";
/** /**
* 新零售顶点 * 顶点
*/ */
public static final String RETAIL_TOP_CODE = "HZS30720290"; public static final String RETAIL_TOP_CODE = "GJ30720200";
/** /**
* 登录密码 * 登录密码

View File

@ -6,8 +6,6 @@ import lombok.Getter;
/** /**
* 货币种类 * 货币种类
*
* @author: hzs
*/ */
@AllArgsConstructor @AllArgsConstructor
@Getter @Getter

View File

@ -21,54 +21,46 @@ public enum EAwards {
* 0= * 0=
*/ */
MEMBER(1, 0, "", 0, EnumsPrefixConstants.AWARDS + 0), MEMBER(1, 0, "", 0, EnumsPrefixConstants.AWARDS + 0),
/** /**
* V1 * 黄宝
*/ */
HEADER(2, 5, "一级", 0, EnumsPrefixConstants.AWARDS + 5), HEADER(2, 5, "一级", 0, EnumsPrefixConstants.AWARDS + 5),
/** /**
* V2 * 绿宝
*/ */
MANAGER(3, 10, "二级", 0, EnumsPrefixConstants.AWARDS + 10), MANAGER(3, 10, "二级", 0, EnumsPrefixConstants.AWARDS + 10),
/** /**
* V3 * 蓝宝
*/ */
HIGH_MANAGER(4, 15, "三级", 0, EnumsPrefixConstants.AWARDS + 15), HIGH_MANAGER(4, 15, "三级", 0, EnumsPrefixConstants.AWARDS + 15),
/** /**
* V4 * 钻石
*/ */
SENIOR_MANAGER(5, 20, "四级", 0, EnumsPrefixConstants.AWARDS + 20), SENIOR_MANAGER(5, 20, "四级", 0, EnumsPrefixConstants.AWARDS + 20),
/** /**
* V5 * 黄钻
*/ */
CHIEF(6, 25, "五级", 0, EnumsPrefixConstants.AWARDS + 25), CHIEF(6, 25, "五级", 0, EnumsPrefixConstants.AWARDS + 25),
/** /**
* V6 * 绿钻
*/ */
HIGH_CHIEF(7, 30, "六级", 0, EnumsPrefixConstants.AWARDS + 30), HIGH_CHIEF(7, 30, "六级", 0, EnumsPrefixConstants.AWARDS + 30),
/** /**
* 董事 * 星耀蓝钻
*/ */
SENIOR_CHIEF(8, 35, "七级", 0, EnumsPrefixConstants.AWARDS + 35), SENIOR_CHIEF(8, 35, "七级", 0, EnumsPrefixConstants.AWARDS + 35),
/** /**
* 合伙人 * 王者红钻
*/ */
CHAIRMAN(9, 40, "八级", 0, EnumsPrefixConstants.AWARDS + 40), CHAIRMAN(9, 40, "八级", 0, EnumsPrefixConstants.AWARDS + 40),
/** /**
* 荣誉董事 * 传奇紫钻
*/ */
HONOR_CHAIRMAN(10, 45, "九级", 0, EnumsPrefixConstants.AWARDS + 45), HONOR_CHAIRMAN(10, 45, "九级", 0, EnumsPrefixConstants.AWARDS + 45),
/** /**
* 全球董事 * 10
*/ */
GLOBAL_CHAIRMAN(11, 50, "十级", 0, EnumsPrefixConstants.AWARDS + 50), GLOBAL_CHAIRMAN(11, 50, "十级", 0, EnumsPrefixConstants.AWARDS + 50),
/** /**

View File

@ -14,41 +14,35 @@ public enum EBonusItems {
/** /**
* 嗨粉直推 禁用 * 嗨粉直推 禁用
*/ */
HI_PINK(1, "嗨粉直推", 1, EnumsPrefixConstants.BONUS_ITEMS + 1), HI_PINK(1, "旧嗨粉直推", 1, EnumsPrefixConstants.BONUS_ITEMS + 1),
/** /**
* 启动卡直推 * 启动卡直推
*/ */
BOOT_CARD(2, "启动卡直推", 0, EnumsPrefixConstants.BONUS_ITEMS + 2), BOOT_CARD(2, "旧启动卡直推", 0, EnumsPrefixConstants.BONUS_ITEMS + 2),
/**
* 直推收益
*/
DIRECT_INCOME(3, "直推收益", 0, EnumsPrefixConstants.BONUS_ITEMS + 3),
/** /**
* 拓展收益 * 拓展收益
*/ */
EXPANSION_INCOME(4, "拓展收益", 0, EnumsPrefixConstants.BONUS_ITEMS + 4), EXPANSION_INCOME(4, "旧拓展收益", 0, EnumsPrefixConstants.BONUS_ITEMS + 4),
/** /**
* 辅导收益 * 辅导收益
*/ */
COACHING_INCOME(5, "辅导收益", 0, EnumsPrefixConstants.BONUS_ITEMS + 5), COACHING_INCOME(5, "辅导收益", 0, EnumsPrefixConstants.BONUS_ITEMS + 5),
/** /**
* 分红收益 * 分红收益
*/ */
DIVIDEND_INCOME(6, "分红收益", 0, EnumsPrefixConstants.BONUS_ITEMS + 6), DIVIDEND_INCOME(6, "分红收益", 0, EnumsPrefixConstants.BONUS_ITEMS + 6),
/** /**
* 服务补贴 * 服务补贴
*/ */
SERVICE_SUBSIDIES(7, "服务补贴", 0, EnumsPrefixConstants.BONUS_ITEMS + 7), SERVICE_SUBSIDIES(7, "服务补贴", 0, EnumsPrefixConstants.BONUS_ITEMS + 7),
/** /**
* 复购极差收益 * 复购极差收益
*/ */
REPURCHASE_RANGE_INCOME(8, "复购极差收益", 0, EnumsPrefixConstants.BONUS_ITEMS + 8), REPURCHASE_RANGE_INCOME(8, "复购极差收益", 0, EnumsPrefixConstants.BONUS_ITEMS + 8),
/** /**
* 消费拓展收益 * 消费拓展收益
*/ */
CONSUMPTION_EXPANSION_INCOME(9, "消费拓展收益", 0, EnumsPrefixConstants.BONUS_ITEMS + 9), CONSUMPTION_EXPANSION_INCOME(9, "消费拓展收益", 0, EnumsPrefixConstants.BONUS_ITEMS + 9),
/** /**
* 商城重销 * 商城重销
*/ */
@ -56,50 +50,75 @@ public enum EBonusItems {
/** /**
* 平台服务费 * 平台服务费
*/ */
PLATFORM_SERVICE_FEE(11, "平台服务费", 0, EnumsPrefixConstants.BONUS_ITEMS + 11), PLATFORM_SERVICE_FEE(11, "平台服务费", 0, EnumsPrefixConstants.BONUS_ITEMS + 11),
/** /**
* 复购券 * 复购券
*/ */
REPURCHASE_COUPONS(12, "复购券", 0, EnumsPrefixConstants.BONUS_ITEMS + 12), REPURCHASE_COUPONS(12, "复购券", 0, EnumsPrefixConstants.BONUS_ITEMS + 12),
/** /**
* 复购券均分收益 * 复购券均分收益
*/ */
REPURCHASE_COUPONS_SHARE(13, "复购券均分", 0, EnumsPrefixConstants.BONUS_ITEMS + 13), REPURCHASE_COUPONS_SHARE(13, "复购券均分", 0, EnumsPrefixConstants.BONUS_ITEMS + 13),
/** /**
* 云代直推收益 修改为幸运收益 * 云代直推收益 修改为幸运收益
*/ */
CLOUD_AGENT_DIRECT_PUSH(14, "幸运收益", 0, EnumsPrefixConstants.BONUS_ITEMS + 14), CLOUD_AGENT_DIRECT_PUSH(14, "幸运收益", 0, EnumsPrefixConstants.BONUS_ITEMS + 14),
/** /**
* 云代首购收益 修改为极差收益 * 云代首购收益 修改为极差收益
*/ */
CLOUD_AGENT_FIRST_PURCHASE(15, "极差收益", 0, EnumsPrefixConstants.BONUS_ITEMS + 15), CLOUD_AGENT_FIRST_PURCHASE(15, "极差收益", 0, EnumsPrefixConstants.BONUS_ITEMS + 15),
/** /**
* 云代复购收益 修改为平级收益 * 云代复购收益 修改为平级收益
*/ */
CLOUD_AGENT_REPURCHASE(16, "平级收益", 0, EnumsPrefixConstants.BONUS_ITEMS + 16), CLOUD_AGENT_REPURCHASE(16, "旧平级收益", 0, EnumsPrefixConstants.BONUS_ITEMS + 16),
/** /**
* 店铺收益 * 店铺收益
*/ */
STORE_INCOME(23, "店铺收益", 0, EnumsPrefixConstants.BONUS_ITEMS + 23), STORE_INCOME(23, "旧店铺收益", 0, EnumsPrefixConstants.BONUS_ITEMS + 23),
/** /**
* 复购直推收益 修改为互助收益 * 复购直推收益 修改为互助收益
*/ */
HELP_EACH_INCOME(24, "互助收益", 0, EnumsPrefixConstants.BONUS_ITEMS + 24), HELP_EACH_INCOME(24, "互助收益", 0, EnumsPrefixConstants.BONUS_ITEMS + 24),
////////////////////////////////////////////////// 新奖项 //////////////////////////////////////////////////
RETAIL_RANGE_INCOME(25, "新零售极差收益", 0, EnumsPrefixConstants.BONUS_ITEMS + 25), /**
* 直推收益 -- 秒结日奖
*/
DIRECT_INCOME(3, "直推收益", 0, EnumsPrefixConstants.BONUS_ITEMS + 3),
/**
* 平级收益新零售平级收益 -- 秒结日奖
*/
RETAIL_SAME_LEVEL_INCOME(26, "平级收益", 0, EnumsPrefixConstants.BONUS_ITEMS + 26),
/**
* 区域分红新零售区域收益 -- 秒结日奖
*/
RETAIL_AREA_INCOME(27, "区域分红", 0, EnumsPrefixConstants.BONUS_ITEMS + 27),
/**
* 月度级差收益新零售极差收益 -- 月结月奖
*/
RETAIL_RANGE_INCOME(25, "月度级差收益", 0, EnumsPrefixConstants.BONUS_ITEMS + 25),
/**
* 复购级差收益 -- 月结月奖
*/
RETAIL_MONTH_REPURCHASE_INCOME(31, "复购级差收益", 0, EnumsPrefixConstants.BONUS_ITEMS + 31),
/**
* 月度分红 - 平均收益新零售福利平均收益 -- 月结月奖
*/
RETAIL_BENEFIT_AVG_INCOME(28, "月度分红平均收益", 0, EnumsPrefixConstants.BONUS_ITEMS + 28),
/**
* 月度分红 - 加权收益新零售福利加权收益 -- 月结月奖
*/
RETAIL_BENEFIT_INCOME(29, "月度分红加权收益", 0, EnumsPrefixConstants.BONUS_ITEMS + 29),
/**
* 培育津贴 -- 月结月奖
*/
RETAIL_COACHING_INCOME(32, "培育津贴", 0, EnumsPrefixConstants.BONUS_ITEMS + 32),
RETAIL_SAME_LEVEL_INCOME(26, "新零售平级收益", 0, EnumsPrefixConstants.BONUS_ITEMS + 26), /**
* 旧新零售福利极差收益新零售福利极差收益
RETAIL_AREA_INCOME(27, "新零售区域收益", 0, EnumsPrefixConstants.BONUS_ITEMS + 27), */
RETAIL_BENEFIT_RANGE_INCOME(30, "旧新零售福利极差收益", 0, EnumsPrefixConstants.BONUS_ITEMS + 30),
RETAIL_BENEFIT_AVG_INCOME(28, "新零售福利平均收益", 0, EnumsPrefixConstants.BONUS_ITEMS + 28),
RETAIL_BENEFIT_INCOME(29, "新零售福利加权收益", 0, EnumsPrefixConstants.BONUS_ITEMS + 29),
RETAIL_BENEFIT_RANGE_INCOME(30, "新零售福利极差收益", 0, EnumsPrefixConstants.BONUS_ITEMS + 30),
; ;

View File

@ -1,46 +0,0 @@
package com.hzs.common.core.enums;
import com.hzs.common.core.constant.EnumsPrefixConstants;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 意见反馈状态
*
* @Description:
* @Author: ljc
* @Time: 2023/5/6 11:27
* @Classname: EFeedbackStatus
* @Package_name: com.hzs.common.core.enums
*/
@AllArgsConstructor
@Getter
public enum EFeedbackStatus {
/**
* 已反馈
*/
FEEDBACK_PROVIDED(1, "已反馈", 0, EnumsPrefixConstants.FEEDBACK_STATUS + 1),
/**
* 未反馈
*/
NO_FEEDBACK(2, "未反馈", 0, EnumsPrefixConstants.FEEDBACK_STATUS + 2);
/**
* 实际值
*/
private final int value;
/**
* 显示标签
*/
private final String label;
/**
* 是否启用0=,1= -- 来源EYesNo
*/
private final int enable;
/**
* 国际化翻译key值
*/
private final String key;
}

View File

@ -1,56 +0,0 @@
package com.hzs.common.core.enums;
import com.hzs.common.core.constant.EnumsPrefixConstants;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 意见反馈类型
*
* @Description:
* @Author: ljc
* @Time: 2023/2/2 11:35
* @Classname: ENoticeType
* @Package_name: com.hzs.common.core.enums
*/
@AllArgsConstructor
@Getter
public enum EFeedbackType {
/**
* 业务咨询
*/
BUSINESS(1, "业务咨询", 0, EnumsPrefixConstants.FEEDBACK_TYPE + "1"),
/**
* 平台BUG
*/
PLATFORM_BUG(2, "平台BUG", 0, EnumsPrefixConstants.FEEDBACK_TYPE + "2"),
/**
* 客服问题
*/
CUSTOMER_QUESTION(3, "客服问题", 0,EnumsPrefixConstants.FEEDBACK_TYPE + "3"),
/**
* 商品问题
*/
COMMODITY_QUESTION(4, "商品问题", 0, EnumsPrefixConstants.FEEDBACK_TYPE + "4");
/**
* 实际值
*/
private final int value;
/**
* 显示标签
*/
private final String label;
/**
* 是否启用0=,1= -- 来源EYesNo
*/
private final int enable;
/**
* 国际化翻译key值
*/
private final String key;
}

View File

@ -26,32 +26,32 @@ public enum EGrade {
LOGGED_OUT(-2, 0, "已注销", 1, EnumsPrefixConstants.ENU_CAT + 2, MemberFrameworkConstants.LOG_OFF), LOGGED_OUT(-2, 0, "已注销", 1, EnumsPrefixConstants.ENU_CAT + 2, MemberFrameworkConstants.LOG_OFF),
/** /**
* * 顾客
*/ */
START_UP(1, 20, "V0", 0, EnumsPrefixConstants.GRADE + "20", MemberFrameworkConstants.START_UP), START_UP(1, 20, "V0", 0, EnumsPrefixConstants.GRADE + "20", MemberFrameworkConstants.START_UP),
/** /**
* * VIP
*/ */
HAI_FAN(2, 30, "V1", 0, EnumsPrefixConstants.GRADE + "30", MemberFrameworkConstants.Hi_Pink), HAI_FAN(2, 30, "V1", 0, EnumsPrefixConstants.GRADE + "30", MemberFrameworkConstants.Hi_Pink),
/** /**
* 消费商 * SVIP
*/ */
YOU_KE(3, 40, "V2", 0, EnumsPrefixConstants.GRADE + "40", MemberFrameworkConstants.YOU_KE), YOU_KE(3, 40, "V2", 0, EnumsPrefixConstants.GRADE + "40", MemberFrameworkConstants.YOU_KE),
/** /**
* 卓越经销商 * 卓越
*/ */
MAKER(4, 50, "V3", 0, EnumsPrefixConstants.GRADE + "50", MemberFrameworkConstants.MAKER), MAKER(4, 50, "V3", 0, EnumsPrefixConstants.GRADE + "50", MemberFrameworkConstants.MAKER),
/** /**
* 首席经销商 * 首席
*/ */
VIP(5, 60, "V4", 0, EnumsPrefixConstants.GRADE + "60", MemberFrameworkConstants.VIP), VIP(5, 60, "V4", 0, EnumsPrefixConstants.GRADE + "60", MemberFrameworkConstants.VIP),
/** /**
* * 合伙人
*/ */
S_VIP(6, 70, "V5", 0, EnumsPrefixConstants.GRADE + "70", MemberFrameworkConstants.S_VIP), S_VIP(6, 70, "V5", 0, EnumsPrefixConstants.GRADE + "70", MemberFrameworkConstants.S_VIP),

View File

@ -203,8 +203,6 @@ public enum EOperationBusiness {
MESSAGE_MANAGE("站内信"), MESSAGE_MANAGE("站内信"),
MEMBER_FEEDBACK("意见反馈"),
MESSAGE_CONFIG("站内信配置"), MESSAGE_CONFIG("站内信配置"),
//////////////////// 财务管理 //////////////////// //////////////////// 财务管理 ////////////////////

View File

@ -138,8 +138,6 @@ public enum EOperationModule {
NOTICE_MANAGE("后台公告"), NOTICE_MANAGE("后台公告"),
MEMBER_FEEDBACK("意见反馈"),
NOTICE_RELEASE("发布公告"), NOTICE_RELEASE("发布公告"),
MESSAGE_CONFIG("站内信配置"), MESSAGE_CONFIG("站内信配置"),

View File

@ -5,11 +5,7 @@ import lombok.AllArgsConstructor;
import lombok.Getter; import lombok.Getter;
/** /**
* @Description: 商品单位类型 * 商品单位类型
* @Author: yuhui
* @Time: 2022/9/2 14:03
* @Classname: EUnit
* @PackageName: com.hzs.common.core.enums
*/ */
@AllArgsConstructor @AllArgsConstructor
@Getter @Getter
@ -58,7 +54,7 @@ public enum EUnit {
return BOX; return BOX;
} else if (ALONE.getValue() == value) { } else if (ALONE.getValue() == value) {
return ALONE; return ALONE;
}else if (PIECE.getValue() == value) { } else if (PIECE.getValue() == value) {
return PIECE; return PIECE;
} }
return BOX; return BOX;

View File

@ -7,12 +7,7 @@ import lombok.EqualsAndHashCode;
import java.math.BigDecimal; import java.math.BigDecimal;
/** /**
* @description: 新零售极差实体 * 新零售极差实体
* @author: sui q
* @time: 2024/12/9 13:54
* @classname: CuMemberRetailRangeExt
* @package_name: com.hzs.common.domain.member.achieve.ext
* version 1.0.0
*/ */
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@Data @Data

View File

@ -10,12 +10,7 @@ import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
/** /**
* <p>
* 秒接日志记录表 * 秒接日志记录表
* </p>
*
* @author hzs
* @since 2024-12-27
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@ -62,5 +57,4 @@ public class CuMemberRetailLog extends BaseEntity {
@TableField("RETRY_NUM") @TableField("RETRY_NUM")
private Integer retryNum; private Integer retryNum;
} }

View File

@ -13,12 +13,7 @@ import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
/** /**
* <p>
* 产品基本设置 * 产品基本设置
* </p>
*
* @author hzs
* @since 2023-11-21
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@ -60,7 +55,6 @@ public class BdProductBas extends BaseEntity {
private Integer unit; private Integer unit;
/** /**
* 以厘米作为单位 * 以厘米作为单位
*/ */

View File

@ -1,61 +0,0 @@
package com.hzs.common.domain.system.base;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableField;
import com.hzs.common.core.web.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
* 意见反馈
* </p>
*
* @author hzs
* @since 2023-02-05
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("BD_FEEDBACK")
@KeySequence("BD_FEEDBACK_SEQ")
public class BdFeedback extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@TableId("PK_ID")
private Long pkId;
/**
* 会员主键
*/
@TableField("PK_MEMBER")
private Long pkMember;
/**
* 类型1业务 2平台BUG 3客服问题 4商品问题
*/
@TableField("TYPE")
private Integer type;
/**
* 意见
*/
@TableField("IDEA")
private String idea;
/**
* 状态1已反馈 2未反馈"
*/
@TableField("STATUS")
private Integer status;
}

View File

@ -1,48 +0,0 @@
package com.hzs.common.domain.system.base;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import com.hzs.common.core.web.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
* 意见反馈回复
* </p>
*
* @author hzs
* @since 2023-04-25
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("BD_FEEDBACK_REPLY")
@KeySequence("BD_FEEDBACK_REPLY_SEQ")
public class BdFeedbackReply extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@TableId("PK_ID")
private Long pkId;
/**
* 主表ID
*/
@TableField("PK_FEEDBACK_ID")
private Long pkFeedbackId;
/**
* 回复内容
*/
@TableField("REPLY_CONTENT")
private String replyContent;
}

View File

@ -1,49 +0,0 @@
package com.hzs.common.domain.system.ext;
import com.hzs.common.domain.system.base.BdFeedback;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 意见反馈
*
* @Description:
* @Author: ljc
* @Time: 2023/2/5 14:55
* @Classname: BdFeedbackExt
* @Package_name: com.hzs.common.domain.system.ext
*/
@EqualsAndHashCode(callSuper = true)
@Data
public class BdFeedbackExt extends BdFeedback {
/**
* 会员编号
*/
private String memberCode;
/**
* 会员名称
*/
private String memberName;
/**
* 会员昵称
*/
private String nickName;
/**
* 会员头像
*/
private String headPath;
/**
* 体系名称
*/
private String vertexName;
/**
* 团队名称
*/
private String teamName;
}