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

This commit is contained in:
sangelxiu1 2025-07-04 09:26:16 +08:00
commit c274fba09e
21 changed files with 436 additions and 273 deletions

View File

@ -42,7 +42,7 @@ public class CuMemberTreeServiceImpl extends ServiceImpl<CuMemberTreeMapper, CuM
baseMapper.createCuMemberTreeParentIndex(settleTableName); baseMapper.createCuMemberTreeParentIndex(settleTableName);
baseMapper.createCuMemberTreePlaceIndex(settleTableName); baseMapper.createCuMemberTreePlaceIndex(settleTableName);
} }
// 创建新零售差结算记录表 // 创建新零售差结算记录表
String retailRangeTableName = TableNameConstants.CU_MEMBER_RETAIL_RANGE + period; String retailRangeTableName = TableNameConstants.CU_MEMBER_RETAIL_RANGE + period;
number = baseMapper.queryExistOracleTable(retailRangeTableName); number = baseMapper.queryExistOracleTable(retailRangeTableName);
if (number == null || number <= 0) { if (number == null || number <= 0) {

View File

@ -204,8 +204,10 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
// 当天的撤单 // 当天的撤单
List<CuMemberRetailRangeExt> memberRetailRangeExtList; List<CuMemberRetailRangeExt> memberRetailRangeExtList;
String rangeTableName = TableNameConstants.CU_MEMBER_RETAIL_RANGE + beforePeriod; String rangeTableName = TableNameConstants.CU_MEMBER_RETAIL_RANGE + beforePeriod;
// 是否当天
boolean isSecond = DateUtils.isSameDay(saOrderExt.getPayTime(), DateUtils.currentDate());
if (DateUtils.isSameDay(saOrderExt.getPayTime(), DateUtils.currentDate())) { if (isSecond) {
// 当天撤单 // 当天撤单
// 实时网体查询血缘伞上会员更新秒结表等级奖衔 // 实时网体查询血缘伞上会员更新秒结表等级奖衔
iCuMemberRetailRangeService.mergeMemberRetailGradeByMember(secondRangeTableName, saOrderExt.getPkMember(), EYesNo.YES.getIntValue()); iCuMemberRetailRangeService.mergeMemberRetailGradeByMember(secondRangeTableName, saOrderExt.getPkMember(), EYesNo.YES.getIntValue());
@ -274,9 +276,12 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
sourceMemberRangeExt.setNewConsumePv(ComputeUtil.computeSubtract(sourceMemberRangeExt.getNewConsumePv(), orderAchieve)); sourceMemberRangeExt.setNewConsumePv(ComputeUtil.computeSubtract(sourceMemberRangeExt.getNewConsumePv(), orderAchieve));
sourceMemberRangeExt.setConsumePv(ComputeUtil.computeSubtract(sourceMemberRangeExt.getConsumePv(), orderAchieve)); sourceMemberRangeExt.setConsumePv(ComputeUtil.computeSubtract(sourceMemberRangeExt.getConsumePv(), orderAchieve));
sourceMemberRangeExt.setMonthConsumePv(ComputeUtil.computeSubtract(sourceMemberRangeExt.getMonthConsumePv(), orderAchieve)); sourceMemberRangeExt.setMonthConsumePv(ComputeUtil.computeSubtract(sourceMemberRangeExt.getMonthConsumePv(), orderAchieve));
if (isSecond) {
// 当天
// 累计盒数业绩不管激活不激活都处理兼容不激活判断显示有问题 // 累计盒数业绩不管激活不激活都处理兼容不激活判断显示有问题
sourceMemberRangeExt.setAllNewBoxNum(sourceMemberRangeExt.getAllNewBoxNum().subtract(boxNum)); sourceMemberRangeExt.setAllNewBoxNum(sourceMemberRangeExt.getAllNewBoxNum().subtract(boxNum));
sourceMemberRangeExt.setAllNewConsumePv(sourceMemberRangeExt.getAllNewConsumePv().subtract(orderAchieve)); sourceMemberRangeExt.setAllNewConsumePv(sourceMemberRangeExt.getAllNewConsumePv().subtract(orderAchieve));
}
// 会员等级map // 会员等级map
Map<String, CuMemberGrade> cuMemberGradeMap = new HashMap<>(); Map<String, CuMemberGrade> cuMemberGradeMap = new HashMap<>();
@ -289,7 +294,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
cuMemberGradeMap, cuMemberAwardsMap, cuMemberShareAwardsMap, sourceMemberRangeExt); cuMemberGradeMap, cuMemberAwardsMap, cuMemberShareAwardsMap, sourceMemberRangeExt);
// 计算团队业绩盒数计算等级奖衔 // 计算团队业绩盒数计算等级奖衔
List<CuMemberRetailRangeExt> cuMemberRetailRangeExtList = calculateRetailBackRangeGradeAwards(currentPeriod, memberRangeExtMap, rangeTableName, saOrderExt, retailTeamGradeMap, retailAwardsMap, List<CuMemberRetailRangeExt> cuMemberRetailRangeExtList = calculateRetailBackRangeGradeAwards(currentPeriod, memberRangeExtMap, rangeTableName, saOrderExt, retailTeamGradeMap, retailAwardsMap,
secondRangeTableName, boxNum, cuMemberGradeMap, cuMemberAwardsMap, cuMemberShareAwardsMap); secondRangeTableName, boxNum, cuMemberGradeMap, cuMemberAwardsMap, cuMemberShareAwardsMap, isSecond);
cuMemberRetailRangeExtList.add(sourceMemberRangeExt); cuMemberRetailRangeExtList.add(sourceMemberRangeExt);
// 查询期间的等级 // 查询期间的等级
@ -532,6 +537,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
sourceMemberRangeExt.setNewConsumePv(ComputeUtil.computeAdd(sourceMemberRangeExt.getNewConsumePv(), orderAchieve)); sourceMemberRangeExt.setNewConsumePv(ComputeUtil.computeAdd(sourceMemberRangeExt.getNewConsumePv(), orderAchieve));
sourceMemberRangeExt.setConsumePv(ComputeUtil.computeAdd(sourceMemberRangeExt.getConsumePv(), orderAchieve)); sourceMemberRangeExt.setConsumePv(ComputeUtil.computeAdd(sourceMemberRangeExt.getConsumePv(), orderAchieve));
sourceMemberRangeExt.setMonthConsumePv(ComputeUtil.computeAdd(sourceMemberRangeExt.getMonthConsumePv(), orderAchieve)); sourceMemberRangeExt.setMonthConsumePv(ComputeUtil.computeAdd(sourceMemberRangeExt.getMonthConsumePv(), orderAchieve));
// 计算自己等级奖衔等 // 计算自己等级奖衔等
calculateGradeAwards(period, memberRangeExtMap, rangeTableName, saOrderExt, retailTeamGradeMap, retailAwardsMap, calculateGradeAwards(period, memberRangeExtMap, rangeTableName, saOrderExt, retailTeamGradeMap, retailAwardsMap,
null, cuMemberGradeList, cuMemberAwardsList, sourceMemberRangeExt, activateMap); null, cuMemberGradeList, cuMemberAwardsList, sourceMemberRangeExt, activateMap);
@ -546,13 +552,15 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
) { ) {
// 注册或升级订单并且存在盒数产品才有 直推级差收益 平级收益 // 注册或升级订单并且存在盒数产品才有 直推级差收益 平级收益
for (SaOrderWaresExt saOrderItems : saOrderExt.getOrderWaresExtList()) { for (SaOrderWaresExt saOrderItems : saOrderExt.getOrderWaresExtList()) {
// 直推级差 + 平级收益 if (RetailConstants.ALL_BOX_WARES_LIST.contains(saOrderItems.getWaresCode())) {
// 盒数商品 计算 直推级差 + 平级收益
cuMemberBonusRangeList.addAll(calculateRetailRangeBonus(memberRangeExtMap, cuMemberBonusMap, gradeMap, bonusConfigDTO, period, saOrderItems, saOrderExt)); cuMemberBonusRangeList.addAll(calculateRetailRangeBonus(memberRangeExtMap, cuMemberBonusMap, gradeMap, bonusConfigDTO, period, saOrderItems, saOrderExt));
}
// 计算完奖金算等级 // 计算完奖金算等级
if (EOrderType.RETAIL_REGISTER.getValue() == saOrderExt.getOrderType() // if (EOrderType.RETAIL_REGISTER.getValue() == saOrderExt.getOrderType()
|| EOrderType.RETAIL_UPGRADE.getValue() == saOrderExt.getOrderType()) { // || EOrderType.RETAIL_UPGRADE.getValue() == saOrderExt.getOrderType()) {
// 订单存在升级记录 // // 订单存在升级记录
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())) {
@ -564,7 +572,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
} }
} }
} }
} // }
} }
} }
@ -631,8 +639,19 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
} }
// 累计盒数业绩不管激活不激活都处理兼容不激活判断显示有问题 // 累计盒数业绩不管激活不激活都处理兼容不激活判断显示有问题
if (null != secondRangeTableName) {
// 秒结处理
targetMemberRangeExt.setAllTeamNewBoxNum(targetMemberRangeExt.getAllTeamNewBoxNum().add(boxNum)); targetMemberRangeExt.setAllTeamNewBoxNum(targetMemberRangeExt.getAllTeamNewBoxNum().add(boxNum));
targetMemberRangeExt.setAllTeamNewPv(targetMemberRangeExt.getAllTeamNewPv().add(orderAchieve)); targetMemberRangeExt.setAllTeamNewPv(targetMemberRangeExt.getAllTeamNewPv().add(orderAchieve));
} else {
// 日结处理
targetMemberRangeExt.setAllTeamNewBoxNum(targetMemberRangeExt.getAllTeamNewBoxNum().add(boxNum));
targetMemberRangeExt.setAllTeamBoxNum(targetMemberRangeExt.getAllTeamBoxNum().add(boxNum));
targetMemberRangeExt.setAllTeamMonthBoxNum(targetMemberRangeExt.getAllTeamMonthBoxNum().add(boxNum));
targetMemberRangeExt.setAllTeamNewPv(targetMemberRangeExt.getAllTeamNewPv().add(orderAchieve));
targetMemberRangeExt.setAllTeamConsumePv(targetMemberRangeExt.getAllTeamConsumePv().add(orderAchieve));
targetMemberRangeExt.setAllTeamMonthPv(targetMemberRangeExt.getAllTeamMonthPv().add(orderAchieve));
}
// 激活的账号才能累计业绩和盒数有注册升级订单 // 激活的账号才能累计业绩和盒数有注册升级订单
if (targetMemberRangeExt.getEnableStatus() == EYesNo.YES.getIntValue()) { if (targetMemberRangeExt.getEnableStatus() == EYesNo.YES.getIntValue()) {
@ -658,7 +677,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
} }
/** /**
* 计算等级奖衔 * 计算等级奖衔 -- 日结秒结
*/ */
private void calculateGradeAwards(Integer period, Map<Long, CuMemberRetailRangeExt> memberRangeExtMap, String rangeTableName, private void calculateGradeAwards(Integer period, Map<Long, CuMemberRetailRangeExt> memberRangeExtMap, String rangeTableName,
SaOrderExt saOrderExt, Map<Integer, BdGrade> retailTeamGradeMap, Map<Integer, BdAwards> retailAwardsMap, SaOrderExt saOrderExt, Map<Integer, BdGrade> retailTeamGradeMap, Map<Integer, BdAwards> retailAwardsMap,
@ -674,7 +693,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
for (Integer gradeValue : retailTeamGradeMap.keySet()) { for (Integer gradeValue : retailTeamGradeMap.keySet()) {
BdGrade bdGrade = retailTeamGradeMap.get(gradeValue); BdGrade bdGrade = retailTeamGradeMap.get(gradeValue);
// 如果等级值 大于 当前会员等级值 并且 等级要求累计盒数 小于等于 团队累计盒数 + 累计消费盒数则可以进行升级 // 如果等级值 大于 当前会员等级值 并且 等级要求累计盒数 小于等于 团队累计盒数 + 累计消费盒数 + 大区注水 + 小区注水则可以进行升级
if (bdGrade.getGradeValue() > targetMemberRangeExt.getGradeValue() if (bdGrade.getGradeValue() > targetMemberRangeExt.getGradeValue()
&& bdGrade.getBoxTotal().compareTo( && bdGrade.getBoxTotal().compareTo(
targetMemberRangeExt.getTeamBoxNum().add(targetMemberRangeExt.getConsumeBoxNum()).add(targetMemberRangeExt.getBigBoxNum()).add(targetMemberRangeExt.getSmallBoxNum()) targetMemberRangeExt.getTeamBoxNum().add(targetMemberRangeExt.getConsumeBoxNum()).add(targetMemberRangeExt.getBigBoxNum()).add(targetMemberRangeExt.getSmallBoxNum())
@ -682,7 +701,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
) { ) {
// 验证小区计算小区累计盒数 查询伞下会员 // 验证小区计算小区累计盒数 查询伞下会员
List<CuMemberRetailRangeExt> cuMemberRangeExtList; List<CuMemberRetailRangeExt> cuMemberRangeExtList;
if (secondRangeTableName != null) { if (null != secondRangeTableName) {
// 会员表 关联 秒结表 昨日结算表查询订单会员直推数据 // 会员表 关联 秒结表 昨日结算表查询订单会员直推数据
cuMemberRangeExtList = iCuMemberRetailRangeService.queryCuMemberSecondRangeExtByParent(rangeTableName, secondRangeTableName, targetMemberRangeExt.getPkMember()); cuMemberRangeExtList = iCuMemberRetailRangeService.queryCuMemberSecondRangeExtByParent(rangeTableName, secondRangeTableName, targetMemberRangeExt.getPkMember());
} else { } else {
@ -707,7 +726,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
cuMemberRetailRangeExt = memberRangeExtMap.get(cuMemberRetailRangeExt.getPkMember()); cuMemberRetailRangeExt = memberRangeExtMap.get(cuMemberRetailRangeExt.getPkMember());
} }
// 伞下团队累计盒数 + 自己消费盒数 // 伞下团队累计盒数 + 自己消费盒数
BigDecimal areaBoxNum = cuMemberRetailRangeExt.getTeamBoxNum().add(cuMemberRetailRangeExt.getConsumeBoxNum()); BigDecimal areaBoxNum = cuMemberRetailRangeExt.getAllTeamBoxNum().add(cuMemberRetailRangeExt.getConsumeBoxNum());
if (areaBoxNum.compareTo(bigBoxNum) > 0) { if (areaBoxNum.compareTo(bigBoxNum) > 0) {
// 实际订单累计盒数 大于 累计消费盒数实际订单累计盒数为大区 // 实际订单累计盒数 大于 累计消费盒数实际订单累计盒数为大区
bigBoxNum = areaBoxNum; bigBoxNum = areaBoxNum;
@ -715,7 +734,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
} }
// 小区盒数团队累计盒数 + 自消费累计盒数 + 两个注水虚拟盒数 - 大市场盒数 // 小区盒数团队累计盒数 + 自消费累计盒数 + 两个注水虚拟盒数 - 大市场盒数
BigDecimal smallBoxNum = targetMemberRangeExt.getTeamBoxNum().add(targetMemberRangeExt.getConsumeBoxNum()).add(targetMemberRangeExt.getBigBoxNum()).add(targetMemberRangeExt.getSmallBoxNum()).subtract(bigBoxNum); BigDecimal smallBoxNum = targetMemberRangeExt.getAllTeamBoxNum().add(targetMemberRangeExt.getConsumeBoxNum()).add(targetMemberRangeExt.getBigBoxNum()).add(targetMemberRangeExt.getSmallBoxNum()).subtract(bigBoxNum);
if (smallBoxNum.compareTo(bdGrade.getBoxSmallTotal()) >= 0) { if (smallBoxNum.compareTo(bdGrade.getBoxSmallTotal()) >= 0) {
// 小区盒数 大于等于 升级小区盒数 // 小区盒数 大于等于 升级小区盒数
CuMemberGrade cuMemberGrade = getCuMemberGrade(period, targetMemberRangeExt, bdGrade); CuMemberGrade cuMemberGrade = getCuMemberGrade(period, targetMemberRangeExt, bdGrade);
@ -770,7 +789,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
cuMemberRetailRangeExt = memberRangeExtMap.get(cuMemberRetailRangeExt.getPkMember()); cuMemberRetailRangeExt = memberRangeExtMap.get(cuMemberRetailRangeExt.getPkMember());
} }
// 月累计业绩 = 本人月消费业绩 + 团队月消费业绩 // 月累计业绩 = 本人月消费业绩 + 团队月消费业绩
BigDecimal consumePv = ComputeUtil.computeAdd(cuMemberRetailRangeExt.getMonthConsumePv(), cuMemberRetailRangeExt.getTeamMonthPv()); BigDecimal consumePv = ComputeUtil.computeAdd(cuMemberRetailRangeExt.getMonthConsumePv(), cuMemberRetailRangeExt.getAllTeamMonthPv());
if (ComputeUtil.compareGreaterThan(consumePv, consumeBigPv)) { if (ComputeUtil.compareGreaterThan(consumePv, consumeBigPv)) {
// 月累计业绩 > 大区业绩则月累计就成为大区了 // 月累计业绩 > 大区业绩则月累计就成为大区了
consumeBigPv = consumePv; consumeBigPv = consumePv;
@ -801,7 +820,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
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.getAllTeamMonthPv()), bdAwards.getShareCommunityCheck())) {
// 本人月消费业绩 + 团队月消费业绩 >= 小区考核业绩则满足条件小部门 +1 // 本人月消费业绩 + 团队月消费业绩 >= 小区考核业绩则满足条件小部门 +1
enoughNum += 1; enoughNum += 1;
} }
@ -822,11 +841,12 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
} }
/** /**
* 计算团队极差奖衔 * 计算团队极差奖衔 -- 退单秒结
*/ */
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, BigDecimal boxNum, Map<Integer, BdGrade> retailTeamGradeMap, Map<Integer, BdAwards> retailAwardsMap, String secondRangeTableName, BigDecimal boxNum,
Map<String, CuMemberGrade> cuMemberGradeMap, Map<String, CuMemberAwards> cuMemberAwardsMap, Map<String, CuMemberAwards> cuMemberShareAwardsMap) { Map<String, CuMemberGrade> cuMemberGradeMap, Map<String, CuMemberAwards> cuMemberAwardsMap, Map<String, CuMemberAwards> cuMemberShareAwardsMap,
boolean isSecond) {
List<CuMemberRetailRangeExt> cuMemberRetailRangeExtList = new ArrayList<>(); List<CuMemberRetailRangeExt> cuMemberRetailRangeExtList = new ArrayList<>();
// 订单会员 // 订单会员
CuMemberRetailRangeExt sourceMemberRangeExt = memberRangeExtMap.get(saOrderExt.getPkMember()); CuMemberRetailRangeExt sourceMemberRangeExt = memberRangeExtMap.get(saOrderExt.getPkMember());
@ -837,8 +857,19 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
BigDecimal orderAmount = saOrderExt.getOrderAmount(); BigDecimal orderAmount = saOrderExt.getOrderAmount();
while (targetMemberRangeExt != null) { while (targetMemberRangeExt != null) {
// 累计盒数业绩不管激活不激活都处理兼容不激活判断显示有问题 // 累计盒数业绩不管激活不激活都处理兼容不激活判断显示有问题
targetMemberRangeExt.setAllTeamNewBoxNum(targetMemberRangeExt.getAllTeamNewBoxNum().subtract(boxNum)); if (isSecond) {
targetMemberRangeExt.setAllTeamNewPv(targetMemberRangeExt.getAllTeamNewPv().subtract(orderAchieve)); // 当天秒结处理
targetMemberRangeExt.setAllTeamNewBoxNum(targetMemberRangeExt.getAllTeamNewBoxNum().add(boxNum));
targetMemberRangeExt.setAllTeamNewPv(targetMemberRangeExt.getAllTeamNewPv().add(orderAchieve));
} else {
// 非当天日结处理
targetMemberRangeExt.setAllTeamNewBoxNum(targetMemberRangeExt.getAllTeamNewBoxNum().add(boxNum));
targetMemberRangeExt.setAllTeamBoxNum(targetMemberRangeExt.getAllTeamBoxNum().add(boxNum));
targetMemberRangeExt.setAllTeamMonthBoxNum(targetMemberRangeExt.getAllTeamMonthBoxNum().add(boxNum));
targetMemberRangeExt.setAllTeamNewPv(targetMemberRangeExt.getAllTeamNewPv().add(orderAchieve));
targetMemberRangeExt.setAllTeamConsumePv(targetMemberRangeExt.getAllTeamConsumePv().add(orderAchieve));
targetMemberRangeExt.setAllTeamMonthPv(targetMemberRangeExt.getAllTeamMonthPv().add(orderAchieve));
}
// 激活的账号才能累计业绩和盒数有注册升级订单 // 激活的账号才能累计业绩和盒数有注册升级订单
if (targetMemberRangeExt.getEnableStatus() == EYesNo.YES.getIntValue()) { if (targetMemberRangeExt.getEnableStatus() == EYesNo.YES.getIntValue()) {
@ -901,7 +932,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
cuMemberRetailRangeExt = memberRangeExtMap.get(cuMemberRetailRangeExt.getPkMember()); cuMemberRetailRangeExt = memberRangeExtMap.get(cuMemberRetailRangeExt.getPkMember());
} }
// 伞下团队累计盒数 + 自己消费盒数 // 伞下团队累计盒数 + 自己消费盒数
BigDecimal areaBoxNum = cuMemberRetailRangeExt.getTeamBoxNum().add(cuMemberRetailRangeExt.getConsumeBoxNum()); BigDecimal areaBoxNum = cuMemberRetailRangeExt.getAllTeamBoxNum().add(cuMemberRetailRangeExt.getConsumeBoxNum());
if (areaBoxNum.compareTo(bigBoxNum) > 0) { if (areaBoxNum.compareTo(bigBoxNum) > 0) {
// 实际订单累计盒数 大于 累计消费盒数实际订单累计盒数为大区 // 实际订单累计盒数 大于 累计消费盒数实际订单累计盒数为大区
bigBoxNum = areaBoxNum; bigBoxNum = areaBoxNum;
@ -909,7 +940,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
} }
// 小区盒数团队累计盒数 + 自消费累计盒数 + 两个注水虚拟盒数 - 大市场盒数 // 小区盒数团队累计盒数 + 自消费累计盒数 + 两个注水虚拟盒数 - 大市场盒数
BigDecimal smallBoxNum = targetMemberRangeExt.getTeamBoxNum().add(targetMemberRangeExt.getConsumeBoxNum()).add(targetMemberRangeExt.getBigBoxNum()).add(targetMemberRangeExt.getSmallBoxNum()).subtract(bigBoxNum); BigDecimal smallBoxNum = targetMemberRangeExt.getAllTeamBoxNum().add(targetMemberRangeExt.getConsumeBoxNum()).add(targetMemberRangeExt.getBigBoxNum()).add(targetMemberRangeExt.getSmallBoxNum()).subtract(bigBoxNum);
if (smallBoxNum.compareTo(bdGrade.getBoxSmallTotal()) >= 0) { if (smallBoxNum.compareTo(bdGrade.getBoxSmallTotal()) >= 0) {
// 小区盒数 大于等于 升级小区盒数 // 小区盒数 大于等于 升级小区盒数
CuMemberGrade cuMemberGrade = getCuMemberGrade(period, targetMemberRangeExt, bdGrade); CuMemberGrade cuMemberGrade = getCuMemberGrade(period, targetMemberRangeExt, bdGrade);
@ -965,7 +996,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
cuMemberRetailRangeExt = memberRangeExtMap.get(cuMemberRetailRangeExt.getPkMember()); cuMemberRetailRangeExt = memberRangeExtMap.get(cuMemberRetailRangeExt.getPkMember());
} }
// 月累计业绩 = 本人月消费业绩 + 团队月消费业绩 // 月累计业绩 = 本人月消费业绩 + 团队月消费业绩
BigDecimal consumePv = ComputeUtil.computeAdd(cuMemberRetailRangeExt.getMonthConsumePv(), cuMemberRetailRangeExt.getTeamMonthPv()); BigDecimal consumePv = ComputeUtil.computeAdd(cuMemberRetailRangeExt.getMonthConsumePv(), cuMemberRetailRangeExt.getAllTeamMonthPv());
if (ComputeUtil.compareGreaterThan(consumePv, consumeBigPv)) { if (ComputeUtil.compareGreaterThan(consumePv, consumeBigPv)) {
// 月累计业绩 > 大区业绩则月累计就成为大区了 // 月累计业绩 > 大区业绩则月累计就成为大区了
consumeBigPv = consumePv; consumeBigPv = consumePv;
@ -995,7 +1026,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
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.getAllTeamMonthPv()), bdAwards.getShareCommunityCheck())) {
// 本人月消费业绩 + 团队月消费业绩 >= 小区考核业绩则满足条件小部门 +1 // 本人月消费业绩 + 团队月消费业绩 >= 小区考核业绩则满足条件小部门 +1
enoughNum += 1; enoughNum += 1;
} }
@ -1374,9 +1405,16 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
} else if (EOrderType.RETAIL_REPURCHASE.getValue() == saOrder.getOrderType()) { } else if (EOrderType.RETAIL_REPURCHASE.getValue() == saOrder.getOrderType()) {
// 复购订单 区域收益 = 复购区域分红 * 商品数量 // 复购订单 区域收益 = 复购区域分红 * 商品数量
for (SaOrderWaresExt saOrderWaresExt : saOrder.getOrderWaresExtList()) { for (SaOrderWaresExt saOrderWaresExt : saOrder.getOrderWaresExtList()) {
if (ERatioType.VALUE.getValue() == saOrderWaresExt.getAreaIncomeType()) {
// 按比值处理
benefitIncome = benefitIncome.add(saOrderWaresExt.getAreaIncome().multiply(new BigDecimal(saOrderWaresExt.getWaresQuantity()))); benefitIncome = benefitIncome.add(saOrderWaresExt.getAreaIncome().multiply(new BigDecimal(saOrderWaresExt.getWaresQuantity())));
} else {
// 按比率处理
benefitIncome = benefitIncome.add(saOrderWaresExt.getWaresPrice().multiply(saOrderWaresExt.getAreaIncome()).divide(new BigDecimal("100"), 6, BigDecimal.ROUND_HALF_UP));
} }
} }
}
CuMemberBonusDetail cuMemberBonusDetail = packageBenefitIncome(bonusConfigDTO, period, cuMemberBonusMap, null, RetailConstants.SAME_RATIO, benefitIncome, CuMemberBonusDetail cuMemberBonusDetail = packageBenefitIncome(bonusConfigDTO, period, cuMemberBonusMap, null, RetailConstants.SAME_RATIO, benefitIncome,
cuMemberRetailRangeExt, EBonusItems.RETAIL_AREA_INCOME.getValue(), BonusMsgConstants.RETAIL_AREA_INCOME); cuMemberRetailRangeExt, EBonusItems.RETAIL_AREA_INCOME.getValue(), BonusMsgConstants.RETAIL_AREA_INCOME);
// 计算业绩以盒数做为基础 // 计算业绩以盒数做为基础

View File

@ -70,11 +70,40 @@ public class CuRegionAssessServiceImpl extends ServiceImpl<CuRegionAssessMapper,
Map<Long, CuRegionAssess> regionAssessMap = new HashMap<>(); Map<Long, CuRegionAssess> regionAssessMap = new HashMap<>();
List<CuRegionAssessDetail> regionAssessDetailList = new ArrayList<>(); List<CuRegionAssessDetail> regionAssessDetailList = new ArrayList<>();
for (CuMemberRetailRegion cuMemberRetailRegion : memberRetailRegionList) { for (CuMemberRetailRegion cuMemberRetailRegion : memberRetailRegionList) {
if (null != cuMemberRetailRegion.getEffectiveEndDate()) {
// 设置过生效结束时间
CuRegionAssess cuRegionAssess = CuRegionAssess.builder() CuRegionAssess cuRegionAssess = CuRegionAssess.builder()
.pkMember(cuMemberRetailRegion.getPkMember()) .pkMember(cuMemberRetailRegion.getPkMember())
.pkRegion(cuMemberRetailRegion.getPkId()) .pkRegion(cuMemberRetailRegion.getPkId())
.assessPeriod(1) .assessPeriod(1)
.assessStartDate(assessDate) .assessStartDate(assessDate)
// 考核结束期
.assessEndDate(DateUtils.currentMonthFirstDate(DateUtils.afterMonthDate(1, cuMemberRetailRegion.getEffectiveEndDate())))
.source(cuMemberRetailRegion.getSource())
.build();
cuRegionAssess.setPkCreator(MagicNumberConstants.PK_ADMIN);
cuRegionAssess.setPkCountry(cuMemberRetailRegion.getPkCountry());
regionAssessMap.put(cuRegionAssess.getPkMember(), cuRegionAssess);
while (assessDate.compareTo(cuRegionAssess.getAssessEndDate()) <= 0) {
CuRegionAssessDetail cuRegionAssessDetail = CuRegionAssessDetail.builder()
.pkRegionAssess(cuRegionAssess.getPkMember())
.assessDate(assessDate)
.pkMember(cuRegionAssess.getPkMember())
.build();
cuRegionAssessDetail.setPkCreator(MagicNumberConstants.PK_ADMIN);
cuRegionAssessDetail.setPkCountry(cuMemberRetailRegion.getPkCountry());
regionAssessDetailList.add(cuRegionAssessDetail);
assessDate = DateUtils.afterMonthDate(1, assessDate);
}
} else {
CuRegionAssess cuRegionAssess = CuRegionAssess.builder()
.pkMember(cuMemberRetailRegion.getPkMember())
.pkRegion(cuMemberRetailRegion.getPkId())
.assessPeriod(1)
.assessStartDate(assessDate)
// 考核结束期
.assessEndDate(DateUtils.currentMonthFirstDate(DateUtils.afterMonthDate(5, assessDate))) .assessEndDate(DateUtils.currentMonthFirstDate(DateUtils.afterMonthDate(5, assessDate)))
.source(cuMemberRetailRegion.getSource()) .source(cuMemberRetailRegion.getSource())
.build(); .build();
@ -93,6 +122,8 @@ public class CuRegionAssessServiceImpl extends ServiceImpl<CuRegionAssessMapper,
regionAssessDetailList.add(cuRegionAssessDetail); regionAssessDetailList.add(cuRegionAssessDetail);
} }
} }
}
saveCuRegionAssess(regionAssessMap, regionAssessDetailList); saveCuRegionAssess(regionAssessMap, regionAssessDetailList);
} }
iCuRegionAssessDetailService.assessCuRegionAssessDetail(rangeTableName, assessDate); iCuRegionAssessDetailService.assessCuRegionAssessDetail(rangeTableName, assessDate);

