|
@@ -22,6 +22,7 @@ import com.fs.company.service.ICompanyService;
|
|
|
import com.fs.company.service.impl.CompanyServiceImpl;
|
|
|
import com.fs.core.config.WxPayProperties;
|
|
|
import com.fs.core.utils.OrderCodeUtils;
|
|
|
+import com.fs.his.config.FsSysConfig;
|
|
|
import com.fs.his.config.StoreConfig;
|
|
|
import com.fs.erp.dto.BaseResponse;
|
|
|
import com.fs.erp.dto.ErpRefundUpdateRequest;
|
|
@@ -35,6 +36,7 @@ import com.fs.his.enums.FsStoreOrderStatusEnum;
|
|
|
import com.fs.his.mapper.*;
|
|
|
import com.fs.his.param.*;
|
|
|
import com.fs.his.service.*;
|
|
|
+import com.fs.his.utils.ConfigUtil;
|
|
|
import com.fs.his.vo.*;
|
|
|
import com.fs.huifuPay.domain.HuiFuRefundResult;
|
|
|
import com.fs.huifuPay.sdk.opps.core.request.V2TradePaymentScanpayRefundRequest;
|
|
@@ -62,6 +64,7 @@ import com.google.gson.Gson;
|
|
|
import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.beans.factory.annotation.Qualifier;
|
|
|
import org.springframework.scheduling.annotation.Async;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
@@ -93,6 +96,10 @@ public class FsStoreAfterSalesServiceImpl implements IFsStoreAfterSalesService {
|
|
|
private TzBankService tzBankService;
|
|
|
@Autowired
|
|
|
private IErpOrderService erpOrderService;
|
|
|
+ @Autowired
|
|
|
+ @Qualifier("hzOMSErpOrderServiceImpl")
|
|
|
+ private IErpOrderService hzOMSerpOrderService;
|
|
|
+
|
|
|
@Autowired
|
|
|
private FsStorePaymentMapper fsStorePaymentMapper;
|
|
|
@Autowired
|
|
@@ -128,7 +135,8 @@ public class FsStoreAfterSalesServiceImpl implements IFsStoreAfterSalesService {
|
|
|
FsExportTaskMapper fsExportTaskMapper;
|
|
|
@Autowired
|
|
|
IFsStoreOrderBillLogService fsStoreOrderBillLogService;
|
|
|
-
|
|
|
+ @Autowired
|
|
|
+ private ConfigUtil configUtil;
|
|
|
|
|
|
/**
|
|
|
* 查询售后记录
|
|
@@ -222,29 +230,29 @@ public class FsStoreAfterSalesServiceImpl implements IFsStoreAfterSalesService {
|
|
|
@Override
|
|
|
public int auditing(FsStoreAfterSales fsStoreAfterSales) {
|
|
|
FsStoreAfterSales order = fsStoreAfterSalesMapper.selectFsStoreAfterSalesById(fsStoreAfterSales.getId());
|
|
|
- if (order==null) {
|
|
|
+ if (order == null) {
|
|
|
|
|
|
- throw new CustomException("订单不存在");
|
|
|
+ throw new CustomException("订单不存在");
|
|
|
}
|
|
|
- if (order.getSalesStatus()!=0){
|
|
|
+ if (order.getSalesStatus() != 0) {
|
|
|
throw new CustomException("非法更改");
|
|
|
}
|
|
|
- Integer status=null;
|
|
|
+ Integer status = null;
|
|
|
FsStoreAfterSales fs = new FsStoreAfterSales();
|
|
|
- if (order.getOrderStatus()==2){
|
|
|
- status=3;
|
|
|
- }else if (order.getOrderStatus()==3){
|
|
|
+ if (order.getOrderStatus() == 2) {
|
|
|
+ status = 3;
|
|
|
+ } else if (order.getOrderStatus() == 3) {
|
|
|
FsStore fsStore = fsStoreMapper.selectFsStoreByStoreId(order.getStoreId());
|
|
|
fs.setPhoneNumber(fsStore.getRefundPhone());
|
|
|
fs.setAddress(fsStore.getRefundAddress());
|
|
|
fs.setConsignee(fsStore.getRefundConsignee());
|
|
|
- status=2;
|
|
|
- }else if (order.getOrderStatus()==4){
|
|
|
+ status = 2;
|
|
|
+ } else if (order.getOrderStatus() == 4) {
|
|
|
FsStore fsStore = fsStoreMapper.selectFsStoreByStoreId(order.getStoreId());
|
|
|
fs.setPhoneNumber(fsStore.getRefundPhone());
|
|
|
fs.setAddress(fsStore.getRefundAddress());
|
|
|
fs.setConsignee(fsStore.getRefundConsignee());
|
|
|
- status=1;
|
|
|
+ status = 1;
|
|
|
}
|
|
|
|
|
|
fs.setId(fsStoreAfterSales.getId());
|
|
@@ -264,9 +272,13 @@ public class FsStoreAfterSalesServiceImpl implements IFsStoreAfterSalesService {
|
|
|
@Override
|
|
|
public int noAuditing(FsStoreAfterSales fsStoreAfterSales) {
|
|
|
FsStoreAfterSales order = fsStoreAfterSalesMapper.selectFsStoreAfterSalesById(fsStoreAfterSales.getId());
|
|
|
- if (order==null)throw new CustomException("订单不存在");
|
|
|
- if (order.getSalesStatus()!=0){throw new CustomException("非法更改");}
|
|
|
- if (order.getStatus()==5){throw new CustomException("非法更改");}
|
|
|
+ if (order == null) throw new CustomException("订单不存在");
|
|
|
+ if (order.getSalesStatus() != 0) {
|
|
|
+ throw new CustomException("非法更改");
|
|
|
+ }
|
|
|
+ if (order.getStatus() == 5) {
|
|
|
+ throw new CustomException("非法更改");
|
|
|
+ }
|
|
|
FsStoreAfterSales fs = new FsStoreAfterSales();
|
|
|
fs.setId(fsStoreAfterSales.getId());
|
|
|
fs.setSalesStatus(2);
|
|
@@ -276,7 +288,7 @@ public class FsStoreAfterSalesServiceImpl implements IFsStoreAfterSalesService {
|
|
|
logs.setChangeTime(new DateTime());
|
|
|
logs.setChangeType(FsStoreAfterSalesStatusEnum.STATUS_6.getValue());
|
|
|
logs.setStoreAfterSalesId(fsStoreAfterSales.getId());
|
|
|
- logs.setChangeMessage(FsStoreAfterSalesStatusEnum.STATUS_6.getDesc()+" "+fsStoreAfterSales.getRemark());
|
|
|
+ logs.setChangeMessage(FsStoreAfterSalesStatusEnum.STATUS_6.getDesc() + " " + fsStoreAfterSales.getRemark());
|
|
|
logs.setOperator(fsStoreAfterSales.getOperator());
|
|
|
fsStoreAfterSalesLogsMapper.insertFsStoreAfterSalesLogs(logs);
|
|
|
// FsStoreOrderLogs Logs = new FsStoreOrderLogs();
|
|
@@ -289,33 +301,33 @@ public class FsStoreAfterSalesServiceImpl implements IFsStoreAfterSalesService {
|
|
|
or.setOrderId(order.getOrderId());
|
|
|
or.setStatus(order.getOrderStatus());
|
|
|
fsStoreOrderMapper.updateFsStoreOrder(or);
|
|
|
- if (order.getOrderStatus()==2){
|
|
|
+ if (order.getOrderStatus() == 2) {
|
|
|
FsStoreOrder fsStoreOrder = fsStoreOrderMapper.selectFsStoreOrderByOrderId(order.getOrderId());
|
|
|
- String newOrderSn = OrderCodeUtils.getOrderSn();
|
|
|
- if(StringUtils.isEmpty(newOrderSn)){
|
|
|
- newOrderSn = OrderCodeUtils.getOrderSn();
|
|
|
+ String newOrderSn = OrderCodeUtils.getOrderSn();
|
|
|
+ if (StringUtils.isEmpty(newOrderSn)) {
|
|
|
+ newOrderSn = OrderCodeUtils.getOrderSn();
|
|
|
}
|
|
|
FsStoreOrder newOrder = new FsStoreOrder();
|
|
|
newOrder.setOrderId(order.getOrderId());
|
|
|
newOrder.setOrderCode(newOrderSn);
|
|
|
fsStoreOrderMapper.updateFsStoreOrder(newOrder);
|
|
|
or.setOrderCode(newOrderSn);
|
|
|
- if (fsStoreOrder.getPackageOrderId()!=null){
|
|
|
+ if (fsStoreOrder.getPackageOrderId() != null) {
|
|
|
FsPackageOrder fsPackageOrder = new FsPackageOrder();
|
|
|
fsPackageOrder.setOrderId(fsStoreOrder.getPackageOrderId());
|
|
|
fsPackageOrder.setOrderSn(newOrderSn);
|
|
|
fsPackageOrderMapper.updateFsPackageOrder(fsPackageOrder);
|
|
|
}
|
|
|
- if (fsStoreOrder.getInquiryOrderId()!=null){
|
|
|
+ if (fsStoreOrder.getInquiryOrderId() != null) {
|
|
|
FsInquiryOrder fsInquiryOrder = new FsInquiryOrder();
|
|
|
fsInquiryOrder.setOrderSn(newOrderSn);
|
|
|
fsInquiryOrder.setOrderId(fsStoreOrder.getInquiryOrderId());
|
|
|
fsInquiryOrderMapper.updateFsInquiryOrder(fsInquiryOrder);
|
|
|
}
|
|
|
|
|
|
- List<FsStorePayment> payments = fsStorePaymentMapper.selectFsStorePaymentByPay(2,fsStoreOrder.getOrderId());
|
|
|
- if (fsStoreOrder.getPackageOrderId()!=null){
|
|
|
- payments = fsStorePaymentMapper.selectFsStorePaymentByPay(3,fsStoreOrder.getPackageOrderId());
|
|
|
+ List<FsStorePayment> payments = fsStorePaymentMapper.selectFsStorePaymentByPay(2, fsStoreOrder.getOrderId());
|
|
|
+ if (fsStoreOrder.getPackageOrderId() != null) {
|
|
|
+ payments = fsStorePaymentMapper.selectFsStorePaymentByPay(3, fsStoreOrder.getPackageOrderId());
|
|
|
}
|
|
|
for (FsStorePayment payment : payments) {
|
|
|
FsStorePayment fsStorePayment = new FsStorePayment();
|
|
@@ -333,10 +345,6 @@ public class FsStoreAfterSalesServiceImpl implements IFsStoreAfterSalesService {
|
|
|
}
|
|
|
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
return 1;
|
|
|
}
|
|
|
|
|
@@ -345,8 +353,8 @@ public class FsStoreAfterSalesServiceImpl implements IFsStoreAfterSalesService {
|
|
|
public int refundMoney(FsStoreAfterSales fsStoreAfterSales) {
|
|
|
FsStoreAfterSales order = fsStoreAfterSalesMapper.selectFsStoreAfterSalesById(fsStoreAfterSales.getId());
|
|
|
FsStoreOrder fsStoreOrder = fsStoreOrderMapper.selectFsStoreOrderByOrderId(order.getOrderId());
|
|
|
- if (order==null)throw new CustomException("订单不存在");
|
|
|
- if (order.getStatus()!=3)throw new CustomException("非法更改");
|
|
|
+ if (order == null) throw new CustomException("订单不存在");
|
|
|
+ if (order.getStatus() != 3) throw new CustomException("非法更改");
|
|
|
//更改售后订单状态
|
|
|
FsStoreAfterSales fs = new FsStoreAfterSales();
|
|
|
fs.setId(fsStoreAfterSales.getId());
|
|
@@ -373,20 +381,20 @@ public class FsStoreAfterSalesServiceImpl implements IFsStoreAfterSalesService {
|
|
|
Logs.setChangeType(FsStoreOrderStatusEnum.REFUND_STATUS_2.getValue().toString());
|
|
|
fsStoreOrderLogsMapper.insertFsStoreOrderLogs(Logs);
|
|
|
BigDecimal reMoney = order.getRefundAmount();
|
|
|
- String orderType="store";
|
|
|
+ String orderType = "store";
|
|
|
// 开票冲红
|
|
|
fsStoreOrderBillLogService.billBackByOrderId(fsStoreOrder.getOrderId());
|
|
|
|
|
|
|
|
|
- if (fsStoreOrder.getPackageOrderId()!=null){
|
|
|
- orderType="package";
|
|
|
+ if (fsStoreOrder.getPackageOrderId() != null) {
|
|
|
+ orderType = "package";
|
|
|
FsPackageOrder fsPackageOrder = fsPackageOrderMapper.selectFsPackageOrderByOrderId(fsStoreOrder.getPackageOrderId());
|
|
|
- if (fsPackageOrder!=null){
|
|
|
+ if (fsPackageOrder != null) {
|
|
|
fsPackageOrder.setStatus(-2);
|
|
|
fsPackageOrder.setRefundStatus(2);
|
|
|
fsPackageOrderMapper.updateFsPackageOrder(fsPackageOrder);
|
|
|
}
|
|
|
- if (fsPackageOrder.getInquiryOrderId()!=null){
|
|
|
+ if (fsPackageOrder.getInquiryOrderId() != null) {
|
|
|
FsInquiryOrder fsInquiryOrder = new FsInquiryOrder();
|
|
|
fsInquiryOrder.setOrderId(fsPackageOrder.getInquiryOrderId());
|
|
|
fsInquiryOrder.setStatus(-2);
|
|
@@ -404,7 +412,7 @@ public class FsStoreAfterSalesServiceImpl implements IFsStoreAfterSalesService {
|
|
|
// productService.incProductStock(vo.getNum(), vo.getProductId(), vo.getProductAttrValueId());
|
|
|
// }
|
|
|
// }
|
|
|
- if (order.getCompanyId()!=null){
|
|
|
+ if (order.getCompanyId() != null) {
|
|
|
companyService.refundCompanyMoney(fsStoreOrder);
|
|
|
}
|
|
|
|
|
@@ -414,15 +422,15 @@ public class FsStoreAfterSalesServiceImpl implements IFsStoreAfterSalesService {
|
|
|
// fsUserService.subUserIntegral(fsStoreOrder.getUserId(),fsStoreOrder.getOrderId(),2);
|
|
|
// }
|
|
|
|
|
|
- List<FsStorePayment> payments = fsStorePaymentMapper.selectFsStorePaymentByPay(2,fsStoreOrder.getOrderId());
|
|
|
- if (fsStoreOrder.getPackageOrderId()!=null){
|
|
|
+ List<FsStorePayment> payments = fsStorePaymentMapper.selectFsStorePaymentByPay(2, fsStoreOrder.getOrderId());
|
|
|
+ if (fsStoreOrder.getPackageOrderId() != null) {
|
|
|
|
|
|
- payments = fsStorePaymentMapper.selectFsStorePaymentByPay(3,fsStoreOrder.getPackageOrderId());
|
|
|
+ payments = fsStorePaymentMapper.selectFsStorePaymentByPay(3, fsStoreOrder.getPackageOrderId());
|
|
|
}
|
|
|
- if(payments!=null&&payments.size()>0){
|
|
|
- FsStorePayment payment=payments.get(0);
|
|
|
- String json=configService.selectConfigByKey("his.pay");
|
|
|
- if(payment.getPayMode().equals("wx")){
|
|
|
+ if (payments != null && payments.size() > 0) {
|
|
|
+ FsStorePayment payment = payments.get(0);
|
|
|
+ String json = configService.selectConfigByKey("his.pay");
|
|
|
+ if (payment.getPayMode().equals("wx")) {
|
|
|
WxPayConfig payConfig = new WxPayConfig();
|
|
|
SysConfig sysConfig = sysConfigMapper.selectConfigByConfigKey("his.pay");
|
|
|
FsPayConfig fsPayConfig = new Gson().fromJson(sysConfig.getConfigValue(), FsPayConfig.class);
|
|
@@ -434,106 +442,111 @@ public class FsStoreAfterSalesServiceImpl implements IFsStoreAfterSalesService {
|
|
|
payConfig.setSubMchId(org.apache.commons.lang3.StringUtils.trimToNull(null));
|
|
|
wxPayService.setConfig(payConfig);
|
|
|
WxPayRefundRequest refundRequest = new WxPayRefundRequest();
|
|
|
- refundRequest.setOutTradeNo(orderType+"-"+payment.getPayCode());
|
|
|
- refundRequest.setOutRefundNo(orderType+"-"+payment.getPayCode());
|
|
|
+ refundRequest.setOutTradeNo(orderType + "-" + payment.getPayCode());
|
|
|
+ refundRequest.setOutRefundNo(orderType + "-" + payment.getPayCode());
|
|
|
refundRequest.setTotalFee(WxPayUnifiedOrderRequest.yuanToFen(payment.getPayMoney().toString()));
|
|
|
refundRequest.setRefundFee(WxPayUnifiedOrderRequest.yuanToFen(payment.getPayMoney().toString()));
|
|
|
try {
|
|
|
WxPayRefundResult refundResult = wxPayService.refund(refundRequest);
|
|
|
WxPayRefundQueryResult refundQueryResult = wxPayService.refundQuery("", refundResult.getOutTradeNo(), refundResult.getOutRefundNo(), refundResult.getRefundId());
|
|
|
- if(refundQueryResult!=null&&refundQueryResult.getResultCode().equals("SUCCESS")){
|
|
|
- FsStorePayment paymentMap=new FsStorePayment();
|
|
|
+ if (refundQueryResult != null && refundQueryResult.getResultCode().equals("SUCCESS")) {
|
|
|
+ FsStorePayment paymentMap = new FsStorePayment();
|
|
|
paymentMap.setPaymentId(payment.getPaymentId());
|
|
|
paymentMap.setStatus(-1);
|
|
|
paymentMap.setRefundTime(DateUtils.getNowDate());
|
|
|
paymentMap.setRefundMoney(payment.getPayMoney());
|
|
|
fsStorePaymentMapper.updateFsStorePayment(paymentMap);
|
|
|
- }
|
|
|
- else {
|
|
|
- throw new CustomException("退款请求失败"+refundQueryResult.getReturnMsg());
|
|
|
+ } else {
|
|
|
+ throw new CustomException("退款请求失败" + refundQueryResult.getReturnMsg());
|
|
|
}
|
|
|
} catch (WxPayException e) {
|
|
|
- throw new CustomException("退款请求失败"+e.getReturnMsg());
|
|
|
+ throw new CustomException("退款请求失败" + e.getReturnMsg());
|
|
|
}
|
|
|
- }
|
|
|
- else if(payment.getPayMode().equals("yb")){
|
|
|
+ } else if (payment.getPayMode().equals("yb")) {
|
|
|
//易宝
|
|
|
- RefundDTO refundDTO=new RefundDTO();
|
|
|
+ RefundDTO refundDTO = new RefundDTO();
|
|
|
refundDTO.setRefundMoney(payment.getPayMoney().toString());
|
|
|
- refundDTO.setLowRefundNo(orderType+"-"+payment.getPayCode());
|
|
|
+ refundDTO.setLowRefundNo(orderType + "-" + payment.getPayCode());
|
|
|
refundDTO.setUpOrderId(payment.getTradeNo());
|
|
|
- com.fs.ybPay.domain.RefundResult result=payService.refund(refundDTO);
|
|
|
- logger.info("订单退款返回结果:退款订单id:"+order.getOrderId()+result);
|
|
|
- if(result.getState().equals("5")){
|
|
|
- FsStorePayment paymentMap=new FsStorePayment();
|
|
|
+ com.fs.ybPay.domain.RefundResult result = payService.refund(refundDTO);
|
|
|
+ logger.info("订单退款返回结果:退款订单id:" + order.getOrderId() + result);
|
|
|
+ if (result.getState().equals("5")) {
|
|
|
+ FsStorePayment paymentMap = new FsStorePayment();
|
|
|
paymentMap.setPaymentId(payment.getPaymentId());
|
|
|
paymentMap.setStatus(-1);
|
|
|
paymentMap.setRefundTime(DateUtils.getNowDate());
|
|
|
paymentMap.setRefundMoney(payment.getPayMoney());
|
|
|
fsStorePaymentMapper.updateFsStorePayment(paymentMap);
|
|
|
- }else {
|
|
|
- throw new CustomException("退款请求失败"+result.getMessage());
|
|
|
+ } else {
|
|
|
+ throw new CustomException("退款请求失败" + result.getMessage());
|
|
|
}
|
|
|
- } else if(payment.getPayMode().equals("tz")){
|
|
|
+ } else if (payment.getPayMode().equals("tz")) {
|
|
|
RefundParam tzBankResult = new RefundParam();
|
|
|
// 使用set方法为对象的字段赋值
|
|
|
//商户原支付订单号
|
|
|
- tzBankResult.setOldPayOutOrderNo(orderType+payment.getPayCode());
|
|
|
+ tzBankResult.setOldPayOutOrderNo(orderType + payment.getPayCode());
|
|
|
// 商户退款订单号 对接平台系统里自己生成的退款订单号
|
|
|
- tzBankResult.setRefundOrderNo(orderType+payment.getPayCode());
|
|
|
+ tzBankResult.setRefundOrderNo(orderType + payment.getPayCode());
|
|
|
// 交易发送时间 yyyyMMddHHmmss
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
|
|
|
tzBankResult.setTrxSendTime(sdf.format(new Date()));
|
|
|
// 退款金额
|
|
|
tzBankResult.setRefundOrdTransAmt(payment.getPayMoney().doubleValue());
|
|
|
TzBankResult<RefundResult> result = tzBankService.refund(tzBankResult);
|
|
|
- logger.info("订单退款返回结果:退款订单id:"+order.getOrderId()+result);
|
|
|
- if(result.getBody().getRefundOrdStatus().equals("90")||result.getBody().getRefundOrdStatus().equals("60")){
|
|
|
- FsStorePayment paymentMap=new FsStorePayment();
|
|
|
+ logger.info("订单退款返回结果:退款订单id:" + order.getOrderId() + result);
|
|
|
+ if (result.getBody().getRefundOrdStatus().equals("90") || result.getBody().getRefundOrdStatus().equals("60")) {
|
|
|
+ FsStorePayment paymentMap = new FsStorePayment();
|
|
|
paymentMap.setPaymentId(payment.getPaymentId());
|
|
|
paymentMap.setStatus(-1);
|
|
|
paymentMap.setRefundTime(DateUtils.getNowDate());
|
|
|
paymentMap.setRefundMoney(payment.getPayMoney());
|
|
|
fsStorePaymentMapper.updateFsStorePayment(paymentMap);
|
|
|
- }else {
|
|
|
- throw new CustomException("退款请求失败"+result.getRetMsg());
|
|
|
+ } else {
|
|
|
+ throw new CustomException("退款请求失败" + result.getRetMsg());
|
|
|
}
|
|
|
- }
|
|
|
- else if(payment.getPayMode().equals("hf")){
|
|
|
+ } else if (payment.getPayMode().equals("hf")) {
|
|
|
V2TradePaymentScanpayRefundRequest request = new V2TradePaymentScanpayRefundRequest();
|
|
|
request.setOrdAmt(payment.getPayMoney().toString());
|
|
|
request.setOrgReqDate(new SimpleDateFormat("yyyyMMdd").format(payment.getCreateTime()));
|
|
|
- request.setReqSeqId("refund-"+payment.getPayCode());
|
|
|
+ request.setReqSeqId("refund-" + payment.getPayCode());
|
|
|
Map<String, Object> extendInfoMap = new HashMap<>();
|
|
|
- extendInfoMap.put("org_req_seq_id", orderType+"-"+payment.getPayCode());
|
|
|
+ extendInfoMap.put("org_req_seq_id", orderType + "-" + payment.getPayCode());
|
|
|
request.setExtendInfo(extendInfoMap);
|
|
|
HuiFuRefundResult refund = huiFuService.refund(request);
|
|
|
- logger.info("订单退款返回结果:退款订单id:"+order.getOrderId()+refund);
|
|
|
- if((refund.getResp_code().equals("00000000")||refund.getResp_code().equals("00000100"))&&(refund.getTrans_stat().equals("S")||refund.getTrans_stat().equals("P"))){
|
|
|
- FsStorePayment paymentMap=new FsStorePayment();
|
|
|
+ logger.info("订单退款返回结果:退款订单id:" + order.getOrderId() + refund);
|
|
|
+ if ((refund.getResp_code().equals("00000000") || refund.getResp_code().equals("00000100")) && (refund.getTrans_stat().equals("S") || refund.getTrans_stat().equals("P"))) {
|
|
|
+ FsStorePayment paymentMap = new FsStorePayment();
|
|
|
paymentMap.setPaymentId(payment.getPaymentId());
|
|
|
paymentMap.setStatus(-1);
|
|
|
paymentMap.setRefundTime(DateUtils.getNowDate());
|
|
|
paymentMap.setRefundMoney(payment.getPayMoney());
|
|
|
fsStorePaymentMapper.updateFsStorePayment(paymentMap);
|
|
|
- }else {
|
|
|
- throw new CustomException("退款请求失败"+refund.getResp_desc());
|
|
|
+ } else {
|
|
|
+ throw new CustomException("退款请求失败" + refund.getResp_desc());
|
|
|
}
|
|
|
}
|
|
|
//管易作废
|
|
|
- if(StringUtils.isNotEmpty(fsStoreOrder.getExtendOrderId())){
|
|
|
- if (!fsStoreOrder.getExtendOrderId().equals("HIS")){
|
|
|
- ErpRefundUpdateRequest request=new ErpRefundUpdateRequest();
|
|
|
+ if (StringUtils.isNotEmpty(fsStoreOrder.getExtendOrderId())) {
|
|
|
+ if (!fsStoreOrder.getExtendOrderId().equals("HIS")) {
|
|
|
+ ErpRefundUpdateRequest request = new ErpRefundUpdateRequest();
|
|
|
request.setTid(fsStoreOrder.getOrderCode());
|
|
|
request.setOid(fsStoreOrder.getOrderCode());
|
|
|
request.setRefund_state(1);
|
|
|
- erpOrderService.refundUpdate(request);
|
|
|
+ request.setStoreAfterSalesId(fsStoreAfterSales.getId());
|
|
|
+ FsSysConfig sysConfig = configUtil.getSysConfig();
|
|
|
+ Integer erpType = sysConfig.getErpType();
|
|
|
+ if (erpType == 1) {
|
|
|
+ erpOrderService.refundUpdate(request);
|
|
|
+ } else if (erpType == 3) {
|
|
|
+ //瀚智
|
|
|
+ hzOMSerpOrderService.refundUpdate(request);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
- }else {
|
|
|
- if (order.getRefundAmount().compareTo(BigDecimal.ZERO) == 0){
|
|
|
+ } else {
|
|
|
+ if (order.getRefundAmount().compareTo(BigDecimal.ZERO) == 0) {
|
|
|
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
throw new CustomException("未找的支付明细");
|
|
|
}
|
|
|
}
|
|
@@ -577,14 +590,14 @@ public class FsStoreAfterSalesServiceImpl implements IFsStoreAfterSalesService {
|
|
|
if (order.getStatus() == FsStoreOrderStatusEnum.STATUS_NE1.getValue()) {
|
|
|
return R.error("已提交申请,等待处理");
|
|
|
}
|
|
|
- if (order.getPayType()==3&&order.getStatus()>=FsStoreOrderStatusEnum.STATUS_3.getValue() ){
|
|
|
- return R.error("货到付款已发货订单,不支持申请售后");
|
|
|
+ if (order.getPayType() == 3 && order.getStatus() >= FsStoreOrderStatusEnum.STATUS_3.getValue()) {
|
|
|
+ return R.error("货到付款已发货订单,不支持申请售后");
|
|
|
}
|
|
|
// if(storeAfterSalesParam.getRefundAmount().compareTo(order.getPayPrice())==1){
|
|
|
// return R.error("退款金额不能大于支付金额");
|
|
|
// }
|
|
|
//已完成订单七天后不能申请退款
|
|
|
- if(order.getIsAfterSales()==0){
|
|
|
+ if (order.getIsAfterSales() == 0) {
|
|
|
return R.error("此订单已超过售后时间,不能提交售后");
|
|
|
}
|
|
|
// if (order.getStatus().equals(FsStoreOrderStatusEnum.STATUS_4.getValue())) {
|
|
@@ -670,13 +683,21 @@ public class FsStoreAfterSalesServiceImpl implements IFsStoreAfterSalesService {
|
|
|
logs.setStoreAfterSalesId(storeAfterSales.getId());
|
|
|
logs.setChangeMessage(FsStoreAfterSalesStatusEnum.STATUS_0.getDesc());
|
|
|
fsStoreAfterSalesLogsMapper.insertFsStoreAfterSalesLogs(logs);
|
|
|
- if(order.getExtendOrderId()!=null){
|
|
|
+ if (order.getExtendOrderId() != null) {
|
|
|
ErpRefundUpdateRequest request = new ErpRefundUpdateRequest();
|
|
|
request.setTid(order.getOrderCode());
|
|
|
request.setOid(order.getOrderCode());
|
|
|
request.setRefund_state(1);
|
|
|
- BaseResponse response = erpOrderService.refundUpdate(request);
|
|
|
-
|
|
|
+ request.setStoreAfterSalesId(storeAfterSales.getId());
|
|
|
+ FsSysConfig sysConfig = configUtil.getSysConfig();
|
|
|
+ Integer erpType = sysConfig.getErpType();
|
|
|
+ BaseResponse response = null;
|
|
|
+ if (erpType == 1) {
|
|
|
+ response = erpOrderService.refundUpdate(request);
|
|
|
+ } else if (erpType == 3) {
|
|
|
+ //瀚智
|
|
|
+ response = hzOMSerpOrderService.refundUpdate(request);
|
|
|
+ }
|
|
|
if (response.getSuccess()) {
|
|
|
return R.ok();
|
|
|
} else {
|
|
@@ -725,32 +746,32 @@ public class FsStoreAfterSalesServiceImpl implements IFsStoreAfterSalesService {
|
|
|
if (storeAfterSales.getOrderStatus().equals(FsStoreOrderStatusEnum.STATUS_2.getValue())) {
|
|
|
if (StringUtils.isNotEmpty(order.getExtendOrderId())) {
|
|
|
//更新订单code
|
|
|
- String orderSn = OrderCodeUtils.getOrderSn();
|
|
|
- if(StringUtils.isEmpty(orderSn)){
|
|
|
+ String orderSn = OrderCodeUtils.getOrderSn();
|
|
|
+ if (StringUtils.isEmpty(orderSn)) {
|
|
|
return R.error("订单生成失败,请重试");
|
|
|
}
|
|
|
- FsStoreOrder orderMap=new FsStoreOrder();
|
|
|
+ FsStoreOrder orderMap = new FsStoreOrder();
|
|
|
orderMap.setOrderId(order.getOrderId());
|
|
|
orderMap.setOrderCode(orderSn);
|
|
|
fsStoreOrderMapper.updateFsStoreOrder(orderMap);
|
|
|
//生成新的订单
|
|
|
|
|
|
- if (order.getPackageOrderId()!=null){
|
|
|
+ if (order.getPackageOrderId() != null) {
|
|
|
FsPackageOrder fsPackageOrder = new FsPackageOrder();
|
|
|
fsPackageOrder.setOrderId(order.getPackageOrderId());
|
|
|
fsPackageOrder.setOrderSn(orderSn);
|
|
|
fsPackageOrderMapper.updateFsPackageOrder(fsPackageOrder);
|
|
|
}
|
|
|
- if (order.getInquiryOrderId()!=null){
|
|
|
+ if (order.getInquiryOrderId() != null) {
|
|
|
FsInquiryOrder fsInquiryOrder = new FsInquiryOrder();
|
|
|
fsInquiryOrder.setOrderSn(orderSn);
|
|
|
fsInquiryOrder.setOrderId(order.getInquiryOrderId());
|
|
|
fsInquiryOrderMapper.updateFsInquiryOrder(fsInquiryOrder);
|
|
|
}
|
|
|
|
|
|
- List<FsStorePayment> payments = fsStorePaymentMapper.selectFsStorePaymentByPay(2,order.getOrderId());
|
|
|
- if (order.getPackageOrderId()!=null){
|
|
|
- payments = fsStorePaymentMapper.selectFsStorePaymentByPay(3,order.getPackageOrderId());
|
|
|
+ List<FsStorePayment> payments = fsStorePaymentMapper.selectFsStorePaymentByPay(2, order.getOrderId());
|
|
|
+ if (order.getPackageOrderId() != null) {
|
|
|
+ payments = fsStorePaymentMapper.selectFsStorePaymentByPay(3, order.getPackageOrderId());
|
|
|
}
|
|
|
for (FsStorePayment payment : payments) {
|
|
|
FsStorePayment fsStorePayment = new FsStorePayment();
|
|
@@ -762,8 +783,7 @@ public class FsStoreAfterSalesServiceImpl implements IFsStoreAfterSalesService {
|
|
|
|
|
|
try {
|
|
|
fsStoreOrderService.createOmsOrder(order.getOrderId());
|
|
|
- }
|
|
|
- catch (Exception e){
|
|
|
+ } catch (Exception e) {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -803,9 +823,9 @@ public class FsStoreAfterSalesServiceImpl implements IFsStoreAfterSalesService {
|
|
|
@Override
|
|
|
public int depotAuditing(FsStoreAfterSales fsStoreAfterSales) {
|
|
|
FsStoreAfterSales order = fsStoreAfterSalesMapper.selectFsStoreAfterSalesById(fsStoreAfterSales.getId());
|
|
|
- if (order==null)throw new CustomException("订单不存在");
|
|
|
- if (order.getSalesStatus()!=0)throw new CustomException("非法更改");
|
|
|
- if (order.getStatus()!=2){
|
|
|
+ if (order == null) throw new CustomException("订单不存在");
|
|
|
+ if (order.getSalesStatus() != 0) throw new CustomException("非法更改");
|
|
|
+ if (order.getStatus() != 2) {
|
|
|
throw new CustomException("非法更改");
|
|
|
}
|
|
|
FsStoreAfterSales fs = new FsStoreAfterSales();
|
|
@@ -824,14 +844,14 @@ public class FsStoreAfterSalesServiceImpl implements IFsStoreAfterSalesService {
|
|
|
|
|
|
@Override
|
|
|
public List<FsStoreAfterSalesListUVO> selectFsStoreAfterSalesListUVO(FsStoreAfterSalesListUParam param) {
|
|
|
- List<FsStoreAfterSalesListUVO> list=fsStoreAfterSalesMapper.selectFsStoreAfterSalesListUVO(param);
|
|
|
- for(FsStoreAfterSalesListUVO vo:list){
|
|
|
- FsStoreAfterSalesItem map=new FsStoreAfterSalesItem();
|
|
|
+ List<FsStoreAfterSalesListUVO> list = fsStoreAfterSalesMapper.selectFsStoreAfterSalesListUVO(param);
|
|
|
+ for (FsStoreAfterSalesListUVO vo : list) {
|
|
|
+ FsStoreAfterSalesItem map = new FsStoreAfterSalesItem();
|
|
|
map.setAfterSalesId(vo.getId());
|
|
|
- List<FsStoreAfterSalesItem> items=fsStoreAfterSalesItemMapper.selectFsStoreAfterSalesItemList(map);
|
|
|
+ List<FsStoreAfterSalesItem> items = fsStoreAfterSalesItemMapper.selectFsStoreAfterSalesItemList(map);
|
|
|
vo.setItems(items);
|
|
|
}
|
|
|
- return list;
|
|
|
+ return list;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -865,6 +885,7 @@ public class FsStoreAfterSalesServiceImpl implements IFsStoreAfterSalesService {
|
|
|
public Long selectFsStoreAfterSalesExcelListVOCount(FsStoreAfterSalesParam fsStoreAfterSales) {
|
|
|
return fsStoreAfterSalesMapper.selectFsStoreAfterSalesExcelListVOCount(fsStoreAfterSales);
|
|
|
}
|
|
|
+
|
|
|
@Async
|
|
|
@Override
|
|
|
public void exportData(FsStoreAfterSalesParam fsStoreAfterSales) {
|
|
@@ -872,7 +893,7 @@ public class FsStoreAfterSalesServiceImpl implements IFsStoreAfterSalesService {
|
|
|
|
|
|
ExcelUtil<FsStoreAfterSalesExcelVO> util = new ExcelUtil<>(FsStoreAfterSalesExcelVO.class);
|
|
|
AjaxResult result = util.exportExcel(list, "售后记录数据");
|
|
|
- FsExportTask task=fsExportTaskMapper.selectFsExportTaskByTaskId(fsStoreAfterSales.getTaskId());
|
|
|
+ FsExportTask task = fsExportTaskMapper.selectFsExportTaskByTaskId(fsStoreAfterSales.getTaskId());
|
|
|
task.setFinishTime(new Date());
|
|
|
task.setStatus(1);
|
|
|
task.setFileUrl(result.get("msg").toString());
|