## 订单退单回退支付金额(101);
This commit is contained in:
parent
36968317b8
commit
f19b6a45ec
|
@ -9,11 +9,7 @@ import java.math.BigDecimal;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 会员账户提供api操作实体
|
* 会员账户提供api操作实体
|
||||||
* @Author: sui q
|
|
||||||
* @Time: 2022/9/5 14:27
|
|
||||||
* @Classname: IMemberAccountServiceApi
|
|
||||||
* @PackageName: com.hzs.member.account
|
|
||||||
*/
|
*/
|
||||||
public interface IMemberAccountServiceApi {
|
public interface IMemberAccountServiceApi {
|
||||||
|
|
||||||
|
@ -21,9 +17,6 @@ public interface IMemberAccountServiceApi {
|
||||||
* 查询会员账户状态,账户信息
|
* 查询会员账户状态,账户信息
|
||||||
*
|
*
|
||||||
* @param cuMemberAccount 会员账户条件信息
|
* @param cuMemberAccount 会员账户条件信息
|
||||||
* @return: List<CuMemberAccountExt>
|
|
||||||
* @Author: sui q
|
|
||||||
* @Date: 2022/9/5 11:57
|
|
||||||
*/
|
*/
|
||||||
R<List<CuMemberAccountExt>> queryMemberAccountByCondition(CuMemberAccount cuMemberAccount);
|
R<List<CuMemberAccountExt>> queryMemberAccountByCondition(CuMemberAccount cuMemberAccount);
|
||||||
|
|
||||||
|
@ -31,9 +24,6 @@ public interface IMemberAccountServiceApi {
|
||||||
* 根据会员id 列表查询账户信息
|
* 根据会员id 列表查询账户信息
|
||||||
*
|
*
|
||||||
* @param pkMemberList 列表
|
* @param pkMemberList 列表
|
||||||
* @return: List<CuMemberAccount>
|
|
||||||
* @Author: sui q
|
|
||||||
* @Date: 2023/3/25 16:28
|
|
||||||
*/
|
*/
|
||||||
R<List<CuMemberAccount>> queryCuMemberAccountByPkMembers(List<Long> pkMemberList);
|
R<List<CuMemberAccount>> queryCuMemberAccountByPkMembers(List<Long> pkMemberList);
|
||||||
|
|
||||||
|
@ -44,7 +34,7 @@ public interface IMemberAccountServiceApi {
|
||||||
* @param updateOrder 新订单
|
* @param updateOrder 新订单
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
R orderChangeProductPre(SaOrder saOrder, SaOrder updateOrder);
|
R<?> orderChangeProductPre(SaOrder saOrder, SaOrder updateOrder);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 订单调换货物扣费处理
|
* 订单调换货物扣费处理
|
||||||
|
@ -55,18 +45,7 @@ public interface IMemberAccountServiceApi {
|
||||||
* @param obj 追加后续业务实体
|
* @param obj 追加后续业务实体
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
R orderChangeProduct(SaOrder saOrder, SaOrder updateOrder, Long userId, Object obj);
|
R<?> orderChangeProduct(SaOrder saOrder, SaOrder updateOrder, Long userId, Object obj);
|
||||||
|
|
||||||
/**
|
|
||||||
* 订单退单
|
|
||||||
*
|
|
||||||
* @param saOrder 退单订单
|
|
||||||
* @param userId 操作用户ID
|
|
||||||
* @param changeAmount 变动金额(除订单退回外,又追加的补偿或者扣款) -- 非必传
|
|
||||||
* @param changeRemark 变动备注 -- 非必传
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
R orderReturn(SaOrder saOrder, Long userId, BigDecimal changeAmount, String changeRemark);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 订单退单注册会员
|
* 订单退单注册会员
|
||||||
|
@ -74,7 +53,7 @@ public interface IMemberAccountServiceApi {
|
||||||
* @param pkMemberList 会员ID列表
|
* @param pkMemberList 会员ID列表
|
||||||
* @param userId 操作用户ID
|
* @param userId 操作用户ID
|
||||||
*/
|
*/
|
||||||
R orderReturnMember(List<Long> pkMemberList, Long userId);
|
R<?> orderReturnMember(List<Long> pkMemberList, Long userId);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 订单自提退邮费
|
* 订单自提退邮费
|
||||||
|
@ -86,7 +65,7 @@ public interface IMemberAccountServiceApi {
|
||||||
* @param userId 操作人ID
|
* @param userId 操作人ID
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
R orderSelfDeliver(Long pkMember, Integer pkRate, Integer pkCountry, BigDecimal postage, Long userId);
|
R<?> orderSelfDeliver(Long pkMember, Integer pkRate, Integer pkCountry, BigDecimal postage, Long userId);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 扣款并插入明细
|
* 扣款并插入明细
|
||||||
|
@ -94,6 +73,15 @@ public interface IMemberAccountServiceApi {
|
||||||
* @param saOrder 订单
|
* @param saOrder 订单
|
||||||
* @param cuMemberAccount 会员账户
|
* @param cuMemberAccount 会员账户
|
||||||
*/
|
*/
|
||||||
R insertMemberTrade(SaOrder saOrder, CuMemberAccountExt cuMemberAccount);
|
R<?> insertMemberTrade(SaOrder saOrder, CuMemberAccountExt cuMemberAccount);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 订单合单退单
|
||||||
|
*
|
||||||
|
* @param saOrder 退单订单
|
||||||
|
* @param userId 操作用户ID
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
R<?> orderReturnBatch(SaOrder saOrder, Long userId);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,47 +0,0 @@
|
||||||
package com.hzs.member.account.dto;
|
|
||||||
|
|
||||||
import com.hzs.common.domain.sale.order.SaOrder;
|
|
||||||
import lombok.AllArgsConstructor;
|
|
||||||
import lombok.Builder;
|
|
||||||
import lombok.Data;
|
|
||||||
import lombok.NoArgsConstructor;
|
|
||||||
|
|
||||||
import java.io.Serializable;
|
|
||||||
import java.math.BigDecimal;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @Description: 订单退单扣款DTO
|
|
||||||
* @Author: jiang chao
|
|
||||||
* @Time: 2023/4/4 11:40
|
|
||||||
* @Classname: ReturnOrderDTO
|
|
||||||
* @PackageName: com.hzs.member.account.dto
|
|
||||||
*/
|
|
||||||
@NoArgsConstructor
|
|
||||||
@AllArgsConstructor
|
|
||||||
@Builder
|
|
||||||
@Data
|
|
||||||
public class OrderReturnPaymentDTO implements Serializable {
|
|
||||||
|
|
||||||
private static final long serialVersionUID = -8842651861054394386L;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 订单编号
|
|
||||||
*/
|
|
||||||
private String orderCode;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 退还金额
|
|
||||||
*/
|
|
||||||
private BigDecimal returnAmount;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 退单备注
|
|
||||||
*/
|
|
||||||
private String returnRemark;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 订单信息
|
|
||||||
*/
|
|
||||||
private SaOrder saOrder;
|
|
||||||
|
|
||||||
}
|
|
|
@ -17,6 +17,7 @@ import com.hzs.bonus.achieve.param.MemberAchieveParam;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.time.temporal.ChronoUnit;
|
import java.time.temporal.ChronoUnit;
|
||||||
|
@ -144,6 +145,7 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl<CuMemberAchieveMappe
|
||||||
return baseMapper.queryCuMemberMonthAchieveByMemberIdList(settleTableName, memberSwingNetExtList);
|
return baseMapper.queryCuMemberMonthAchieveByMemberIdList(settleTableName, memberSwingNetExtList);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
@Override
|
@Override
|
||||||
public Boolean chargeBackSaOrder(SaOrder saOrder) {
|
public Boolean chargeBackSaOrder(SaOrder saOrder) {
|
||||||
// 根据支付时间查询期间
|
// 根据支付时间查询期间
|
||||||
|
|
|
@ -51,12 +51,10 @@
|
||||||
<artifactId>bd-api-third</artifactId>
|
<artifactId>bd-api-third</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<!-- 活动服务接口
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.bd</groupId>
|
<groupId>com.bd</groupId>
|
||||||
<artifactId>bd-api-activity</artifactId>
|
<artifactId>bd-api-bonus</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
-->
|
|
||||||
|
|
||||||
<!-- rabbit mq -->
|
<!-- rabbit mq -->
|
||||||
<dependency>
|
<dependency>
|
||||||
|
|
|
@ -6,7 +6,6 @@ import com.hzs.common.domain.member.ext.CuMemberAccountExt;
|
||||||
import com.hzs.common.domain.sale.order.SaOrder;
|
import com.hzs.common.domain.sale.order.SaOrder;
|
||||||
import com.hzs.member.account.IMemberAccountServiceApi;
|
import com.hzs.member.account.IMemberAccountServiceApi;
|
||||||
import com.hzs.member.account.service.ICuMemberAccountService;
|
import com.hzs.member.account.service.ICuMemberAccountService;
|
||||||
import com.hzs.member.account.service.ICuMemberRechargeService;
|
|
||||||
import com.hzs.member.base.service.ICuMemberBusinessService;
|
import com.hzs.member.base.service.ICuMemberBusinessService;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.dubbo.config.annotation.DubboService;
|
import org.apache.dubbo.config.annotation.DubboService;
|
||||||
|
@ -15,42 +14,27 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
|
||||||
* @Description:
|
|
||||||
* @Author: sui q
|
|
||||||
* @Time: 2022/9/5 14:32
|
|
||||||
* @Classname: MemberAccountServiceProvider
|
|
||||||
* @PackageName: com.hzs.member.account.provider
|
|
||||||
*/
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@DubboService
|
@DubboService
|
||||||
public class MemberAccountServiceProvider implements IMemberAccountServiceApi {
|
public class MemberAccountServiceProvider implements IMemberAccountServiceApi {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private ICuMemberAccountService cuMemberAccountService;
|
private ICuMemberAccountService iCuMemberAccountService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private ICuMemberBusinessService iCuMemberBusinessService;
|
private ICuMemberBusinessService iCuMemberBusinessService;
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询会员账户状态,账户信息
|
|
||||||
*
|
|
||||||
* @param cuMemberAccount 会员账户条件信息
|
|
||||||
* @return: List<CuMemberAccountExt>
|
|
||||||
* @Author: sui q
|
|
||||||
* @Date: 2022/9/5 11:57
|
|
||||||
*/
|
|
||||||
@Override
|
@Override
|
||||||
public R<List<CuMemberAccountExt>> queryMemberAccountByCondition(CuMemberAccount cuMemberAccount) {
|
public R<List<CuMemberAccountExt>> queryMemberAccountByCondition(CuMemberAccount cuMemberAccount) {
|
||||||
return R.ok(cuMemberAccountService.queryMemberAccountByCondition(cuMemberAccount));
|
return R.ok(iCuMemberAccountService.queryMemberAccountByCondition(cuMemberAccount));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public R<List<CuMemberAccount>> queryCuMemberAccountByPkMembers(List<Long> pkMemberList) {
|
public R<List<CuMemberAccount>> queryCuMemberAccountByPkMembers(List<Long> pkMemberList) {
|
||||||
return R.ok(cuMemberAccountService.queryCuMemberAccountByPkMembers(pkMemberList));
|
return R.ok(iCuMemberAccountService.queryCuMemberAccountByPkMembers(pkMemberList));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public R orderChangeProductPre(SaOrder saOrder, SaOrder updateOrder) {
|
public R<?> orderChangeProductPre(SaOrder saOrder, SaOrder updateOrder) {
|
||||||
try {
|
try {
|
||||||
String str = iCuMemberBusinessService.orderChangeProductPre(saOrder, updateOrder);
|
String str = iCuMemberBusinessService.orderChangeProductPre(saOrder, updateOrder);
|
||||||
if (null == str) {
|
if (null == str) {
|
||||||
|
@ -63,7 +47,7 @@ public class MemberAccountServiceProvider implements IMemberAccountServiceApi {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public R orderChangeProduct(SaOrder saOrder, SaOrder updateOrder, Long userId, Object obj) {
|
public R<?> orderChangeProduct(SaOrder saOrder, SaOrder updateOrder, Long userId, Object obj) {
|
||||||
try {
|
try {
|
||||||
iCuMemberBusinessService.orderChangeProduct(saOrder, updateOrder, userId, obj);
|
iCuMemberBusinessService.orderChangeProduct(saOrder, updateOrder, userId, obj);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
@ -73,17 +57,7 @@ public class MemberAccountServiceProvider implements IMemberAccountServiceApi {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public R orderReturn(SaOrder saOrder, Long userId, BigDecimal changeAmount, String changeRemark) {
|
public R<?> orderReturnMember(List<Long> pkMemberList, Long userId) {
|
||||||
try {
|
|
||||||
iCuMemberBusinessService.orderReturn(saOrder, userId, changeAmount, changeRemark);
|
|
||||||
} catch (Exception e) {
|
|
||||||
return R.fail(e.getMessage());
|
|
||||||
}
|
|
||||||
return R.ok();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public R orderReturnMember(List<Long> pkMemberList, Long userId) {
|
|
||||||
try {
|
try {
|
||||||
iCuMemberBusinessService.orderReturnMember(pkMemberList, userId);
|
iCuMemberBusinessService.orderReturnMember(pkMemberList, userId);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
@ -93,7 +67,7 @@ public class MemberAccountServiceProvider implements IMemberAccountServiceApi {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public R orderSelfDeliver(Long pkMember, Integer pkRate, Integer pkCountry, BigDecimal postage, Long userId) {
|
public R<?> orderSelfDeliver(Long pkMember, Integer pkRate, Integer pkCountry, BigDecimal postage, Long userId) {
|
||||||
try {
|
try {
|
||||||
String str = iCuMemberBusinessService.orderSelfDeliver(pkMember, pkRate, pkCountry, postage, userId);
|
String str = iCuMemberBusinessService.orderSelfDeliver(pkMember, pkRate, pkCountry, postage, userId);
|
||||||
if (null != str) {
|
if (null != str) {
|
||||||
|
@ -106,7 +80,7 @@ public class MemberAccountServiceProvider implements IMemberAccountServiceApi {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public R insertMemberTrade(SaOrder saOrder, CuMemberAccountExt cuMemberAccount) {
|
public R<?> insertMemberTrade(SaOrder saOrder, CuMemberAccountExt cuMemberAccount) {
|
||||||
try {
|
try {
|
||||||
iCuMemberBusinessService.insertMemberTrade(saOrder, cuMemberAccount);
|
iCuMemberBusinessService.insertMemberTrade(saOrder, cuMemberAccount);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
@ -115,4 +89,14 @@ public class MemberAccountServiceProvider implements IMemberAccountServiceApi {
|
||||||
return R.ok();
|
return R.ok();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public R<?> orderReturnBatch(SaOrder saOrder, Long userId) {
|
||||||
|
try {
|
||||||
|
iCuMemberBusinessService.orderReturnBatch(saOrder, userId);
|
||||||
|
} catch (Exception e) {
|
||||||
|
return R.fail(e.getMessage());
|
||||||
|
}
|
||||||
|
return R.ok();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,11 +13,6 @@ import java.math.BigDecimal;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
|
||||||
* @Description: 会员服务需要保存不同的表
|
|
||||||
* @Classname: ICuMemberBusinessService
|
|
||||||
* @PackageName: com.hzs.member.base.service
|
|
||||||
*/
|
|
||||||
public interface ICuMemberBusinessService {
|
public interface ICuMemberBusinessService {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -87,7 +82,6 @@ public interface ICuMemberBusinessService {
|
||||||
**/
|
**/
|
||||||
Boolean singleRevokeMemberBySelfRevokeOrder(Long pkApprove, SaOrderExt saOrder, BusinessCommissionDTO businessCommissionDTO);
|
Boolean singleRevokeMemberBySelfRevokeOrder(Long pkApprove, SaOrderExt saOrder, BusinessCommissionDTO businessCommissionDTO);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 撤销订单,需要更新会员,合并撤单,直接删除会员
|
* 撤销订单,需要更新会员,合并撤单,直接删除会员
|
||||||
*
|
*
|
||||||
|
@ -133,17 +127,6 @@ public interface ICuMemberBusinessService {
|
||||||
*/
|
*/
|
||||||
void orderChangeProduct(SaOrder saOrder, SaOrder updateOrder, Long userId, Object obj);
|
void orderChangeProduct(SaOrder saOrder, SaOrder updateOrder, Long userId, Object obj);
|
||||||
|
|
||||||
/**
|
|
||||||
* 订单退单
|
|
||||||
*
|
|
||||||
* @param saOrder 订单
|
|
||||||
* @param userId 操作用户ID
|
|
||||||
* @param changeAmount 变动金额(除订单退回外,又追加的补偿或者扣款) -- 非必传
|
|
||||||
* @param changeRemark 变动备注 -- 非必传
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
void orderReturn(SaOrder saOrder, Long userId, BigDecimal changeAmount, String changeRemark);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 订单退单注册会员
|
* 订单退单注册会员
|
||||||
*
|
*
|
||||||
|
@ -165,22 +148,22 @@ public interface ICuMemberBusinessService {
|
||||||
String orderSelfDeliver(Long pkMember, Integer pkRate, Integer pkCountry, BigDecimal postage, Long userId);
|
String orderSelfDeliver(Long pkMember, Integer pkRate, Integer pkCountry, BigDecimal postage, Long userId);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @description: 自助服务(修改收货地址)-生成订单
|
* 自助服务(修改收货地址)-生成订单
|
||||||
**/
|
**/
|
||||||
void selfInsertMemberTrade(SaOrder saOrder, CuMemberAccount cuMemberAccount);
|
void selfInsertMemberTrade(SaOrder saOrder, CuMemberAccount cuMemberAccount);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* @description: 会员编号,账户类型,抽奖金额
|
* 会员编号,账户类型,抽奖金额
|
||||||
**/
|
**/
|
||||||
Boolean updateCuMemberAccountByDraw(Long pkMember, Integer pkCountry, Integer accountValue, BigDecimal rewardMoney);
|
Boolean updateCuMemberAccountByDraw(Long pkMember, Integer pkCountry, Integer accountValue, BigDecimal rewardMoney);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* @description: 会员抽奖,购买抽奖次数支付金额
|
* 会员抽奖,购买抽奖次数支付金额
|
||||||
**/
|
**/
|
||||||
Boolean updateCuMemberAccountByDraw(CuMemberAccountExt cuMemberAccountExt, BigDecimal payMoney);
|
Boolean updateCuMemberAccountByDraw(CuMemberAccountExt cuMemberAccountExt, BigDecimal payMoney);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* @description: 会员抽奖,购买抽奖次数支付金额
|
* 会员抽奖,购买抽奖次数支付金额
|
||||||
**/
|
**/
|
||||||
Boolean updateCuMemberAccountByDraw(Integer payNum, AcDrawRewardNumExt acDrawRewardNumExt);
|
Boolean updateCuMemberAccountByDraw(Integer payNum, AcDrawRewardNumExt acDrawRewardNumExt);
|
||||||
|
|
||||||
|
@ -194,7 +177,7 @@ public interface ICuMemberBusinessService {
|
||||||
Boolean updateMemberLevel(CuMember cuMember, SaOrder saOrder, Integer pkOldLevel);
|
Boolean updateMemberLevel(CuMember cuMember, SaOrder saOrder, Integer pkOldLevel);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* @description: 查询会员的安置位置
|
* 查询会员的安置位置
|
||||||
**/
|
**/
|
||||||
CuMember queryCuMemberPlaceDept(CuMember cuMember, Boolean isFirst, Boolean isFirstAchieve);
|
CuMember queryCuMemberPlaceDept(CuMember cuMember, Boolean isFirst, Boolean isFirstAchieve);
|
||||||
|
|
||||||
|
@ -206,4 +189,14 @@ public interface ICuMemberBusinessService {
|
||||||
*/
|
*/
|
||||||
String handleMemberContinue(MemberContinueDTO memberContinueDTO);
|
String handleMemberContinue(MemberContinueDTO memberContinueDTO);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 订单合单退单
|
||||||
|
*
|
||||||
|
* @param saOrder 退单订单
|
||||||
|
* @param userId 操作用户ID
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
void orderReturnBatch(SaOrder saOrder, Long userId);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,15 +2,17 @@ package com.hzs.member.base.service.impl;
|
||||||
|
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
import cn.hutool.core.collection.CollectionUtil;
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
import com.hzs.activity.pick.IAcPickServiceApi;
|
import com.hzs.activity.pick.IAcPickServiceApi;
|
||||||
|
import com.hzs.bonus.settle.IMemberSettleBonusApi;
|
||||||
import com.hzs.common.core.constant.CacheConstants;
|
import com.hzs.common.core.constant.CacheConstants;
|
||||||
import com.hzs.common.core.constant.MemberFieldConstants;
|
import com.hzs.common.core.constant.MemberFieldConstants;
|
||||||
import com.hzs.common.core.constant.SystemFieldConstants;
|
import com.hzs.common.core.constant.msg.CommonMsgConstants;
|
||||||
import com.hzs.common.core.constant.msg.MemberMsgConstants;
|
import com.hzs.common.core.constant.msg.MemberMsgConstants;
|
||||||
import com.hzs.common.core.domain.R;
|
import com.hzs.common.core.domain.R;
|
||||||
import com.hzs.common.core.enums.*;
|
import com.hzs.common.core.enums.*;
|
||||||
import com.hzs.common.core.exception.ServiceException;
|
import com.hzs.common.core.exception.ServiceException;
|
||||||
|
import com.hzs.common.core.exception.base.BaseException;
|
||||||
import com.hzs.common.core.service.RedisService;
|
import com.hzs.common.core.service.RedisService;
|
||||||
import com.hzs.common.core.utils.CommonUtil;
|
import com.hzs.common.core.utils.CommonUtil;
|
||||||
import com.hzs.common.core.utils.ComputeUtil;
|
import com.hzs.common.core.utils.ComputeUtil;
|
||||||
|
@ -71,11 +73,6 @@ import java.math.BigDecimal;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
|
||||||
* @Description: 会员服务需要保存不同的表, 用于处理服务内的事务
|
|
||||||
* @Classname: CuMemberBusinessServiceImpl
|
|
||||||
* @PackageName: com.hzs.member.base.service.impl
|
|
||||||
*/
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@Service
|
@Service
|
||||||
public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
|
public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
|
||||||
|
@ -94,6 +91,8 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
|
||||||
ISaOrderServiceApi iSaOrderServiceApi;
|
ISaOrderServiceApi iSaOrderServiceApi;
|
||||||
@DubboReference
|
@DubboReference
|
||||||
IGradeServiceApi iGradeServiceApi;
|
IGradeServiceApi iGradeServiceApi;
|
||||||
|
@DubboReference
|
||||||
|
IMemberSettleBonusApi iMemberSettleBonusApi;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private MemberToolsHandler memberToolsHandler;
|
private MemberToolsHandler memberToolsHandler;
|
||||||
|
@ -396,9 +395,10 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* 插入充值记录trade
|
||||||
|
*
|
||||||
* @param saOrder 订单编号
|
* @param saOrder 订单编号
|
||||||
* @param bdAccount 账户
|
* @param bdAccount 账户
|
||||||
* @Description: 插入充值记录trade
|
|
||||||
*/
|
*/
|
||||||
private CuMemberAccountExt insertRechargeTrade(SaOrder saOrder, BdAccount bdAccount) {
|
private CuMemberAccountExt insertRechargeTrade(SaOrder saOrder, BdAccount bdAccount) {
|
||||||
// 扣款 扣款信息
|
// 扣款 扣款信息
|
||||||
|
@ -429,9 +429,10 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* 插入会员的交易明细
|
||||||
|
*
|
||||||
* @param saOrder 订单
|
* @param saOrder 订单
|
||||||
* @param cuMemberAccount 账户
|
* @param cuMemberAccount 账户
|
||||||
* @Description: 插入会员的交易明细
|
|
||||||
*/
|
*/
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
@Override
|
@Override
|
||||||
|
@ -664,20 +665,20 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
|
||||||
CuMember member = iCuMemberService.getMember(saOrder.getPkMember());
|
CuMember member = iCuMemberService.getMember(saOrder.getPkMember());
|
||||||
|
|
||||||
//删除会员
|
//删除会员
|
||||||
UpdateWrapper<CuMember> updateWrapper = new UpdateWrapper<>();
|
LambdaUpdateWrapper<CuMember> updateWrapper = new LambdaUpdateWrapper<>();
|
||||||
updateWrapper.set("MEMBER_CODE", CommonUtil.deleteMemberCode(member.getMemberCode()));
|
updateWrapper.set(CuMember::getMemberCode, CommonUtil.deleteMemberCode(member.getMemberCode()));
|
||||||
updateWrapper.set("DEL_FLAG", EDelFlag.DELETE.getValue());
|
updateWrapper.set(CuMember::getDelFlag, EDelFlag.DELETE.getValue());
|
||||||
updateWrapper.set("MODIFIED_TIME", DateUtils.currentDateTime());
|
updateWrapper.set(CuMember::getModifiedTime, DateUtils.currentDateTime());
|
||||||
updateWrapper.set("PK_MODIFIED", saOrder.getPkModified());
|
updateWrapper.set(CuMember::getPkModified, saOrder.getPkModified());
|
||||||
updateWrapper.eq("PK_ID", member.getPkId());
|
updateWrapper.eq(CuMember::getPkId, member.getPkId());
|
||||||
iCuMemberService.update(updateWrapper);
|
iCuMemberService.update(updateWrapper);
|
||||||
|
|
||||||
// 删除会员注册表
|
// 删除会员注册表
|
||||||
UpdateWrapper<CuMemberRegister> updateWrapperRegister = new UpdateWrapper<>();
|
LambdaUpdateWrapper<CuMemberRegister> updateWrapperRegister = new LambdaUpdateWrapper<>();
|
||||||
updateWrapperRegister.set("DEL_FLAG", EDelFlag.DELETE.getValue());
|
updateWrapperRegister.set(CuMemberRegister::getDelFlag, EDelFlag.DELETE.getValue());
|
||||||
updateWrapperRegister.set("MODIFIED_TIME", DateUtils.currentDateTime());
|
updateWrapperRegister.set(CuMemberRegister::getModifiedTime, DateUtils.currentDateTime());
|
||||||
updateWrapperRegister.set("PK_MODIFIED", saOrder.getPkModified());
|
updateWrapperRegister.set(CuMemberRegister::getPkModified, saOrder.getPkModified());
|
||||||
updateWrapperRegister.eq("PK_MEMBER", member.getPkId());
|
updateWrapperRegister.eq(CuMemberRegister::getPkMember, member.getPkId());
|
||||||
iCuMemberRegisterService.update(updateWrapperRegister);
|
iCuMemberRegisterService.update(updateWrapperRegister);
|
||||||
}
|
}
|
||||||
cancelOrderBackAccount(pkApprove, saOrder, payMemberAccount);
|
cancelOrderBackAccount(pkApprove, saOrder, payMemberAccount);
|
||||||
|
@ -767,7 +768,7 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 插销订单,回退给创建人金额
|
* 撤销订单,回退给创建人金额
|
||||||
*
|
*
|
||||||
* @param pkApprove 审核人
|
* @param pkApprove 审核人
|
||||||
* @param saOrder 订单
|
* @param saOrder 订单
|
||||||
|
@ -830,10 +831,7 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 撤销订单,回退奖金账户金额
|
* 撤销订单,回退奖金账户金额
|
||||||
* @return: void
|
|
||||||
* @Author: sui q
|
|
||||||
* @Date: 2023/3/30 15:32
|
|
||||||
*/
|
*/
|
||||||
private void revokeBonusAccount(Long pkApprove, SaOrder saOrder, CuMemberAccount payMemberAccount, List<CuMemberTradeBonus> newCuMemberTradeBonusList,
|
private void revokeBonusAccount(Long pkApprove, SaOrder saOrder, CuMemberAccount payMemberAccount, List<CuMemberTradeBonus> newCuMemberTradeBonusList,
|
||||||
List<CuMemberTradeDetail> cuMemberTradeDetailList, CuMemberAccount updateMemberAccount, List<CuMemberTrade> cuMemberTradeList, CuMemberTrade cuMemberTrade, BigDecimal tradeMoney, AreaCurrencyDTO currencyDto) {
|
List<CuMemberTradeDetail> cuMemberTradeDetailList, CuMemberAccount updateMemberAccount, List<CuMemberTrade> cuMemberTradeList, CuMemberTrade cuMemberTrade, BigDecimal tradeMoney, AreaCurrencyDTO currencyDto) {
|
||||||
|
@ -950,7 +948,7 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
|
||||||
// 回退奖衔,根据订单从 cu_member_awards查询
|
// 回退奖衔,根据订单从 cu_member_awards查询
|
||||||
iCuMemberAwardsService.deleteCuMemberAwards(saOrder.getPkId(), pkApprove, currentDateTime);
|
iCuMemberAwardsService.deleteCuMemberAwards(saOrder.getPkId(), pkApprove, currentDateTime);
|
||||||
}
|
}
|
||||||
// 部分撤单 todo 发货后邮费不退,未发货退邮费
|
// 部分撤单 todo 发货后邮费不退,未发货退邮费
|
||||||
if (saOrder.getBackOrderAmount() != null && ComputeUtil.compareValue(saOrder.getBackOrderAmount())) {
|
if (saOrder.getBackOrderAmount() != null && ComputeUtil.compareValue(saOrder.getBackOrderAmount())) {
|
||||||
cancelPartOrderBackAmount(pkApprove, saOrder);
|
cancelPartOrderBackAmount(pkApprove, saOrder);
|
||||||
} else {
|
} else {
|
||||||
|
@ -1129,139 +1127,15 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Transactional(rollbackFor = Exception.class)
|
|
||||||
@Override
|
|
||||||
public void orderReturn(SaOrder saOrder, Long userId, BigDecimal changeAmount, String changeRemark) {
|
|
||||||
// 当前时间
|
|
||||||
Date nowDate = new Date();
|
|
||||||
// 订单编号
|
|
||||||
String orderCode = saOrder.getOrderCode();
|
|
||||||
// 订单购买人
|
|
||||||
Long pkMember = saOrder.getPkCreator();
|
|
||||||
// 订单所属国
|
|
||||||
Integer pkCountry = saOrder.getPkCountry();
|
|
||||||
|
|
||||||
// 更新账户余额
|
|
||||||
CuMemberAccount updateMemberAccount = new CuMemberAccount();
|
|
||||||
updateMemberAccount.setPkMember(pkMember);
|
|
||||||
updateMemberAccount.setPkCountry(pkCountry);
|
|
||||||
// 红冲交易明细数据
|
|
||||||
List<CuMemberTrade> saveMemberTradeList = new ArrayList<>();
|
|
||||||
|
|
||||||
// 查询订单创建人账户
|
|
||||||
CuMemberAccount cuMemberAccount = iCuMemberAccountService.queryCuMemberAccountByPkMember(pkMember);
|
|
||||||
// 订单所属专区扣币的第一位配置
|
|
||||||
AreaCurrencyDTO areaCurrencyDTO = iAreaCurrencyServiceApi.queryAreaCurrencyByCondition(saOrder.getOrderType(), pkCountry).getData().get(0);
|
|
||||||
// 专区扣币的第一位配置所用字段
|
|
||||||
String accountField = MemberFieldConstants.ACCOUNT + areaCurrencyDTO.getFieldValue();
|
|
||||||
|
|
||||||
if (EOrderPayType.WALLET.getValue() == saOrder.getPayType()) {
|
|
||||||
// 钱包支付
|
|
||||||
// 查询之前订单的支付明细
|
|
||||||
List<CuMemberTrade> memberTradeList = iCuMemberTradeService.querySourceCodeLastTrade(pkMember, orderCode, null);
|
|
||||||
|
|
||||||
// 获取所有账户配置ID
|
|
||||||
List<Integer> pkAccountList = memberTradeList.stream().map(CuMemberTrade::getPkAccount).collect(Collectors.toList());
|
|
||||||
// 账户对应账户配置map
|
|
||||||
Map<Integer, BdAccount> accountMap = iAccountServiceApi.getAccountMap(pkAccountList).getData();
|
|
||||||
|
|
||||||
// 根据之前交易明细,生成红冲交易数据
|
|
||||||
for (CuMemberTrade cuMemberTrade : memberTradeList) {
|
|
||||||
// 账户取值所用字段
|
|
||||||
String field = MemberFieldConstants.ACCOUNT + accountMap.get(cuMemberTrade.getPkAccount()).getFieldValue();
|
|
||||||
// 交易金额
|
|
||||||
BigDecimal tradeAmount = cuMemberTrade.getTradeAmount().negate();
|
|
||||||
// 交易前余额
|
|
||||||
BigDecimal tradeBeforeBalance = ReflectUtils.invokeGetter(cuMemberAccount, field);
|
|
||||||
// 交易余额
|
|
||||||
BigDecimal tradeBalance = tradeBeforeBalance.add(tradeAmount);
|
|
||||||
|
|
||||||
// 封装红冲交易明细
|
|
||||||
saveMemberTradeList.add(this.createMemberTradeByTrade(cuMemberTrade, ETradeType.RETURN_MONEY, ETradeClassify.REFUND, tradeBeforeBalance, tradeAmount, ETradeType.RETURN_MONEY.getLabel(), userId));
|
|
||||||
|
|
||||||
// 原账户余额
|
|
||||||
ReflectUtils.invokeSetter(cuMemberAccount, field, tradeBalance);
|
|
||||||
// 设置更新账户变动余额
|
|
||||||
ReflectUtils.invokeSetter(updateMemberAccount, field, tradeAmount);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
// 在线支付
|
|
||||||
// 交易金额(订单金额 + 邮费)
|
|
||||||
BigDecimal tradeAmount = saOrder.getOrderAmount().add(saOrder.getPostage());
|
|
||||||
// 交易前余额
|
|
||||||
BigDecimal tradeBeforeBalance = ReflectUtils.invokeGetter(cuMemberAccount, accountField);
|
|
||||||
// 交易余额
|
|
||||||
BigDecimal tradeBalance = tradeBeforeBalance.add(tradeAmount);
|
|
||||||
|
|
||||||
// 封装交易流水
|
|
||||||
saveMemberTradeList.add(this.createMemberTradeByOrder(saOrder, areaCurrencyDTO.getPkAccount(), ETradeType.RETURN_MONEY, ETradeClassify.REFUND, tradeBeforeBalance, tradeAmount, ETradeType.RETURN_MONEY.getLabel(), userId));
|
|
||||||
|
|
||||||
// 原账户余额
|
|
||||||
ReflectUtils.invokeSetter(cuMemberAccount, accountField, tradeBalance);
|
|
||||||
// 设置更新账户余额
|
|
||||||
ReflectUtils.invokeSetter(updateMemberAccount, accountField, tradeAmount);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (null != changeAmount && changeAmount.compareTo(BigDecimal.ZERO) != 0) {
|
|
||||||
// 存在退返金额 并且不为0,则进行处理,退回给订单所属专区扣币第一位配置
|
|
||||||
// 交易前余额
|
|
||||||
BigDecimal tradeBeforeBalance = ReflectUtils.invokeGetter(cuMemberAccount, accountField);
|
|
||||||
|
|
||||||
// 封装交易流水
|
|
||||||
saveMemberTradeList.add(this.createMemberTradeByOrder(saOrder, areaCurrencyDTO.getPkAccount(), ETradeType.ORDER_REFUND_ADJUST, ETradeClassify.REFUND, tradeBeforeBalance, changeAmount, changeRemark, userId));
|
|
||||||
|
|
||||||
// 变动前账户
|
|
||||||
BigDecimal changeBeforeAccount = ReflectUtils.invokeGetter(updateMemberAccount, accountField);
|
|
||||||
if (null == changeBeforeAccount) {
|
|
||||||
// 如果为空,直接赋值
|
|
||||||
ReflectUtils.invokeSetter(updateMemberAccount, accountField, changeAmount);
|
|
||||||
} else {
|
|
||||||
// 如果不为空,进行累加
|
|
||||||
ReflectUtils.invokeSetter(updateMemberAccount, accountField, changeBeforeAccount.add(changeAmount));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 批量插入会员明细
|
|
||||||
iCuMemberTradeService.batchSaveTradeByMemberCode(saveMemberTradeList);
|
|
||||||
|
|
||||||
// 奖金账户有变化,需要同步处理 可提现奖金账户
|
|
||||||
BigDecimal bonusBigDecimal = ReflectUtils.invokeGetter(updateMemberAccount, MemberFieldConstants.ACCOUNT + 4);
|
|
||||||
if (null != bonusBigDecimal && bonusBigDecimal.compareTo(BigDecimal.ZERO) != 0) {
|
|
||||||
// 奖金账户变化不为空,则需要同步处理 奖金可提现账户
|
|
||||||
ReflectUtils.invokeSetter(updateMemberAccount, MemberFieldConstants.WITHDRAW_ACCOUNT + 4, bonusBigDecimal);
|
|
||||||
}
|
|
||||||
// 更新会员余额
|
|
||||||
iCuMemberAccountService.updateMemberAccount(updateMemberAccount, userId);
|
|
||||||
|
|
||||||
// 更新创建人账号(根据订单类型不同,进行处理)
|
|
||||||
switch (EOrderType.getEnumByValue(saOrder.getOrderType())) {
|
|
||||||
case REGISTER_ORDER:
|
|
||||||
case SPECIAL_REGISTER_ORDER:
|
|
||||||
// 注册类订单,需要更新用户为已注销状态
|
|
||||||
UpdateWrapper<CuMember> memberUpdateWrapper = new UpdateWrapper<>();
|
|
||||||
memberUpdateWrapper.eq(SystemFieldConstants.PK_ID, saOrder.getPkMember());
|
|
||||||
memberUpdateWrapper.set(SystemFieldConstants.PK_MODIFIED, userId);
|
|
||||||
memberUpdateWrapper.set(SystemFieldConstants.MODIFIED_TIME, nowDate);
|
|
||||||
memberUpdateWrapper.set("CATEGORY", ECategory.LOGGED_OUT.getValue());
|
|
||||||
iCuMemberService.update(memberUpdateWrapper);
|
|
||||||
// 添加会员信息修改记录
|
|
||||||
CuMemberChangeLog cuMemberChangeLog = new CuMemberChangeLog();
|
|
||||||
cuMemberChangeLog.setPkMember(saOrder.getPkMember());
|
|
||||||
cuMemberChangeLog.setChangeType(EMemberChangeType.ORDER_RETURN.getValue());
|
|
||||||
cuMemberChangeLog.setChangeAfter(ECategory.LOGGED_OUT.getLabel());
|
|
||||||
iCuMemberChangeLogService.save(cuMemberChangeLog);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
@Override
|
@Override
|
||||||
public void orderReturnMember(List<Long> pkMemberList, Long userId) {
|
public void orderReturnMember(List<Long> pkMemberList, Long userId) {
|
||||||
// 注册类订单,需要更新用户为已注销状态
|
// 注册类订单,需要更新用户为已注销状态
|
||||||
UpdateWrapper<CuMember> memberUpdateWrapper = new UpdateWrapper<>();
|
LambdaUpdateWrapper<CuMember> memberUpdateWrapper = new LambdaUpdateWrapper<>();
|
||||||
memberUpdateWrapper.in(SystemFieldConstants.PK_ID, pkMemberList);
|
memberUpdateWrapper.in(CuMember::getPkId, pkMemberList);
|
||||||
memberUpdateWrapper.set(SystemFieldConstants.PK_MODIFIED, userId);
|
memberUpdateWrapper.set(CuMember::getPkModified, userId);
|
||||||
memberUpdateWrapper.set(SystemFieldConstants.MODIFIED_TIME, new Date());
|
memberUpdateWrapper.set(CuMember::getModifiedTime, new Date());
|
||||||
memberUpdateWrapper.set("CATEGORY", ECategory.LOGGED_OUT.getValue());
|
memberUpdateWrapper.set(CuMember::getCategory, ECategory.LOGGED_OUT.getValue());
|
||||||
iCuMemberService.update(memberUpdateWrapper);
|
iCuMemberService.update(memberUpdateWrapper);
|
||||||
// 添加会员信息修改记录
|
// 添加会员信息修改记录
|
||||||
List<CuMemberChangeLog> cuMemberChangeLogList = new ArrayList<>();
|
List<CuMemberChangeLog> cuMemberChangeLogList = new ArrayList<>();
|
||||||
|
@ -1441,9 +1315,6 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
|
||||||
* @param isFirst 是否收单
|
* @param isFirst 是否收单
|
||||||
* @param isFirstAchieve 受否判断首购业绩
|
* @param isFirstAchieve 受否判断首购业绩
|
||||||
* @param cuMemberAchieve 业绩
|
* @param cuMemberAchieve 业绩
|
||||||
* @return: Integer
|
|
||||||
* @Author: sui q
|
|
||||||
* @Date: 2023/3/15 9:35
|
|
||||||
*/
|
*/
|
||||||
private Integer getPlaceDept(Boolean isFirst, Boolean isFirstAchieve, CuMemberAchieve cuMemberAchieve, Long pkParent) {
|
private Integer getPlaceDept(Boolean isFirst, Boolean isFirstAchieve, CuMemberAchieve cuMemberAchieve, Long pkParent) {
|
||||||
int placeDept = EPlaceDept.LEFT_DEPT.getValue();
|
int placeDept = EPlaceDept.LEFT_DEPT.getValue();
|
||||||
|
@ -1662,4 +1533,170 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
@Override
|
||||||
|
public void orderReturnBatch(SaOrder saOrder, Long userId) {
|
||||||
|
// 当前时间
|
||||||
|
Date nowDate = new Date();
|
||||||
|
// // 交易明细数据 -- 入库使用
|
||||||
|
// List<CuMemberTrade> saveMemberTradeList = new ArrayList<>();
|
||||||
|
// // 会员账户map(key:会员ID, value:会员账户)
|
||||||
|
// Map<Long, CuMemberAccount> memberAccountMap = new HashMap<>();
|
||||||
|
// // 更新会员账户map(key:会员ID, value:会员账户) -- 入库使用
|
||||||
|
// Map<Long, CuMemberAccount> updateMemberAccountMap = new HashMap<>();
|
||||||
|
// // 需要清除会员列表
|
||||||
|
// List<Long> pkMemberList = new ArrayList<>();
|
||||||
|
//
|
||||||
|
// for (OrderReturnPaymentDTO paymentDTO : returnDTOList) {
|
||||||
|
// // 订单
|
||||||
|
// SaOrder saOrder = paymentDTO.getSaOrder();
|
||||||
|
// // 订单编号
|
||||||
|
// String orderCode = saOrder.getOrderCode();
|
||||||
|
// // 订单所属国
|
||||||
|
// int pkCountry = saOrder.getPkCountry();
|
||||||
|
// // 订单购买人
|
||||||
|
// long pkMember = saOrder.getPkCreator();
|
||||||
|
// // 记录会员ID,最后用于清除会员信息
|
||||||
|
// pkMemberList.add(pkMember);
|
||||||
|
//
|
||||||
|
// // 订单创建人账户
|
||||||
|
// CuMemberAccount cuMemberAccount = memberAccountMap.get(pkMember);
|
||||||
|
// if (null == cuMemberAccount) {
|
||||||
|
// // 不存在则查询
|
||||||
|
// cuMemberAccount = iCuMemberAccountService.queryCuMemberAccountByPkMember(pkMember);
|
||||||
|
// memberAccountMap.put(pkMember, cuMemberAccount);
|
||||||
|
// }
|
||||||
|
// // 更新会员账户
|
||||||
|
// CuMemberAccount updateMemberAccount = updateMemberAccountMap.get(pkMember);
|
||||||
|
// if (null == updateMemberAccount) {
|
||||||
|
// // 不存在则新建
|
||||||
|
// updateMemberAccount = new CuMemberAccount();
|
||||||
|
// updateMemberAccount.setPkMember(pkMember);
|
||||||
|
// updateMemberAccount.setPkCountry(pkCountry);
|
||||||
|
// updateMemberAccountMap.put(pkMember, updateMemberAccount);
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// // 订单所属专区扣币的第一位配置
|
||||||
|
// AreaCurrencyDTO areaCurrencyDTO = iAreaCurrencyServiceApi.queryAreaCurrencyByCondition(saOrder.getOrderType(), pkCountry).getData().get(0);
|
||||||
|
// // 专区扣币的第一位配置所用字段
|
||||||
|
// String accountField = MemberFieldConstants.ACCOUNT + areaCurrencyDTO.getFieldValue();
|
||||||
|
//
|
||||||
|
// if (EOrderPayType.WALLET.getValue() == saOrder.getPayType()) {
|
||||||
|
// // 钱包支付
|
||||||
|
// // 查询之前订单的支付明细
|
||||||
|
// List<CuMemberTrade> memberTradeList = iCuMemberTradeService.querySourceCodeLastTrade(pkMember, orderCode, null);
|
||||||
|
//
|
||||||
|
// // 获取所有账户配置ID
|
||||||
|
// List<Integer> pkAccountList = memberTradeList.stream().map(CuMemberTrade::getPkAccount).collect(Collectors.toList());
|
||||||
|
// // 账户对应账户配置map
|
||||||
|
// Map<Integer, BdAccount> accountMap = iAccountServiceApi.getAccountMap(pkAccountList).getData();
|
||||||
|
//
|
||||||
|
// // 根据之前交易明细,生成红冲交易数据
|
||||||
|
// for (CuMemberTrade cuMemberTrade : memberTradeList) {
|
||||||
|
// // 账户取值所用字段
|
||||||
|
// String field = MemberFieldConstants.ACCOUNT + accountMap.get(cuMemberTrade.getPkAccount()).getFieldValue();
|
||||||
|
// // 交易金额
|
||||||
|
// BigDecimal tradeAmount = cuMemberTrade.getTradeAmount().negate();
|
||||||
|
// // 交易前余额
|
||||||
|
// BigDecimal tradeBeforeBalance = ReflectUtils.invokeGetter(cuMemberAccount, field);
|
||||||
|
// // 交易余额
|
||||||
|
// BigDecimal tradeBalance = tradeBeforeBalance.add(tradeAmount);
|
||||||
|
//
|
||||||
|
// // 封装交易明细
|
||||||
|
// saveMemberTradeList.add(this.createMemberTradeByTrade(cuMemberTrade, ETradeType.ORDER_REFUND_ADJUST, ETradeClassify.REFUND, tradeBeforeBalance, tradeBalance, null, userId));
|
||||||
|
//
|
||||||
|
// // 原账户余额
|
||||||
|
// ReflectUtils.invokeSetter(cuMemberAccount, field, tradeBalance);
|
||||||
|
// // 设置更新账户变动余额
|
||||||
|
// ReflectUtils.invokeSetter(updateMemberAccount, field, tradeAmount);
|
||||||
|
// }
|
||||||
|
// } else {
|
||||||
|
// // 在线支付
|
||||||
|
// // 交易金额(订单金额 + 邮费)
|
||||||
|
// BigDecimal tradeAmount = saOrder.getOrderAmount().add(saOrder.getPostage());
|
||||||
|
// // 交易前余额
|
||||||
|
// BigDecimal tradeBeforeBalance = ReflectUtils.invokeGetter(cuMemberAccount, accountField);
|
||||||
|
// // 交易余额
|
||||||
|
// BigDecimal tradeBalance = tradeBeforeBalance.add(tradeAmount);
|
||||||
|
//
|
||||||
|
// // 封装交易流水
|
||||||
|
// saveMemberTradeList.add(this.createMemberTradeByOrder(saOrder, areaCurrencyDTO.getPkAccount(), ETradeType.RETURN_MONEY, ETradeClassify.REFUND, tradeBeforeBalance, tradeAmount, ETradeType.RETURN_MONEY.getLabel(), userId));
|
||||||
|
//
|
||||||
|
// // 原账户余额
|
||||||
|
// ReflectUtils.invokeSetter(cuMemberAccount, accountField, tradeBalance);
|
||||||
|
// // 设置更新账户余额
|
||||||
|
// ReflectUtils.invokeSetter(updateMemberAccount, accountField, tradeAmount);
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// // 变动金额
|
||||||
|
// BigDecimal changeAmount = paymentDTO.getReturnAmount();
|
||||||
|
// // 变动备注
|
||||||
|
// String changeRemark = paymentDTO.getReturnRemark();
|
||||||
|
//
|
||||||
|
// if (null != changeAmount && changeAmount.compareTo(BigDecimal.ZERO) != 0) {
|
||||||
|
// // 存在退返金额 并且不为0,则进行处理,退回给订单所属专区扣币第一位配置
|
||||||
|
// // 交易前余额
|
||||||
|
// BigDecimal tradeBeforeBalance = ReflectUtils.invokeGetter(cuMemberAccount, accountField);
|
||||||
|
//
|
||||||
|
// // 封装交易流水
|
||||||
|
// saveMemberTradeList.add(this.createMemberTradeByOrder(saOrder, areaCurrencyDTO.getPkAccount(), ETradeType.ORDER_REFUND_ADJUST, ETradeClassify.REFUND, tradeBeforeBalance, changeAmount, changeRemark, userId));
|
||||||
|
//
|
||||||
|
// // 变动前账户
|
||||||
|
// BigDecimal changeBeforeAccount = ReflectUtils.invokeGetter(updateMemberAccount, accountField);
|
||||||
|
// if (null == changeBeforeAccount) {
|
||||||
|
// // 如果为空,直接赋值
|
||||||
|
// ReflectUtils.invokeSetter(updateMemberAccount, accountField, changeAmount);
|
||||||
|
// } else {
|
||||||
|
// // 如果不为空,进行累加
|
||||||
|
// ReflectUtils.invokeSetter(updateMemberAccount, accountField, changeBeforeAccount.add(changeAmount));
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// // 批量插入会员明细
|
||||||
|
// iCuMemberTradeService.batchSaveTradeByMemberCode(saveMemberTradeList);
|
||||||
|
//
|
||||||
|
// // 批量更新会员余额
|
||||||
|
// for (Long key : updateMemberAccountMap.keySet()) {
|
||||||
|
// CuMemberAccount cuMemberAccount = updateMemberAccountMap.get(key);
|
||||||
|
// // 奖金账户有变化,需要同步处理 可提现奖金账户
|
||||||
|
// BigDecimal bonusBigDecimal = ReflectUtils.invokeGetter(cuMemberAccount, MemberFieldConstants.ACCOUNT + 4);
|
||||||
|
// if (null != bonusBigDecimal && bonusBigDecimal.compareTo(BigDecimal.ZERO) != 0) {
|
||||||
|
// // 奖金账户变化不为空,则需要同步处理 奖金可提现账户
|
||||||
|
// ReflectUtils.invokeSetter(cuMemberAccount, MemberFieldConstants.WITHDRAW_ACCOUNT + 4, bonusBigDecimal);
|
||||||
|
// }
|
||||||
|
// iCuMemberAccountService.updateMemberAccount(cuMemberAccount, userId);
|
||||||
|
// }
|
||||||
|
|
||||||
|
CuMemberAccount payMemberAccount = iCuMemberAccountService.queryCuMemberAccountByPkMember(saOrder.getPkCreator());
|
||||||
|
// 回退账号余额
|
||||||
|
cancelOrderBackAccount(userId, saOrder, payMemberAccount);
|
||||||
|
|
||||||
|
if (EOrderType.REGISTER_ORDER.getValue() == saOrder.getOrderType()
|
||||||
|
|| EOrderType.SPECIAL_REGISTER_ORDER.getValue() == saOrder.getOrderType()) {
|
||||||
|
// 注册类订单,需要更新用户为已注销状态
|
||||||
|
LambdaUpdateWrapper<CuMember> memberUpdateWrapper = new LambdaUpdateWrapper<>();
|
||||||
|
memberUpdateWrapper.eq(CuMember::getPkId, saOrder.getPkMember());
|
||||||
|
memberUpdateWrapper.set(CuMember::getPkModified, userId);
|
||||||
|
memberUpdateWrapper.set(CuMember::getModifiedTime, nowDate);
|
||||||
|
memberUpdateWrapper.set(CuMember::getCategory, ECategory.LOGGED_OUT.getValue());
|
||||||
|
iCuMemberService.update(memberUpdateWrapper);
|
||||||
|
// 添加会员信息修改记录
|
||||||
|
CuMemberChangeLog cuMemberChangeLog = new CuMemberChangeLog();
|
||||||
|
cuMemberChangeLog.setPkMember(saOrder.getPkMember());
|
||||||
|
cuMemberChangeLog.setChangeType(EMemberChangeType.ORDER_RETURN.getValue());
|
||||||
|
cuMemberChangeLog.setChangeFront("");
|
||||||
|
cuMemberChangeLog.setChangeAfter(ECategory.LOGGED_OUT.getLabel());
|
||||||
|
iCuMemberChangeLogService.save(cuMemberChangeLog);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 根据订单退业绩
|
||||||
|
Boolean bool = iMemberSettleBonusApi.chargeBackSaOrder(saOrder);
|
||||||
|
if (!bool) {
|
||||||
|
log.error("订单退单同意处理失败: 订单退业绩失败");
|
||||||
|
throw new BaseException(TransactionUtils.getContent(CommonMsgConstants.APPROVAL_ERROR) + ":" + "订单业务回退失败");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,9 +5,6 @@ import com.hzs.common.domain.member.detail.CuMemberChangeLog;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 会员信息修改记录 Mapper 接口
|
* 会员信息修改记录 Mapper 接口
|
||||||
*
|
|
||||||
* @author hzs
|
|
||||||
* @since 2023-01-12
|
|
||||||
*/
|
*/
|
||||||
public interface CuMemberChangeLogMapper extends BaseMapper<CuMemberChangeLog> {
|
public interface CuMemberChangeLogMapper extends BaseMapper<CuMemberChangeLog> {
|
||||||
|
|
||||||
|
|
|
@ -5,9 +5,6 @@ import com.hzs.common.domain.member.detail.CuMemberChangeLog;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 会员信息修改记录 服务类
|
* 会员信息修改记录 服务类
|
||||||
*
|
|
||||||
* @author hzs
|
|
||||||
* @since 2023-01-12
|
|
||||||
*/
|
*/
|
||||||
public interface ICuMemberChangeLogService extends IService<CuMemberChangeLog> {
|
public interface ICuMemberChangeLogService extends IService<CuMemberChangeLog> {
|
||||||
|
|
||||||
|
|
|
@ -8,9 +8,6 @@ import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 会员信息修改记录 服务实现类
|
* 会员信息修改记录 服务实现类
|
||||||
*
|
|
||||||
* @author hzs
|
|
||||||
* @since 2023-01-12
|
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class CuMemberChangeLogServiceImpl extends ServiceImpl<CuMemberChangeLogMapper, CuMemberChangeLog> implements ICuMemberChangeLogService {
|
public class CuMemberChangeLogServiceImpl extends ServiceImpl<CuMemberChangeLogMapper, CuMemberChangeLog> implements ICuMemberChangeLogService {
|
||||||
|
|
|
@ -71,7 +71,7 @@ dubbo:
|
||||||
threads: 400
|
threads: 400
|
||||||
cloud:
|
cloud:
|
||||||
# 订阅服务
|
# 订阅服务
|
||||||
subscribed-services: bd-system, bd-third, bd-sale
|
subscribed-services: bd-system, bd-third, bd-sale, bd-bonus
|
||||||
scan:
|
scan:
|
||||||
# dubbo 服务扫描包(开启之后才会对外提供服务)
|
# dubbo 服务扫描包(开启之后才会对外提供服务)
|
||||||
base-packages: com.hzs.member
|
base-packages: com.hzs.member
|
||||||
|
|
|
@ -66,11 +66,7 @@ import java.util.*;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 订单业务办理
|
* 订单业务办理
|
||||||
* @Author: jiang chao
|
|
||||||
* @Time: 2023/1/31 10:31
|
|
||||||
* @Classname: OrderBusinessController
|
|
||||||
* @PackageName: com.hzs.sale.order.controller.manager
|
|
||||||
*/
|
*/
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@RestController
|
@RestController
|
||||||
|
@ -82,7 +78,9 @@ public class SaOrderBusinessController extends BaseController {
|
||||||
@Autowired
|
@Autowired
|
||||||
private IOrderBusinessService iOrderBusinessService;
|
private IOrderBusinessService iOrderBusinessService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private ISaOrderSelfLogService saOrderSelfLogService;
|
private ISaOrderSelfLogService iSaOrderSelfLogService;
|
||||||
|
@Autowired
|
||||||
|
private ISaDeliverItemsService saDeliverItemsService;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private UserTokenService userTokenService;
|
private UserTokenService userTokenService;
|
||||||
|
@ -92,7 +90,7 @@ public class SaOrderBusinessController extends BaseController {
|
||||||
@DubboReference
|
@DubboReference
|
||||||
IBusinessCommission iBusinessCommission;
|
IBusinessCommission iBusinessCommission;
|
||||||
@DubboReference
|
@DubboReference
|
||||||
IProductServiceApi productServiceApi;
|
IProductServiceApi iProductServiceApi;
|
||||||
@DubboReference
|
@DubboReference
|
||||||
IUserServiceApi iUserServiceApi;
|
IUserServiceApi iUserServiceApi;
|
||||||
@DubboReference
|
@DubboReference
|
||||||
|
@ -102,14 +100,7 @@ public class SaOrderBusinessController extends BaseController {
|
||||||
@DubboReference
|
@DubboReference
|
||||||
ICurrencyServiceApi iCurrencyServiceApi;
|
ICurrencyServiceApi iCurrencyServiceApi;
|
||||||
@DubboReference
|
@DubboReference
|
||||||
ISystemConfigServiceApi systemConfigServiceApi;
|
ISystemConfigServiceApi iSystemConfigServiceApi;
|
||||||
|
|
||||||
private ISaDeliverItemsService saDeliverItemsService;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
public void setSaDeliverItemsService(ISaDeliverItemsService saDeliverItemsService) {
|
|
||||||
this.saDeliverItemsService = saDeliverItemsService;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 订单业务列表
|
* 订单业务列表
|
||||||
|
@ -138,7 +129,7 @@ public class SaOrderBusinessController extends BaseController {
|
||||||
// 获取行政区划map
|
// 获取行政区划map
|
||||||
Map<Integer, String> areaMap = iAreaServiceApi.getAreaMap(pkCountry).getData();
|
Map<Integer, String> areaMap = iAreaServiceApi.getAreaMap(pkCountry).getData();
|
||||||
// 获得当前国家是日结还是周结
|
// 获得当前国家是日结还是周结
|
||||||
String settleCycle = systemConfigServiceApi.getBonusSystemConfig(pkCountry, ESystemConfig.EXPAND_CAP_METHOD.getKey()).getData();
|
String settleCycle = iSystemConfigServiceApi.getBonusSystemConfig(pkCountry, ESystemConfig.EXPAND_CAP_METHOD.getKey()).getData();
|
||||||
|
|
||||||
for (OrderBusinessVO orderBusinessVO : list) {
|
for (OrderBusinessVO orderBusinessVO : list) {
|
||||||
// 省市区处理
|
// 省市区处理
|
||||||
|
@ -896,7 +887,7 @@ public class SaOrderBusinessController extends BaseController {
|
||||||
List<OrderCancelDetailVO> orderCancelDetailVOList = new ArrayList<>();
|
List<OrderCancelDetailVO> orderCancelDetailVOList = new ArrayList<>();
|
||||||
if (ECancelOrderType.OTHER_CANCEL_PART_ORDER.getValue() == orderCancelParam.getCancelType()) {
|
if (ECancelOrderType.OTHER_CANCEL_PART_ORDER.getValue() == orderCancelParam.getCancelType()) {
|
||||||
saOrderExt.getOrderItemsList().forEach(saOrderItems -> {
|
saOrderExt.getOrderItemsList().forEach(saOrderItems -> {
|
||||||
String productName = productServiceApi.getProduct(saOrderItems.getPkProduct()).getData().getProductName();
|
String productName = iProductServiceApi.getProduct(saOrderItems.getPkProduct()).getData().getProductName();
|
||||||
OrderCancelDetailVO orderCancelDetailVO = OrderCancelDetailVO.builder()
|
OrderCancelDetailVO orderCancelDetailVO = OrderCancelDetailVO.builder()
|
||||||
.pkId(saOrderItems.getPkId())
|
.pkId(saOrderItems.getPkId())
|
||||||
.productName(productName)
|
.productName(productName)
|
||||||
|
@ -992,7 +983,7 @@ public class SaOrderBusinessController extends BaseController {
|
||||||
}
|
}
|
||||||
Map<Long, String> productMap = new HashMap<>(ComputeUtil.mapInitCapacity(orderCancelParam.getOrderCancelDetailParamList().size()));
|
Map<Long, String> productMap = new HashMap<>(ComputeUtil.mapInitCapacity(orderCancelParam.getOrderCancelDetailParamList().size()));
|
||||||
saOrderExt.getOrderItemsList().forEach(saOrderItems -> {
|
saOrderExt.getOrderItemsList().forEach(saOrderItems -> {
|
||||||
String productName = productServiceApi.getProduct(saOrderItems.getPkProduct()).getData().getProductName();
|
String productName = iProductServiceApi.getProduct(saOrderItems.getPkProduct()).getData().getProductName();
|
||||||
productMap.put(saOrderItems.getPkId(), productName);
|
productMap.put(saOrderItems.getPkId(), productName);
|
||||||
});
|
});
|
||||||
orderCancelParam.getOrderCancelDetailParamList().forEach(orderCancelDetailParam -> {
|
orderCancelParam.getOrderCancelDetailParamList().forEach(orderCancelDetailParam -> {
|
||||||
|
@ -1004,7 +995,6 @@ public class SaOrderBusinessController extends BaseController {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 订单业务列表
|
* 订单业务列表
|
||||||
*
|
*
|
||||||
|
@ -1018,7 +1008,7 @@ public class SaOrderBusinessController extends BaseController {
|
||||||
if (selfPickUpParam.getEndDate() != null) {
|
if (selfPickUpParam.getEndDate() != null) {
|
||||||
selfPickUpParam.setEndDate(DateUtils.afterDate(1, ChronoUnit.DAYS, selfPickUpParam.getEndDate()));
|
selfPickUpParam.setEndDate(DateUtils.afterDate(1, ChronoUnit.DAYS, selfPickUpParam.getEndDate()));
|
||||||
}
|
}
|
||||||
List<SaOrderSelfLogExt> orderSelfLogList = saOrderSelfLogService.querySaOrderSelfLog(selfPickUpParam);
|
List<SaOrderSelfLogExt> orderSelfLogList = iSaOrderSelfLogService.querySaOrderSelfLog(selfPickUpParam);
|
||||||
return getDataTable(orderSelfLogList);
|
return getDataTable(orderSelfLogList);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1039,7 +1029,7 @@ public class SaOrderBusinessController extends BaseController {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
SaOrderSelfLog saOrderSelfLog = saOrderSelfLogService.querySaOrderSelfLogById(selfPickUpParam.getPkId());
|
SaOrderSelfLog saOrderSelfLog = iSaOrderSelfLogService.querySaOrderSelfLogById(selfPickUpParam.getPkId());
|
||||||
if (saOrderSelfLog == null || selfPickUpParam.getApproveStatus() <= saOrderSelfLog.getApproveStatus()) {
|
if (saOrderSelfLog == null || selfPickUpParam.getApproveStatus() <= saOrderSelfLog.getApproveStatus()) {
|
||||||
return AjaxResult.error(SaOrderMsgConstants.ORDER_EMPTY);
|
return AjaxResult.error(SaOrderMsgConstants.ORDER_EMPTY);
|
||||||
}
|
}
|
||||||
|
@ -1057,7 +1047,7 @@ public class SaOrderBusinessController extends BaseController {
|
||||||
return AjaxResult.error(TransactionUtils.getContent(SaOrderMsgConstants.ORDER_CURRENT_DATE));
|
return AjaxResult.error(TransactionUtils.getContent(SaOrderMsgConstants.ORDER_CURRENT_DATE));
|
||||||
}
|
}
|
||||||
selfPickUpParam.setPkCreator(SecurityUtils.getUserId());
|
selfPickUpParam.setPkCreator(SecurityUtils.getUserId());
|
||||||
saOrderSelfLogService.updateSaOrderSelfLog(selfPickUpParam, selfPickUpParam.getPkId());
|
iSaOrderSelfLogService.updateSaOrderSelfLog(selfPickUpParam, selfPickUpParam.getPkId());
|
||||||
return AjaxResult.success(selfPickUpParam);
|
return AjaxResult.success(selfPickUpParam);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1073,7 +1063,7 @@ public class SaOrderBusinessController extends BaseController {
|
||||||
if (selfPickUpParam.getPkId() == null) {
|
if (selfPickUpParam.getPkId() == null) {
|
||||||
return AjaxResult.error(SaOrderMsgConstants.ORDER_EMPTY);
|
return AjaxResult.error(SaOrderMsgConstants.ORDER_EMPTY);
|
||||||
}
|
}
|
||||||
SaOrderSelfLog saOrderSelfLog = saOrderSelfLogService.querySaOrderSelfLogById(selfPickUpParam.getPkId());
|
SaOrderSelfLog saOrderSelfLog = iSaOrderSelfLogService.querySaOrderSelfLogById(selfPickUpParam.getPkId());
|
||||||
if (saOrderSelfLog == null || EApproveRechargeStatus.WAIT.getValue() != saOrderSelfLog.getApproveStatus()) {
|
if (saOrderSelfLog == null || EApproveRechargeStatus.WAIT.getValue() != saOrderSelfLog.getApproveStatus()) {
|
||||||
return AjaxResult.error(SaOrderMsgConstants.ORDER_EMPTY);
|
return AjaxResult.error(SaOrderMsgConstants.ORDER_EMPTY);
|
||||||
}
|
}
|
||||||
|
@ -1134,11 +1124,9 @@ public class SaOrderBusinessController extends BaseController {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* 撤销订单
|
||||||
|
*
|
||||||
* @param orderQueryParam 订单参数
|
* @param orderQueryParam 订单参数
|
||||||
* @Description: 撤销订单
|
|
||||||
* @return: AjaxResult
|
|
||||||
* @Author: sui q
|
|
||||||
* @Date: 2022/8/27 16:56
|
|
||||||
*/
|
*/
|
||||||
@PostMapping("/validate-bind")
|
@PostMapping("/validate-bind")
|
||||||
public AjaxResult validateOrderBindBarCode(@RequestBody OrderQueryParam orderQueryParam) {
|
public AjaxResult validateOrderBindBarCode(@RequestBody OrderQueryParam orderQueryParam) {
|
||||||
|
|
|
@ -16,11 +16,7 @@ import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 订单业务办理服务
|
* 订单业务办理服务
|
||||||
* @Author: jiang chao
|
|
||||||
* @Time: 2023/2/1 17:49
|
|
||||||
* @Classname: IOrderBusinessService
|
|
||||||
* @PackageName: com.hzs.sale.order.service
|
|
||||||
*/
|
*/
|
||||||
public interface IOrderBusinessService {
|
public interface IOrderBusinessService {
|
||||||
|
|
||||||
|
@ -152,9 +148,6 @@ public interface IOrderBusinessService {
|
||||||
*
|
*
|
||||||
* @param orderCancelParam 参数
|
* @param orderCancelParam 参数
|
||||||
* @param businessCode 审核验证的时候需要去掉自己
|
* @param businessCode 审核验证的时候需要去掉自己
|
||||||
* @return: Boolean
|
|
||||||
* @Author: sui q
|
|
||||||
* @Date: 2023/3/22 11:40
|
|
||||||
*/
|
*/
|
||||||
ValidateCancelOrderVO validateCancelOrder(OrderCancelParam orderCancelParam, String... businessCode);
|
ValidateCancelOrderVO validateCancelOrder(OrderCancelParam orderCancelParam, String... businessCode);
|
||||||
|
|
||||||
|
@ -182,9 +175,6 @@ public interface IOrderBusinessService {
|
||||||
*
|
*
|
||||||
* @param approvalBusinessResultDTO 参数
|
* @param approvalBusinessResultDTO 参数
|
||||||
* @param approvalBusiness 审核类型
|
* @param approvalBusiness 审核类型
|
||||||
* @return: void
|
|
||||||
* @Author: sui q
|
|
||||||
* @Date: 2023/3/25 10:43
|
|
||||||
*/
|
*/
|
||||||
String cancelOrderApprovalAgree(ApprovalBusinessResultDTO approvalBusinessResultDTO, Integer approvalBusiness);
|
String cancelOrderApprovalAgree(ApprovalBusinessResultDTO approvalBusinessResultDTO, Integer approvalBusiness);
|
||||||
|
|
||||||
|
@ -193,9 +183,6 @@ public interface IOrderBusinessService {
|
||||||
*
|
*
|
||||||
* @param approvalBusinessResultDTO 参数
|
* @param approvalBusinessResultDTO 参数
|
||||||
* @param approvalBusiness 审核类型
|
* @param approvalBusiness 审核类型
|
||||||
* @return: void
|
|
||||||
* @Author: sui q
|
|
||||||
* @Date: 2023/3/25 10:43
|
|
||||||
*/
|
*/
|
||||||
String cancelOrderApprovalReject(ApprovalBusinessResultDTO approvalBusinessResultDTO, Integer approvalBusiness);
|
String cancelOrderApprovalReject(ApprovalBusinessResultDTO approvalBusinessResultDTO, Integer approvalBusiness);
|
||||||
|
|
||||||
|
@ -232,11 +219,7 @@ public interface IOrderBusinessService {
|
||||||
EAgentApprovalStatus approvalStatus, String remark);
|
EAgentApprovalStatus approvalStatus, String remark);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @description: 校验自助撤单
|
* 校验自助撤单
|
||||||
* @author: zhang jing
|
|
||||||
* @date: 2023/11/21 15:24
|
|
||||||
* @param: [orderCancelParam, businessCode]
|
|
||||||
* @return: com.hzs.sale.order.vo.ValidateCancelOrderVO
|
|
||||||
**/
|
**/
|
||||||
MyOrderVO checkSelfOrder(Long userId, MyOrderVO myOrderVO);
|
MyOrderVO checkSelfOrder(Long userId, MyOrderVO myOrderVO);
|
||||||
|
|
||||||
|
|
|
@ -4,8 +4,8 @@ import cn.hutool.core.bean.BeanUtil;
|
||||||
import cn.hutool.core.collection.CollectionUtil;
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
import cn.hutool.json.JSONUtil;
|
import cn.hutool.json.JSONUtil;
|
||||||
import com.alibaba.fastjson2.JSONObject;
|
import com.alibaba.fastjson2.JSONObject;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
import com.hzs.activity.pick.service.IAcPickService;
|
import com.hzs.activity.pick.service.IAcPickService;
|
||||||
import com.hzs.bonus.settle.IMemberSettleBonusApi;
|
import com.hzs.bonus.settle.IMemberSettleBonusApi;
|
||||||
import com.hzs.common.core.constant.*;
|
import com.hzs.common.core.constant.*;
|
||||||
|
@ -52,7 +52,6 @@ import com.hzs.sale.order.vo.OrderCancelRegisterMemberVO;
|
||||||
import com.hzs.sale.order.vo.ValidateCancelOrderVO;
|
import com.hzs.sale.order.vo.ValidateCancelOrderVO;
|
||||||
import com.hzs.sale.product.service.IBdProductService;
|
import com.hzs.sale.product.service.IBdProductService;
|
||||||
import com.hzs.sale.pub.dto.OrderDeductionDTO;
|
import com.hzs.sale.pub.dto.OrderDeductionDTO;
|
||||||
import com.hzs.sale.wares.service.IBdWaresService;
|
|
||||||
import com.hzs.system.base.IAreaServiceApi;
|
import com.hzs.system.base.IAreaServiceApi;
|
||||||
import com.hzs.system.base.ICurrencyServiceApi;
|
import com.hzs.system.base.ICurrencyServiceApi;
|
||||||
import com.hzs.system.base.ISystemConfigServiceApi;
|
import com.hzs.system.base.ISystemConfigServiceApi;
|
||||||
|
@ -76,11 +75,7 @@ import java.util.*;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 订单业务办理服务
|
* 订单业务办理服务
|
||||||
* @Author: jiang chao
|
|
||||||
* @Time: 2023/2/1 17:49
|
|
||||||
* @Classname: OrderBusinessServiceImpl
|
|
||||||
* @PackageName: com.hzs.sale.order.service.impl
|
|
||||||
*/
|
*/
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@Service
|
@Service
|
||||||
|
@ -114,7 +109,7 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService {
|
||||||
@DubboReference
|
@DubboReference
|
||||||
IMemberAccountServiceApi iMemberAccountServiceApi;
|
IMemberAccountServiceApi iMemberAccountServiceApi;
|
||||||
@DubboReference
|
@DubboReference
|
||||||
IMemberServiceApi memberServiceApi;
|
IMemberServiceApi iMemberServiceApi;
|
||||||
@DubboReference
|
@DubboReference
|
||||||
ICurrencyServiceApi iCurrencyServiceApi;
|
ICurrencyServiceApi iCurrencyServiceApi;
|
||||||
@DubboReference
|
@DubboReference
|
||||||
|
@ -122,7 +117,7 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService {
|
||||||
@DubboReference
|
@DubboReference
|
||||||
IAccountServiceApi iAccountServiceApi;
|
IAccountServiceApi iAccountServiceApi;
|
||||||
@DubboReference
|
@DubboReference
|
||||||
ISystemConfigServiceApi systemConfigServiceApi;
|
ISystemConfigServiceApi iSystemConfigServiceApi;
|
||||||
@DubboReference
|
@DubboReference
|
||||||
IAreaServiceApi iAreaServiceApi;
|
IAreaServiceApi iAreaServiceApi;
|
||||||
|
|
||||||
|
@ -321,7 +316,7 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService {
|
||||||
|
|
||||||
// 扣款业务处理
|
// 扣款业务处理
|
||||||
if (null != businessCommissionDTO) {
|
if (null != businessCommissionDTO) {
|
||||||
R tmpR = iBusinessCommission.businessCommissionSubmit(businessCommissionDTO);
|
R<?> tmpR = iBusinessCommission.businessCommissionSubmit(businessCommissionDTO);
|
||||||
if (!tmpR.isSuccess()) {
|
if (!tmpR.isSuccess()) {
|
||||||
log.error("订单业务处理扣款失败: {}", tmpR.getMsg());
|
log.error("订单业务处理扣款失败: {}", tmpR.getMsg());
|
||||||
throw new ServiceException(tmpR.getMsg());
|
throw new ServiceException(tmpR.getMsg());
|
||||||
|
@ -518,7 +513,7 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService {
|
||||||
// 更新订单修改记录成功
|
// 更新订单修改记录成功
|
||||||
|
|
||||||
// 驳回业务处理(扣款回退)
|
// 驳回业务处理(扣款回退)
|
||||||
R resultR = iBusinessCommission.businessCommissionReject(BusinessCommissionDTO.builder()
|
R<?> resultR = iBusinessCommission.businessCommissionReject(BusinessCommissionDTO.builder()
|
||||||
.pkCountry(pkCountry)
|
.pkCountry(pkCountry)
|
||||||
.pkCreator(userId)
|
.pkCreator(userId)
|
||||||
.tradeType(EApprovalBusiness.ORDER_CHANGE_ADDRESS.getValue())
|
.tradeType(EApprovalBusiness.ORDER_CHANGE_ADDRESS.getValue())
|
||||||
|
@ -550,11 +545,11 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService {
|
||||||
if (CollectionUtil.isNotEmpty(saDeliverItemsList)) {
|
if (CollectionUtil.isNotEmpty(saDeliverItemsList)) {
|
||||||
// 删除发货明细数据
|
// 删除发货明细数据
|
||||||
List<Long> deliverItemsIdList = saDeliverItemsList.stream().map(SaDeliverItems::getPkId).collect(Collectors.toList());
|
List<Long> deliverItemsIdList = saDeliverItemsList.stream().map(SaDeliverItems::getPkId).collect(Collectors.toList());
|
||||||
UpdateWrapper<SaDeliverItems> updateWrapper = new UpdateWrapper<>();
|
LambdaUpdateWrapper<SaDeliverItems> updateWrapper = new LambdaUpdateWrapper<>();
|
||||||
updateWrapper.in(SystemFieldConstants.PK_ID, deliverItemsIdList);
|
updateWrapper.in(SaDeliverItems::getPkId, deliverItemsIdList);
|
||||||
updateWrapper.set(SystemFieldConstants.DEL_FLAG, EDelFlag.DELETE.getValue());
|
updateWrapper.set(SaDeliverItems::getDelFlag, EDelFlag.DELETE.getValue());
|
||||||
updateWrapper.set(SystemFieldConstants.PK_MODIFIED, userId);
|
updateWrapper.set(SaDeliverItems::getPkModified, userId);
|
||||||
updateWrapper.set(SystemFieldConstants.MODIFIED_TIME, nowDate);
|
updateWrapper.set(SaDeliverItems::getModifiedTime, nowDate);
|
||||||
iSaDeliverItemsService.update(updateWrapper);
|
iSaDeliverItemsService.update(updateWrapper);
|
||||||
|
|
||||||
// 删除发货明细数据后,处理是否需要删除发货单
|
// 删除发货明细数据后,处理是否需要删除发货单
|
||||||
|
@ -646,9 +641,9 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService {
|
||||||
saOrder, afterData, userId, pkCountry, nowDate);
|
saOrder, afterData, userId, pkCountry, nowDate);
|
||||||
|
|
||||||
// 添加校验,订单详情是否已经发货
|
// 添加校验,订单详情是否已经发货
|
||||||
QueryWrapper<SaOrderItems> orderItemsQueryWrapper = new QueryWrapper<>();
|
LambdaQueryWrapper<SaOrderItems> orderItemsQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
orderItemsQueryWrapper.in(SystemFieldConstants.PK_ID, changeIdList);
|
orderItemsQueryWrapper.in(SaOrderItems::getPkId, changeIdList);
|
||||||
orderItemsQueryWrapper.in("ORDER_STATUS", EOrderStatus.DELIVERED.getValue(), EOrderStatus.RECEIVED.getValue());
|
orderItemsQueryWrapper.in(SaOrderItems::getOrderStatus, EOrderStatus.DELIVERED.getValue(), EOrderStatus.RECEIVED.getValue());
|
||||||
if (iSaOrderItemsService.count(orderItemsQueryWrapper) > 0) {
|
if (iSaOrderItemsService.count(orderItemsQueryWrapper) > 0) {
|
||||||
// 订单已经发货,不能进行调换货物
|
// 订单已经发货,不能进行调换货物
|
||||||
return "订单已经发货,不能进行调换货物";
|
return "订单已经发货,不能进行调换货物";
|
||||||
|
@ -674,13 +669,13 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService {
|
||||||
|
|
||||||
if (orderCostFlag) {
|
if (orderCostFlag) {
|
||||||
// 订单调换货物扣费处理
|
// 订单调换货物扣费处理
|
||||||
R resultR = iMemberAccountServiceApi.orderChangeProduct(saOrder, updateOrder, userId, dto);
|
R<?> resultR = iMemberAccountServiceApi.orderChangeProduct(saOrder, updateOrder, userId, dto);
|
||||||
if (!resultR.isSuccess()) {
|
if (!resultR.isSuccess()) {
|
||||||
throw new BaseException(resultR.getMsg());
|
throw new BaseException(resultR.getMsg());
|
||||||
}
|
}
|
||||||
} else if (null != dto) {
|
} else if (null != dto) {
|
||||||
// 订单总价未变化,但是需要手续费
|
// 订单总价未变化,但是需要手续费
|
||||||
R resultR = iMemberAccountServiceApi.orderChangeProduct(null, null, userId, dto);
|
R<?> resultR = iMemberAccountServiceApi.orderChangeProduct(null, null, userId, dto);
|
||||||
if (!resultR.isSuccess()) {
|
if (!resultR.isSuccess()) {
|
||||||
throw new BaseException(resultR.getMsg());
|
throw new BaseException(resultR.getMsg());
|
||||||
}
|
}
|
||||||
|
@ -777,7 +772,7 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService {
|
||||||
updateOrder.setModifiedTime(nowDate);
|
updateOrder.setModifiedTime(nowDate);
|
||||||
|
|
||||||
// 校验订单支付金额是否足够
|
// 校验订单支付金额是否足够
|
||||||
R resultR = iMemberAccountServiceApi.orderChangeProductPre(saOrder, updateOrder);
|
R<?> resultR = iMemberAccountServiceApi.orderChangeProductPre(saOrder, updateOrder);
|
||||||
if (!resultR.isSuccess()) {
|
if (!resultR.isSuccess()) {
|
||||||
return resultR.getMsg();
|
return resultR.getMsg();
|
||||||
}
|
}
|
||||||
|
@ -861,9 +856,9 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService {
|
||||||
saOrder, afterData, userId, pkCountry, nowDate);
|
saOrder, afterData, userId, pkCountry, nowDate);
|
||||||
|
|
||||||
// 添加校验,订单详情是否已经发货
|
// 添加校验,订单详情是否已经发货
|
||||||
QueryWrapper<SaOrderItems> orderItemsQueryWrapper = new QueryWrapper<>();
|
LambdaQueryWrapper<SaOrderItems> orderItemsQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
orderItemsQueryWrapper.in(SystemFieldConstants.PK_ID, changeIdList);
|
orderItemsQueryWrapper.in(SaOrderItems::getPkId, changeIdList);
|
||||||
orderItemsQueryWrapper.in("ORDER_STATUS", EOrderStatus.DELIVERED.getValue(), EOrderStatus.RECEIVED.getValue());
|
orderItemsQueryWrapper.in(SaOrderItems::getOrderStatus, EOrderStatus.DELIVERED.getValue(), EOrderStatus.RECEIVED.getValue());
|
||||||
if (iSaOrderItemsService.count(orderItemsQueryWrapper) > 0) {
|
if (iSaOrderItemsService.count(orderItemsQueryWrapper) > 0) {
|
||||||
// 订单已经发货,不能进行调换货物
|
// 订单已经发货,不能进行调换货物
|
||||||
return "订单已经发货,不能进行调换货物";
|
return "订单已经发货,不能进行调换货物";
|
||||||
|
@ -890,7 +885,7 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService {
|
||||||
|
|
||||||
if (orderCostFlag) {
|
if (orderCostFlag) {
|
||||||
// 订单调换货物扣费处理
|
// 订单调换货物扣费处理
|
||||||
R resultR = iMemberAccountServiceApi.orderChangeProduct(saOrder, updateOrder, userId, null);
|
R<?> resultR = iMemberAccountServiceApi.orderChangeProduct(saOrder, updateOrder, userId, null);
|
||||||
if (!resultR.isSuccess()) {
|
if (!resultR.isSuccess()) {
|
||||||
log.error("订单调换货物同意处理失败: {}", resultR.getMsg());
|
log.error("订单调换货物同意处理失败: {}", resultR.getMsg());
|
||||||
throw new BaseException(TransactionUtils.getContent(CommonMsgConstants.APPROVAL_ERROR) + ":" + resultR.getMsg());
|
throw new BaseException(TransactionUtils.getContent(CommonMsgConstants.APPROVAL_ERROR) + ":" + resultR.getMsg());
|
||||||
|
@ -939,7 +934,7 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService {
|
||||||
if (EYesNo.NO.getIntValue() == afterData.getPayFlag()) {
|
if (EYesNo.NO.getIntValue() == afterData.getPayFlag()) {
|
||||||
// 不免付,驳回需要退款
|
// 不免付,驳回需要退款
|
||||||
// 驳回业务处理(扣款回退)
|
// 驳回业务处理(扣款回退)
|
||||||
R resultR = iBusinessCommission.businessCommissionReject(BusinessCommissionDTO.builder()
|
R<?> resultR = iBusinessCommission.businessCommissionReject(BusinessCommissionDTO.builder()
|
||||||
.pkCountry(pkCountry)
|
.pkCountry(pkCountry)
|
||||||
.pkCreator(userId)
|
.pkCreator(userId)
|
||||||
.tradeType(EApprovalBusiness.ORDER_CHANGE_PRODUCT.getValue())
|
.tradeType(EApprovalBusiness.ORDER_CHANGE_PRODUCT.getValue())
|
||||||
|
@ -979,13 +974,13 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService {
|
||||||
if (CollectionUtil.isNotEmpty(saDeliverItemsList)) {
|
if (CollectionUtil.isNotEmpty(saDeliverItemsList)) {
|
||||||
// 删除发货明细数据
|
// 删除发货明细数据
|
||||||
List<Long> deliverItemsIdList = saDeliverItemsList.stream().map(SaDeliverItems::getPkId).collect(Collectors.toList());
|
List<Long> deliverItemsIdList = saDeliverItemsList.stream().map(SaDeliverItems::getPkId).collect(Collectors.toList());
|
||||||
UpdateWrapper<SaDeliverItems> deliverItemsUpdateWrapper = new UpdateWrapper<>();
|
LambdaUpdateWrapper<SaDeliverItems> deliverItemsUpdateWrapper = new LambdaUpdateWrapper<>();
|
||||||
deliverItemsUpdateWrapper.in(SystemFieldConstants.PK_ID, deliverItemsIdList);
|
deliverItemsUpdateWrapper.in(SaDeliverItems::getPkId, deliverItemsIdList);
|
||||||
deliverItemsUpdateWrapper.set(SystemFieldConstants.DEL_FLAG, EDelFlag.DELETE.getValue());
|
deliverItemsUpdateWrapper.set(SaDeliverItems::getDelFlag, EDelFlag.DELETE.getValue());
|
||||||
deliverItemsUpdateWrapper.set(SystemFieldConstants.PK_MODIFIED, userId);
|
deliverItemsUpdateWrapper.set(SaDeliverItems::getPkModified, userId);
|
||||||
deliverItemsUpdateWrapper.set(SystemFieldConstants.MODIFIED_TIME, nowDate);
|
deliverItemsUpdateWrapper.set(SaDeliverItems::getModifiedTime, nowDate);
|
||||||
// 逻辑删除旧发货单明细,并标记为换货
|
// 逻辑删除旧发货单明细,并标记为换货
|
||||||
deliverItemsUpdateWrapper.set("EXCHANGE_GOODS", EYesNo.YES.getIntValue());
|
deliverItemsUpdateWrapper.set(SaDeliverItems::getExchangeGoods, EYesNo.YES.getIntValue());
|
||||||
iSaDeliverItemsService.update(deliverItemsUpdateWrapper);
|
iSaDeliverItemsService.update(deliverItemsUpdateWrapper);
|
||||||
|
|
||||||
// 删除发货明细数据后,处理是否需要删除发货单
|
// 删除发货明细数据后,处理是否需要删除发货单
|
||||||
|
@ -996,16 +991,16 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService {
|
||||||
}
|
}
|
||||||
if (CollectionUtil.isNotEmpty(changeIdList)) {
|
if (CollectionUtil.isNotEmpty(changeIdList)) {
|
||||||
// 根据修改的订单明细ID,删除 已付款、已合单 之外的订单明细
|
// 根据修改的订单明细ID,删除 已付款、已合单 之外的订单明细
|
||||||
UpdateWrapper<SaOrderItems> orderItemsUpdateWrapper = new UpdateWrapper<>();
|
LambdaUpdateWrapper<SaOrderItems> orderItemsUpdateWrapper = new LambdaUpdateWrapper<>();
|
||||||
orderItemsUpdateWrapper.eq("PK_ORDER", orderPkId);
|
orderItemsUpdateWrapper.eq(SaOrderItems::getPkOrder, orderPkId);
|
||||||
orderItemsUpdateWrapper.notIn(SystemFieldConstants.PK_ID, changeIdList);
|
orderItemsUpdateWrapper.notIn(SaOrderItems::getPkId, changeIdList);
|
||||||
orderItemsUpdateWrapper.in("ORDER_STATUS", Arrays.asList(EOrderStatus.PAY.getValue(), EOrderStatus.SHIPPING.getValue()));
|
orderItemsUpdateWrapper.in(SaOrderItems::getOrderStatus, Arrays.asList(EOrderStatus.PAY.getValue(), EOrderStatus.SHIPPING.getValue()));
|
||||||
orderItemsUpdateWrapper.eq(SystemFieldConstants.DEL_FLAG, EDelFlag.UN_DELETE.getValue());
|
orderItemsUpdateWrapper.eq(SaOrderItems::getDelFlag, EDelFlag.UN_DELETE.getValue());
|
||||||
orderItemsUpdateWrapper.set(SystemFieldConstants.DEL_FLAG, EDelFlag.DELETE.getValue());
|
orderItemsUpdateWrapper.set(SaOrderItems::getDelFlag, EDelFlag.DELETE.getValue());
|
||||||
// 逻辑删除旧订单明细,并标记为换货
|
// 逻辑删除旧订单明细,并标记为换货
|
||||||
orderItemsUpdateWrapper.set("EXCHANGE_GOODS", EYesNo.YES.getIntValue());
|
orderItemsUpdateWrapper.set(SaOrderItems::getExchangeGoods, EYesNo.YES.getIntValue());
|
||||||
orderItemsUpdateWrapper.set(SystemFieldConstants.PK_MODIFIED, userId);
|
orderItemsUpdateWrapper.set(SaOrderItems::getPkModified, userId);
|
||||||
orderItemsUpdateWrapper.set(SystemFieldConstants.MODIFIED_TIME, nowDate);
|
orderItemsUpdateWrapper.set(SaOrderItems::getModifiedTime, nowDate);
|
||||||
iSaOrderItemsService.update(orderItemsUpdateWrapper);
|
iSaOrderItemsService.update(orderItemsUpdateWrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1078,31 +1073,9 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService {
|
||||||
// 订单退单编号列表
|
// 订单退单编号列表
|
||||||
List<String> orderCodeList = param.getOrderReturnParamList().stream().map(OrderReturnParam::getOrderCode).collect(Collectors.toList());
|
List<String> orderCodeList = param.getOrderReturnParamList().stream().map(OrderReturnParam::getOrderCode).collect(Collectors.toList());
|
||||||
|
|
||||||
// 2023.09.22 根据需求调整,目前只能撤单个用户下的非注册单或者所有单,涉及金额等不需要处理,只需要处理业绩上传
|
LambdaQueryWrapper<SaOrder> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
queryWrapper.in(SaOrder::getOrderCode, orderCodeList);
|
||||||
// // 订单前置校验等
|
queryWrapper.eq(SaOrder::getPkCountry, pkCountry);
|
||||||
// ValidateCancelOrderVO validateCancelOrderVO = this.validateCancelOrder(OrderCancelParam.builder()
|
|
||||||
// .cancelType(ECancelOrderType.MERGE_RETREAT_ORDER.getValue())
|
|
||||||
// .orderCode(orderReturnParamList.get(0).getOrderCode())
|
|
||||||
// .pkCountry(pkCountry)
|
|
||||||
// .build());
|
|
||||||
// if (null == validateCancelOrderVO.getSaOrderExt()) {
|
|
||||||
// return validateCancelOrderVO.getMsg();
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// // 合并退单伞下订单
|
|
||||||
// Map<Long, SaOrderExt> tmpSaOrderMap = validateCancelOrderVO.getSaOrderMap();
|
|
||||||
// // 将退单人本身单号加入到map中
|
|
||||||
// tmpSaOrderMap.put(validateCancelOrderVO.getSaOrderExt().getPkId(), validateCancelOrderVO.getSaOrderExt());
|
|
||||||
// // 订单转为以orderCode为key的map
|
|
||||||
// Map<String, SaOrder> saOrderMap = new HashMap<>();
|
|
||||||
// for (Long key : tmpSaOrderMap.keySet()) {
|
|
||||||
// SaOrder saOrder = tmpSaOrderMap.get(key);
|
|
||||||
// saOrderMap.put(saOrder.getOrderCode(), saOrder);
|
|
||||||
// }
|
|
||||||
QueryWrapper<SaOrder> queryWrapper = new QueryWrapper<>();
|
|
||||||
queryWrapper.in("ORDER_CODE", orderCodeList);
|
|
||||||
queryWrapper.eq(SystemFieldConstants.PK_COUNTRY, pkCountry);
|
|
||||||
List<SaOrder> saOrderList = iSaOrderService.list(queryWrapper);
|
List<SaOrder> saOrderList = iSaOrderService.list(queryWrapper);
|
||||||
if (CollectionUtil.isEmpty(saOrderList)) {
|
if (CollectionUtil.isEmpty(saOrderList)) {
|
||||||
return "订单不存在";
|
return "订单不存在";
|
||||||
|
@ -1111,7 +1084,7 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService {
|
||||||
SaOrder saOrder = saOrderList.get(0);
|
SaOrder saOrder = saOrderList.get(0);
|
||||||
|
|
||||||
// 获得当前国家是日结还是周结
|
// 获得当前国家是日结还是周结
|
||||||
String settleCycle = systemConfigServiceApi.getBonusSystemConfig(pkCountry, ESystemConfig.EXPAND_CAP_METHOD.getKey()).getData();
|
String settleCycle = iSystemConfigServiceApi.getBonusSystemConfig(pkCountry, ESystemConfig.EXPAND_CAP_METHOD.getKey()).getData();
|
||||||
// 控制是否显示退单
|
// 控制是否显示退单
|
||||||
if (Objects.equals(Integer.toString(EExpandCapMethod.WEEK_SETTLE.getValue()), settleCycle)) {
|
if (Objects.equals(Integer.toString(EExpandCapMethod.WEEK_SETTLE.getValue()), settleCycle)) {
|
||||||
// 周结
|
// 周结
|
||||||
|
@ -1209,107 +1182,37 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService {
|
||||||
// 订单修改后实体
|
// 订单修改后实体
|
||||||
OrderReturnDTO orderReturnDTO = JSONUtil.toBean(saOrderChargeLog.getAfterData(), OrderReturnDTO.class);
|
OrderReturnDTO orderReturnDTO = JSONUtil.toBean(saOrderChargeLog.getAfterData(), OrderReturnDTO.class);
|
||||||
|
|
||||||
QueryWrapper<SaOrder> queryWrapper = new QueryWrapper<>();
|
LambdaQueryWrapper<SaOrder> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
queryWrapper.eq("ORDER_CODE", orderReturnDTO.getOrderCode());
|
queryWrapper.eq(SaOrder::getOrderCode, orderReturnDTO.getOrderCode());
|
||||||
SaOrder saOrder = iSaOrderService.getOne(queryWrapper);
|
SaOrder saOrder = iSaOrderService.getOne(queryWrapper);
|
||||||
|
|
||||||
// 2023.09.22 新需求,目前两种类型处理方式一致,此处暂时注释掉
|
|
||||||
// if (2 == orderReturnDTO.getReturnType()) {
|
|
||||||
// // 合并退单,有多单批量操作
|
|
||||||
// // 订单前置校验等
|
|
||||||
// ValidateCancelOrderVO validateCancelOrderVO = this.validateCancelOrder(OrderCancelParam.builder()
|
|
||||||
// .cancelType(ECancelOrderType.MERGE_RETREAT_ORDER.getValue())
|
|
||||||
// .orderCode(orderReturnDTO.getOrderCode())
|
|
||||||
// .pkCountry(pkCountry)
|
|
||||||
// .build());
|
|
||||||
// if (null == validateCancelOrderVO.getSaOrderExt()) {
|
|
||||||
// log.error("订单退单同意处理失败: {}", validateCancelOrderVO.getMsg());
|
|
||||||
// throw new BaseException(TransactionUtils.getContent(CommonMsgConstants.APPROVAL_ERROR) + ":" + validateCancelOrderVO.getMsg());
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// // 需要删除的订单ID列表
|
|
||||||
// List<Long> orderIdList = new ArrayList<>();
|
|
||||||
//
|
|
||||||
// // 合并退单伞下订单
|
|
||||||
// Map<Long, SaOrderExt> tmpSaOrderMap = validateCancelOrderVO.getSaOrderMap();
|
|
||||||
// // 将退单人本身单号加入到map中
|
|
||||||
// tmpSaOrderMap.put(validateCancelOrderVO.getSaOrderExt().getPkId(), validateCancelOrderVO.getSaOrderExt());
|
|
||||||
// // 订单转为以orderCode为key的map
|
|
||||||
// Map<String, SaOrder> saOrderMap = new HashMap<>();
|
|
||||||
// for (Long key : tmpSaOrderMap.keySet()) {
|
|
||||||
// SaOrder saOrder = tmpSaOrderMap.get(key);
|
|
||||||
// saOrderMap.put(saOrder.getOrderCode(), saOrder);
|
|
||||||
//
|
|
||||||
// orderIdList.add(saOrder.getPkId());
|
|
||||||
// }
|
|
||||||
|
|
||||||
// // 调用扣款DTO列表
|
|
||||||
// List<OrderReturnPaymentDTO> paymentDTOList = new ArrayList<>();
|
|
||||||
// for (SaOrderChargeLog orderChargeLog : saOrderChargeLogList) {
|
|
||||||
// OrderReturnDTO returnDTO = JSONUtil.toBean(orderChargeLog.getAfterData(), OrderReturnDTO.class);
|
|
||||||
// paymentDTOList.add(OrderReturnPaymentDTO.builder()
|
|
||||||
// .orderCode(returnDTO.getOrderCode())
|
|
||||||
// .returnAmount(returnDTO.getReturnAmount())
|
|
||||||
// .returnRemark(returnDTO.getReturnRemark())
|
|
||||||
// .saOrder(saOrder)
|
|
||||||
// .build());
|
|
||||||
// }
|
|
||||||
|
|
||||||
if (this.updateSaOrderChargeLog(EApprovalBusiness.ORDER_RETURN, approvalBusinessResultDTO.getBusinessCode(), pkCountry, userId, EAgentApprovalStatus.APPROVED, approvalBusinessResultDTO.getApproveRemark())) {
|
if (this.updateSaOrderChargeLog(EApprovalBusiness.ORDER_RETURN, approvalBusinessResultDTO.getBusinessCode(), pkCountry, userId, EAgentApprovalStatus.APPROVED, approvalBusinessResultDTO.getApproveRemark())) {
|
||||||
// 处理订单修改记录成功
|
// 处理订单修改记录成功
|
||||||
|
|
||||||
// 订单、订单明细状态变更为已删除
|
// 订单、订单明细状态变更为已删除
|
||||||
iSaOrderService.deleteOrderAndItems(Collections.singletonList(saOrder.getPkId()), userId, pkCountry);
|
iSaOrderService.deleteOrderAndItems(Collections.singletonList(saOrder.getPkId()), userId, pkCountry);
|
||||||
|
|
||||||
// 根据订单退业绩
|
if (EOrderType.SPECIAL_UPGRADE_ORDER.getValue() == saOrder.getOrderType()) {
|
||||||
Boolean bool = iMemberSettleBonusApi.chargeBackSaOrder(saOrder);
|
// 乐学升级需要扣除代金券
|
||||||
if (!bool) {
|
|
||||||
log.error("订单退单同意处理失败: 订单退业绩失败");
|
|
||||||
throw new BaseException(TransactionUtils.getContent(CommonMsgConstants.APPROVAL_ERROR) + ":" + "订单业务回退失败");
|
|
||||||
}
|
|
||||||
if (EOrderType.REGISTER_ORDER.getValue() == saOrder.getOrderType()
|
|
||||||
|| EOrderType.SPECIAL_REGISTER_ORDER.getValue() == saOrder.getOrderType()
|
|
||||||
) {
|
|
||||||
// 注册类退单,取消注册会员
|
|
||||||
iMemberAccountServiceApi.orderReturnMember(Collections.singletonList(saOrder.getPkMember()), userId);
|
|
||||||
} else if (EOrderType.SPECIAL_UPGRADE_ORDER.getValue() == saOrder.getOrderType()) {
|
|
||||||
// 乐学升级需要抽除代金券
|
|
||||||
iAcPickService.deductionsCouponByOrder(saOrder.getPkMember(), saOrder.getPkId());
|
iAcPickService.deductionsCouponByOrder(saOrder.getPkMember(), saOrder.getPkId());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// // 根据订单退业绩
|
||||||
|
// Boolean bool = iMemberSettleBonusApi.chargeBackSaOrder(saOrder);
|
||||||
|
// if (!bool) {
|
||||||
|
// log.error("订单退单同意处理失败: 订单退业绩失败");
|
||||||
|
// throw new BaseException(TransactionUtils.getContent(CommonMsgConstants.APPROVAL_ERROR) + ":" + "订单业务回退失败");
|
||||||
|
// }
|
||||||
|
|
||||||
|
// 根据订单原路退回支付信息
|
||||||
|
R<?> resultR = iMemberAccountServiceApi.orderReturnBatch(saOrder, userId);
|
||||||
|
if (!resultR.isSuccess()) {
|
||||||
|
log.error("订单退单同意处理失败: {}", resultR.getMsg());
|
||||||
|
throw new BaseException(TransactionUtils.getContent(CommonMsgConstants.APPROVAL_ERROR) + ":" + resultR.getMsg());
|
||||||
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
// // 根据订单原路退回支付信息
|
|
||||||
// R resultR = iMemberAccountServiceApi.orderReturnBatch(paymentDTOList, userId);
|
|
||||||
// if (!resultR.isSuccess()) {
|
|
||||||
// log.error("订单退单同意处理失败: {}", resultR.getMsg());
|
|
||||||
// throw new BaseException(TransactionUtils.getContent(CommonMsgConstants.APPROVAL_ERROR) + ":" + resultR.getMsg());
|
|
||||||
// }
|
|
||||||
// return null;
|
|
||||||
// }
|
|
||||||
// } else {
|
|
||||||
// // 单点退单,一单直接操作
|
|
||||||
// SaOrderExt saOrder = iSaOrderService.queryOrderByPkId(saOrderChargeLog.getPkOrder(), null);
|
|
||||||
// if (null == saOrder) {
|
|
||||||
// log.error("订单退单同意处理失败: {} 订单不存在", saOrderChargeLog.getPkOrder());
|
|
||||||
// return TransactionUtils.getContent(DocumentMsgConstants.DOCUMENT_ORDER_NOT_EXISTS);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// if (this.updateSaOrderChargeLog(EApprovalBusiness.ORDER_RETURN, approvalBusinessResultDTO.getBusinessCode(), pkCountry, userId, EAgentApprovalStatus.APPROVED, approvalBusinessResultDTO.getApproveRemark())) {
|
|
||||||
// // 处理订单修改记录成功
|
|
||||||
//
|
|
||||||
// // 订单、订单明细状态变更为已删除
|
|
||||||
// iSaOrderService.deleteOrderAndItems(Collections.singletonList(saOrder.getPkId()), userId, pkCountry);
|
|
||||||
//
|
|
||||||
// // 根据订单原路退回支付信息
|
|
||||||
// R resultR = iMemberAccountServiceApi.orderReturn(saOrder, userId, orderReturnDTO.getReturnAmount(), orderReturnDTO.getReturnRemark());
|
|
||||||
// if (!resultR.isSuccess()) {
|
|
||||||
// log.error("订单退单同意处理失败: {}", resultR.getMsg());
|
|
||||||
// throw new BaseException(TransactionUtils.getContent(CommonMsgConstants.APPROVAL_ERROR) + ":" + resultR.getMsg());
|
|
||||||
// }
|
|
||||||
// return null;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
return TransactionUtils.getContent(DocumentMsgConstants.DOCUMENT_ORDER_ERROR);
|
return TransactionUtils.getContent(DocumentMsgConstants.DOCUMENT_ORDER_ERROR);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1377,7 +1280,7 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService {
|
||||||
orderCancelParam.getCancelType().equals(ECancelOrderType.OTHER_CANCEL_PART_ORDER.getValue())) {
|
orderCancelParam.getCancelType().equals(ECancelOrderType.OTHER_CANCEL_PART_ORDER.getValue())) {
|
||||||
// 验证订单时间,只能撤销7天以内的支付订单
|
// 验证订单时间,只能撤销7天以内的支付订单
|
||||||
// 周结只能撤销当前期间的订单,不能撤销上个期间的订单
|
// 周结只能撤销当前期间的订单,不能撤销上个期间的订单
|
||||||
String settleCycle = systemConfigServiceApi.getBonusSystemConfig(orderCancelParam.getPkCountry(), ESystemConfig.EXPAND_CAP_METHOD.getKey()).getData();
|
String settleCycle = iSystemConfigServiceApi.getBonusSystemConfig(orderCancelParam.getPkCountry(), ESystemConfig.EXPAND_CAP_METHOD.getKey()).getData();
|
||||||
if (Objects.equals(Integer.toString(EExpandCapMethod.WEEK_SETTLE.getValue()), settleCycle)) {
|
if (Objects.equals(Integer.toString(EExpandCapMethod.WEEK_SETTLE.getValue()), settleCycle)) {
|
||||||
if (DateUtils.compareDateAfter(DateUtils.parseStringToDate(DateUtils.getRecentlyTuesday(DateUtils.currentDate())), saOrderExt.getPayTime())) {
|
if (DateUtils.compareDateAfter(DateUtils.parseStringToDate(DateUtils.getRecentlyTuesday(DateUtils.currentDate())), saOrderExt.getPayTime())) {
|
||||||
validateCancelOrderVO.setMsg(TransactionUtils.getContent(SaOrderMsgConstants.WEEK_CANCEL_SEVEN_PAY_ORDER));
|
validateCancelOrderVO.setMsg(TransactionUtils.getContent(SaOrderMsgConstants.WEEK_CANCEL_SEVEN_PAY_ORDER));
|
||||||
|
@ -1392,7 +1295,7 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 验证订单国家跟会员国家是否一致,是否转换过结算国
|
// 验证订单国家跟会员国家是否一致,是否转换过结算国
|
||||||
CuMember cuMember = memberServiceApi.getMember(saOrderExt.getPkMember()).getData();
|
CuMember cuMember = iMemberServiceApi.getMember(saOrderExt.getPkMember()).getData();
|
||||||
if (cuMember == null) {
|
if (cuMember == null) {
|
||||||
validateCancelOrderVO.setMsg(TransactionUtils.getContent(MemberMsgConstants.MEMBER_DOES_NOT_EXITS));
|
validateCancelOrderVO.setMsg(TransactionUtils.getContent(MemberMsgConstants.MEMBER_DOES_NOT_EXITS));
|
||||||
return validateCancelOrderVO;
|
return validateCancelOrderVO;
|
||||||
|
@ -1402,7 +1305,7 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService {
|
||||||
return validateCancelOrderVO;
|
return validateCancelOrderVO;
|
||||||
}
|
}
|
||||||
// 验证创建人是否还存在,不存在不能撤单
|
// 验证创建人是否还存在,不存在不能撤单
|
||||||
CuMember createMember = memberServiceApi.getMember(saOrderExt.getPkCreator()).getData();
|
CuMember createMember = iMemberServiceApi.getMember(saOrderExt.getPkCreator()).getData();
|
||||||
if (createMember == null) {
|
if (createMember == null) {
|
||||||
validateCancelOrderVO.setMsg(TransactionUtils.getContent(MemberMsgConstants.CREATE_MEMBER_NOT_EXITS));
|
validateCancelOrderVO.setMsg(TransactionUtils.getContent(MemberMsgConstants.CREATE_MEMBER_NOT_EXITS));
|
||||||
return validateCancelOrderVO;
|
return validateCancelOrderVO;
|
||||||
|
@ -1461,7 +1364,7 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService {
|
||||||
if (orderCancelParam.getCancelType().equals(ECancelOrderType.MERGE_CANCEL_ORDER.getValue()) ||
|
if (orderCancelParam.getCancelType().equals(ECancelOrderType.MERGE_CANCEL_ORDER.getValue()) ||
|
||||||
orderCancelParam.getCancelType().equals(ECancelOrderType.MERGE_RETREAT_ORDER.getValue())) {
|
orderCancelParam.getCancelType().equals(ECancelOrderType.MERGE_RETREAT_ORDER.getValue())) {
|
||||||
// 查询用户伞下所有会员
|
// 查询用户伞下所有会员
|
||||||
List<CuMemberExt> cuMemberList = memberServiceApi.queryPlaceSponsorUnderUmbrella(saOrderExt.getPkMember()).getData();
|
List<CuMemberExt> cuMemberList = iMemberServiceApi.queryPlaceSponsorUnderUmbrella(saOrderExt.getPkMember()).getData();
|
||||||
cuMemberList.add(BeanUtil.copyProperties(cuMember, CuMemberExt.class));
|
cuMemberList.add(BeanUtil.copyProperties(cuMember, CuMemberExt.class));
|
||||||
List<OrderCancelRegisterMemberVO> memberList = new ArrayList<>(cuMemberList.size());
|
List<OrderCancelRegisterMemberVO> memberList = new ArrayList<>(cuMemberList.size());
|
||||||
// 验证,伞下会员是否存在报单中心
|
// 验证,伞下会员是否存在报单中心
|
||||||
|
@ -1539,11 +1442,9 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* 根据订单获取
|
||||||
|
*
|
||||||
* @param pkMemberList 伞下会员
|
* @param pkMemberList 伞下会员
|
||||||
* @Description: 根据订单获取
|
|
||||||
* @return: Map<Long, CuMemberAccount>
|
|
||||||
* @Author: sui q
|
|
||||||
* @Date: 2023/3/25 16:33
|
|
||||||
*/
|
*/
|
||||||
private Map<Long, CuMemberAccount> getRevokeMemberBySaOrder(List<Long> pkMemberList) {
|
private Map<Long, CuMemberAccount> getRevokeMemberBySaOrder(List<Long> pkMemberList) {
|
||||||
List<CuMemberAccount> cuMemberAccountList = iMemberAccountServiceApi.queryCuMemberAccountByPkMembers(pkMemberList).getData();
|
List<CuMemberAccount> cuMemberAccountList = iMemberAccountServiceApi.queryCuMemberAccountByPkMembers(pkMemberList).getData();
|
||||||
|
@ -1645,7 +1546,7 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService {
|
||||||
// 封装撤单后的数据
|
// 封装撤单后的数据
|
||||||
// 保存撤单记录,存在整单撤销
|
// 保存撤单记录,存在整单撤销
|
||||||
SaOrderExt saOrderExt = validateCancelOrderVO.getSaOrderExt();
|
SaOrderExt saOrderExt = validateCancelOrderVO.getSaOrderExt();
|
||||||
CuMember cuMember = memberServiceApi.getMember(saOrderExt.getPkMember()).getData();
|
CuMember cuMember = iMemberServiceApi.getMember(saOrderExt.getPkMember()).getData();
|
||||||
orderCancelParam.setMemberCode(cuMember.getMemberCode());
|
orderCancelParam.setMemberCode(cuMember.getMemberCode());
|
||||||
orderCancelParam.setMemberName(cuMember.getMemberName());
|
orderCancelParam.setMemberName(cuMember.getMemberName());
|
||||||
EApprovalBusiness approveBusiness = EApprovalBusiness.ORDER_CANCEL;
|
EApprovalBusiness approveBusiness = EApprovalBusiness.ORDER_CANCEL;
|
||||||
|
@ -1850,7 +1751,7 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService {
|
||||||
if (this.updateSaOrderChargeLog(eApprovalBusiness, approvalBusinessResultDTO.getBusinessCode(), pkCountry, userId, EAgentApprovalStatus.REFUSE, approvalBusinessResultDTO.getApproveRemark())) {
|
if (this.updateSaOrderChargeLog(eApprovalBusiness, approvalBusinessResultDTO.getBusinessCode(), pkCountry, userId, EAgentApprovalStatus.REFUSE, approvalBusinessResultDTO.getApproveRemark())) {
|
||||||
// 更新订单修改记录成功
|
// 更新订单修改记录成功
|
||||||
// 驳回业务处理(扣款回退)
|
// 驳回业务处理(扣款回退)
|
||||||
R resultR = iBusinessCommission.businessCommissionReject(BusinessCommissionDTO.builder()
|
R<?> resultR = iBusinessCommission.businessCommissionReject(BusinessCommissionDTO.builder()
|
||||||
.pkCountry(pkCountry)
|
.pkCountry(pkCountry)
|
||||||
.pkCreator(userId)
|
.pkCreator(userId)
|
||||||
.tradeType(eApprovalBusiness.getValue())
|
.tradeType(eApprovalBusiness.getValue())
|
||||||
|
@ -1890,11 +1791,11 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService {
|
||||||
@Override
|
@Override
|
||||||
public List<SaOrderChargeLog> getSaOrderChargeLogs(ApprovalBusinessResultDTO resultDTO, Integer chargeType) {
|
public List<SaOrderChargeLog> getSaOrderChargeLogs(ApprovalBusinessResultDTO resultDTO, Integer chargeType) {
|
||||||
// 查询订单修改记录
|
// 查询订单修改记录
|
||||||
QueryWrapper<SaOrderChargeLog> queryWrapper = new QueryWrapper<>();
|
LambdaQueryWrapper<SaOrderChargeLog> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
queryWrapper.eq("CHARGE_TYPE", chargeType);
|
queryWrapper.eq(SaOrderChargeLog::getChargeType, chargeType);
|
||||||
queryWrapper.eq("BUSINESS_CODE", resultDTO.getBusinessCode());
|
queryWrapper.eq(SaOrderChargeLog::getBusinessCode, resultDTO.getBusinessCode());
|
||||||
queryWrapper.eq(SystemFieldConstants.PK_COUNTRY, resultDTO.getLoginUser().getDataCountry());
|
queryWrapper.eq(SaOrderChargeLog::getPkCountry, resultDTO.getLoginUser().getDataCountry());
|
||||||
queryWrapper.orderByAsc(SystemFieldConstants.PK_ID);
|
queryWrapper.orderByAsc(SaOrderChargeLog::getPkId);
|
||||||
return iSaOrderChargeLogService.list(queryWrapper);
|
return iSaOrderChargeLogService.list(queryWrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1913,15 +1814,15 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService {
|
||||||
Integer pkCountry, Long userId,
|
Integer pkCountry, Long userId,
|
||||||
EAgentApprovalStatus approvalStatus, String remark) {
|
EAgentApprovalStatus approvalStatus, String remark) {
|
||||||
// 处理订单修改记录
|
// 处理订单修改记录
|
||||||
UpdateWrapper<SaOrderChargeLog> updateWrapper = new UpdateWrapper<>();
|
LambdaUpdateWrapper<SaOrderChargeLog> updateWrapper = new LambdaUpdateWrapper<>();
|
||||||
updateWrapper.eq("CHARGE_TYPE", chargeType.getValue());
|
updateWrapper.eq(SaOrderChargeLog::getChargeType, chargeType.getValue());
|
||||||
updateWrapper.eq("BUSINESS_CODE", businessCode);
|
updateWrapper.eq(SaOrderChargeLog::getBusinessCode, businessCode);
|
||||||
updateWrapper.eq(SystemFieldConstants.PK_COUNTRY, pkCountry);
|
updateWrapper.eq(SaOrderChargeLog::getPkCountry, pkCountry);
|
||||||
updateWrapper.eq("APPROVAL_STATUS", EAgentApprovalStatus.UNAPPROVED.getValue());
|
updateWrapper.eq(SaOrderChargeLog::getApprovalStatus, EAgentApprovalStatus.UNAPPROVED.getValue());
|
||||||
updateWrapper.set("APPROVAL_STATUS", approvalStatus.getValue());
|
updateWrapper.set(SaOrderChargeLog::getApprovalStatus, approvalStatus.getValue());
|
||||||
updateWrapper.set(SystemFieldConstants.PK_MODIFIED, userId);
|
updateWrapper.set(SaOrderChargeLog::getPkModified, userId);
|
||||||
updateWrapper.set(SystemFieldConstants.MODIFIED_TIME, new Date());
|
updateWrapper.set(SaOrderChargeLog::getModifiedTime, new Date());
|
||||||
updateWrapper.set("REMARK", remark);
|
updateWrapper.set(SaOrderChargeLog::getRemark, remark);
|
||||||
return iSaOrderChargeLogService.update(updateWrapper);
|
return iSaOrderChargeLogService.update(updateWrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1986,7 +1887,7 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService {
|
||||||
// 订单创建人ID列表
|
// 订单创建人ID列表
|
||||||
List<Long> pkCreatorList = orderList.stream().map(SaOrderExt::getPkCreator).distinct().collect(Collectors.toList());
|
List<Long> pkCreatorList = orderList.stream().map(SaOrderExt::getPkCreator).distinct().collect(Collectors.toList());
|
||||||
// 订单创建会员列表
|
// 订单创建会员列表
|
||||||
List<CuMemberExt> memberList = memberServiceApi.findMemberByMemberId(pkCreatorList, null).getData();
|
List<CuMemberExt> memberList = iMemberServiceApi.findMemberByMemberId(pkCreatorList, null).getData();
|
||||||
|
|
||||||
// 实际扣款国家map(key:国家ID, value:会员ID列表)
|
// 实际扣款国家map(key:国家ID, value:会员ID列表)
|
||||||
Map<Integer, List<Long>> costMemberMap = new HashMap<>();
|
Map<Integer, List<Long>> costMemberMap = new HashMap<>();
|
||||||
|
@ -2266,7 +2167,7 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService {
|
||||||
// 扣款金额大于0,则进行处理
|
// 扣款金额大于0,则进行处理
|
||||||
|
|
||||||
// 订单下单人信息
|
// 订单下单人信息
|
||||||
CuMember cuMember = memberServiceApi.getMember(saOrder.getPkCreator()).getData();
|
CuMember cuMember = iMemberServiceApi.getMember(saOrder.getPkCreator()).getData();
|
||||||
if (!costCountry.equals(cuMember.getPkSettleCountry())) {
|
if (!costCountry.equals(cuMember.getPkSettleCountry())) {
|
||||||
// 当前国家与订单创建人结算国家不同,跨国报单需要转换手续费
|
// 当前国家与订单创建人结算国家不同,跨国报单需要转换手续费
|
||||||
costCountry = cuMember.getPkSettleCountry();
|
costCountry = cuMember.getPkSettleCountry();
|
||||||
|
@ -2433,14 +2334,6 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @description: 校验自助撤单
|
|
||||||
* @author: zhang jing
|
|
||||||
* @date: 2023/11/21 15:23
|
|
||||||
* @param: [orderCancelParam, businessCode]
|
|
||||||
* @return: com.hzs.sale.order.vo.ValidateCancelOrderVO
|
|
||||||
**/
|
|
||||||
@Override
|
@Override
|
||||||
public MyOrderVO checkSelfOrder(Long userId, MyOrderVO myOrderVO) {
|
public MyOrderVO checkSelfOrder(Long userId, MyOrderVO myOrderVO) {
|
||||||
if (null == myOrderVO.getOrderType() || null == myOrderVO.getOrderCode()) {
|
if (null == myOrderVO.getOrderType() || null == myOrderVO.getOrderCode()) {
|
||||||
|
@ -2460,9 +2353,9 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService {
|
||||||
}
|
}
|
||||||
|
|
||||||
// 2024.04.01 添加需求,自提订单不能自助撤单
|
// 2024.04.01 添加需求,自提订单不能自助撤单
|
||||||
QueryWrapper<SaOrderSelfLog> selfLog = new QueryWrapper<>();
|
LambdaQueryWrapper<SaOrderSelfLog> selfLog = new LambdaQueryWrapper<>();
|
||||||
selfLog.eq("PK_ORDER", saOrderExt.getPkId());
|
selfLog.eq(SaOrderSelfLog::getPkOrder, saOrderExt.getPkId());
|
||||||
selfLog.orderByDesc(SystemFieldConstants.PK_ID);
|
selfLog.orderByDesc(SaOrderSelfLog::getPkId);
|
||||||
List<SaOrderSelfLog> selfLogList = iSaOrderSelfLogService.list(selfLog);
|
List<SaOrderSelfLog> selfLogList = iSaOrderSelfLogService.list(selfLog);
|
||||||
if (CollectionUtil.isNotEmpty(selfLogList)) {
|
if (CollectionUtil.isNotEmpty(selfLogList)) {
|
||||||
SaOrderSelfLog saOrderSelfLog = selfLogList.get(0);
|
SaOrderSelfLog saOrderSelfLog = selfLogList.get(0);
|
||||||
|
@ -2480,7 +2373,7 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService {
|
||||||
return myOrderVO;
|
return myOrderVO;
|
||||||
}
|
}
|
||||||
// 验证订单国家跟会员国家是否一致,是否转换过结算国
|
// 验证订单国家跟会员国家是否一致,是否转换过结算国
|
||||||
CuMember cuMember = memberServiceApi.getMember(saOrderExt.getPkMember()).getData();
|
CuMember cuMember = iMemberServiceApi.getMember(saOrderExt.getPkMember()).getData();
|
||||||
if (cuMember == null) {
|
if (cuMember == null) {
|
||||||
myOrderVO.setMsg(TransactionUtils.getContent(MemberMsgConstants.MEMBER_DOES_NOT_EXITS));
|
myOrderVO.setMsg(TransactionUtils.getContent(MemberMsgConstants.MEMBER_DOES_NOT_EXITS));
|
||||||
return myOrderVO;
|
return myOrderVO;
|
||||||
|
@ -2490,7 +2383,7 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService {
|
||||||
return myOrderVO;
|
return myOrderVO;
|
||||||
}
|
}
|
||||||
// 验证创建人是否还存在,不存在不能撤单
|
// 验证创建人是否还存在,不存在不能撤单
|
||||||
CuMember createMember = memberServiceApi.getMember(saOrderExt.getPkCreator()).getData();
|
CuMember createMember = iMemberServiceApi.getMember(saOrderExt.getPkCreator()).getData();
|
||||||
if (createMember == null) {
|
if (createMember == null) {
|
||||||
myOrderVO.setMsg(TransactionUtils.getContent(MemberMsgConstants.CREATE_MEMBER_NOT_EXITS));
|
myOrderVO.setMsg(TransactionUtils.getContent(MemberMsgConstants.CREATE_MEMBER_NOT_EXITS));
|
||||||
return myOrderVO;
|
return myOrderVO;
|
||||||
|
@ -2509,7 +2402,7 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService {
|
||||||
if (myOrderVO.getOrderType() == EOrderType.REGISTER_ORDER.getValue() ||
|
if (myOrderVO.getOrderType() == EOrderType.REGISTER_ORDER.getValue() ||
|
||||||
myOrderVO.getOrderType() == EOrderType.SPECIAL_REGISTER_ORDER.getValue()) {
|
myOrderVO.getOrderType() == EOrderType.SPECIAL_REGISTER_ORDER.getValue()) {
|
||||||
//校验会员是否存在推荐或安置
|
//校验会员是否存在推荐或安置
|
||||||
if (memberServiceApi.checkLowerMember(myOrderVO.getPkMember()).getData()) {
|
if (iMemberServiceApi.checkLowerMember(myOrderVO.getPkMember()).getData()) {
|
||||||
myOrderVO.setMsg(TransactionUtils.getContent(SaOrderMsgConstants.CHECK_MEMBER_LOWER_EXIST));
|
myOrderVO.setMsg(TransactionUtils.getContent(SaOrderMsgConstants.CHECK_MEMBER_LOWER_EXIST));
|
||||||
return myOrderVO;
|
return myOrderVO;
|
||||||
}
|
}
|
||||||
|
@ -2521,7 +2414,7 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService {
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询用户伞下所有会员
|
// 查询用户伞下所有会员
|
||||||
List<CuMemberExt> cuMemberList = memberServiceApi.queryPlaceSponsorUnderUmbrella(saOrderExt.getPkMember()).getData();
|
List<CuMemberExt> cuMemberList = iMemberServiceApi.queryPlaceSponsorUnderUmbrella(saOrderExt.getPkMember()).getData();
|
||||||
cuMemberList.add(BeanUtil.copyProperties(cuMember, CuMemberExt.class));
|
cuMemberList.add(BeanUtil.copyProperties(cuMember, CuMemberExt.class));
|
||||||
List<OrderCancelRegisterMemberVO> memberList = new ArrayList<>(cuMemberList.size());
|
List<OrderCancelRegisterMemberVO> memberList = new ArrayList<>(cuMemberList.size());
|
||||||
// 验证,伞下会员是否存在报单中心
|
// 验证,伞下会员是否存在报单中心
|
||||||
|
@ -2718,9 +2611,9 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService {
|
||||||
return "待抵扣订单不存在或已撤单";
|
return "待抵扣订单不存在或已撤单";
|
||||||
}
|
}
|
||||||
// 订单明细必须为已付款状态
|
// 订单明细必须为已付款状态
|
||||||
QueryWrapper<SaOrderItems> orderItemsQueryWrapper = new QueryWrapper<>();
|
LambdaQueryWrapper<SaOrderItems> orderItemsQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
orderItemsQueryWrapper.eq("PK_ORDER", newOrder.getPkId());
|
orderItemsQueryWrapper.eq(SaOrderItems::getPkOrder, newOrder.getPkId());
|
||||||
orderItemsQueryWrapper.notIn("ORDER_STATUS", EOrderStatus.PAY.getValue());
|
orderItemsQueryWrapper.notIn(SaOrderItems::getOrderStatus, EOrderStatus.PAY.getValue());
|
||||||
List<SaOrderItems> orderItemsList = iSaOrderItemsService.list(orderItemsQueryWrapper);
|
List<SaOrderItems> orderItemsList = iSaOrderItemsService.list(orderItemsQueryWrapper);
|
||||||
if (CollectionUtil.isNotEmpty(orderItemsList)) {
|
if (CollectionUtil.isNotEmpty(orderItemsList)) {
|
||||||
return "待抵扣订单明细存在已合单或者已发货";
|
return "待抵扣订单明细存在已合单或者已发货";
|
||||||
|
@ -2733,11 +2626,11 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService {
|
||||||
&& newOrder.getOrderAssAchieve().equals(oldOrder.getOrderAssAchieve())
|
&& newOrder.getOrderAssAchieve().equals(oldOrder.getOrderAssAchieve())
|
||||||
) {
|
) {
|
||||||
// 新订单的订单明细全部删除
|
// 新订单的订单明细全部删除
|
||||||
UpdateWrapper<SaOrderItems> newOrderItemsUpdateWrapper = new UpdateWrapper<>();
|
LambdaUpdateWrapper<SaOrderItems> newOrderItemsUpdateWrapper = new LambdaUpdateWrapper<>();
|
||||||
newOrderItemsUpdateWrapper.eq("PK_ORDER", newOrder.getPkId());
|
newOrderItemsUpdateWrapper.eq(SaOrderItems::getPkOrder, newOrder.getPkId());
|
||||||
newOrderItemsUpdateWrapper.set(SystemFieldConstants.DEL_FLAG, EDelFlag.DELETE.getValue());
|
newOrderItemsUpdateWrapper.set(SaOrderItems::getDelFlag, EDelFlag.DELETE.getValue());
|
||||||
newOrderItemsUpdateWrapper.set(SystemFieldConstants.PK_MODIFIED, userId);
|
newOrderItemsUpdateWrapper.set(SaOrderItems::getPkModified, userId);
|
||||||
newOrderItemsUpdateWrapper.set(SystemFieldConstants.MODIFIED_TIME, nowDate);
|
newOrderItemsUpdateWrapper.set(SaOrderItems::getModifiedTime, nowDate);
|
||||||
iSaOrderItemsService.update(newOrderItemsUpdateWrapper);
|
iSaOrderItemsService.update(newOrderItemsUpdateWrapper);
|
||||||
|
|
||||||
// 新旧订单的订单明细全部插入新订单中,并且变更为未删除
|
// 新旧订单的订单明细全部插入新订单中,并且变更为未删除
|
||||||
|
|
|
@ -15,9 +15,6 @@ import lombok.experimental.Accessors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 会员信息修改记录
|
* 会员信息修改记录
|
||||||
*
|
|
||||||
* @author hzs
|
|
||||||
* @since 2023-01-12
|
|
||||||
*/
|
*/
|
||||||
@Builder
|
@Builder
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
|
|
Loading…
Reference in New Issue