View File

@ -65,8 +65,13 @@
<result column="all_new_box_num" property="allNewBoxNum"/> <result column="all_new_box_num" property="allNewBoxNum"/>
<result column="all_new_consume_pv" property="allNewConsumePv"/> <result column="all_new_consume_pv" property="allNewConsumePv"/>
<result column="all_team_new_box_num" property="allTeamNewBoxNum"/> <result column="all_team_new_box_num" property="allTeamNewBoxNum"/>
<result column="all_team_new_pv" property="allTeamNewPv"/> <result column="all_team_new_pv" property="allTeamNewPv"/>
<result column="all_team_box_num" property="allTeamBoxNum"/>
<result column="all_team_month_box_num" property="allTeamMonthBoxNum"/>
<result column="all_team_consume_pv" property="allTeamConsumePv"/>
<result column="all_team_month_pv" property="allTeamMonthPv"/>
</resultMap> </resultMap>
<update id="mergeMemberRetailRangeInit"> <update id="mergeMemberRetailRangeInit">
@ -94,7 +99,13 @@
big_box_num = 0, big_box_num = 0,
small_box_num = 0, small_box_num = 0,
big_team_pv = 0, big_team_pv = 0,
small_team_pv = 0 small_team_pv = 0,
all_team_new_box_num = 0,
all_team_box_num = 0,
all_team_month_box_num = 0,
all_team_new_pv = 0,
all_team_consume_pv = 0,
all_team_month_pv = 0
</update> </update>
<update id="mergeMemberRetailRangeByYesterday"> <update id="mergeMemberRetailRangeByYesterday">
@ -107,7 +118,9 @@
team_new_pv, team_consume_pv, team_month_pv, team_new_pv, team_consume_pv, team_month_pv,
team_new_amount, team_consume_amount, team_month_amount, team_new_amount, team_consume_amount, team_month_amount,
recommend_num, team_num, recommend_num, team_num,
big_box_num, small_box_num, big_team_pv, small_team_pv big_box_num, small_box_num, big_team_pv, small_team_pv,
all_team_new_box_num, all_team_box_num, all_team_month_box_num,
all_team_new_pv, all_team_consume_pv, all_team_month_pv
from ${yesterdayRangeTableName} from ${yesterdayRangeTableName}
) b ) b
on (a.pk_member = b.pk_member) on (a.pk_member = b.pk_member)
@ -122,13 +135,19 @@
a.pk_grade = b.pk_grade, a.pk_grade = b.pk_grade,
a.enable_status = b.enable_status, a.enable_status = b.enable_status,
a.big_box_num = b.big_box_num, a.small_box_num = b.small_box_num, a.big_box_num = b.big_box_num, a.small_box_num = b.small_box_num,
a.big_team_pv = b.big_team_pv, a.small_team_pv = b.small_team_pv a.big_team_pv = b.big_team_pv, a.small_team_pv = b.small_team_pv,
a.all_team_new_box_num = b.all_team_new_box_num,
a.all_team_box_num = b.all_team_box_num,
a.all_team_new_pv = b.all_team_new_pv,
a.all_team_consume_pv = b.all_team_consume_pv
<if test="isSameMonth == 0"> <if test="isSameMonth == 0">
,a.month_box_num = b.month_box_num ,a.month_box_num = b.month_box_num
,a.month_consume_pv = b.month_consume_pv ,a.month_consume_pv = b.month_consume_pv
,a.team_month_box_num = b.team_month_box_num ,a.team_month_box_num = b.team_month_box_num
,a.team_month_pv = b.team_month_pv ,a.team_month_pv = b.team_month_pv
,a.team_month_amount = b.team_month_amount ,a.team_month_amount = b.team_month_amount
,a.all_team_month_box_num = b.all_team_month_box_num
,a.all_team_month_pv = b.all_team_month_pv
</if> </if>
</update> </update>
@ -142,7 +161,10 @@
#{item.teamNewBoxNum} team_new_box_num, #{item.teamBoxNum} team_box_num, #{item.teamMonthBoxNum} team_month_box_num, #{item.teamNewBoxNum} team_new_box_num, #{item.teamBoxNum} team_box_num, #{item.teamMonthBoxNum} team_month_box_num,
#{item.teamNewPv} team_new_pv, #{item.teamConsumePv} team_consume_pv, #{item.teamMonthPv} team_month_pv, #{item.teamNewPv} team_new_pv, #{item.teamConsumePv} team_consume_pv, #{item.teamMonthPv} team_month_pv,
#{item.teamNewAmount} team_new_amount, #{item.teamConsumeAmount} team_consume_amount, #{item.teamMonthAmount} team_month_amount, #{item.teamNewAmount} team_new_amount, #{item.teamConsumeAmount} team_consume_amount, #{item.teamMonthAmount} team_month_amount,
#{item.recommendNum} recommend_num, #{item.teamNum} team_num, #{item.enableStatus} enable_status #{item.recommendNum} recommend_num, #{item.teamNum} team_num, #{item.enableStatus} enable_status,
#{item.allTeamNewBoxNum} all_team_new_box_num, #{item.allTeamNewPv} all_team_new_pv,
#{item.allTeamBoxNum} all_team_box_num, #{item.allTeamConsumePv} all_team_consume_pv,
#{item.allTeamMonthBoxNum} all_team_month_box_num, #{item.allTeamMonthPv} all_team_month_pv
from dual from dual
</foreach> </foreach>
) b ) b
@ -154,7 +176,10 @@
a.team_new_box_num = b.team_new_box_num, a.team_box_num = b.team_box_num, a.team_month_box_num = b.team_month_box_num, a.team_new_box_num = b.team_new_box_num, a.team_box_num = b.team_box_num, a.team_month_box_num = b.team_month_box_num,
a.team_new_pv = b.team_new_pv, a.team_consume_pv = b.team_consume_pv, a.team_month_pv = b.team_month_pv, a.team_new_pv = b.team_new_pv, a.team_consume_pv = b.team_consume_pv, a.team_month_pv = b.team_month_pv,
a.team_new_amount = b.team_new_amount, a.team_consume_amount = b.team_consume_amount, a.team_month_amount = b.team_month_amount, a.team_new_amount = b.team_new_amount, a.team_consume_amount = b.team_consume_amount, a.team_month_amount = b.team_month_amount,
a.recommend_num = b.recommend_num, a.team_num = b.team_num, a.enable_status = b.enable_status a.recommend_num = b.recommend_num, a.team_num = b.team_num, a.enable_status = b.enable_status,
a.all_team_new_box_num = b.all_team_new_box_num, a.all_team_new_pv = b.all_team_new_pv,
a.all_team_box_num = b.all_team_box_num, a.all_team_consume_pv = b.all_team_consume_pv,
a.all_team_month_box_num = b.all_team_month_box_num, a.all_team_month_pv = b.all_team_month_pv
</update> </update>
<!-- 当前网体更新极差秒接表 --> <!-- 当前网体更新极差秒接表 -->
@ -218,9 +243,9 @@
#{item.pkAwards} pk_awards, #{item.pkShareAwards} pk_share_awards, #{item.pkAwards} pk_awards, #{item.pkShareAwards} pk_share_awards,
#{item.newBoxNum} new_box_num, #{item.newConsumePv} new_consume_pv, #{item.newBoxNum} new_box_num, #{item.newConsumePv} new_consume_pv,
#{item.teamNewBoxNum} team_new_box_num, #{item.teamNewPv} team_new_pv, #{item.teamNewBoxNum} team_new_box_num, #{item.teamNewPv} team_new_pv,
#{item.teamNewAmount} team_new_amount, #{item.enableStatus} enable_status,
#{item.allNewBoxNum} all_new_box_num, #{item.allNewConsumePv} all_new_consume_pv, #{item.allNewBoxNum} all_new_box_num, #{item.allNewConsumePv} all_new_consume_pv,
#{item.allTeamNewBoxNum} all_team_new_box_num, #{item.allTeamNewPv} all_team_new_pv, #{item.allTeamNewBoxNum} all_team_new_box_num, #{item.allTeamNewPv} all_team_new_pv
#{item.teamNewAmount} team_new_amount, #{item.enableStatus} enable_status
from dual from dual
</foreach> </foreach>
) b ) b
@ -230,9 +255,9 @@
a.pk_grade = b.pk_grade, a.pk_awards = b.pk_awards, a.pk_share_awards = b.pk_share_awards, a.pk_grade = b.pk_grade, a.pk_awards = b.pk_awards, a.pk_share_awards = b.pk_share_awards,
a.new_box_num = b.new_box_num, a.new_consume_pv = b.new_consume_pv, a.new_box_num = b.new_box_num, a.new_consume_pv = b.new_consume_pv,
a.team_new_box_num = b.team_new_box_num, a.team_new_pv = b.team_new_pv, a.team_new_box_num = b.team_new_box_num, a.team_new_pv = b.team_new_pv,
a.team_new_amount = b.team_new_amount, a.enable_status = b.enable_status,
a.all_new_box_num = b.all_new_box_num, a.all_new_consume_pv = b.all_new_consume_pv, a.all_new_box_num = b.all_new_box_num, a.all_new_consume_pv = b.all_new_consume_pv,
a.all_team_new_box_num = b.all_team_new_box_num, a.all_team_new_pv = b.all_team_new_pv, a.all_team_new_box_num = b.all_team_new_box_num, a.all_team_new_pv = b.all_team_new_pv
a.team_new_amount = b.team_new_amount, a.enable_status = b.enable_status
</update> </update>
<update id="mergeMemberRetailGradeByMember"> <update id="mergeMemberRetailGradeByMember">
@ -362,6 +387,12 @@
a.small_box_num, a.small_box_num,
a.big_team_pv, a.big_team_pv,
a.small_team_pv, a.small_team_pv,
a.all_team_new_box_num,
a.all_team_box_num,
a.all_team_month_box_num,
a.all_team_new_pv,
a.all_team_consume_pv,
a.all_team_month_pv,
bw.range_ratio, bw.range_ratio,
bw.month_repurchase_ratio, bw.month_repurchase_ratio,
bw.benefit_avg_ratio, bw.benefit_avg_ratio,
@ -410,6 +441,10 @@
a.big_team_pv, a.big_team_pv,
a.small_team_pv, a.small_team_pv,
a.system_type, a.system_type,
a.all_team_box_num,
a.all_team_month_box_num,
a.all_team_consume_pv,
a.all_team_month_pv,
new_box_num, new_box_num,
consume_box_num, consume_box_num,
month_box_num, month_box_num,
@ -558,6 +593,16 @@
bw.awards_value, bw.awards_value,
bw.awards_name, bw.awards_name,
bwa.awards_value share_awards_value, bwa.awards_value share_awards_value,
a.big_box_num,
a.small_box_num,
a.big_team_pv,
a.small_team_pv,
a.all_team_new_box_num,
a.all_team_box_num,
a.all_team_month_box_num,
a.all_team_new_pv,
a.all_team_consume_pv,
a.all_team_month_pv,
a.account_status, a.account_status,
a.category, a.category,
bw.range_ratio, bw.range_ratio,
@ -652,20 +697,20 @@
nvl(b.pk_rate, bt.pk_id) pk_rate, nvl(b.pk_rate, bt.pk_id) pk_rate,
nvl(cm.is_activate, a.enable_status) enable_status, nvl(cm.is_activate, a.enable_status) enable_status,
a.new_box_num, a.new_box_num,
nvl(b.consume_box_num, 0) + a.new_box_num consume_box_num, nvl(b.consume_box_num, 0) + nvl(a.new_box_num, 0) consume_box_num,
nvl(b.month_box_num, 0) + a.new_box_num month_box_num, nvl(b.month_box_num, 0) + nvl(a.new_box_num, 0) month_box_num,
a.new_consume_pv, a.new_consume_pv,
nvl(b.consume_pv, 0) + a.new_consume_pv consume_pv, nvl(b.consume_pv, 0) + nvl(a.new_consume_pv, 0) consume_pv,
nvl(b.month_consume_pv, 0) + a.new_consume_pv month_consume_pv, nvl(b.month_consume_pv, 0) + nvl(a.new_consume_pv, 0) month_consume_pv,
a.team_new_box_num, a.team_new_box_num,
nvl(b.team_box_num, 0) + a.team_new_box_num team_box_num, nvl(b.team_box_num, 0) + nvl(a.team_new_box_num, 0) team_box_num,
nvl(b.team_month_box_num, 0) + a.team_new_box_num team_month_box_num, nvl(b.team_month_box_num, 0) + nvl(a.team_new_box_num, 0) team_month_box_num,
a.team_new_pv, a.team_new_pv,
nvl(b.team_consume_pv, 0) + a.team_new_pv team_consume_pv, nvl(b.team_consume_pv, 0) + nvl(a.team_new_pv, 0) team_consume_pv,
nvl(b.team_month_pv, 0) + a.team_new_pv team_month_pv, nvl(b.team_month_pv, 0) + nvl(a.team_new_pv, 0) team_month_pv,
a.team_new_amount, a.team_new_amount,
nvl(b.team_consume_amount, 0) + a.team_new_amount team_consume_amount, nvl(b.team_consume_amount, 0) + nvl(a.team_new_amount, 0) team_consume_amount,
nvl(b.team_month_amount, 0) + a.team_new_amount team_month_amount, nvl(b.team_month_amount, 0) + nvl(a.team_new_amount, 0) team_month_amount,
nvl(b.big_box_num, 0) big_box_num, nvl(b.big_box_num, 0) big_box_num,
nvl(b.small_box_num, 0) small_box_num, nvl(b.small_box_num, 0) small_box_num,
nvl(b.big_team_pv, 0) big_team_pv, nvl(b.big_team_pv, 0) big_team_pv,
@ -675,6 +720,10 @@
a.all_new_consume_pv, a.all_new_consume_pv,
a.all_team_new_box_num, a.all_team_new_box_num,
a.all_team_new_pv, a.all_team_new_pv,
nvl(b.all_team_box_num, 0) + nvl(a.all_team_new_box_num, 0) all_team_box_num,
nvl(b.all_team_month_box_num, 0) + nvl(a.all_team_new_pv, 0) all_team_month_box_num,
nvl(b.all_team_consume_pv, 0) + nvl(a.all_team_new_box_num, 0) all_team_consume_pv,
nvl(b.all_team_month_pv, 0) + nvl(a.all_team_new_pv, 0) all_team_month_pv,
bg.grade_value, bg.grade_value,
bg.grade_name, bg.grade_name,
bw.awards_value, bw.awards_value,
@ -721,7 +770,11 @@
nvl(b.consume_box_num, 0) + nvl(a.new_box_num, 0) consume_box_num, nvl(b.consume_box_num, 0) + nvl(a.new_box_num, 0) consume_box_num,
nvl(b.team_box_num, 0) + nvl(a.team_new_box_num, 0) team_box_num, nvl(b.team_box_num, 0) + nvl(a.team_new_box_num, 0) team_box_num,
nvl(b.big_box_num, 0) big_box_num, nvl(b.big_box_num, 0) big_box_num,
nvl(b.small_box_num, 0) small_box_num nvl(b.small_box_num, 0) small_box_num,
nvl(b.all_team_box_num, 0) + nvl(a.all_team_new_box_num, 0) all_team_box_num,
nvl(b.all_team_month_box_num, 0) + nvl(a.all_team_new_pv, 0) all_team_month_box_num,
nvl(b.all_team_consume_pv, 0) + nvl(a.all_team_new_box_num, 0) all_team_consume_pv,
nvl(b.all_team_month_pv, 0) + nvl(a.all_team_new_pv, 0) all_team_month_pv
from cu_member cm from cu_member cm
left join ${secondTableName} a left join ${secondTableName} a
on cm.pk_id = a.pk_member on cm.pk_id = a.pk_member
@ -729,62 +782,6 @@
on cm.pk_id = b.pk_member on cm.pk_id = b.pk_member
where cm.pk_parent = #{pkMember} where cm.pk_parent = #{pkMember}
and cm.del_flag = 0 and cm.del_flag = 0
<!--
select a.pk_member,
cm.member_code,
cm.member_name,
a.pk_parent,
cm.pk_settle_country,
cm.category,
cm.account_status,
a.pk_grade,
a.pk_awards,
cm.income_status,
nvl(b.consume_box_num, 0) + a.new_box_num consume_box_num,
a.new_box_num,
nvl(b.team_box_num, 0) + a.team_new_box_num team_box_num,
nvl(b.month_box_num, 0) + a.team_new_box_num month_box_num,
a.team_new_box_num,
nvl(b.consume_pv, 0) + a.new_consume_pv consume_pv,
nvl(month_consume_pv, 0) + a.new_consume_pv month_consume_pv,
a.new_consume_pv,
nvl(b.team_consume_amount, 0) + a.team_new_amount team_consume_amount,
nvl(b.team_consume_pv, 0) + a.team_new_pv team_consume_pv,
nvl(b.team_month_amount, 0) + a.team_new_amount team_month_amount,
nvl(b.team_month_pv, 0) + a.team_new_pv team_month_pv,
a.team_new_amount,
a.team_new_pv,
bg.grade_value,
bg.grade_name,
bw.awards_value,
bw.awards_name,
nvl(b.big_box_num, 0) big_box_num,
nvl(b.small_box_num, 0) small_box_num,
nvl(b.big_team_pv, 0) big_team_pv,
nvl(b.small_team_pv, 0) small_team_pv,
a.system_type,
bw.range_ratio,
bw.benefit_avg_ratio,
bw.benefit_share_ratio,
br.name country_name
from ${secondTableName} a
left join ${rangeTableName} b
on a.pk_member = b.pk_member
inner join cu_member cm
on cm.pk_id = a.pk_member
inner join bd_awards bw
on bw.pk_id = a.pk_awards
inner join bd_grade bg
on bg.pk_id = a.pk_grade
left join cu_member_retail_region cr
on cr.pk_member = cm.pk_id and cr.effective = 0 and cr.del_flag = 0
left join bd_area br
on br.pk_id = cr.county and br.del_flag = 0
where bw.del_flag = 0
and bg.del_flag = 0
and a.pk_parent = #{pkMember}
-->
</select> </select>
<select id="queryCuMemberRetailRangeEnoughAchieve" resultType="com.hzs.common.domain.member.achieve.ext.CuMemberRetailRangeExt"> <select id="queryCuMemberRetailRangeEnoughAchieve" resultType="com.hzs.common.domain.member.achieve.ext.CuMemberRetailRangeExt">
@ -808,7 +805,11 @@
big_box_num, big_box_num,
small_box_num, small_box_num,
big_team_pv, big_team_pv,
small_team_pv small_team_pv,
all_team_box_num,
all_team_month_box_num,
all_team_consume_pv,
all_team_month_pv
from ${tableName} from ${tableName}
where pk_parent = #{pkParent} where pk_parent = #{pkParent}
</select> </select>

