增加系统自动退款 相关逻辑。
This commit is contained in:
parent
a39a0ab475
commit
ff2b096a39
@ -280,7 +280,7 @@ public class StateCode {
|
|||||||
public static final int RETURN_PROCESS_CHECK = 3105; //退单审核1ReturnReturn
|
public static final int RETURN_PROCESS_CHECK = 3105; //退单审核1ReturnReturn
|
||||||
public static final int RETURN_PROCESS_RECEIVED = 3110; //收货确认0ReturnReturn
|
public static final int RETURN_PROCESS_RECEIVED = 3110; //收货确认0ReturnReturn
|
||||||
public static final int RETURN_PROCESS_REFUND = 3115; //退款确认0ReturnReturn
|
public static final int RETURN_PROCESS_REFUND = 3115; //退款确认0ReturnReturn
|
||||||
public static final int RETURN_PROCESS_RECEIPT_CONFIRMATION = 3120; //客户】收款确认0ReturnReturn
|
public static final int RETURN_PROCESS_RECEIPT_CONFIRMATION = 3120; //【客户】收款确认0ReturnReturn
|
||||||
public static final int RETURN_PROCESS_FINISH = 3125; //完成1ReturnReturn3130-商家拒绝退货
|
public static final int RETURN_PROCESS_FINISH = 3125; //完成1ReturnReturn3130-商家拒绝退货
|
||||||
public static final int RETURN_PROCESS_REFUSED = 3130; //-商家拒绝退货
|
public static final int RETURN_PROCESS_REFUSED = 3130; //-商家拒绝退货
|
||||||
public static final int RETURN_PROCESS_CANCEL = 3135; //-买家取消
|
public static final int RETURN_PROCESS_CANCEL = 3135; //-买家取消
|
||||||
|
|||||||
@ -134,6 +134,15 @@ public interface PayService {
|
|||||||
@PostMapping(value = "/admin/pay/payController/aliPayRefund")
|
@PostMapping(value = "/admin/pay/payController/aliPayRefund")
|
||||||
ShopOrderReturn aliPayRefund(@RequestBody ShopOrderReturn return_row);
|
ShopOrderReturn aliPayRefund(@RequestBody ShopOrderReturn return_row);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 拉卡拉退款接口
|
||||||
|
*
|
||||||
|
* @param orderReturn
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@PostMapping(value = "/lklPayRefund")
|
||||||
|
ShopOrderReturn lklPayRefund(@RequestBody ShopOrderReturn orderReturn);
|
||||||
|
|
||||||
// 次卡处理发卡
|
// 次卡处理发卡
|
||||||
@PostMapping(value = "/card/pay/pay-card-info/editPayCard")
|
@PostMapping(value = "/card/pay/pay-card-info/editPayCard")
|
||||||
boolean editPayCard(@RequestParam(name = "order_id") String order_id,
|
boolean editPayCard(@RequestParam(name = "order_id") String order_id,
|
||||||
|
|||||||
@ -385,6 +385,12 @@ public class PayController {
|
|||||||
return shopOrderReturn;
|
return shopOrderReturn;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ApiOperation(value = "拉卡拉退款", notes = "拉卡拉退款")
|
||||||
|
@RequestMapping(value = "/lklPayRefund", method = RequestMethod.POST)
|
||||||
|
public ShopOrderReturn lklPayRefund(@RequestBody ShopOrderReturn orderReturn) {
|
||||||
|
return payUserPayService.wxPayRefund(orderReturn);
|
||||||
|
}
|
||||||
|
|
||||||
@ApiOperation(value = "获取用户资源信息", notes = "获取用户资源信息")
|
@ApiOperation(value = "获取用户资源信息", notes = "获取用户资源信息")
|
||||||
@RequestMapping(value = "/resource", method = RequestMethod.GET)
|
@RequestMapping(value = "/resource", method = RequestMethod.GET)
|
||||||
public CommonResult resourceIndex() {
|
public CommonResult resourceIndex() {
|
||||||
|
|||||||
@ -49,6 +49,14 @@ public interface PayUserPayService extends IBaseService<PayUserPay> {
|
|||||||
*/
|
*/
|
||||||
ShopOrderReturn wxPayRefund(ShopOrderReturn orderReturn);
|
ShopOrderReturn wxPayRefund(ShopOrderReturn orderReturn);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 拉卡拉 退款接口
|
||||||
|
*
|
||||||
|
* @param orderReturn
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
ShopOrderReturn lklPayRefund(ShopOrderReturn orderReturn);
|
||||||
|
|
||||||
void wxRefundNotify(HttpServletRequest request);
|
void wxRefundNotify(HttpServletRequest request);
|
||||||
|
|
||||||
ShopOrderReturn aliPayRefund(ShopOrderReturn orderReturn);
|
ShopOrderReturn aliPayRefund(ShopOrderReturn orderReturn);
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@ -1687,6 +1687,47 @@ public class PayUserPayServiceImpl extends BaseServiceImpl<PayUserPayMapper, Pay
|
|||||||
return shopOrderReturn;
|
return shopOrderReturn;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 拉卡拉退款
|
||||||
|
*
|
||||||
|
* @param orderReturn
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public ShopOrderReturn lklPayRefund(ShopOrderReturn orderReturn) {
|
||||||
|
String deposit_trade_no = orderReturn.getDeposit_trade_no();
|
||||||
|
if (CheckUtil.isEmpty(deposit_trade_no)) {
|
||||||
|
deposit_trade_no = "";
|
||||||
|
}
|
||||||
|
BigDecimal trade_payment_amount = orderReturn.getTrade_payment_amount();
|
||||||
|
String refundAmount = Integer.toString(NumberUtil.mul(trade_payment_amount, 100).intValue());
|
||||||
|
WxPayApiConfig wxPayApiConfig = WxPayApiConfigKit.getWxPayApiConfig();
|
||||||
|
Map<String, String> params = RefundModel.builder().appid(wxPayApiConfig.getAppId()).mch_id(wxPayApiConfig.getMchId()).nonce_str(WxPayKit.generateStr()).transaction_id(deposit_trade_no).out_refund_no(WxPayKit.generateStr()).total_fee(refundAmount).refund_fee(refundAmount).build().createSign(wxPayApiConfig.getPartnerKey(), SignType.MD5);
|
||||||
|
logger.info(String.format(I18nUtil._("微信退款请求参数参数: params【%s】"), params.toString()));
|
||||||
|
InputStream certInStream = PayKit.getFileToStream(wxPayApiConfig.getCertPath());
|
||||||
|
//IJPAY低版本jdk环境使用退款方法jdk1.8.0_111以下
|
||||||
|
//String xmlResult = WxPayApi.orderRefund(false, params, certInStream, wxPayApiConfig.getMchId());
|
||||||
|
//下面的方法解决IJPAY高版本jdk导致退款协议不支持问题jdk1.8.0_111以上
|
||||||
|
String xmlResult = HttpKit.getDelegate().post(WxPayApi.getReqUrl(WxApiType.REFUND, null, false), WxPayKit.toXml(params), certInStream, wxPayApiConfig.getMchId(), "");
|
||||||
|
logger.info(String.format(I18nUtil._("微信退款返回参数: xmlResult【%s】"), xmlResult));
|
||||||
|
Map<String, String> resultMap = WxPayKit.xmlToMap(xmlResult);
|
||||||
|
String returnCode = resultMap.get("return_code");
|
||||||
|
String resultCode = resultMap.get("result_code");
|
||||||
|
|
||||||
|
if (!WxPayKit.codeIsOk(returnCode) || !WxPayKit.codeIsOk(resultCode)) {
|
||||||
|
LogUtil.error("微信退款异常!" + resultMap);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
ShopOrderReturn shopOrderReturn = new ShopOrderReturn();
|
||||||
|
shopOrderReturn.setReturn_channel_flag(1);
|
||||||
|
shopOrderReturn.setDeposit_trade_no(deposit_trade_no);
|
||||||
|
shopOrderReturn.setOrder_id(orderReturn.getOrder_id());
|
||||||
|
shopOrderReturn.setReturn_channel_trans_id(resultMap.get("refund_id"));
|
||||||
|
shopOrderReturn.setReturn_channel_time(new Date());
|
||||||
|
return shopOrderReturn;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 微信退款成功回调
|
* 微信退款成功回调
|
||||||
*
|
*
|
||||||
|
|||||||
@ -10,10 +10,10 @@ package com.suisung.mall.shop.lakala.controller.mobile;
|
|||||||
|
|
||||||
import cn.hutool.json.JSONObject;
|
import cn.hutool.json.JSONObject;
|
||||||
import com.suisung.mall.common.api.CommonResult;
|
import com.suisung.mall.common.api.CommonResult;
|
||||||
import com.suisung.mall.common.service.GeTuiPushService;
|
|
||||||
import com.suisung.mall.common.service.impl.BaseControllerImpl;
|
import com.suisung.mall.common.service.impl.BaseControllerImpl;
|
||||||
import com.suisung.mall.shop.lakala.service.LakalaApiService;
|
import com.suisung.mall.shop.lakala.service.LakalaApiService;
|
||||||
import com.suisung.mall.shop.library.service.LibraryProductService;
|
import com.suisung.mall.shop.library.service.LibraryProductService;
|
||||||
|
import com.suisung.mall.shop.order.service.ShopOrderReturnService;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
import org.springframework.http.HttpStatus;
|
import org.springframework.http.HttpStatus;
|
||||||
@ -35,7 +35,7 @@ public class LakalaController extends BaseControllerImpl {
|
|||||||
private LakalaApiService lakalaPayService;
|
private LakalaApiService lakalaPayService;
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private GeTuiPushService geTuiPushService;
|
private ShopOrderReturnService shopOrderReturnService;
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private LibraryProductService libraryProductService;
|
private LibraryProductService libraryProductService;
|
||||||
@ -43,7 +43,8 @@ public class LakalaController extends BaseControllerImpl {
|
|||||||
@ApiOperation(value = "测试案例", notes = "测试案例")
|
@ApiOperation(value = "测试案例", notes = "测试案例")
|
||||||
@RequestMapping(value = "/testcase", method = RequestMethod.POST)
|
@RequestMapping(value = "/testcase", method = RequestMethod.POST)
|
||||||
public Object testcase(@RequestBody JSONObject paramsJSON) {
|
public Object testcase(@RequestBody JSONObject paramsJSON) {
|
||||||
return lakalaPayService.applyLedgerMerEc(paramsJSON.getStr("mchMobile"));
|
return shopOrderReturnService.sfExpressExpiredForceRefund(paramsJSON.getStr("orderId"), paramsJSON.getInt("returnFlag"));
|
||||||
|
// return lakalaPayService.applyLedgerMerEc(paramsJSON.getStr("mchMobile"));
|
||||||
// return lakalaPayService.LedgerMerEcDownload(975790666910121984L);
|
// return lakalaPayService.LedgerMerEcDownload(975790666910121984L);
|
||||||
|
|
||||||
// return geTuiPushService.pushMessageToSingleByCid("f9da7081a7951cff6d7f1d4e2d2f270b", "", "从 shop 发消息", "none", "");
|
// return geTuiPushService.pushMessageToSingleByCid("f9da7081a7951cff6d7f1d4e2d2f270b", "", "从 shop 发消息", "none", "");
|
||||||
|
|||||||
@ -1632,7 +1632,7 @@ public class LakalaApiServiceImpl implements LakalaApiService {
|
|||||||
String errorMsg = String.format("店铺[%s]未绑定平台方接收账户,跳过分账", shopOrderLkl.getStore_id());
|
String errorMsg = String.format("店铺[%s]未绑定平台方接收账户,跳过分账", shopOrderLkl.getStore_id());
|
||||||
log.error(errorMsg);
|
log.error(errorMsg);
|
||||||
errorMessages.append(errorMsg).append("; ");
|
errorMessages.append(errorMsg).append("; ");
|
||||||
lklOrderSeparateService.updateRemark(lklOrderSeparateExist.getId(), errorMsg);
|
// lklOrderSeparateService.updateRemark(lklOrderSeparateExist.getId(), errorMsg);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1641,7 +1641,6 @@ public class LakalaApiServiceImpl implements LakalaApiService {
|
|||||||
if (!canSplit) {
|
if (!canSplit) {
|
||||||
String errorMsg = String.format("店铺[%s]分账比例为0,仅扣除运费", shopOrderLkl.getStore_id());
|
String errorMsg = String.format("店铺[%s]分账比例为0,仅扣除运费", shopOrderLkl.getStore_id());
|
||||||
log.error(errorMsg);
|
log.error(errorMsg);
|
||||||
lklOrderSeparateService.updateRemark(lklOrderSeparateExist.getId(), errorMsg);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 构建分账请求对象
|
// 构建分账请求对象
|
||||||
@ -1752,8 +1751,11 @@ public class LakalaApiServiceImpl implements LakalaApiService {
|
|||||||
lklOrderSeparate.setTotal_separate_value(totalSeparateValue);
|
lklOrderSeparate.setTotal_separate_value(totalSeparateValue);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
lklOrderSeparateService.addOrUpdateByReceiverNo(lklOrderSeparate);
|
if (lklOrderSeparateService.addOrUpdateByReceiverNo(lklOrderSeparate)) {
|
||||||
successCount++;
|
successCount++;
|
||||||
|
} else {
|
||||||
|
lklOrderSeparateService.updateRemark(lklOrderSeparate.getId(), errorMessages.toString());
|
||||||
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("保存分账记录失败: {}", e.getMessage(), e);
|
log.error("保存分账记录失败: {}", e.getMessage(), e);
|
||||||
errorMessages.append("保存分账记录失败; ");
|
errorMessages.append("保存分账记录失败; ");
|
||||||
@ -1763,6 +1765,7 @@ public class LakalaApiServiceImpl implements LakalaApiService {
|
|||||||
// 返回最终处理结果
|
// 返回最终处理结果
|
||||||
if (successCount == 0) {
|
if (successCount == 0) {
|
||||||
return Pair.of(false, "分账全部失败: " + errorMessages);
|
return Pair.of(false, "分账全部失败: " + errorMessages);
|
||||||
|
|
||||||
} else if (successCount < totalCount) {
|
} else if (successCount < totalCount) {
|
||||||
return Pair.of(true, "部分分账成功,处理中: " + errorMessages);
|
return Pair.of(true, "部分分账成功,处理中: " + errorMessages);
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@ -82,6 +82,15 @@ public interface ShopOrderReturnService extends IBaseService<ShopOrderReturn> {
|
|||||||
|
|
||||||
CommonResult doForceRefund(String return_id, Integer return_flag);
|
CommonResult doForceRefund(String return_id, Integer return_flag);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 支付订单,顺丰同城配送超时,自动取消订单并退款,加库存
|
||||||
|
*
|
||||||
|
* @param orderId 订单Id
|
||||||
|
* @param returnFlag 退货类型(ENUM): 0-不用退货;1-需要退货
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
Boolean sfExpressExpiredForceRefund(String orderId, Integer returnFlag);
|
||||||
|
|
||||||
CommonResult editRefund(String return_id, BigDecimal return_refund_amount);
|
CommonResult editRefund(String return_id, BigDecimal return_refund_amount);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -56,6 +56,7 @@ import com.suisung.mall.shop.store.service.ShopStoreBaseService;
|
|||||||
import com.suisung.mall.shop.store.service.ShopStoreConfigService;
|
import com.suisung.mall.shop.store.service.ShopStoreConfigService;
|
||||||
import com.suisung.mall.shop.store.service.ShopStoreShippingAddressService;
|
import com.suisung.mall.shop.store.service.ShopStoreShippingAddressService;
|
||||||
import io.seata.spring.annotation.GlobalTransactional;
|
import io.seata.spring.annotation.GlobalTransactional;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
@ -79,6 +80,7 @@ import static com.suisung.mall.common.utils.ContextUtil.getCurrentUser;
|
|||||||
* @author Xinze
|
* @author Xinze
|
||||||
* @since 2021-05-06
|
* @since 2021-05-06
|
||||||
*/
|
*/
|
||||||
|
@Slf4j
|
||||||
@Service
|
@Service
|
||||||
public class ShopOrderReturnServiceImpl extends BaseServiceImpl<ShopOrderReturnMapper, ShopOrderReturn> implements ShopOrderReturnService {
|
public class ShopOrderReturnServiceImpl extends BaseServiceImpl<ShopOrderReturnMapper, ShopOrderReturn> implements ShopOrderReturnService {
|
||||||
|
|
||||||
@ -861,7 +863,7 @@ public class ShopOrderReturnServiceImpl extends BaseServiceImpl<ShopOrderReturnM
|
|||||||
* 强制退货
|
* 强制退货
|
||||||
*
|
*
|
||||||
* @param return_id
|
* @param return_id
|
||||||
* @param return_flag
|
* @param return_flag 退货类型(ENUM): 0-不用退货;1-需要退货
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
@ -873,11 +875,12 @@ public class ShopOrderReturnServiceImpl extends BaseServiceImpl<ShopOrderReturnM
|
|||||||
UserDto user = getCurrentUser();
|
UserDto user = getCurrentUser();
|
||||||
Integer store_id = Convert.toInt(user.getStore_id());
|
Integer store_id = Convert.toInt(user.getStore_id());
|
||||||
|
|
||||||
|
// 判断条件有问题吧?,平台 Platform 没有店铺id 的
|
||||||
if (user.isPlatform() || CheckUtil.checkDataRights(store_id, shopOrderReturn, ShopOrderReturn::getStore_id)) {
|
if (user.isPlatform() || CheckUtil.checkDataRights(store_id, shopOrderReturn, ShopOrderReturn::getStore_id)) {
|
||||||
//平台方 强制退款, 想将退款订单状态设置待审核状态。 直接执行修改状态, 然后再走退款流程。
|
//平台方 强制退款, 想将退款订单状态设置待审核状态。 直接执行修改状态, 然后再走退款流程。
|
||||||
ShopOrderReturn orderReturn = new ShopOrderReturn();
|
ShopOrderReturn orderReturn = new ShopOrderReturn();
|
||||||
orderReturn.setReturn_state_id(StateCode.RETURN_PROCESS_CHECK);
|
orderReturn.setReturn_state_id(StateCode.RETURN_PROCESS_CHECK);
|
||||||
editReturnNextState(return_ids, StateCode.RETURN_PROCESS_REFUSED, orderReturn);
|
editShopOrderReturnAndItemNextState(return_ids, StateCode.RETURN_PROCESS_REFUSED, orderReturn);
|
||||||
|
|
||||||
shopOrderReturn.setReturn_state_id(StateCode.RETURN_PROCESS_CHECK);
|
shopOrderReturn.setReturn_state_id(StateCode.RETURN_PROCESS_CHECK);
|
||||||
// end 待审核状态
|
// end 待审核状态
|
||||||
@ -895,6 +898,61 @@ public class ShopOrderReturnServiceImpl extends BaseServiceImpl<ShopOrderReturnM
|
|||||||
return CommonResult.success();
|
return CommonResult.success();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 支付订单,顺丰同城配送超时,自动取消订单并退款,加库存
|
||||||
|
*
|
||||||
|
* @param orderId
|
||||||
|
* @param returnFlag 退货类型(ENUM): 0-不用退货;1-需要退货
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@GlobalTransactional
|
||||||
|
@Override
|
||||||
|
public Boolean sfExpressExpiredForceRefund(String orderId, Integer returnFlag) {
|
||||||
|
|
||||||
|
// 先整单退货申请
|
||||||
|
CommonResult commonResult = addWholeItems(orderId);
|
||||||
|
commonResult.checkFenResult();
|
||||||
|
|
||||||
|
QueryWrapper<ShopOrderReturn> queryWrapper = new QueryWrapper<>();
|
||||||
|
queryWrapper.eq("order_id", orderId);
|
||||||
|
ShopOrderReturn shopOrderReturn = findOne(queryWrapper);
|
||||||
|
if (shopOrderReturn == null) {
|
||||||
|
throw new ApiException(I18nUtil._("订单信息异常!"));
|
||||||
|
}
|
||||||
|
|
||||||
|
returnFlag = CheckUtil.isEmpty(returnFlag) ? 0 : returnFlag;
|
||||||
|
|
||||||
|
// RETURN_PROCESS_SUBMIT = 3100; //【客户】提交退单1ReturnReturn
|
||||||
|
// RETURN_PROCESS_CHECK = 3105; //退单审核1ReturnReturn
|
||||||
|
// RETURN_PROCESS_RECEIVED = 3110; //收货确认0ReturnReturn
|
||||||
|
// RETURN_PROCESS_REFUND = 3115; //退款确认0ReturnReturn
|
||||||
|
// RETURN_PROCESS_RECEIPT_CONFIRMATION = 3120; //[【客户】收款确认0 ReturnReturn
|
||||||
|
// RETURN_PROCESS_FINISH = 3125; //完成1退货退款
|
||||||
|
// RETURN_PROCESS_REFUSED = 3130; //-商家拒绝退货
|
||||||
|
// RETURN_PROCESS_CANCEL = 3135; //-买家取消退款
|
||||||
|
|
||||||
|
List<String> return_ids = Collections.singletonList(shopOrderReturn.getReturn_id());
|
||||||
|
|
||||||
|
//订单已支付,但拣货超时,顺丰同城配送异常超时被取消, 强制退款
|
||||||
|
ShopOrderReturn orderReturn = new ShopOrderReturn();
|
||||||
|
orderReturn.setReturn_state_id(StateCode.RETURN_PROCESS_RECEIVED);
|
||||||
|
orderReturn.setReturn_flag(returnFlag);
|
||||||
|
if (!editShopOrderReturnAndItemNextState(return_ids, StateCode.RETURN_PROCESS_CHECK, orderReturn)) {
|
||||||
|
throw new ApiException(I18nUtil._("修改订单信息失败!"));
|
||||||
|
}
|
||||||
|
|
||||||
|
shopOrderReturn.setReturn_state_id(StateCode.RETURN_PROCESS_RECEIVED);
|
||||||
|
shopOrderReturn.setReturn_flag(returnFlag);
|
||||||
|
// end 待审核状态
|
||||||
|
|
||||||
|
if (!edit(shopOrderReturn)) {
|
||||||
|
throw new ApiException(I18nUtil._("修改订单信息失败!"));
|
||||||
|
}
|
||||||
|
|
||||||
|
// 订单审核
|
||||||
|
return processReviewList(return_ids, Collections.singletonList(shopOrderReturn), StateCode.RETURN_PROCESS_RECEIVED, StateCode.RETURN_PROCESS_FINISH);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 修改退款退货记录
|
* 修改退款退货记录
|
||||||
*
|
*
|
||||||
@ -979,7 +1037,8 @@ public class ShopOrderReturnServiceImpl extends BaseServiceImpl<ShopOrderReturnM
|
|||||||
|
|
||||||
order_item_row.setOrder_item_return_num(order_item_row.getOrder_item_return_num() + return_item_num);
|
order_item_row.setOrder_item_return_num(order_item_row.getOrder_item_return_num() + return_item_num);
|
||||||
order_item_row.setOrder_item_return_subtotal(NumberUtil.add(order_item_row.getOrder_item_return_subtotal(), return_item_subtotal));
|
order_item_row.setOrder_item_return_subtotal(NumberUtil.add(order_item_row.getOrder_item_return_subtotal(), return_item_subtotal));
|
||||||
|
// 乐观锁
|
||||||
|
order_item_row.setVersion(Optional.ofNullable(order_item_row.getVersion()).orElse(0) + 1);
|
||||||
if (!shopOrderItemService.edit(order_item_row)) {
|
if (!shopOrderItemService.edit(order_item_row)) {
|
||||||
throw new ApiException(I18nUtil._("修改订单信息失败!"));
|
throw new ApiException(I18nUtil._("修改订单信息失败!"));
|
||||||
}
|
}
|
||||||
@ -1239,8 +1298,23 @@ public class ShopOrderReturnServiceImpl extends BaseServiceImpl<ShopOrderReturnM
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param return_ids 退单编号 return_ids 或 return_rows 必须一个有值
|
||||||
|
* @param return_rows 退单数据 return_ids 或 return_rows 必须一个有值
|
||||||
|
* @param return_curr_state_id 当前退单状态
|
||||||
|
* RETURN_PROCESS_SUBMIT = 3100; //【客户】提交退单1ReturnReturn
|
||||||
|
* RETURN_PROCESS_CHECK = 3105; //退单审核1ReturnReturn
|
||||||
|
* RETURN_PROCESS_RECEIVED = 3110; //收货确认0ReturnReturn
|
||||||
|
* RETURN_PROCESS_REFUND = 3115; //退款确认0ReturnReturn
|
||||||
|
* RETURN_PROCESS_RECEIPT_CONFIRMATION = 3120; //[【客户】收款确认0 ReturnReturn
|
||||||
|
* RETURN_PROCESS_FINISH = 3125; //完成1退货退款
|
||||||
|
* RETURN_PROCESS_REFUSED = 3130; //-商家拒绝退货
|
||||||
|
* RETURN_PROCESS_CANCEL = 3135; //-买家取消退款
|
||||||
|
* @param return_next_state_id
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public boolean processReviewList(List<String> return_ids, List<ShopOrderReturn> return_rows, Integer state_id, Integer return_next_state_id) {
|
public boolean processReviewList(List<String> return_ids, List<ShopOrderReturn> return_rows, Integer return_curr_state_id, Integer return_next_state_id) {
|
||||||
if (CollUtil.isEmpty(return_ids)) {
|
if (CollUtil.isEmpty(return_ids)) {
|
||||||
throw new ApiException(I18nUtil._("请选择需要审核的退单!"));
|
throw new ApiException(I18nUtil._("请选择需要审核的退单!"));
|
||||||
}
|
}
|
||||||
@ -1256,7 +1330,7 @@ public class ShopOrderReturnServiceImpl extends BaseServiceImpl<ShopOrderReturnM
|
|||||||
Integer return_state_id = return_row.getReturn_state_id();
|
Integer return_state_id = return_row.getReturn_state_id();
|
||||||
String return_id = return_row.getReturn_id();
|
String return_id = return_row.getReturn_id();
|
||||||
|
|
||||||
switch (state_id) {
|
switch (return_curr_state_id) {
|
||||||
|
|
||||||
case StateCode.RETURN_PROCESS_CHECK:
|
case StateCode.RETURN_PROCESS_CHECK:
|
||||||
// 退单审核1ReturnReturn
|
// 退单审核1ReturnReturn
|
||||||
@ -1290,13 +1364,15 @@ public class ShopOrderReturnServiceImpl extends BaseServiceImpl<ShopOrderReturnM
|
|||||||
|
|
||||||
ShopOrderReturn return_row = return_rows.get(0);
|
ShopOrderReturn return_row = return_rows.get(0);
|
||||||
Integer store_id = return_row.getStore_id();
|
Integer store_id = return_row.getStore_id();
|
||||||
editNextState(review_ids, store_id, state_id, return_rows, return_next_state_id);
|
|
||||||
|
// 重要:退款 加库存,改状态
|
||||||
|
editNextState(review_ids, store_id, return_curr_state_id, return_rows, return_next_state_id);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 重要:修改订单为下一个待处理状态,并实时退款
|
* 重要:修改订单为下一个待处理状态,并加库存、实时退款
|
||||||
*
|
*
|
||||||
* @param return_ids 退货订单id
|
* @param return_ids 退货订单id
|
||||||
* @param store_id 所属店铺
|
* @param store_id 所属店铺
|
||||||
@ -1306,9 +1382,9 @@ public class ShopOrderReturnServiceImpl extends BaseServiceImpl<ShopOrderReturnM
|
|||||||
* RETURN_PROCESS_RECEIVED = 3110; //收货确认0ReturnReturn
|
* RETURN_PROCESS_RECEIVED = 3110; //收货确认0ReturnReturn
|
||||||
* RETURN_PROCESS_REFUND = 3115; //退款确认0ReturnReturn
|
* RETURN_PROCESS_REFUND = 3115; //退款确认0ReturnReturn
|
||||||
* RETURN_PROCESS_RECEIPT_CONFIRMATION = 3120; //[【客户】收款确认0 ReturnReturn
|
* RETURN_PROCESS_RECEIPT_CONFIRMATION = 3120; //[【客户】收款确认0 ReturnReturn
|
||||||
* RETURN_PROCESS_FINISH = 3125; //完成1 ReturnReturn3130-商家拒绝退货
|
* RETURN_PROCESS_FINISH = 3125; //完成1退货退款
|
||||||
* RETURN_PROCESS_REFUSED = 3130; //-商家拒绝退货
|
* RETURN_PROCESS_REFUSED = 3130; //-商家拒绝退货
|
||||||
* RETURN_PROCESS_CANCEL = 3135; //-买家取消
|
* RETURN_PROCESS_CANCEL = 3135; //-买家取消退款
|
||||||
* @param return_rows 退货订单列表
|
* @param return_rows 退货订单列表
|
||||||
* @param return_next_state_id 下一个退单状态
|
* @param return_next_state_id 下一个退单状态
|
||||||
* @return
|
* @return
|
||||||
@ -1381,7 +1457,7 @@ public class ShopOrderReturnServiceImpl extends BaseServiceImpl<ShopOrderReturnM
|
|||||||
}
|
}
|
||||||
|
|
||||||
//修改退货订单及其相关商品为下一个待处理状态
|
//修改退货订单及其相关商品为下一个待处理状态
|
||||||
editReturnNextState(return_ids, return_state_id, shopOrderReturn);
|
editShopOrderReturnAndItemNextState(return_ids, return_state_id, shopOrderReturn);
|
||||||
|
|
||||||
// 当前状态(旧状态)
|
// 当前状态(旧状态)
|
||||||
if (ObjectUtil.equal(return_state_id, StateCode.RETURN_PROCESS_CHECK)) {
|
if (ObjectUtil.equal(return_state_id, StateCode.RETURN_PROCESS_CHECK)) {
|
||||||
@ -1499,13 +1575,13 @@ public class ShopOrderReturnServiceImpl extends BaseServiceImpl<ShopOrderReturnM
|
|||||||
* 修改退货订单及其相关商品为下一个待处理状态
|
* 修改退货订单及其相关商品为下一个待处理状态
|
||||||
* 这段代码实现了一个方法,用于将退货订单及其相关商品的状态更新为下一个待处理状态。
|
* 这段代码实现了一个方法,用于将退货订单及其相关商品的状态更新为下一个待处理状态。
|
||||||
*
|
*
|
||||||
* @param return_ids 退货订单id
|
* @param return_ids 退货订单id
|
||||||
* @param return_state_id 前订单状态
|
* @param return_curr_state_id 前订单状态
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public boolean editReturnNextState(List<String> return_ids, Integer return_state_id, ShopOrderReturn shopOrderReturn) {
|
public boolean editShopOrderReturnAndItemNextState(List<String> return_ids, Integer return_curr_state_id, ShopOrderReturn shopOrderReturn) {
|
||||||
QueryWrapper<ShopOrderReturn> returnQueryWrapper = new QueryWrapper<>();
|
QueryWrapper<ShopOrderReturn> returnQueryWrapper = new QueryWrapper<>();
|
||||||
returnQueryWrapper.in("return_id", return_ids).eq("return_state_id", return_state_id);
|
returnQueryWrapper.in("return_id", return_ids).eq("return_state_id", return_curr_state_id);
|
||||||
if (!edit(shopOrderReturn, returnQueryWrapper)) {
|
if (!edit(shopOrderReturn, returnQueryWrapper)) {
|
||||||
throw new ApiException(I18nUtil._("修改退单状态失败!"));
|
throw new ApiException(I18nUtil._("修改退单状态失败!"));
|
||||||
}
|
}
|
||||||
@ -1735,41 +1811,65 @@ public class ShopOrderReturnServiceImpl extends BaseServiceImpl<ShopOrderReturnM
|
|||||||
@Override
|
@Override
|
||||||
public List<String> getOnlineRefundReturnId() {
|
public List<String> getOnlineRefundReturnId() {
|
||||||
QueryWrapper<ShopOrderReturn> queryWrapper = new QueryWrapper<>();
|
QueryWrapper<ShopOrderReturn> queryWrapper = new QueryWrapper<>();
|
||||||
queryWrapper.eq("return_channel_flag", 0)
|
queryWrapper.eq("return_channel_flag", 0) //渠道是否退款(ENUM): 0-待退; 1-已退; 2-异常
|
||||||
.in("return_channel_code", "alipay", "wx_native");
|
.in("return_channel_code", "alipay", "wx_native", "lakala");
|
||||||
return Convert.toList(String.class, findKey(queryWrapper));
|
return Convert.toList(String.class, findKey(queryWrapper));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* (支付宝、微信)在线原路退款
|
* 在线原路退款(支持支付宝、微信、拉卡拉)
|
||||||
* <p>
|
|
||||||
* TODO 拉卡拉退款
|
|
||||||
*
|
*
|
||||||
* @param return_id
|
* @param return_id 退单ID
|
||||||
* @return
|
* @return 退款操作是否成功
|
||||||
|
* <p>
|
||||||
|
* 功能说明:根据退单ID获取退单信息,依据支付渠道执行对应的退款操作,并更新退款状态。
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public boolean doOnlineRefund(String return_id) {
|
public boolean doOnlineRefund(String return_id) {
|
||||||
ShopOrderReturn shopOrderReturn = get(return_id);
|
// 输入验证
|
||||||
String return_channel_code = shopOrderReturn.getReturn_channel_code();
|
if (StrUtil.isBlank(return_id)) {
|
||||||
if (StrUtil.equals(return_channel_code, "alipay")) {
|
log.error("Invalid return_id: blank");
|
||||||
|
return false;
|
||||||
shopOrderReturn = payService.aliPayRefund(shopOrderReturn);
|
}
|
||||||
if (shopOrderReturn == null) {
|
|
||||||
return false;
|
ShopOrderReturn shopOrderReturn = get(return_id);
|
||||||
}
|
if (shopOrderReturn == null) {
|
||||||
return updateRefundOrderReturn(shopOrderReturn);
|
log.error("Order return not found: {}", return_id);
|
||||||
|
return false;
|
||||||
} else if (StrUtil.equals(return_channel_code, "wx_native")) {
|
}
|
||||||
|
|
||||||
shopOrderReturn = payService.wxPayRefund(get(return_id));
|
String return_channel_code = shopOrderReturn.getReturn_channel_code();
|
||||||
if (shopOrderReturn == null) {
|
if (StrUtil.isBlank(return_channel_code)) {
|
||||||
return false;
|
log.error("Empty return_channel_code for return_id: {}", return_id);
|
||||||
}
|
return false;
|
||||||
return updateRefundOrderReturn(shopOrderReturn);
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
// 统一处理不同支付渠道
|
||||||
|
switch (return_channel_code.toLowerCase()) {
|
||||||
|
case "alipay":
|
||||||
|
shopOrderReturn = payService.aliPayRefund(shopOrderReturn);
|
||||||
|
break;
|
||||||
|
case "wx_native":
|
||||||
|
shopOrderReturn = payService.wxPayRefund(shopOrderReturn);
|
||||||
|
break;
|
||||||
|
case "lakala":
|
||||||
|
shopOrderReturn = payService.lklPayRefund(shopOrderReturn);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
log.warn("Unsupported payment channel: {}", return_channel_code);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (shopOrderReturn == null) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return updateRefundOrderReturn(shopOrderReturn);
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("Error occurred during refund processing for return_id: {}", return_id, e);
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -1786,16 +1886,17 @@ public class ShopOrderReturnServiceImpl extends BaseServiceImpl<ShopOrderReturnM
|
|||||||
queryWrapper.eq("order_id", shopOrderReturn.getOrder_id())
|
queryWrapper.eq("order_id", shopOrderReturn.getOrder_id())
|
||||||
.eq("deposit_trade_no", shopOrderReturn.getDeposit_trade_no());
|
.eq("deposit_trade_no", shopOrderReturn.getDeposit_trade_no());
|
||||||
ShopOrderReturn orderReturn = findOne(queryWrapper);
|
ShopOrderReturn orderReturn = findOne(queryWrapper);
|
||||||
|
|
||||||
if (orderReturn != null && CheckUtil.isEmpty(orderReturn.getReturn_channel_flag())) {
|
if (orderReturn != null && CheckUtil.isEmpty(orderReturn.getReturn_channel_flag())) {
|
||||||
logger.info(String.format("更新退款订单状态!return_id : %s", orderReturn.getReturn_id()));
|
logger.info(String.format("更新退款订单状态!return_id : %s", orderReturn.getReturn_id()));
|
||||||
orderReturn.setReturn_channel_trans_id(shopOrderReturn.getReturn_channel_trans_id());
|
orderReturn.setReturn_channel_trans_id(shopOrderReturn.getReturn_channel_trans_id());
|
||||||
orderReturn.setReturn_channel_time(shopOrderReturn.getReturn_channel_time());
|
orderReturn.setReturn_channel_time(shopOrderReturn.getReturn_channel_time());
|
||||||
orderReturn.setReturn_channel_flag(shopOrderReturn.getReturn_channel_flag());
|
orderReturn.setReturn_channel_flag(shopOrderReturn.getReturn_channel_flag());
|
||||||
if (!edit(orderReturn)) {
|
if (edit(orderReturn)) {
|
||||||
LogUtil.error(String.format("return_id : %s 退款失败!", orderReturn.getReturn_id()));
|
return true;
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
return true;
|
|
||||||
|
LogUtil.error(String.format("return_id : %s 退款失败!", orderReturn.getReturn_id()));
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -28,6 +28,7 @@ import com.suisung.mall.common.utils.JsonUtil;
|
|||||||
import com.suisung.mall.shop.message.service.PushMessageService;
|
import com.suisung.mall.shop.message.service.PushMessageService;
|
||||||
import com.suisung.mall.shop.order.service.ShopOrderBaseService;
|
import com.suisung.mall.shop.order.service.ShopOrderBaseService;
|
||||||
import com.suisung.mall.shop.order.service.ShopOrderInfoService;
|
import com.suisung.mall.shop.order.service.ShopOrderInfoService;
|
||||||
|
import com.suisung.mall.shop.order.service.ShopOrderReturnService;
|
||||||
import com.suisung.mall.shop.sfexpress.service.SFExpressApiService;
|
import com.suisung.mall.shop.sfexpress.service.SFExpressApiService;
|
||||||
import com.suisung.mall.shop.store.service.ShopStoreSameCityTransportBaseService;
|
import com.suisung.mall.shop.store.service.ShopStoreSameCityTransportBaseService;
|
||||||
import com.suisung.mall.shop.store.service.ShopStoreSfOrderService;
|
import com.suisung.mall.shop.store.service.ShopStoreSfOrderService;
|
||||||
@ -67,6 +68,9 @@ public class SFExpressApiServiceImpl implements SFExpressApiService {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private ShopOrderInfoService shopOrderInfoService;
|
private ShopOrderInfoService shopOrderInfoService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ShopOrderReturnService shopOrderReturnService;
|
||||||
|
|
||||||
@Lazy
|
@Lazy
|
||||||
@Autowired
|
@Autowired
|
||||||
private ShopStoreSameCityTransportBaseService shopStoreSameCityTransportBaseService;
|
private ShopStoreSameCityTransportBaseService shopStoreSameCityTransportBaseService;
|
||||||
@ -265,7 +269,7 @@ public class SFExpressApiServiceImpl implements SFExpressApiService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 转换 json 字符串参数
|
// 转换 json 字符串参数
|
||||||
String orderId = params.get("order_id").toString();
|
String sfOrderId = params.get("order_id").toString(); // 这是顺丰的订单号,不是商城的订单号
|
||||||
params.putAll(buildCommonParams());
|
params.putAll(buildCommonParams());
|
||||||
|
|
||||||
String paramJSON = JsonUtil.toJSONString(params);
|
String paramJSON = JsonUtil.toJSONString(params);
|
||||||
@ -290,7 +294,7 @@ public class SFExpressApiServiceImpl implements SFExpressApiService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 判断订单的状态,是否已经取消了?已取消,不再执行
|
// 判断订单的状态,是否已经取消了?已取消,不再执行
|
||||||
ShopStoreSfOrder shopStoreSfOrderExist = shopStoreSfOrderService.getBySfOrderId(orderId);
|
ShopStoreSfOrder shopStoreSfOrderExist = shopStoreSfOrderService.getByShopOrderId(sfOrderId);
|
||||||
if (shopStoreSfOrderExist == null) {
|
if (shopStoreSfOrderExist == null) {
|
||||||
return new ThirdApiRes().fail(2, "订单有误!");
|
return new ThirdApiRes().fail(2, "订单有误!");
|
||||||
}
|
}
|
||||||
@ -301,11 +305,11 @@ public class SFExpressApiServiceImpl implements SFExpressApiService {
|
|||||||
return new ThirdApiRes().success("订单已取消过!");
|
return new ThirdApiRes().success("订单已取消过!");
|
||||||
}
|
}
|
||||||
|
|
||||||
// 更改商城订单状态为:已取消,注意事务问题
|
// // 更改商城订单状态为:已取消,注意事务问题
|
||||||
List<String> orderList = new ArrayList<>();
|
// List<String> orderList = new ArrayList<>();
|
||||||
orderList.add(shopStoreSfOrderExist.getShop_order_id());
|
// orderList.add(shopStoreSfOrderExist.getShop_order_id());
|
||||||
// 取消订单, 流程:订单状态;积分、众宝、库存、礼包、优惠券 有就统统退还
|
// 取消订单, 流程:订单状态;积分、众宝、库存、礼包、优惠券 有就统统退还
|
||||||
Boolean success = shopOrderBaseService.cancel(orderList, null, false); // 不检查订单付款状态
|
Boolean success = shopOrderReturnService.sfExpressExpiredForceRefund(shopStoreSfOrderExist.getShop_order_id(), 0); // 不检查订单付款状态
|
||||||
if (!success) {
|
if (!success) {
|
||||||
throw new ApiException(I18nUtil._("取消商家订单失败!"));
|
throw new ApiException(I18nUtil._("取消商家订单失败!"));
|
||||||
}
|
}
|
||||||
@ -549,9 +553,10 @@ public class SFExpressApiServiceImpl implements SFExpressApiService {
|
|||||||
// 更改顺丰同城订单状态
|
// 更改顺丰同城订单状态
|
||||||
ShopStoreSfOrder shopStoreSfOrder = toShopStoreSfOrder(jsonData);
|
ShopStoreSfOrder shopStoreSfOrder = toShopStoreSfOrder(jsonData);
|
||||||
|
|
||||||
String orderId = shopStoreSfOrder.getShop_order_id();
|
String shopOrderId = shopStoreSfOrder.getShop_order_id();
|
||||||
|
String sfOrderId = shopStoreSfOrder.getSf_order_id();
|
||||||
// 判断订单的状态,是否已经取消了?已取消,不再执行
|
// 判断订单的状态,是否已经取消了?已取消,不再执行
|
||||||
ShopStoreSfOrder shopStoreSfOrderExist = shopStoreSfOrderService.getBySfOrderId(orderId);
|
ShopStoreSfOrder shopStoreSfOrderExist = shopStoreSfOrderService.getBySfOrderId(sfOrderId);
|
||||||
if (shopStoreSfOrderExist != null && shopStoreSfOrderExist.getOrder_status() != null
|
if (shopStoreSfOrderExist != null && shopStoreSfOrderExist.getOrder_status() != null
|
||||||
&& (shopStoreSfOrderExist.getOrder_status().equals(StateCode.SF_ORDER_STATUS_CANCELED) ||
|
&& (shopStoreSfOrderExist.getOrder_status().equals(StateCode.SF_ORDER_STATUS_CANCELED) ||
|
||||||
(shopStoreSfOrderExist.getOrder_status().equals(StateCode.SF_ORDER_STATUS_CANCELING)))) {
|
(shopStoreSfOrderExist.getOrder_status().equals(StateCode.SF_ORDER_STATUS_CANCELING)))) {
|
||||||
@ -564,15 +569,18 @@ public class SFExpressApiServiceImpl implements SFExpressApiService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 更改商城订单状态为:已取消,注意事务问题
|
// 更改商城订单状态为:已取消,注意事务问题
|
||||||
List<String> orderList = new ArrayList<>();
|
// List<String> orderList = new ArrayList<>();
|
||||||
orderList.add(shopStoreSfOrder.getShop_order_id());
|
// orderList.add(shopStoreSfOrder.getShop_order_id());
|
||||||
success = shopOrderBaseService.cancel(orderList, null, false);
|
|
||||||
|
// 重要:订单取消
|
||||||
|
// success = shopOrderBaseService.cancel(orderList, null, false);
|
||||||
|
success = shopOrderReturnService.sfExpressExpiredForceRefund(shopOrderId, 0);
|
||||||
if (!success) {
|
if (!success) {
|
||||||
return new ThirdApiRes().fail(-1, "取消订单业务处理失败!");
|
return new ThirdApiRes().fail(-1, "取消订单业务处理失败!");
|
||||||
}
|
}
|
||||||
|
|
||||||
// 个推推送消息
|
// 个推推送消息
|
||||||
pushMessageService.noticeMerchantEmployeeOrderAction(null, orderId, "您有一笔取消订单", "您有一笔取消订单[" + orderId + "],请及时处理。", null);
|
pushMessageService.noticeMerchantEmployeeOrderAction(null, shopOrderId, "您有一笔取消订单", "您有一笔取消订单[" + shopOrderId + "],请及时处理。", null);
|
||||||
|
|
||||||
|
|
||||||
return new ThirdApiRes().success("success");
|
return new ThirdApiRes().success("success");
|
||||||
|
|||||||
@ -201,22 +201,28 @@ public class ShopStoreConfigServiceImpl extends BaseServiceImpl<ShopStoreConfigM
|
|||||||
/**
|
/**
|
||||||
* 检查是否需要退款
|
* 检查是否需要退款
|
||||||
*
|
*
|
||||||
* @param return_state_id RETURN_PROCESS_SUBMIT = 3100; //【客户】提交退单1ReturnReturn
|
* @param return_state_id 当前退单状态
|
||||||
|
* RETURN_PROCESS_SUBMIT = 3100; //【客户】提交退单1ReturnReturn
|
||||||
* RETURN_PROCESS_CHECK = 3105; //退单审核1ReturnReturn
|
* RETURN_PROCESS_CHECK = 3105; //退单审核1ReturnReturn
|
||||||
* RETURN_PROCESS_RECEIVED = 3110; //收货确认0ReturnReturn
|
* RETURN_PROCESS_RECEIVED = 3110; //收货确认0ReturnReturn
|
||||||
* RETURN_PROCESS_REFUND = 3115; //退款确认0ReturnReturn
|
* RETURN_PROCESS_REFUND = 3115; //退款确认0ReturnReturn
|
||||||
* RETURN_PROCESS_RECEIPT_CONFIRMATION = 3120; //【客户】收款确认0ReturnReturn
|
* RETURN_PROCESS_RECEIPT_CONFIRMATION = 3120; //【客户】收款确认0 ReturnReturn
|
||||||
* RETURN_PROCESS_FINISH = 3125; //完成1ReturnReturn3130-商家拒绝退货
|
* RETURN_PROCESS_FINISH = 3125; //完成1退货退款
|
||||||
* RETURN_PROCESS_REFUSED = 3130; //-商家拒绝退货
|
* RETURN_PROCESS_REFUSED = 3130; //-商家拒绝退货
|
||||||
* RETURN_PROCESS_CANCEL = 3135; //-买家取消
|
* RETURN_PROCESS_CANCEL = 3135; //-买家取消退款
|
||||||
* @param return_next_state_id
|
* @param return_next_state_id
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public boolean checkNeedRefund(Integer return_state_id, Integer return_next_state_id) {
|
public boolean checkNeedRefund(Integer return_state_id, Integer return_next_state_id) {
|
||||||
|
|
||||||
|
//退款确认0ReturnReturn
|
||||||
Integer return_process_refund = StateCode.RETURN_PROCESS_MAP.get(StateCode.RETURN_PROCESS_REFUND);
|
Integer return_process_refund = StateCode.RETURN_PROCESS_MAP.get(StateCode.RETURN_PROCESS_REFUND);
|
||||||
|
//【客户】收款确认
|
||||||
Integer return_process_receipt_confirmation = StateCode.RETURN_PROCESS_MAP.get(StateCode.RETURN_PROCESS_RECEIPT_CONFIRMATION);
|
Integer return_process_receipt_confirmation = StateCode.RETURN_PROCESS_MAP.get(StateCode.RETURN_PROCESS_RECEIPT_CONFIRMATION);
|
||||||
|
// 当前退货状态
|
||||||
Integer return_process_return_state_id = StateCode.RETURN_PROCESS_MAP.get(return_state_id);
|
Integer return_process_return_state_id = StateCode.RETURN_PROCESS_MAP.get(return_state_id);
|
||||||
|
// 下一个退货状态
|
||||||
Integer return_process_return_next_state_id = StateCode.RETURN_PROCESS_MAP.get(return_next_state_id);
|
Integer return_process_return_next_state_id = StateCode.RETURN_PROCESS_MAP.get(return_next_state_id);
|
||||||
|
|
||||||
return ObjectUtil.notEqual(return_state_id, return_next_state_id)
|
return ObjectUtil.notEqual(return_state_id, return_next_state_id)
|
||||||
|
|||||||
24
pom.xml
24
pom.xml
@ -317,18 +317,18 @@
|
|||||||
<!-- sentinel配置 -->
|
<!-- sentinel配置 -->
|
||||||
<sentinel.transport.dashboard>114.132.210.208:8718</sentinel.transport.dashboard>
|
<sentinel.transport.dashboard>114.132.210.208:8718</sentinel.transport.dashboard>
|
||||||
<!-- mysql配置 -->
|
<!-- mysql配置 -->
|
||||||
<mysql.host>42.194.196.179</mysql.host>
|
<!-- <mysql.host>42.194.196.179</mysql.host>-->
|
||||||
<mysql.port>3306</mysql.port>
|
<!-- <mysql.port>3306</mysql.port>-->
|
||||||
<mysql.db>mall_dev</mysql.db>
|
<!-- <mysql.db>mall_dev</mysql.db>-->
|
||||||
<mysql.user>webdev</mysql.user>
|
<!-- <mysql.user>webdev</mysql.user>-->
|
||||||
<mysql.pwd>jbFr9YewcA9Mihx6fnw51Kzq</mysql.pwd>
|
<!-- <mysql.pwd>jbFr9YewcA9Mihx6fnw51Kzq</mysql.pwd>-->
|
||||||
<mysql.driver>com.mysql.cj.jdbc.Driver</mysql.driver>
|
<!-- <mysql.driver>com.mysql.cj.jdbc.Driver</mysql.driver>-->
|
||||||
<!-- <mysql.host>127.0.0.1</mysql.host>-->
|
<mysql.host>42.194.196.179</mysql.host>
|
||||||
<!-- <mysql.port>3306</mysql.port>-->
|
<mysql.port>3306</mysql.port>
|
||||||
<!-- <mysql.db>mall_dev</mysql.db>-->
|
<mysql.db>mall_prod</mysql.db>
|
||||||
<!-- <mysql.user>root</mysql.user>-->
|
<mysql.user>root</mysql.user>
|
||||||
<!-- <mysql.pwd>123456</mysql.pwd>-->
|
<mysql.pwd>J0XivNvAcR14}pA6Cysm.E27</mysql.pwd>
|
||||||
<!-- <mysql.driver>com.mysql.cj.jdbc.Driver</mysql.driver>-->
|
<mysql.driver>com.mysql.cj.jdbc.Driver</mysql.driver>
|
||||||
<!-- redis配置 -->
|
<!-- redis配置 -->
|
||||||
<redis.host>114.132.210.208</redis.host>
|
<redis.host>114.132.210.208</redis.host>
|
||||||
<redis.database>15</redis.database>
|
<redis.database>15</redis.database>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user