## 商品盒数支持小数处理;
This commit is contained in:
parent
7766c46086
commit
99a8b74ec0
|
@ -91,7 +91,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
|||
// 等级列表
|
||||
List<BdGrade> retaiGradeList = bonusConfigDTO.getRetaiGradeList();
|
||||
for (BdGrade bdGrade : retaiGradeList) {
|
||||
if (bdGrade.getBoxTotal() > 0) {
|
||||
if (bdGrade.getBoxTotal().compareTo(BigDecimal.ZERO) > 0) {
|
||||
retailTeamGradeMap.put(bdGrade.getGradeValue(), bdGrade);
|
||||
}
|
||||
gradeMap.put(bdGrade.getGradeValue(), bdGrade);
|
||||
|
@ -115,10 +115,10 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
|||
CuMemberRetailRangeExt sourceMemberRangeExt = memberRangeExtMap.get(saOrderExt.getPkMember());
|
||||
// 先算等级 注册、升级计算等级
|
||||
// 订单指定产品盒数
|
||||
int boxNum = 0;
|
||||
BigDecimal boxNum = BigDecimal.ZERO;
|
||||
for (SaOrderWaresExt saOrderItems : saOrderExt.getOrderWaresExtList()) {
|
||||
if (RetailConstants.ALL_BOX_WARES_LIST.contains(saOrderItems.getWaresCode())) {
|
||||
boxNum += saOrderItems.getWaresQuantity();
|
||||
boxNum = boxNum.add(saOrderItems.getBoxNum().multiply(new BigDecimal(saOrderItems.getWaresQuantity())));
|
||||
}
|
||||
}
|
||||
saOrderExt.setBoxNum(boxNum);
|
||||
|
@ -126,9 +126,9 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
|||
// 订单业绩
|
||||
BigDecimal orderAchieve = saOrderExt.getOrderAchieve();
|
||||
// 注册、升级、复购、重消,盒数、业绩算个人累计数据(盒数、业绩)
|
||||
sourceMemberRangeExt.setNewBoxNum(sourceMemberRangeExt.getNewBoxNum() + boxNum);
|
||||
sourceMemberRangeExt.setConsumeBoxNum(sourceMemberRangeExt.getConsumeBoxNum() + boxNum);
|
||||
sourceMemberRangeExt.setMonthBoxNum(sourceMemberRangeExt.getMonthBoxNum() + boxNum);
|
||||
sourceMemberRangeExt.setNewBoxNum(sourceMemberRangeExt.getNewBoxNum().add(boxNum));
|
||||
sourceMemberRangeExt.setConsumeBoxNum(sourceMemberRangeExt.getConsumeBoxNum().add(boxNum));
|
||||
sourceMemberRangeExt.setMonthBoxNum(sourceMemberRangeExt.getMonthBoxNum().add(boxNum));
|
||||
sourceMemberRangeExt.setNewConsumePv(ComputeUtil.computeAdd(sourceMemberRangeExt.getNewConsumePv(), orderAchieve));
|
||||
sourceMemberRangeExt.setConsumePv(ComputeUtil.computeAdd(sourceMemberRangeExt.getConsumePv(), orderAchieve));
|
||||
sourceMemberRangeExt.setMonthConsumePv(ComputeUtil.computeAdd(sourceMemberRangeExt.getMonthConsumePv(), orderAchieve));
|
||||
|
@ -233,7 +233,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
|||
List<BdGrade> retailGradeList = bonusConfigDTO.getRetaiGradeList();
|
||||
// 等级
|
||||
for (BdGrade bdGrade : retailGradeList) {
|
||||
if (bdGrade.getBoxTotal() > 0) {
|
||||
if (bdGrade.getBoxTotal().compareTo(BigDecimal.ZERO) > 0) {
|
||||
retailTeamGradeMap.put(bdGrade.getGradeValue(), bdGrade);
|
||||
}
|
||||
gradeIdMap.put(bdGrade.getPkId(), bdGrade);
|
||||
|
@ -253,10 +253,10 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
|||
// 计算自消费奖衔
|
||||
CuMemberRetailRangeExt sourceMemberRangeExt = memberRangeExtMap.get(saOrderExt.getPkMember());
|
||||
// 先算等级 注册、升级计算等级
|
||||
int boxNum = 0;
|
||||
BigDecimal boxNum = BigDecimal.ZERO;
|
||||
for (SaOrderWaresExt saOrderItems : saOrderExt.getOrderWaresExtList()) {
|
||||
if (RetailConstants.ALL_BOX_WARES_LIST.contains(saOrderItems.getWaresCode())) {
|
||||
boxNum += saOrderItems.getWaresQuantity();
|
||||
boxNum = boxNum.add(saOrderItems.getBoxNum().multiply(new BigDecimal(saOrderItems.getWaresQuantity())));
|
||||
}
|
||||
}
|
||||
saOrderExt.setBoxNum(boxNum);
|
||||
|
@ -264,9 +264,9 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
|||
// 订单业绩
|
||||
BigDecimal orderAchieve = saOrderExt.getOrderAchieve();
|
||||
// 复购、重消,盒数、业绩算个人累计数据(盒数、业绩)
|
||||
sourceMemberRangeExt.setNewBoxNum(sourceMemberRangeExt.getNewBoxNum() - boxNum);
|
||||
sourceMemberRangeExt.setConsumeBoxNum(sourceMemberRangeExt.getConsumeBoxNum() - boxNum);
|
||||
sourceMemberRangeExt.setMonthBoxNum(sourceMemberRangeExt.getMonthBoxNum() - boxNum);
|
||||
sourceMemberRangeExt.setNewBoxNum(sourceMemberRangeExt.getNewBoxNum().add(boxNum));
|
||||
sourceMemberRangeExt.setConsumeBoxNum(sourceMemberRangeExt.getConsumeBoxNum().add(boxNum));
|
||||
sourceMemberRangeExt.setMonthBoxNum(sourceMemberRangeExt.getMonthBoxNum().add(boxNum));
|
||||
sourceMemberRangeExt.setNewConsumePv(ComputeUtil.computeSubtract(sourceMemberRangeExt.getNewConsumePv(), orderAchieve));
|
||||
sourceMemberRangeExt.setConsumePv(ComputeUtil.computeSubtract(sourceMemberRangeExt.getConsumePv(), orderAchieve));
|
||||
sourceMemberRangeExt.setMonthConsumePv(ComputeUtil.computeSubtract(sourceMemberRangeExt.getMonthConsumePv(), orderAchieve));
|
||||
|
@ -461,7 +461,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
|||
// 等级列表
|
||||
List<BdGrade> retaiGradeList = bonusConfigDTO.getRetaiGradeList();
|
||||
for (BdGrade bdGrade : retaiGradeList) {
|
||||
if (bdGrade.getBoxTotal() > 0) {
|
||||
if (bdGrade.getBoxTotal().compareTo(BigDecimal.ZERO) > 0) {
|
||||
retailTeamGradeMap.put(bdGrade.getGradeValue(), bdGrade);
|
||||
}
|
||||
gradeMap.put(bdGrade.getGradeValue(), bdGrade);
|
||||
|
@ -510,18 +510,18 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
|||
CuMemberRetailRangeExt sourceMemberRangeExt = memberRangeExtMap.get(saOrderExt.getPkMember());
|
||||
|
||||
// 订单指定产品盒数(计算等级使用)
|
||||
int boxNum = 0;
|
||||
BigDecimal boxNum = BigDecimal.ZERO;
|
||||
for (SaOrderWaresExt saOrderItems : saOrderExt.getOrderWaresExtList()) {
|
||||
if (RetailConstants.ALL_BOX_WARES_LIST.contains(saOrderItems.getWaresCode())) {
|
||||
boxNum += saOrderItems.getWaresQuantity();
|
||||
boxNum = boxNum.add(saOrderItems.getBoxNum().multiply(new BigDecimal(saOrderItems.getWaresQuantity())));
|
||||
}
|
||||
}
|
||||
// 个人累计消费pv
|
||||
BigDecimal orderAchieve = saOrderExt.getOrderAchieve();
|
||||
// 复购、重消,盒数、业绩算个人累计数据(盒数、业绩)
|
||||
sourceMemberRangeExt.setNewBoxNum(sourceMemberRangeExt.getNewBoxNum() + boxNum);
|
||||
sourceMemberRangeExt.setConsumeBoxNum(sourceMemberRangeExt.getConsumeBoxNum() + boxNum);
|
||||
sourceMemberRangeExt.setMonthBoxNum(sourceMemberRangeExt.getMonthBoxNum() + boxNum);
|
||||
sourceMemberRangeExt.setNewBoxNum(sourceMemberRangeExt.getNewBoxNum().add(boxNum));
|
||||
sourceMemberRangeExt.setConsumeBoxNum(sourceMemberRangeExt.getConsumeBoxNum().add(boxNum));
|
||||
sourceMemberRangeExt.setMonthBoxNum(sourceMemberRangeExt.getMonthBoxNum().add(boxNum));
|
||||
sourceMemberRangeExt.setNewConsumePv(ComputeUtil.computeAdd(sourceMemberRangeExt.getNewConsumePv(), orderAchieve));
|
||||
sourceMemberRangeExt.setConsumePv(ComputeUtil.computeAdd(sourceMemberRangeExt.getConsumePv(), orderAchieve));
|
||||
sourceMemberRangeExt.setMonthConsumePv(ComputeUtil.computeAdd(sourceMemberRangeExt.getMonthConsumePv(), orderAchieve));
|
||||
|
@ -535,7 +535,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
|||
// 计算奖金 直推级差 + 平级收益
|
||||
if ((EOrderType.RETAIL_REGISTER.getValue() == saOrderExt.getOrderType()
|
||||
|| EOrderType.RETAIL_UPGRADE.getValue() == saOrderExt.getOrderType())
|
||||
&& boxNum > 0
|
||||
&& boxNum.compareTo(BigDecimal.ZERO) > 0
|
||||
) {
|
||||
// 注册或升级订单并且存在盒数产品,才有 直推级差收益 和 平级收益
|
||||
for (SaOrderWaresExt saOrderItems : saOrderExt.getOrderWaresExtList()) {
|
||||
|
@ -605,7 +605,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
|||
*/
|
||||
public List<CuMemberAwards> calculateRetailRangeGradeAwards(Integer period, Map<Long, CuMemberRetailRangeExt> memberRangeExtMap, String rangeTableName, SaOrderExt saOrderExt,
|
||||
Map<Integer, BdGrade> retailTeamGradeMap, Map<Integer, BdAwards> retailAwardsMap, String secondRangeTableName,
|
||||
Integer boxNum, List<CuMemberGrade> cuMemberGradeList, Map<Long, Date> activateMap) {
|
||||
BigDecimal boxNum, List<CuMemberGrade> cuMemberGradeList, Map<Long, Date> activateMap) {
|
||||
// 会员奖衔升级列表
|
||||
List<CuMemberAwards> cuMemberAwardsList = new ArrayList<>();
|
||||
// 订单会员
|
||||
|
@ -634,9 +634,9 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
|||
targetMemberRangeExt.setTeamConsumePv(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamConsumePv(), orderAchieve));
|
||||
targetMemberRangeExt.setTeamMonthPv(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamMonthPv(), orderAchieve));
|
||||
// 累计盒数
|
||||
targetMemberRangeExt.setTeamNewBoxNum(targetMemberRangeExt.getTeamNewBoxNum() + boxNum);
|
||||
targetMemberRangeExt.setTeamBoxNum(targetMemberRangeExt.getTeamBoxNum() + boxNum);
|
||||
targetMemberRangeExt.setTeamMonthBoxNum(targetMemberRangeExt.getTeamMonthBoxNum() + boxNum);
|
||||
targetMemberRangeExt.setTeamNewBoxNum(targetMemberRangeExt.getTeamNewBoxNum().add(boxNum));
|
||||
targetMemberRangeExt.setTeamBoxNum(targetMemberRangeExt.getTeamBoxNum().add(boxNum));
|
||||
targetMemberRangeExt.setTeamMonthBoxNum(targetMemberRangeExt.getTeamMonthBoxNum().add(boxNum));
|
||||
// 计算等级
|
||||
calculateGradeAwards(period, memberRangeExtMap, rangeTableName, saOrderExt, retailTeamGradeMap, retailAwardsMap,
|
||||
secondRangeTableName, cuMemberGradeList, cuMemberAwardsList, targetMemberRangeExt, activateMap);
|
||||
|
@ -665,10 +665,10 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
|||
|
||||
// 如果等级值 大于 当前会员等级值 并且 等级要求累计盒数 小于等于 团队累计盒数 + 累计消费盒数,则可以进行升级
|
||||
if (bdGrade.getGradeValue() > targetMemberRangeExt.getGradeValue()
|
||||
&& bdGrade.getBoxTotal() <= (
|
||||
targetMemberRangeExt.getTeamBoxNum() + targetMemberRangeExt.getConsumeBoxNum()
|
||||
+ targetMemberRangeExt.getBigBoxNum() + targetMemberRangeExt.getSmallBoxNum()
|
||||
)) {
|
||||
&& bdGrade.getBoxTotal().compareTo(
|
||||
targetMemberRangeExt.getTeamBoxNum().add(targetMemberRangeExt.getConsumeBoxNum()).add(targetMemberRangeExt.getBigBoxNum()).add(targetMemberRangeExt.getSmallBoxNum())
|
||||
) <= 0
|
||||
) {
|
||||
// 验证小区,计算小区累计盒数 查询伞下会员
|
||||
List<CuMemberRetailRangeExt> cuMemberRangeExtList;
|
||||
if (secondRangeTableName != null) {
|
||||
|
@ -681,12 +681,12 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
|||
|
||||
// new 新逻辑确认:注水 2 个虚拟区,自己消费 1 个虚拟区,伞下直推,所有的最大
|
||||
// 大区盒数(默认为自己累计消费盒数)
|
||||
int bigBoxNum = targetMemberRangeExt.getConsumeBoxNum();
|
||||
if (targetMemberRangeExt.getBigBoxNum() > bigBoxNum) {
|
||||
BigDecimal bigBoxNum = targetMemberRangeExt.getConsumeBoxNum();
|
||||
if (targetMemberRangeExt.getBigBoxNum().compareTo(bigBoxNum) > 0) {
|
||||
// 注水大区如果大则使用注水盒数为大区
|
||||
bigBoxNum = targetMemberRangeExt.getBigBoxNum();
|
||||
}
|
||||
if (targetMemberRangeExt.getSmallBoxNum() > bigBoxNum) {
|
||||
if (targetMemberRangeExt.getSmallBoxNum().compareTo(bigBoxNum) > 0) {
|
||||
// 注水小区如果大则使用注水盒数为大区
|
||||
bigBoxNum = targetMemberRangeExt.getSmallBoxNum();
|
||||
}
|
||||
|
@ -696,17 +696,16 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
|||
cuMemberRetailRangeExt = memberRangeExtMap.get(cuMemberRetailRangeExt.getPkMember());
|
||||
}
|
||||
// 伞下团队累计盒数 + 自己消费盒数
|
||||
int areaBoxNum = cuMemberRetailRangeExt.getTeamBoxNum() + cuMemberRetailRangeExt.getConsumeBoxNum();
|
||||
if (areaBoxNum > bigBoxNum) {
|
||||
BigDecimal areaBoxNum = cuMemberRetailRangeExt.getTeamBoxNum().add(cuMemberRetailRangeExt.getConsumeBoxNum());
|
||||
if (areaBoxNum.compareTo(bigBoxNum) > 0) {
|
||||
// 实际订单累计盒数 大于 累计消费盒数,实际订单累计盒数为大区
|
||||
bigBoxNum = areaBoxNum;
|
||||
}
|
||||
}
|
||||
|
||||
// 小区盒数(团队累计盒数 + 自消费累计盒数 + 两个注水虚拟盒数 - 大市场盒数)
|
||||
int smallBoxNum = targetMemberRangeExt.getTeamBoxNum() + targetMemberRangeExt.getConsumeBoxNum()
|
||||
+ targetMemberRangeExt.getBigBoxNum() + targetMemberRangeExt.getSmallBoxNum() - bigBoxNum;
|
||||
if (smallBoxNum >= bdGrade.getBoxSmallTotal()) {
|
||||
BigDecimal smallBoxNum = targetMemberRangeExt.getTeamBoxNum().add(targetMemberRangeExt.getConsumeBoxNum()).add(targetMemberRangeExt.getBigBoxNum()).add(targetMemberRangeExt.getSmallBoxNum()).subtract(bigBoxNum);
|
||||
if (smallBoxNum.compareTo(bdGrade.getBoxSmallTotal()) >= 0) {
|
||||
// 小区盒数 大于等于 升级小区盒数
|
||||
CuMemberGrade cuMemberGrade = getCuMemberGrade(period, targetMemberRangeExt, bdGrade);
|
||||
cuMemberGradeList.add(cuMemberGrade);
|
||||
|
@ -815,7 +814,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
|||
* 计算团队极差奖衔
|
||||
*/
|
||||
public List<CuMemberRetailRangeExt> calculateRetailBackRangeGradeAwards(Integer period, Map<Long, CuMemberRetailRangeExt> memberRangeExtMap, String rangeTableName, SaOrderExt saOrderExt,
|
||||
Map<Integer, BdGrade> retailTeamGradeMap, Map<Integer, BdAwards> retailAwardsMap, String secondRangeTableName, Integer 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) {
|
||||
List<CuMemberRetailRangeExt> cuMemberRetailRangeExtList = new ArrayList<>();
|
||||
// 订单会员
|
||||
|
@ -837,9 +836,9 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
|||
targetMemberRangeExt.setTeamConsumeAmount(ComputeUtil.computeSubtract(targetMemberRangeExt.getTeamConsumeAmount(), orderAmount));
|
||||
targetMemberRangeExt.setTeamMonthAmount(ComputeUtil.computeSubtract(targetMemberRangeExt.getTeamMonthAmount(), orderAmount));
|
||||
// 累计盒数
|
||||
targetMemberRangeExt.setTeamNewBoxNum(targetMemberRangeExt.getTeamNewBoxNum() - boxNum);
|
||||
targetMemberRangeExt.setTeamBoxNum(targetMemberRangeExt.getTeamBoxNum() - boxNum);
|
||||
targetMemberRangeExt.setTeamMonthBoxNum(targetMemberRangeExt.getTeamMonthBoxNum() - boxNum);
|
||||
targetMemberRangeExt.setTeamNewBoxNum(targetMemberRangeExt.getTeamNewBoxNum().add(boxNum));
|
||||
targetMemberRangeExt.setTeamBoxNum(targetMemberRangeExt.getTeamBoxNum().add(boxNum));
|
||||
targetMemberRangeExt.setTeamMonthBoxNum(targetMemberRangeExt.getTeamMonthBoxNum().add(boxNum));
|
||||
// 计算等级
|
||||
calculateBackGrade(period, memberRangeExtMap, rangeTableName, saOrderExt, retailTeamGradeMap, retailAwardsMap, secondRangeTableName,
|
||||
cuMemberGradeMap, cuMemberAwardsMap, cuMemberShareAwardsMap, targetMemberRangeExt);
|
||||
|
@ -859,10 +858,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
|||
for (Integer gradeValue : retailTeamGradeMap.keySet()) {
|
||||
BdGrade bdGrade = retailTeamGradeMap.get(gradeValue);
|
||||
|
||||
if (bdGrade.getBoxTotal() <= (
|
||||
targetMemberRangeExt.getTeamBoxNum() + targetMemberRangeExt.getConsumeBoxNum()
|
||||
+ targetMemberRangeExt.getBigBoxNum() + targetMemberRangeExt.getSmallBoxNum()
|
||||
)) {
|
||||
if (bdGrade.getBoxTotal().compareTo(targetMemberRangeExt.getTeamBoxNum().add(targetMemberRangeExt.getConsumeBoxNum()).add(targetMemberRangeExt.getBigBoxNum()).add(targetMemberRangeExt.getSmallBoxNum())) <= 0) {
|
||||
// 验证小区,计算小区累计盒数 查询伞下会员
|
||||
List<CuMemberRetailRangeExt> cuMemberRangeExtList;
|
||||
if (secondRangeTableName != null) {
|
||||
|
@ -875,12 +871,12 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
|||
|
||||
// new 新逻辑确认:注水 2 个虚拟区,自己消费 1 个虚拟区,伞下直推,所有的最大
|
||||
// 大区盒数(默认为自己累计消费盒数)
|
||||
int bigBoxNum = targetMemberRangeExt.getConsumeBoxNum();
|
||||
if (targetMemberRangeExt.getBigBoxNum() > bigBoxNum) {
|
||||
BigDecimal bigBoxNum = targetMemberRangeExt.getConsumeBoxNum();
|
||||
if (targetMemberRangeExt.getBigBoxNum().compareTo(bigBoxNum) > 0) {
|
||||
// 注水大区如果大则使用注水盒数为大区
|
||||
bigBoxNum = targetMemberRangeExt.getBigBoxNum();
|
||||
}
|
||||
if (targetMemberRangeExt.getSmallBoxNum() > bigBoxNum) {
|
||||
if (targetMemberRangeExt.getSmallBoxNum().compareTo(bigBoxNum) > 0) {
|
||||
// 注水小区如果大则使用注水盒数为大区
|
||||
bigBoxNum = targetMemberRangeExt.getSmallBoxNum();
|
||||
}
|
||||
|
@ -890,17 +886,16 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
|||
cuMemberRetailRangeExt = memberRangeExtMap.get(cuMemberRetailRangeExt.getPkMember());
|
||||
}
|
||||
// 伞下团队累计盒数 + 自己消费盒数
|
||||
int areaBoxNum = cuMemberRetailRangeExt.getTeamBoxNum() + cuMemberRetailRangeExt.getConsumeBoxNum();
|
||||
if (areaBoxNum > bigBoxNum) {
|
||||
BigDecimal areaBoxNum = cuMemberRetailRangeExt.getTeamBoxNum().add(cuMemberRetailRangeExt.getConsumeBoxNum());
|
||||
if (areaBoxNum.compareTo(bigBoxNum) > 0) {
|
||||
// 实际订单累计盒数 大于 累计消费盒数,实际订单累计盒数为大区
|
||||
bigBoxNum = areaBoxNum;
|
||||
}
|
||||
}
|
||||
|
||||
// 小区盒数(团队累计盒数 + 自消费累计盒数 + 两个注水虚拟盒数 - 大市场盒数)
|
||||
int smallBoxNum = targetMemberRangeExt.getTeamBoxNum() + targetMemberRangeExt.getConsumeBoxNum()
|
||||
+ targetMemberRangeExt.getBigBoxNum() + targetMemberRangeExt.getSmallBoxNum() - bigBoxNum;
|
||||
if (smallBoxNum >= bdGrade.getBoxSmallTotal()) {
|
||||
BigDecimal smallBoxNum = targetMemberRangeExt.getTeamBoxNum().add(targetMemberRangeExt.getConsumeBoxNum()).add(targetMemberRangeExt.getBigBoxNum()).add(targetMemberRangeExt.getSmallBoxNum()).subtract(bigBoxNum);
|
||||
if (smallBoxNum.compareTo(bdGrade.getBoxSmallTotal()) >= 0) {
|
||||
// 小区盒数 大于等于 升级小区盒数
|
||||
CuMemberGrade cuMemberGrade = getCuMemberGrade(period, targetMemberRangeExt, bdGrade);
|
||||
cuMemberGradeMap.put(cuMemberGrade.getPkMember() + "_" + cuMemberGrade.getNewLevel(), cuMemberGrade);
|
||||
|
@ -1316,7 +1311,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
|||
return null;
|
||||
}
|
||||
// 区域分红根据商品盒数来,如果没有盒数,直接返回为空
|
||||
if (saOrder.getBoxNum() == 0) {
|
||||
if (saOrder.getBoxNum().compareTo(BigDecimal.ZERO) == 0) {
|
||||
return null;
|
||||
}
|
||||
|
||||
|
@ -1370,7 +1365,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
|||
CuMemberBonusDetail cuMemberBonusDetail = packageBenefitIncome(bonusConfigDTO, period, cuMemberBonusMap, null, RetailConstants.SAME_RATIO, benefitIncome,
|
||||
cuMemberRetailRangeExt, EBonusItems.RETAIL_AREA_INCOME.getValue(), BonusMsgConstants.RETAIL_AREA_INCOME);
|
||||
// 计算业绩以盒数做为基础
|
||||
cuMemberBonusDetail.setCalAchieve(new BigDecimal(saOrder.getBoxNum()));
|
||||
cuMemberBonusDetail.setCalAchieve(saOrder.getBoxNum());
|
||||
cuMemberBonusDetail.setPkOrder(saOrder.getPkId());
|
||||
String remark = String.format(BonusMsgConstants.RETAIL_AREA_INCOME, saOrder.getOrderCode(),
|
||||
memberRangeExtMap.get(saOrder.getPkMember()).getMemberCode() + memberRangeExtMap.get(saOrder.getPkMember()).getMemberName(),
|
||||
|
|
|
@ -38,7 +38,7 @@ public class MemberBonusFirstPurchaseVO extends PubMemberBonusVO {
|
|||
/**
|
||||
* 商城重消
|
||||
*/
|
||||
@BigDecimalFormat
|
||||
@BigDecimalFormat("#0.0000")
|
||||
private BigDecimal backPoints;
|
||||
//
|
||||
// /**
|
||||
|
@ -75,55 +75,55 @@ public class MemberBonusFirstPurchaseVO extends PubMemberBonusVO {
|
|||
/**
|
||||
* 新零售直推收益
|
||||
*/
|
||||
@BigDecimalFormat
|
||||
@BigDecimalFormat("#0.0000")
|
||||
private BigDecimal retailRangeIncome;
|
||||
|
||||
/**
|
||||
* 新零售平级收益
|
||||
*/
|
||||
@BigDecimalFormat
|
||||
@BigDecimalFormat("#0.0000")
|
||||
private BigDecimal retailSameLevelIncome;
|
||||
|
||||
/**
|
||||
* 新零售区域分红
|
||||
*/
|
||||
@BigDecimalFormat
|
||||
@BigDecimalFormat("#0.0000")
|
||||
private BigDecimal retailAreaIncome;
|
||||
|
||||
/**
|
||||
* 福利级差收益
|
||||
*/
|
||||
@BigDecimalFormat
|
||||
@BigDecimalFormat("#0.0000")
|
||||
private BigDecimal retailBenefitRangeIncome;
|
||||
|
||||
/**
|
||||
* 复购级差收益
|
||||
*/
|
||||
@BigDecimalFormat
|
||||
@BigDecimalFormat("#0.0000")
|
||||
private BigDecimal retailMonthRepurchaseIncome;
|
||||
|
||||
/**
|
||||
* 培育津贴
|
||||
*/
|
||||
@BigDecimalFormat
|
||||
@BigDecimalFormat("#0.0000")
|
||||
private BigDecimal coachIncome;
|
||||
|
||||
/**
|
||||
* 福利分红收益总计
|
||||
*/
|
||||
@BigDecimalFormat
|
||||
@BigDecimalFormat("#0.0000")
|
||||
private BigDecimal retailBenefitIncomeTotal;
|
||||
|
||||
/**
|
||||
* 新零售收益小计
|
||||
*/
|
||||
@BigDecimalFormat
|
||||
@BigDecimalFormat("#0.0000")
|
||||
private BigDecimal retailRealSubtotal;
|
||||
|
||||
/**
|
||||
* 实发收益总计
|
||||
*/
|
||||
@BigDecimalFormat
|
||||
@BigDecimalFormat("#0.0000")
|
||||
private BigDecimal realIncomeTotal;
|
||||
|
||||
}
|
||||
|
|
|
@ -93,7 +93,7 @@ public class MemberBonusVO implements Serializable {
|
|||
/**
|
||||
* 商城重消
|
||||
*/
|
||||
@BigDecimalFormat
|
||||
@BigDecimalFormat("#0.0000")
|
||||
private BigDecimal backPoints;
|
||||
|
||||
/**
|
||||
|
@ -114,7 +114,7 @@ public class MemberBonusVO implements Serializable {
|
|||
/**
|
||||
* 实发收益总计
|
||||
*/
|
||||
@BigDecimalFormat
|
||||
@BigDecimalFormat("#0.0000")
|
||||
private BigDecimal realIncomeTotal;
|
||||
|
||||
/**
|
||||
|
@ -130,19 +130,19 @@ public class MemberBonusVO implements Serializable {
|
|||
/**
|
||||
* 新零售直推级差收益
|
||||
*/
|
||||
@BigDecimalFormat
|
||||
@BigDecimalFormat("#0.0000")
|
||||
private BigDecimal retailRangeIncome;
|
||||
|
||||
/**
|
||||
* 新零售平级收益
|
||||
*/
|
||||
@BigDecimalFormat
|
||||
@BigDecimalFormat("#0.0000")
|
||||
private BigDecimal retailSameLevelIncome;
|
||||
|
||||
/**
|
||||
* 新零售区域收益
|
||||
*/
|
||||
@BigDecimalFormat
|
||||
@BigDecimalFormat("#0.0000")
|
||||
private BigDecimal retailAreaIncome;
|
||||
|
||||
/**
|
||||
|
@ -163,7 +163,7 @@ public class MemberBonusVO implements Serializable {
|
|||
/**
|
||||
* 新零售收益小计
|
||||
*/
|
||||
@BigDecimalFormat
|
||||
@BigDecimalFormat("#0.0000")
|
||||
private BigDecimal retailRealSubtotal;
|
||||
|
||||
/**
|
||||
|
|
|
@ -470,9 +470,9 @@
|
|||
pk_share_awards number(4) default 10 not null,
|
||||
enable_status number(2) default 1 not null,
|
||||
system_type NUMBER(2) default 2 not null,
|
||||
new_box_num number(8) default 0 not null,
|
||||
new_box_num number(10,2) default 0 not null,
|
||||
new_consume_pv number(17,6) default 0 not null,
|
||||
team_new_box_num number(8) default 0 not null,
|
||||
team_new_box_num number(10,2) default 0 not null,
|
||||
team_new_pv number(17,6) default 0 not null,
|
||||
team_new_amount number(17,6) default 0 not null
|
||||
)
|
||||
|
@ -505,15 +505,15 @@
|
|||
pk_country number(4) default 1 not null,
|
||||
system_type NUMBER(2) default 2 not null,
|
||||
pk_rate NUMBER(6),
|
||||
new_box_num number(8) default 0 not null,
|
||||
consume_box_num number(8) default 0 not null,
|
||||
month_box_num number(8) default 0 not null,
|
||||
new_box_num number(10,2) default 0 not null,
|
||||
consume_box_num number(10,2) default 0 not null,
|
||||
month_box_num number(10,2) default 0 not null,
|
||||
new_consume_pv number(17,6) default 0 not null,
|
||||
consume_pv number(17,6) default 0 not null,
|
||||
month_consume_pv number(17,6) default 0 not null,
|
||||
team_new_box_num number(8) default 0 not null,
|
||||
team_box_num number(8) default 0 not null,
|
||||
team_month_box_num number(8) default 0 not null,
|
||||
team_new_box_num number(10,2) default 0 not null,
|
||||
team_box_num number(10,2) default 0 not null,
|
||||
team_month_box_num number(10,2) default 0 not null,
|
||||
team_new_pv number(17,6) default 0 not null,
|
||||
team_consume_pv number(17,6) default 0 not null,
|
||||
team_month_pv number(17,6) default 0 not null,
|
||||
|
@ -523,8 +523,8 @@
|
|||
recommend_num number(8) default 0 not null,
|
||||
team_num number(8) default 0 not null,
|
||||
region_address number(8) default 0 not null,
|
||||
big_box_num number(8) default 0 not null,
|
||||
small_box_num number(8) default 0 not null,
|
||||
big_box_num number(10,2) default 0 not null,
|
||||
small_box_num number(10,2) default 0 not null,
|
||||
big_team_pv number(17,6) default 0 not null,
|
||||
small_team_pv number(17,6) default 0 not null
|
||||
)
|
||||
|
|
|
@ -61,6 +61,7 @@
|
|||
<result column="WARES_PRICE" property="waresPrice"/>
|
||||
<result column="WARES_CODE" property="waresCode"/>
|
||||
<result column="AREA_INCOME" property="areaIncome"/>
|
||||
<result column="BOX_NUM" property="boxNum"/>
|
||||
</collection>
|
||||
<collection property="orderItemsExtList" ofType="com.hzs.common.domain.sale.ext.SaOrderItemsExt">
|
||||
<result column="SI_ITEMS_ID" property="pkId"/>
|
||||
|
@ -155,7 +156,8 @@
|
|||
nvl(st.wares_price,0) wares_price,
|
||||
nvl(bw.wares_code,'~') wares_code,
|
||||
nvl(st.wares_quantity,0) wares_quantity,
|
||||
nvl(bw.area_income, 0) area_income
|
||||
nvl(bw.area_income, 0) area_income,
|
||||
nvl(bw.box_num, 0) box_num
|
||||
from sa_order so
|
||||
left join sa_order_wares st
|
||||
on so.pk_id = st.pk_order and st.wares_price > 0
|
||||
|
|
|
@ -7,15 +7,8 @@ import org.apache.ibatis.annotations.Param;
|
|||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @BelongsProject: hzs_cloud
|
||||
* @BelongsPackage: com.hzs.report.member.mapper
|
||||
* @Author: yh
|
||||
* @CreateTime: 2023-08-26 09:53
|
||||
* @Description: TODO
|
||||
* @Version: 1.0
|
||||
*/
|
||||
public interface MemberReportMapper {
|
||||
|
||||
/**
|
||||
* 查询伞下直推新增业绩-查询会员
|
||||
*
|
||||
|
@ -27,31 +20,22 @@ public interface MemberReportMapper {
|
|||
@Param("endPayTime") Date endPayTime);
|
||||
|
||||
/**
|
||||
* @description: 查询伞下直推新增业绩-业绩
|
||||
* @author: zhang jing
|
||||
* @date: 2023/9/6 14:10
|
||||
* @param: [pkMember, memberName, pkAwards, pkTeamCode, pkCountry, startPayTime, endPayTime, pkVertex]
|
||||
* @return: java.util.List<com.hzs.report.member.vo.DirectPushNewVo>
|
||||
* 查询伞下直推新增业绩-业绩
|
||||
*
|
||||
**/
|
||||
List<DirectPushNewVo> directPushNewAchieList(@Param("dpo") DirectPushNewVo dpo,
|
||||
@Param("pkMemberList") List<Long> pkMemberList);
|
||||
|
||||
/**
|
||||
* @description: 查询会员总盒数
|
||||
* @author: zhang jing
|
||||
* @date: 2025/2/14 15:02
|
||||
* @param: [dpb, pkMemberList]
|
||||
* @return: java.util.List<com.hzs.report.member.vo.DirectPushBoxVo>
|
||||
* 查询会员总盒数
|
||||
*
|
||||
**/
|
||||
List<DirectPushBoxVo> directPushNewBoxList(@Param("dpo") DirectPushBoxVo dpb,
|
||||
@Param("dpbList") List<DirectPushBoxVo> dpbList);
|
||||
|
||||
/**
|
||||
* @description: 查询伞下直推新增业绩-业绩
|
||||
* @author: zhang jing
|
||||
* @date: 2024/3/18 15:41
|
||||
* @param: [pkMember, startPayTime, endPayTime, pkCountry, monthList]
|
||||
* @return: java.util.List<com.hzs.report.member.vo.DirectPushNewVo>
|
||||
* 查询伞下直推新增业绩-业绩
|
||||
*
|
||||
**/
|
||||
List<DirectPushNewVo> directPushNewAchieUpList(@Param("dpo") DirectPushNewVo dpo,
|
||||
@Param("pkMemberList") List<Long> pkMemberList);
|
||||
|
@ -76,11 +60,8 @@ public interface MemberReportMapper {
|
|||
List<MemberResettleAchieveVo> memberResettleAchieve(@Param("pkMember") Long pkMember, @Param("memberName") String memberName, @Param("startPayTime") Date startPayTime, @Param("endPayTime") Date endPayTime, @Param("pkVertex") Integer pkVertex, @Param("pkTeamCode") Integer pkTeamCode, @Param("pkCountry") Integer pkCountry, @Param("pkAwards") Integer pkAwards, @Param("orderTypeList") List<Integer> orderTypeList);
|
||||
|
||||
/**
|
||||
* @description: 伞下新增安置业绩
|
||||
* @author: zhang jing
|
||||
* @date: 2024/3/12 16:57
|
||||
* @param: [pkMember, memberName, startPayTime, endPayTime, pkVertex, pkTeamCode, pkCountry, pkAwards, orderTypeList]
|
||||
* @return: java.util.List<com.hzs.report.member.vo.MemberResettleAchieveVo>
|
||||
* 伞下新增安置业绩
|
||||
*
|
||||
**/
|
||||
List<MemberResettleAchieveVo> selectBrollyNewABAchieve(@Param("pkMember") Long pkMember,
|
||||
@Param("memberName") String memberName,
|
||||
|
@ -165,14 +146,6 @@ public interface MemberReportMapper {
|
|||
*/
|
||||
List<ReportSummaryVo> reportSummaryList(ReportSummaryVo reportSummaryVo);
|
||||
|
||||
/**
|
||||
* 查询会员伞下订单左右区业绩
|
||||
*
|
||||
* @param pkMember
|
||||
* @return
|
||||
*/
|
||||
List<MemberPerformanceVo> brollyBelowResettle(@Param("pkMember") Long pkMember, @Param("startPayTime") Date startPayTime, @Param("endPayTime") Date endPayTime, @Param("orderTypeList") List<Integer> orderTypeList);
|
||||
|
||||
/**
|
||||
* 出货明细汇总统计详情
|
||||
*
|
||||
|
@ -244,76 +217,39 @@ public interface MemberReportMapper {
|
|||
Integer sumQuantity(@Param("productName") String productName, @Param("pkClassify") Integer pkClassify, @Param("startTime") Date startTime, @Param("endTime") Date endTime, @Param("pkCountry") Integer pkCountry, @Param("orderTypeList") List<Integer> orderTypeList);
|
||||
|
||||
/**
|
||||
* @description: 查询表是否存在
|
||||
* @author: zhang jing
|
||||
* @date: 2024/4/7 16:10
|
||||
* @param: [tableName]
|
||||
* @return: java.lang.Integer
|
||||
* 查询表是否存在
|
||||
**/
|
||||
Integer selectExistTable(String tableName);
|
||||
|
||||
/**
|
||||
* @description: 查询直推会员
|
||||
* @author: zhang jing
|
||||
* @date: 2025/2/7 16:10
|
||||
* @param: [pkMember]
|
||||
* @return: java.util.List<java.lang.Long>
|
||||
* 查询直推会员
|
||||
**/
|
||||
List<Long> selectDirectPushByPkMember(@Param("pkMember") Long pkMember);
|
||||
|
||||
/**
|
||||
* @description: 查询会员业绩
|
||||
* @author: zhang jing
|
||||
* @date: 2025/2/7 16:08
|
||||
* @param: [directPushNewVo]
|
||||
* @return: com.hzs.report.member.vo.DirectPushNewVo
|
||||
* 查询会员业绩
|
||||
**/
|
||||
DirectPushNewVo selectMemberOrderAchieveByPkMember(DirectPushNewVo directPushNewVo);
|
||||
|
||||
/**
|
||||
* @description: 查询会员个人业绩金额
|
||||
* @author: zhang jing
|
||||
* @date: 2025/2/13 11:31
|
||||
* @param: [directPushNewVo]
|
||||
* @return: com.hzs.report.member.vo.DirectPushNewVo
|
||||
**/
|
||||
DirectPushNewVo querMemberAchieveAmount(DirectPushNewVo directPushNewVo);
|
||||
|
||||
List<DirectPushNewVo> selectMemberAchieve(DirectPushNewVo directPushNewVo);
|
||||
|
||||
/**
|
||||
* @description: 查询会员直推伞下业绩金额
|
||||
* @author: zhang jing
|
||||
* @date: 2025/2/13 13:34
|
||||
* @param: [directPushNewVo]
|
||||
* @return: java.util.List<com.hzs.report.member.vo.DirectPushNewVo>
|
||||
* 查询会员直推伞下业绩金额
|
||||
**/
|
||||
List<DirectPushNewVo> querMemberAchieveAmountTeam(DirectPushNewVo directPushNewVo);
|
||||
|
||||
/**
|
||||
* @description: 添加新的表
|
||||
* @author: zhang jing
|
||||
* @date: 2025/2/25 16:20
|
||||
* @param: [tableName]
|
||||
* @return: void
|
||||
* 添加新的表
|
||||
**/
|
||||
void createCuMemberAmountBoxTable(String tableName);
|
||||
|
||||
/**
|
||||
* @description: 创建表字段索引
|
||||
* @author: zhang jing
|
||||
* @date: 2025/2/25 16:20
|
||||
* @param: [tableName]
|
||||
* @return: void
|
||||
* 创建表字段索引
|
||||
**/
|
||||
void createPkMemberIndex (@Param("indexName")String indexName,@Param("tableName")String tableName);
|
||||
void createPkMemberIndex(@Param("indexName") String indexName, @Param("tableName") String tableName);
|
||||
|
||||
/**
|
||||
* @description: 查询订单金额,业绩,盒数,批量添加会员个人操作
|
||||
* @author: zhang jing
|
||||
* @date: 2025/2/12 11:35
|
||||
* @param: [staDate, endDate, tableName, beforeTabeName, rangeTabeName]
|
||||
* @return: int
|
||||
* 查询订单金额,业绩,盒数,批量添加会员个人操作
|
||||
**/
|
||||
int innertMemberAmountBoxTable(@Param("staDate") String staDate,
|
||||
@Param("endDate") String endDate,
|
||||
|
@ -322,11 +258,7 @@ public interface MemberReportMapper {
|
|||
@Param("rangeTabeName") String rangeTabeName);
|
||||
|
||||
/**
|
||||
* @description: 查询订单金额,业绩,盒数,批量添加会员伞下操作
|
||||
* @author: zhang jing
|
||||
* @date: 2025/2/12 11:36
|
||||
* @param: [staDate, endDate, tableName, beforeTabeName, rangeTabeName]
|
||||
* @return: int
|
||||
* 查询订单金额,业绩,盒数,批量添加会员伞下操作
|
||||
**/
|
||||
int innertTeamAmountBoxTable(@Param("apb") DirectPushAmountPvBoxVo apb,
|
||||
@Param("staDate") String staDate,
|
||||
|
@ -336,92 +268,33 @@ public interface MemberReportMapper {
|
|||
@Param("rangeTabeName") String rangeTabeName);
|
||||
|
||||
/**
|
||||
* @description: 查询会员订单
|
||||
* @author: zhang jing
|
||||
* @date: 2025/2/12 15:59
|
||||
* @param: [staDate, endDate]
|
||||
* @return: java.util.List<com.hzs.report.member.vo.DirectPushAmountPvBoxVo>
|
||||
* 查询会员订单
|
||||
**/
|
||||
List<DirectPushAmountPvBoxVo> querMemberOrder(@Param("staDate") String staDate, @Param("endDate") String endDate);
|
||||
|
||||
/**
|
||||
* @description: 7天重算删除会员统计业绩金额盒数表数据
|
||||
* @author: zhang jing
|
||||
* @date: 2025/2/12 15:58
|
||||
* @param: [tableName]
|
||||
* @return: void
|
||||
* 7天重算删除会员统计业绩金额盒数表数据
|
||||
**/
|
||||
void delMemberAmountBox(@Param("tableName") String tableName);
|
||||
|
||||
/**
|
||||
* @description: 初始化会员直推金额业绩盒数数据
|
||||
* @author: zhang jing
|
||||
* @date: 2025/2/14 17:41
|
||||
* @param: [tableName, rangeTabeName]
|
||||
* @return: void
|
||||
* 初始化会员直推金额业绩盒数数据
|
||||
**/
|
||||
void washMemberAmountBox(@Param("tableName") String tableName,@Param("rangeTabeName") String rangeTabeName);
|
||||
void washMemberAmountBox(@Param("tableName") String tableName, @Param("rangeTabeName") String rangeTabeName);
|
||||
|
||||
/**
|
||||
* @description: 将未激活的会员盒数更新为0
|
||||
* @author: zhang jing
|
||||
* @date: 2025/2/14 17:41
|
||||
* @param: [tableName, rangeTabeName]
|
||||
* @return: void
|
||||
* 将未激活的会员盒数更新为0
|
||||
**/
|
||||
void updMemberBox (@Param("tableName") String tableName,@Param("rangeTabeName") String rangeTabeName);
|
||||
void updMemberBox(@Param("tableName") String tableName, @Param("rangeTabeName") String rangeTabeName);
|
||||
|
||||
/**
|
||||
* @description: 秒结表查询会员是否激活
|
||||
* @author: zhang jing
|
||||
* @date: 2025/2/14 10:25
|
||||
* @param: [directPushBoxVo]
|
||||
* @return: java.lang.Integer
|
||||
* 秒结表查询会员是否激活
|
||||
**/
|
||||
List<DirectPushBoxVo> selectMemberActiveState(@Param("dpb") DirectPushBoxVo dpb,
|
||||
@Param("pkMemberList") List<Long> pkMemberList);
|
||||
|
||||
/**
|
||||
* @description: 查询结束日期总盒数
|
||||
* @author: zhang jing
|
||||
* @date: 2025/2/14 12:00
|
||||
* @param: [directPushBoxVo]
|
||||
* @return: java.lang.Integer
|
||||
**/
|
||||
Integer selectMemberTotalBox(DirectPushBoxVo directPushBoxVo);
|
||||
|
||||
/**
|
||||
* 根据会员编号查询注水
|
||||
*
|
||||
* @param memberCode 会员编号
|
||||
* @return Integer
|
||||
*/
|
||||
Integer selectWaterInjection(@Param("memberCode") String memberCode);
|
||||
|
||||
/**
|
||||
* @description: 查询会员注水的大区盒数
|
||||
* @author: zhang jing
|
||||
* @date: 2025/2/14 13:22
|
||||
* @param: [directPushBoxVo]
|
||||
* @return: java.lang.Integer
|
||||
**/
|
||||
Integer selectMemberBoxWaterInjection(DirectPushBoxVo directPushBoxVo);
|
||||
|
||||
/**
|
||||
* @description: 查询会员没有注水的大区盒数
|
||||
* @author: zhang jing
|
||||
* @date: 2025/2/14 13:24
|
||||
* @param: [directPushBoxVo]
|
||||
* @return: java.lang.Integer
|
||||
**/
|
||||
Integer selectMemberBoxNoWaterInjection(DirectPushBoxVo directPushBoxVo);
|
||||
|
||||
/**
|
||||
* @description: 查询直推会员信息
|
||||
* @author: zhang jing
|
||||
* @date: 2025/2/17 15:49
|
||||
* @param: [directPushNewVo]
|
||||
* @return: java.util.List<com.hzs.report.member.vo.DirectPushNewVo>
|
||||
* 查询直推会员信息
|
||||
**/
|
||||
List<DirectPushNewVo> querDirectPushDetails(DirectPushNewVo directPushNewVo);
|
||||
|
||||
|
|
|
@ -107,7 +107,6 @@ public interface MemberReportService {
|
|||
*/
|
||||
List<OrderDistribution> getByDistrictOrderDistribution(Date startTime, Date endTime, Integer pkCountry);
|
||||
|
||||
|
||||
/**
|
||||
* 出货明细汇总
|
||||
*
|
||||
|
|
|
@ -184,7 +184,7 @@ public class MemberReportServiceImpl implements MemberReportService {
|
|||
* @return List<MonthAchieveVO>
|
||||
*/
|
||||
private List<MonthAchieveVO> getAchieveMonthTable(String startDate, String endDate) {
|
||||
MonthAchieveVO monthAchieveVO = null;
|
||||
MonthAchieveVO monthAchieveVO;
|
||||
List<MonthAchieveVO> monthAchieveVOList = new ArrayList<>();
|
||||
LocalDate startLocalDate = DateUtils.getStringToLocalDate(startDate);
|
||||
LocalDate endLocalDate = DateUtils.getStringToLocalDate(endDate);
|
||||
|
@ -347,11 +347,6 @@ public class MemberReportServiceImpl implements MemberReportService {
|
|||
|
||||
/**
|
||||
* 查询伞下业绩金额
|
||||
*
|
||||
* @author: zhang jing
|
||||
* @date: 2025/2/25 15:40
|
||||
* @param: [dpo]
|
||||
* @return: java.util.List<com.hzs.report.member.vo.DirectPushNewVo>
|
||||
**/
|
||||
private List<DirectPushNewVo> querMemberAchieveAmountTeam(DirectPushNewVo dpo) {
|
||||
return memberReportMapper.querMemberAchieveAmountTeam(dpo);
|
||||
|
@ -359,11 +354,6 @@ public class MemberReportServiceImpl implements MemberReportService {
|
|||
|
||||
/**
|
||||
* 获取直推大区业绩、小区业绩
|
||||
*
|
||||
* @author: zhang jing
|
||||
* @date: 2025/2/7 16:21
|
||||
* @param: [memberAchieveList, rate]
|
||||
* @return: com.hzs.report.member.vo.DirectPushNewVo
|
||||
**/
|
||||
private DirectPushNewVo getMemberBigAndSmallAchieve(List<DirectPushNewVo> memberAchieveList, BigDecimal rate) {
|
||||
//查询最大业绩
|
||||
|
@ -384,14 +374,8 @@ public class MemberReportServiceImpl implements MemberReportService {
|
|||
|
||||
/**
|
||||
* 根据大业绩查询大小区盒数
|
||||
*
|
||||
* @author: zhang jing
|
||||
* @date: 2025/2/25 16:36
|
||||
* @param: [memberAchieveList, rate]
|
||||
* @return: com.hzs.report.member.vo.DirectPushNewVo
|
||||
**/
|
||||
private DirectPushBoxVo getMemberBigAndSmallBox(List<DirectPushBoxVo> memberAchieveList) {
|
||||
|
||||
// 2. 找到 ArealPv 最大的对象
|
||||
DirectPushBoxVo maxAchieveVO = memberAchieveList.stream()
|
||||
.max(Comparator.comparing(DirectPushBoxVo::getArealPv))
|
||||
|
@ -576,17 +560,6 @@ public class MemberReportServiceImpl implements MemberReportService {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询会员当日极差秒表名
|
||||
*
|
||||
* @return String
|
||||
*/
|
||||
private String getTableSName() {
|
||||
String localDate = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
|
||||
int period = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(localDate).getPkId();
|
||||
return TableNameConstants.CU_MEMBER_RETAIL_S + period;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<DirectPushBoxVo> selectMemberActiveState(DirectPushBoxVo dpbVo, List<Long> pkMemberList) {
|
||||
return memberReportMapper.selectMemberActiveState(dpbVo, pkMemberList);
|
||||
|
|
|
@ -9,11 +9,7 @@ import lombok.NoArgsConstructor;
|
|||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* @description: 伞下直推查询会员大小区金额业绩盒数
|
||||
* @author: zhang jing
|
||||
* @date: 2025/2/10 18:00
|
||||
* @param:
|
||||
* @return:
|
||||
* 伞下直推查询会员大小区金额业绩盒数
|
||||
**/
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
|
@ -21,7 +17,6 @@ import java.math.BigDecimal;
|
|||
@Data
|
||||
public class DirectPushAmountPvBoxVo {
|
||||
|
||||
|
||||
private Long pkMember;
|
||||
/**
|
||||
* 金额
|
||||
|
@ -42,65 +37,59 @@ public class DirectPushAmountPvBoxVo {
|
|||
* 金额
|
||||
*/
|
||||
@BigDecimalFormat()
|
||||
private BigDecimal orderAmountReg=BigDecimal.ZERO;
|
||||
private BigDecimal orderAmountReg = BigDecimal.ZERO;
|
||||
/**
|
||||
* 金额
|
||||
*/
|
||||
@BigDecimalFormat()
|
||||
private BigDecimal orderAmountUpg=BigDecimal.ZERO;
|
||||
private BigDecimal orderAmountUpg = BigDecimal.ZERO;
|
||||
/**
|
||||
* 金额
|
||||
*/
|
||||
@BigDecimalFormat()
|
||||
private BigDecimal orderAmountRep=BigDecimal.ZERO;
|
||||
private BigDecimal orderAmountRep = BigDecimal.ZERO;
|
||||
/**
|
||||
* 金额
|
||||
*/
|
||||
@BigDecimalFormat()
|
||||
private BigDecimal orderAmountCon=BigDecimal.ZERO;
|
||||
private BigDecimal orderAmountCon = BigDecimal.ZERO;
|
||||
|
||||
/**
|
||||
* 业绩
|
||||
*/
|
||||
@BigDecimalFormat()
|
||||
private BigDecimal orderAchieveReg=BigDecimal.ZERO;
|
||||
private BigDecimal orderAchieveReg = BigDecimal.ZERO;
|
||||
/**
|
||||
* 业绩
|
||||
*/
|
||||
@BigDecimalFormat()
|
||||
private BigDecimal orderAchieveUpg=BigDecimal.ZERO;
|
||||
private BigDecimal orderAchieveUpg = BigDecimal.ZERO;
|
||||
/**
|
||||
* 业绩
|
||||
*/
|
||||
@BigDecimalFormat()
|
||||
private BigDecimal orderAchieveRep=BigDecimal.ZERO;
|
||||
private BigDecimal orderAchieveRep = BigDecimal.ZERO;
|
||||
/**
|
||||
* 业绩
|
||||
*/
|
||||
@BigDecimalFormat()
|
||||
private BigDecimal orderAchieveCon=BigDecimal.ZERO;
|
||||
private BigDecimal orderAchieveCon = BigDecimal.ZERO;
|
||||
|
||||
/**
|
||||
* 盒数
|
||||
*/
|
||||
private int boxNumReg;
|
||||
private BigDecimal boxNumReg;
|
||||
/**
|
||||
* 盒数
|
||||
*/
|
||||
private int boxNumUpg;
|
||||
private BigDecimal boxNumUpg;
|
||||
/**
|
||||
* 盒数
|
||||
*/
|
||||
private int boxNumRep;
|
||||
private BigDecimal boxNumRep;
|
||||
/**
|
||||
* 盒数
|
||||
*/
|
||||
private int boxNumCon;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private BigDecimal boxNumCon;
|
||||
|
||||
}
|
||||
|
|
|
@ -38,23 +38,23 @@
|
|||
TEAM_REP_AMOUNT NUMBER(17,6) default 0 not null,
|
||||
TEAM_CON_AMOUNT NUMBER(17,6) default 0 not null,
|
||||
|
||||
SUM_BOX NUMBER(8) default 0,
|
||||
BIG_BOX NUMBER(8) default 0,
|
||||
SMALL_BOX NUMBER(8) default 0,
|
||||
REG_BOX NUMBER(8) default 0,
|
||||
UPG_BOX NUMBER(8) default 0,
|
||||
REP_BOX NUMBER(8) default 0,
|
||||
CON_BOX NUMBER(8) default 0,
|
||||
INFLATE_BIG_BOX NUMBER(8) default 0,
|
||||
INFLATE_SMALL_BOX NUMBER(8) default 0,
|
||||
SUM_BOX NUMBER(10,2) default 0,
|
||||
BIG_BOX NUMBER(10,2) default 0,
|
||||
SMALL_BOX NUMBER(10,2) default 0,
|
||||
REG_BOX NUMBER(10,2) default 0,
|
||||
UPG_BOX NUMBER(10,2) default 0,
|
||||
REP_BOX NUMBER(10,2) default 0,
|
||||
CON_BOX NUMBER(10,2) default 0,
|
||||
INFLATE_BIG_BOX NUMBER(10,2) default 0,
|
||||
INFLATE_SMALL_BOX NUMBER(10,2) default 0,
|
||||
|
||||
TEAM_SUM_BOX NUMBER(18) default 0,
|
||||
TEAM_BIG_BOX NUMBER(18) default 0,
|
||||
TEAM_SMALL_BOX NUMBER(8) default 0,
|
||||
TEAM_REG_BOX NUMBER(18) default 0,
|
||||
TEAM_UPG_BOX NUMBER(18) default 0,
|
||||
TEAM_REP_BOX NUMBER(18) default 0,
|
||||
TEAM_CON_BOX NUMBER(18) default 0,
|
||||
TEAM_SUM_BOX NUMBER(18,2) default 0,
|
||||
TEAM_BIG_BOX NUMBER(18,2) default 0,
|
||||
TEAM_SMALL_BOX NUMBER(10,2) default 0,
|
||||
TEAM_REG_BOX NUMBER(18,2) default 0,
|
||||
TEAM_UPG_BOX NUMBER(18,2) default 0,
|
||||
TEAM_REP_BOX NUMBER(18,2) default 0,
|
||||
TEAM_CON_BOX NUMBER(18,2) default 0,
|
||||
|
||||
SUM_PV NUMBER(17,6) default 0 not null,
|
||||
BIG_PV NUMBER(17,6) default 0 not null,
|
||||
|
@ -74,6 +74,7 @@
|
|||
|
||||
PK_COUNTRY NUMBER(4) not null
|
||||
</sql>
|
||||
|
||||
<!-- 查询伞下直推新增业绩 -会员 -->
|
||||
<select id="directPushNewList" resultType="com.hzs.report.member.vo.DirectPushNewVo">
|
||||
select
|
||||
|
@ -704,45 +705,6 @@
|
|||
|
||||
</select>
|
||||
|
||||
|
||||
<select id="brollyBelowResettle" resultType="com.hzs.report.member.vo.MemberPerformanceVo">
|
||||
select 1 placeDept , nvl(sum(so.ORDER_ACHIEVE),0) achieve
|
||||
from SA_ORDER so
|
||||
left join cu_member t on so.PK_CREATOR = t.pk_id and t.PLACE_DEPT = 1
|
||||
where so.del_flag = 0 and so.ORDER_STATUS = 1
|
||||
<if test="orderTypeList != null">
|
||||
and SO.ORDER_TYPE in
|
||||
<foreach collection="orderTypeList" item="item" open="(" close=")" separator=",">
|
||||
#{item}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="startPayTime != null">
|
||||
and to_char(so.PAY_TIME, 'yyyy-mm-dd hh24:mi:ss') >= to_char(#{startPayTime}, 'yyyy-mm-dd hh24:mi:ss')
|
||||
</if>
|
||||
<if test="endPayTime != null">
|
||||
and to_char(so.PAY_TIME, 'yyyy-mm-dd hh24:mi:ss') <= to_char(#{endPayTime}, 'yyyy-mm-dd hh24:mi:ss')
|
||||
</if>
|
||||
|
||||
union all
|
||||
select 2 placeDept , nvl(sum(so.ORDER_ACHIEVE),0) achieve
|
||||
from SA_ORDER so
|
||||
left join cu_member t on so.PK_CREATOR = t.pk_id and t.PLACE_DEPT = 2
|
||||
where so.del_flag = 0 and so.ORDER_STATUS = 1
|
||||
<if test="orderTypeList != null">
|
||||
and SO.ORDER_TYPE in
|
||||
<foreach collection="orderTypeList" item="item" open="(" close=")" separator=",">
|
||||
#{item}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="startPayTime != null">
|
||||
and to_char(so.PAY_TIME, 'yyyy-mm-dd hh24:mi:ss') >= to_char(#{startPayTime}, 'yyyy-mm-dd hh24:mi:ss')
|
||||
</if>
|
||||
<if test="endPayTime != null">
|
||||
and to_char(so.PAY_TIME, 'yyyy-mm-dd hh24:mi:ss') <= to_char(#{endPayTime}, 'yyyy-mm-dd hh24:mi:ss')
|
||||
</if>
|
||||
|
||||
</select>
|
||||
|
||||
<select id="productShippingDetailsList" resultType="com.hzs.report.member.vo.ProductShippingDetailsInfoVo">
|
||||
select bp.PRODUCT_CODE productCode,bp.PRODUCT_NAME productName,bc.NAME classifyName,oi.PK_AWARDS pkAwards,oi.QUANTITY quantity,
|
||||
oi.PRICE price,bw.AWARDS_NAME awardsName
|
||||
|
@ -1358,44 +1320,6 @@
|
|||
AND so.pk_member = #{pkMember})
|
||||
</select>
|
||||
|
||||
<!-- 查询会员个人业绩金额-->
|
||||
<select id="querMemberAchieveAmount" resultType="com.hzs.report.member.vo.DirectPushNewVo">
|
||||
SELECT
|
||||
NVL(MR1.arealPv, 0) - NVL(MR2.SUM_PV, 0) AS arealPv,
|
||||
NVL(MR1.arealAm, 0) - NVL(MR2.SUM_AMOUNT, 0) AS arealAm
|
||||
FROM
|
||||
(
|
||||
SELECT sum(arealPv) arealPv,
|
||||
sum(arealAm) arealAm,
|
||||
#{pkMember} pkMember
|
||||
FROM (SELECT NVL(mr.SUM_PV, 0) arealPv,
|
||||
NVL(mr.SUM_AMOUNT, 0) arealAm
|
||||
FROM ${achieveTableNameEnd} mr
|
||||
WHERE mr.pk_member = #{pkMember}
|
||||
<if test="payTime!=null and payTime!=''">
|
||||
union all
|
||||
SELECT NVL(SUM(so.order_achieve), 0) arealPv,
|
||||
NVL(SUM(so.ORDER_AMOUNT), 0) arealAm
|
||||
FROM sa_order so
|
||||
WHERE so.del_flag = 0
|
||||
AND so.order_status = 1
|
||||
AND so.order_type in (41, 42, 43, 44)
|
||||
AND so.pay_time >= #{endPayTime}
|
||||
AND so.pay_time <= #{zonpayTime}
|
||||
AND so.pk_member = #{pkMember}
|
||||
</if>
|
||||
)
|
||||
) MR1
|
||||
FULL OUTER JOIN
|
||||
${achieveTableNameSta} MR2
|
||||
ON
|
||||
MR1.pkMember = MR2.PK_MEMBER
|
||||
WHERE
|
||||
MR1.pkMember = #{pkMember}
|
||||
OR MR2.PK_MEMBER = #{pkMember}
|
||||
|
||||
</select>
|
||||
|
||||
<select id="selectMemberAchieve" resultType="com.hzs.report.member.vo.DirectPushNewVo">
|
||||
<foreach collection="pkMemberList" item="pkMember" separator="union all">
|
||||
SELECT SUM(t1.arealPv) arealPv ,#{pkMember} pkMember
|
||||
|
@ -1427,43 +1351,6 @@
|
|||
</foreach>
|
||||
</select>
|
||||
|
||||
<select id="querMemberAchieveAmount" resultType="com.hzs.report.member.vo.DirectPushNewVo">
|
||||
SELECT
|
||||
NVL(MR1.arealPv, 0) - NVL(MR2.SUM_PV, 0) AS arealPv,
|
||||
NVL(MR1.arealAm, 0) - NVL(MR2.SUM_AMOUNT, 0) AS arealAm
|
||||
FROM
|
||||
(
|
||||
SELECT sum(arealPv) arealPv,
|
||||
sum(arealAm) arealAm,
|
||||
#{pkMember} pkMember
|
||||
FROM (SELECT NVL(mr.SUM_PV, 0) arealPv,
|
||||
NVL(mr.SUM_AMOUNT, 0) arealAm
|
||||
FROM ${achieveTableNameEnd} mr
|
||||
WHERE mr.pk_member = #{pkMember}
|
||||
<if test="payTime!=null and payTime!=''">
|
||||
union all
|
||||
SELECT NVL(SUM(so.order_achieve), 0) arealPv,
|
||||
NVL(SUM(so.ORDER_AMOUNT), 0) arealAm
|
||||
FROM sa_order so
|
||||
WHERE so.del_flag = 0
|
||||
AND so.order_status = 1
|
||||
AND so.order_type in (41, 42, 43, 44)
|
||||
AND so.pay_time >= #{endPayTime}
|
||||
AND so.pay_time <= #{zonpayTime}
|
||||
AND so.pk_member = #{pkMember}
|
||||
</if>
|
||||
)
|
||||
) MR1
|
||||
FULL OUTER JOIN
|
||||
${achieveTableNameSta} MR2
|
||||
ON
|
||||
MR1.pkMember = MR2.PK_MEMBER
|
||||
WHERE
|
||||
MR1.pkMember = #{pkMember}
|
||||
OR MR2.PK_MEMBER = #{pkMember}
|
||||
|
||||
</select>
|
||||
|
||||
<!-- 查询会员直推伞下业绩金额盒数-->
|
||||
<select id="querMemberAchieveAmountTeam" resultType="com.hzs.report.member.vo.DirectPushNewVo">
|
||||
<!-- <foreach collection="pkMemberList" item="pkMember" separator="union all">-->
|
||||
|
@ -1553,9 +1440,6 @@
|
|||
|
||||
) MR2 ON MR1.pkMember = MR2.PK_MEMBER
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- </foreach>-->
|
||||
</select>
|
||||
|
||||
|
@ -1566,99 +1450,97 @@
|
|||
<include refid="CuMemberAmountBoxTable"></include>
|
||||
)
|
||||
</update>
|
||||
|
||||
<!-- 创建表字段索引-->
|
||||
<update id="createPkMemberIndex">
|
||||
CREATE INDEX ${indexName} ON ${tableName} (pk_member)
|
||||
</update>
|
||||
|
||||
|
||||
|
||||
<!-- 查询订单金额,业绩,盒数,批量添加会员个人操作 -->
|
||||
<update id="innertMemberAmountBoxTable">
|
||||
merge into ${tableName} cmab
|
||||
using (
|
||||
SELECT
|
||||
nvl(t.SUM_AMOUNT+ nvl(cmr.SUM_AMOUNT,0),0) SUM_AMOUNT,
|
||||
nvl(t.REG_AMOUNT+ nvl(cmr.REG_AMOUNT,0),0) REG_AMOUNT,
|
||||
nvl(t.UPG_AMOUNT+ nvl(cmr.UPG_AMOUNT,0),0) UPG_AMOUNT,
|
||||
nvl(t.REP_AMOUNT+ nvl(cmr.REP_AMOUNT,0),0) REP_AMOUNT,
|
||||
nvl(t.CON_AMOUNT+ nvl(cmr.CON_AMOUNT,0),0) CON_AMOUNT,
|
||||
SELECT nvl(t.SUM_AMOUNT + nvl(cmr.SUM_AMOUNT, 0), 0) SUM_AMOUNT,
|
||||
nvl(t.REG_AMOUNT + nvl(cmr.REG_AMOUNT, 0), 0) REG_AMOUNT,
|
||||
nvl(t.UPG_AMOUNT + nvl(cmr.UPG_AMOUNT, 0), 0) UPG_AMOUNT,
|
||||
nvl(t.REP_AMOUNT + nvl(cmr.REP_AMOUNT, 0), 0) REP_AMOUNT,
|
||||
nvl(t.CON_AMOUNT + nvl(cmr.CON_AMOUNT, 0), 0) CON_AMOUNT,
|
||||
|
||||
nvl(t.SUM_PV+ nvl(cmr.SUM_PV,0),0)SUM_PV,
|
||||
nvl(t.REG_PV+ nvl(cmr.REG_PV,0),0)REG_PV,
|
||||
nvl(t.UPG_PV+ nvl(cmr.UPG_PV,0),0)UPG_PV,
|
||||
nvl(t.REP_PV+ nvl(cmr.REP_PV,0),0)REP_PV,
|
||||
nvl(t.CON_PV+ nvl(cmr.CON_PV,0),0)CON_PV,
|
||||
nvl(t.SUM_PV + nvl(cmr.SUM_PV, 0), 0) SUM_PV,
|
||||
nvl(t.REG_PV + nvl(cmr.REG_PV, 0), 0) REG_PV,
|
||||
nvl(t.UPG_PV + nvl(cmr.UPG_PV, 0), 0) UPG_PV,
|
||||
nvl(t.REP_PV + nvl(cmr.REP_PV, 0), 0) REP_PV,
|
||||
nvl(t.CON_PV + nvl(cmr.CON_PV, 0), 0) CON_PV,
|
||||
|
||||
nvl(t.SUM_BOX+ nvl(cmr.SUM_BOX,0),0) SUM_BOX,
|
||||
nvl(t.REG_BOX+ nvl(cmr.REG_BOX,0),0) REG_BOX,
|
||||
nvl(t.UPG_BOX+ nvl(cmr.UPG_BOX,0),0) UPG_BOX,
|
||||
nvl(t.REP_BOX+ nvl(cmr.REP_BOX,0),0) REP_BOX,
|
||||
nvl(t.CON_BOX+ nvl(cmr.CON_BOX,0),0) CON_BOX,
|
||||
nvl(t.SUM_BOX + nvl(cmr.SUM_BOX, 0), 0) SUM_BOX,
|
||||
nvl(t.REG_BOX + nvl(cmr.REG_BOX, 0), 0) REG_BOX,
|
||||
nvl(t.UPG_BOX + nvl(cmr.UPG_BOX, 0), 0) UPG_BOX,
|
||||
nvl(t.REP_BOX + nvl(cmr.REP_BOX, 0), 0) REP_BOX,
|
||||
nvl(t.CON_BOX + nvl(cmr.CON_BOX, 0), 0) CON_BOX,
|
||||
|
||||
t.pk_member,
|
||||
t.pk_parent,
|
||||
t.BIG_BOX_NUM,
|
||||
t.SMALL_BOX_NUM,
|
||||
t.PK_COUNTRY,
|
||||
nvl(cmr.team_sum_amount,0) team_sum_amount,
|
||||
nvl(cmr.team_REG_amount,0) team_REG_amount,
|
||||
nvl(cmr.team_UPG_amount,0) team_UPG_amount,
|
||||
nvl(cmr.team_REP_amount,0) team_REP_amount,
|
||||
nvl(cmr.team_CON_amount,0) team_CON_amount,
|
||||
nvl(cmr.team_sum_amount, 0) team_sum_amount,
|
||||
nvl(cmr.team_REG_amount, 0) team_REG_amount,
|
||||
nvl(cmr.team_UPG_amount, 0) team_UPG_amount,
|
||||
nvl(cmr.team_REP_amount, 0) team_REP_amount,
|
||||
nvl(cmr.team_CON_amount, 0) team_CON_amount,
|
||||
|
||||
nvl(cmr.team_sum_pv,0) team_sum_pv,
|
||||
nvl(cmr.team_REG_pv,0) team_REG_pv,
|
||||
nvl(cmr.team_UPG_pv,0) team_UPG_pv,
|
||||
nvl(cmr.team_REP_pv,0) team_REP_pv,
|
||||
nvl(cmr.team_CON_pv,0) team_CON_pv,
|
||||
nvl(cmr.team_sum_pv, 0) team_sum_pv,
|
||||
nvl(cmr.team_REG_pv, 0) team_REG_pv,
|
||||
nvl(cmr.team_UPG_pv, 0) team_UPG_pv,
|
||||
nvl(cmr.team_REP_pv, 0) team_REP_pv,
|
||||
nvl(cmr.team_CON_pv, 0) team_CON_pv,
|
||||
|
||||
nvl(cmr.team_sum_box,0) team_sum_box,
|
||||
nvl(cmr.team_REG_box,0) team_REG_box,
|
||||
nvl(cmr.team_UPG_box,0) team_UPG_box,
|
||||
nvl(cmr.team_REP_box,0) team_REP_box,
|
||||
nvl(cmr.team_CON_box,0) team_CON_box
|
||||
nvl(cmr.team_sum_box, 0) team_sum_box,
|
||||
nvl(cmr.team_REG_box, 0) team_REG_box,
|
||||
nvl(cmr.team_UPG_box, 0) team_UPG_box,
|
||||
nvl(cmr.team_REP_box, 0) team_REP_box,
|
||||
nvl(cmr.team_CON_box, 0) team_CON_box
|
||||
FROM (
|
||||
SELECT SUM(nvl(so.ORDER_AMOUNT,0)) SUM_AMOUNT,
|
||||
SELECT SUM(nvl(so.ORDER_AMOUNT, 0)) SUM_AMOUNT,
|
||||
SUM(CASE WHEN so.order_type = 41 THEN nvl(so.ORDER_AMOUNT, 0) ELSE 0 END) AS REG_AMOUNT,
|
||||
SUM(CASE WHEN so.order_type = 42 THEN nvl(so.ORDER_AMOUNT, 0) ELSE 0 END) AS UPG_AMOUNT,
|
||||
SUM(CASE WHEN so.order_type = 43 THEN nvl(so.ORDER_AMOUNT, 0) ELSE 0 END) AS REP_AMOUNT,
|
||||
SUM(CASE WHEN so.order_type = 44 THEN nvl(so.ORDER_AMOUNT, 0) ELSE 0 END) AS CON_AMOUNT,
|
||||
|
||||
SUM(nvl(so.ORDER_ACHIEVE,0)) SUM_PV,
|
||||
SUM(nvl(so.ORDER_ACHIEVE, 0)) SUM_PV,
|
||||
SUM(CASE WHEN so.order_type = 41 THEN nvl(so.ORDER_ACHIEVE, 0) ELSE 0 END) AS REG_PV,
|
||||
SUM(CASE WHEN so.order_type = 42 THEN nvl(so.ORDER_ACHIEVE, 0) ELSE 0 END) AS UPG_PV,
|
||||
SUM(CASE WHEN so.order_type = 43 THEN nvl(so.ORDER_ACHIEVE, 0) ELSE 0 END) AS REP_PV,
|
||||
SUM(CASE WHEN so.order_type = 44 THEN nvl(so.ORDER_ACHIEVE, 0) ELSE 0 END) AS CON_PV,
|
||||
|
||||
SUM(nvl(so.BOX_NUM,0)) SUM_BOX,
|
||||
SUM(nvl(so.BOX_NUM, 0)) SUM_BOX,
|
||||
SUM(CASE WHEN so.order_type = 41 THEN nvl(so.BOX_NUM, 0) ELSE 0 END) AS REG_BOX,
|
||||
SUM(CASE WHEN so.order_type = 42 THEN nvl(so.BOX_NUM, 0) ELSE 0 END) AS UPG_BOX,
|
||||
SUM(CASE WHEN so.order_type = 43 THEN nvl(so.BOX_NUM, 0) ELSE 0 END) AS REP_BOX,
|
||||
SUM(CASE WHEN so.order_type = 44 THEN nvl(so.BOX_NUM, 0) ELSE 0 END) AS CON_BOX,
|
||||
rag.pk_member,
|
||||
rag.pk_parent,
|
||||
SUM(nvl(rag.BIG_BOX_NUM,0)) BIG_BOX_NUM,
|
||||
SUM(nvl(rag.SMALL_BOX_NUM,0)) SMALL_BOX_NUM,
|
||||
SUM(nvl(rag.BIG_BOX_NUM, 0)) BIG_BOX_NUM,
|
||||
SUM(nvl(rag.SMALL_BOX_NUM, 0)) SMALL_BOX_NUM,
|
||||
rag.PK_COUNTRY
|
||||
FROM ${rangeTabeName} rag
|
||||
left join sa_order so on rag.pk_member=so.pk_member and so.del_flag=0 AND so.ORDER_STATUS=1
|
||||
left join sa_order so on rag.pk_member = so.pk_member and so.del_flag = 0 AND so.ORDER_STATUS = 1
|
||||
AND so.PAY_TIME >= to_date(#{staDate}, 'yyyy-mm-dd')
|
||||
AND so.PAY_TIME <= to_date(#{endDate} || ' 23:59:59', 'yyyy-mm-dd hh24:mi:ss')
|
||||
GROUP BY rag.pk_member, rag.pk_parent,rag.PK_COUNTRY
|
||||
GROUP BY rag.pk_member, rag.pk_parent, rag.PK_COUNTRY
|
||||
) t
|
||||
left JOIN ${beforeTabeName} cmr ON cmr.pk_member=t.pk_member
|
||||
left JOIN ${beforeTabeName} cmr ON cmr.pk_member = t.pk_member
|
||||
) tmp
|
||||
on (cmab.pk_member = tmp.pk_member)
|
||||
when not matched then
|
||||
insert
|
||||
(PK_MEMBER,PK_PARENT,SUM_AMOUNT,REG_AMOUNT,UPG_AMOUNT,REP_AMOUNT,CON_AMOUNT,
|
||||
SUM_BOX,REG_BOX,UPG_BOX,REP_BOX,CON_BOX,
|
||||
SUM_PV,REG_PV,UPG_PV,REP_PV,CON_PV,
|
||||
(PK_MEMBER, PK_PARENT, SUM_AMOUNT, REG_AMOUNT, UPG_AMOUNT, REP_AMOUNT, CON_AMOUNT,
|
||||
SUM_BOX, REG_BOX, UPG_BOX, REP_BOX, CON_BOX,
|
||||
SUM_PV, REG_PV, UPG_PV, REP_PV, CON_PV,
|
||||
PK_COUNTRY,
|
||||
TEAM_SUM_AMOUNT,TEAM_REG_AMOUNT,TEAM_UPG_AMOUNT,TEAM_REP_AMOUNT,TEAM_CON_AMOUNT,
|
||||
TEAM_SUM_BOX,TEAM_REG_BOX,TEAM_UPG_BOX,TEAM_REP_BOX,TEAM_CON_BOX,
|
||||
TEAM_SUM_PV,TEAM_REG_PV,TEAM_UPG_PV,TEAM_REP_PV,TEAM_CON_PV,BIG_BOX,SMALL_BOX
|
||||
TEAM_SUM_AMOUNT, TEAM_REG_AMOUNT, TEAM_UPG_AMOUNT, TEAM_REP_AMOUNT, TEAM_CON_AMOUNT,
|
||||
TEAM_SUM_BOX, TEAM_REG_BOX, TEAM_UPG_BOX, TEAM_REP_BOX, TEAM_CON_BOX,
|
||||
TEAM_SUM_PV, TEAM_REG_PV, TEAM_UPG_PV, TEAM_REP_PV, TEAM_CON_PV, BIG_BOX, SMALL_BOX
|
||||
)
|
||||
values (tmp.pk_member,
|
||||
tmp.PK_PARENT,
|
||||
|
@ -1667,13 +1549,11 @@
|
|||
tmp.UPG_AMOUNT,
|
||||
tmp.REP_AMOUNT,
|
||||
tmp.CON_AMOUNT,
|
||||
|
||||
tmp.SUM_BOX,
|
||||
tmp.REG_BOX,
|
||||
tmp.UPG_BOX,
|
||||
tmp.REP_BOX,
|
||||
tmp.CON_BOX,
|
||||
|
||||
tmp.SUM_PV,
|
||||
tmp.REG_PV,
|
||||
tmp.UPG_PV,
|
||||
|
@ -1685,21 +1565,18 @@
|
|||
tmp.TEAM_UPG_AMOUNT,
|
||||
tmp.TEAM_REP_AMOUNT,
|
||||
tmp.TEAM_CON_AMOUNT,
|
||||
|
||||
tmp.TEAM_SUM_BOX,
|
||||
tmp.TEAM_REG_BOX,
|
||||
tmp.TEAM_UPG_BOX,
|
||||
tmp.TEAM_REP_BOX,
|
||||
tmp.TEAM_CON_BOX,
|
||||
|
||||
tmp.TEAM_SUM_PV,
|
||||
tmp.TEAM_REG_PV,
|
||||
tmp.TEAM_UPG_PV,
|
||||
tmp.TEAM_REP_PV,
|
||||
tmp.TEAM_CON_PV,
|
||||
tmp.BIG_BOX_NUM,
|
||||
tmp.SMALL_BOX_NUM
|
||||
)
|
||||
tmp.SMALL_BOX_NUM)
|
||||
when matched then
|
||||
update set
|
||||
cmab.SUM_AMOUNT = tmp.SUM_AMOUNT,
|
||||
|
@ -1739,10 +1616,8 @@
|
|||
cmab.TEAM_CON_PV = tmp.TEAM_CON_PV,
|
||||
cmab.BIG_BOX = tmp.BIG_BOX_NUM,
|
||||
cmab.SMALL_BOX = tmp.SMALL_BOX_NUM
|
||||
|
||||
</update>
|
||||
|
||||
|
||||
<!-- 查询订单金额,业绩,盒数,批量添加会员伞下操作 -->
|
||||
<update id="innertTeamAmountBoxTable">
|
||||
merge into ${tableName} cmab
|
||||
|
@ -1798,10 +1673,10 @@
|
|||
cmab.TEAM_REP_PV = tmp.TEAM_REP_PV,
|
||||
cmab.TEAM_CON_PV = tmp.TEAM_CON_PV
|
||||
</update>
|
||||
|
||||
<!-- 查询会员订单-->
|
||||
<select id="querMemberOrder" resultType="com.hzs.report.member.vo.DirectPushAmountPvBoxVo">
|
||||
select
|
||||
sum(so.order_amount) orderAmount,
|
||||
select sum(so.order_amount) orderAmount,
|
||||
SUM(CASE WHEN so.order_type = 41 THEN so.order_amount ELSE 0 END) AS orderAmountReg,
|
||||
SUM(CASE WHEN so.order_type = 42 THEN so.order_amount ELSE 0 END) AS orderAmountUpg,
|
||||
SUM(CASE WHEN so.order_type = 43 THEN so.order_amount ELSE 0 END) AS orderAmountRep,
|
||||
|
@ -1824,22 +1699,29 @@
|
|||
AND so.PAY_TIME <= to_date(#{endDate} || ' 23:59:59', 'yyyy-mm-dd hh24:mi:ss')
|
||||
GROUP BY so.pk_member
|
||||
</select>
|
||||
|
||||
<!-- 7天重算删除会员统计业绩金额盒数表数据-->
|
||||
<update id="delMemberAmountBox">
|
||||
delete from ${tableName}
|
||||
delete
|
||||
from ${tableName}
|
||||
</update>
|
||||
|
||||
<!-- 未激活的会员盒数为零-->
|
||||
<update id="updMemberBox">
|
||||
update ${tableName} set SUM_BOX=0,TEAM_SUM_BOX=0 where PK_MEMBER in(
|
||||
select PK_MEMBER from ${rangeTabeName} rag where enable_status=1
|
||||
update ${tableName}
|
||||
set SUM_BOX = 0,
|
||||
TEAM_SUM_BOX = 0
|
||||
where PK_MEMBER in (
|
||||
select PK_MEMBER
|
||||
from ${rangeTabeName} rag
|
||||
where enable_status = 1
|
||||
)
|
||||
</update>
|
||||
|
||||
<!-- 初始化会员直推金额业绩盒数数据-->
|
||||
<!-- 初始化会员直推金额业绩盒数数据-->
|
||||
<update id="washMemberAmountBox">
|
||||
merge into ${tableName} cmab
|
||||
using ( SELECT rag.pk_member,
|
||||
using (SELECT rag.pk_member,
|
||||
rag.pk_parent,
|
||||
rag.CONSUME_PV SUM_PV,
|
||||
rag.CONSUME_BOX_NUM SUM_BOX,
|
||||
|
@ -1854,7 +1736,7 @@
|
|||
on (cmab.pk_member = tmp.pk_member)
|
||||
when not matched then
|
||||
insert
|
||||
(PK_MEMBER,PK_PARENT,SUM_PV,SUM_BOX,TEAM_SUM_PV,TEAM_SUM_BOX,TEAM_SUM_AMOUNT,
|
||||
(PK_MEMBER, PK_PARENT, SUM_PV, SUM_BOX, TEAM_SUM_PV, TEAM_SUM_BOX, TEAM_SUM_AMOUNT,
|
||||
INFLATE_BIG_BOX,
|
||||
INFLATE_SMALL_BOX,
|
||||
PK_COUNTRY)
|
||||
|
@ -1867,19 +1749,18 @@
|
|||
tmp.TEAM_SUM_AMOUNT,
|
||||
tmp.INFLATE_BIG_BOX,
|
||||
tmp.INFLATE_SMALL_BOX,
|
||||
tmp.PK_COUNTRY
|
||||
)
|
||||
tmp.PK_COUNTRY)
|
||||
when matched then
|
||||
update set cmab.SUM_BOX = tmp.SUM_BOX,
|
||||
cmab.SUM_PV = tmp.SUM_PV,
|
||||
cmab.TEAM_SUM_PV=tmp.TEAM_SUM_PV,
|
||||
cmab.TEAM_SUM_BOX=tmp.TEAM_SUM_BOX,
|
||||
cmab.TEAM_SUM_AMOUNT=tmp.TEAM_SUM_AMOUNT,
|
||||
cmab.INFLATE_BIG_BOX=tmp.INFLATE_BIG_BOX,
|
||||
cmab.INFLATE_SMALL_BOX=tmp.INFLATE_SMALL_BOX
|
||||
cmab.TEAM_SUM_PV = tmp.TEAM_SUM_PV,
|
||||
cmab.TEAM_SUM_BOX = tmp.TEAM_SUM_BOX,
|
||||
cmab.TEAM_SUM_AMOUNT = tmp.TEAM_SUM_AMOUNT,
|
||||
cmab.INFLATE_BIG_BOX = tmp.INFLATE_BIG_BOX,
|
||||
cmab.INFLATE_SMALL_BOX = tmp.INFLATE_SMALL_BOX
|
||||
</update>
|
||||
|
||||
<!-- 秒结表查询会员是否激活-->
|
||||
<!-- 秒结表查询会员是否激活-->
|
||||
<select id="selectMemberActiveState" resultType="com.hzs.report.member.vo.DirectPushBoxVo">
|
||||
<foreach collection="pkMemberList" item="pkMember" separator="union all">
|
||||
SELECT min(t0.enable_status) enableStatus,
|
||||
|
@ -1897,63 +1778,6 @@
|
|||
</foreach>
|
||||
|
||||
</select>
|
||||
<!-- 查询总盒数-->
|
||||
<select id="selectMemberTotalBox" resultType="integer">
|
||||
SELECT nvl(sum(totalAreaBox), 0) totalAreaBox
|
||||
FROM (SELECT NVL(mr.team_box_num + mr.consume_box_num, 0) totalAreaBox
|
||||
FROM ${memberRetailTable} mr
|
||||
WHERE mr.category = 0
|
||||
AND mr.pk_member = #{pkMember}
|
||||
<if test="payTime!=null and payTime!=''">
|
||||
union all
|
||||
select NVL(rs.new_box_num + rs.team_new_box_num, 0) totalAreaBox
|
||||
from ${memberRetailSTable} rs
|
||||
where rs.pk_member = #{pkMember}
|
||||
</if>
|
||||
)
|
||||
</select>
|
||||
|
||||
<select id="selectWaterInjection" resultType="integer">
|
||||
SELECT count(1)
|
||||
FROM (SELECT sr.team_box_num, sr.small_box_num, sr.period_date
|
||||
FROM cu_member_spe_retail sr
|
||||
where sr.del_flag = 0
|
||||
and sr.pk_country = 1
|
||||
and sr.period_date < TRUNC(SYSDATE)
|
||||
and sr.member_code = #{memberCode}
|
||||
ORDER BY sr.period_date desc) t0
|
||||
where rownum = 1
|
||||
</select>
|
||||
|
||||
<select id="selectMemberBoxWaterInjection" resultType="integer">
|
||||
SELECT NVL(mr.big_box_num, 0) smallAreaBox
|
||||
FROM ${memberRetailTable} mr
|
||||
WHERE mr.category = 0
|
||||
AND mr.pk_member = #{pkMember}
|
||||
</select>
|
||||
|
||||
<select id="selectMemberBoxNoWaterInjection" resultType="integer">
|
||||
SELECT nvl(max(smallAreaBox), 0) smallareabox
|
||||
from
|
||||
(
|
||||
<if test="pkMemberList != null and pkMemberList.size > 0">
|
||||
<include refid="selectMemberDirectPushBox"/>
|
||||
union all
|
||||
</if>
|
||||
SELECT nvl(sum(smallAreaBox), 0) smallAreaBox
|
||||
FROM (SELECT NVL(mr.consume_box_num, 0) smallAreaBox
|
||||
FROM ${memberRetailTable} mr
|
||||
WHERE mr.category = 0
|
||||
AND mr.pk_member = #{pkMember}
|
||||
<if test="payTime!=null and payTime!=''">
|
||||
union all
|
||||
select rs.new_box_num smallAreaBox
|
||||
from ${memberRetailSTable} rs
|
||||
where rs.pk_member = #{pkMember}
|
||||
</if>
|
||||
)
|
||||
)
|
||||
</select>
|
||||
|
||||
<sql id="selectMemberDirectPushBox">
|
||||
<foreach collection="pkMemberList" item="pkMember" separator="union all">
|
||||
|
@ -2003,6 +1827,4 @@
|
|||
</if>
|
||||
</select>
|
||||
|
||||
|
||||
|
||||
</mapper>
|
||||
|
|
|
@ -599,7 +599,6 @@ public class ApiRetailOrderController {
|
|||
.channel(shoppingCartRedis.getSource())
|
||||
.waresCode(shoppingCartRedis.getWaresCode())
|
||||
.quantity(shoppingCartRedis.getNumber())
|
||||
.pkMakerSpace(shoppingCartRedis.getPkMakerSpace())
|
||||
.build();
|
||||
List<WaresItemsParam> waresItemsParamList = new ArrayList<>(shoppingCartRedis.getProductGroup().size());
|
||||
for (ProductGroup productGroup : shoppingCartRedis.getProductGroup()) {
|
||||
|
|
|
@ -226,37 +226,11 @@ public class RetailOrderServiceImpl implements IRetailOrderService {
|
|||
return saOrderExt;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取升级价格
|
||||
*
|
||||
* @param gradeList 等级列表
|
||||
* @param boxNum 购买盒数
|
||||
* @param baseBoxNum 基础盒数
|
||||
* @param updateGrade 升级等级
|
||||
* @return
|
||||
*/
|
||||
private BigDecimal getUpGradePrice(List<BdGrade> gradeList, int boxNum, int baseBoxNum, BdGrade updateGrade) {
|
||||
BigDecimal price;
|
||||
if (null != updateGrade) {
|
||||
// V4、V5直接给固定价格,不会因升级变动
|
||||
if (updateGrade.getGradeValue() == EGrade.S_VIP.getValue()) {
|
||||
price = ERetailWaresPrice.V5.getPrice();
|
||||
} else if (updateGrade.getGradeValue() == EGrade.VIP.getValue()) {
|
||||
price = ERetailWaresPrice.V4.getPrice();
|
||||
} else {
|
||||
price = this.getWaresPrice(baseBoxNum + boxNum, gradeList);
|
||||
}
|
||||
} else {
|
||||
price = this.getWaresPrice(baseBoxNum + boxNum, gradeList);
|
||||
}
|
||||
return price;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<SaOrderItems> createSaOrderItems(RetailOrderParam orderParam, List<BdGrade> gradeList,
|
||||
CuMember cuMember, SaOrderExt saOrderExt, CurrencyDTO currency) {
|
||||
// 需要查询盒数商品
|
||||
List<String> boxProductList = BoxProductUtil.getBoxProductListBySystemType(null);
|
||||
List<String> boxWaresList = BoxProductUtil.getBoxWaresListBySystemType(null);
|
||||
|
||||
// 订单明细信息
|
||||
List<SaOrderItems> orderItemsList = new ArrayList<>();
|
||||
|
@ -291,7 +265,7 @@ public class RetailOrderServiceImpl implements IRetailOrderService {
|
|||
// }
|
||||
|
||||
// 当前盒数
|
||||
int boxNum = 0;
|
||||
BigDecimal boxNum = BigDecimal.ZERO;
|
||||
|
||||
// // 2025.03.11 添加需求,复购专区、重消专区,指定盒数商品每用户每月限购50件
|
||||
// this.checkWaresLimit(cuMember.getPkId(), orderParam.getSpecialArea(), waresDetailExtList, boxProductList);
|
||||
|
@ -315,9 +289,9 @@ public class RetailOrderServiceImpl implements IRetailOrderService {
|
|||
saOrderHandle.setPostageTmpMap(orderParam.getTranType(), postageMap, waresDetailExt, orderItems);
|
||||
}
|
||||
|
||||
if (boxProductList.contains(waresDetailExt.getWaresCode())) {
|
||||
if (boxWaresList.contains(waresDetailExt.getWaresCode())) {
|
||||
// 商品是盒数商品,需要累计数量
|
||||
boxNum += orderItems.getWaresQuantity();
|
||||
boxNum = boxNum.add(waresDetailExt.getBoxNum().multiply(new BigDecimal(orderItems.getWaresQuantity())));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -478,26 +452,6 @@ public class RetailOrderServiceImpl implements IRetailOrderService {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据购买盒数,返回商品价格
|
||||
*
|
||||
* @param boxNum 盒数
|
||||
* @param gradeList 等级列表(倒序排序)
|
||||
* @return
|
||||
*/
|
||||
private BigDecimal getWaresPrice(int boxNum, List<BdGrade> gradeList) {
|
||||
// 去掉升级条件带有累计盒数的(V4,V5)并且升级购买合数小于等于订单商品盒数的,再进行等级值倒序排序
|
||||
gradeList = gradeList.stream().filter(tmpGrade -> tmpGrade.getBoxTotal() == 0 && tmpGrade.getBoxNumber() <= boxNum).sorted(Comparator.comparingInt(BdGrade::getGradeValue).reversed()).collect(Collectors.toList());
|
||||
|
||||
for (BdGrade bdGrade : gradeList) {
|
||||
if (boxNum > bdGrade.getBoxNumber()) {
|
||||
// 盒数大于等于购买盒数
|
||||
return ERetailWaresPrice.getEnumByValue(bdGrade.getGradeValue()).getPrice();
|
||||
}
|
||||
}
|
||||
return ERetailWaresPrice.V0.getPrice();
|
||||
}
|
||||
|
||||
/**
|
||||
* 封装订单信息
|
||||
*
|
||||
|
@ -807,7 +761,7 @@ public class RetailOrderServiceImpl implements IRetailOrderService {
|
|||
Map<Integer, Integer> waresLimitMap = new HashMap<>();
|
||||
|
||||
// 盒数商品
|
||||
List<String> boxProductList = BoxProductUtil.getBoxProductListBySystemType(saOrderExt.getSystemType());
|
||||
List<String> boxProductList = BoxProductUtil.getBoxWaresListBySystemType(saOrderExt.getSystemType());
|
||||
|
||||
for (SaOrderItems saOrderItems : saOrderExt.getOrderItemsList()) {
|
||||
saOrderItems.setPkOrder(saOrderExt.getPkId());
|
||||
|
@ -933,7 +887,7 @@ public class RetailOrderServiceImpl implements IRetailOrderService {
|
|||
&& (EOrderType.RETAIL_REGISTER.getValue() == saOrder.getOrderType() || EOrderType.RETAIL_UPGRADE.getValue() == saOrder.getOrderType())
|
||||
) {
|
||||
// 会员激活状态为空 或 未激活,并且是 注册、升级 订单,判断会员是否激活
|
||||
if (saOrder.getBoxNum() > 0) {
|
||||
if (saOrder.getBoxNum().compareTo(BigDecimal.ZERO) > 0) {
|
||||
// 存在指定盒数商品
|
||||
cuMember.setIsActivate(EYesNo.YES.getIntValue());
|
||||
if (EPayStatus.UNPAID.getValue() == cuMember.getPayStatus()) {
|
||||
|
|
|
@ -40,7 +40,6 @@ import com.hzs.sale.wares.service.IBdWaresDetailService;
|
|||
import com.hzs.scm.pub.IScmBillServiceApi;
|
||||
import com.hzs.system.base.IAreaServiceApi;
|
||||
import com.hzs.system.base.ICurrencyServiceApi;
|
||||
import com.hzs.system.base.dto.CurrencyDTO;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.dubbo.config.annotation.DubboReference;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
@ -98,24 +97,19 @@ public abstract class ParentOrderController extends BaseController {
|
|||
return orderItemsService;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 根据code、编码获取值
|
||||
*
|
||||
* @param code 查询的code
|
||||
* @Description: 根据code、编码获取值
|
||||
* @return: CuMember
|
||||
* @Author: sui q
|
||||
* @Date: 2022/8/30 8:48
|
||||
*/
|
||||
protected CuMember getCuMemberByCode(String code) {
|
||||
return orderService.getCuMemberByCode(code);
|
||||
}
|
||||
|
||||
/**
|
||||
* 验证字段是否必输
|
||||
*
|
||||
* @param fieldList 需要验证的字段
|
||||
* @Description: 验证字段是否必输
|
||||
* @return: boolean
|
||||
* @Author: sui q
|
||||
* @Date: 2022/8/29 11:13
|
||||
*/
|
||||
protected boolean validateFieldNotNull(OrderParam orderParam, List<String> fieldList) {
|
||||
return fieldList.stream().anyMatch(field -> {
|
||||
|
@ -125,11 +119,9 @@ public abstract class ParentOrderController extends BaseController {
|
|||
}
|
||||
|
||||
/**
|
||||
* 验证手机号+姓名
|
||||
*
|
||||
* @param orderParam 手机号、姓名、安置人必输
|
||||
* @Description: 验证手机号+姓名
|
||||
* @return: AjaxResult
|
||||
* @Author: sui q
|
||||
* @Date: 2022/8/27 16:51
|
||||
*/
|
||||
protected AjaxResult validatePhone(OrderParam orderParam) {
|
||||
if (StringUtils.isEmpty(orderParam.getPhone()) || StringUtils.isEmpty(orderParam.getMemberName())) {
|
||||
|
@ -190,11 +182,9 @@ public abstract class ParentOrderController extends BaseController {
|
|||
}
|
||||
|
||||
/**
|
||||
* 验证推荐编号,成功后返回姓名,如果首单返回安置人、安置部门
|
||||
*
|
||||
* @param orderParam 必须推荐人
|
||||
* @Description: 验证推荐编号,成功后返回姓名,如果首单返回安置人、安置部门
|
||||
* @return: AjaxResult
|
||||
* @Author: sui q
|
||||
* @Date: 2022/8/27 16:53
|
||||
*/
|
||||
protected AjaxResult validateReferenceRelation(OrderParam orderParam) {
|
||||
if (StringUtils.isEmpty(orderParam.getParent())) {
|
||||
|
@ -264,11 +254,9 @@ public abstract class ParentOrderController extends BaseController {
|
|||
}
|
||||
|
||||
/**
|
||||
* 验证安置编号、安置部门,成功后返回姓名
|
||||
*
|
||||
* @param orderParam 必须安置人
|
||||
* @Description: 验证安置编号、安置部门,成功后返回姓名
|
||||
* @return: AjaxResult
|
||||
* @Author: sui q
|
||||
* @Date: 2022/8/27 16:53
|
||||
*/
|
||||
protected AjaxResult validatePlaceParentMemberCode(OrderParam orderParam) {
|
||||
if (StringUtils.isEmpty(orderParam.getParent())) {
|
||||
|
@ -341,11 +329,9 @@ public abstract class ParentOrderController extends BaseController {
|
|||
}
|
||||
|
||||
/**
|
||||
* 验证需要注册的信息, 订单保存时需要调用的验证
|
||||
*
|
||||
* @param orderParam 所有信息
|
||||
* @Description: 验证需要注册的信息, 订单保存时需要调用的验证
|
||||
* @return: AjaxResult
|
||||
* @Author: sui q
|
||||
* @Date: 2022/9/2 16:15
|
||||
*/
|
||||
protected AjaxResult validateSaveMember(OrderParam orderParam) {
|
||||
// 安置编号
|
||||
|
@ -375,9 +361,6 @@ public abstract class ParentOrderController extends BaseController {
|
|||
|
||||
/*
|
||||
* 验证可用量,可用量不足,不能下单
|
||||
* @author: sui q
|
||||
* @date: 2023/12/14 17:49
|
||||
* @param: null null
|
||||
**/
|
||||
protected String validateAvailableNum(OrderParam orderParam, String orderCode) {
|
||||
// 验证是否控制进销存
|
||||
|
@ -468,12 +451,10 @@ public abstract class ParentOrderController extends BaseController {
|
|||
}
|
||||
|
||||
/**
|
||||
* 对安置位置进行加锁预防位置重复
|
||||
*
|
||||
* @param placeParentId 安置人
|
||||
* @param placeDept 安置位置
|
||||
* @Description: 对安置位置进行加锁预防位置重复
|
||||
* @return: void
|
||||
* @Author: sui q
|
||||
* @Date: 2022/9/5 9:20
|
||||
*/
|
||||
protected boolean validatePlacePosition(Long placeParentId, Integer placeDept) {
|
||||
// 验证通过对安置人,安置部门加锁,防止同时安置引起错误,最后解锁
|
||||
|
@ -483,10 +464,6 @@ public abstract class ParentOrderController extends BaseController {
|
|||
/**
|
||||
* @param placeParentId 安置位置
|
||||
* @param placeDept 安置部门
|
||||
* @Description:
|
||||
* @return: String
|
||||
* @Author: sui q
|
||||
* @Date: 2022/9/5 10:35
|
||||
*/
|
||||
private String getLockKey(Long placeParentId, Integer placeDept) {
|
||||
return CacheConstants.POSITION +
|
||||
|
@ -495,11 +472,9 @@ public abstract class ParentOrderController extends BaseController {
|
|||
}
|
||||
|
||||
/**
|
||||
* 空单注册 验证权限,验证编号是否有报单权限
|
||||
*
|
||||
* @param centerCodeId 验证的权限
|
||||
* @Description: 空单注册 验证权限,验证编号是否有报单权限
|
||||
* @return: AjaxResult
|
||||
* @Author: sui q
|
||||
* @Date: 2022/8/27 16:53
|
||||
*/
|
||||
protected AjaxResult validateRegisterAuthority(Long centerCodeId, Integer specialArea) {
|
||||
// 前台登录验证登录会员,后台空点验证输入的报单人
|
||||
|
@ -580,10 +555,6 @@ public abstract class ParentOrderController extends BaseController {
|
|||
* 验证手机号注册次数
|
||||
*
|
||||
* @param cuMemberExtList 会员数量
|
||||
* @Description:
|
||||
* @return: Boolean
|
||||
* @Author: sui q
|
||||
* @Date: 2022/8/29 11:38
|
||||
*/
|
||||
private Boolean validatePhoneCount(List<CuMemberExt> cuMemberExtList) {
|
||||
// 判断次数,获取系统参数,从redis中获取系统参数
|
||||
|
@ -621,11 +592,9 @@ public abstract class ParentOrderController extends BaseController {
|
|||
}
|
||||
|
||||
/**
|
||||
* 验证升级关系,只能给自己或者自己安置伞下升级
|
||||
*
|
||||
* @param orderParam 前台传递的参数
|
||||
* @Description: 验证升级关系,只能给自己或者自己安置伞下升级
|
||||
* @return: boolean
|
||||
* @Author: sui q
|
||||
* @Date: 2023/1/10 14:05
|
||||
*/
|
||||
protected AjaxResult validateUpgradeRelation(OrderParam orderParam) {
|
||||
CuMember upgradeMember = orderService.getCuMemberByCode(orderParam.getUpgradeMemberCode());
|
||||
|
@ -659,27 +628,16 @@ public abstract class ParentOrderController extends BaseController {
|
|||
}
|
||||
|
||||
/**
|
||||
* 查询订单返回值,用于支付
|
||||
*
|
||||
* @param saOrder 订单
|
||||
* @param orderParam 参数
|
||||
* @Description: 查询订单返回值,用于支付
|
||||
* @return: OrderReturn
|
||||
* @Author: sui q
|
||||
* @Date: 2023/2/2 11:11
|
||||
*/
|
||||
protected OrderReturn getOrderReturn(SaOrder saOrder, OrderParam orderParam) {
|
||||
// 封装订单信息
|
||||
long maxPayTime = getOrderService().getIsToBePayTime(orderParam.getPkSettleCountry(), saOrder.getOrderType());
|
||||
// 剩余支付秒数
|
||||
//查询带关闭参数
|
||||
// 获取行政区划map
|
||||
Integer pkLoginCountry = orderParam.getPkLoginSettleCountry();
|
||||
BigDecimal orderAmount = saOrder.getOrderAmount();
|
||||
if (!Objects.equals(pkLoginCountry, saOrder.getPkCountry())) {
|
||||
// 结算国当地币 转美金 美金登录当地币
|
||||
CurrencyDTO loginCountryCurrency = currencyServiceApi.getCurrency(pkLoginCountry).getData();
|
||||
CurrencyDTO settleCountryCurrency = currencyServiceApi.getCurrency(saOrder.getPkCountry()).getData();
|
||||
orderAmount = ComputeUtil.computeMultiply(ComputeUtil.computeDivide(orderAmount, settleCountryCurrency.getInExchangeRate()), loginCountryCurrency.getInExchangeRate());
|
||||
}
|
||||
Map<Integer, String> areaMap = iAreaServiceApi.getAreaMap(orderParam.getPkSettleCountry()).getData();
|
||||
OrderReturn orderReturn = OrderReturn.builder()
|
||||
.orderCode(saOrder.getOrderCode())
|
||||
|
@ -724,7 +682,6 @@ public abstract class ParentOrderController extends BaseController {
|
|||
.channel(shoppingCartRedis.getSource())
|
||||
.waresCode(shoppingCartRedis.getWaresCode())
|
||||
.quantity(shoppingCartRedis.getNumber())
|
||||
.pkMakerSpace(shoppingCartRedis.getPkMakerSpace())
|
||||
.build();
|
||||
List<WaresItemsParam> waresItemsParamList = new ArrayList<>(shoppingCartRedis.getProductGroup().size());
|
||||
for (ProductGroup productGroup : shoppingCartRedis.getProductGroup()) {
|
||||
|
|
|
@ -671,11 +671,11 @@ public class SaOrderBusinessController extends BaseController {
|
|||
return AjaxResult.error(checkStr);
|
||||
}
|
||||
|
||||
// 校验盒数商品与非盒数商品不能互换
|
||||
checkStr = iOrderBusinessService.checkOrderRetailProduct(param);
|
||||
if (null != checkStr) {
|
||||
return AjaxResult.error(checkStr);
|
||||
}
|
||||
// // 校验盒数商品与非盒数商品不能互换
|
||||
// checkStr = iOrderBusinessService.checkOrderRetailProduct(param);
|
||||
// if (null != checkStr) {
|
||||
// return AjaxResult.error(checkStr);
|
||||
// }
|
||||
|
||||
// 确认调换货物并发起审批
|
||||
String str = iOrderBusinessService.changeProductApprovalSubmit(param, userTokenService.getLoginUser());
|
||||
|
@ -722,11 +722,11 @@ public class SaOrderBusinessController extends BaseController {
|
|||
return AjaxResult.error(checkStr);
|
||||
}
|
||||
|
||||
// 校验盒数商品与非盒数商品不能互换
|
||||
checkStr = iOrderBusinessService.checkOrderRetailProduct(param);
|
||||
if (null != checkStr) {
|
||||
return AjaxResult.error(checkStr);
|
||||
}
|
||||
// // 校验盒数商品与非盒数商品不能互换
|
||||
// checkStr = iOrderBusinessService.checkOrderRetailProduct(param);
|
||||
// if (null != checkStr) {
|
||||
// return AjaxResult.error(checkStr);
|
||||
// }
|
||||
|
||||
// 调换货物不走签呈
|
||||
String str = iOrderBusinessService.changeProductApprovalFreeSign(param, userTokenService.getLoginUser());
|
||||
|
|
|
@ -14,6 +14,7 @@ import com.hzs.sale.order.param.WaresOrderParam;
|
|||
import com.hzs.sale.order.vo.WaresOrderVo;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
|
@ -285,7 +286,7 @@ public interface SaOrderItemsMapper extends BaseMapper<SaOrderItems> {
|
|||
* @param systemType 系统类型(可为null)
|
||||
* @return
|
||||
*/
|
||||
int getRetailWaresQuantityNew(@Param("pkMember") Long pkMember,
|
||||
BigDecimal getRetailWaresQuantityNew(@Param("pkMember") Long pkMember,
|
||||
@Param("waresCodeList") List<String> waresCodeList,
|
||||
@Param("payTime") Date payTime,
|
||||
@Param("orderTypeList") List<Integer> orderTypeList,
|
||||
|
|
|
@ -6,6 +6,7 @@ import lombok.Data;
|
|||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
|
@ -40,9 +41,9 @@ public class OrderItemsParam implements Serializable {
|
|||
private Integer quantity;
|
||||
|
||||
/**
|
||||
* 创客空间id
|
||||
* 商品盒数
|
||||
*/
|
||||
private Long pkMakerSpace;
|
||||
private BigDecimal boxNum;
|
||||
|
||||
/**
|
||||
* 商品明细
|
||||
|
|
|
@ -14,6 +14,7 @@ import com.hzs.sale.order.param.WaresOrderParam;
|
|||
import com.hzs.sale.order.vo.WaresOrderVo;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
|
@ -249,7 +250,7 @@ public interface ISaOrderItemsService extends IService<SaOrderItems> {
|
|||
* @param systemType 系统类型(可为null)
|
||||
* @return
|
||||
*/
|
||||
int getRetailWaresQuantityNew(Long pkMember, List<String> waresCodeList, Date payTime, List<Integer> orderTypeList, Integer systemType);
|
||||
BigDecimal getRetailWaresQuantityNew(Long pkMember, List<String> waresCodeList, Date payTime, List<Integer> orderTypeList, Integer systemType);
|
||||
|
||||
/**
|
||||
* 订单发货数量
|
||||
|
|
|
@ -154,14 +154,14 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService {
|
|||
@Override
|
||||
public String checkOrderRetailProduct(OrderProductParam param) {
|
||||
// 盒数商品对应的产品列表
|
||||
List<Integer> pkProductList = iBdWaresService.listBoxProduct(BoxProductUtil.getBoxProductListBySystemType(null));
|
||||
List<Integer> pkProductList = iBdWaresService.listBoxProduct(BoxProductUtil.getBoxWaresListBySystemType(null));
|
||||
// 换货产品列表
|
||||
List<Integer> paramProductList = param.getItemList().stream().map(OrderProductDetailParam::getPkProduct).collect(Collectors.toList());
|
||||
|
||||
SaOrder saOrder = iSaOrderService.getOne(Wrappers.<SaOrder>lambdaQuery()
|
||||
.eq(SaOrder::getOrderCode, param.getOrderCode())
|
||||
);
|
||||
if (saOrder.getBoxNum() > 0) {
|
||||
if (saOrder.getBoxNum().compareTo(BigDecimal.ZERO) > 0) {
|
||||
// 盒数商品订单,换货的产品是否都是盒数商品下的,如果是则可以进行更换,如果不是则不能更换
|
||||
for (Integer pkProduct : paramProductList) {
|
||||
if (!pkProductList.contains(pkProduct)) {
|
||||
|
@ -2288,7 +2288,7 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService {
|
|||
saOrderItems.setPkWaresSpecsSku(0);
|
||||
|
||||
// 2025.02.11 如果是盒数商品换货,需要更新成最新的盒数商品ID
|
||||
List<BdWaresDetail> tmpList = iBdWaresService.listBoxProductAndWares(BoxProductUtil.getBoxProductListBySystemType(null), saOrderItems.getPkProduct(), ESpecialArea.getRetailSpecialAreaValue(saOrder.getOrderType()));
|
||||
List<BdWaresDetail> tmpList = iBdWaresService.listBoxProductAndWares(BoxProductUtil.getBoxWaresListBySystemType(null), saOrderItems.getPkProduct(), ESpecialArea.getRetailSpecialAreaValue(saOrder.getOrderType()));
|
||||
if (CollectionUtil.isNotEmpty(tmpList)) {
|
||||
saOrderItems.setPkWares(tmpList.get(0).getPkWares());
|
||||
}
|
||||
|
@ -2312,10 +2312,11 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService {
|
|||
// 不同产品,需要更新
|
||||
// 调换货物选择不同产品,没有商品信息,此处先全部按默认值来处理
|
||||
|
||||
// 2025.02.11 如果盒数商品,历史商品ID不变,非盒数商品进行处理
|
||||
if (saOrder.getBoxNum() == 0) {
|
||||
// // 2025.02.11 如果盒数商品,历史商品ID不变,非盒数商品进行处理
|
||||
// if (saOrder.getBoxNum() == 0) {
|
||||
// saOrderItems.setPkWares(0);
|
||||
// }
|
||||
saOrderItems.setPkWares(0);
|
||||
}
|
||||
saOrderItems.setPkWaresDetail(0);
|
||||
saOrderItems.setPkWaresSpecsSku(0);
|
||||
updateOrderItemsList.add(saOrderItems);
|
||||
|
|
|
@ -20,6 +20,7 @@ import com.hzs.sale.order.vo.WaresOrderVo;
|
|||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
|
@ -194,7 +195,7 @@ public class SaOrderItemsServiceImpl extends ServiceImpl<SaOrderItemsMapper, SaO
|
|||
}
|
||||
|
||||
@Override
|
||||
public int getRetailWaresQuantityNew(Long pkMember, List<String> waresCodeList, Date payTime, List<Integer> orderTypeList, Integer systemType) {
|
||||
public BigDecimal getRetailWaresQuantityNew(Long pkMember, List<String> waresCodeList, Date payTime, List<Integer> orderTypeList, Integer systemType) {
|
||||
return baseMapper.getRetailWaresQuantityNew(pkMember, waresCodeList, payTime, orderTypeList, systemType);
|
||||
}
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -57,7 +57,6 @@ public class BdWaresDetailServiceImpl extends ServiceImpl<BdWaresDetailMapper, B
|
|||
.waresCode(orderItemsParam.getWaresCode())
|
||||
.pkWaresSpecsSku(waresItemsParam.getPkWaresSpecsSku())
|
||||
.waresQuantity(orderItemsParam.getQuantity())
|
||||
.pkMakerSpace(orderItemsParam.getPkMakerSpace())
|
||||
.price(BigDecimal.ZERO)
|
||||
.achieve(BigDecimal.ZERO)
|
||||
.build();
|
||||
|
|
|
@ -1160,7 +1160,7 @@
|
|||
</select>
|
||||
|
||||
<!-- 查询新零售购买指定商品数量(新) -->
|
||||
<select id="getRetailWaresQuantityNew" resultType="int">
|
||||
<select id="getRetailWaresQuantityNew" resultType="decimal">
|
||||
select nvl(sum(soi.wares_quantity), 0) wares_quantity
|
||||
from sa_order so
|
||||
left join sa_order_items soi
|
||||
|
|
|
@ -36,6 +36,8 @@
|
|||
<result column="PRE_SALE_STATUS" property="preSaleStatus"/>
|
||||
<result column="PK_PRODUCT_BAS" property="pkProductBas"/>
|
||||
<result column="PK_UNIT" property="pkUnit"/>
|
||||
<result column="AREA_INCOME" property="areaIncome"/>
|
||||
<result column="BOX_NUM" property="boxNum"/>
|
||||
<collection property="waresSpecsList" ofType="com.hzs.common.domain.sale.ext.WaresSpecsExt">
|
||||
<result column="PK_SPECS_TYPE" property="pkSpecsType"/>
|
||||
<result column="PK_SPECS" property="pkSpecs"/>
|
||||
|
@ -50,7 +52,8 @@
|
|||
be.pk_special_currency,bw.wares_code, bw.wares_name,
|
||||
bd.is_gift is_gift,
|
||||
bd.pk_product,bs.price,bs.achieve,bp.pk_supplier,bp.shipping_channel,bp.product_code,
|
||||
bs.ass_achieve,b.specs_name,b.specs_name_id
|
||||
bs.ass_achieve,b.specs_name,b.specs_name_id,
|
||||
bw.area_income, bw.box_num
|
||||
from bd_wares bw
|
||||
inner join bd_wares_extend be
|
||||
on bw.pk_id = be.pk_wares
|
||||
|
|
|
@ -159,7 +159,7 @@
|
|||
ac.CLASSIFY_NAME,we.OPERATE_SCOPE,we.IS_SALE,we.IS_PUT_ON,we.PRE_SALE_STATUS,bw.PK_ID,we.ARRIVAL_TIME,we.PUT_ON_TIME,we.PUT_OFF_TIME,
|
||||
we.SALES actualSales,we.SALES,bw.CREATION_TIME,bw.IS_RECOMMEND,bw.LISTING_TIME,bw.REMOVAL_TIME,bw.SORT_STATUS,we.IS_MAKER_GIFT,
|
||||
sc.TEMP_NAME, we.maker_income, nvl(we.SYSTEM_TYPE, 2) SYSTEM_TYPE, bw.WARES_STATUS,
|
||||
AREA_INCOME, BOX_NUM
|
||||
bw.area_income, bw.box_num
|
||||
from bd_wares bw
|
||||
left join BD_WARES_EXTEND we on we.PK_WARES = bw.PK_ID
|
||||
left join BD_AREA_CLASSIFY ac on ac.PK_ID = bw.PK_AREA_CLASSIFY
|
||||
|
|
|
@ -14,7 +14,7 @@ public class BoxProductUtil {
|
|||
* @param systemType 系统类型(为空返回全部盒数商品)
|
||||
* @return
|
||||
*/
|
||||
public static List<String> getBoxProductListBySystemType(Integer systemType) {
|
||||
public static List<String> getBoxWaresListBySystemType(Integer systemType) {
|
||||
List<String> productList = new ArrayList<>(0);
|
||||
|
||||
if (null == systemType || ESystemType.ALL.getValue() == systemType) {
|
||||
|
|
|
@ -117,17 +117,17 @@ public class CuMemberRetailRange extends BaseEntity {
|
|||
* 本人当天新消费盒数
|
||||
*/
|
||||
@TableField("NEW_BOX_NUM")
|
||||
private Integer newBoxNum;
|
||||
private BigDecimal newBoxNum;
|
||||
/**
|
||||
* 本人累计消费盒数
|
||||
*/
|
||||
@TableField("CONSUME_BOX_NUM")
|
||||
private Integer consumeBoxNum;
|
||||
private BigDecimal consumeBoxNum;
|
||||
/**
|
||||
* 本人月累计盒数
|
||||
*/
|
||||
@TableField("MONTH_BOX_NUM")
|
||||
private Integer monthBoxNum;
|
||||
private BigDecimal monthBoxNum;
|
||||
|
||||
/**
|
||||
* 本人当天新消费pv
|
||||
|
@ -159,17 +159,17 @@ public class CuMemberRetailRange extends BaseEntity {
|
|||
* 团队当天新增盒数
|
||||
*/
|
||||
@TableField("TEAM_NEW_BOX_NUM")
|
||||
private Integer teamNewBoxNum;
|
||||
private BigDecimal teamNewBoxNum;
|
||||
/**
|
||||
* 团队累计盒数
|
||||
*/
|
||||
@TableField("TEAM_BOX_NUM")
|
||||
private Integer teamBoxNum;
|
||||
private BigDecimal teamBoxNum;
|
||||
/**
|
||||
* 团队月累计盒数
|
||||
*/
|
||||
@TableField("TEAM_MONTH_BOX_NUM")
|
||||
private Integer teamMonthBoxNum;
|
||||
private BigDecimal teamMonthBoxNum;
|
||||
|
||||
/**
|
||||
* 团队当天新增消费pv
|
||||
|
@ -238,13 +238,13 @@ public class CuMemberRetailRange extends BaseEntity {
|
|||
* 大区注水盒数
|
||||
*/
|
||||
@TableField("big_box_num")
|
||||
private Integer bigBoxNum;
|
||||
private BigDecimal bigBoxNum;
|
||||
|
||||
/**
|
||||
* 小区注水盒数
|
||||
*/
|
||||
@TableField("small_box_num")
|
||||
private Integer smallBoxNum;
|
||||
private BigDecimal smallBoxNum;
|
||||
|
||||
@TableField("big_team_pv")
|
||||
private BigDecimal bigTeamPv;
|
||||
|
|
|
@ -47,13 +47,13 @@ public class CuMemberRetailS implements Serializable {
|
|||
* 新増盒数
|
||||
*/
|
||||
@TableField("NEW_BOX_NUM")
|
||||
private Integer newBoxNum;
|
||||
private BigDecimal newBoxNum;
|
||||
|
||||
/**
|
||||
* 伞下新増盒数
|
||||
*/
|
||||
@TableField("TEAM_NEW_BOX_NUM")
|
||||
private Integer teamNewNoxNum;
|
||||
private BigDecimal teamNewNoxNum;
|
||||
|
||||
/**
|
||||
* 新増业绩
|
||||
|
|
|
@ -138,4 +138,14 @@ public class BdWaresDetailExt extends BdWaresDetail {
|
|||
*/
|
||||
private Integer pkUnit;
|
||||
|
||||
/**
|
||||
* 复购区域分红
|
||||
*/
|
||||
private BigDecimal areaIncome;
|
||||
|
||||
/**
|
||||
* 商品上传盒数
|
||||
*/
|
||||
private BigDecimal boxNum;
|
||||
|
||||
}
|
||||
|
|
|
@ -20,4 +20,9 @@ public class SaOrderWaresExt extends SaOrderWares {
|
|||
*/
|
||||
private BigDecimal areaIncome;
|
||||
|
||||
/**
|
||||
* 商品上传盒数
|
||||
*/
|
||||
private BigDecimal boxNum;
|
||||
|
||||
}
|
||||
|
|
|
@ -224,6 +224,6 @@ public class SaOrder extends BaseEntity {
|
|||
* 指定商品盒数
|
||||
*/
|
||||
@TableField("BOX_NUM")
|
||||
private Integer boxNum;
|
||||
private BigDecimal boxNum;
|
||||
|
||||
}
|
||||
|
|
|
@ -164,19 +164,19 @@ public class BdGrade extends BaseEntity {
|
|||
* 购买盒数
|
||||
*/
|
||||
@TableField("BOX_NUMBER")
|
||||
private Integer boxNumber;
|
||||
private BigDecimal boxNumber;
|
||||
|
||||
/**
|
||||
* 累计盒数
|
||||
*/
|
||||
@TableField("BOX_TOTAL")
|
||||
private Integer boxTotal;
|
||||
private BigDecimal boxTotal;
|
||||
|
||||
/**
|
||||
* 小市场盒数
|
||||
*/
|
||||
@TableField("BOX_SMALL_TOTAL")
|
||||
private Integer boxSmallTotal;
|
||||
private BigDecimal boxSmallTotal;
|
||||
|
||||
/**
|
||||
* 购买价格
|
||||
|
|
Loading…
Reference in New Issue