View File

@ -478,7 +478,7 @@
all_new_box_num number(10,2) default 0 not null, all_new_box_num number(10,2) default 0 not null,
all_new_consume_pv number(17,6) default 0 not null, all_new_consume_pv number(17,6) default 0 not null,
all_team_new_box_num number(10,2) default 0 not null, all_team_new_box_num number(10,2) default 0 not null,
all_team_new_pv number(17,6) default 0 not null, all_team_new_pv number(17,6) default 0 not null
) )
</update> </update>
@ -530,7 +530,13 @@
big_box_num number(10,2) default 0 not null, big_box_num number(10,2) default 0 not null,
small_box_num number(10,2) default 0 not null, small_box_num number(10,2) default 0 not null,
big_team_pv number(17,6) default 0 not null, big_team_pv number(17,6) default 0 not null,
small_team_pv number(17,6) default 0 not null small_team_pv number(17,6) default 0 not null,
all_team_new_box_num number(12,2) default 0 not null,
all_team_box_num number(12,2) default 0 not null,
all_team_month_box_num number(12,2) default 0 not null,
all_team_new_pv number(17,6) default 0 not null,
all_team_consume_pv number(17,6) default 0 not null,
all_team_month_pv number(17,6) default 0 not null
) )
</update> </update>

View File

