## 在线支付退款位置调整;北大分支隐藏乐学相关专区;
This commit is contained in:
parent
7e93ed352f
commit
7ccef120e2
|
@ -129,7 +129,8 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
|
|||
private ICuMemberSettlePeriodService iCuMemberSettlePeriodService;
|
||||
|
||||
@DubboReference
|
||||
private ITOnlinePaymentServiceApi itOnlinePaymentServiceApi;
|
||||
ITOnlinePaymentServiceApi itOnlinePaymentServiceApi;
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void updateCuMember(CuMember cuMember) {
|
||||
|
@ -631,11 +632,6 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
|
|||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean singleRevokeMemberByRegisterOrder(Long pkApprove, SaOrderExt saOrder, BusinessCommissionDTO businessCommissionDTO) {
|
||||
deductCancelOrderCost(businessCommissionDTO);
|
||||
|
||||
CuMemberAccount payMemberAccount;
|
||||
// 默认回退给创建人
|
||||
payMemberAccount = iCuMemberAccountService.queryCuMemberAccountByPkMember(saOrder.getPkCreator());
|
||||
|
||||
if (EOrderType.REGISTER_ORDER.getValue() == saOrder.getOrderType() ||
|
||||
EOrderType.SPECIAL_REGISTER_ORDER.getValue() == saOrder.getOrderType()) {
|
||||
// 会员账号 验证会员账户是否存在金额
|
||||
|
@ -653,7 +649,16 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
|
|||
cuMemberRegister.setPkModified(saOrder.getPkCreator());
|
||||
iCuMemberRegisterService.updateCuMemberRegister(cuMemberRegister);
|
||||
}
|
||||
cancelOrderBackAccount(pkApprove, saOrder, payMemberAccount);
|
||||
|
||||
if (saOrder.getPayType().equals(EOrderPayType.WALLET.getValue())) {
|
||||
// 钱包支付,则需要回退金额
|
||||
// 默认回退给创建人
|
||||
CuMemberAccount payMemberAccount = iCuMemberAccountService.queryCuMemberAccountByPkMember(saOrder.getPkCreator());
|
||||
cancelOrderBackAccount(pkApprove, saOrder, payMemberAccount);
|
||||
} else {
|
||||
// 在线支付,处理退款
|
||||
this.handleOnlineRefund(saOrder);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -685,7 +690,13 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
|
|||
updateWrapperRegister.eq(CuMemberRegister::getPkMember, member.getPkId());
|
||||
iCuMemberRegisterService.update(updateWrapperRegister);
|
||||
}
|
||||
cancelOrderBackAccount(pkApprove, saOrder, payMemberAccount);
|
||||
if (saOrder.getPayType().equals(EOrderPayType.WALLET.getValue())) {
|
||||
// 钱包支付,则需要回退金额
|
||||
cancelOrderBackAccount(pkApprove, saOrder, payMemberAccount);
|
||||
} else {
|
||||
// 在线支付,处理退款
|
||||
this.handleOnlineRefund(saOrder);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -904,7 +915,6 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
|
|||
for (int i = memberList.size() - 1; i >= 0; i--) {
|
||||
Long pkMember = memberList.get(i);
|
||||
SaOrderExt saOrder = saOrderMap.get(pkMember);
|
||||
CuMember cuMember = iCuMemberService.getMemberById(pkMember);
|
||||
// 删除等级
|
||||
iCuMemberLevelService.deleteCuMemberLevelRecord(saOrder.getPkId(), pkApprove, currentDateTime);
|
||||
// 回退奖衔,根据订单从 cu_member_awards查询
|
||||
|
@ -917,8 +927,21 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
|
|||
cuMemberRegister.setPkCountry(saOrder.getPkCountry());
|
||||
cuMemberRegister.setPkModified(saOrder.getPkCreator());
|
||||
iCuMemberRegisterService.updateCuMemberRegister(cuMemberRegister);
|
||||
CuMemberAccount payMemberAccount = cuMemberAccountMap.get(saOrder.getPkCreator());
|
||||
cancelOrderBackAccount(pkApprove, saOrder, payMemberAccount);
|
||||
|
||||
if (saOrder.getPayType().equals(EOrderPayType.WALLET.getValue())) {
|
||||
// 钱包支付,则需要回退金额
|
||||
CuMemberAccount payMemberAccount = cuMemberAccountMap.get(saOrder.getPkCreator());
|
||||
cancelOrderBackAccount(pkApprove, saOrder, payMemberAccount);
|
||||
}
|
||||
}
|
||||
for (int i = memberList.size() - 1; i >= 0; i--) {
|
||||
Long pkMember = memberList.get(i);
|
||||
SaOrderExt saOrder = saOrderMap.get(pkMember);
|
||||
|
||||
if (saOrder.getPayType().equals(EOrderPayType.ONLINE.getValue())) {
|
||||
// 在线支付,处理退款
|
||||
this.handleOnlineRefund(saOrder);
|
||||
}
|
||||
}
|
||||
return Boolean.TRUE;
|
||||
}
|
||||
|
@ -945,13 +968,19 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
|
|||
// 回退奖衔,根据订单从 cu_member_awards查询
|
||||
iCuMemberAwardsService.deleteCuMemberAwards(saOrder.getPkId(), pkApprove, currentDateTime);
|
||||
}
|
||||
// 部分撤单 todo 发货后邮费不退,未发货退邮费
|
||||
if (saOrder.getBackOrderAmount() != null && ComputeUtil.compareValue(saOrder.getBackOrderAmount())) {
|
||||
cancelPartOrderBackAmount(pkApprove, saOrder);
|
||||
if (saOrder.getPayType().equals(EOrderPayType.WALLET.getValue())) {
|
||||
// 钱包支付,则需要回退金额
|
||||
// 部分撤单
|
||||
if (saOrder.getBackOrderAmount() != null && ComputeUtil.compareValue(saOrder.getBackOrderAmount())) {
|
||||
cancelPartOrderBackAmount(pkApprove, saOrder);
|
||||
} else {
|
||||
CuMemberAccount payMemberAccount = iCuMemberAccountService.queryCuMemberAccountByPkMember(saOrder.getPkCreator());
|
||||
// 回退账号余额
|
||||
cancelOrderBackAccount(pkApprove, saOrder, payMemberAccount);
|
||||
}
|
||||
} else {
|
||||
CuMemberAccount payMemberAccount = iCuMemberAccountService.queryCuMemberAccountByPkMember(saOrder.getPkCreator());
|
||||
// 回退账号余额
|
||||
cancelOrderBackAccount(pkApprove, saOrder, payMemberAccount);
|
||||
// 在线支付,处理退款
|
||||
this.handleOnlineRefund(saOrder);
|
||||
}
|
||||
return Boolean.TRUE;
|
||||
}
|
||||
|
@ -1612,4 +1641,22 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
|
|||
|
||||
}
|
||||
|
||||
/**
|
||||
* 在线支付退款
|
||||
*
|
||||
* @param saOrder
|
||||
*/
|
||||
private void handleOnlineRefund(SaOrderExt saOrder) {
|
||||
R<TOnlinePayment> onlinePaymentR = itOnlinePaymentServiceApi.getOnlinePayment(saOrder.getOrderCode());
|
||||
if (ObjectUtil.isNotEmpty(onlinePaymentR)) {
|
||||
TOnlinePayment onlinePayment = onlinePaymentR.getData();
|
||||
if (ObjectUtil.isNotEmpty(onlinePayment)) {
|
||||
R<String> result = itOnlinePaymentServiceApi.refund(saOrder.getOrderCode(), saOrder.getPkCreator());
|
||||
if (!result.isSuccess()) {
|
||||
throw new ServiceException(result.getMsg());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -21,7 +21,6 @@ import com.hzs.common.core.service.RedisService;
|
|||
import com.hzs.common.core.utils.*;
|
||||
import com.hzs.common.core.utils.reflect.ReflectUtils;
|
||||
import com.hzs.common.domain.member.account.CuMemberAccount;
|
||||
import com.hzs.common.domain.member.account.CuMemberTrade;
|
||||
import com.hzs.common.domain.member.base.CuMember;
|
||||
import com.hzs.common.domain.member.base.CuMemberRegister;
|
||||
import com.hzs.common.domain.member.base.CuMemberShare;
|
||||
|
@ -49,7 +48,6 @@ import com.hzs.member.account.dto.CuMemberBankParam;
|
|||
import com.hzs.member.account.dto.MemberAmountDTO;
|
||||
import com.hzs.member.achieve.IMemberAchieveServiceApi;
|
||||
import com.hzs.member.base.IMemberServiceApi;
|
||||
import com.hzs.member.base.dto.MemberContinueDTO;
|
||||
import com.hzs.member.detail.ICuMemberDetailServiceApi;
|
||||
import com.hzs.member.detail.ICuMemberServiceLogServiceApi;
|
||||
import com.hzs.sale.deliver.param.DeliverSecondParam;
|
||||
|
@ -67,7 +65,6 @@ import com.hzs.system.base.IAreaServiceApi;
|
|||
import com.hzs.system.base.ICountryServiceApi;
|
||||
import com.hzs.system.base.ICurrencyServiceApi;
|
||||
import com.hzs.system.base.ISystemConfigServiceApi;
|
||||
import com.hzs.system.base.dto.CountryDTO;
|
||||
import com.hzs.system.base.dto.CurrencyDTO;
|
||||
import com.hzs.system.config.IAreaCurrencyServiceApi;
|
||||
import com.hzs.system.config.IAwardsServiceApi;
|
||||
|
@ -80,7 +77,6 @@ import com.hzs.system.sys.dto.ApprovalBusinessResultDTO;
|
|||
import com.hzs.system.sys.dto.ApprovalSubmitDTO;
|
||||
import com.hzs.system.sys.dto.LoginUser;
|
||||
import com.hzs.third.pay.ITOnlinePaymentServiceApi;
|
||||
import com.hzs.third.sms.ISmsServiceApi;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.dubbo.config.annotation.DubboReference;
|
||||
import org.springframework.amqp.rabbit.core.RabbitTemplate;
|
||||
|
@ -134,9 +130,8 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
|||
ICuMemberDetailServiceApi iCuMemberDetailServiceApi;
|
||||
@DubboReference
|
||||
ICuMemberAgreementWhiteApi cuMemberAgreementWhiteApi;
|
||||
|
||||
@DubboReference
|
||||
private ITOnlinePaymentServiceApi itOnlinePaymentServiceApi;
|
||||
ITOnlinePaymentServiceApi itOnlinePaymentServiceApi;
|
||||
|
||||
@Autowired
|
||||
private IBdWaresService iBdWaresService;
|
||||
|
@ -1585,37 +1580,11 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
|||
}
|
||||
cuMember.setConsumeAchieve(gradeDTO.getStartValue());
|
||||
}
|
||||
|
||||
// 乐学升级需要扣除代金券
|
||||
if (EOrderType.SPECIAL_UPGRADE_ORDER.getValue() == saOrderExt.getOrderType()) {
|
||||
iAcPickService.deductionsCouponByOrder(saOrderExt.getPkMember(), saOrderExt.getPkId());
|
||||
}
|
||||
} else if (EOrderType.PICK_ORDER.getValue() == saOrderExt.getOrderType()) {
|
||||
// 提货订单
|
||||
if (!iAcPickService.cancelPickOrder(saOrderExt.getOrderCode(), pkApprove)) {
|
||||
throw new RuntimeException("撤销订单退还提货失败");
|
||||
}
|
||||
} else if (EOrderType.SPECIAL_REPURCHASE_ORDER.getValue() == saOrderExt.getOrderType()) {
|
||||
// 乐学复购订单(订单明细中非赠品的商品数量求和,就是需要退的代金券数量)
|
||||
// 需要退的代金券数量
|
||||
int returnNum = 0;
|
||||
if (CollectionUtil.isNotEmpty(saOrderExt.getOrderItemsExtList())) {
|
||||
for (SaOrderItems saOrderItems : saOrderExt.getOrderItemsExtList()) {
|
||||
if (EYesNo.NO.getIntValue() == saOrderItems.getIsGift()) {
|
||||
returnNum += saOrderItems.getWaresQuantity();
|
||||
}
|
||||
}
|
||||
} else if (CollectionUtil.isNotEmpty(saOrderExt.getOrderItemsList())) {
|
||||
for (SaOrderItems saOrderItems : saOrderExt.getOrderItemsList()) {
|
||||
if (EYesNo.NO.getIntValue() == saOrderItems.getIsGift()) {
|
||||
returnNum += saOrderItems.getWaresQuantity();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (returnNum != 0) {
|
||||
iAcPickService.updatePickUsableByMember(saOrderExt.getPkCreator(), EPickType.COUPON.getValue(), null, null, returnNum, pkApprove);
|
||||
}
|
||||
}
|
||||
|
||||
if (!memberServiceApi.normalRevokeOrder(pkApprove, saOrderExt, cuMember, null, businessCommissionDTO).getData()) {
|
||||
|
@ -2399,54 +2368,29 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
|||
|
||||
cuMember.setConsumeAchieve(gradeDTO.getStartValue());
|
||||
}
|
||||
|
||||
// 乐学升级需要抽除代金券
|
||||
if (EOrderType.SPECIAL_UPGRADE_ORDER.getValue() == saOrderExt.getOrderType()) {
|
||||
iAcPickService.deductionsCouponByOrder(saOrderExt.getPkMember(), saOrderExt.getPkId());
|
||||
}
|
||||
} else if (myOrderVO.getOrderType() == EOrderType.PICK_ORDER.getValue()) {
|
||||
//提货订单退还提货数量
|
||||
if (!iAcPickService.cancelPickOrder(saOrderExt.getOrderCode(), pkApprove)) {
|
||||
throw new RuntimeException("撤单失败");
|
||||
}
|
||||
} else if (EOrderType.SPECIAL_REPURCHASE_ORDER.getValue() == saOrderExt.getOrderType()) {
|
||||
// 乐学复购订单(订单明细中非赠品的商品数量求和,就是需要退的代金券数量)
|
||||
// 需要退的代金券数量
|
||||
int returnNum = 0;
|
||||
if (CollectionUtil.isNotEmpty(saOrderExt.getOrderItemsExtList())) {
|
||||
for (SaOrderItems saOrderItems : saOrderExt.getOrderItemsExtList()) {
|
||||
if (EYesNo.NO.getIntValue() == saOrderItems.getIsGift()) {
|
||||
returnNum += saOrderItems.getWaresQuantity();
|
||||
}
|
||||
}
|
||||
} else if (CollectionUtil.isNotEmpty(saOrderExt.getOrderItemsList())) {
|
||||
for (SaOrderItems saOrderItems : saOrderExt.getOrderItemsList()) {
|
||||
if (EYesNo.NO.getIntValue() == saOrderItems.getIsGift()) {
|
||||
returnNum += saOrderItems.getWaresQuantity();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (returnNum != 0) {
|
||||
iAcPickService.updatePickUsableByMember(saOrderExt.getPkCreator(), EPickType.COUPON.getValue(), null, null, returnNum, pkApprove);
|
||||
}
|
||||
}
|
||||
|
||||
if (!memberServiceApi.normalRevokeOrder(pkApprove, saOrderExt, cuMember, null, businessCommissionDTO).getData()) {
|
||||
throw new RuntimeException("撤单失败");
|
||||
}
|
||||
}
|
||||
R<TOnlinePayment> onlinePaymentR = itOnlinePaymentServiceApi.getOnlinePayment(saOrderExt.getOrderCode());
|
||||
TOnlinePayment onlinePayment;
|
||||
if(ObjectUtil.isNotEmpty(onlinePaymentR)){
|
||||
onlinePayment = onlinePaymentR.getData();
|
||||
if(ObjectUtil.isNotEmpty(onlinePayment)){
|
||||
R result = itOnlinePaymentServiceApi.refund(saOrderExt.getOrderCode(), SecurityUtils.getUserId());
|
||||
if(!result.isSuccess()){
|
||||
throw new ServiceException(result.getMsg());
|
||||
}
|
||||
}
|
||||
}
|
||||
// 在线支付退款,已经迁移到调用member服务处理明细位置
|
||||
// R<TOnlinePayment> onlinePaymentR = itOnlinePaymentServiceApi.getOnlinePayment(saOrderExt.getOrderCode());
|
||||
// TOnlinePayment onlinePayment;
|
||||
// if(ObjectUtil.isNotEmpty(onlinePaymentR)){
|
||||
// onlinePayment = onlinePaymentR.getData();
|
||||
// if(ObjectUtil.isNotEmpty(onlinePayment)){
|
||||
// R result = itOnlinePaymentServiceApi.refund(saOrderExt.getOrderCode(), SecurityUtils.getUserId());
|
||||
// if(!result.isSuccess()){
|
||||
// throw new ServiceException(result.getMsg());
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
try {
|
||||
// 验证订单是否有仓库,有仓库的可以回退,没有的回退
|
||||
if (saOrderExt.getPkStorehouse() != null) {
|
||||
|
|
|
@ -1115,7 +1115,7 @@ public class EnumsController extends BaseController {
|
|||
public AjaxResult orderType() {
|
||||
List<EnumEntity> enumEntityList = new ArrayList<>();
|
||||
for (EOrderType value : EOrderType.values()) {
|
||||
enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.ORDER_TYPE));
|
||||
enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel()));
|
||||
}
|
||||
return AjaxResult.success(enumEntityList);
|
||||
}
|
||||
|
|
|
@ -52,17 +52,17 @@ public enum EOrderType {
|
|||
/**
|
||||
* 乐学注册订单
|
||||
*/
|
||||
SPECIAL_REGISTER_ORDER(24, "乐学注册订单", 0, EnumsPrefixConstants.ORDER_TYPE + 24),
|
||||
SPECIAL_REGISTER_ORDER(24, "乐学注册订单", 1, EnumsPrefixConstants.ORDER_TYPE + 24),
|
||||
|
||||
/**
|
||||
* 乐学升级订单
|
||||
*/
|
||||
SPECIAL_UPGRADE_ORDER(25, "乐学升级订单", 0, EnumsPrefixConstants.ORDER_TYPE + 25),
|
||||
SPECIAL_UPGRADE_ORDER(25, "乐学升级订单", 1, EnumsPrefixConstants.ORDER_TYPE + 25),
|
||||
|
||||
/**
|
||||
* 乐学甄选订单
|
||||
*/
|
||||
SPECIAL_REPURCHASE_ORDER(26, "乐学甄选", 0, EnumsPrefixConstants.ORDER_TYPE + 26),
|
||||
SPECIAL_REPURCHASE_ORDER(26, "乐学甄选", 1, EnumsPrefixConstants.ORDER_TYPE + 26),
|
||||
|
||||
/**
|
||||
* 续约订单
|
||||
|
|
Loading…
Reference in New Issue