Browse Source

易宝相关代码迁移、多支付退款等

yjwang 3 weeks ago
parent
commit
88075cb955
21 changed files with 147 additions and 146 deletions
  1. 1 1
      fs-admin/src/main/java/com/fs/FSApplication.java
  2. 2 2
      fs-quartz/src/main/java/com/fs/quartz/config/ScheduleConfig.java
  3. 1 2
      fs-service/src/main/java/com/fs/course/service/impl/FsCourseProductOrderServiceImpl.java
  4. 1 9
      fs-service/src/main/java/com/fs/course/service/impl/FsUserCourseOrderServiceImpl.java
  5. 1 3
      fs-service/src/main/java/com/fs/course/service/impl/FsUserVipOrderServiceImpl.java
  6. 1 1
      fs-service/src/main/java/com/fs/his/service/impl/FsPackageOrderServiceImpl.java
  7. 1 1
      fs-service/src/main/java/com/fs/his/service/impl/FsPayServiceImpl.java
  8. 1 2
      fs-service/src/main/java/com/fs/his/service/impl/FsStoreOrderServiceImpl.java
  9. 1 15
      fs-service/src/main/java/com/fs/his/service/impl/FsStorePaymentServiceImpl.java
  10. 23 19
      fs-service/src/main/java/com/fs/hisStore/service/impl/FsStoreAfterSalesScrmServiceImpl.java
  11. 1 1
      fs-service/src/main/java/com/fs/hisStore/service/impl/FsStoreOrderScrmServiceImpl.java
  12. 1 1
      fs-service/src/main/java/com/fs/pay/service/IPayService.java
  13. 1 1
      fs-service/src/main/java/com/fs/pay/service/impl/PayScrmServiceImpl.java
  14. 1 0
      fs-service/src/main/java/com/fs/ybPay/Test.java
  15. 4 0
      fs-service/src/main/java/com/fs/ybPay/dto/RefundDTO.java
  16. 0 39
      fs-service/src/main/java/com/fs/ybPay/dto/WxJspayDTO.java
  17. 1 0
      fs-service/src/main/java/com/fs/ybPay/service/IPayService.java
  18. 1 0
      fs-service/src/main/java/com/fs/ybPay/service/impl/PayServiceImpl.java
  19. 1 2
      fs-user-app/src/main/java/com/fs/app/controller/InquiryOrderController.java
  20. 77 47
      fs-user-app/src/main/java/com/fs/app/controller/store/StoreOrderScrmController.java
  21. 26 0
      fs-user-app/src/main/java/com/fs/app/pay/constant/PaymentTypeConstant.java

+ 1 - 1
fs-admin/src/main/java/com/fs/FSApplication.java

@@ -16,7 +16,7 @@ import org.springframework.transaction.annotation.Transactional;
 @SpringBootApplication(exclude = { DataSourceAutoConfiguration.class })
 @Transactional
 @EnableAsync
-@EnableScheduling
+//@EnableScheduling
 public class FSApplication
 {
     public static void main(String[] args)

+ 2 - 2
fs-quartz/src/main/java/com/fs/quartz/config/ScheduleConfig.java

@@ -50,8 +50,8 @@ public class ScheduleConfig
         // 启动时更新己存在的Job,这样就不用每次修改targetObject后删除qrtz_job_details表对应记录了
         factory.setOverwriteExistingJobs(true);
         // 设置自动启动,默认为true
-        factory.setAutoStartup(true);
-//        factory.setAutoStartup(false);
+//        factory.setAutoStartup(true);
+        factory.setAutoStartup(false);
 
         return factory;
     }

+ 1 - 2
fs-service/src/main/java/com/fs/course/service/impl/FsCourseProductOrderServiceImpl.java

@@ -36,13 +36,13 @@ import com.fs.his.param.FsCourseProductOrderDoPayParam;
 import com.fs.his.param.FsCourseProductOrderRefundParam;
 import com.fs.his.service.IFsStorePaymentService;
 import com.fs.his.service.IFsUserService;
-import com.fs.his.service.IFsUserWxService;
 import com.fs.his.utils.PhoneUtil;
 import com.fs.huifuPay.domain.HuiFuCreateOrder;
 import com.fs.huifuPay.domain.HuiFuRefundResult;
 import com.fs.huifuPay.domain.HuifuCreateOrderResult;
 import com.fs.huifuPay.sdk.opps.core.request.V2TradePaymentScanpayRefundRequest;
 import com.fs.huifuPay.service.HuiFuService;
+import com.fs.pay.pay.dto.WxJspayDTO;
 import com.fs.system.domain.SysConfig;
 import com.fs.system.mapper.SysConfigMapper;
 import com.fs.system.service.ISysConfigService;
@@ -53,7 +53,6 @@ import com.fs.ybPay.domain.OrderResult;
 import com.fs.ybPay.domain.RefundResult;
 import com.fs.ybPay.dto.OrderQueryDTO;
 import com.fs.ybPay.dto.RefundDTO;
