Ver Fonte

app直播退款

xw há 5 dias atrás
pai
commit
f7769762e4

+ 1 - 1
fs-service/src/main/java/com/fs/hisStore/domain/FsStorePaymentScrm.java

@@ -54,7 +54,7 @@ public class FsStorePaymentScrm extends BaseEntity
     private String openId;
 
     /** 业务类型 1收款 */
-    @Excel(name = "业务类型 1收款")
+    @Excel(name = "业务类型 1收款  8商城订单支付 9直播订单支付")
     private Integer businessType;
 
     /** 关联业务ID */

+ 2 - 2
fs-service/src/main/java/com/fs/hisStore/mapper/FsStorePaymentScrmMapper.java

@@ -372,10 +372,10 @@ public interface FsStorePaymentScrmMapper
     List<FsStorePaymentScrm> selectFsStorePaymentByOrderId(Long orderId);
 
     /** App 发货(business_type=8),不对接小程序/ERP,仅本地订单发货 */
-    @Select("select * from fs_store_payment_scrm where business_type=8 and order_id=#{orderId} and status=1 order by payment_id desc")
+    @Select("select * from fs_store_payment_scrm where (business_type=2 or business_type=8 or business_type=9 ) and order_id=#{orderId} and status=1   ")
     List<FsStorePaymentScrm> selectFsStorePaymentByOrderIdBusinessType8(Long orderId);
 
-    @Select("select * from fs_store_payment_scrm where (business_type=2 or business_type=8)  and order_id=#{orderId} and status=1   ")
+    @Select("select * from fs_store_payment_scrm where (business_type=2 or business_type=8 or business_type=9 ) and order_id=#{orderId} and status=1   ")
     List<FsStorePaymentScrm> selectFsStorePaymentByOrderIdApp(Long orderId);
 
 

+ 187 - 50
fs-service/src/main/java/com/fs/live/service/impl/LiveOrderServiceImpl.java

@@ -2,6 +2,7 @@ package com.fs.live.service.impl;
 
 import java.lang.reflect.Field;
 import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.sql.Timestamp;
 import java.text.DecimalFormat;
 import java.text.ParseException;
@@ -61,6 +62,7 @@ import com.fs.erp.domain.*;
 import com.fs.erp.dto.*;
 import com.fs.erp.mapper.FsErpFinishPushMapper;
 import com.fs.erp.service.IErpOrderService;
+import com.fs.his.config.AppConfig;
 import com.fs.his.config.FsSysConfig;
 import com.fs.his.domain.*;
 import com.fs.his.enums.FsStoreOrderLogEnum;
@@ -68,6 +70,7 @@ import com.fs.his.mapper.*;
 import com.fs.his.utils.ConfigUtil;
 import com.fs.hisStore.config.FsErpConfig;
 import com.fs.hisStore.config.StoreConfig;
+import com.fs.hisStore.constants.StoreConstants;
 import com.fs.hisStore.domain.*;
 import com.fs.hisStore.dto.*;
 import com.fs.hisStore.enums.*;
@@ -95,17 +98,23 @@ import com.fs.live.param.*;
 import com.fs.live.service.*;
 import com.fs.live.vo.*;
 import com.fs.store.domain.*;
+import com.fs.system.domain.SysConfig;
 import com.fs.system.service.ISysConfigService;
 import com.fs.wx.order.domain.FsWxExpressTask;
 import com.fs.wx.order.mapper.FsWxExpressTaskMapper;
 import com.github.binarywang.wxpay.bean.order.WxPayMpOrderResult;
 import com.github.binarywang.wxpay.bean.request.WxPayRefundRequest;
+import com.github.binarywang.wxpay.bean.request.WxPayRefundV3Request;
 import com.github.binarywang.wxpay.bean.request.WxPayUnifiedOrderRequest;
 import com.github.binarywang.wxpay.bean.result.WxPayRefundQueryResult;
+import com.github.binarywang.wxpay.bean.result.WxPayRefundQueryV3Result;
 import com.github.binarywang.wxpay.bean.result.WxPayRefundResult;
+import com.github.binarywang.wxpay.bean.result.WxPayRefundV3Result;
 import com.github.binarywang.wxpay.config.WxPayConfig;
 import com.github.binarywang.wxpay.exception.WxPayException;
 import com.github.binarywang.wxpay.service.WxPayService;
