Compare commits
No commits in common. "665f6a503efea489306e77c3a9a5bd353191ce10" and "bcc88e162adf0bf3c09c538d6803c7a4f23af059" have entirely different histories.
665f6a503e
...
bcc88e162a
|
|
@ -11,7 +11,11 @@ import java.math.BigDecimal;
|
|||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 等级的dto
|
||||
* @Description: 等级的dto
|
||||
* @Author: sui q
|
||||
* @Time: 2022/9/24 15:06
|
||||
* @Classname: GradeDTO
|
||||
* @PackageName: com.hzs.system.config.dto
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
|
|
|
|||
|
|
@ -1005,7 +1005,7 @@ public class SaOrderBusinessController extends BaseController {
|
|||
}
|
||||
|
||||
/**
|
||||
* 撤销订单并入库,全免 -- 现用撤单
|
||||
* 撤销订单并入库,全免
|
||||
*
|
||||
* @param orderCancelParam 参数
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.hzs.activity.pick.service.IAcRetailPickService;
|
||||
import com.hzs.common.core.config.BdConfig;
|
||||
import com.hzs.common.core.constant.*;
|
||||
import com.hzs.common.core.constant.msg.ConfigMsgConstants;
|
||||
import com.hzs.common.core.constant.msg.MemberMsgConstants;
|
||||
|
|
@ -86,6 +87,7 @@ import java.math.RoundingMode;
|
|||
import java.time.temporal.ChronoUnit;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
|
|
@ -98,9 +100,9 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
|||
@DubboReference
|
||||
IMemberServiceApi memberServiceApi;
|
||||
@DubboReference
|
||||
IGradeServiceApi iGradeServiceApi;
|
||||
IGradeServiceApi gradeServiceApi;
|
||||
@DubboReference
|
||||
IAwardsServiceApi iAwardsServiceApi;
|
||||
IAwardsServiceApi awardsServiceApi;
|
||||
@DubboReference
|
||||
IAreaServiceApi areaServiceApi;
|
||||
@DubboReference
|
||||
|
|
@ -125,6 +127,8 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
|||
IMemberTradeServiceApi memberTradeServiceApi;
|
||||
@DubboReference
|
||||
ICuMemberDetailServiceApi iCuMemberDetailServiceApi;
|
||||
@DubboReference
|
||||
IGradeServiceApi iGradeServiceApi;
|
||||
|
||||
@Autowired
|
||||
private IBdWaresService iBdWaresService;
|
||||
|
|
@ -592,8 +596,8 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
|||
cuMember.setPkSettleGradeValue(gradeDTO.getGradeValue());
|
||||
// 判断奖衔,原会员有奖衔的话判断哪个大,使用大的
|
||||
if (pkAwards != null && gradeDTO.getGradeValue() != null) {
|
||||
BdAwards bdAwards = iAwardsServiceApi.getAwardsOne(pkAwards).getData();
|
||||
BdAwards newAwards = iAwardsServiceApi.getAwardsOne(gradeDTO.getPkAwards()).getData();
|
||||
BdAwards bdAwards = awardsServiceApi.getAwardsOne(pkAwards).getData();
|
||||
BdAwards newAwards = awardsServiceApi.getAwardsOne(gradeDTO.getPkAwards()).getData();
|
||||
if (bdAwards.getAwardsValue() < newAwards.getAwardsValue()) {
|
||||
cuMember.setPkAwards(gradeDTO.getPkAwards());
|
||||
}
|
||||
|
|
@ -848,7 +852,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
|||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean payUpgradeSaOrder(SaOrderExt saOrderExt, CuMemberAccountExt cuMemberAccountExt) {
|
||||
CuMember cuMember = getCuMemberByKey(saOrderExt.getPkMember());
|
||||
GradeDTO oldGradeDTO = iGradeServiceApi.getGrade(cuMember.getPkSettleGrade()).getData();
|
||||
GradeDTO oldGradeDTO = gradeServiceApi.getGrade(cuMember.getPkSettleGrade()).getData();
|
||||
// 封装等级,重新计算会员等级
|
||||
if (setLastCuMemberGrade(cuMember, saOrderExt)) {
|
||||
return false;
|
||||
|
|
@ -1073,7 +1077,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
|||
if (orderParam.getIsEnough() != null && orderParam.getIsEnough()) {
|
||||
orderReturn.setIsEnough(Boolean.TRUE);
|
||||
CuMember member = getCuMemberByKey(orderParam.getCenterCodeId());
|
||||
GradeDTO grade = iGradeServiceApi.getGrade(member.getPkSettleGrade()).getData();
|
||||
GradeDTO grade = gradeServiceApi.getGrade(member.getPkSettleGrade()).getData();
|
||||
orderReturn.setPkGrade(grade.getPkTransaction());
|
||||
return orderReturn;
|
||||
}
|
||||
|
|
@ -1085,7 +1089,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
|||
} else {
|
||||
member = getCuMemberByKey(orderParam.getCenterCodeId());
|
||||
}
|
||||
GradeDTO grade = iGradeServiceApi.getGrade(member.getPkSettleGrade()).getData();
|
||||
GradeDTO grade = gradeServiceApi.getGrade(member.getPkSettleGrade()).getData();
|
||||
if (grade.getGradeValue() < gradeDTO.getGradeValue()) {
|
||||
orderReturn.setIsEnough(Boolean.TRUE);
|
||||
} else {
|
||||
|
|
@ -2214,33 +2218,25 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
|||
* @return
|
||||
*/
|
||||
private GradeDTO calculateRetailCancelGrade(CuMember cuMember, SaOrder saOrder) {
|
||||
if (RetailConstants.VERTEX_PK_ID.equals(cuMember.getPkVertex())) {
|
||||
// 2025.08.18 雨汐体系改为累计升级,撤单需要单独处理等级计算
|
||||
GradeDTO memberGrade = iGradeServiceApi.getGrade(cuMember.getPkSettleGrade()).getData();
|
||||
if (memberGrade.getGradeValue() > EGrade.MAKER.getValue()) {
|
||||
// 会员等级大于卓越,直接返回当前等级
|
||||
return memberGrade;
|
||||
}
|
||||
} else {
|
||||
// 查询会员升级记录表最终数据
|
||||
CuMemberLevel cuMemberLevel = iCuMemberDetailServiceApi.getLastUpgrade(cuMember.getPkId(), saOrder.getPkId()).getData();
|
||||
if (null != cuMemberLevel) {
|
||||
return iGradeServiceApi.getGrade(cuMemberLevel.getNewLevel()).getData();
|
||||
}
|
||||
// 查询会员升级记录表最终数据
|
||||
CuMemberLevel cuMemberLevel = iCuMemberDetailServiceApi.getLastUpgrade(cuMember.getPkId(), saOrder.getPkId()).getData();
|
||||
if (null != cuMemberLevel) {
|
||||
return gradeServiceApi.getGrade(cuMemberLevel.getNewLevel()).getData();
|
||||
}
|
||||
|
||||
// 没有升级记录,直接查会员注册信息表
|
||||
CuMemberRegister cuMemberRegister = iCuMemberDetailServiceApi.getMemberRegister(cuMember.getPkId()).getData();
|
||||
if (null == cuMemberRegister) {
|
||||
throw new ServiceException("没有会员注册信息");
|
||||
}
|
||||
return iGradeServiceApi.getGrade(cuMemberRegister.getPkRegisterGrade()).getData();
|
||||
return gradeServiceApi.getGrade(cuMemberRegister.getPkRegisterGrade()).getData();
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理撤销升级订单
|
||||
*
|
||||
* @param saOrderExt 订单信息
|
||||
* @param updSaOrder 升级订单(上一个升级订单)
|
||||
* @param updSaOrder 升级订单
|
||||
* @param pkApprove 操作人
|
||||
* @param businessCommissionDTO 业务处理DTO
|
||||
*/
|
||||
|
|
@ -2398,7 +2394,6 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
|||
}
|
||||
} else if (ESpecialArea.RETAIL_UPGRADE.getValue() == specialArea) {
|
||||
// 升级专区,一次性补差升级
|
||||
// 2025.08.18 雨汐团队,使用累计升级
|
||||
if (boxNum.compareTo(BigDecimal.ZERO) == 0) {
|
||||
// 不满足升级条件
|
||||
throw new ServiceException("不满足升级条件");
|
||||
|
|
@ -2407,7 +2402,6 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
|||
// 当前会员等级
|
||||
BdGrade memberGrade = gradeList.stream().filter(tmpGrade -> tmpGrade.getPkId().equals(updateGradeMember.getPkSettleGrade())).findFirst().get();
|
||||
if (RetailConstants.VERTEX_PK_ID.equals(updateGradeMember.getPkVertex())) {
|
||||
// 雨汐团队特殊处理
|
||||
if (memberGrade.getGradeValue().compareTo(EGrade.MAKER.getValue()) >= 0) {
|
||||
// 会员等级大于等于V3(卓越),不能通过升级进行购买了
|
||||
throw new ServiceException("当前已经是可以购买的最高等级");
|
||||
|
|
@ -2428,16 +2422,12 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
|||
if (bdGrade.getGradeValue().equals(memberGrade.getGradeValue())
|
||||
&& (EGrade.HAI_FAN.getValue() == bdGrade.getGradeValue() || EGrade.YOU_KE.getValue() == bdGrade.getGradeValue())
|
||||
) {
|
||||
if (RetailConstants.VERTEX_PK_ID.equals(updateGradeMember.getPkVertex())) {
|
||||
// 雨汐团队特殊处理,雨汐团队使用累计升级,可以进行购买
|
||||
return bdGrade;
|
||||
}
|
||||
// 旧等级与新等级相同 并且 旧等级为V1或V2
|
||||
return null;
|
||||
}
|
||||
|
||||
// 特殊等级处理
|
||||
// 2025.08.01 非雨汐团队会多升2级
|
||||
// 特殊等级处理
|
||||
BdGrade tmpGrade = this.handleGradeEnd(gradeList, bdGrade.getPkId(), updateGradeMember.getPkVertex());
|
||||
if (null != isPay && EYesNo.YES.getIntValue() == isPay) {
|
||||
// 支付时才进行处理
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
package com.hzs.sale.order.vo;
|
||||
|
||||
import com.hzs.common.domain.member.account.CuMemberAccount;
|
||||
import com.hzs.common.domain.sale.ext.SaOrderExt;
|
||||
import com.hzs.common.domain.sale.order.SaOrder;
|
||||
import lombok.AllArgsConstructor;
|
||||
|
|
@ -12,7 +13,11 @@ import java.util.List;
|
|||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 验证撤单信息,返回的实体
|
||||
* @Description: 验证撤单信息,返回的实体
|
||||
* @Author: sui q
|
||||
* @Time: 2023/3/22 13:47
|
||||
* @Classname: ValidateCancelOrderVO
|
||||
* @PackageName: com.hzs.sale.order.vo
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
|
|
|
|||
|
|
@ -1134,8 +1134,14 @@
|
|||
|
||||
<!-- 查询新零售购买指定商品数量(新) -->
|
||||
<select id="getRetailWaresQuantityNew" resultType="decimal">
|
||||
select sum(so.box_num) wares_quantity
|
||||
select sum(nvl(soi.wares_quantity, 0) * bw.box_num) wares_quantity
|
||||
from sa_order so
|
||||
left join sa_order_items soi
|
||||
on soi.pk_order = so.pk_id
|
||||
and soi.del_flag = 0
|
||||
and soi.is_gift = 1
|
||||
left join bd_wares bw
|
||||
on bw.pk_id = soi.pk_wares
|
||||
where so.del_flag = 0
|
||||
and so.order_status = 1
|
||||
and so.pk_member = #{pkMember}
|
||||
|
|
@ -1146,6 +1152,10 @@
|
|||
<foreach collection="orderTypeList" item="item" open="(" close=")" separator=",">
|
||||
#{item}
|
||||
</foreach>
|
||||
and bw.wares_code in
|
||||
<foreach collection="waresCodeList" item="items" open="(" close=")" separator=",">
|
||||
#{items}
|
||||
</foreach>
|
||||
<if test="payTime != null">
|
||||
and so.pay_time > #{payTime}
|
||||
</if>
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ public class RetailConstants {
|
|||
public static final BigDecimal SAME_RATIO = new BigDecimal("0.005");
|
||||
|
||||
/**
|
||||
* 特殊体系PK_ID: 150(雨汐团队)
|
||||
* 特殊体系PK_ID: 150
|
||||
* V4:总 500,小 100
|
||||
* V5:总 2000,小 400
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -17,6 +17,9 @@ import java.math.BigDecimal;
|
|||
|
||||
/**
|
||||
* 等级配置表
|
||||
*
|
||||
* @author zhangjing
|
||||
* @since 2022-09-08
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
|
|
|
|||
Loading…
Reference in New Issue