Bladeren bron

支付单信息入库、商户支付单配置信息接口代码逻辑修改

hyq 7 jaren geleden
bovenliggende
commit
cc284dd238

+ 25 - 3
src/main/java/com/emato/cuspay/base/merch/impl/MerchPaymentServiceImpl.java

@@ -11,6 +11,9 @@ import com.emato.cuspay.dao.mapper.merch.MerchPayCfgMapper;
 import com.emato.cuspay.dto.merch.MerchPayCfg;
 import com.emato.cuspay.support.msg.resp.ResponseMessage;
 import com.emato.cuspay.support.msg.resp.ResponseStatus;
+import com.emato.cuspay.wx.service.impl.WxCbPayDocServiceImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -23,15 +26,34 @@ import java.util.List;
 
 @Service
 public class MerchPaymentServiceImpl implements MerchPaymentService {
+    private static final Logger logger = LoggerFactory.getLogger(MerchPaymentServiceImpl.class);
 
     @Autowired
     private MerchPayCfgMapper merchPayCfgMapper;
 
     public ResponseMessage addMerchPayCfg(MerchPayCfg merchPayCfg) {
         merchPayCfg.setPayCfgSn(TablePrimaryKeyPrefix.merch_pay_cfg_type + IdWorkerAide.nextId());
-        int result = merchPayCfgMapper.insertSelective(merchPayCfg);
-        if (result > 0) {
-            return ResponseMessage.builder(ResponseStatus.SUCCESS.getItem(), "添加成功").build();
+
+        try {
+            MerchPayCfg payCfg = new MerchPayCfg();
+            payCfg.setMerchSn(merchPayCfg.getMerchSn());
+            payCfg.setPayChnlFlag(merchPayCfg.getPayChnlFlag());
+            if(merchPayCfgMapper.getMerchPayCfgByMerchsnAndChnlFlag(payCfg) != null){
+                return  new ResponseMessage.Builder().setCode(ResponseStatus.ERROR.getItem()).setMsg("商户编号为"+merchPayCfg.getMerchSn()+"的支付配置信息已存在")
+                        .build();
+            }
+        } catch (Exception e) {
+            logger.error("根据商户编号和查询支付通道标识查询商户支付配置信息异常", e);
+        }
+
+
+        try {
+            int result = merchPayCfgMapper.insertSelective(merchPayCfg);
+            if (result > 0) {
+                return ResponseMessage.builder(ResponseStatus.SUCCESS.getItem(), "添加成功").build();
+            }
+        } catch (Exception e) {
+            logger.error("添加商户支付配置信息异常", e);
         }
         return ResponseMessage.builder(ResponseStatus.ERROR.getItem(), "添加失败").build();
     }

+ 4 - 0
src/main/java/com/emato/cuspay/dao/mapper/merch/MerchPayCfgMapper.java

@@ -20,4 +20,8 @@ public interface MerchPayCfgMapper {
     MerchPayCfg selectByWxMercherSn(String merchSn);
 
     List<MerchPayCfg> selectMerchPayCfg();
+
+    MerchPayCfg getMerchPayCfgByMerchsnAndChnlFlag(MerchPayCfg payCfg);
+
+    List<MerchPayCfg> getMerchPayCfgByMerchsn(String merchSn);
 }

+ 0 - 1
src/main/java/com/emato/cuspay/notify/CusMerchantNotice.java

@@ -6,7 +6,6 @@ import com.emato.cuspay.dto.merch.MerchNoti;
 import com.emato.cuspay.support.msg.resp.ResponseMessage;
 import com.emato.cuspay.support.msg.resp.ResponseStatus;
 import com.emato.cuspay.util.OkHttpUtils;
-import com.fasterxml.jackson.databind.ObjectMapper;
 import com.google.common.collect.Lists;
 import com.google.gson.Gson;
 import okhttp3.Request;

+ 0 - 2
src/main/java/com/emato/cuspay/task/wx/MerchantNoticeTimer.java

@@ -1,9 +1,7 @@
 package com.emato.cuspay.task.wx;
 
 
-import com.emato.cuspay.notify.CusMerchantNotice;
 import com.emato.cuspay.notify.MerchantNotice;
-import com.emato.cuspay.wx.declare.CusDeclare;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;

+ 0 - 4
src/main/java/com/emato/cuspay/wx/controller/WxCusController.java

@@ -1,9 +1,5 @@
 package com.emato.cuspay.wx.controller;
 
-
-
-
-
 import com.emato.cuspay.wx.dao.entity.WxCbPayDoc;
 import com.emato.cuspay.support.msg.resp.ResponseMessage;
 import com.emato.cuspay.support.msg.resp.ResponseStatus;

+ 24 - 10
src/main/java/com/emato/cuspay/wx/service/impl/WxCbPayDocServiceImpl.java

@@ -5,12 +5,16 @@ import com.emato.cuspay.common.contant.TablePrimaryKeyPrefix;
 import com.emato.cuspay.common.core.db.IdWorkerAide;
 import com.emato.cuspay.dao.mapper.merch.MerchPayCfgMapper;
 import com.emato.cuspay.dao.mapper.wx.WxCbPayDocMapper;
+import com.emato.cuspay.dto.merch.MerchPayCfg;
+import com.emato.cuspay.wx.controller.WxCusController;
 import com.emato.cuspay.wx.dao.entity.WxCbPayDoc;
 import com.emato.cuspay.support.msg.resp.ResponseMessage;
 import com.emato.cuspay.support.msg.resp.ResponseStatus;
 import com.emato.cuspay.util.jackson.JacksonUtil;
 import com.emato.cuspay.wx.common.WxDict;
 import com.emato.cuspay.wx.service.WxCbPayDocService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -24,6 +28,8 @@ import java.util.List;
  */
 @Service
 public class WxCbPayDocServiceImpl implements WxCbPayDocService {
+    private static final Logger logger = LoggerFactory.getLogger(WxCbPayDocServiceImpl.class);
+
     @Autowired
     private WxCbPayDocMapper wxCbPayDocMapper;
 
@@ -40,19 +46,27 @@ public class WxCbPayDocServiceImpl implements WxCbPayDocService {
         //设置支付单状态 待审核
         wxCbPayDoc.setDocStatus(WxDict.PaymentDocStatus.i_00.getItem());
         String merchSn = wxCbPayDoc.getMerchSn();
-
-        if(merchPayCfgMapper.selectByWxMercherSn(merchSn) == null){
-            return  new ResponseMessage.Builder().setCode(ResponseStatus.ERROR.getItem()).setMsg("商户编号为"+merchSn+"的支付配置信息不存在")
-                    .build();
+        try {
+            List<MerchPayCfg> merchPayCfgList = merchPayCfgMapper.getMerchPayCfgByMerchsn(merchSn);
+            if(merchPayCfgList.size() == 0){
+                return  new ResponseMessage.Builder().setCode(ResponseStatus.ERROR.getItem()).setMsg("商户编号为"+merchSn+"的支付配置信息不存在")
+                        .build();
+            }
+        } catch (Exception e) {
+            logger.error("查询商户支付配置信息异常", e);
         }
 
-        int result = wxCbPayDocMapper.insertSelective(wxCbPayDoc);
-        if (result > 0) {
-            HashMap<String,String> resultMap = new HashMap<>();
-            resultMap.put("docStatus", WxDict.PaymentDocStatus.i_00.getItemName());
+        try {
+            int result = wxCbPayDocMapper.insertSelective(wxCbPayDoc);
+            if (result > 0) {
+                HashMap<String,String> resultMap = new HashMap<>();
+                resultMap.put("docStatus", WxDict.PaymentDocStatus.i_00.getItemName());
 
-            return new ResponseMessage.Builder().setCode(ResponseStatus.SUCCESS.getItem()).setMsg("入库成功")
-                    .setData(JacksonUtil.toJson(resultMap)).build();
+                return new ResponseMessage.Builder().setCode(ResponseStatus.SUCCESS.getItem()).setMsg("入库成功")
+                        .setData(JacksonUtil.toJson(resultMap)).build();
+            }
+        } catch (Exception e) {
+            logger.error("新增支付单入库信息异常", e);
         }
         return  new ResponseMessage.Builder().setCode(ResponseStatus.ERROR.getItem()).setMsg("入库失败")
                 .build();

+ 12 - 0
src/main/resources/mybatis/mapper/MerchPayCfgMapper.xml

@@ -160,4 +160,16 @@
     <include refid="Base_Column_List"/>
     FROM merch_pay_cfg
   </select>
+
+  <select id="getMerchPayCfgByMerchsnAndChnlFlag" resultMap="BaseResultMap" parameterType="com.emato.cuspay.dto.merch.MerchPayCfg">
+    SELECT
+    <include refid="Base_Column_List" />
+    FROM merch_pay_cfg WHERE merch_sn = #{merchSn} AND pay_chnl_flag = #{payChnlFlag}
+  </select>
+
+  <select id="getMerchPayCfgByMerchsn" resultMap="BaseResultMap" parameterType="java.lang.String">
+    SELECT
+    <include refid="Base_Column_List" />
+    FROM merch_pay_cfg WHERE merch_sn = #{merchSn}
+  </select>
 </mapper>