@ -55,11 +55,29 @@
from cu_region_assess_detail cd from cu_region_assess_detail cd
inner join cu_region_assess ca inner join cu_region_assess ca
on cd.pk_region_assess = ca.pk_id on cd.pk_region_assess = ca.pk_id
inner join cu_member_retail_region cmrr
on cmrr.pk_id = ca.pk_region
where cd.ASSESS_STATUS = 0 where cd.ASSESS_STATUS = 0
and cd.del_flag = 0 and cd.del_flag = 0
and ca.del_flag = 0 and ca.del_flag = 0
and ca.assess_start_date &lt;= #{assessDate,jdbcType=DATE} and ca.assess_start_date &lt;= #{assessDate,jdbcType=DATE}
and ca.assess_end_date >= #{assessDate,jdbcType=DATE} and ca.assess_end_date >= #{assessDate,jdbcType=DATE}
and cmrr.del_flag = 0
and cmrr.effective_end_date is null
group by cd.pk_region_assess
union
<!-- 手动开通的只查询手效期前6个月的数据 -->
select cd.pk_region_assess, sum(1) REACH_NUM
from cu_region_assess_detail cd
inner join cu_region_assess ca
on cd.pk_region_assess = ca.pk_id
inner join CU_MEMBER_RETAIL_REGION cmrr
on cmrr.pk_id = ca.pk_region
where cd.del_flag = 0
and ca.del_flag = 0
and cmrr.del_flag = 0
and cmrr.effective_end_date is not null
and cd.assess_date > ADD_MONTHS(cmrr.effective_end_date, -6)
group by cd.pk_region_assess group by cd.pk_region_assess
) b ) b
on (a.pk_id = b.pk_region_assess) on (a.pk_id = b.pk_region_assess)

