forked from angelo/java-retail-app
## 撤单处理逻辑调整;
This commit is contained in:
parent
d260e06634
commit
2182d31de2
|
@ -61,12 +61,7 @@ public interface IMemberServiceApi {
|
|||
* @param pkApprove 审核人
|
||||
* @param saOrder 销售订单
|
||||
*/
|
||||
R<Boolean> singleRevokeMemberByRegisterOrder(Long pkApprove, SaOrderExt saOrder, BusinessCommissionDTO businessCommissionDTO);
|
||||
|
||||
/**
|
||||
* 自助撤单-注册单撤单
|
||||
**/
|
||||
R<Boolean> singleRevokeMemberBySelfRevokeOrder(Long pkApprove, SaOrderExt saOrder, BusinessCommissionDTO businessCommissionDTO);
|
||||
R<Boolean> singleRevokeMemberByRegisterOrder(Long pkApprove, SaOrderExt saOrder, BusinessCommissionDTO businessCommissionDTO, boolean selfBool);
|
||||
|
||||
/**
|
||||
* 撤销订单,需要更新会员,合并撤单,直接删除会员
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
package com.hzs.member.detail;
|
||||
|
||||
import com.hzs.common.core.domain.R;
|
||||
import com.hzs.common.domain.member.base.CuMemberRegister;
|
||||
import com.hzs.common.domain.member.detail.CuMemberLevel;
|
||||
|
||||
import java.util.List;
|
||||
|
@ -14,11 +13,12 @@ public interface ICuMemberDetailServiceApi {
|
|||
/**
|
||||
* 查询升级的最新一条
|
||||
*
|
||||
* @param pkMember 会员ID
|
||||
* @param pkOrder 订单ID(可为null)
|
||||
* @param pkMember 会员ID
|
||||
* @param pkOrder 订单ID(可为null)
|
||||
* @param notUpType 不查询的升级方式(可为null)
|
||||
* @return
|
||||
*/
|
||||
R<CuMemberLevel> getLastUpgrade(Long pkMember, Long pkOrder);
|
||||
R<CuMemberLevel> getLastUpgrade(Long pkMember, Long pkOrder, Integer notUpType);
|
||||
|
||||
/**
|
||||
* 查询所有升级记录
|
||||
|
@ -28,12 +28,4 @@ public interface ICuMemberDetailServiceApi {
|
|||
*/
|
||||
R<List<CuMemberLevel>> getUpgradeList(Long pkMember);
|
||||
|
||||
/**
|
||||
* 查询会员注册信息
|
||||
*
|
||||
* @param pkMember 会员ID
|
||||
* @return
|
||||
*/
|
||||
R<CuMemberRegister> getMemberRegister(Long pkMember);
|
||||
|
||||
}
|
||||
|
|
|
@ -78,9 +78,9 @@ public class MemberServiceProvider implements IMemberServiceApi {
|
|||
}
|
||||
|
||||
@Override
|
||||
public R<Boolean> singleRevokeMemberByRegisterOrder(Long pkApprove, SaOrderExt saOrder, BusinessCommissionDTO businessCommissionDTO) {
|
||||
public R<Boolean> singleRevokeMemberByRegisterOrder(Long pkApprove, SaOrderExt saOrder, BusinessCommissionDTO businessCommissionDTO, boolean selfBool) {
|
||||
try {
|
||||
if (iCuMemberBusinessService.singleRevokeMemberByRegisterOrder(pkApprove, saOrder, businessCommissionDTO)) {
|
||||
if (iCuMemberBusinessService.singleRevokeMemberByRegisterOrder(pkApprove, saOrder, businessCommissionDTO, selfBool)) {
|
||||
return R.ok();
|
||||
}
|
||||
return R.fail("会员信息处理失败");
|
||||
|
@ -90,16 +90,6 @@ public class MemberServiceProvider implements IMemberServiceApi {
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public R<Boolean> singleRevokeMemberBySelfRevokeOrder(Long pkApprove, SaOrderExt saOrder, BusinessCommissionDTO businessCommissionDTO) {
|
||||
try {
|
||||
return R.ok(iCuMemberBusinessService.singleRevokeMemberBySelfRevokeOrder(pkApprove, saOrder, businessCommissionDTO));
|
||||
} catch (Exception e) {
|
||||
log.error("singleRevokeMemberBySelfRevokeOrder error msg: {}", e.getMessage(), e);
|
||||
return R.ok(false);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public R<Boolean> mergeRevokeMemberByRegisterOrder(Long pkApprove, List<Long> memberList, Map<Long, SaOrderExt> saOrderMap, BusinessCommissionDTO businessCommissionDTO) {
|
||||
try {
|
||||
|
|
|
@ -83,13 +83,10 @@ public interface ICuMemberBusinessService {
|
|||
*
|
||||
* @param pkApprove 审核人
|
||||
* @param saOrder 销售订单
|
||||
* @param selfBool 是否自助撤单
|
||||
*/
|
||||
Boolean singleRevokeMemberByRegisterOrder(Long pkApprove, SaOrderExt saOrder, BusinessCommissionDTO businessCommissionDTO);
|
||||
|
||||
/**
|
||||
* 自助撤单-注册单撤单
|
||||
**/
|
||||
Boolean singleRevokeMemberBySelfRevokeOrder(Long pkApprove, SaOrderExt saOrder, BusinessCommissionDTO businessCommissionDTO);
|
||||
Boolean singleRevokeMemberByRegisterOrder(Long pkApprove, SaOrderExt saOrder,
|
||||
BusinessCommissionDTO businessCommissionDTO, boolean selfBool);
|
||||
|
||||
|
||||
/**
|
||||
|
|
|
@ -558,7 +558,8 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
|
|||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean singleRevokeMemberByRegisterOrder(Long pkApprove, SaOrderExt saOrder, BusinessCommissionDTO businessCommissionDTO) {
|
||||
public Boolean singleRevokeMemberByRegisterOrder(Long pkApprove, SaOrderExt saOrder,
|
||||
BusinessCommissionDTO businessCommissionDTO, boolean selfBool) {
|
||||
deductCancelOrderCost(businessCommissionDTO);
|
||||
Date currentDateTime = DateUtils.currentDateTime();
|
||||
|
||||
|
@ -566,18 +567,36 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
|
|||
if (EOrderType.RETAIL_REGISTER.getValue() == saOrder.getOrderType()) {
|
||||
// 会员账号 验证会员账户是否存在金额
|
||||
CuMember member = iCuMemberService.getMemberById(saOrder.getPkMember());
|
||||
// 会员变为死点
|
||||
member.setCategory(ECategory.LOGGED_OUT.getValue());
|
||||
member.setCustomerType(ECustomerType.DEAD_POINT.getValue());
|
||||
member.setPkModified(saOrder.getPkModified());
|
||||
member.setModifiedTime(DateUtils.currentDateTime());
|
||||
iCuMemberService.updateById(member);
|
||||
// 撤销正常订单,修改 cu_member_register 账户状态为死点
|
||||
CuMemberRegister cuMemberRegister = new CuMemberRegister();
|
||||
cuMemberRegister.setPkMember(member.getPkId());
|
||||
cuMemberRegister.setPkCountry(saOrder.getPkCountry());
|
||||
cuMemberRegister.setPkModified(saOrder.getPkCreator());
|
||||
iCuMemberRegisterService.updateCuMemberRegister(cuMemberRegister);
|
||||
if (selfBool) {
|
||||
// 自助撤单,删除会员相关信息
|
||||
LambdaUpdateWrapper<CuMember> updateWrapper = new LambdaUpdateWrapper<>();
|
||||
updateWrapper.set(CuMember::getMemberCode, CommonUtil.deleteMemberCode(member.getMemberCode()));
|
||||
updateWrapper.set(CuMember::getDelFlag, EDelFlag.DELETE.getValue());
|
||||
updateWrapper.set(CuMember::getModifiedTime, currentDateTime);
|
||||
updateWrapper.set(CuMember::getPkModified, saOrder.getPkModified());
|
||||
updateWrapper.eq(CuMember::getPkId, member.getPkId());
|
||||
iCuMemberService.update(updateWrapper);
|
||||
// 删除会员注册表
|
||||
LambdaUpdateWrapper<CuMemberRegister> updateWrapperRegister = new LambdaUpdateWrapper<>();
|
||||
updateWrapperRegister.set(CuMemberRegister::getDelFlag, EDelFlag.DELETE.getValue());
|
||||
updateWrapperRegister.set(CuMemberRegister::getModifiedTime, currentDateTime);
|
||||
updateWrapperRegister.set(CuMemberRegister::getPkModified, saOrder.getPkModified());
|
||||
updateWrapperRegister.eq(CuMemberRegister::getPkMember, member.getPkId());
|
||||
iCuMemberRegisterService.update(updateWrapperRegister);
|
||||
} else {
|
||||
// 非自助撤单,会员变为死点
|
||||
member.setCategory(ECategory.LOGGED_OUT.getValue());
|
||||
member.setCustomerType(ECustomerType.DEAD_POINT.getValue());
|
||||
member.setPkModified(saOrder.getPkModified());
|
||||
member.setModifiedTime(DateUtils.currentDateTime());
|
||||
iCuMemberService.updateById(member);
|
||||
// 撤销正常订单,修改 cu_member_register 账户状态为死点
|
||||
CuMemberRegister cuMemberRegister = new CuMemberRegister();
|
||||
cuMemberRegister.setPkMember(member.getPkId());
|
||||
cuMemberRegister.setPkCountry(saOrder.getPkCountry());
|
||||
cuMemberRegister.setPkModified(saOrder.getPkCreator());
|
||||
iCuMemberRegisterService.updateCuMemberRegister(cuMemberRegister);
|
||||
}
|
||||
}
|
||||
|
||||
// 处理推荐人等级
|
||||
|
@ -600,51 +619,6 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
|
|||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean singleRevokeMemberBySelfRevokeOrder(Long pkApprove, SaOrderExt saOrder, BusinessCommissionDTO businessCommissionDTO) {
|
||||
deductCancelOrderCost(businessCommissionDTO);
|
||||
Date currentDateTime = DateUtils.currentDateTime();
|
||||
// 回退给创建人
|
||||
CuMemberAccount payMemberAccount = iCuMemberAccountService.queryCuMemberAccountByPkMember(saOrder.getPkCreator());
|
||||
if (EOrderType.RETAIL_REGISTER.getValue() == saOrder.getOrderType()) {
|
||||
// 会员账号 验证会员账户是否存在金额
|
||||
CuMember member = iCuMemberService.getMember(saOrder.getPkMember());
|
||||
//删除会员
|
||||
LambdaUpdateWrapper<CuMember> updateWrapper = new LambdaUpdateWrapper<>();
|
||||
updateWrapper.set(CuMember::getMemberCode, CommonUtil.deleteMemberCode(member.getMemberCode()));
|
||||
updateWrapper.set(CuMember::getDelFlag, EDelFlag.DELETE.getValue());
|
||||
updateWrapper.set(CuMember::getModifiedTime, currentDateTime);
|
||||
updateWrapper.set(CuMember::getPkModified, saOrder.getPkModified());
|
||||
updateWrapper.eq(CuMember::getPkId, member.getPkId());
|
||||
iCuMemberService.update(updateWrapper);
|
||||
// 删除会员注册表
|
||||
LambdaUpdateWrapper<CuMemberRegister> updateWrapperRegister = new LambdaUpdateWrapper<>();
|
||||
updateWrapperRegister.set(CuMemberRegister::getDelFlag, EDelFlag.DELETE.getValue());
|
||||
updateWrapperRegister.set(CuMemberRegister::getModifiedTime, currentDateTime);
|
||||
updateWrapperRegister.set(CuMemberRegister::getPkModified, saOrder.getPkModified());
|
||||
updateWrapperRegister.eq(CuMemberRegister::getPkMember, member.getPkId());
|
||||
iCuMemberRegisterService.update(updateWrapperRegister);
|
||||
}
|
||||
|
||||
// 处理推荐人等级
|
||||
handleParentLevel(saOrder, currentDateTime);
|
||||
// 删除会员区域
|
||||
iCuMemberRetailRegionService.update(Wrappers.<CuMemberRetailRegion>lambdaUpdate()
|
||||
.eq(CuMemberRetailRegion::getPkMember, saOrder.getPkMember())
|
||||
.set(CuMemberRetailRegion::getDelFlag, EDelFlag.DELETE.getValue())
|
||||
.set(CuMemberRetailRegion::getModifiedTime, currentDateTime)
|
||||
);
|
||||
if (saOrder.getPayType().equals(EOrderPayType.WALLET.getValue())) {
|
||||
// 钱包支付,则需要回退金额
|
||||
cancelOrderBackAccount(pkApprove, saOrder, payMemberAccount);
|
||||
} else {
|
||||
// 在线支付,处理退款
|
||||
this.handleOnlineRefund(saOrder);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@Override
|
||||
public void selfInsertMemberTrade(SaOrder saOrder, CuMemberAccount cuMemberAccount) {
|
||||
|
@ -902,8 +876,12 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
|
|||
|
||||
if (EOrderType.RETAIL_UPGRADE.getValue() == saOrder.getOrderType()) {
|
||||
// 升级订单
|
||||
// 回退等级
|
||||
// 删除购买升级的升级记录
|
||||
iCuMemberLevelService.deleteCuMemberLevelRecord(saOrder.getPkId(), pkApprove, currentDateTime);
|
||||
|
||||
// TODO 处理会员自己等级
|
||||
|
||||
|
||||
// 如果会员等级非代理,则需要删除会员区域
|
||||
GradeDTO gradeDTO = iGradeServiceApi.getGrade(cuMember.getPkSettleGrade()).getData();
|
||||
if (gradeDTO.getGradeValue() != EGrade.REGION.getValue()
|
||||
|
|
|
@ -16,12 +16,14 @@ public interface CuMemberLevelMapper extends BaseMapper<CuMemberLevel> {
|
|||
/**
|
||||
* 查询最新升级记录
|
||||
*
|
||||
* @param pkMember 会员ID
|
||||
* @param pkOrder 订单ID(可为null)
|
||||
* @param pkMember 会员ID
|
||||
* @param pkOrder 订单ID(可为null)
|
||||
* @param notUpType 不查询的升级方式(可为null)
|
||||
* @return
|
||||
*/
|
||||
CuMemberLevel getLastUpgrade(@Param("pkMember") Long pkMember,
|
||||
@Param("pkOrder") Long pkOrder);
|
||||
@Param("pkOrder") Long pkOrder,
|
||||
@Param("notUpType") Integer notUpType);
|
||||
|
||||
/**
|
||||
* 查询所有升级记录
|
||||
|
|
|
@ -1,9 +1,7 @@
|
|||
package com.hzs.member.detail.provider;
|
||||
|
||||
import com.hzs.common.core.domain.R;
|
||||
import com.hzs.common.domain.member.base.CuMemberRegister;
|
||||
import com.hzs.common.domain.member.detail.CuMemberLevel;
|
||||
import com.hzs.member.base.service.ICuMemberRegisterService;
|
||||
import com.hzs.member.detail.ICuMemberDetailServiceApi;
|
||||
import com.hzs.member.detail.service.ICuMemberLevelService;
|
||||
import org.apache.dubbo.config.annotation.DubboService;
|
||||
|
@ -19,12 +17,10 @@ public class CuMemberDetailProvider implements ICuMemberDetailServiceApi {
|
|||
|
||||
@Autowired
|
||||
private ICuMemberLevelService iCuMemberLevelService;
|
||||
@Autowired
|
||||
private ICuMemberRegisterService iCuMemberRegisterService;
|
||||
|
||||
@Override
|
||||
public R<CuMemberLevel> getLastUpgrade(Long pkMember, Long pkOrder) {
|
||||
return R.ok(iCuMemberLevelService.getLastUpgrade(pkMember, pkOrder));
|
||||
public R<CuMemberLevel> getLastUpgrade(Long pkMember, Long pkOrder, Integer notUpType) {
|
||||
return R.ok(iCuMemberLevelService.getLastUpgrade(pkMember, pkOrder, notUpType));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -32,9 +28,4 @@ public class CuMemberDetailProvider implements ICuMemberDetailServiceApi {
|
|||
return R.ok(iCuMemberLevelService.getUpgradeList(pkMember));
|
||||
}
|
||||
|
||||
@Override
|
||||
public R<CuMemberRegister> getMemberRegister(Long pkMember) {
|
||||
return R.ok(iCuMemberRegisterService.queryCuMemberRegister(pkMember));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -24,11 +24,12 @@ public interface ICuMemberLevelService extends IService<CuMemberLevel> {
|
|||
/**
|
||||
* 查询最新升级记录
|
||||
*
|
||||
* @param pkMember 会员ID
|
||||
* @param pkOrder 订单ID(可为null)
|
||||
* @param pkMember 会员ID
|
||||
* @param pkOrder 订单ID(可为null)
|
||||
* @param notUpType 不查询的升级方式(可为null)
|
||||
* @return
|
||||
*/
|
||||
CuMemberLevel getLastUpgrade(Long pkMember, Long pkOrder);
|
||||
CuMemberLevel getLastUpgrade(Long pkMember, Long pkOrder, Integer notUpType);
|
||||
|
||||
/**
|
||||
* 查询所有升级记录
|
||||
|
|
|
@ -32,8 +32,8 @@ public class CuMemberLevelServiceImpl extends ServiceImpl<CuMemberLevelMapper, C
|
|||
}
|
||||
|
||||
@Override
|
||||
public CuMemberLevel getLastUpgrade(Long pkMember, Long pkOrder) {
|
||||
return baseMapper.getLastUpgrade(pkMember, pkOrder);
|
||||
public CuMemberLevel getLastUpgrade(Long pkMember, Long pkOrder, Integer notUpType) {
|
||||
return baseMapper.getLastUpgrade(pkMember, pkOrder, notUpType);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -30,6 +30,9 @@
|
|||
<if test="pkOrder != null">
|
||||
and (cml.pk_order != #{pkOrder} or cml.pk_order is null )
|
||||
</if>
|
||||
<if test="notUpType != null">
|
||||
and cml.up_type != #{notUpType}
|
||||
</if>
|
||||
and cml.pk_member = #{pkMember}
|
||||
order by cml.upgrade_time desc
|
||||
) t
|
||||
|
|
|
@ -16,7 +16,6 @@ import com.hzs.common.core.utils.poi.ExcelUtil;
|
|||
import com.hzs.common.core.web.controller.BaseController;
|
||||
import com.hzs.common.core.web.domain.AjaxResult;
|
||||
import com.hzs.common.core.web.page.TableDataInfo;
|
||||
import com.hzs.common.domain.member.base.CuMember;
|
||||
import com.hzs.common.domain.member.ext.CuMemberExt;
|
||||
import com.hzs.common.domain.sale.ext.SaOrderExt;
|
||||
import com.hzs.common.domain.sale.ext.SaOrderItemsExt;
|
||||
|
@ -129,13 +128,7 @@ public class SaOrderBusinessController extends BaseController {
|
|||
for (OrderBusinessVO orderBusinessVO : list) {
|
||||
// 省市区处理
|
||||
OrderUtil.handleOrderAddress(areaMap, orderBusinessVO);
|
||||
|
||||
if (pkCountry.equals(CountryConstants.CHINA_COUNTRY)) {
|
||||
if (null != orderBusinessVO.getInExchangeRate()) {
|
||||
orderBusinessVO.setOrderAchieveRmb(orderBusinessVO.getOrderAchieve().multiply(orderBusinessVO.getInExchangeRate()));
|
||||
}
|
||||
}
|
||||
|
||||
orderBusinessVO.setOrderAchieveRmb(orderBusinessVO.getOrderAchieve());
|
||||
// 处理撤单时间
|
||||
orderBusinessVO.setCancelTime(DateUtils.getStartTime(orderBusinessVO.getPayTime()));
|
||||
|
||||
|
@ -224,14 +217,6 @@ public class SaOrderBusinessController extends BaseController {
|
|||
return AjaxResult.error(TransactionUtils.getContent(SaOrderMsgConstants.ORDER_NOT_EXIST));
|
||||
}
|
||||
|
||||
// 如果已经转结算国,之前订单不能操作
|
||||
for (SaOrderExt saOrder : saOrderList) {
|
||||
if (!saOrder.getPkCountry().equals(saOrder.getPkSettleCountry())) {
|
||||
// 用户已转结算国,不能进行操作
|
||||
return AjaxResult.error(TransactionUtils.getContent(CommonMsgConstants.SETTLEMENT_COUNTRY_NOT_OPERATE));
|
||||
}
|
||||
}
|
||||
|
||||
// 本次业务修改费用
|
||||
Map<Long, OrderQueryChargeDTO> queryChargeMap = iOrderBusinessService.queryChargeLog(saOrderList, EApprovalBusiness.ORDER_CHANGE_ADDRESS, pkCountry);
|
||||
|
||||
|
@ -499,30 +484,14 @@ public class SaOrderBusinessController extends BaseController {
|
|||
return AjaxResult.error(orderCode + TransactionUtils.getContent(SaOrderMsgConstants.ORDER_NOT_EXIST));
|
||||
}
|
||||
|
||||
// 如果已经转结算国,之前订单不能操作
|
||||
if (!saOrder.getPkCountry().equals(saOrder.getPkSettleCountry())) {
|
||||
// 用户已转结算国,不能进行操作
|
||||
return AjaxResult.error(TransactionUtils.getContent(CommonMsgConstants.SETTLEMENT_COUNTRY_NOT_OPERATE));
|
||||
}
|
||||
|
||||
// // 过滤赠品,只有非赠品才能进行调换货
|
||||
// List<SaOrderItemsExt> orderItemsExtList = saOrder.getOrderItemsExtList().stream().filter(saOrderItemsExt -> EYesNo.NO.getIntValue() == saOrderItemsExt.getIsGift()).collect(Collectors.toList());
|
||||
|
||||
// 业务修改费用
|
||||
Map<Long, OrderQueryChargeDTO> queryChargeMap = iOrderBusinessService.queryChargeLog(Collections.singletonList(saOrder), EApprovalBusiness.ORDER_CHANGE_PRODUCT, pkCountry);
|
||||
|
||||
// 调换货物订单以及产品PV是否需要处理
|
||||
if (saOrder.getPkCountry().equals(CountryConstants.CHINA_COUNTRY)) {
|
||||
// 如果是中国订单
|
||||
// 汇率(目前只有中国需要由美金转人民币显示,其它国家显示就是美金不需要转换)
|
||||
BigDecimal baseExchangeRate = saOrder.getInExchangeRate();
|
||||
if (null != baseExchangeRate) {
|
||||
// 基础汇率不为空,则进行转换
|
||||
saOrder.setOrderAchieve(saOrder.getOrderAchieve().multiply(baseExchangeRate));
|
||||
|
||||
for (SaOrderItemsExt saOrderItemsExt : saOrder.getOrderItemsExtList()) {
|
||||
saOrderItemsExt.setAchievementRmb(saOrderItemsExt.getAchievement().multiply(baseExchangeRate));
|
||||
}
|
||||
for (SaOrderItemsExt saOrderItemsExt : saOrder.getOrderItemsExtList()) {
|
||||
saOrderItemsExt.setAchievementRmb(saOrderItemsExt.getAchievement());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -572,39 +541,14 @@ public class SaOrderBusinessController extends BaseController {
|
|||
|
||||
if (orderQueryChargeDTO.getCost().compareTo(BigDecimal.ZERO) > 0) {
|
||||
// 扣款金额大于0,则进行处理
|
||||
// 扣款国家
|
||||
Integer costCountry = pkCountry;
|
||||
// 扣款账户
|
||||
Integer costAccount = orderQueryChargeDTO.getPkAccount();
|
||||
// 扣款金额
|
||||
BigDecimal cost = orderQueryChargeDTO.getCost();
|
||||
|
||||
// 订单下单人信息
|
||||
CuMember cuMember = iMemberServiceApi.getMember(saOrder.getPkCreator()).getData();
|
||||
if (!costCountry.equals(cuMember.getPkSettleCountry())) {
|
||||
// 当前国家与订单创建人结算国家不同,跨国报单需要转换手续费
|
||||
costCountry = cuMember.getPkSettleCountry();
|
||||
|
||||
// 订单创建人所属国家业务扣款账户
|
||||
ServiceChargeDTO costServiceChargeDTO = iServiceChargeServiceApi.getServiceChargeByType(ServiceChargeDTO.builder()
|
||||
.pkCountry(costCountry)
|
||||
.type(EApprovalBusiness.ORDER_CHANGE_PRODUCT.getValue())
|
||||
.quantity(1)
|
||||
.build()).getData();
|
||||
if (null == costServiceChargeDTO) {
|
||||
return AjaxResult.success();
|
||||
}
|
||||
costAccount = costServiceChargeDTO.getPkAccount();
|
||||
|
||||
// 根据汇率计算实际需要扣款金额
|
||||
CurrencyDTO costCurrencyDTO = iCurrencyServiceApi.getCurrency(costCountry).getData();
|
||||
// 扣款金额 = 订单结算国扣款金额 除 订单结算国汇率 乘 订单创建人结算国汇率
|
||||
cost = cost.multiply(costCurrencyDTO.getInExchangeRate()).divide(saOrder.getInExchangeRate(), 2, BigDecimal.ROUND_HALF_UP);
|
||||
}
|
||||
|
||||
// 校验扣款金额是否足够
|
||||
List<MemberBalanceDTO> memberBalanceDTOList = iBusinessCommission.selectBalanceNotEnoughMember(BusinessCommissionDTO.builder()
|
||||
.pkCountry(costCountry)
|
||||
.pkCountry(pkCountry)
|
||||
.pkAccount(costAccount)
|
||||
.memberAmountDTOList(Collections.singletonList(MemberAmountDTO.builder()
|
||||
// 订单创建人(下单人)
|
||||
|
@ -653,7 +597,6 @@ public class SaOrderBusinessController extends BaseController {
|
|||
}
|
||||
|
||||
Integer pkCountry = SecurityUtils.getPkCountry();
|
||||
|
||||
// 校验订单是否存在进行中的签呈
|
||||
String checkStr = iOrderBusinessService.checkBusinessExist(Collections.singletonList(param.getOrderCode()), pkCountry);
|
||||
if (null != checkStr) {
|
||||
|
@ -698,7 +641,6 @@ public class SaOrderBusinessController extends BaseController {
|
|||
}
|
||||
|
||||
Integer pkCountry = SecurityUtils.getPkCountry();
|
||||
|
||||
// 校验订单是否存在进行中的签呈
|
||||
String checkStr = iOrderBusinessService.checkBusinessExist(Collections.singletonList(param.getOrderCode()), pkCountry);
|
||||
if (null != checkStr) {
|
||||
|
@ -732,19 +674,6 @@ public class SaOrderBusinessController extends BaseController {
|
|||
// 未支付订单,不能进行退单
|
||||
return AjaxResult.error(TransactionUtils.getContent(SaOrderMsgConstants.ORDER_UNPAID_NOT_RETURN));
|
||||
}
|
||||
|
||||
// 如果已经转结算国,之前订单不能操作
|
||||
if (!saOrder.getPkCountry().equals(saOrder.getPkSettleCountry())) {
|
||||
// 用户已转结算国,不能进行操作
|
||||
return AjaxResult.error(TransactionUtils.getContent(CommonMsgConstants.SETTLEMENT_COUNTRY_NOT_OPERATE));
|
||||
}
|
||||
|
||||
// 2023-09-06 00:00:00 之前的订单不能进行退单
|
||||
long dateLong = 1693929600000L;
|
||||
if (saOrder.getCreationTime().getTime() < dateLong) {
|
||||
return AjaxResult.error("历史订单撤单请联系管理员");
|
||||
}
|
||||
|
||||
return AjaxResult.success(saOrder);
|
||||
}
|
||||
|
||||
|
@ -768,7 +697,6 @@ public class SaOrderBusinessController extends BaseController {
|
|||
}
|
||||
|
||||
Integer pkCountry = SecurityUtils.getPkCountry();
|
||||
|
||||
// 校验订单是否存在进行中的签呈
|
||||
String checkStr = iOrderBusinessService.checkBusinessExist(Collections.singletonList(param.getOrderCode()), pkCountry);
|
||||
if (null != checkStr) {
|
||||
|
@ -803,38 +731,7 @@ public class SaOrderBusinessController extends BaseController {
|
|||
return AjaxResult.error(TransactionUtils.getContent(SaOrderMsgConstants.ORDER_UNPAID_NOT_RETURN));
|
||||
}
|
||||
|
||||
// if (EOrderType.REGISTER_ORDER.getValue() != saOrder.getOrderType()
|
||||
// && EOrderType.FANS_ORDER.getValue() != saOrder.getOrderType()) {
|
||||
// // 非 注册订单、嗨粉注册订单 不能进行合并退单
|
||||
// return AjaxResult.error(TransactionUtils.getContent(SaOrderMsgConstants.ORDER_NOT_RETURN));
|
||||
// }
|
||||
|
||||
// 如果已经转结算国,之前订单不能操作
|
||||
if (!saOrder.getPkCountry().equals(saOrder.getPkSettleCountry())) {
|
||||
// 用户已转结算国,不能进行操作
|
||||
return AjaxResult.error(TransactionUtils.getContent(CommonMsgConstants.SETTLEMENT_COUNTRY_NOT_OPERATE));
|
||||
}
|
||||
|
||||
// 2023-09-06 00:00:00 之前的订单不能进行退单
|
||||
long dateLong = 1693929600000L;
|
||||
if (saOrder.getCreationTime().getTime() < dateLong) {
|
||||
return AjaxResult.error("历史订单撤单请联系超级管理员");
|
||||
}
|
||||
|
||||
List<SaOrderExt> resultList = new ArrayList<>();
|
||||
resultList.add(saOrder);
|
||||
|
||||
// if (EOrderType.REGISTER_ORDER.getValue() == saOrder.getOrderType()
|
||||
// || EOrderType.FANS_ORDER.getValue() == saOrder.getOrderType()
|
||||
// || EOrderType.SPECIAL_REGISTER_ORDER.getValue() == saOrder.getOrderType()
|
||||
// ) {
|
||||
// // 注册类订单,需要拉取所有订单
|
||||
// resultList.addAll(iSaOrderService.queryAllOrderByMember(saOrder.getPkMember(), pkCountry));
|
||||
// }
|
||||
|
||||
// iSaOrderService.queryPlaceParentOrderList(saOrder.getPkMember());
|
||||
|
||||
return AjaxResult.success(resultList);
|
||||
return AjaxResult.success(Collections.singletonList(saOrder));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -896,14 +793,8 @@ public class SaOrderBusinessController extends BaseController {
|
|||
return AjaxResult.error(validateCancelOrderVO.getMsg());
|
||||
}
|
||||
// 本次业务修改费用
|
||||
List<SaOrderExt> saOrderExtList = new ArrayList<>();
|
||||
SaOrderExt saOrderExt = validateCancelOrderVO.getSaOrderExt();
|
||||
saOrderExtList.add(saOrderExt);
|
||||
EApprovalBusiness approveBusiness = EApprovalBusiness.ORDER_CANCEL;
|
||||
// if (ECancelOrderType.OTHER_CANCEL_PART_ORDER.getValue() == orderCancelParam.getCancelType()) {
|
||||
// approveBusiness = EApprovalBusiness.ORDER_CANCEL_PRODUCT;
|
||||
// }
|
||||
Map<Long, OrderQueryChargeDTO> queryChargeMap = iOrderBusinessService.queryChargeLog(saOrderExtList, approveBusiness, SecurityUtils.getPkCountry());
|
||||
Map<Long, OrderQueryChargeDTO> queryChargeMap = iOrderBusinessService.queryChargeLog(Collections.singletonList(saOrderExt), EApprovalBusiness.ORDER_CANCEL, SecurityUtils.getPkCountry());
|
||||
OrderQueryChargeDTO dto = queryChargeMap.get(saOrderExt.getPkId());
|
||||
// 撤销订单,撤销产品,撤销除升级订单
|
||||
if (ECancelOrderType.MERGE_CANCEL_ORDER.getValue() == orderCancelParam.getCancelType()) {
|
||||
|
@ -921,20 +812,6 @@ public class SaOrderBusinessController extends BaseController {
|
|||
.orderCode(saOrderExt.getOrderCode())
|
||||
.build();
|
||||
List<OrderCancelDetailVO> orderCancelDetailVOList = new ArrayList<>();
|
||||
// if (ECancelOrderType.OTHER_CANCEL_PART_ORDER.getValue() == orderCancelParam.getCancelType()) {
|
||||
// saOrderExt.getOrderItemsList().forEach(saOrderItems -> {
|
||||
// String productName = productServiceApi.getProduct(saOrderItems.getPkProduct()).getData().getProductName();
|
||||
// OrderCancelDetailVO orderCancelDetailVO = OrderCancelDetailVO.builder()
|
||||
// .pkId(saOrderItems.getPkId())
|
||||
// .productName(productName)
|
||||
// .orderAmount(saOrderItems.getPrice())
|
||||
// .number(saOrderItems.getQuantity())
|
||||
// .achievement(saOrderItems.getAchievement())
|
||||
// .assAchievement(saOrderItems.getAssAchievement())
|
||||
// .build();
|
||||
// orderCancelDetailVOList.add(orderCancelDetailVO);
|
||||
// });
|
||||
// } else {
|
||||
saOrderExt.getOrderItemsExtList().forEach(saOrderItems -> {
|
||||
OrderCancelDetailVO orderCancelDetailVO = OrderCancelDetailVO.builder()
|
||||
.pkId(saOrderItems.getPkId())
|
||||
|
@ -946,7 +823,6 @@ public class SaOrderBusinessController extends BaseController {
|
|||
.build();
|
||||
orderCancelDetailVOList.add(orderCancelDetailVO);
|
||||
});
|
||||
// }
|
||||
orderCancelVO.setOrderCancelDetailVOList(orderCancelDetailVOList);
|
||||
orderCancelVO.setMemberCode(saOrderExt.getMemberCode());
|
||||
orderCancelVO.setMemberName(saOrderExt.getMemberName());
|
||||
|
@ -967,11 +843,6 @@ public class SaOrderBusinessController extends BaseController {
|
|||
@Log(module = EOperationModule.CANCEL_ORDER_CONFIRM, method = EOperationMethod.INSERT)
|
||||
public AjaxResult cancelOrder(@RequestBody OrderCancelParam orderCancelParam) {
|
||||
orderCancelParam.setPkCountry(SecurityUtils.getPkCountry());
|
||||
// if (ECancelOrderType.OTHER_CANCEL_PART_ORDER.getValue() == orderCancelParam.getCancelType()) {
|
||||
// if (orderCancelParam.getOrderCancelDetailParamList() == null || orderCancelParam.getOrderCancelDetailParamList().size() == 0) {
|
||||
// return AjaxResult.error(TransactionUtils.getContent(MemberMsgConstants.REQUIRED_NOT_EMPTY));
|
||||
// }
|
||||
// }
|
||||
ValidateCancelOrderVO validateCancelOrderVO = iOrderBusinessService.validateCancelOrder(orderCancelParam);
|
||||
AjaxResult validateCancelOrder = validateCancelOrderVO(orderCancelParam, validateCancelOrderVO);
|
||||
if (validateCancelOrder != null) {
|
||||
|
@ -982,7 +853,7 @@ public class SaOrderBusinessController extends BaseController {
|
|||
}
|
||||
|
||||
/**
|
||||
* 撤销订单并入库,全免
|
||||
* 撤销订单并入库,全免 -- 目前撤单使用
|
||||
*
|
||||
* @param orderCancelParam 参数
|
||||
*/
|
||||
|
@ -990,11 +861,6 @@ public class SaOrderBusinessController extends BaseController {
|
|||
@Log(module = EOperationModule.CANCEL_ORDER_CONFIRM, method = EOperationMethod.INSERT)
|
||||
public AjaxResult freeCostCancelOrder(@RequestBody OrderCancelParam orderCancelParam) {
|
||||
orderCancelParam.setPkCountry(SecurityUtils.getPkCountry());
|
||||
// if (ECancelOrderType.OTHER_CANCEL_PART_ORDER.getValue() == orderCancelParam.getCancelType()) {
|
||||
// if (orderCancelParam.getOrderCancelDetailParamList() == null || orderCancelParam.getOrderCancelDetailParamList().size() == 0) {
|
||||
// return AjaxResult.error(TransactionUtils.getContent(MemberMsgConstants.REQUIRED_NOT_EMPTY));
|
||||
// }
|
||||
// }
|
||||
if (orderCancelParam.getCancelRoad() == null || (orderCancelParam.getCancelRoad() != 1 && orderCancelParam.getCancelRoad() != 3)) {
|
||||
return AjaxResult.error(TransactionUtils.getContent(MemberMsgConstants.REQUIRED_NOT_EMPTY));
|
||||
}
|
||||
|
@ -1012,22 +878,6 @@ public class SaOrderBusinessController extends BaseController {
|
|||
if (validateCancelOrderVO.getSaOrderExt() == null) {
|
||||
return AjaxResult.error(validateCancelOrderVO.getMsg());
|
||||
}
|
||||
// if (ECancelOrderType.OTHER_CANCEL_PART_ORDER.getValue() == orderCancelParam.getCancelType()) {
|
||||
// SaOrderExt saOrderExt = validateCancelOrderVO.getSaOrderExt();
|
||||
// if (saOrderExt.getOrderItemsList() == null) {
|
||||
// return AjaxResult.error(TransactionUtils.getContent(SaOrderMsgConstants.ORDER_EMPTY));
|
||||
// }
|
||||
// Map<Long, String> productMap = new HashMap<>(ComputeUtil.mapInitCapacity(orderCancelParam.getOrderCancelDetailParamList().size()));
|
||||
// saOrderExt.getOrderItemsList().forEach(saOrderItems -> {
|
||||
// String productName = productServiceApi.getProduct(saOrderItems.getPkProduct()).getData().getProductName();
|
||||
// productMap.put(saOrderItems.getPkId(), productName);
|
||||
// });
|
||||
// orderCancelParam.getOrderCancelDetailParamList().forEach(orderCancelDetailParam -> {
|
||||
// if (productMap.containsKey(orderCancelDetailParam.getPkId())) {
|
||||
// orderCancelDetailParam.setProductName(productMap.get(orderCancelDetailParam.getPkId()));
|
||||
// }
|
||||
// });
|
||||
// }
|
||||
return null;
|
||||
}
|
||||
|
||||
|
@ -1042,9 +892,6 @@ public class SaOrderBusinessController extends BaseController {
|
|||
public TableDataInfo selfOrderList(@RequestBody SelfPickUpParam selfPickUpParam) {
|
||||
startPage();
|
||||
selfPickUpParam.setPkSettleCountry(SecurityUtils.getPkCountry());
|
||||
// if (selfPickUpParam.getApproveStatus() == null) {
|
||||
// selfPickUpParam.setApproveStatus(EApproveRechargeStatus.SUBMIT.getValue());
|
||||
// }
|
||||
if (selfPickUpParam.getEndDate() != null) {
|
||||
selfPickUpParam.setEndDate(DateUtils.afterDate(1, ChronoUnit.DAYS, selfPickUpParam.getEndDate()));
|
||||
}
|
||||
|
@ -1170,7 +1017,6 @@ public class SaOrderBusinessController extends BaseController {
|
|||
*/
|
||||
@PostMapping("/validate-bind")
|
||||
public AjaxResult validateOrderBindBarCode(@RequestBody OrderQueryParam orderQueryParam) {
|
||||
log.info(orderQueryParam.getOrderCode());
|
||||
// 验证订单编号、订单类型是否存在
|
||||
if (StringUtils.isEmpty(orderQueryParam.getOrderCode())) {
|
||||
return AjaxResult.error(TransactionUtils.getContent(SaOrderMsgConstants.ORDER_CODE_EMPTY));
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
package com.hzs.sale.order.param;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import com.hzs.common.core.annotation.Transaction;
|
||||
import com.hzs.common.core.constant.EnumsPrefixConstants;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
@ -10,11 +7,7 @@ import java.util.Date;
|
|||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Description: 订单查询参数
|
||||
* @Author: sui q
|
||||
* @Time: 2022/10/19 16:49
|
||||
* @Classname: OrderQueryParam
|
||||
* @PackageName: com.hzs.sale.order.param
|
||||
* 订单查询参数
|
||||
*/
|
||||
@Data
|
||||
public class OrderQueryParam implements Serializable {
|
||||
|
|
|
@ -16,11 +16,7 @@ import java.util.List;
|
|||
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 {
|
||||
|
||||
|
@ -161,9 +157,6 @@ public interface IOrderBusinessService {
|
|||
*
|
||||
* @param orderCancelParam 参数
|
||||
* @param businessCode 审核验证的时候需要去掉自己
|
||||
* @return: Boolean
|
||||
* @Author: sui q
|
||||
* @Date: 2023/3/22 11:40
|
||||
*/
|
||||
ValidateCancelOrderVO validateCancelOrder(OrderCancelParam orderCancelParam, String... businessCode);
|
||||
|
||||
|
@ -191,9 +184,6 @@ public interface IOrderBusinessService {
|
|||
*
|
||||
* @param approvalBusinessResultDTO 参数
|
||||
* @param approvalBusiness 审核类型
|
||||
* @return: void
|
||||
* @Author: sui q
|
||||
* @Date: 2023/3/25 10:43
|
||||
*/
|
||||
String cancelOrderApprovalAgree(ApprovalBusinessResultDTO approvalBusinessResultDTO, Integer approvalBusiness);
|
||||
|
||||
|
@ -202,9 +192,6 @@ public interface IOrderBusinessService {
|
|||
*
|
||||
* @param approvalBusinessResultDTO 参数
|
||||
* @param approvalBusiness 审核类型
|
||||
* @return: void
|
||||
* @Author: sui q
|
||||
* @Date: 2023/3/25 10:43
|
||||
*/
|
||||
String cancelOrderApprovalReject(ApprovalBusinessResultDTO approvalBusinessResultDTO, Integer approvalBusiness);
|
||||
|
||||
|
@ -241,11 +228,7 @@ public interface IOrderBusinessService {
|
|||
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);
|
||||
|
||||
|
|
|
@ -203,7 +203,6 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService {
|
|||
dto.setPkAccount(serviceChargeDTO.getPkAccount());
|
||||
dto.setAccountKey(serviceChargeDTO.getAccountKey());
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -323,7 +322,6 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService {
|
|||
throw new ServiceException(tmpR.getMsg());
|
||||
}
|
||||
}
|
||||
|
||||
// 推送业务操作日志
|
||||
rabbitTemplate.convertAndSend(RabbitMqConstants.BUSINESS_LOG_EXCHANGE, RabbitMqConstants.BUSINESS_LOG_KEY, dtoList);
|
||||
|
||||
|
@ -1013,7 +1011,6 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public String returnOrderApprovalSubmit(OrderReturnParam param, LoginUser loginUser) {
|
||||
// 所属国家
|
||||
|
@ -1109,7 +1106,6 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService {
|
|||
// 订单变动日志
|
||||
List<SaOrderChargeLog> saOrderChargeLogList = new ArrayList<>();
|
||||
for (SaOrder tmpSaOrder : saOrderList) {
|
||||
|
||||
SaOrderChargeLog saOrderChargeLog = new SaOrderChargeLog();
|
||||
saOrderChargeLog.setPkOrder(saOrder.getPkId());
|
||||
saOrderChargeLog.setChargeType(EApprovalBusiness.ORDER_RETURN.getValue());
|
||||
|
@ -1149,7 +1145,6 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService {
|
|||
// 推送业务操作日志
|
||||
rabbitTemplate.convertAndSend(RabbitMqConstants.BUSINESS_LOG_EXCHANGE, RabbitMqConstants.BUSINESS_LOG_KEY, dtoList);
|
||||
}
|
||||
|
||||
return submitStr;
|
||||
}
|
||||
return TransactionUtils.getContent(CommonMsgConstants.OPERATION_FAILED);
|
||||
|
@ -1248,23 +1243,7 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService {
|
|||
return validateCancelOrderVO;
|
||||
}
|
||||
int approveBusiness = EApprovalBusiness.ORDER_CANCEL.getValue();
|
||||
SaOrderExt saOrderExt;
|
||||
// if (ECancelOrderType.OTHER_CANCEL_PART_ORDER.getValue() == orderCancelParam.getCancelType()) {
|
||||
// approveBusiness = EApprovalBusiness.ORDER_CANCEL_PRODUCT.getValue();
|
||||
// SaOrder orderQuery = SaOrder.builder().orderStatus(EOrderStatus.PAY.getValue()).orderCode(orderCancelParam.getOrderCode()).build();
|
||||
// orderQuery.setPkCountry(orderCancelParam.getPkCountry());
|
||||
//// List<Long> itemIdList = new ArrayList<>();
|
||||
//// if (orderCancelParam.getOrderCancelDetailParamList() != null && orderCancelParam.getOrderCancelDetailParamList().size() > 0) {
|
||||
//// orderCancelParam.getOrderCancelDetailParamList().forEach(orderCancelDetailParam ->
|
||||
//// itemIdList.add(orderCancelDetailParam.getPkId()));
|
||||
//// }
|
||||
// saOrderExt = iSaOrderService.querySaleOrderExtByOrderCode(orderQuery, new ArrayList<>());
|
||||
// CuMember cuMember = iSaOrderService.getCuMemberByKey(saOrderExt.getPkMember());
|
||||
// saOrderExt.setMemberCode(cuMember.getMemberCode());
|
||||
// saOrderExt.setMemberName(cuMember.getMemberName());
|
||||
// } else {
|
||||
saOrderExt = iSaOrderService.queryOrderByCode(orderCancelParam.getOrderCode(), orderCancelParam.getPkCountry());
|
||||
// }
|
||||
SaOrderExt saOrderExt = iSaOrderService.queryOrderByCode(orderCancelParam.getOrderCode(), orderCancelParam.getPkCountry());
|
||||
if (saOrderExt == null || EOrderStatus.WAIT_PAY.getValue() == saOrderExt.getOrderStatus()) {
|
||||
validateCancelOrderVO.setMsg(TransactionUtils.getContent(SaOrderMsgConstants.ORDER_EMPTY));
|
||||
return validateCancelOrderVO;
|
||||
|
@ -1272,7 +1251,6 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService {
|
|||
if (orderCancelParam.getCancelType().equals(ECancelOrderType.SINGLE_CANCEL_ORDER.getValue())
|
||||
|| orderCancelParam.getCancelType().equals(ECancelOrderType.MERGE_CANCEL_ORDER.getValue())
|
||||
|| orderCancelParam.getCancelType().equals(ECancelOrderType.OTHER_CANCEL_ORDER.getValue())
|
||||
// || orderCancelParam.getCancelType().equals(ECancelOrderType.OTHER_CANCEL_PART_ORDER.getValue())
|
||||
) {
|
||||
// 验证订单时间,只能撤销7天以内的支付订单
|
||||
// 周结只能撤销当前期间的订单,不能撤销上个期间的订单
|
||||
|
@ -1460,9 +1438,6 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService {
|
|||
String businessCode = CommonUtil.createSerialNumber(EOrderPrefix.DEFAULT);
|
||||
// 修改类型
|
||||
EApprovalBusiness approveBusiness = EApprovalBusiness.ORDER_CANCEL;
|
||||
// if (ECancelOrderType.OTHER_CANCEL_PART_ORDER.getValue() == orderCancelParam.getCancelType()) {
|
||||
// approveBusiness = EApprovalBusiness.ORDER_CANCEL_PRODUCT;
|
||||
// }
|
||||
|
||||
// 封装修改地址业务日志
|
||||
List<BusinessLogDTO> dtoList = new ArrayList<>();
|
||||
|
@ -1549,13 +1524,6 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService {
|
|||
orderCancelParam.setMemberCode(cuMember.getMemberCode());
|
||||
orderCancelParam.setMemberName(cuMember.getMemberName());
|
||||
EApprovalBusiness approveBusiness = EApprovalBusiness.ORDER_CANCEL;
|
||||
// if (ECancelOrderType.OTHER_CANCEL_PART_ORDER.getValue() == orderCancelParam.getCancelType()) {
|
||||
// approveBusiness = EApprovalBusiness.ORDER_CANCEL_PRODUCT;
|
||||
//// List<OrderCancelDetailParam> orderCancelDetailParamList = new ArrayList<>();
|
||||
//// orderCancelParam.getOrderCancelDetailParamList().forEach(orderCancelDetailParam ->
|
||||
//// orderCancelDetailParamList.add(BeanUtil.copyProperties(orderCancelDetailParam, OrderCancelDetailParam.class)));
|
||||
//// orderCancelParam.setOrderCancelDetailParamList(orderCancelDetailParamList);
|
||||
// }
|
||||
// 本次业务修改费用
|
||||
Map<Long, OrderQueryChargeDTO> queryChargeMap = null;
|
||||
if (orderCancelParam.getCancelRoad() == null || orderCancelParam.getCancelRoad() != 2) {
|
||||
|
|
|
@ -1265,9 +1265,6 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
|||
BusinessCommissionDTO businessCommissionDTO = null;
|
||||
if (orderCancelParam.getCancelRoad() == 1) {
|
||||
EApprovalBusiness approveBusiness = EApprovalBusiness.ORDER_CANCEL;
|
||||
// if (ECancelOrderType.OTHER_CANCEL_PART_ORDER.getValue() == orderCancelParam.getCancelType()) {
|
||||
// approveBusiness = EApprovalBusiness.ORDER_CANCEL_PRODUCT;
|
||||
// }
|
||||
Map<Long, OrderQueryChargeDTO> queryChargeMap = iOrderBusinessService.queryChargeLog(Collections.singletonList(validateCancelOrderVO.getSaOrderExt()),
|
||||
approveBusiness, orderCancelParam.getPkCountry());
|
||||
if (queryChargeMap != null && queryChargeMap.containsKey(saOrderExt.getPkId())) {
|
||||
|
@ -1296,47 +1293,6 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
|||
}
|
||||
}
|
||||
|
||||
// if (ECancelOrderType.OTHER_CANCEL_PART_ORDER.getValue() == orderCancelParam.getCancelType()) {
|
||||
// List<OrderCancelDetailParam> orderCancelDetailParamList = orderCancelParam.getOrderCancelDetailParamList();
|
||||
// List<Long> pkOrderItemList = orderCancelDetailParamList.stream().map(OrderCancelDetailParam::getPkId).collect(Collectors.toList());
|
||||
// // 第二次封装订单,根据明细表计算订单主表金额、业绩
|
||||
// saOrderExt.setOrderAmount(BigDecimal.ZERO);
|
||||
// saOrderExt.setOrderAchieve(BigDecimal.ZERO);
|
||||
// saOrderExt.setOrderAssAchieve(BigDecimal.ZERO);
|
||||
// saOrderExt.setBackOrderAmount(BigDecimal.ZERO);
|
||||
// List<SaOrderItems> saOrderItemsList = new ArrayList<>();
|
||||
// saOrderExt.getOrderItemsList().forEach(saOrderItems -> {
|
||||
// if (pkOrderItemList.contains(saOrderItems.getPkId())) {
|
||||
// saOrderExt.setBackOrderAmount(ComputeUtil.computeAddMultiply(saOrderExt.getBackOrderAmount(), saOrderItems.getPrice(), saOrderItems.getQuantity()));
|
||||
// return;
|
||||
// }
|
||||
// // 总价;
|
||||
// saOrderExt.setOrderAmount(ComputeUtil.computeAddMultiply(saOrderExt.getOrderAmount(), saOrderItems.getPrice(), saOrderItems.getQuantity()));
|
||||
// // 总业绩
|
||||
// saOrderExt.setOrderAchieve(ComputeUtil.computeAddMultiply(saOrderExt.getOrderAchieve(), saOrderItems.getAchievement(), saOrderItems.getQuantity()));
|
||||
// // 总考核业绩
|
||||
// saOrderExt.setOrderAssAchieve(ComputeUtil.computeAddMultiply(saOrderExt.getOrderAssAchieve(), saOrderItems.getAssAchievement(), saOrderItems.getQuantity()));
|
||||
// saOrderItemsList.add(saOrderItems);
|
||||
// });
|
||||
// saOrderExt.setUploadAchieve(saOrderExt.getOrderAchieve());
|
||||
// if (saOrderItemsList.size() == 0) {
|
||||
// saOrderExt.setDelFlag(EDelFlag.DELETE.getValue());
|
||||
// } else {
|
||||
// saOrderExt.setOrderItemsList(saOrderItemsList);
|
||||
// }
|
||||
// // 修改订单
|
||||
// Date currentDateTime = DateUtils.currentDateTime();
|
||||
// // 删除发货单
|
||||
// iSaDeliverItemsService.deleteSaDeliverItems(saOrderExt.getPkId(), pkOrderItemList);
|
||||
// updateSaOrder(pkApprove, saOrderExt, currentDateTime);
|
||||
// // 删除订单明细
|
||||
// if (!iSaOrderItemsService.updateOrderItemsById(pkOrderItemList, pkApprove, currentDateTime)) {
|
||||
// throw new ServiceException("更新订单失败");
|
||||
// }
|
||||
// if (!iMemberServiceApi.normalRevokeOrder(pkApprove, saOrderExt, null, businessCommissionDTO).getData()) {
|
||||
// throw new ServiceException("撤单失败");
|
||||
// }
|
||||
// } else {
|
||||
// 删除订单
|
||||
saOrderExt.setDelFlag(EDelFlag.DELETE.getValue());
|
||||
Date currentDate = DateUtils.currentDateTime();
|
||||
|
@ -1355,7 +1311,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
|||
// 撤销注册订单 单点撤单
|
||||
if (ECancelOrderType.SINGLE_CANCEL_ORDER.getValue() == orderCancelParam.getCancelType()) {
|
||||
// 单点撤单,变死点
|
||||
R<Boolean> tmpR = iMemberServiceApi.singleRevokeMemberByRegisterOrder(pkApprove, saOrderExt, businessCommissionDTO);
|
||||
R<Boolean> tmpR = iMemberServiceApi.singleRevokeMemberByRegisterOrder(pkApprove, saOrderExt, businessCommissionDTO, false);
|
||||
if (!tmpR.isSuccess()) {
|
||||
throw new ServiceException("撤单失败 " + tmpR.getMsg());
|
||||
}
|
||||
|
@ -1375,9 +1331,8 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
|||
}
|
||||
} else {
|
||||
// 其他撤单
|
||||
this.handleCancelUpgradeOrder(saOrderExt, validateCancelOrderVO.getUpdSaOrder(), pkApprove, businessCommissionDTO);
|
||||
this.handleCancelUpgradeOrder(saOrderExt, pkApprove, businessCommissionDTO);
|
||||
}
|
||||
// }
|
||||
|
||||
try {
|
||||
// 推送MQ的列表
|
||||
|
@ -1811,12 +1766,13 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
|||
// 撤销注册订单
|
||||
if (myOrderVO.getOrderType() == EOrderType.RETAIL_REGISTER.getValue()) {
|
||||
// 逻辑删除会员
|
||||
if (!iMemberServiceApi.singleRevokeMemberBySelfRevokeOrder(pkApprove, saOrderExt, businessCommissionDTO).getData()) {
|
||||
throw new ServiceException("撤单失败");
|
||||
R<Boolean> tmpR = iMemberServiceApi.singleRevokeMemberByRegisterOrder(pkApprove, saOrderExt, businessCommissionDTO, true);
|
||||
if (!tmpR.isSuccess()) {
|
||||
throw new ServiceException("撤单失败 " + tmpR.getMsg());
|
||||
}
|
||||
} else {
|
||||
// 其他撤单
|
||||
this.handleCancelUpgradeOrder(saOrderExt, myOrderVO.getUpdSaOrder(), pkApprove, businessCommissionDTO);
|
||||
this.handleCancelUpgradeOrder(saOrderExt, pkApprove, businessCommissionDTO);
|
||||
}
|
||||
|
||||
try {
|
||||
|
@ -2026,59 +1982,32 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
|||
return flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* 计算新零售撤单等级
|
||||
*
|
||||
* @param cuMember 会员信息
|
||||
* @param saOrder 订单信息
|
||||
* @return
|
||||
*/
|
||||
private GradeDTO calculateRetailCancelGrade(CuMember cuMember, SaOrder saOrder) {
|
||||
// 查询会员最新升级记录
|
||||
CuMemberLevel cuMemberLevel = iCuMemberDetailServiceApi.getLastUpgrade(cuMember.getPkId(), saOrder.getPkId()).getData();
|
||||
if (null != cuMemberLevel) {
|
||||
return iGradeServiceApi.getGrade(cuMemberLevel.getNewLevel()).getData();
|
||||
}
|
||||
|
||||
// 没有升级记录,直接查会员注册信息表
|
||||
CuMemberRegister cuMemberRegister = iCuMemberDetailServiceApi.getMemberRegister(cuMember.getPkId()).getData();
|
||||
if (null == cuMemberRegister) {
|
||||
throw new ServiceException("没有会员注册信息");
|
||||
}
|
||||
return iGradeServiceApi.getGrade(cuMemberRegister.getPkRegisterGrade()).getData();
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理撤销订单
|
||||
*
|
||||
* @param saOrderExt 订单信息
|
||||
* @param updSaOrder 升级订单
|
||||
* @param pkApprove 操作人
|
||||
* @param businessCommissionDTO 业务处理DTO
|
||||
*/
|
||||
private void handleCancelUpgradeOrder(SaOrderExt saOrderExt, SaOrder updSaOrder, Long pkApprove, BusinessCommissionDTO businessCommissionDTO) {
|
||||
private void handleCancelUpgradeOrder(SaOrderExt saOrderExt, Long pkApprove, BusinessCommissionDTO businessCommissionDTO) {
|
||||
// 其他撤单 撤销升级订单
|
||||
CuMember cuMember = getCuMemberByKey(saOrderExt.getPkMember());
|
||||
if (EOrderType.RETAIL_UPGRADE.getValue() == saOrderExt.getOrderType()) {
|
||||
// 计算等级
|
||||
// 空单注册,从cu_member_register中获取
|
||||
if (updSaOrder == null) {
|
||||
CuMemberRegister cuMemberRegister = iMemberServiceApi.queryCuMemberRegister(saOrderExt.getPkMember()).getData();
|
||||
cuMember.setPkRegisterGrade(cuMemberRegister.getPkRegisterGrade());
|
||||
cuMember.setPkSettleGrade(cuMemberRegister.getPkRegisterGrade());
|
||||
cuMember.setConsumeMoney(BigDecimal.ZERO);
|
||||
cuMember.setConsumeAchieve(cuMemberRegister.getConsumeAchieve());
|
||||
|
||||
// 查询会员最新升级记录
|
||||
CuMemberLevel cuMemberLevel = iCuMemberDetailServiceApi.getLastUpgrade(cuMember.getPkId(), saOrderExt.getPkId()).getData();
|
||||
if (null != cuMemberLevel) {
|
||||
cuMember.setPkSettleGrade(cuMemberLevel.getNewLevel());
|
||||
}
|
||||
} else {
|
||||
// 传的订单是当前撤的订单
|
||||
GradeDTO gradeDTO = calculateRetailCancelGrade(cuMember, saOrderExt);
|
||||
cuMember.setPkSettleGrade(gradeDTO.getPkId());
|
||||
// 查询会员最新升级记录(主要是手动升级记录)
|
||||
CuMemberLevel cuMemberLevel = iCuMemberDetailServiceApi.getLastUpgrade(cuMember.getPkId(), saOrderExt.getPkId(), null).getData();
|
||||
if (null != cuMemberLevel) {
|
||||
cuMember.setPkSettleGrade(cuMemberLevel.getNewLevel());
|
||||
}
|
||||
// 当前订单之前没有注册、升级订单,从空单注册cu_member_register中获取
|
||||
CuMemberRegister cuMemberRegister = iMemberServiceApi.queryCuMemberRegister(cuMember.getPkId()).getData();
|
||||
if (null == cuMemberRegister) {
|
||||
throw new ServiceException("没有会员注册信息");
|
||||
}
|
||||
cuMember.setPkRegisterGrade(cuMemberRegister.getPkRegisterGrade());
|
||||
cuMember.setPkSettleGrade(cuMemberRegister.getPkRegisterGrade());
|
||||
cuMember.setConsumeMoney(BigDecimal.ZERO);
|
||||
cuMember.setConsumeAchieve(cuMemberRegister.getConsumeAchieve());
|
||||
|
||||
Date firstDate = baseMapper.getFirstPayTime(cuMember.getPkId());
|
||||
if (null == firstDate) {
|
||||
|
|
|
@ -15,16 +15,6 @@ public class CommonMsgConstants {
|
|||
*/
|
||||
public static final String OPERATION_FAILED = "操作失败";
|
||||
|
||||
/**
|
||||
* 一般用于三方对接,处理失败,用户刷新后可以重新进行操作提示 -- 操作失败,请刷新后重试
|
||||
*/
|
||||
public static final String OPERATION_FAILED_FLUSH = "操作失败,请刷新后重试";
|
||||
|
||||
/**
|
||||
* 用户已转结算国,不能进行处理相关操作 -- 用户已转结算国,不能进行操作
|
||||
*/
|
||||
public static final String SETTLEMENT_COUNTRY_NOT_OPERATE = "用户已转结算国,不能进行操作";
|
||||
|
||||
/**
|
||||
* 签呈处理失败 -- 签呈处理失败
|
||||
*/
|
||||
|
|
Loading…
Reference in New Issue