-import com.fs.ybPay.dto.WxJspayDTO;
 import com.fs.ybPay.service.IPayService;
 import com.github.binarywang.wxpay.bean.order.WxPayMpOrderResult;
 import com.github.binarywang.wxpay.bean.request.WxPayRefundRequest;

+ 1 - 9
fs-service/src/main/java/com/fs/course/service/impl/FsUserCourseOrderServiceImpl.java

@@ -3,9 +3,7 @@ package com.fs.course.service.impl;
 import java.math.BigDecimal;
 import java.util.*;
 
-import cn.hutool.core.util.IdUtil;
 import cn.hutool.json.JSONUtil;
-import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.fs.common.core.domain.R;
@@ -19,15 +17,12 @@ import com.fs.core.utils.OrderCodeUtils;
 import com.fs.course.domain.*;
 import com.fs.course.mapper.*;
 import com.fs.course.param.*;
-import com.fs.course.service.IFsUserCourseStudyService;
 import com.fs.course.vo.FsUserCourseOrderListPVO;
 import com.fs.course.vo.FsUserCourseOrderListUVO;
 import com.fs.his.domain.*;
 import com.fs.his.dto.PayConfigDTO;
-import com.fs.his.enums.FsPackageOrderStatusEnum;
 import com.fs.his.enums.FsUserIntegralLogTypeEnum;
 import com.fs.his.mapper.*;
-import com.fs.his.param.FsPackageOrderDoPayParam;
 import com.fs.his.param.FsUserAddIntegralTemplateParam;
 import com.fs.his.service.IFsCouponService;
 import com.fs.his.service.IFsStorePaymentService;
@@ -36,6 +31,7 @@ import com.fs.his.service.IFsUserIntegralLogsService;
 import com.fs.huifuPay.domain.HuiFuCreateOrder;
 import com.fs.huifuPay.domain.HuifuCreateOrderResult;
 import com.fs.huifuPay.service.HuiFuService;
+import com.fs.pay.pay.dto.WxJspayDTO;
 import com.fs.system.domain.SysConfig;
 import com.fs.system.mapper.SysConfigMapper;
 import com.fs.system.service.ISysConfigService;
@@ -45,9 +41,6 @@ import com.fs.tzBankPay.doman.PayCreateOrderResult;
 import com.fs.tzBankPay.doman.PayType;
 import com.fs.tzBankPay.doman.TzBankResult;
 import com.fs.ybPay.domain.CreateWxOrderResult;
-import com.fs.ybPay.domain.OrderResult;
-import com.fs.ybPay.dto.OrderQueryDTO;
-import com.fs.ybPay.dto.WxJspayDTO;
 import com.fs.ybPay.service.IPayService;
 import com.github.binarywang.wxpay.bean.order.WxPayMpOrderResult;
 import com.github.binarywang.wxpay.bean.request.WxPayUnifiedOrderRequest;
@@ -55,7 +48,6 @@ import com.github.binarywang.wxpay.config.WxPayConfig;
 import com.github.binarywang.wxpay.exception.WxPayException;
 import com.github.binarywang.wxpay.service.WxPayService;
 import com.google.gson.Gson;
-import org.checkerframework.checker.units.qual.A;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;

+ 1 - 3
fs-service/src/main/java/com/fs/course/service/impl/FsUserVipOrderServiceImpl.java

@@ -20,7 +20,6 @@ import com.fs.common.utils.StringUtils;
 import com.fs.common.utils.ip.IpUtils;
 import com.fs.core.config.WxPayProperties;
 import com.fs.core.utils.OrderCodeUtils;
-import com.fs.course.domain.FsUserCourseOrder;
 import com.fs.course.domain.FsUserVipPackage;
 import com.fs.course.mapper.FsUserVipPackageMapper;
 import com.fs.course.param.FsUserVipOrderCreateUParam;
@@ -37,6 +36,7 @@ import com.fs.his.service.IFsStorePaymentService;
 import com.fs.huifuPay.domain.HuiFuCreateOrder;
 import com.fs.huifuPay.domain.HuifuCreateOrderResult;
 import com.fs.huifuPay.service.HuiFuService;
+import com.fs.pay.pay.dto.WxJspayDTO;
 import com.fs.system.domain.SysConfig;
 import com.fs.system.mapper.SysConfigMapper;
 import com.fs.system.service.ISysConfigService;
@@ -46,7 +46,6 @@ import com.fs.tzBankPay.doman.PayCreateOrderResult;
 import com.fs.tzBankPay.doman.PayType;
 import com.fs.tzBankPay.doman.TzBankResult;
 import com.fs.ybPay.domain.CreateWxOrderResult;
-import com.fs.ybPay.dto.WxJspayDTO;
 import com.fs.ybPay.service.IPayService;
 import com.github.binarywang.wxpay.bean.order.WxPayMpOrderResult;
 import com.github.binarywang.wxpay.bean.request.WxPayUnifiedOrderRequest;
