Bläddra i källkod

Merge remote-tracking branch 'origin/康年堂' into 康年堂

ct 1 vecka sedan
förälder
incheckning
8e0729e648

+ 4 - 0
fs-service/src/main/java/com/fs/hisStore/service/impl/FsStoreAfterSalesScrmServiceImpl.java

@@ -909,6 +909,10 @@ public class FsStoreAfterSalesScrmServiceImpl implements IFsStoreAfterSalesScrmS
         storeAfterSalesStatus.setOperator(param.getOperator());
         afterSalesStatusService.insertFsStoreAfterSalesStatus(storeAfterSalesStatus);
 
+        if(ObjectUtil.equal(order.getStatus(),2) && CloudHostUtils.hasCloudHostName("康年堂")){
+            throw new CustomException("无法撤销");
+        }
+
         // 如果已发货走发货售后逻辑,否则直接取消
         if(ObjectUtil.equal(order.getStatus(),2)){
             FsJstAftersalePush fsJstAftersalePush = new FsJstAftersalePush();

+ 167 - 148
fs-service/src/main/java/com/fs/hisStore/service/impl/FsStoreOrderScrmServiceImpl.java

@@ -2409,156 +2409,175 @@ public class FsStoreOrderScrmServiceImpl implements IFsStoreOrderScrmService {
                 && !CloudHostUtils.hasCloudHostName("康年堂")) {
             return R.error("暂未推送至erp,请稍后再试!");
         }
-        if (StringUtils.isNotEmpty(order.getExtendOrderId())) {
-            ErpRefundUpdateRequest request = new ErpRefundUpdateRequest();
-            request.setTid(order.getOrderCode());
-            request.setOid(order.getOrderCode());
-            request.setRefund_state(1);
-            request.setOrderStatus(order.getStatus());
-            //BaseResponse response=erpOrderService.refundUpdate(request);
-//            if(response.getSuccess()){
+
+        FsStoreAfterSalesParam fsStoreAfterSalesParam = new FsStoreAfterSalesParam();
+        fsStoreAfterSalesParam.setOrderCode(order.getOrderCode());
+        fsStoreAfterSalesParam.setRefundAmount(order.getPayMoney());
+        fsStoreAfterSalesParam.setServiceType(1);
+        fsStoreAfterSalesParam.setReasons("后台手动退款流程");
+        fsStoreAfterSalesParam.setExplainImg(null);
+        List<FsStoreAfterSalesProductParam> productParams = new ArrayList<>();
+        List <FsStoreOrderItemScrm> items = fsStoreOrderMapper.selectOrderItem(order.getId());
+        for (FsStoreOrderItemScrm item : items){
+            FsStoreAfterSalesProductParam param1 = new FsStoreAfterSalesProductParam();
+            param1.setProductId(item.getProductId());
+            param1.setNum(item.getNum());
+            productParams.add(param1);
+        }
+        fsStoreAfterSalesParam.setProductList(productParams);
+
+        return fsStoreAfterSalesScrmService.applyForAfterSales(order.getUserId(),fsStoreAfterSalesParam);
+
+//        if (StringUtils.isNotEmpty(order.getExtendOrderId())) {
+//            ErpRefundUpdateRequest request = new ErpRefundUpdateRequest();
+//            request.setTid(order.getOrderCode());
+//            request.setOid(order.getOrderCode());
+//            request.setRefund_state(1);
+//            request.setOrderStatus(order.getStatus());
+//            //BaseResponse response=erpOrderService.refundUpdate(request);
+////            if(response.getSuccess()){
+////            }
+////            else{
+////                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+////                return R.error(response.getErrorDesc());
+////            }
+//
+//            if(ObjectUtils.equals(order.getStatus(),2)){
+//                FsStoreAfterSalesParam fsStoreAfterSalesParam = new FsStoreAfterSalesParam();
+//                fsStoreAfterSalesParam.setOrderCode(order.getOrderCode());
+//                fsStoreAfterSalesParam.setRefundAmount(order.getPayMoney());
+//                fsStoreAfterSalesParam.setServiceType(1);
+//                fsStoreAfterSalesParam.setReasons("后台手动退款流程");
+//                fsStoreAfterSalesParam.setExplainImg(null);
+//                List<FsStoreAfterSalesProductParam> productParams = new ArrayList<>();
+//                List <FsStoreOrderItemScrm> items = fsStoreOrderMapper.selectOrderItem(order.getId());
+//                for (FsStoreOrderItemScrm item : items){
+//                    FsStoreAfterSalesProductParam param1 = new FsStoreAfterSalesProductParam();
+//                    param1.setProductId(item.getProductId());
+//                    param1.setNum(item.getNum());
+//                    productParams.add(param1);
+//                }
+//                fsStoreAfterSalesParam.setProductList(productParams);
+//
+//                return fsStoreAfterSalesScrmService.applyForAfterSales(order.getUserId(),fsStoreAfterSalesParam);
+//            } else{
+//                jSTOrderService.refundUpdateScrm(request);
 //            }
-//            else{
-//                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-//                return R.error(response.getErrorDesc());
+//        }
+//        order.setStatus(-2);
+//        order.setRefundPrice(order.getPayMoney());
+//        order.setRefundStatus(OrderInfoEnum.REFUND_STATUS_2.getValue());
+//        fsStoreOrderMapper.updateFsStoreOrder(order);
+//
+//        //退库存
+//        //获取订单下的商品
+//        List<FsStoreOrderItemVO> orderItemVOS = fsStoreOrderItemMapper.selectFsStoreOrderItemListByOrderId(order.getId());
+//        for (FsStoreOrderItemVO vo : orderItemVOS) {
+//            if (vo.getIsAfterSales() == 1) {
+//                productService.incProductStock(vo.getNum(), vo.getProductId(), vo.getProductAttrValueId());
 //            }
-
-            if(ObjectUtils.equals(order.getStatus(),2)){
-                FsStoreAfterSalesParam fsStoreAfterSalesParam = new FsStoreAfterSalesParam();
-                fsStoreAfterSalesParam.setOrderCode(order.getOrderCode());
-                fsStoreAfterSalesParam.setRefundAmount(order.getPayMoney());
-                fsStoreAfterSalesParam.setServiceType(1);
-                fsStoreAfterSalesParam.setReasons("后台手动退款流程");
-                fsStoreAfterSalesParam.setExplainImg(null);
-                List<FsStoreAfterSalesProductParam> productParams = new ArrayList<>();
-                List <FsStoreOrderItemScrm> items = fsStoreOrderMapper.selectOrderItem(order.getId());
-                for (FsStoreOrderItemScrm item : items){
-                    FsStoreAfterSalesProductParam param1 = new FsStoreAfterSalesProductParam();
-                    param1.setProductId(item.getProductId());
-                    param1.setNum(item.getNum());
-                    productParams.add(param1);
-                }
-                fsStoreAfterSalesParam.setProductList(productParams);
-
-                return fsStoreAfterSalesScrmService.applyForAfterSales(order.getUserId(),fsStoreAfterSalesParam);
-            } else{
-                jSTOrderService.refundUpdateScrm(request);
-            }
-        }
-        order.setStatus(-2);
-        order.setRefundPrice(order.getPayMoney());
-        order.setRefundStatus(OrderInfoEnum.REFUND_STATUS_2.getValue());
-        fsStoreOrderMapper.updateFsStoreOrder(order);
-
-        //退库存
-        //获取订单下的商品
-        List<FsStoreOrderItemVO> orderItemVOS = fsStoreOrderItemMapper.selectFsStoreOrderItemListByOrderId(order.getId());
-        for (FsStoreOrderItemVO vo : orderItemVOS) {
-            if (vo.getIsAfterSales() == 1) {
-                productService.incProductStock(vo.getNum(), vo.getProductId(), vo.getProductAttrValueId());
-            }
-
-        }
-        if (order.getPayType().equals(3)) {
-            //货到付款
-        } else {
-            //将钱退还给用户
-            List<FsStorePaymentScrm> payments = paymentService.selectFsStorePaymentByOrderId(order.getId());
-            if (payments != null) {
-                String json = configService.selectConfigByKey("his.pay");
-
-                FsPayConfigScrm fsPayConfig = JSON.parseObject(json, FsPayConfigScrm.class);
-                for (FsStorePaymentScrm payment : payments) {
-                    if (payment.getPayMode() == null || payment.getPayMode().equals("wx")) {
-                        WxPayConfig payConfig = new WxPayConfig();
-                        payConfig.setAppId(fsPayConfig.getAppId());
-                        payConfig.setMchId(fsPayConfig.getWxMchId());
-                        payConfig.setMchKey(fsPayConfig.getWxMchKey());
-                        payConfig.setKeyPath(fsPayConfig.getKeyPath());
-                        payConfig.setSubAppId(org.apache.commons.lang3.StringUtils.trimToNull(null));
-                        payConfig.setSubMchId(org.apache.commons.lang3.StringUtils.trimToNull(null));
-                        wxPayService.setConfig(payConfig);
-                        WxPayRefundRequest refundRequest = new WxPayRefundRequest();
-                        refundRequest.setOutTradeNo("store-" + payment.getPayCode());
-                        refundRequest.setOutRefundNo("store-" + 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")) {
-                                FsStorePaymentScrm paymentMap = new FsStorePaymentScrm();
-                                paymentMap.setPaymentId(payment.getPaymentId());
-                                paymentMap.setStatus(-1);
-                                paymentMap.setRefundTime(DateUtils.getNowDate());
-                                paymentMap.setRefundMoney(payment.getPayMoney());
-                                paymentService.updateFsStorePayment(paymentMap);
-                            } else {
-                                return R.error("退款请求失败" + refundQueryResult.getErrCodeDes());
-                            }
-                        } catch (WxPayException e) {
-                            return R.error("退款请求失败" + e.getErrCodeDes());
-                        }
-                    } else if (payment.getPayMode() != null && payment.getPayMode().equals("hf")) {
-                        String huifuId="";
-                        FsHfpayConfigMapper fsHfpayConfigMapper = SpringUtils.getBean(FsHfpayConfigMapper.class);
-                        if (payment.getAppId() != null) {
-                            FsHfpayConfig fsHfpayConfig = fsHfpayConfigMapper.selectByAppId(payment.getAppId());
-                            if (fsHfpayConfig == null){
-                                huifuId = fsPayConfig.getHuifuId();
-                            }else {
-                                huifuId = fsHfpayConfig.getHuifuId();
-                            }
-                        } else {
-                            if (("益善缘".equals(cloudHostProper.getCompanyName()))) {
-
-                                FsHfpayConfig fsPayConfig2 = fsHfpayConfigMapper.selectByAppId("wx0d1a3dd485268521");
-                                huifuId = fsPayConfig2.getHuifuId();
-                            }else {
-                                huifuId=fsPayConfig.getHuifuId();
-                            }
-                        }
-
-
-                        V2TradePaymentScanpayRefundRequest request = new V2TradePaymentScanpayRefundRequest();
-                        request.setOrgHfSeqId(payment.getTradeNo());
-                        request.setHuifuId(huifuId);
-                        request.setOrdAmt(payment.getPayMoney().toString());
-                        request.setOrgReqDate(new SimpleDateFormat("yyyyMMdd").format(payment.getCreateTime()));
-                        request.setReqSeqId("refund-" + payment.getPayCode());
-                        Map<String, Object> extendInfoMap = new HashMap<>();
-                        extendInfoMap.put("org_party_order_id", payment.getBankSerialNo());
-                        request.setExtendInfo(extendInfoMap);
-                        request.setAppId(payment.getAppId());
-                        HuiFuRefundResult refund = huiFuService.refund(request);
-                        logger.info("退款:" + refund);
-                        if ((refund.getResp_code().equals("00000000") || refund.getResp_code().equals("00000100")) && (refund.getTrans_stat().equals("S") || refund.getTrans_stat().equals("P"))) {
-                            payment.setRefundMoney(payment.getPayMoney());
-                            payment.setStatus(-1);
-                            payment.setRefundTime(new Date());
-                            paymentService.updateFsStorePayment(payment);
-                        } else {
-                            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                            return R.error(refund.getResp_desc());
-                        }
-
-                    } else {
-                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                        return R.error("支付类型异常");
-                    }
-
-
-                }
-            }
-        }
-        //退积分 todo
-
-        orderStatusService.create(order.getId(), OrderLogEnum.REFUND_ORDER_SUCCESS.getValue(),
-                OrderLogEnum.REFUND_ORDER_SUCCESS.getDesc());
-        if (order.getTuiUserId() != null && order.getTuiUserId() > 0) {
-            userService.subTuiMoney(order);
-        }
-        return R.ok();
+//
+//        }
+//        if (order.getPayType().equals(3)) {
+//            //货到付款
+//        } else {
+//            //将钱退还给用户
+//            List<FsStorePaymentScrm> payments = paymentService.selectFsStorePaymentByOrderId(order.getId());
+//            if (payments != null) {
+//                String json = configService.selectConfigByKey("his.pay");
+//
+//                FsPayConfigScrm fsPayConfig = JSON.parseObject(json, FsPayConfigScrm.class);
+//                for (FsStorePaymentScrm payment : payments) {
+//                    if (payment.getPayMode() == null || payment.getPayMode().equals("wx")) {
+//                        WxPayConfig payConfig = new WxPayConfig();
+//                        payConfig.setAppId(fsPayConfig.getAppId());
+//                        payConfig.setMchId(fsPayConfig.getWxMchId());
+//                        payConfig.setMchKey(fsPayConfig.getWxMchKey());
+//                        payConfig.setKeyPath(fsPayConfig.getKeyPath());
+//                        payConfig.setSubAppId(org.apache.commons.lang3.StringUtils.trimToNull(null));
+//                        payConfig.setSubMchId(org.apache.commons.lang3.StringUtils.trimToNull(null));
+//                        wxPayService.setConfig(payConfig);
+//                        WxPayRefundRequest refundRequest = new WxPayRefundRequest();
+//                        refundRequest.setOutTradeNo("store-" + payment.getPayCode());
+//                        refundRequest.setOutRefundNo("store-" + 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")) {
+//                                FsStorePaymentScrm paymentMap = new FsStorePaymentScrm();
+//                                paymentMap.setPaymentId(payment.getPaymentId());
+//                                paymentMap.setStatus(-1);
+//                                paymentMap.setRefundTime(DateUtils.getNowDate());
+//                                paymentMap.setRefundMoney(payment.getPayMoney());
+//                                paymentService.updateFsStorePayment(paymentMap);
+//                            } else {
+//                                return R.error("退款请求失败" + refundQueryResult.getErrCodeDes());
+//                            }
+//                        } catch (WxPayException e) {
+//                            return R.error("退款请求失败" + e.getErrCodeDes());
+//                        }
+//                    } else if (payment.getPayMode() != null && payment.getPayMode().equals("hf")) {
+//                        String huifuId="";
+//                        FsHfpayConfigMapper fsHfpayConfigMapper = SpringUtils.getBean(FsHfpayConfigMapper.class);
+//                        if (payment.getAppId() != null) {
+//                            FsHfpayConfig fsHfpayConfig = fsHfpayConfigMapper.selectByAppId(payment.getAppId());
+//                            if (fsHfpayConfig == null){
+//                                huifuId = fsPayConfig.getHuifuId();
+//                            }else {
+//                                huifuId = fsHfpayConfig.getHuifuId();
+//                            }
+//                        } else {
+//                            if (("益善缘".equals(cloudHostProper.getCompanyName()))) {
+//
+//                                FsHfpayConfig fsPayConfig2 = fsHfpayConfigMapper.selectByAppId("wx0d1a3dd485268521");
+//                                huifuId = fsPayConfig2.getHuifuId();
+//                            }else {
+//                                huifuId=fsPayConfig.getHuifuId();
+//                            }
+//                        }
+//
+//
+//                        V2TradePaymentScanpayRefundRequest request = new V2TradePaymentScanpayRefundRequest();
+//                        request.setOrgHfSeqId(payment.getTradeNo());
+//                        request.setHuifuId(huifuId);
+//                        request.setOrdAmt(payment.getPayMoney().toString());
+//                        request.setOrgReqDate(new SimpleDateFormat("yyyyMMdd").format(payment.getCreateTime()));
+//                        request.setReqSeqId("refund-" + payment.getPayCode());
+//                        Map<String, Object> extendInfoMap = new HashMap<>();
+//                        extendInfoMap.put("org_party_order_id", payment.getBankSerialNo());
+//                        request.setExtendInfo(extendInfoMap);
+//                        request.setAppId(payment.getAppId());
+//                        HuiFuRefundResult refund = huiFuService.refund(request);
+//                        logger.info("退款:" + refund);
+//                        if ((refund.getResp_code().equals("00000000") || refund.getResp_code().equals("00000100")) && (refund.getTrans_stat().equals("S") || refund.getTrans_stat().equals("P"))) {
+//                            payment.setRefundMoney(payment.getPayMoney());
+//                            payment.setStatus(-1);
+//                            payment.setRefundTime(new Date());
+//                            paymentService.updateFsStorePayment(payment);
+//                        } else {
+//                            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+//                            return R.error(refund.getResp_desc());
+//                        }
+//
+//                    } else {
+//                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+//                        return R.error("支付类型异常");
+//                    }
+//
+//
+//                }
+//            }
+//        }
+//        //退积分 todo
+//
+//        orderStatusService.create(order.getId(), OrderLogEnum.REFUND_ORDER_SUCCESS.getValue(),
+//                OrderLogEnum.REFUND_ORDER_SUCCESS.getDesc());
+//        if (order.getTuiUserId() != null && order.getTuiUserId() > 0) {
+//            userService.subTuiMoney(order);
+//        }
+//        return R.ok();
 
     }