forked from angelo/java-retail-app
Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
commit
7f629705ab
|
@ -11,11 +11,7 @@ import java.math.BigDecimal;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 等级的dto
|
* 等级的dto
|
||||||
* @Author: sui q
|
|
||||||
* @Time: 2022/9/24 15:06
|
|
||||||
* @Classname: GradeDTO
|
|
||||||
* @PackageName: com.hzs.system.config.dto
|
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
@Builder
|
@Builder
|
||||||
|
@ -113,16 +109,16 @@ public class GradeDTO implements Serializable {
|
||||||
/**
|
/**
|
||||||
* 购买盒数
|
* 购买盒数
|
||||||
*/
|
*/
|
||||||
private Integer boxNumber;
|
private BigDecimal boxNumber;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 累计盒数
|
* 累计盒数
|
||||||
*/
|
*/
|
||||||
private Integer boxTotal;
|
private BigDecimal boxTotal;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 小市场盒数
|
* 小市场盒数
|
||||||
*/
|
*/
|
||||||
private Integer boxSmallTotal;
|
private BigDecimal boxSmallTotal;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -126,7 +126,6 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
// 配送收益配置
|
// 配送收益配置
|
||||||
Map<Integer, CuMemberRetailRegion> regionMap = iMemberServiceApi.listEffectiveRegion(settleStartDate).getData();
|
Map<Integer, CuMemberRetailRegion> regionMap = iMemberServiceApi.listEffectiveRegion(settleStartDate).getData();
|
||||||
|
|
||||||
|
|
||||||
// 直推、复购级差收益
|
// 直推、复购级差收益
|
||||||
List<CuMemberBonusRange> cuMemberBonusRangeList = new ArrayList<>();
|
List<CuMemberBonusRange> cuMemberBonusRangeList = new ArrayList<>();
|
||||||
// 复购配送收益
|
// 复购配送收益
|
||||||
|
@ -147,14 +146,14 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
CuMemberRetailRangeExt sourceMemberRangeExt = memberRangeExtMap.get(saOrderExt.getPkMember());
|
CuMemberRetailRangeExt sourceMemberRangeExt = memberRangeExtMap.get(saOrderExt.getPkMember());
|
||||||
|
|
||||||
// 订单指定产品盒数(计算等级使用)
|
// 订单指定产品盒数(计算等级使用)
|
||||||
int boxNum = saOrderExt.getBoxNum();
|
BigDecimal boxNum = saOrderExt.getBoxNum();
|
||||||
|
|
||||||
// 个人累计消费pv
|
// 个人累计消费pv
|
||||||
BigDecimal orderAchieve = saOrderExt.getOrderAchieve();
|
BigDecimal orderAchieve = saOrderExt.getOrderAchieve();
|
||||||
// 复购、重消,盒数、业绩算个人累计数据(盒数、业绩)
|
// 复购、重消,盒数、业绩算个人累计数据(盒数、业绩)
|
||||||
sourceMemberRangeExt.setNewBoxNum(sourceMemberRangeExt.getNewBoxNum() + boxNum);
|
sourceMemberRangeExt.setNewBoxNum(sourceMemberRangeExt.getNewBoxNum().add(boxNum));
|
||||||
sourceMemberRangeExt.setConsumeBoxNum(sourceMemberRangeExt.getConsumeBoxNum() + boxNum);
|
sourceMemberRangeExt.setConsumeBoxNum(sourceMemberRangeExt.getConsumeBoxNum().add(boxNum));
|
||||||
sourceMemberRangeExt.setMonthBoxNum(sourceMemberRangeExt.getMonthBoxNum() + boxNum);
|
sourceMemberRangeExt.setMonthBoxNum(sourceMemberRangeExt.getMonthBoxNum().add(boxNum));
|
||||||
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));
|
||||||
|
@ -169,7 +168,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
// 计算奖金 直推级差
|
// 计算奖金 直推级差
|
||||||
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())
|
||||||
&& boxNum > 0
|
&& boxNum.compareTo(BigDecimal.ZERO) > 0
|
||||||
) {
|
) {
|
||||||
// 注册或升级订单并且存在盒数产品,才有 直推级差
|
// 注册或升级订单并且存在盒数产品,才有 直推级差
|
||||||
cuMemberBonusRangeList.addAll(calculateRetailRangeBonus(memberRangeExtMap, cuMemberBonusMap, bonusConfigDTO, period, saOrderExt, gradeIdMap));
|
cuMemberBonusRangeList.addAll(calculateRetailRangeBonus(memberRangeExtMap, cuMemberBonusMap, bonusConfigDTO, period, saOrderExt, gradeIdMap));
|
||||||
|
@ -186,20 +185,22 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 订单存在自动升级记录(高级店主处理)
|
// 订单存在自动升级记录(高级店主、区域董事处理)
|
||||||
if (autoLevelMap.containsKey(saOrderExt.getPkId())) {
|
if (autoLevelMap.containsKey(saOrderExt.getPkId())) {
|
||||||
CuMemberLevel cuMemberLevel = autoLevelMap.get(saOrderExt.getPkId());
|
CuMemberLevel cuMemberLevel = autoLevelMap.get(saOrderExt.getPkId());
|
||||||
if (gradeIdMap.containsKey(cuMemberLevel.getNewLevel())) {
|
if (gradeIdMap.containsKey(cuMemberLevel.getNewLevel())) {
|
||||||
BdGrade bdGrade = gradeIdMap.get(cuMemberLevel.getNewLevel());
|
BdGrade bdGrade = gradeIdMap.get(cuMemberLevel.getNewLevel());
|
||||||
CuMemberRetailRangeExt tmpMemberRetailRange = memberRangeExtMap.get(cuMemberLevel.getPkMember());
|
CuMemberRetailRangeExt tmpMemberRetailRange = memberRangeExtMap.get(cuMemberLevel.getPkMember());
|
||||||
tmpMemberRetailRange.setPkGrade(bdGrade.getPkId());
|
if (bdGrade.getGradeValue() > tmpMemberRetailRange.getGradeValue()) {
|
||||||
tmpMemberRetailRange.setGradeValue(bdGrade.getGradeValue());
|
tmpMemberRetailRange.setPkGrade(bdGrade.getPkId());
|
||||||
tmpMemberRetailRange.setGradeName(bdGrade.getGradeName());
|
tmpMemberRetailRange.setGradeValue(bdGrade.getGradeValue());
|
||||||
|
tmpMemberRetailRange.setGradeName(bdGrade.getGradeName());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (EOrderType.RETAIL_REPURCHASE.getValue() == saOrderExt.getOrderType()) {
|
} else if (EOrderType.RETAIL_REPURCHASE.getValue() == saOrderExt.getOrderType()) {
|
||||||
// 复购订单
|
// 复购订单
|
||||||
if (boxNum > 0) {
|
if (boxNum.compareTo(BigDecimal.ZERO) > 0) {
|
||||||
// 存在盒数商品,计算复购级差
|
// 存在盒数商品,计算复购级差
|
||||||
cuMemberBonusRangeList.addAll(calculateRetailRepurRangeBonus(memberRangeExtMap, cuMemberBonusMap,
|
cuMemberBonusRangeList.addAll(calculateRetailRepurRangeBonus(memberRangeExtMap, cuMemberBonusMap,
|
||||||
bonusConfigDTO, period, saOrderExt));
|
bonusConfigDTO, period, saOrderExt));
|
||||||
|
@ -234,7 +235,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
* 累计团队盒数、业绩等
|
* 累计团队盒数、业绩等
|
||||||
*/
|
*/
|
||||||
public void calculateRetailRangeGradeAwards(Map<Long, CuMemberRetailRangeExt> memberRangeExtMap, SaOrderExt saOrderExt,
|
public void calculateRetailRangeGradeAwards(Map<Long, CuMemberRetailRangeExt> memberRangeExtMap, SaOrderExt saOrderExt,
|
||||||
Integer boxNum, Map<Long, Date> activateMap) {
|
BigDecimal boxNum, Map<Long, Date> activateMap) {
|
||||||
// 订单会员
|
// 订单会员
|
||||||
CuMemberRetailRangeExt sourceMemberRangeExt = memberRangeExtMap.get(saOrderExt.getPkMember());
|
CuMemberRetailRangeExt sourceMemberRangeExt = memberRangeExtMap.get(saOrderExt.getPkMember());
|
||||||
// 订单会员的推荐人
|
// 订单会员的推荐人
|
||||||
|
@ -261,9 +262,9 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
targetMemberRangeExt.setTeamConsumePv(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamConsumePv(), orderAchieve));
|
targetMemberRangeExt.setTeamConsumePv(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamConsumePv(), orderAchieve));
|
||||||
targetMemberRangeExt.setTeamMonthPv(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamMonthPv(), orderAchieve));
|
targetMemberRangeExt.setTeamMonthPv(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamMonthPv(), orderAchieve));
|
||||||
// 累计盒数
|
// 累计盒数
|
||||||
targetMemberRangeExt.setTeamNewBoxNum(targetMemberRangeExt.getTeamNewBoxNum() + boxNum);
|
targetMemberRangeExt.setTeamNewBoxNum(targetMemberRangeExt.getTeamNewBoxNum().add(boxNum));
|
||||||
targetMemberRangeExt.setTeamBoxNum(targetMemberRangeExt.getTeamBoxNum() + boxNum);
|
targetMemberRangeExt.setTeamBoxNum(targetMemberRangeExt.getTeamBoxNum().add(boxNum));
|
||||||
targetMemberRangeExt.setTeamMonthBoxNum(targetMemberRangeExt.getTeamMonthBoxNum() + boxNum);
|
targetMemberRangeExt.setTeamMonthBoxNum(targetMemberRangeExt.getTeamMonthBoxNum().add(boxNum));
|
||||||
}
|
}
|
||||||
targetMemberRangeExt = memberRangeExtMap.get(targetMemberRangeExt.getPkParent());
|
targetMemberRangeExt = memberRangeExtMap.get(targetMemberRangeExt.getPkParent());
|
||||||
}
|
}
|
||||||
|
@ -281,9 +282,23 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
CuMemberRetailRangeExt sourceMemberRangeExt = memberRangeExtMap.get(saOrderExt.getPkMember());
|
CuMemberRetailRangeExt sourceMemberRangeExt = memberRangeExtMap.get(saOrderExt.getPkMember());
|
||||||
// 推荐人
|
// 推荐人
|
||||||
long pkParent = sourceMemberRangeExt.getPkParent();
|
long pkParent = sourceMemberRangeExt.getPkParent();
|
||||||
// 订单等级值
|
// 订单金额
|
||||||
|
BigDecimal orderAmount = saOrderExt.getOrderAmount();
|
||||||
|
// // TODO 累计升级,此处订单可能没有等级值
|
||||||
|
// if (null != saOrderExt.getPkGrade()) {
|
||||||
|
// // 订单存在升级记录信息
|
||||||
|
// // 订单等级值
|
||||||
|
// Integer orderGradeValue = gradeIdMap.get(saOrderExt.getPkGrade()).getGradeValue();
|
||||||
|
// } else {
|
||||||
|
//
|
||||||
|
// }
|
||||||
|
|
||||||
|
|
||||||
Integer orderGradeValue = gradeIdMap.get(saOrderExt.getPkGrade()).getGradeValue();
|
Integer orderGradeValue = gradeIdMap.get(saOrderExt.getPkGrade()).getGradeValue();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// 前一个会员等级
|
// 前一个会员等级
|
||||||
int beforeGradeValue = 0;
|
int beforeGradeValue = 0;
|
||||||
// 前面累计奖金
|
// 前面累计奖金
|
||||||
|
@ -598,7 +613,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
// 推荐人
|
// 推荐人
|
||||||
long pkParent = sourceMemberRangeExt.getPkParent();
|
long pkParent = sourceMemberRangeExt.getPkParent();
|
||||||
// 商品盒数
|
// 商品盒数
|
||||||
BigDecimal boxNum = new BigDecimal(saOrderExt.getBoxNum());
|
BigDecimal boxNum = saOrderExt.getBoxNum();
|
||||||
|
|
||||||
// 2025.08.13 添加分公司级差收益,每1盒(4个产品)第一分公司4元,第二分公司4元,公司6元,总拨出14元
|
// 2025.08.13 添加分公司级差收益,每1盒(4个产品)第一分公司4元,第二分公司4元,公司6元,总拨出14元
|
||||||
int branch = 0;
|
int branch = 0;
|
||||||
|
|
|
@ -434,15 +434,15 @@
|
||||||
pk_country number(4) default 1 not null,
|
pk_country number(4) default 1 not null,
|
||||||
system_type NUMBER(2) default 2 not null,
|
system_type NUMBER(2) default 2 not null,
|
||||||
pk_rate NUMBER(6),
|
pk_rate NUMBER(6),
|
||||||
new_box_num number(8) default 0 not null,
|
new_box_num number(10,2) default 0 not null,
|
||||||
consume_box_num number(8) default 0 not null,
|
consume_box_num number(10,2) default 0 not null,
|
||||||
month_box_num number(8) default 0 not null,
|
month_box_num number(10,2) default 0 not null,
|
||||||
new_consume_pv number(17,6) default 0 not null,
|
new_consume_pv number(17,6) default 0 not null,
|
||||||
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,
|
month_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_box_num number(8) default 0 not null,
|
team_box_num number(10,2) default 0 not null,
|
||||||
team_month_box_num number(8) 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_new_pv number(17,6) default 0 not null,
|
||||||
team_consume_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,
|
team_month_pv number(17,6) default 0 not null,
|
||||||
|
@ -452,8 +452,8 @@
|
||||||
recommend_num number(8) default 0 not null,
|
recommend_num number(8) default 0 not null,
|
||||||
team_num number(8) default 0 not null,
|
team_num number(8) default 0 not null,
|
||||||
region_address number(8) default 0 not null,
|
region_address number(8) default 0 not null,
|
||||||
big_box_num number(8) default 0 not null,
|
big_box_num number(10,2) default 0 not null,
|
||||||
small_box_num number(8) 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
|
||||||
)
|
)
|
||||||
|
|
|
@ -604,7 +604,7 @@ public interface CuMemberMapper extends BaseMapper<CuMember> {
|
||||||
*
|
*
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
CuMember getShopkeeperMember(@Param("pkMember") Long pkMember);
|
CuMember getShopkeeperMember(@Param("pkMember") Long pkMember, @Param("gradeValue") Integer gradeValue);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询高级店主
|
* 查询高级店主
|
||||||
|
|
|
@ -873,7 +873,7 @@ public interface ICuMemberService extends IService<CuMember> {
|
||||||
*
|
*
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
CuMember getShopkeeperMember(Long pkMember);
|
CuMember getShopkeeperMember(Long pkMember, Integer gradeValue);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询高级店主
|
* 查询高级店主
|
||||||
|
|
|
@ -918,7 +918,6 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
|
||||||
// 处理推荐人等级
|
// 处理推荐人等级
|
||||||
this.handleParentLevel(saOrder, currentDateTime);
|
this.handleParentLevel(saOrder, currentDateTime);
|
||||||
|
|
||||||
// 部分撤单 todo 发货后邮费不退,未发货退邮费
|
|
||||||
if (saOrder.getPayType().equals(EOrderPayType.WALLET.getValue())) {
|
if (saOrder.getPayType().equals(EOrderPayType.WALLET.getValue())) {
|
||||||
// 钱包支付,则需要回退金额
|
// 钱包支付,则需要回退金额
|
||||||
// 部分撤单
|
// 部分撤单
|
||||||
|
@ -1606,9 +1605,9 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
|
||||||
if (null == gradeDTO) {
|
if (null == gradeDTO) {
|
||||||
gradeDTO = iGradeServiceApi.getGrade(cuMember.getPkSettleGrade()).getData();
|
gradeDTO = iGradeServiceApi.getGrade(cuMember.getPkSettleGrade()).getData();
|
||||||
}
|
}
|
||||||
if (EGrade.VIP.getValue() == gradeDTO.getGradeValue()) {
|
if (gradeDTO.getGradeValue() >= EGrade.VIP.getValue()) {
|
||||||
// 会员等级为 博羚店主,推荐人如果也是博羚店主,需要升级为高级店主
|
// 会员等级大于等于 博羚店主,推荐人如果也是博羚店主,需要升级为高级店主
|
||||||
CuMember parentMember = iCuMemberService.getShopkeeperMember(cuMember.getPkParent());
|
CuMember parentMember = iCuMemberService.getShopkeeperMember(cuMember.getPkParent(), EGrade.VIP.getValue());
|
||||||
if (null != parentMember) {
|
if (null != parentMember) {
|
||||||
// 记录升级历史
|
// 记录升级历史
|
||||||
GradeDTO upgradeDTO = iGradeServiceApi.getGradeByGradeValue(EGrade.S_VIP.getValue(), cuMember.getPkSettleCountry()).getData();
|
GradeDTO upgradeDTO = iGradeServiceApi.getGradeByGradeValue(EGrade.S_VIP.getValue(), cuMember.getPkSettleCountry()).getData();
|
||||||
|
@ -1624,6 +1623,31 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
|
||||||
cuMemberLevel.setPkCreator(cuMember.getPkId());
|
cuMemberLevel.setPkCreator(cuMember.getPkId());
|
||||||
iCuMemberLevelService.save(cuMemberLevel);
|
iCuMemberLevelService.save(cuMemberLevel);
|
||||||
|
|
||||||
|
LambdaUpdateWrapper<CuMember> updateWrapper = new LambdaUpdateWrapper<>();
|
||||||
|
updateWrapper.set(CuMember::getPkSettleGrade, upgradeDTO.getPkId());
|
||||||
|
updateWrapper.eq(CuMember::getPkId, parentMember.getPkId());
|
||||||
|
updateWrapper.set(CuMember::getPkModified, cuMember.getPkId());
|
||||||
|
updateWrapper.set(CuMember::getModifiedTime, new Date());
|
||||||
|
iCuMemberService.update(updateWrapper);
|
||||||
|
}
|
||||||
|
} else if (gradeDTO.getGradeValue() >= EGrade.REGION.getValue()) {
|
||||||
|
// 会员等级大于等于 区域代理,推荐人如果也是区域代理,需要升级为董事代理
|
||||||
|
CuMember parentMember = iCuMemberService.getShopkeeperMember(cuMember.getPkParent(), EGrade.REGION.getValue());
|
||||||
|
if (null != parentMember) {
|
||||||
|
// 记录升级历史
|
||||||
|
GradeDTO upgradeDTO = iGradeServiceApi.getGradeByGradeValue(EGrade.DIRECTOR.getValue(), cuMember.getPkSettleCountry()).getData();
|
||||||
|
CuMemberLevel cuMemberLevel = CuMemberLevel.builder()
|
||||||
|
.pkMember(parentMember.getPkId())
|
||||||
|
.upType(EUpgradeType.AUTO_UPGRADE.getValue())
|
||||||
|
.oldLevel(parentMember.getPkSettleGrade())
|
||||||
|
.newLevel(upgradeDTO.getPkId())
|
||||||
|
.upgradeTime(saOrder.getPayTime())
|
||||||
|
.pkOrder(saOrder.getPkId())
|
||||||
|
.build();
|
||||||
|
cuMemberLevel.setPkCountry(cuMember.getPkSettleCountry());
|
||||||
|
cuMemberLevel.setPkCreator(cuMember.getPkId());
|
||||||
|
iCuMemberLevelService.save(cuMemberLevel);
|
||||||
|
|
||||||
LambdaUpdateWrapper<CuMember> updateWrapper = new LambdaUpdateWrapper<>();
|
LambdaUpdateWrapper<CuMember> updateWrapper = new LambdaUpdateWrapper<>();
|
||||||
updateWrapper.set(CuMember::getPkSettleGrade, upgradeDTO.getPkId());
|
updateWrapper.set(CuMember::getPkSettleGrade, upgradeDTO.getPkId());
|
||||||
updateWrapper.eq(CuMember::getPkId, parentMember.getPkId());
|
updateWrapper.eq(CuMember::getPkId, parentMember.getPkId());
|
||||||
|
|
|
@ -121,7 +121,7 @@ public class CuMemberServiceImpl extends ServiceImpl<CuMemberMapper, CuMember> i
|
||||||
@Autowired
|
@Autowired
|
||||||
private ICuSettleCountryDetailedService iCuSettleCountryDetailedService;
|
private ICuSettleCountryDetailedService iCuSettleCountryDetailedService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private ICuMemberBusinessService cuMemberBusinessService;
|
private ICuMemberBusinessService iCuMemberBusinessService;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private RabbitTemplate rabbitTemplate;
|
private RabbitTemplate rabbitTemplate;
|
||||||
|
@ -2398,7 +2398,7 @@ public class CuMemberServiceImpl extends ServiceImpl<CuMemberMapper, CuMember> i
|
||||||
cuMember.setPkRegisterGrade(gradeDTO.getPkId());
|
cuMember.setPkRegisterGrade(gradeDTO.getPkId());
|
||||||
cuMember.setPkSettleGrade(gradeDTO.getPkId());
|
cuMember.setPkSettleGrade(gradeDTO.getPkId());
|
||||||
cuMember.setPkAwards(gradeDTO.getPkAwards());
|
cuMember.setPkAwards(gradeDTO.getPkAwards());
|
||||||
cuMemberBusinessService.saveShareMember(cuMember);
|
iCuMemberBusinessService.saveShareMember(cuMember);
|
||||||
return cuMember;
|
return cuMember;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3245,8 +3245,8 @@ public class CuMemberServiceImpl extends ServiceImpl<CuMemberMapper, CuMember> i
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public CuMember getShopkeeperMember(Long pkMember) {
|
public CuMember getShopkeeperMember(Long pkMember, Integer gradeValue) {
|
||||||
return baseMapper.getShopkeeperMember(pkMember);
|
return baseMapper.getShopkeeperMember(pkMember, gradeValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -52,7 +52,7 @@ public class CuMemberRetailAchieveVO implements Serializable {
|
||||||
/**
|
/**
|
||||||
* 盒数
|
* 盒数
|
||||||
*/
|
*/
|
||||||
private Integer boxs;
|
private BigDecimal boxs;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 状态
|
* 状态
|
||||||
|
|
|
@ -2379,7 +2379,7 @@
|
||||||
left join bd_grade bg
|
left join bd_grade bg
|
||||||
on bg.pk_id = cm.pk_settle_grade
|
on bg.pk_id = cm.pk_settle_grade
|
||||||
where cm.pk_id = #{pkMember}
|
where cm.pk_id = #{pkMember}
|
||||||
and bg.grade_value = 60
|
and bg.grade_value = #{gradeValue}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<!-- 查询高级店主 -->
|
<!-- 查询高级店主 -->
|
||||||
|
|
|
@ -9,11 +9,7 @@ import lombok.NoArgsConstructor;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @description: 伞下直推查询会员大小区金额业绩盒数
|
* 伞下直推查询会员大小区金额业绩盒数
|
||||||
* @author: zhang jing
|
|
||||||
* @date: 2025/2/10 18:00
|
|
||||||
* @param:
|
|
||||||
* @return:
|
|
||||||
**/
|
**/
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
|
@ -36,71 +32,65 @@ public class DirectPushAmountPvBoxVo {
|
||||||
/**
|
/**
|
||||||
* 盒数
|
* 盒数
|
||||||
*/
|
*/
|
||||||
private Integer boxNum;
|
private BigDecimal boxNum;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 金额
|
* 金额
|
||||||
*/
|
*/
|
||||||
@BigDecimalFormat()
|
@BigDecimalFormat()
|
||||||
private BigDecimal orderAmountReg=BigDecimal.ZERO;
|
private BigDecimal orderAmountReg = BigDecimal.ZERO;
|
||||||
/**
|
/**
|
||||||
* 金额
|
* 金额
|
||||||
*/
|
*/
|
||||||
@BigDecimalFormat()
|
@BigDecimalFormat()
|
||||||
private BigDecimal orderAmountUpg=BigDecimal.ZERO;
|
private BigDecimal orderAmountUpg = BigDecimal.ZERO;
|
||||||
/**
|
/**
|
||||||
* 金额
|
* 金额
|
||||||
*/
|
*/
|
||||||
@BigDecimalFormat()
|
@BigDecimalFormat()
|
||||||
private BigDecimal orderAmountRep=BigDecimal.ZERO;
|
private BigDecimal orderAmountRep = BigDecimal.ZERO;
|
||||||
/**
|
/**
|
||||||
* 金额
|
* 金额
|
||||||
*/
|
*/
|
||||||
@BigDecimalFormat()
|
@BigDecimalFormat()
|
||||||
private BigDecimal orderAmountCon=BigDecimal.ZERO;
|
private BigDecimal orderAmountCon = BigDecimal.ZERO;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 业绩
|
* 业绩
|
||||||
*/
|
*/
|
||||||
@BigDecimalFormat()
|
@BigDecimalFormat()
|
||||||
private BigDecimal orderAchieveReg=BigDecimal.ZERO;
|
private BigDecimal orderAchieveReg = BigDecimal.ZERO;
|
||||||
/**
|
/**
|
||||||
* 业绩
|
* 业绩
|
||||||
*/
|
*/
|
||||||
@BigDecimalFormat()
|
@BigDecimalFormat()
|
||||||
private BigDecimal orderAchieveUpg=BigDecimal.ZERO;
|
private BigDecimal orderAchieveUpg = BigDecimal.ZERO;
|
||||||
/**
|
/**
|
||||||
* 业绩
|
* 业绩
|
||||||
*/
|
*/
|
||||||
@BigDecimalFormat()
|
@BigDecimalFormat()
|
||||||
private BigDecimal orderAchieveRep=BigDecimal.ZERO;
|
private BigDecimal orderAchieveRep = BigDecimal.ZERO;
|
||||||
/**
|
/**
|
||||||
* 业绩
|
* 业绩
|
||||||
*/
|
*/
|
||||||
@BigDecimalFormat()
|
@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_REP_AMOUNT NUMBER(17,6) default 0 not null,
|
||||||
TEAM_CON_AMOUNT NUMBER(17,6) default 0 not null,
|
TEAM_CON_AMOUNT NUMBER(17,6) default 0 not null,
|
||||||
|
|
||||||
SUM_BOX NUMBER(8) default 0,
|
SUM_BOX NUMBER(10, 2) default 0,
|
||||||
BIG_BOX NUMBER(8) default 0,
|
BIG_BOX NUMBER(10, 2) default 0,
|
||||||
SMALL_BOX NUMBER(8) default 0,
|
SMALL_BOX NUMBER(10, 2) default 0,
|
||||||
REG_BOX NUMBER(8) default 0,
|
REG_BOX NUMBER(10, 2) default 0,
|
||||||
UPG_BOX NUMBER(8) default 0,
|
UPG_BOX NUMBER(10, 2) default 0,
|
||||||
REP_BOX NUMBER(8) default 0,
|
REP_BOX NUMBER(10, 2) default 0,
|
||||||
CON_BOX NUMBER(8) default 0,
|
CON_BOX NUMBER(10, 2) default 0,
|
||||||
INFLATE_BIG_BOX NUMBER(8) default 0,
|
INFLATE_BIG_BOX NUMBER(10, 2) default 0,
|
||||||
INFLATE_SMALL_BOX NUMBER(8) default 0,
|
INFLATE_SMALL_BOX NUMBER(10, 2) default 0,
|
||||||
|
|
||||||
TEAM_SUM_BOX NUMBER(18) default 0,
|
TEAM_SUM_BOX NUMBER(18, 2) default 0,
|
||||||
TEAM_BIG_BOX NUMBER(18) default 0,
|
TEAM_BIG_BOX NUMBER(18, 2) default 0,
|
||||||
TEAM_SMALL_BOX NUMBER(8) default 0,
|
TEAM_SMALL_BOX NUMBER(8, 2) default 0,
|
||||||
TEAM_REG_BOX NUMBER(18) default 0,
|
TEAM_REG_BOX NUMBER(18, 2) default 0,
|
||||||
TEAM_UPG_BOX NUMBER(18) default 0,
|
TEAM_UPG_BOX NUMBER(18, 2) default 0,
|
||||||
TEAM_REP_BOX NUMBER(18) default 0,
|
TEAM_REP_BOX NUMBER(18, 2) default 0,
|
||||||
TEAM_CON_BOX NUMBER(18) default 0,
|
TEAM_CON_BOX NUMBER(18, 2) default 0,
|
||||||
|
|
||||||
SUM_PV NUMBER(17,6) default 0 not null,
|
SUM_PV NUMBER(17,6) default 0 not null,
|
||||||
BIG_PV NUMBER(17,6) default 0 not null,
|
BIG_PV NUMBER(17,6) default 0 not null,
|
||||||
|
|
|
@ -236,7 +236,7 @@ public class RetailOrderServiceImpl implements IRetailOrderService {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO 2025.08.04 注册、升级专区,下单支付会员如果是分公司,订单不需要发货,直接放入提货中心
|
// 2025.08.04 注册、升级专区,下单支付会员如果是分公司,订单不需要发货,直接放入提货中心
|
||||||
CuMember createMember = orderParam.getCreatorMember();
|
CuMember createMember = orderParam.getCreatorMember();
|
||||||
if (null == createMember) {
|
if (null == createMember) {
|
||||||
createMember = iMemberServiceApi.getMember(orderParam.getPkCreator()).getData();
|
createMember = iMemberServiceApi.getMember(orderParam.getPkCreator()).getData();
|
||||||
|
@ -273,7 +273,7 @@ public class RetailOrderServiceImpl implements IRetailOrderService {
|
||||||
Map<Integer, List<SaOrderItems>> postageMap = new HashMap<>(ComputeUtil.mapInitCapacity(waresDetailExtList.size()));
|
Map<Integer, List<SaOrderItems>> postageMap = new HashMap<>(ComputeUtil.mapInitCapacity(waresDetailExtList.size()));
|
||||||
|
|
||||||
// 当前盒数
|
// 当前盒数
|
||||||
int boxNum = 0;
|
BigDecimal boxNum = BigDecimal.ZERO;
|
||||||
|
|
||||||
// 设置已经累计盒数的商品列表
|
// 设置已经累计盒数的商品列表
|
||||||
List<String> tmpBoxWares = new ArrayList<>();
|
List<String> tmpBoxWares = new ArrayList<>();
|
||||||
|
@ -298,7 +298,7 @@ public class RetailOrderServiceImpl implements IRetailOrderService {
|
||||||
if (boxWaresList.contains(waresDetailExt.getWaresCode())) {
|
if (boxWaresList.contains(waresDetailExt.getWaresCode())) {
|
||||||
// 商品是盒数商品,需要累计数量
|
// 商品是盒数商品,需要累计数量
|
||||||
if (!tmpBoxWares.contains(waresDetailExt.getWaresCode())) {
|
if (!tmpBoxWares.contains(waresDetailExt.getWaresCode())) {
|
||||||
boxNum += waresDetailExt.getBoxNum() * orderItems.getWaresQuantity();
|
boxNum = boxNum.add(waresDetailExt.getBoxNum().multiply(new BigDecimal(orderItems.getWaresQuantity())));
|
||||||
tmpBoxWares.add(waresDetailExt.getWaresCode());
|
tmpBoxWares.add(waresDetailExt.getWaresCode());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -387,26 +387,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();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 封装订单信息
|
* 封装订单信息
|
||||||
*
|
*
|
||||||
|
@ -871,7 +851,7 @@ public class RetailOrderServiceImpl implements IRetailOrderService {
|
||||||
|| EOrderType.RETAIL_UPGRADE.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());
|
cuMember.setIsActivate(EYesNo.YES.getIntValue());
|
||||||
if (EPayStatus.UNPAID.getValue() == cuMember.getPayStatus()) {
|
if (EPayStatus.UNPAID.getValue() == cuMember.getPayStatus()) {
|
||||||
|
@ -961,49 +941,53 @@ public class RetailOrderServiceImpl implements IRetailOrderService {
|
||||||
if (EYesNo.NO.getIntValue() == BdConfig.getProductSync()) {
|
if (EYesNo.NO.getIntValue() == BdConfig.getProductSync()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Map<Integer, BdProduct> productMap = iBdProductService.queryProductMap(saOrderExt.getOrderItemsList().stream().map(SaOrderItems::getPkProduct).collect(Collectors.toSet()), null);
|
try {
|
||||||
// 开启线程调用全网产品库存
|
Map<Integer, BdProduct> productMap = iBdProductService.queryProductMap(saOrderExt.getOrderItemsList().stream().map(SaOrderItems::getPkProduct).collect(Collectors.toSet()), null);
|
||||||
// 请求参数
|
// 开启线程调用全网产品库存
|
||||||
Map<String, Object> bodyMap = new HashMap<>();
|
// 请求参数
|
||||||
bodyMap.put("source", BdConfig.getSysName());
|
Map<String, Object> bodyMap = new HashMap<>();
|
||||||
bodyMap.put("orderCode", saOrderExt.getOrderCode());
|
bodyMap.put("source", BdConfig.getSysName());
|
||||||
List<Map<String, Object>> bodyDetailList = new ArrayList<>();
|
bodyMap.put("orderCode", saOrderExt.getOrderCode());
|
||||||
for (SaOrderItems saOrderItems : saOrderExt.getOrderItemsList()) {
|
List<Map<String, Object>> bodyDetailList = new ArrayList<>();
|
||||||
Map<String, Object> detailMap = new HashMap<>();
|
for (SaOrderItems saOrderItems : saOrderExt.getOrderItemsList()) {
|
||||||
detailMap.put("wmsCode", productMap.get(saOrderItems.getPkProduct()).getWmsCode());
|
Map<String, Object> detailMap = new HashMap<>();
|
||||||
detailMap.put("changeNum", saOrderItems.getQuantity());
|
detailMap.put("wmsCode", productMap.get(saOrderItems.getPkProduct()).getWmsCode());
|
||||||
bodyDetailList.add(detailMap);
|
detailMap.put("changeNum", saOrderItems.getQuantity());
|
||||||
}
|
bodyDetailList.add(detailMap);
|
||||||
bodyMap.put("detailList", bodyDetailList);
|
|
||||||
// 请求头
|
|
||||||
String header = Base64Encoder.encode(BdConfig.getSysName() + "!" + saOrderExt.getOrderCode());
|
|
||||||
ThreadUtils.threadPoolExecutor.submit(() -> {
|
|
||||||
log.info("同步产品,header: {}", header);
|
|
||||||
log.info("同步产品,bodyMap: {}", bodyMap);
|
|
||||||
HttpRequest httpRequest = HttpUtil.createPost(BdConfig.getProductSyncUrl());
|
|
||||||
httpRequest.header("authorization", header);
|
|
||||||
httpRequest.body(JSONUtil.toJsonStr(bodyMap));
|
|
||||||
httpRequest.setReadTimeout(5000);
|
|
||||||
try {
|
|
||||||
// 同步产品接口返回
|
|
||||||
String resultStr = httpRequest.execute().body();
|
|
||||||
AjaxResult ajaxResult = JSONUtil.toBean(resultStr, AjaxResult.class);
|
|
||||||
log.info("同步产品,resultStr: {}", resultStr);
|
|
||||||
if (!ajaxResult.isSuccess()) {
|
|
||||||
// 同步产品失败,250毫秒后重试
|
|
||||||
Thread.sleep(250);
|
|
||||||
resultStr = httpRequest.execute().body();
|
|
||||||
log.info("同步产品失败重试,resultStr: {}", resultStr);
|
|
||||||
}
|
|
||||||
} catch (Exception e) {
|
|
||||||
log.error("同步产品库存异常", e);
|
|
||||||
// 保存订单产品同步记录
|
|
||||||
iSaOrderSyncService.save(SaOrderSync.builder()
|
|
||||||
.orderCode(saOrderExt.getOrderCode())
|
|
||||||
.bodyDetail(JSONUtil.toJsonStr(bodyDetailList))
|
|
||||||
.build());
|
|
||||||
}
|
}
|
||||||
});
|
bodyMap.put("detailList", bodyDetailList);
|
||||||
|
// 请求头
|
||||||
|
String header = Base64Encoder.encode(BdConfig.getSysName() + "!" + saOrderExt.getOrderCode());
|
||||||
|
ThreadUtils.threadPoolExecutor.submit(() -> {
|
||||||
|
log.info("同步产品,header: {}", header);
|
||||||
|
log.info("同步产品,bodyMap: {}", bodyMap);
|
||||||
|
HttpRequest httpRequest = HttpUtil.createPost(BdConfig.getProductSyncUrl());
|
||||||
|
httpRequest.header("authorization", header);
|
||||||
|
httpRequest.body(JSONUtil.toJsonStr(bodyMap));
|
||||||
|
httpRequest.setReadTimeout(5000);
|
||||||
|
try {
|
||||||
|
// 同步产品接口返回
|
||||||
|
String resultStr = httpRequest.execute().body();
|
||||||
|
AjaxResult ajaxResult = JSONUtil.toBean(resultStr, AjaxResult.class);
|
||||||
|
log.info("同步产品,resultStr: {}", resultStr);
|
||||||
|
if (!ajaxResult.isSuccess()) {
|
||||||
|
// 同步产品失败,250毫秒后重试
|
||||||
|
Thread.sleep(250);
|
||||||
|
resultStr = httpRequest.execute().body();
|
||||||
|
log.info("同步产品失败重试,resultStr: {}", resultStr);
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("同步产品库存异常", e);
|
||||||
|
// 保存订单产品同步记录
|
||||||
|
iSaOrderSyncService.save(SaOrderSync.builder()
|
||||||
|
.orderCode(saOrderExt.getOrderCode())
|
||||||
|
.bodyDetail(JSONUtil.toJsonStr(bodyDetailList))
|
||||||
|
.build());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("同步产品异常: ", e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,6 +14,7 @@ import com.hzs.sale.order.param.WaresOrderParam;
|
||||||
import com.hzs.sale.order.vo.WaresOrderVo;
|
import com.hzs.sale.order.vo.WaresOrderVo;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
@ -285,11 +286,11 @@ public interface SaOrderItemsMapper extends BaseMapper<SaOrderItems> {
|
||||||
* @param systemType 系统类型(可为null)
|
* @param systemType 系统类型(可为null)
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
int getRetailWaresQuantityNew(@Param("pkMember") Long pkMember,
|
BigDecimal getRetailWaresQuantityNew(@Param("pkMember") Long pkMember,
|
||||||
@Param("waresCodeList") List<String> waresCodeList,
|
@Param("waresCodeList") List<String> waresCodeList,
|
||||||
@Param("payTime") Date payTime,
|
@Param("payTime") Date payTime,
|
||||||
@Param("orderTypeList") List<Integer> orderTypeList,
|
@Param("orderTypeList") List<Integer> orderTypeList,
|
||||||
@Param("systemType") Integer systemType);
|
@Param("systemType") Integer systemType);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 订单发货数量
|
* 订单发货数量
|
||||||
|
|
|
@ -6,6 +6,7 @@ import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
import java.math.BigDecimal;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -42,7 +43,7 @@ public class OrderItemsParam implements Serializable {
|
||||||
/**
|
/**
|
||||||
* 商品盒数
|
* 商品盒数
|
||||||
*/
|
*/
|
||||||
private Integer boxNum;
|
private BigDecimal boxNum;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 商品明细
|
* 商品明细
|
||||||
|
|
|
@ -14,6 +14,7 @@ import com.hzs.sale.order.param.WaresOrderParam;
|
||||||
import com.hzs.sale.order.vo.WaresOrderVo;
|
import com.hzs.sale.order.vo.WaresOrderVo;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
@ -249,7 +250,7 @@ public interface ISaOrderItemsService extends IService<SaOrderItems> {
|
||||||
* @param systemType 系统类型(可为null)
|
* @param systemType 系统类型(可为null)
|
||||||
* @return
|
* @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);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 订单发货数量
|
* 订单发货数量
|
||||||
|
|
|
@ -603,7 +603,7 @@ public interface ISaOrderService extends IService<SaOrder> {
|
||||||
* @param checkUpgrade 校验升级
|
* @param checkUpgrade 校验升级
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
BdGrade getGradeByBox(final Integer boxTotal, List<BdGrade> gradeList, BdGrade memberGrade, boolean checkUpgrade);
|
BdGrade getGradeByBox(final BigDecimal boxTotal, List<BdGrade> gradeList, BdGrade memberGrade, boolean checkUpgrade);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 处理升级盒数基数
|
* 处理升级盒数基数
|
||||||
|
@ -615,7 +615,7 @@ public interface ISaOrderService extends IService<SaOrder> {
|
||||||
* @param systemType 所属系统
|
* @param systemType 所属系统
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
int handleBaseBoxNum(CuMember cuMember, BdGrade memberGrade, List<BdGrade> gradeList, List<String> boxProductList, Integer systemType);
|
BigDecimal handleBaseBoxNum(CuMember cuMember, BdGrade memberGrade, List<BdGrade> gradeList, List<String> boxProductList, Integer systemType);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询省、市、区绑定次数
|
* 查询省、市、区绑定次数
|
||||||
|
|
|
@ -2286,7 +2286,7 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService {
|
||||||
// 调换货物选择不同产品,没有商品信息,此处先全部按默认值来处理
|
// 调换货物选择不同产品,没有商品信息,此处先全部按默认值来处理
|
||||||
|
|
||||||
// 2025.02.11 如果盒数商品,历史商品ID不变,非盒数商品进行处理
|
// 2025.02.11 如果盒数商品,历史商品ID不变,非盒数商品进行处理
|
||||||
if (saOrder.getBoxNum() == 0) {
|
if (saOrder.getBoxNum().compareTo(BigDecimal.ZERO) == 0) {
|
||||||
saOrderItems.setPkWares(0);
|
saOrderItems.setPkWares(0);
|
||||||
}
|
}
|
||||||
saOrderItems.setPkWaresDetail(0);
|
saOrderItems.setPkWaresDetail(0);
|
||||||
|
|
|
@ -20,6 +20,7 @@ import com.hzs.sale.order.vo.WaresOrderVo;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -191,7 +192,7 @@ public class SaOrderItemsServiceImpl extends ServiceImpl<SaOrderItemsMapper, SaO
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@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);
|
return baseMapper.getRetailWaresQuantityNew(pkMember, waresCodeList, payTime, orderTypeList, systemType);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2132,18 +2132,18 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
||||||
gradeList = iGradeServiceApi.getRetailGradeList().getData();
|
gradeList = iGradeServiceApi.getRetailGradeList().getData();
|
||||||
}
|
}
|
||||||
|
|
||||||
// 盒数产品
|
// 盒数商品
|
||||||
List<String> boxWaresList = BoxProductUtil.getBoxProductListBySystemType(systemType);
|
List<String> boxWaresList = BoxProductUtil.getBoxProductListBySystemType(systemType);
|
||||||
|
|
||||||
// 当前产品盒数
|
// 当前产品盒数
|
||||||
int boxNum = 0;
|
BigDecimal boxNum = BigDecimal.ZERO;
|
||||||
// 处理商品盒数
|
// 处理商品盒数
|
||||||
this.handleWaresBoxNum(specialArea, orderItemsParams);
|
this.handleWaresBoxNum(specialArea, orderItemsParams);
|
||||||
// 判断订单明细中指定产品数量,校验等级
|
// 判断订单明细中指定产品数量,校验等级
|
||||||
for (OrderItemsParam orderItemsParam : orderItemsParams) {
|
for (OrderItemsParam orderItemsParam : orderItemsParams) {
|
||||||
if (boxWaresList.contains(orderItemsParam.getWaresCode())) {
|
if (boxWaresList.contains(orderItemsParam.getWaresCode())) {
|
||||||
// 存在指定商品,需要累计盒数
|
// 存在指定商品,需要累计盒数
|
||||||
boxNum += orderItemsParam.getBoxNum() * orderItemsParam.getQuantity();
|
boxNum = boxNum.add(orderItemsParam.getBoxNum().multiply(new BigDecimal(orderItemsParam.getQuantity())));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2154,7 +2154,8 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
||||||
bdGrade = this.getGradeByBox(boxNum, gradeList, null, true);
|
bdGrade = this.getGradeByBox(boxNum, gradeList, null, true);
|
||||||
} else if (ESpecialArea.RETAIL_UPGRADE.getValue() == specialArea) {
|
} else if (ESpecialArea.RETAIL_UPGRADE.getValue() == specialArea) {
|
||||||
// 升级专区,一次性补差升级
|
// 升级专区,一次性补差升级
|
||||||
if (boxNum == 0) {
|
// 2025.08.20 升级方式改为累计升级制
|
||||||
|
if (boxNum.compareTo(BigDecimal.ZERO) == 0) {
|
||||||
// 不满足升级条件
|
// 不满足升级条件
|
||||||
throw new ServiceException("不满足升级条件");
|
throw new ServiceException("不满足升级条件");
|
||||||
}
|
}
|
||||||
|
@ -2167,9 +2168,14 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取升级盒数基数
|
// 获取升级盒数基数
|
||||||
int baseBoxNum = this.handleBaseBoxNum(updateGradeMember, memberGrade, gradeList, boxWaresList, systemType);
|
BigDecimal baseBoxNum = this.handleBaseBoxNum(updateGradeMember, memberGrade, gradeList, boxWaresList, systemType);
|
||||||
// 计算等级
|
// 计算等级
|
||||||
bdGrade = this.getGradeByBox(boxNum + baseBoxNum, gradeList, memberGrade, true);
|
bdGrade = this.getGradeByBox(boxNum.add(baseBoxNum), gradeList, memberGrade, true);
|
||||||
|
|
||||||
|
// 2025.08.20 升级方式改为累计升级制
|
||||||
|
if (memberGrade.getGradeValue().equals(bdGrade.getGradeValue())) {
|
||||||
|
return bdGrade;
|
||||||
|
}
|
||||||
|
|
||||||
// 会员等级 大于等于 购买盒数等级,则不充足升级条件
|
// 会员等级 大于等于 购买盒数等级,则不充足升级条件
|
||||||
if (memberGrade.getGradeValue().compareTo(bdGrade.getGradeValue()) >= 0) {
|
if (memberGrade.getGradeValue().compareTo(bdGrade.getGradeValue()) >= 0) {
|
||||||
|
@ -2180,18 +2186,18 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public BdGrade getGradeByBox(final Integer boxTotal, List<BdGrade> gradeList, BdGrade memberGrade, boolean checkUpgrade) {
|
public BdGrade getGradeByBox(final BigDecimal boxTotal, List<BdGrade> gradeList, BdGrade memberGrade, boolean checkUpgrade) {
|
||||||
if (CollectionUtil.isEmpty(gradeList)) {
|
if (CollectionUtil.isEmpty(gradeList)) {
|
||||||
gradeList = iGradeServiceApi.getRetailGradeList().getData();
|
gradeList = iGradeServiceApi.getRetailGradeList().getData();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (null == memberGrade) {
|
if (null == memberGrade) {
|
||||||
// 注册处理
|
// 注册处理
|
||||||
// 小于总公司等级 并且 排除高级店主 并且 升级盒数小于购买盒数的最大一个等级为注册等级
|
// 小于总公司等级 并且 排除高级店主、董事代理 并且 升级盒数小于购买盒数的最大一个等级为注册等级
|
||||||
return gradeList.stream()
|
return gradeList.stream()
|
||||||
.filter(tmpGrade -> tmpGrade.getGradeValue() != EGrade.S_VIP.getValue()
|
.filter(tmpGrade -> tmpGrade.getGradeValue() != EGrade.S_VIP.getValue() && tmpGrade.getGradeValue() != EGrade.DIRECTOR.getValue()
|
||||||
&& tmpGrade.getGradeValue() < EGrade.COMPANY.getValue()
|
&& tmpGrade.getGradeValue() < EGrade.COMPANY.getValue()
|
||||||
&& tmpGrade.getBoxNumber() <= boxTotal)
|
&& tmpGrade.getBoxNumber().compareTo(boxTotal) <= 0)
|
||||||
.max(Comparator.comparingInt(BdGrade::getGradeValue)).get();
|
.max(Comparator.comparingInt(BdGrade::getGradeValue)).get();
|
||||||
} else {
|
} else {
|
||||||
// 非注册处理
|
// 非注册处理
|
||||||
|
@ -2213,8 +2219,8 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
||||||
Optional<BdGrade> gradeOptional = gradeList.stream()
|
Optional<BdGrade> gradeOptional = gradeList.stream()
|
||||||
.filter(tmpGrade -> tmpGrade.getGradeValue() != EGrade.S_VIP.getValue() && tmpGrade.getGradeValue() > memberGrade.getGradeValue())
|
.filter(tmpGrade -> tmpGrade.getGradeValue() != EGrade.S_VIP.getValue() && tmpGrade.getGradeValue() > memberGrade.getGradeValue())
|
||||||
.sorted(Comparator.comparingInt(BdGrade::getGradeValue).reversed())
|
.sorted(Comparator.comparingInt(BdGrade::getGradeValue).reversed())
|
||||||
.filter(tmpGrade -> tmpGrade.getBoxNumber() != 0)
|
.filter(tmpGrade -> tmpGrade.getBoxNumber().compareTo(BigDecimal.ZERO) > 0)
|
||||||
.filter(tmpGrade -> tmpGrade.getBoxNumber() <= boxTotal).findFirst();
|
.filter(tmpGrade -> tmpGrade.getBoxNumber().compareTo(boxTotal) <= 0).findFirst();
|
||||||
return gradeOptional.orElse(memberGrade);
|
return gradeOptional.orElse(memberGrade);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2231,11 +2237,10 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public int handleBaseBoxNum(CuMember cuMember, BdGrade memberGrade,
|
public BigDecimal handleBaseBoxNum(CuMember cuMember, BdGrade memberGrade, List<BdGrade> gradeList, List<String> boxWaresList,
|
||||||
List<BdGrade> gradeList, List<String> boxWaresList,
|
|
||||||
Integer systemType) {
|
Integer systemType) {
|
||||||
// 升级盒数基数
|
// 升级盒数基数
|
||||||
int baseBoxNum = 0;
|
BigDecimal baseBoxNum = BigDecimal.ZERO;
|
||||||
// 会员所有升级记录
|
// 会员所有升级记录
|
||||||
List<CuMemberLevel> memberLevelList = iCuMemberDetailServiceApi.getUpgradeList(cuMember.getPkId()).getData();
|
List<CuMemberLevel> memberLevelList = iCuMemberDetailServiceApi.getUpgradeList(cuMember.getPkId()).getData();
|
||||||
if (CollectionUtil.isNotEmpty(memberLevelList)) {
|
if (CollectionUtil.isNotEmpty(memberLevelList)) {
|
||||||
|
@ -2245,11 +2250,18 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
||||||
CuMemberLevel lastMemberLevel = lastManualOptional.get();
|
CuMemberLevel lastMemberLevel = lastManualOptional.get();
|
||||||
BdGrade lastUpdateGrade = gradeList.stream().filter(tmpGrade -> tmpGrade.getPkId().equals(lastMemberLevel.getNewLevel())).findFirst().get();
|
BdGrade lastUpdateGrade = gradeList.stream().filter(tmpGrade -> tmpGrade.getPkId().equals(lastMemberLevel.getNewLevel())).findFirst().get();
|
||||||
// 盒数基数 = 手动升级盒数 + 手动升级之后的升级订单盒数
|
// 盒数基数 = 手动升级盒数 + 手动升级之后的升级订单盒数
|
||||||
baseBoxNum = lastUpdateGrade.getBoxNumber()
|
BigDecimal oldBoxNum = iSaOrderItemsService.getRetailWaresQuantityNew(cuMember.getPkId(), boxWaresList, lastMemberLevel.getUpgradeTime(), Collections.singletonList(EOrderType.RETAIL_UPGRADE.getValue()), systemType);
|
||||||
+ iSaOrderItemsService.getRetailWaresQuantityNew(cuMember.getPkId(), boxWaresList, lastMemberLevel.getUpgradeTime(), Collections.singletonList(EOrderType.RETAIL_UPGRADE.getValue()), systemType);
|
if (null != oldBoxNum) {
|
||||||
|
baseBoxNum = lastUpdateGrade.getBoxNumber().add(oldBoxNum);
|
||||||
|
} else {
|
||||||
|
baseBoxNum = lastUpdateGrade.getBoxNumber();
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
// 没有手动升级记录
|
// 没有手动升级记录
|
||||||
baseBoxNum = iSaOrderItemsService.getRetailWaresQuantityNew(cuMember.getPkId(), boxWaresList, null, Arrays.asList(EOrderType.RETAIL_REGISTER.getValue(), EOrderType.RETAIL_UPGRADE.getValue()), systemType);
|
BigDecimal oldBoxNum = iSaOrderItemsService.getRetailWaresQuantityNew(cuMember.getPkId(), boxWaresList, null, Arrays.asList(EOrderType.RETAIL_REGISTER.getValue(), EOrderType.RETAIL_UPGRADE.getValue()), systemType);
|
||||||
|
if (null != oldBoxNum) {
|
||||||
|
baseBoxNum = oldBoxNum;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return baseBoxNum;
|
return baseBoxNum;
|
||||||
|
|
|
@ -517,8 +517,7 @@ public class BdWaresController extends BaseController {
|
||||||
waresParams.setPkSpecialCurrency(waresExtend.getPkSpecialCurrency());
|
waresParams.setPkSpecialCurrency(waresExtend.getPkSpecialCurrency());
|
||||||
waresParams.setSortStatus(wares.getSortStatus());
|
waresParams.setSortStatus(wares.getSortStatus());
|
||||||
waresParams.setSystemType(waresExtend.getSystemType());
|
waresParams.setSystemType(waresExtend.getSystemType());
|
||||||
waresParams.
|
waresParams.setAreaIncome(wares.getAreaIncome());
|
||||||
setAreaIncome(wares.getAreaIncome());
|
|
||||||
waresParams.setBoxNum(wares.getBoxNum());
|
waresParams.setBoxNum(wares.getBoxNum());
|
||||||
|
|
||||||
BdAreaClassify parentAreaClassify = areaClassifyService.getAreaClassify(wares.getPkAreaClassify());
|
BdAreaClassify parentAreaClassify = areaClassifyService.getAreaClassify(wares.getPkAreaClassify());
|
||||||
|
|
|
@ -412,6 +412,6 @@ public class WaresParams implements Serializable {
|
||||||
/**
|
/**
|
||||||
* 商品上传盒数
|
* 商品上传盒数
|
||||||
*/
|
*/
|
||||||
private Integer boxNum;
|
private BigDecimal boxNum;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1160,15 +1160,9 @@
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<!-- 查询新零售购买指定商品数量(新) -->
|
<!-- 查询新零售购买指定商品数量(新) -->
|
||||||
<select id="getRetailWaresQuantityNew" resultType="int">
|
<select id="getRetailWaresQuantityNew" resultType="decimal">
|
||||||
select nvl(sum(soi.wares_quantity * bw.box_num), 0) wares_quantity
|
select sum(so.box_num) wares_quantity
|
||||||
from sa_order so
|
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
|
|
||||||
left join bd_wares bw
|
|
||||||
on bw.pk_id = soi.pk_wares
|
|
||||||
where so.del_flag = 0
|
where so.del_flag = 0
|
||||||
and so.order_status = 1
|
and so.order_status = 1
|
||||||
and so.pk_member = #{pkMember}
|
and so.pk_member = #{pkMember}
|
||||||
|
@ -1179,10 +1173,6 @@
|
||||||
<foreach collection="orderTypeList" item="item" open="(" close=")" separator=",">
|
<foreach collection="orderTypeList" item="item" open="(" close=")" separator=",">
|
||||||
#{item}
|
#{item}
|
||||||
</foreach>
|
</foreach>
|
||||||
and bw.wares_code in
|
|
||||||
<foreach collection="waresCodeList" item="items" open="(" close=")" separator=",">
|
|
||||||
#{items}
|
|
||||||
</foreach>
|
|
||||||
<if test="payTime != null">
|
<if test="payTime != null">
|
||||||
and so.pay_time > #{payTime}
|
and so.pay_time > #{payTime}
|
||||||
</if>
|
</if>
|
||||||
|
|
|
@ -12,7 +12,7 @@ import lombok.Getter;
|
||||||
public enum EUpgradeType {
|
public enum EUpgradeType {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 1=自动升级 -- 目前只高级店主升级为自动升级
|
* 1=自动升级 -- 高级店主升级为自动升级、董事代理为自动升级
|
||||||
*/
|
*/
|
||||||
AUTO_UPGRADE(1, "自动升级", 0, EnumsPrefixConstants.UPGRADE_TYPE + 1),
|
AUTO_UPGRADE(1, "自动升级", 0, EnumsPrefixConstants.UPGRADE_TYPE + 1),
|
||||||
|
|
||||||
|
|
|
@ -117,17 +117,17 @@ public class CuMemberRetailRange extends BaseEntity {
|
||||||
* 本人当天新消费盒数
|
* 本人当天新消费盒数
|
||||||
*/
|
*/
|
||||||
@TableField("NEW_BOX_NUM")
|
@TableField("NEW_BOX_NUM")
|
||||||
private Integer newBoxNum;
|
private BigDecimal newBoxNum;
|
||||||
/**
|
/**
|
||||||
* 本人累计消费盒数
|
* 本人累计消费盒数
|
||||||
*/
|
*/
|
||||||
@TableField("CONSUME_BOX_NUM")
|
@TableField("CONSUME_BOX_NUM")
|
||||||
private Integer consumeBoxNum;
|
private BigDecimal consumeBoxNum;
|
||||||
/**
|
/**
|
||||||
* 本人月累计盒数
|
* 本人月累计盒数
|
||||||
*/
|
*/
|
||||||
@TableField("MONTH_BOX_NUM")
|
@TableField("MONTH_BOX_NUM")
|
||||||
private Integer monthBoxNum;
|
private BigDecimal monthBoxNum;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 本人当天新消费pv
|
* 本人当天新消费pv
|
||||||
|
@ -159,17 +159,17 @@ public class CuMemberRetailRange extends BaseEntity {
|
||||||
* 团队当天新增盒数
|
* 团队当天新增盒数
|
||||||
*/
|
*/
|
||||||
@TableField("TEAM_NEW_BOX_NUM")
|
@TableField("TEAM_NEW_BOX_NUM")
|
||||||
private Integer teamNewBoxNum;
|
private BigDecimal teamNewBoxNum;
|
||||||
/**
|
/**
|
||||||
* 团队累计盒数
|
* 团队累计盒数
|
||||||
*/
|
*/
|
||||||
@TableField("TEAM_BOX_NUM")
|
@TableField("TEAM_BOX_NUM")
|
||||||
private Integer teamBoxNum;
|
private BigDecimal teamBoxNum;
|
||||||
/**
|
/**
|
||||||
* 团队月累计盒数
|
* 团队月累计盒数
|
||||||
*/
|
*/
|
||||||
@TableField("TEAM_MONTH_BOX_NUM")
|
@TableField("TEAM_MONTH_BOX_NUM")
|
||||||
private Integer teamMonthBoxNum;
|
private BigDecimal teamMonthBoxNum;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 团队当天新增消费pv
|
* 团队当天新增消费pv
|
||||||
|
@ -238,13 +238,13 @@ public class CuMemberRetailRange extends BaseEntity {
|
||||||
* 大区注水盒数
|
* 大区注水盒数
|
||||||
*/
|
*/
|
||||||
@TableField("big_box_num")
|
@TableField("big_box_num")
|
||||||
private Integer bigBoxNum;
|
private BigDecimal bigBoxNum;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 小区注水盒数
|
* 小区注水盒数
|
||||||
*/
|
*/
|
||||||
@TableField("small_box_num")
|
@TableField("small_box_num")
|
||||||
private Integer smallBoxNum;
|
private BigDecimal smallBoxNum;
|
||||||
|
|
||||||
@TableField("big_team_pv")
|
@TableField("big_team_pv")
|
||||||
private BigDecimal bigTeamPv;
|
private BigDecimal bigTeamPv;
|
||||||
|
|
|
@ -141,6 +141,6 @@ public class BdWaresDetailExt extends BdWaresDetail {
|
||||||
/**
|
/**
|
||||||
* 商品上传盒数
|
* 商品上传盒数
|
||||||
*/
|
*/
|
||||||
private Integer boxNum;
|
private BigDecimal boxNum;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -224,6 +224,6 @@ public class SaOrder extends BaseEntity {
|
||||||
* 指定商品盒数
|
* 指定商品盒数
|
||||||
*/
|
*/
|
||||||
@TableField("BOX_NUM")
|
@TableField("BOX_NUM")
|
||||||
private Integer boxNum;
|
private BigDecimal boxNum;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -226,6 +226,6 @@ public class BdWares extends BaseEntity {
|
||||||
* 商品上传盒数
|
* 商品上传盒数
|
||||||
*/
|
*/
|
||||||
@TableField("BOX_NUM")
|
@TableField("BOX_NUM")
|
||||||
private Integer boxNum;
|
private BigDecimal boxNum;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -161,19 +161,19 @@ public class BdGrade extends BaseEntity {
|
||||||
* 购买盒数
|
* 购买盒数
|
||||||
*/
|
*/
|
||||||
@TableField("BOX_NUMBER")
|
@TableField("BOX_NUMBER")
|
||||||
private Integer boxNumber;
|
private BigDecimal boxNumber;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 累计盒数
|
* 累计盒数
|
||||||
*/
|
*/
|
||||||
@TableField("BOX_TOTAL")
|
@TableField("BOX_TOTAL")
|
||||||
private Integer boxTotal;
|
private BigDecimal boxTotal;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 小市场盒数
|
* 小市场盒数
|
||||||
*/
|
*/
|
||||||
@TableField("BOX_SMALL_TOTAL")
|
@TableField("BOX_SMALL_TOTAL")
|
||||||
private Integer boxSmallTotal;
|
private BigDecimal boxSmallTotal;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 购买价格
|
* 购买价格
|
||||||
|
|
Loading…
Reference in New Issue