@@ -54,7 +53,6 @@ import com.github.binarywang.wxpay.config.WxPayConfig;
 import com.github.binarywang.wxpay.exception.WxPayException;
 import com.github.binarywang.wxpay.service.WxPayService;
 import com.google.gson.Gson;
-import org.checkerframework.checker.units.qual.A;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;

+ 1 - 1
fs-service/src/main/java/com/fs/his/service/impl/FsPackageOrderServiceImpl.java

@@ -62,6 +62,7 @@ import com.fs.huifuPay.domain.HuiFuCreateOrder;
 import com.fs.huifuPay.domain.HuifuCreateOrderResult;
 import com.fs.huifuPay.sdk.opps.core.utils.HuiFuUtils;
 import com.fs.huifuPay.service.HuiFuService;
+import com.fs.pay.pay.dto.WxJspayDTO;
 import com.fs.store.config.StoreConfig;
 import com.fs.system.domain.SysConfig;
 import com.fs.system.oss.CloudStorageService;
@@ -70,7 +71,6 @@ import com.fs.ybPay.domain.CreateWxOrderResult;
 import com.fs.ybPay.domain.OrderResult;
 import com.fs.ybPay.dto.OrderQueryDTO;
 import com.fs.ybPay.dto.RefundDTO;
-import com.fs.ybPay.dto.WxJspayDTO;
 import com.fs.ybPay.service.IPayService;
 import com.fs.system.mapper.SysConfigMapper;
 import com.fs.system.service.ISysConfigService;

+ 1 - 1
fs-service/src/main/java/com/fs/his/service/impl/FsPayServiceImpl.java

@@ -3,6 +3,7 @@ package com.fs.his.service.impl;
 import com.fs.common.exception.CustomException;
 import com.fs.his.domain.*;
 import com.fs.his.service.IFsPayService;
+import com.fs.pay.pay.dto.WxJspayDTO;
 import com.fs.tzBankPay.TzBankService.TzBankServiceImpl.TzBankServiceImpl;
 import com.fs.tzBankPay.doman.*;
 import com.fs.tzBankPay.util.TzBankSendUtil;
@@ -10,7 +11,6 @@ import com.fs.ybPay.domain.CreateWxOrderResult;
 import com.fs.ybPay.domain.OrderResult;
 import com.fs.ybPay.dto.OrderQueryDTO;
 import com.fs.ybPay.dto.RefundDTO;
-import com.fs.ybPay.dto.WxJspayDTO;
 import com.fs.ybPay.service.impl.PayServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;

+ 1 - 2
fs-service/src/main/java/com/fs/his/service/impl/FsStoreOrderServiceImpl.java

@@ -46,7 +46,6 @@ import com.fs.his.utils.ConfigUtil;
 import com.fs.his.utils.PhoneUtil;
 import com.fs.his.vo.*;
 import com.fs.hisStore.domain.FsStoreOrderScrm;
-import com.fs.hisStore.domain.FsStorePaymentScrm;
 import com.fs.hisStore.mapper.FsStoreOrderScrmMapper;
 import com.fs.hisStore.mapper.FsStorePaymentScrmMapper;
 import com.fs.hisStore.param.FsStoreOrderRefundByProductParam;
@@ -60,6 +59,7 @@ import com.fs.huifuPay.domain.HuifuCreateOrderResult;
 import com.fs.huifuPay.service.HuiFuService;
 import com.fs.im.dto.*;
 import com.fs.im.service.IImService;
+import com.fs.pay.pay.dto.WxJspayDTO;
 import com.fs.qw.domain.QwExternalContact;
 import com.fs.qw.domain.QwUser;
 import com.fs.qw.mapper.QwExternalContactMapper;
@@ -69,7 +69,6 @@ import com.fs.tzBankPay.doman.*;
 import com.fs.ybPay.domain.CreateWxOrderResult;
 import com.fs.ybPay.domain.OrderResult;
 import com.fs.ybPay.dto.OrderQueryDTO;
-import com.fs.ybPay.dto.WxJspayDTO;
 import com.fs.ybPay.service.IPayService;
 import com.fs.system.mapper.SysConfigMapper;
 import com.fs.system.service.ISysConfigService;

+ 1 - 15
fs-service/src/main/java/com/fs/his/service/impl/FsStorePaymentServiceImpl.java

@@ -37,14 +37,10 @@ import com.fs.config.cloud.CloudHostProper;
 import com.fs.core.config.WxMaConfiguration;
 import com.fs.core.config.WxPayProperties;
 import com.fs.core.utils.OrderCodeUtils;
-import com.fs.course.config.CourseConfig;
 import com.fs.course.config.RedPacketConfig;
-import com.fs.course.domain.FsCourseRedPacketLog;
-import com.fs.course.mapper.FsCourseRedPacketLogMapper;
 import com.fs.course.service.IFsCourseRedPacketLogService;
 import com.fs.course.service.IFsUserCourseOrderService;
 import com.fs.course.service.IFsUserVipOrderService;
-import com.fs.erp.dto.ErpRefundUpdateRequest;
 import com.fs.his.domain.*;
 import com.fs.his.dto.PayConfigDTO;
 import com.fs.his.enums.PaymentMethodEnum;
@@ -71,46 +67,36 @@ import com.fs.huifuPay.sdk.opps.core.request.V2TradePaymentScanpayQueryRequest;
 import com.fs.huifuPay.sdk.opps.core.request.V2TradePaymentScanpayRefundRequest;
 import com.fs.huifuPay.sdk.opps.core.utils.HuiFuUtils;
 import com.fs.huifuPay.service.HuiFuService;
+import com.fs.pay.pay.dto.WxJspayDTO;
 import com.fs.system.domain.SysConfig;
 import com.fs.system.mapper.SysConfigMapper;
 import com.fs.system.oss.CloudStorageService;
 import com.fs.system.oss.OSSFactory;
 import com.fs.system.service.ISysConfigService;
 import com.fs.tzBankPay.TzBankService.TzBankService;
-import com.fs.tzBankPay.TzBankService.TzBankServiceImpl.TzBankServiceImpl;
 import com.fs.tzBankPay.doman.*;
 import com.fs.ybPay.domain.CreateWxOrderResult;
 import com.fs.ybPay.domain.OrderResult;
 import com.fs.ybPay.dto.OrderQueryDTO;
 import com.fs.ybPay.dto.RefundDTO;
-import com.fs.ybPay.dto.WxJspayDTO;
 import com.fs.ybPay.service.IPayService;
-import com.github.binarywang.wxpay.bean.merchanttransfer.TransferCreateRequest;
-import com.github.binarywang.wxpay.bean.merchanttransfer.TransferCreateResult;
 import com.github.binarywang.wxpay.bean.notify.SignatureHeader;
 import com.github.binarywang.wxpay.bean.notify.WxPayNotifyResponse;
 import com.github.binarywang.wxpay.bean.notify.WxPayTransferBatchesNotifyV3Result;
 import com.github.binarywang.wxpay.bean.order.WxPayMpOrderResult;
 import com.github.binarywang.wxpay.bean.request.WxPayRefundRequest;
-import com.github.binarywang.wxpay.bean.request.WxPaySendRedpackRequest;
 import com.github.binarywang.wxpay.bean.request.WxPayUnifiedOrderRequest;
 import com.github.binarywang.wxpay.bean.result.WxPayRefundQueryResult;
 import com.github.binarywang.wxpay.bean.result.WxPayRefundResult;
 import com.github.binarywang.wxpay.bean.transfer.*;
 import com.github.binarywang.wxpay.config.WxPayConfig;
 import com.github.binarywang.wxpay.exception.WxPayException;
-import com.github.binarywang.wxpay.service.MerchantTransferService;
-import com.github.binarywang.wxpay.service.RedpackService;
 import com.github.binarywang.wxpay.service.TransferService;
 import com.github.binarywang.wxpay.service.WxPayService;
-import com.github.binarywang.wxpay.service.impl.RedpackServiceImpl;
 import com.github.binarywang.wxpay.service.impl.WxPayServiceImpl;
 import com.google.gson.Gson;
 import com.hc.openapi.tool.fastjson.JSON;
-import com.wechat.pay.java.service.transferbatch.TransferBatchService;
-import com.wechat.pay.java.service.transferbatch.model.InitiateBatchTransferRequest;
 import lombok.extern.slf4j.Slf4j;
-import me.chanjar.weixin.common.bean.WxJsapiSignature;
 import me.chanjar.weixin.common.error.WxErrorException;
 import org.apache.commons.lang.exception.ExceptionUtils;
 import org.redisson.api.RLock;

+ 23 - 19
fs-service/src/main/java/com/fs/hisStore/service/impl/FsStoreAfterSalesScrmServiceImpl.java

@@ -59,6 +59,7 @@ import com.fs.tzBankPay.TzBankService.TzBankService;
 import com.fs.tzBankPay.doman.RefundParam;
 import com.fs.tzBankPay.doman.RefundResult;
 import com.fs.tzBankPay.doman.TzBankResult;
+import com.fs.ybPay.dto.RefundDTO;
 import com.github.binarywang.wxpay.bean.request.WxPayRefundRequest;
 import com.github.binarywang.wxpay.bean.request.WxPayUnifiedOrderRequest;
 import com.github.binarywang.wxpay.bean.result.WxPayRefundQueryResult;
@@ -792,6 +793,7 @@ public class FsStoreAfterSalesScrmServiceImpl implements IFsStoreAfterSalesScrmS
             }
         }
 
+        String orderType = "store";
         //将钱退还给用户
         if(order.getPayMoney().compareTo(BigDecimal.ZERO)==1){
             List<FsStorePaymentScrm> payments=paymentService.selectFsStorePaymentByOrderId(order.getId());
@@ -863,29 +865,31 @@ public class FsStoreAfterSalesScrmServiceImpl implements IFsStoreAfterSalesScrmS
                             payment.setStatus(-1);
                             payment.setRefundTime(new Date());
                             paymentService.updateFsStorePayment(payment);
-
-                            //溯源码状态更改
-                            //获取订单下的详情信息
-                            List<FsStoreOrderItemVO> scrmList = fsStoreOrderItemMapper.selectMyFsStoreOrderItemListByOrderId(order.getId());
-                            if (!scrmList.isEmpty()) {
-                                List<Long> orderItemIds = scrmList.stream().map(FsStoreOrderItemVO::getItemId).collect(Collectors.toList());
-                                //获取溯源码,进行回退
-                                List<FsStoreVerifyCodeScrm> verifyCodes = verifyCodeScrmMapper.selectList(new LambdaQueryWrapper<FsStoreVerifyCodeScrm>().eq(FsStoreVerifyCodeScrm::getOrderId, order.getId()).in(FsStoreVerifyCodeScrm::getOrderItemId, orderItemIds).eq(FsStoreVerifyCodeScrm::getIsRecycle,1L).eq(FsStoreVerifyCodeScrm::getIsDel, "0"));
-                                if (!verifyCodes.isEmpty()) {
-                                    verifyCodes.forEach(v -> {//回收可回退的
-                                        v.setVerifyStatus(0L);
-                                        v.setOutboundStatus(0L);
-                                    });
-                                    //批量更新数据
-                                    verifyCodeScrmService.updateBatchById(verifyCodes);
-                                }
-                            }
-
                         }else {
                             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                             return R.error(refund.getResp_desc());
                         }
 
+                    }else if (payment.getPayMode()!=null&&payment.getPayMode().equals("yb")){
+                        //易宝
+                        com.fs.ybPay.dto.RefundDTO refundDTO = new RefundDTO();
+                        refundDTO.setRefundMoney(payment.getPayMoney().toString());
+                        refundDTO.setLowRefundNo(orderType + "-" + payment.getPayCode());
+                        refundDTO.setUpOrderId(payment.getTradeNo());
+                        refundDTO.setAppid(payment.getAppId());
+
+                        com.fs.ybPay.domain.RefundResult result = payService.refund(refundDTO);
+                        logger.info("订单退款返回结果:退款订单id:" + order.getId() + result);
+                        if (result.getState().equals("5")) {
+                            FsStorePaymentScrm paymentMap = new FsStorePaymentScrm();
+                            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 {
                         TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                         return R.error("支付类型异常");
@@ -1529,7 +1533,7 @@ public class FsStoreAfterSalesScrmServiceImpl implements IFsStoreAfterSalesScrmS
                 }
             } else if (payment.getPayMode().equals("yb")) {
                 //易宝
-                com.fs.pay.pay.dto.RefundDTO refundDTO = new com.fs.pay.pay.dto.RefundDTO();
+                com.fs.ybPay.dto.RefundDTO refundDTO = new com.fs.ybPay.dto.RefundDTO();
                 refundDTO.setRefundMoney(payment.getPayMoney().toString());
                 refundDTO.setLowRefundNo(orderType + "-" + payment.getPayCode());
                 refundDTO.setUpOrderId(payment.getTradeNo());

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

@@ -1312,7 +1312,7 @@ public class FsStoreOrderScrmServiceImpl implements IFsStoreOrderScrmService {
                 if (payments != null) {
                     for (FsStorePaymentScrm payment : payments) {
                         //易宝退款
-                        RefundDTO refundDTO = new RefundDTO();
+                        com.fs.ybPay.dto.RefundDTO refundDTO = new com.fs.ybPay.dto.RefundDTO();
                         refundDTO.setRefundMoney(payment.getPayMoney().toString());
                         refundDTO.setLowRefundNo("refund-" + payment.getPayCode());
                         refundDTO.setUpOrderId(payment.getTradeNo());

+ 1 - 1
fs-service/src/main/java/com/fs/pay/service/IPayService.java

@@ -23,7 +23,7 @@ public interface IPayService
 
     CreateWxOrderResult createWxOrder(WxJspayDTO wxJspayDTO);
 
-    RefundResult refund(com.fs.pay.pay.dto.RefundDTO refundDTO);
+    RefundResult refund(com.fs.ybPay.dto.RefundDTO refundDTO);
 
     OrderResult getOrder(OrderQueryDTO orderQueryDTO);
 }

+ 1 - 1
fs-service/src/main/java/com/fs/pay/service/impl/PayScrmServiceImpl.java

@@ -388,7 +388,7 @@ public class PayScrmServiceImpl implements IPayService {
     }
 
     @Override
-    public RefundResult refund(com.fs.pay.pay.dto.RefundDTO refundDTO) {
+    public RefundResult refund(com.fs.ybPay.dto.RefundDTO refundDTO) {
         refundDTO.setAccount(PayConfig.account);
         Map<String, String> map = refundDTO.toMap();
         String responseStr = endPayHttp(PayConfig.refundUrl, map);

+ 1 - 0
fs-service/src/main/java/com/fs/ybPay/Test.java

@@ -1,5 +1,6 @@
 package com.fs.ybPay;
 
+import com.fs.pay.pay.dto.WxJspayDTO;
 import com.fs.ybPay.domain.*;
 import com.fs.ybPay.dto.*;
 import com.fs.ybPay.service.impl.PayServiceImpl;

+ 4 - 0
fs-service/src/main/java/com/fs/ybPay/dto/RefundDTO.java

@@ -12,6 +12,10 @@ public class RefundDTO {
     private String upOrderId;   //交易订单号
     private String refundMoney; //退款金额
 
+    /**
+     * 小程序appid
+     */
+    private String appid;
 
     public Map<String, String> toMap() {
         Map<String, String> map = new HashMap<>();

+ 0 - 39
fs-service/src/main/java/com/fs/ybPay/dto/WxJspayDTO.java

@@ -1,39 +0,0 @@
-package com.fs.ybPay.dto;
-
-import lombok.Data;
-
-import java.util.HashMap;
-import java.util.Map;
-
-@Data
-public class WxJspayDTO {
-    private String account;         // 聚合支付账号
-    private String payMoney;        // 支付金额
-    private String lowOrderId;      // 下游订单号
-    private String body;            // 商品描述
-    private String isMinipg;        // 是否小程序
-    private String sign;            // 签名
-    private String notifyUrl;       // 回调通知地址
-    private String returnUrl;       // 交易完成后跳转的URL
-    private String openId;          // 微信用户在公众号的唯一标识
-    private String appId;           // 公众号AppID
-    private String attach;          // 附加信息
-    private String storeid;         //门店号
-
-
-    public Map<String, String> toMap() {
-        Map<String, String> params = new HashMap<>();
-        params.put("account", account);
-        params.put("payMoney", payMoney);
-        params.put("lowOrderId", lowOrderId);
-        params.put("body", body);
-        params.put("isMinipg", isMinipg);
-        params.put("notifyUrl", notifyUrl);
-        params.put("returnUrl", returnUrl);
-        params.put("openId", openId);
-        params.put("appId", appId);
-        params.put("attach", attach);
-        params.put("storeid", storeid);
-        return params;
-    }
-}

+ 1 - 0
fs-service/src/main/java/com/fs/ybPay/service/IPayService.java

@@ -1,5 +1,6 @@
 package com.fs.ybPay.service;
 
+import com.fs.pay.pay.dto.WxJspayDTO;
 import com.fs.ybPay.domain.*;
 import com.fs.ybPay.dto.*;
 

+ 1 - 0
fs-service/src/main/java/com/fs/ybPay/service/impl/PayServiceImpl.java

@@ -2,6 +2,7 @@ package com.fs.ybPay.service.impl;
 
 import com.fs.common.utils.spring.SpringUtils;
 import com.fs.his.domain.FsPayConfig;
+import com.fs.pay.pay.dto.WxJspayDTO;
 import com.fs.system.domain.SysConfig;
 import com.fs.system.mapper.SysConfigMapper;
 import com.fs.tzBankPay.form.GetTokenForm;

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

@@ -29,11 +29,11 @@ import com.fs.his.vo.FsInquiryOrderReportUVO;
 import com.fs.huifuPay.domain.HuiFuCreateOrder;
 import com.fs.huifuPay.domain.HuifuCreateOrderResult;
 import com.fs.huifuPay.service.HuiFuService;
+import com.fs.pay.pay.dto.WxJspayDTO;
 import com.fs.system.domain.SysConfig;
 import com.fs.system.mapper.SysConfigMapper;
 import com.fs.tzBankPay.doman.PayType;
 import com.fs.ybPay.domain.CreateWxOrderResult;
-import com.fs.ybPay.dto.WxJspayDTO;
 import com.fs.ybPay.service.IPayService;
 import com.fs.system.service.ISysConfigService;
 import com.fs.tzBankPay.TzBankService.TzBankService;
@@ -50,7 +50,6 @@ import com.github.pagehelper.PageInfo;
 import com.google.gson.Gson;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import org.apache.logging.log4j.core.LogEvent;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;

+ 77 - 47
fs-user-app/src/main/java/com/fs/app/controller/store/StoreOrderScrmController.java

@@ -12,10 +12,8 @@ import com.alibaba.fastjson.TypeReference;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.fs.app.annotation.Login;
 import com.fs.app.controller.AppBaseController;
-import com.fs.common.config.FSSysConfig;
+import com.fs.app.pay.constant.PaymentTypeConstant;
 import com.fs.common.core.domain.R;
-import com.fs.common.core.domain.entity.SysUser;
-import com.fs.common.core.domain.model.LoginUser;
 import com.fs.common.exception.CustomException;
 import com.fs.common.utils.*;
 import com.fs.common.utils.ip.IpUtils;
@@ -24,6 +22,7 @@ import com.fs.erp.service.IErpOrderService;
 import com.fs.factory.SnowflakeFactory;
 import com.fs.his.domain.FsStoreOrderScrmComment;
 import com.fs.his.domain.FsUser;
+import com.fs.his.dto.PayConfigDTO;
 import com.fs.his.service.IFsStoreOrderScrmCommentService;
 import com.fs.his.service.IFsUserService;
 import com.fs.his.utils.ConfigUtil;
@@ -39,16 +38,17 @@ import com.fs.hisStore.service.*;
 import com.fs.hisStore.vo.*;
 import com.fs.hospital580.entity.Hospital580PrescriptionScrmEntity;
 import com.fs.hospital580.service.Hospital580PrescriptionScrmService;
-import com.fs.hospital580.vo.CacheOpenInformationVo;
 import com.fs.huifuPay.domain.HuiFuCreateOrder;
 import com.fs.huifuPay.domain.HuifuCreateOrderResult;
 import com.fs.huifuPay.service.HuiFuService;
 import com.fs.pay.pay.dto.OrderQueryDTO;
+import com.fs.pay.pay.dto.WxJspayDTO;
 import com.fs.pay.service.IPayService;
 import com.fs.store.config.StoreConfig;
 import com.fs.system.service.ISysConfigService;
 import com.fs.utils.TwelveDigitSnowflake;
 import com.fs.wx.miniapp.config.WxMaProperties;
+import com.fs.ybPay.domain.CreateWxOrderResult;
 import com.fs.ybPay.domain.OrderResult;
 import com.github.binarywang.wxpay.bean.order.WxPayMpOrderResult;
 import com.github.binarywang.wxpay.bean.request.WxPayUnifiedOrderRequest;
@@ -63,7 +63,6 @@ import lombok.extern.slf4j.Slf4j;
 import me.chanjar.weixin.common.error.WxErrorException;
 import org.redisson.api.RLock;
 import org.redisson.api.RedissonClient;
-import org.redisson.api.RLock;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.BeanUtils;
@@ -573,6 +572,13 @@ public class StoreOrderScrmController extends AppBaseController {
             return R.error(errorMsg);
         }
 
+        String jsonPay=configService.selectConfigByKey("his.pay");
+        PayConfigDTO payConfigDTO= JSONUtil.toBean(jsonPay, PayConfigDTO.class);
+
+        if(payConfigDTO == null){
+            return R.error("支付配置不存在");
+        }
+
         //新增的支付详情id
         ArrayList<Long> paymentIds = new ArrayList<>();
         for (FsStoreOrderScrm order : orders) {
@@ -678,55 +684,79 @@ public class StoreOrderScrmController extends AppBaseController {
                 storePayment.setOpenId(fsStoreOrder.getRealName());
                 storePayment.setUserId(fsUser.getUserId());
 
-                //支付
-                HuiFuCreateOrder o = new HuiFuCreateOrder();
-                o.setTradeType("T_MINIAPP");
-                o.setOpenid(fsUser.getMaOpenId());
-                o.setReqSeqId("store-" + storePayment.getPayCode());
-                o.setTransAmt(storePayment.getPayMoney().toString());
-                o.setGoodsDesc("商城订单支付");
-                o.setAppId(param.getAppId());
-                HuifuCreateOrderResult result = huiFuService.createOrder(o);
-                //创建订单
-                if (result.getBank_code() != null && result.getBank_code().equals("00000000")) {
-                    for (Long paymentId : paymentIds) {
-                        FsStorePaymentScrm mt = new FsStorePaymentScrm();
-                        mt.setPaymentId(paymentId);
-                        mt.setTradeNo(result.getHf_seq_id());
-                        fsStorePaymentMapper.updateFsStorePayment(mt);
-                    }
+                //获取支付配置
+
+                if(payConfigDTO.getType().equals(PaymentTypeConstant.HF)){
+                    //支付
+                    HuiFuCreateOrder o = new HuiFuCreateOrder();
+                    o.setTradeType("T_MINIAPP");
+                    o.setOpenid(fsUser.getMaOpenId());
+                    o.setReqSeqId("store-" + storePayment.getPayCode());
+                    o.setTransAmt(storePayment.getPayMoney().toString());
+                    o.setGoodsDesc("商城订单支付");
+                    o.setAppId(param.getAppId());
+                    HuifuCreateOrderResult result = huiFuService.createOrder(o);
+                    //创建订单
+                    if (result.getBank_code() != null && result.getBank_code().equals("00000000")) {
+                        for (Long paymentId : paymentIds) {
+                            FsStorePaymentScrm mt = new FsStorePaymentScrm();
+                            mt.setPaymentId(paymentId);
+                            mt.setTradeNo(result.getHf_seq_id());
+                            fsStorePaymentMapper.updateFsStorePayment(mt);
+                        }
 
-                    String mes = result.getPay_info();
-                    JSONObject payInfo = JSONUtil.parseObj(mes);
-                    FsHuiFuPayInfo fsHuiFuPayInfo = new FsHuiFuPayInfo();
-                    if (payInfo.get("timeStamp") != null) {
-                        fsHuiFuPayInfo.setTimeStamp(payInfo.get("timeStamp").toString());
-                    }
-                    if (payInfo.get("package") != null) {
-                        fsHuiFuPayInfo.setPackageStr(payInfo.get("package").toString());
-                    }
-                    if (payInfo.get("paySign") != null) {
-                        fsHuiFuPayInfo.setPaySign(payInfo.get("paySign").toString());
+                        String mes = result.getPay_info();
+                        JSONObject payInfo = JSONUtil.parseObj(mes);
+                        FsHuiFuPayInfo fsHuiFuPayInfo = new FsHuiFuPayInfo();
+                        if (payInfo.get("timeStamp") != null) {
+                            fsHuiFuPayInfo.setTimeStamp(payInfo.get("timeStamp").toString());
+                        }
+                        if (payInfo.get("package") != null) {
+                            fsHuiFuPayInfo.setPackageStr(payInfo.get("package").toString());
+                        }
+                        if (payInfo.get("paySign") != null) {
+                            fsHuiFuPayInfo.setPaySign(payInfo.get("paySign").toString());
 
-                    }
-                    if (payInfo.get("appId") != null) {
-                        fsHuiFuPayInfo.setAppId(payInfo.get("appId").toString());
+                        }
+                        if (payInfo.get("appId") != null) {
+                            fsHuiFuPayInfo.setAppId(payInfo.get("appId").toString());
 
-                    }
-                    if (payInfo.get("signType") != null) {
-                        fsHuiFuPayInfo.setSignType(payInfo.get("signType").toString());
+                        }
+                        if (payInfo.get("signType") != null) {
+                            fsHuiFuPayInfo.setSignType(payInfo.get("signType").toString());
 
+                        }
+                        if (payInfo.get("nonceStr") != null) {
+                            fsHuiFuPayInfo.setNonceStr(payInfo.get("nonceStr").toString());
+                        }
+
+                        return R.ok().put("payType", param.getPayType()).put("result", fsHuiFuPayInfo);
+                    } else {
+                        return R.error(result.getResp_desc());
                     }
-                    if (payInfo.get("nonceStr") != null) {
-                        fsHuiFuPayInfo.setNonceStr(payInfo.get("nonceStr").toString());
+                }else if(payConfigDTO.getType().equals(PaymentTypeConstant.YB)){
+                    WxJspayDTO p = new WxJspayDTO();
+                    // 使用setter方法为对象赋值
+                    p.setPayMoney(storePayment.getPayMoney().toString());
+                    p.setLowOrderId("inquiry-"+storePayment.getPayCode());
+                    p.setBody("商城订单支付");
+                    p.setIsMinipg("1");
+                    p.setOpenId(fsUser.getMaOpenId());
+                    p.setAttach("");
+                    p.setStoreid("0");
+                    p.setAppId(param.getAppId());
+                    CreateWxOrderResult wxOrder = ybPayService.createWxOrder(p);
+                    if(wxOrder.getStatus().equals("100")){
+                        for (Long paymentId : paymentIds) {
+                            FsStorePaymentScrm mt = new FsStorePaymentScrm();
+                            mt.setPaymentId(paymentId);
+                            mt.setTradeNo(wxOrder.getUpOrderId());
+                            fsStorePaymentMapper.updateFsStorePayment(mt);
+                        }
+                        return R.ok().put("isPay",0).put("data",wxOrder).put("type",PaymentTypeConstant.YB);
                     }
-
-
-//                    return R.ok().put("payType",param.getPayType()).put("result",result.getPay_info());
-                    return R.ok().put("payType", param.getPayType()).put("result", fsHuiFuPayInfo);
-                } else {
-                    return R.error(result.getResp_desc());
                 }
+
             } else if (fsStoreOrder.getPayType().equals("3")) {
                 for (FsStoreOrderScrm order : orders) {
                     //货到付款

+ 26 - 0
fs-user-app/src/main/java/com/fs/app/pay/constant/PaymentTypeConstant.java

@@ -0,0 +1,26 @@
+package com.fs.app.pay.constant;
+
+/**
+ * 支付类型常量
+ */
+public interface PaymentTypeConstant {
+    /**
+     * 微信支付方式
+     */
+    public static final String WX = "wx";
+
+    /**
+     * 易宝支付
+     */
+    public static final String YB = "yb";
+
+    /**
+     * 台州银行
+     */
+    public static final String TZ_BANK = "tz";
+
+    /**
+     * 汇付
+     */
+    public static final String HF = "hf";
+}