+import com.github.binarywang.wxpay.service.impl.WxPayServiceImpl;
+import com.google.gson.Gson;
 import lombok.extern.slf4j.Slf4j;
 import me.chanjar.weixin.common.error.WxErrorException;
 import org.apache.commons.collections4.CollectionUtils;
@@ -146,6 +155,8 @@ public class LiveOrderServiceImpl implements ILiveOrderService {
     private FsUserWxMapper fsUserWxMapper;
     @Autowired
     private RocketMQTemplate rocketMQTemplate;
+    @Autowired
+    private CloudHostProper cloudHostProper;
 
     @Autowired
     private FsCoursePlaySourceConfigMapper fsCoursePlaySourceConfigMapper;
@@ -821,7 +832,7 @@ public class LiveOrderServiceImpl implements ILiveOrderService {
                         paymentMap.setTradeNo(tradeNo);
                         paymentMap.setBankSerialNo(bankSerialNo);
                         paymentMap.setBankTransactionId(bankTransactionId);
-                        paymentMap.setPayTypeCode("微信小程序支付");
+                        paymentMap.setPayTypeCode("wx_app");
                         liveOrderPaymentMapper.updateLiveOrderPayment(paymentMap);
                         order = baseMapper.selectFsUserVipOrderByOrderCode(storePayment.getBusinessCode());
                         if (order == null || !order.getStatus().equals(OrderInfoEnum.STATUS_0.getValue())) {
@@ -1406,24 +1417,27 @@ public class LiveOrderServiceImpl implements ILiveOrderService {
             //货到付款
         } else {
             //将钱退还给用户
-            List<LiveOrderPayment> payments = liveOrderPaymentMapper.selectLiveOrderPaymentByPay(5, order.getOrderId());
+            List<LiveOrderPayment> payments = liveOrderPaymentMapper.selectLiveOrderPaymentByPay(9, order.getOrderId());
             if (payments != null && !payments.isEmpty()) {
 //                String json = configService.selectConfigByKey("his.pay");
 //                FsPayConfigScrm fsPayConfig = JSON.parseObject(json, FsPayConfigScrm.class);
-
+                SysConfig sysConfig = configService.selectConfigByConfigKey("app.config");
+                AppConfig config = new Gson().fromJson(sysConfig.getConfigValue(), AppConfig.class);
                 for (LiveOrderPayment payment : payments) {
-                    FsCoursePlaySourceConfig fsCoursePlaySourceConfig = fsCoursePlaySourceConfigMapper.selectCoursePlaySourceConfigByAppId(payment.getAppId());
-                    if (fsCoursePlaySourceConfig == null) {
-                        throw new CustomException("未找到appId对应的小程序配置: " + payment.getAppId());
+                    if (order.getPayType().equals("99")||order.getPayType().equals("5")){
+                        payment.setAppId(config.getAppId());
                     }
-                    Long merchantConfigId = fsCoursePlaySourceConfig.getMerchantConfigId();
-                    if (merchantConfigId == null || merchantConfigId <= 0) {
-                        throw new CustomException("小程序没有配置商户信息");
+//                   payment.setAppId(config.getAppId());
+
+                    String payType = payment.getPayMode();
+                    if ("wxApp".equals(payment.getPayMode())){
+                        payType = "wx";
                     }
-                    MerchantAppConfig merchantAppConfig = merchantAppConfigMapper.selectMerchantAppConfigById(fsCoursePlaySourceConfig.getMerchantConfigId());
-                    FsPayConfig fsPayConfig = JSON.parseObject(merchantAppConfig.getDataJson(), FsPayConfig.class);
 
                     if (payment.getPayMode() == null || "wx".equals(payment.getPayMode())) {
+                        MerchantAppConfig merchantAppConfig = merchantAppConfigMapper.selectMerchantAppConfigByAppId(payment.getAppId(),payType);
+                        FsPayConfig fsPayConfig = JSON.parseObject(merchantAppConfig.getDataJson(), FsPayConfig.class);
+
                         WxPayConfig payConfig = new WxPayConfig();
                         payConfig.setAppId(fsPayConfig.getAppId());
                         payConfig.setMchId(fsPayConfig.getWxMchId());
@@ -1456,19 +1470,19 @@ public class LiveOrderServiceImpl implements ILiveOrderService {
                             return R.error("退款请求失败" + e.getErrCodeDes());
                         }
                     } else if (payment.getPayMode() != null && "hf".equals(payment.getPayMode())) {
+                        MerchantAppConfig merchantAppConfig = merchantAppConfigMapper.selectMerchantAppConfigByAppId(payment.getAppId(),payType);
+                        FsPayConfig fsPayConfig = JSON.parseObject(merchantAppConfig.getDataJson(), FsPayConfig.class);
+
                         String huifuId = "";
-                        FsHfpayConfigMapper fsHfpayConfigMapper = SpringUtils.getBean(FsHfpayConfigMapper.class);
                         if (payment.getAppId() != null) {
-                            FsHfpayConfig fsHfpayConfig = fsHfpayConfigMapper.selectByAppId(payment.getAppId());
-                            if (fsHfpayConfig != null) {
-                                huifuId = fsHfpayConfig.getHuifuId();
+                            if (merchantAppConfig != null) {
+                                huifuId = merchantAppConfig.getMerchantId();
                             }
                         } else {
                             CloudHostProper cloudHostProper = SpringUtils.getBean(CloudHostProper.class);
                             if ("益善缘".equals(cloudHostProper.getCompanyName())) {
-                                FsHfpayConfig fsPayConfig2 = fsHfpayConfigMapper.selectByAppId("wx0d1a3dd485268521");
-                                if (fsPayConfig2 != null) {
-                                    huifuId = fsPayConfig2.getHuifuId();
+                                if (merchantAppConfig != null) {
+                                    huifuId = merchantAppConfig.getMerchantId();
                                 }
                             } else {
                                 huifuId = fsPayConfig.getHuifuId();
@@ -1482,9 +1496,16 @@ public class LiveOrderServiceImpl implements ILiveOrderService {
                         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());
+
+                        if (order.getPayType().equals("99")){
+                            request.setOrdAmt(payment.getPayMoney().setScale(2, RoundingMode.DOWN).toString());
+                            extendInfoMap.put("org_req_seq_id", "live-"+payment.getPayCode());
+                        }else {
+                            request.setOrdAmt(payment.getPayMoney().toString());
+                            extendInfoMap.put("org_party_order_id", payment.getBankSerialNo());
+                            request.setAppId(payment.getAppId());
+                        }
                         request.setExtendInfo(extendInfoMap);
-                        request.setAppId(payment.getAppId());
                         HuiFuRefundResult refund = huiFuService.refund(request);
                         log.info("退款:" + refund);
                         if (refund != null && ("00000000".equals(refund.getResp_code()) || "00000100".equals(refund.getResp_code()))
@@ -1497,6 +1518,44 @@ public class LiveOrderServiceImpl implements ILiveOrderService {
                             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                             return R.error(refund != null ? refund.getResp_desc() : "退款失败");
                         }
+                    } else if ("wxApp".equals(payment.getPayMode()) && "wx_app".equals(payment.getPayTypeCode())) {
+                        // 微信 App 支付退款(APIv3)
+                        WxPayService wxPayService = getWxPayService(payment.getAppId(), payType);
+                        WxPayRefundV3Request refundRequest = new WxPayRefundV3Request();
+                        refundRequest.setOutTradeNo("live-" + payment.getPayCode());
+                        refundRequest.setOutRefundNo("live-" + payment.getPayCode());
+                        WxPayRefundV3Request.Amount amount = new WxPayRefundV3Request.Amount();
+                        Integer money = WxPayUnifiedOrderRequest.yuanToFen(payment.getPayMoney().toString());
+                        amount.setRefund(money);
+                        amount.setTotal(money);
+                        amount.setCurrency("CNY");
+                        refundRequest.setAmount(amount);
+                        try {
+                            WxPayRefundV3Result refundResult = wxPayService.refundV3(refundRequest);
+                            WxPayRefundQueryV3Result refundQueryResult = wxPayService.refundQueryV3(refundResult.getOutRefundNo());
+                            if (refundQueryResult != null && "SUCCESS".equals(refundQueryResult.getStatus())) {
+                                LiveOrderPayment paymentMap = new LiveOrderPayment();
+                                paymentMap.setPaymentId(payment.getPaymentId());
+                                paymentMap.setStatus(-1);
+                                paymentMap.setRefundTime(DateUtils.getNowDate());
+                                paymentMap.setRefundMoney(payment.getPayMoney());
+                                liveOrderPaymentMapper.updateLiveOrderPayment(paymentMap);
+                            } else {
+                                String errMsg = refundQueryResult == null ? "退款查询为空" : refundQueryResult.getStatus();
+                                throw new CustomException("退款请求失败" + errMsg);
+                            }
+                        } catch (WxPayException e) {
+                            throw new CustomException("退款请求失败" + e.getCustomErrorMsg());
+                        }
+
+                    }else if (payment.getPayMode()!=null&&payment.getPayMode().equals("cz")) {
+                        LiveOrderPayment paymentMap = new LiveOrderPayment();
+                        paymentMap.setPaymentId(payment.getPaymentId());
+                        paymentMap.setStatus(-1);
+                        paymentMap.setRefundTime(DateUtils.getNowDate());
+                        paymentMap.setRefundMoney(payment.getPayMoney());
+                        liveOrderPaymentMapper.updateLiveOrderPayment(paymentMap);
+                        FsUserScrm fsUserScrm = userService.selectFsUserById(Long.valueOf(order.getUserId()));
                     } else {
                         TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                         return R.error("支付类型异常");
@@ -1521,10 +1580,44 @@ public class LiveOrderServiceImpl implements ILiveOrderService {
                 userService.subTuiMoney(storeOrder);
             }
         }
-
         return R.ok();
     }
 
+    /**
+     * 封装微信参数
+     *
+     * @param appId 应用appId
+     * @param payType 支付类型
+     * @return
+     */
+    private WxPayService getWxPayService(String appId, String payType){
+        MerchantAppConfig merchantAppConfig = merchantAppConfigMapper.selectMerchantAppConfigByAppId(appId, payType);
+        if (merchantAppConfig == null) {
+            throw new CustomException("未找到appId对应的商户配置: " + appId);
+        }
+        FsPayConfig fsPayConfig = JSON.parseObject(merchantAppConfig.getDataJson(), FsPayConfig.class);
+
+        WxPayConfig payConfig = new WxPayConfig();
+        payConfig.setAppId(appId);
+        payConfig.setMchId(fsPayConfig.getWxMchId());
+        payConfig.setMchKey(fsPayConfig.getWxMchKey());
+        payConfig.setSubAppId(StringUtils.trimToNull(null));
+        payConfig.setSubMchId(StringUtils.trimToNull(null));
+        payConfig.setKeyPath(fsPayConfig.getKeyPath());
+        if (StringUtils.isNotBlank(fsPayConfig.getPublicKeyId())
+                && StringUtils.isNotBlank(fsPayConfig.getPublicKeyPath())) {
+            payConfig.setPublicKeyId(fsPayConfig.getPublicKeyId());
+            payConfig.setPublicKeyPath(fsPayConfig.getPublicKeyPath());
+        }
+        payConfig.setApiV3Key(fsPayConfig.getWxApiV3Key());
+        payConfig.setPrivateKeyPath(fsPayConfig.getPrivateKeyPath());
+        payConfig.setPrivateCertPath(fsPayConfig.getPrivateCertPath());
+        payConfig.setNotifyUrl(fsPayConfig.getNotifyUrlScrm());
+        WxPayServiceImpl payService = new WxPayServiceImpl();
+        payService.setConfig(payConfig);
+        return payService;
+    }
+
     @Override
     @Transactional(rollbackFor = Exception.class)
     public R refundOrderMoney(Long orderId, LiveAfterSales liveAfterSales) {
@@ -1626,26 +1719,26 @@ public class LiveOrderServiceImpl implements ILiveOrderService {
             if (payments != null && !payments.isEmpty()) {
 //                String json = configService.selectConfigByKey("his.pay");
 //                FsPayConfigScrm fsPayConfig = JSON.parseObject(json, FsPayConfigScrm.class);
+                SysConfig sysConfig = configService.selectConfigByConfigKey("app.config");
+                AppConfig config = new Gson().fromJson(sysConfig.getConfigValue(), AppConfig.class);
 
                 for (LiveOrderPayment payment : payments) {
-                    FsCoursePlaySourceConfig fsCoursePlaySourceConfig = fsCoursePlaySourceConfigMapper.selectCoursePlaySourceConfigByAppId(payment.getAppId());
-                    if (fsCoursePlaySourceConfig == null) {
-                        throw new CustomException("未找到appId对应的小程序配置: " + payment.getAppId());
+                    if (order.getPayType().equals("99")||order.getPayType().equals("5")){
+                        payment.setAppId(config.getAppId());
                     }
-                    Long merchantConfigId = fsCoursePlaySourceConfig.getMerchantConfigId();
-                    if (merchantConfigId == null || merchantConfigId <= 0) {
-                        throw new CustomException("小程序没有配置商户信息");
+                    if (StringUtils.isBlank(payment.getAppId())) {
+                        throw new IllegalArgumentException("appId不能为空");
                     }
-                    Long merConfigId = fsCoursePlaySourceConfig.getMerchantConfigId();
-                    if (payment.getMerConfigId() != null) {
-                        merConfigId = payment.getMerConfigId();
+                    String payType = payment.getPayMode();
+                    if ("wxApp".equals(payment.getPayMode())){
+                        payType = "wx";
                     }
-                    MerchantAppConfig merchantAppConfig = merchantAppConfigMapper.selectMerchantAppConfigById(merConfigId);
-                    FsPayConfig fsPayConfig = JSON.parseObject(merchantAppConfig.getDataJson(), FsPayConfig.class);
 
                     if (payment.getPayMode() == null || "wx".equals(payment.getPayMode())) {
+                        MerchantAppConfig merchantAppConfig = merchantAppConfigMapper.selectMerchantAppConfigByAppId(payment.getAppId(),payType);
+                        FsPayConfig fsPayConfig = JSON.parseObject(merchantAppConfig.getDataJson(), FsPayConfig.class);
                         WxPayConfig payConfig = new WxPayConfig();
-                        payConfig.setAppId(fsPayConfig.getAppId());
+                        payConfig.setAppId(payment.getAppId());
                         payConfig.setMchId(fsPayConfig.getWxMchId());
                         payConfig.setMchKey(fsPayConfig.getWxMchKey());
                         payConfig.setKeyPath(fsPayConfig.getKeyPath());
@@ -1674,36 +1767,41 @@ public class LiveOrderServiceImpl implements ILiveOrderService {
                             return R.error("退款请求失败" + e.getErrCodeDes());
                         }
                     } else if (payment.getPayMode() != null && "hf".equals(payment.getPayMode())) {
+                        MerchantAppConfig merchantAppConfig = merchantAppConfigMapper.selectMerchantAppConfigByAppId(payment.getAppId(),payType);
+                        FsPayConfig fsPayConfig = JSON.parseObject(merchantAppConfig.getDataJson(), FsPayConfig.class);
                         String huifuId = "";
-                        FsHfpayConfigMapper fsHfpayConfigMapper = SpringUtils.getBean(FsHfpayConfigMapper.class);
                         if (payment.getAppId() != null) {
-                            FsHfpayConfig fsHfpayConfig = fsHfpayConfigMapper.selectByAppId(payment.getAppId());
-                            if (fsHfpayConfig == null) {
+                            if (merchantAppConfig == null){
                                 huifuId = fsPayConfig.getHuifuId();
-                            } else {
-                                huifuId = fsHfpayConfig.getHuifuId();
+                            }else {
+                                huifuId = merchantAppConfig.getMerchantId();
                             }
                         } else {
-                            CloudHostProper cloudHostProper = SpringUtils.getBean(CloudHostProper.class);
-                            if ("益善缘".equals(cloudHostProper.getCompanyName())) {
-                                FsHfpayConfig fsPayConfig2 = fsHfpayConfigMapper.selectByAppId("wx0d1a3dd485268521");
-                                huifuId = fsPayConfig2.getHuifuId();
-                            } else {
-                                huifuId = fsPayConfig.getHuifuId();
+                            if (("益善缘".equals(cloudHostProper.getCompanyName()))) {
+
+                                huifuId = merchantAppConfig.getMerchantId();
+                            }else {
+                                huifuId=fsPayConfig.getHuifuId();
                             }
                         }
 
                         V2TradePaymentScanpayRefundRequest request = new V2TradePaymentScanpayRefundRequest();
-                        DecimalFormat df = new DecimalFormat("0.00");
                         request.setOrgHfSeqId(payment.getTradeNo());
                         request.setHuifuId(huifuId);
-                        request.setOrdAmt(df.format(refundAmount));
+
+                        Map<String, Object> extendInfoMap = new HashMap<>();
+                        if (order.getPayType().equals("99")){
+                            request.setOrdAmt(payment.getPayMoney().setScale(2, RoundingMode.DOWN).toString());
+                            extendInfoMap.put("org_req_seq_id", "live-"+payment.getPayCode());
+                        }else {
+                            request.setOrdAmt(payment.getPayMoney().toString());
+                            extendInfoMap.put("org_party_order_id", payment.getBankSerialNo());
+                            request.setAppId(payment.getAppId());
+                        }
+
                         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);
                         log.info("退款:" + refund);
                         if (refund != null && ("00000000".equals(refund.getResp_code()) || "00000100".equals(refund.getResp_code()))
@@ -1716,6 +1814,45 @@ public class LiveOrderServiceImpl implements ILiveOrderService {
                             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                             return R.error(refund != null ? refund.getResp_desc() : "退款失败");
                         }
+                    }else if (payment.getPayMode() != null &&"wxApp".equals(payment.getPayMode())) {
+                        // 微信 App 支付退款(APIv3)
+                        WxPayService wxPayService = getWxPayService(payment.getAppId(), payType);
+                        WxPayRefundV3Request refundRequest = new WxPayRefundV3Request();
+                        refundRequest.setOutTradeNo("live-" + payment.getPayCode());
+                        refundRequest.setOutRefundNo("live-" + payment.getPayCode());
+                        WxPayRefundV3Request.Amount amount = new WxPayRefundV3Request.Amount();
+                        Integer totalFen = WxPayUnifiedOrderRequest.yuanToFen(payment.getPayMoney().toString());
+                        Integer refundFen = WxPayUnifiedOrderRequest.yuanToFen(refundAmount.toString());
+                        amount.setRefund(refundFen);
+                        amount.setTotal(totalFen);
+                        amount.setCurrency("CNY");
+                        refundRequest.setAmount(amount);
+                        try {
+                            WxPayRefundV3Result refundResult = wxPayService.refundV3(refundRequest);
+                            WxPayRefundQueryV3Result refundQueryResult = wxPayService.refundQueryV3(refundResult.getOutRefundNo());
+                            if (refundQueryResult != null && "SUCCESS".equals(refundQueryResult.getStatus())) {
+                                LiveOrderPayment paymentMap = new LiveOrderPayment();
+                                paymentMap.setPaymentId(payment.getPaymentId());
+                                paymentMap.setStatus(-1);
+                                paymentMap.setRefundTime(DateUtils.getNowDate());
+                                paymentMap.setRefundMoney(refundAmount);
+                                liveOrderPaymentMapper.updateLiveOrderPayment(paymentMap);
+                            } else {
+                                String errMsg = refundQueryResult == null ? "退款查询为空" : refundQueryResult.getStatus();
+                                throw new CustomException("退款请求失败" + errMsg);
+                            }
+                        } catch (WxPayException e) {
+                            throw new CustomException("退款请求失败" + e.getCustomErrorMsg());
+                        }
+
+                    }else if (payment.getPayMode()!=null&&payment.getPayMode().equals("cz")) {
+//                      TODO 储值退款
+                        LiveOrderPayment paymentMap = new LiveOrderPayment();
+                        paymentMap.setPaymentId(payment.getPaymentId());
+                        paymentMap.setStatus(-1);
+                        paymentMap.setRefundTime(DateUtils.getNowDate());
+                        paymentMap.setRefundMoney(payment.getPayMoney());
+                        liveOrderPaymentMapper.updateLiveOrderPayment(paymentMap);
                     } else {
                         TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                         return R.error("支付类型异常");
@@ -1741,7 +1878,7 @@ public class LiveOrderServiceImpl implements ILiveOrderService {
             }
         }
         //优惠券返回
-        if (order.getUserCouponId() != null) {
+        if(order.getUserCouponId()!=null){
             // 退券
             order.setCouponUserId(Long.parseLong(order.getUserId()));
             this.refundCoupon(order);

+ 1 - 1
fs-user-app/src/main/java/com/fs/app/controller/AppPayController.java

@@ -35,7 +35,7 @@ import java.util.Iterator;
 import java.util.Map;
 
 @Slf4j
-@Api("app支付接口")
+@Api("app支付回调接口")
 @RestController
 @RequestMapping("/appPay")
 public class AppPayController extends AppBaseController {

+ 1 - 1
fs-user-app/src/main/java/com/fs/app/controller/live/LiveOrderController.java

@@ -340,7 +340,7 @@ public class LiveOrderController extends AppBaseController
     }
 
     @Login
-    @ApiOperation("创建订单")
+    @ApiOperation("直播创建订单")
     @PostMapping("/create")
     @RateLimiter(time = 10, count = 10000, msg = "当前下单的人比较多,请稍后再试")
     public R create(@Validated @RequestBody LiveOrder param, HttpServletRequest request){

+ 1 - 1
fs-user-app/src/main/java/com/fs/app/controller/store/AppController.java

@@ -20,7 +20,7 @@ import org.springframework.web.bind.annotation.RestController;
 
 
 
-@Api("app登录接口")
+@Api("app支付接口")
 @RestController
 @RequestMapping(value = "/app/api")
 @Slf4j