View File

@ -61,6 +61,7 @@
<result column="WARES_PRICE" property="waresPrice"/> <result column="WARES_PRICE" property="waresPrice"/>
<result column="WARES_CODE" property="waresCode"/> <result column="WARES_CODE" property="waresCode"/>
<result column="AREA_INCOME" property="areaIncome"/> <result column="AREA_INCOME" property="areaIncome"/>
<result column="AREA_INCOME_TYPE" property="areaIncomeType"/>
<result column="WARES_BOX_NUM" property="waresBoxNum"/> <result column="WARES_BOX_NUM" property="waresBoxNum"/>
</collection> </collection>
<collection property="orderItemsExtList" ofType="com.hzs.common.domain.sale.ext.SaOrderItemsExt"> <collection property="orderItemsExtList" ofType="com.hzs.common.domain.sale.ext.SaOrderItemsExt">
@ -154,9 +155,10 @@
nvl(st.pk_order,0) pk_order, nvl(st.pk_order,0) pk_order,
nvl(st.pk_wares,0) pk_wares, nvl(st.pk_wares,0) pk_wares,
nvl(st.wares_price,0) wares_price, nvl(st.wares_price,0) wares_price,
nvl(bw.wares_code,'~') wares_code,
nvl(st.wares_quantity,0) wares_quantity, nvl(st.wares_quantity,0) wares_quantity,
nvl(bw.wares_code,'~') wares_code,
nvl(bw.area_income, 0) area_income, nvl(bw.area_income, 0) area_income,
nvl(bw.area_income_type, 0) area_income_type,
nvl(bw.box_num, 0) wares_box_num nvl(bw.box_num, 0) wares_box_num
from sa_order so from sa_order so
left join sa_order_wares st left join sa_order_wares st
@ -164,6 +166,69 @@
left join bd_wares bw left join bd_wares bw
on bw.pk_id = st.pk_wares and bw.del_flag = 0 on bw.pk_id = st.pk_wares and bw.del_flag = 0
where so.order_status = 1 where so.order_status = 1
and so.order_type in (41, 42)
<if test="orderCode != null and orderCode != ''">
and so.order_code=#{orderCode}
</if>
and so.pay_time >= #{startDate}
and so.pay_time &lt; #{endDate}
union
select so.pk_id,
so.pk_member,
so.order_code,
so.order_type,
so.pk_rate,
so.rec_province,
so.rec_city,
so.rec_county,
so.order_amount,
so.order_achieve,
so.order_ass_achieve,
so.upload_achieve,
so.pk_reference,
so.pk_vertex,
so.pk_country,
so.del_flag,
so.pay_time,
so.pk_creator,
so.consume_amount,
so.box_num,
soi.items_id,
soi.pk_order,
soi.pk_wares,
soi.wares_price,
soi.wares_quantity,
nvl(bw.wares_code, '~') wares_code,
nvl(bw.area_income, 0) area_income,
nvl(bw.area_income_type, 0) area_income_type,
nvl(bw.box_num, 0) wares_box_num
from sa_order so
left join (
select max(soi.pk_id) items_id,
nvl(soi.pk_order, 0) pk_order,
nvl(soi.pk_wares, 0) pk_wares,
sum(soi.achievement * soi.quantity) wares_price,
max(soi.wares_quantity) wares_quantity
from sa_order so
left join sa_order_items soi
on soi.pk_order = so.pk_id
and soi.del_flag = 0
and soi.is_gift = 1
where so.order_status = 1
and so.order_type in (43)
<if test="orderCode != null and orderCode != ''">
and so.order_code=#{orderCode}
</if>
and so.pay_time >= #{startDate}
and so.pay_time &lt; #{endDate}
group by soi.pk_order, soi.pk_wares
) soi
on soi.pk_order = so.pk_id
left join bd_wares bw
on bw.pk_id = soi.pk_wares
and bw.del_flag = 0
where so.order_status = 1
and so.order_type in (43)
<if test="orderCode != null and orderCode != ''"> <if test="orderCode != null and orderCode != ''">
and so.order_code=#{orderCode} and so.order_code=#{orderCode}
</if> </if>

