## 加购添加加购升级记录;撤单删除加购升级记录;
This commit is contained in:
parent
2003725ef8
commit
a7ae7dd24d
|
@ -0,0 +1,20 @@
|
|||
package com.hzs.activity.add.dto;
|
||||
|
||||
import com.hzs.common.domain.activity.add.AcAddUpgradeRecord;
|
||||
import com.hzs.system.config.dto.GradeDTO;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class AcAddUpgradeRecordDTO {
|
||||
|
||||
/**
|
||||
* 加购升级记录
|
||||
*/
|
||||
private AcAddUpgradeRecord acAddUpgradeRecord;
|
||||
|
||||
/**
|
||||
* 等级DTO
|
||||
*/
|
||||
private GradeDTO gradeDTO;
|
||||
|
||||
}
|
|
@ -1,6 +1,7 @@
|
|||
package com.hzs.activity.add.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.hzs.activity.add.dto.AcAddUpgradeRecordDTO;
|
||||
import com.hzs.activity.add.param.AcAddUpgradeParam;
|
||||
import com.hzs.common.core.web.domain.AjaxResult;
|
||||
import com.hzs.common.domain.activity.add.AcAddUpgradeConfig;
|
||||
|
@ -25,8 +26,22 @@ public interface IAcAddUpgradeConfigService extends IService<AcAddUpgradeConfig>
|
|||
|
||||
AjaxResult getDetail(Integer pkId);
|
||||
|
||||
/**
|
||||
* 判断是否满足加购升级(显示使用)
|
||||
*
|
||||
* @param orderParam
|
||||
* @param orderReturn
|
||||
*/
|
||||
void handleAddUpgrade(OrderParam orderParam, OrderReturn orderReturn);
|
||||
|
||||
GradeDTO handleAddUpgrade(Integer specialArea, List<SaOrderItems> orderItemsList, Integer pkGrade);
|
||||
/**
|
||||
* 判断是否满足加购升级(入库使用)
|
||||
*
|
||||
* @param specialArea
|
||||
* @param orderItemsList
|
||||
* @param pkGrade
|
||||
* @return
|
||||
*/
|
||||
AcAddUpgradeRecordDTO handleAddUpgrade(Integer specialArea, List<SaOrderItems> orderItemsList, Integer pkGrade);
|
||||
|
||||
}
|
||||
|
|
|
@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil;
|
|||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.hzs.activity.add.dto.AcAddUpgradeRecordDTO;
|
||||
import com.hzs.activity.add.mapper.AcAddUpgradeConfigMapper;
|
||||
import com.hzs.activity.add.param.*;
|
||||
import com.hzs.activity.add.service.IAcAddUpgradeConfigService;
|
||||
|
@ -16,6 +17,7 @@ import com.hzs.common.core.enums.EActType;
|
|||
import com.hzs.common.core.enums.EApprovalBusiness;
|
||||
import com.hzs.common.core.enums.EControlType;
|
||||
import com.hzs.common.core.web.domain.AjaxResult;
|
||||
import com.hzs.common.domain.activity.add.AcAddUpgradeRecord;
|
||||
import com.hzs.common.domain.activity.add.ext.AcAddUpgradeConfigExt;
|
||||
import com.hzs.common.domain.activity.base.AcBaseConfig;
|
||||
import com.hzs.common.domain.activity.base.AcGoalMemberConfig;
|
||||
|
@ -209,7 +211,7 @@ public class AcAddUpgradeConfigServiceImpl extends ServiceImpl<AcAddUpgradeConfi
|
|||
}
|
||||
|
||||
@Override
|
||||
public GradeDTO handleAddUpgrade(Integer specialArea, List<SaOrderItems> orderItemsList, Integer pkGrade) {
|
||||
public AcAddUpgradeRecordDTO handleAddUpgrade(Integer specialArea, List<SaOrderItems> orderItemsList, Integer pkGrade) {
|
||||
if (CollectionUtil.isEmpty(orderItemsList)) {
|
||||
return null;
|
||||
}
|
||||
|
@ -220,13 +222,22 @@ public class AcAddUpgradeConfigServiceImpl extends ServiceImpl<AcAddUpgradeConfi
|
|||
for (SaOrderItems orderItemsParam : orderItemsList) {
|
||||
if (orderItemsParam.getPkWares().equals(configExt.getPkWares())
|
||||
&& orderItemsParam.getWaresQuantity() >= configExt.getQuantity()) {
|
||||
return GradeDTO.builder()
|
||||
AcAddUpgradeRecordDTO dto = new AcAddUpgradeRecordDTO();
|
||||
dto.setAcAddUpgradeRecord(AcAddUpgradeRecord.builder()
|
||||
.pkBaseId(configExt.getPkBaseId())
|
||||
.pkRuleId(configExt.getPkId())
|
||||
.pkOriginGrade(configExt.getOriginalLevel())
|
||||
.pkUpgradeGrade(configExt.getUpgradeLevel())
|
||||
.build());
|
||||
dto.setGradeDTO(GradeDTO.builder()
|
||||
.pkId(configExt.getUpgradeLevel())
|
||||
.gradeValue(configExt.getGradeValue())
|
||||
.gradeName(configExt.getGradeName())
|
||||
.pkAwards(configExt.getPkAwards())
|
||||
.registerAuthority(configExt.getRegisterAuthority())
|
||||
.build();
|
||||
.build());
|
||||
|
||||
return dto;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -482,7 +482,7 @@ public class ApiRegSaOrderController extends ParentOrderController {
|
|||
// 返回计算等级
|
||||
OrderReturn orderReturn = getOrderService().computeLevel(orderParam);
|
||||
if (orderReturn.getIsEnough()) {
|
||||
// TODO 2025.10.20,如果满足升级条件,判断是否有加购升级活动
|
||||
// 2025.10.20,如果满足升级条件,判断是否有加购升级活动
|
||||
iAcAddUpgradeConfigService.handleAddUpgrade(orderParam, orderReturn);
|
||||
return AjaxResult.success(orderReturn);
|
||||
} else {
|
||||
|
|
|
@ -12,8 +12,11 @@ import com.alibaba.fastjson.JSONObject;
|
|||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
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.add.dto.AcAddUpgradeRecordDTO;
|
||||
import com.hzs.activity.add.service.IAcAddUpgradeConfigService;
|
||||
import com.hzs.activity.add.service.IAcAddUpgradeRecordService;
|
||||
import com.hzs.activity.pick.service.IAcPickService;
|
||||
import com.hzs.common.core.config.BdConfig;
|
||||
import com.hzs.common.core.constant.*;
|
||||
|
@ -26,6 +29,7 @@ import com.hzs.common.core.service.RedisService;
|
|||
import com.hzs.common.core.utils.*;
|
||||
import com.hzs.common.core.utils.reflect.ReflectUtils;
|
||||
import com.hzs.common.core.web.domain.AjaxResult;
|
||||
import com.hzs.common.domain.activity.add.AcAddUpgradeRecord;
|
||||
import com.hzs.common.domain.member.account.CuMemberAccount;
|
||||
import com.hzs.common.domain.member.base.CuMember;
|
||||
import com.hzs.common.domain.member.base.CuMemberRegister;
|
||||
|
@ -86,6 +90,7 @@ import com.hzs.system.sys.dto.LoginUser;
|
|||
import com.hzs.third.sms.ISmsServiceApi;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.dubbo.config.annotation.DubboReference;
|
||||
import org.bouncycastle.crypto.Wrapper;
|
||||
import org.springframework.amqp.rabbit.core.RabbitTemplate;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
@ -166,6 +171,8 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
|||
private ISaOrderSyncService iSaOrderSyncService;
|
||||
@Autowired
|
||||
private IAcAddUpgradeConfigService iAcAddUpgradeConfigService;
|
||||
@Autowired
|
||||
private IAcAddUpgradeRecordService iAcAddUpgradeRecordService;
|
||||
|
||||
@Autowired
|
||||
private UserTokenService userTokenService;
|
||||
|
@ -610,8 +617,11 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
|||
}
|
||||
|
||||
// TODO 2025.10.20 处理加购升级活动
|
||||
GradeDTO acGradeDTO = iAcAddUpgradeConfigService.handleAddUpgrade(saOrderExt.getOrderType(), orderItemsList, gradeDTO.getPkId());
|
||||
if (null != acGradeDTO) {
|
||||
AcAddUpgradeRecordDTO acAddUpgradeRecordDTO = iAcAddUpgradeConfigService.handleAddUpgrade(saOrderExt.getOrderType(), orderItemsList, gradeDTO.getPkId());
|
||||
if (null != acAddUpgradeRecordDTO) {
|
||||
saOrderExt.setAcAddUpgradeRecord(acAddUpgradeRecordDTO.getAcAddUpgradeRecord());
|
||||
|
||||
GradeDTO acGradeDTO = acAddUpgradeRecordDTO.getGradeDTO();
|
||||
// 达到活动升级,需要处理
|
||||
cuMember.setPkSettleGrade(acGradeDTO.getPkId());
|
||||
cuMember.setPkSettleGradeValue(acGradeDTO.getGradeValue());
|
||||
|
@ -667,6 +677,15 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
|||
// 保存订单明细
|
||||
iSaOrderItemsService.saveBatch(saOrderExt.getOrderItemsList());
|
||||
|
||||
if (null != saOrderExt.getAcAddUpgradeRecord()) {
|
||||
// 2025.10.22 加购升级记录
|
||||
AcAddUpgradeRecord acAddUpgradeRecord = saOrderExt.getAcAddUpgradeRecord();
|
||||
acAddUpgradeRecord.setPkMember(saOrderExt.getPkMember());
|
||||
acAddUpgradeRecord.setPkOrderId(saOrderExt.getPkId());
|
||||
acAddUpgradeRecord.setPkCreator(saOrderExt.getPkMember());
|
||||
iAcAddUpgradeRecordService.save(acAddUpgradeRecord);
|
||||
}
|
||||
|
||||
// // 更新销量
|
||||
// // 将订单表主键封装为明细表主键
|
||||
// List<WaresNumberParam> waresNumberParamList = new ArrayList<>();
|
||||
|
@ -742,6 +761,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
|||
@Override
|
||||
public Boolean payRegSaOrder(SaOrderExt saOrderExt, CuMember newCuMember,
|
||||
CuMemberAccountExt cuMemberAccountExt, Boolean isHaiFun) {
|
||||
// 是否存在待支付(true=存在)
|
||||
boolean isToBePay = getIsToBePayByOrderType(newCuMember.getPkSettleCountry(), saOrderExt.getOrderType());
|
||||
Date currentDateTime = DateUtils.currentDateTime();
|
||||
Long pkCreator = saOrderExt.getPkCreator();
|
||||
|
@ -939,6 +959,15 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
|||
try {
|
||||
updateById(saOrderExt);
|
||||
iSaOrderItemsService.updateBatchById(saOrderExt.getOrderItemsList());
|
||||
|
||||
if (null != saOrderExt.getAcAddUpgradeRecord()) {
|
||||
// 2025.10.22 加购升级记录
|
||||
AcAddUpgradeRecord acAddUpgradeRecord = saOrderExt.getAcAddUpgradeRecord();
|
||||
acAddUpgradeRecord.setPkMember(saOrderExt.getPkMember());
|
||||
acAddUpgradeRecord.setPkOrderId(saOrderExt.getPkId());
|
||||
acAddUpgradeRecord.setPkCreator(saOrderExt.getPkMember());
|
||||
iAcAddUpgradeRecordService.save(acAddUpgradeRecord);
|
||||
}
|
||||
} finally {
|
||||
redisService.unlock(CacheConstants.MEMBER_ORDER + saOrderExt.getOrderCode());
|
||||
}
|
||||
|
@ -1668,6 +1697,14 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
|||
}
|
||||
cuMember.setConsumeAchieve(gradeDTO.getStartValue());
|
||||
}
|
||||
|
||||
// 删除加购升级数据
|
||||
iAcAddUpgradeRecordService.update(Wrappers.<AcAddUpgradeRecord>lambdaUpdate()
|
||||
.eq(AcAddUpgradeRecord::getPkMember,saOrderExt.getPkMember())
|
||||
.eq(AcAddUpgradeRecord::getPkOrderId, saOrderExt.getPkId())
|
||||
.eq(AcAddUpgradeRecord::getDelFlag, EDelFlag.UN_DELETE.getValue())
|
||||
.set(AcAddUpgradeRecord::getDelFlag, EDelFlag.DELETE.getValue())
|
||||
);
|
||||
} else if (EOrderType.PICK_ORDER.getValue() == saOrderExt.getOrderType()) {
|
||||
// 提货订单
|
||||
if (!iAcPickService.cancelPickOrder(saOrderExt.getOrderCode(), pkApprove)) {
|
||||
|
@ -1679,7 +1716,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
|||
}
|
||||
|
||||
if (EOrderType.REPURCHASE_ORDER.getValue() == saOrderExt.getOrderType()
|
||||
&& EOrderTypeExtend.REG_REP.getValue() == saOrderExt.getOrderTypeExtend()) {
|
||||
&& EOrderTypeExtend.REG_REP.getValue().equals(saOrderExt.getOrderTypeExtend())) {
|
||||
// 注册转复购订单,走的是注册订单的撤单流程
|
||||
R<Boolean> tmpR = iMemberServiceApi.singleRevokeMemberByRegisterOrder(pkApprove, saOrderExt, businessCommissionDTO);
|
||||
if (!tmpR.isSuccess()) {
|
||||
|
@ -1999,13 +2036,15 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
|||
saOrderExt.setPayType(EOrderPayType.ONLINE.getValue());
|
||||
}
|
||||
if (newCuMember == null) {
|
||||
throw new RuntimeException("生成会员失败");
|
||||
throw new ServiceException("1.订单生成会员失败");
|
||||
}
|
||||
payRegSaOrder(saOrderExt, newCuMember, null, Boolean.FALSE);
|
||||
} else if (EOrderType.UPGRADE_ORDER.getValue() == saOrderExt.getOrderType()
|
||||
|| EOrderType.SPECIAL_UPGRADE_ORDER.getValue() == saOrderExt.getOrderType()) {
|
||||
// 升级订单
|
||||
payUpgradeSaOrder(saOrderExt, null);
|
||||
if (payUpgradeSaOrder(saOrderExt, null)) {
|
||||
throw new ServiceException("2.订单处理失败");
|
||||
}
|
||||
} else {
|
||||
// 其他订单
|
||||
if (EOrderType.REPURCHASE_ORDER.getValue() == saOrderExt.getOrderType()
|
||||
|
@ -2024,7 +2063,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
|||
saOrderExt = packageWholeSaOrder(orderParam, newCuMember);
|
||||
saOrderExt.setPayType(EOrderPayType.ONLINE.getValue());
|
||||
if (!payReyZeroOrder(saOrderExt, newCuMember)) {
|
||||
throw new ServiceException("会员或订单处理失败");
|
||||
throw new ServiceException("3.会员或订单处理失败");
|
||||
}
|
||||
} else {
|
||||
// 188分享订单,复购订单 扩展类型为 注册转复购
|
||||
|
@ -2048,7 +2087,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
|||
}
|
||||
|
||||
if (newCuMember == null) {
|
||||
throw new RuntimeException("生成会员失败");
|
||||
throw new RuntimeException("4.生成会员失败");
|
||||
}
|
||||
payRegSaOrder(saOrderExt, newCuMember, null, Boolean.TRUE);
|
||||
}
|
||||
|
|
|
@ -5,8 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
|
|||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.hzs.common.core.web.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.*;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
/**
|
||||
|
@ -17,6 +16,9 @@ import lombok.experimental.Accessors;
|
|||
* @author bd
|
||||
* @since 2025-10-13
|
||||
*/
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Accessors(chain = true)
|
||||
|
|
|
@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.*;
|
|||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.hzs.common.core.annotation.Excel;
|
||||
import com.hzs.common.core.web.domain.BaseEntity;
|
||||
import com.hzs.common.domain.activity.add.AcAddUpgradeRecord;
|
||||
import lombok.*;
|
||||
import lombok.experimental.Accessors;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
|
|
@ -8,7 +8,9 @@ import com.baomidou.mybatisplus.annotation.TableName;
|
|||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import com.hzs.common.core.web.domain.BaseEntity;
|
||||
import com.hzs.common.domain.activity.add.AcAddUpgradeRecord;
|
||||
import lombok.*;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
|
@ -226,4 +228,11 @@ public class SaOrder extends BaseEntity {
|
|||
@TableField("BOX_NUM")
|
||||
private Integer boxNum;
|
||||
|
||||
/**
|
||||
* 活动升级数据
|
||||
*/
|
||||
@JsonIgnore
|
||||
@TableField(exist = false)
|
||||
private AcAddUpgradeRecord acAddUpgradeRecord;
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue