Compare commits
	
		
			3 Commits
		
	
	
		
			96d8fd4b77
			...
			e91f1a3893
		
	
	| Author | SHA1 | Date | 
|---|---|---|
|  | e91f1a3893 | |
|  | a7ae7dd24d | |
|  | 2003725ef8 | 
|  | @ -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,12 +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) | ||||
|  |  | |||
|  | @ -6,7 +6,6 @@ import com.hzs.common.core.annotation.Excel; | |||
| import com.hzs.common.core.web.domain.BaseEntity; | ||||
| import lombok.*; | ||||
| import lombok.experimental.Accessors; | ||||
| import org.apache.commons.lang3.StringUtils; | ||||
| import org.apache.ibatis.type.JdbcType; | ||||
| 
 | ||||
| import java.math.BigDecimal; | ||||
|  |  | |||
|  | @ -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