View File

@ -2521,10 +2521,13 @@ public class CuMemberServiceImpl extends ServiceImpl<CuMemberMapper, CuMember> i
Set<WaresAuthorityParentParam> waresAuthorityParentParamList = new HashSet<>(); Set<WaresAuthorityParentParam> waresAuthorityParentParamList = new HashSet<>();
// 安置查询 // 安置查询
Set<WaresAuthorityParentParam> waresAuthorityPlaceParamList = new HashSet<>(); Set<WaresAuthorityParentParam> waresAuthorityPlaceParamList = new HashSet<>();
// 指定会员
Set<Long> pkMemberList = new HashSet<>();
for (ShowWaresDTO showWaresDTO : showWaresDTOS) { for (ShowWaresDTO showWaresDTO : showWaresDTOS) {
for (BdWaresAuthority bw : showWaresDTO.getWaresAuthorityList()) { for (BdWaresAuthority bw : showWaresDTO.getWaresAuthorityList()) {
if (bw.getAuthorityType() == EWaresPermissionType.BLOOD_ALLOW.getValue() || bw.getAuthorityType() == EWaresPermissionType.BLOOD_STOP.getValue()) { if (bw.getAuthorityType() == EWaresPermissionType.BLOOD_ALLOW.getValue() || bw.getAuthorityType() == EWaresPermissionType.BLOOD_STOP.getValue()) {
// 血缘关系
WaresAuthorityParentParam waresAuthorityParentParam = WaresAuthorityParentParam.builder() WaresAuthorityParentParam waresAuthorityParentParam = WaresAuthorityParentParam.builder()
.pkMember(bw.getPkMember()) .pkMember(bw.getPkMember())
.loginMember(showWaresDTO.getLoginMember()) .loginMember(showWaresDTO.getLoginMember())
@ -2532,12 +2535,17 @@ public class CuMemberServiceImpl extends ServiceImpl<CuMemberMapper, CuMember> i
waresAuthorityParentParamList.add(waresAuthorityParentParam); waresAuthorityParentParamList.add(waresAuthorityParentParam);
} }
if (bw.getAuthorityType() == EWaresPermissionType.PLACE_ALLWO.getValue() || bw.getAuthorityType() == EWaresPermissionType.PLACE_STOP.getValue()) { if (bw.getAuthorityType() == EWaresPermissionType.PLACE_ALLWO.getValue() || bw.getAuthorityType() == EWaresPermissionType.PLACE_STOP.getValue()) {
// 安置关系
WaresAuthorityParentParam waresAuthorityParentParam = WaresAuthorityParentParam.builder() WaresAuthorityParentParam waresAuthorityParentParam = WaresAuthorityParentParam.builder()
.pkMember(bw.getPkMember()) .pkMember(bw.getPkMember())
.loginMember(showWaresDTO.getLoginMember()) .loginMember(showWaresDTO.getLoginMember())
.build(); .build();
waresAuthorityPlaceParamList.add(waresAuthorityParentParam); waresAuthorityPlaceParamList.add(waresAuthorityParentParam);
} }
if (bw.getAuthorityType() == EWaresPermissionType.MEMBER.getValue()) {
// 指定会员可见
pkMemberList.add(bw.getPkMember());
}
} }
} }
@ -2568,6 +2576,9 @@ public class CuMemberServiceImpl extends ServiceImpl<CuMemberMapper, CuMember> i
} else if (bdWaresAuthority.getAuthorityType() == EWaresPermissionType.PLACE_STOP.getValue()) { } else if (bdWaresAuthority.getAuthorityType() == EWaresPermissionType.PLACE_STOP.getValue()) {
// 安置禁止 // 安置禁止
isShowWares = !waresAuthorityPlaceList.contains(bdWaresAuthority.getPkMember()); isShowWares = !waresAuthorityPlaceList.contains(bdWaresAuthority.getPkMember());
} else if (bdWaresAuthority.getAuthorityType() == EWaresPermissionType.MEMBER.getValue()) {
// 指定会员可见
isShowWares = pkMemberList.contains(showWaresDTO.getLoginMember());
} }
} }
resultMap.put(showWaresDTO.getPkWares(), isShowWares); resultMap.put(showWaresDTO.getPkWares(), isShowWares);

View File

@ -513,6 +513,7 @@ public class BdWaresController extends BaseController {
waresParams.setSortStatus(wares.getSortStatus()); waresParams.setSortStatus(wares.getSortStatus());
waresParams.setSystemType(waresExtend.getSystemType()); waresParams.setSystemType(waresExtend.getSystemType());
waresParams.setAreaIncome(wares.getAreaIncome()); waresParams.setAreaIncome(wares.getAreaIncome());
waresParams.setAreaIncomeType(wares.getAreaIncomeType());
waresParams.setBoxNum(wares.getBoxNum()); waresParams.setBoxNum(wares.getBoxNum());
BdAreaClassify parentAreaClassify = iBdAreaClassifyService.getAreaClassify(wares.getPkAreaClassify()); BdAreaClassify parentAreaClassify = iBdAreaClassifyService.getAreaClassify(wares.getPkAreaClassify());

View File

@ -409,6 +409,11 @@ public class WaresParams implements Serializable {
*/ */
private BigDecimal areaIncome; private BigDecimal areaIncome;
/**
* 复购区域分红方式(1=比率,2=比值)
*/
private Integer areaIncomeType;
/** /**
* 商品上传盒数 * 商品上传盒数
*/ */

View File

@ -27,9 +27,6 @@ import com.hzs.sale.wares.param.WaresDetailParams;
import com.hzs.sale.wares.mapper.BdWaresMapper; import com.hzs.sale.wares.mapper.BdWaresMapper;
import com.hzs.sale.wares.service.*; import com.hzs.sale.wares.service.*;
import com.hzs.sale.wares.vo.*; import com.hzs.sale.wares.vo.*;
import com.hzs.system.base.ICurrencyServiceApi;
import com.hzs.system.base.ITransactionServiceApi;
import com.hzs.system.base.dto.CurrencyDTO;
import com.hzs.system.config.IAwardsServiceApi; import com.hzs.system.config.IAwardsServiceApi;
import com.hzs.system.config.ILabelServiceApi; import com.hzs.system.config.ILabelServiceApi;
import com.hzs.system.config.IRangeServiceApi; import com.hzs.system.config.IRangeServiceApi;
@ -87,13 +84,9 @@ public class BdWaresServiceImpl extends ServiceImpl<BdWaresMapper, BdWares> impl
@DubboReference @DubboReference
IMemberServiceApi iMemberServiceApi; IMemberServiceApi iMemberServiceApi;
@DubboReference @DubboReference
ICurrencyServiceApi iCurrencyServiceApi;
@DubboReference
IAwardsServiceApi iAwardsServiceApi; IAwardsServiceApi iAwardsServiceApi;
@DubboReference @DubboReference
IRangeServiceApi iRangeServiceApi; IRangeServiceApi iRangeServiceApi;
@DubboReference
ITransactionServiceApi iTransactionServiceApi;
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)

View File

@ -50,6 +50,7 @@
<result column="SYSTEM_TYPE" property="systemType"/> <result column="SYSTEM_TYPE" property="systemType"/>
<result column="AREA_INCOME" property="areaIncome"/> <result column="AREA_INCOME" property="areaIncome"/>
<result column="BOX_NUM" property="boxNum"/> <result column="BOX_NUM" property="boxNum"/>
<result column="AREA_INCOME_TYPE" property="areaIncomeType"/>
</resultMap> </resultMap>
<resultMap id="resultMap" type="com.hzs.sale.wares.vo.WaresVo"> <resultMap id="resultMap" type="com.hzs.sale.wares.vo.WaresVo">

View File

@ -750,7 +750,7 @@ public class EnumsController extends BaseController {
public AjaxResult getEWaresPermissionTypeList() { public AjaxResult getEWaresPermissionTypeList() {
List<EnumEntity> enumEntityList = new ArrayList<>(); List<EnumEntity> enumEntityList = new ArrayList<>();
for (EWaresPermissionType value : EWaresPermissionType.values()) { for (EWaresPermissionType value : EWaresPermissionType.values()) {
enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.ENU_WARES)); enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel()));
} }
return AjaxResult.success(enumEntityList); return AjaxResult.success(enumEntityList);
} }
@ -837,7 +837,7 @@ public class EnumsController extends BaseController {
public AjaxResult getECycle() { public AjaxResult getECycle() {
List<EnumEntity> enumEntityList = new ArrayList<>(); List<EnumEntity> enumEntityList = new ArrayList<>();
for (ECycle value : ECycle.values()) { for (ECycle value : ECycle.values()) {
enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.CYCLE)); enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel()));
} }
return AjaxResult.success(enumEntityList); return AjaxResult.success(enumEntityList);
} }

View File

@ -580,10 +580,6 @@ public class EnumsPrefixConstants {
*/ */
public static final String ENU_USER = "ENU_USER_S_"; public static final String ENU_USER = "ENU_USER_S_";
/**
* 商品权限类型枚举
*/
public static final String ENU_WARES = "ENU_WARES_P_";
/** /**
* 商品类型枚举 * 商品类型枚举
*/ */
@ -628,11 +624,6 @@ public class EnumsPrefixConstants {
*/ */
public static final String EXEMPT_TYPE = "ENU_EXE_T_"; public static final String EXEMPT_TYPE = "ENU_EXE_T_";
/**
* 提现周期
*/
public static final String CYCLE = "ENU_CYCLE_";
/** /**
* 提现状态 * 提现状态
*/ */

View File

@ -1,13 +1,10 @@
package com.hzs.common.core.enums; package com.hzs.common.core.enums;
import com.hzs.common.core.constant.EnumsPrefixConstants;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Getter; import lombok.Getter;
/** /**
* 提现周期枚举类 * 提现周期枚举类
*
* @author: hzs
*/ */
@AllArgsConstructor @AllArgsConstructor
@Getter @Getter
@ -16,32 +13,32 @@ public enum ECycle {
/** /**
* 周一 * 周一
*/ */
MONDAY( 1, "周一", EnumsPrefixConstants.CYCLE + "1"), MONDAY(1, "周一"),
/** /**
* 周二 * 周二
*/ */
TUESDAY( 2, "周二", EnumsPrefixConstants.CYCLE + "2"), TUESDAY(2, "周二"),
/** /**
* 周三 * 周三
*/ */
WEDNESDAY( 3, "周三", EnumsPrefixConstants.CYCLE + "3"), WEDNESDAY(3, "周三"),
/** /**
* 周四 * 周四
*/ */
THURSDAY( 4, "周四", EnumsPrefixConstants.CYCLE + "4"), THURSDAY(4, "周四"),
/** /**
* 周五 * 周五
*/ */
FRIDAY( 5, "周五", EnumsPrefixConstants.CYCLE + "5"), FRIDAY(5, "周五"),
/** /**
* 周六 * 周六
*/ */
SATURDAY( 6, "周六", EnumsPrefixConstants.CYCLE + "6"), SATURDAY(6, "周六"),
/** /**
* 周日 * 周日
*/ */
SUNDAY( 7, "周日", EnumsPrefixConstants.CYCLE + "7"), SUNDAY(7, "周日"),
; ;
@ -54,11 +51,6 @@ public enum ECycle {
* 显示标签 * 显示标签
*/ */
private final String label; private final String label;
/**
* 国际化翻译key值
*/
private final String key;
} }

View File

@ -5,13 +5,7 @@ import lombok.AllArgsConstructor;
import lombok.Getter; import lombok.Getter;
/** /**
*
* 比率类型 * 比率类型
* @Description:
* @Author: ljc
* @Time: 2023/5/8 11:23
* @Classname: ERatioType
* @Package_name: com.hzs.common.core.enums
*/ */
@AllArgsConstructor @AllArgsConstructor
@Getter @Getter

View File

@ -11,29 +11,33 @@ import lombok.Getter;
@Getter @Getter
public enum EWaresPermissionType { public enum EWaresPermissionType {
/**
* 指定会员
*/
MEMBER(6, "指定会员", 0),
/** /**
* 1=血缘可见 * 1=血缘可见
*/ */
BLOOD_ALLOW(1, "血缘可见", 0, EnumsPrefixConstants.ENU_WARES + "1"), BLOOD_ALLOW(1, "血缘可见", 0),
/** /**
* 2=血缘禁止 * 2=血缘禁止
*/ */
BLOOD_STOP(2, "血缘禁止", 0, EnumsPrefixConstants.ENU_WARES + "2"), BLOOD_STOP(2, "血缘禁止", 0),
/** /**
* 安置可见 * 安置可见
*/ */
PLACE_ALLWO(3, "安置可见", 0, EnumsPrefixConstants.ENU_WARES + "3"), PLACE_ALLWO(3, "安置可见", 0),
/** /**
* 安置禁止 * 安置禁止
*/ */
PLACE_STOP(4, "安置禁止", 0, EnumsPrefixConstants.ENU_WARES + "4"), PLACE_STOP(4, "安置禁止", 0),
/** /**
* 全部 * 全部
*/ */
AUTH_ORITY_TYPE(5, "全部", 0, EnumsPrefixConstants.ENU_WARES + "5"), AUTH_ORITY_TYPE(5, "全部", 0),
; ;
/** /**
@ -48,10 +52,6 @@ public enum EWaresPermissionType {
* 是否启用0=,1= -- 来源EYesNo * 是否启用0=,1= -- 来源EYesNo
*/ */
private final int enable; private final int enable;
/**
* 国际化翻译key值
*/
private final String key;
public static String getEnumLabelByValue(Integer value) { public static String getEnumLabelByValue(Integer value) {
if (null == value) { if (null == value) {

View File

@ -535,24 +535,16 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils {
LocalDate today = getLocalDate(date); LocalDate today = getLocalDate(date);
return ((Long) toLocalDate(date1).until(today, ChronoUnit.DAYS)).intValue(); return ((Long) toLocalDate(date1).until(today, ChronoUnit.DAYS)).intValue();
} }
/** /**
* 计算2个日期之间的天数 * 获得2个日期总共差的天数
* *
* @param date1 日期 * @param date1 第一个日期
* @param date 日期2 * @param date 第二个日期
* @return Integer * @return Integer
*/ */
public static Boolean betweenMonth(Date date1, Date... date) { public static Integer betweenMonth(Date date1, Date... date) {
LocalDate localDate = LocalDate.now(); LocalDate today = getLocalDate(date);
if (date.length > 0) { return ((Long) toLocalDate(date1).until(today, ChronoUnit.MONTHS)).intValue();
localDate = toLocalDate(date[0]);
}
LocalDate localDate1 = toLocalDate(date1);
if (localDate.getMonth() == localDate1.getMonth()) {
return Boolean.TRUE;
}
return Boolean.FALSE;
} }
/** /**

View File

@ -78,23 +78,38 @@ public class CuMemberRetailRangeExt extends CuMemberRetailRange {
private String countryName; private String countryName;
/** /**
* 新増盒数不管激活全累计 * 新増盒数不管激活全累计 -- 秒结使用
*/ */
private BigDecimal allNewBoxNum; private BigDecimal allNewBoxNum;
/** /**
* 新増业绩不管激活全累计 * 新増业绩不管激活全累计 -- 秒结使用
*/ */
private BigDecimal allNewConsumePv; private BigDecimal allNewConsumePv;
/** /**
* 团队新増盒数不管激活全累计 * 团队新増盒数不管激活全累计 -- 秒结日结使用
*/ */
private BigDecimal allTeamNewBoxNum; private BigDecimal allTeamNewBoxNum;
/** /**
* 团队新増业绩不管激活全累计 * 团队新増业绩不管激活全累计 -- 秒结使用
*/ */
private BigDecimal allTeamNewPv; private BigDecimal allTeamNewPv;
/**
* 团队累计盒数不管激活全累计 -- 日结使用
*/
private BigDecimal allTeamBoxNum;
/**
* 团队月累计盒数不管激活全累计 -- 日结使用
*/
private BigDecimal allTeamMonthBoxNum;
/**
* 团队累计消费pv不管激活全累计 -- 日结使用
*/
private BigDecimal allTeamConsumePv;
/**
* 团队月累计消费pv不管激活全累计 -- 日结使用
*/
private BigDecimal allTeamMonthPv;
} }

View File

@ -19,6 +19,10 @@ public class SaOrderWaresExt extends SaOrderWares {
* 复购区域分红 * 复购区域分红
*/ */
private BigDecimal areaIncome; private BigDecimal areaIncome;
/**
* 复购区域分红方式
*/
private Integer areaIncomeType;
/** /**
* 商品上传盒数 * 商品上传盒数

View File

@ -228,5 +228,10 @@ public class BdWares extends BaseEntity {
@TableField("BOX_NUM") @TableField("BOX_NUM")
private BigDecimal boxNum; private BigDecimal boxNum;
/**
* 复购区域分红方式(1=比率,2=比值)
*/
@TableField("AREA_INCOME_TYPE")
private Integer areaIncomeType;
} }