Browse Source

Merge branch 'master' of hyq/cuspay into master

project 7 năm trước cách đây
mục cha
commit
9f1c53b389

+ 24 - 21
src/main/java/com/emato/cuspay/biz/wx/WxCusDeclareBiz.java

@@ -87,10 +87,10 @@ public class WxCusDeclareBiz extends AbstractCusDeclareBiz implements CuspayBiz
         limit = (limit != null && limit > 0) ? limit : 20;
         count = (count != null && count > 0) ? count : 10;
 
-        List<WxCbPayDoc> wxCbPayDocs = null;
+        List<WxCbPayDoc> wxCbPayDocList = null;
         try {
-            wxCbPayDocs = wxCbPayDocService.selectBeDeclaredData(limit);
-            if (wxCbPayDocs == null || wxCbPayDocs.isEmpty()) {
+            wxCbPayDocList = wxCbPayDocService.selectBeDeclaredData(limit);
+            if (wxCbPayDocList == null || wxCbPayDocList.isEmpty()) {
                 logger.info("未查到待申报微信推海关的支付数据");
                 return;
             }
@@ -100,17 +100,17 @@ public class WxCusDeclareBiz extends AbstractCusDeclareBiz implements CuspayBiz
         }
 
         //更新状态申报中
-        wxCbPayDocs.forEach(wxCbPayDoc -> {
+        wxCbPayDocList.forEach(wxCbPayDoc -> {
             wxCbPayDoc.setDocStatus(WxDict.PaymentDocStatus.i_01.getItem());
         });
 
         try {
-            int reslut = wxCbPayDocService.updateBatch(wxCbPayDocs);
+            int reslut = wxCbPayDocService.updateBatch(wxCbPayDocList);
             if (reslut < 0) {
                 throw new Exception("批量更新失败影响行数为0");
             }
         } catch(Exception e)  {
-            logger.error("微信报关数据批量更失败data:"+wxCbPayDocs, e);
+            logger.error("微信报关数据批量更失败data:"+ wxCbPayDocList, e);
             return;
         }
 
@@ -120,7 +120,7 @@ public class WxCusDeclareBiz extends AbstractCusDeclareBiz implements CuspayBiz
         //待通知的用户
         List<MerchNoti> merchNotis = Lists.newArrayList();
 
-        wxCbPayDocs.forEach(wxCbPayDoc -> {
+        wxCbPayDocList.forEach(wxCbPayDoc -> {
 
             //获取商户信息 从缓存中去  缓存不存在 从数据库重取
             MerchPayCfg merchPayCfg = getMerchPayCfgCache(wxCbPayDoc.getMerchSn());
@@ -135,7 +135,6 @@ public class WxCusDeclareBiz extends AbstractCusDeclareBiz implements CuspayBiz
             if (merchPayCfg == null) {
                 wxCbPayDoc.setReturnCode("FAIL");
                 wxCbPayDoc.setReturnMsg("商户编号为【"+wxCbPayDoc.getMerchSn()+"】的商户支付配置信息不存在");
-                wxCbPayDoc.setDocStatus(WxDict.PaymentDocStatus.i_13.getItem());
                 wxCbPayDocService.updateWxCbPay(wxCbPayDoc);
                 logger.error("商户编号为【"+wxCbPayDoc.getMerchSn()+"】的商户支付配置信息不存在");
                 return;
@@ -144,7 +143,6 @@ public class WxCusDeclareBiz extends AbstractCusDeclareBiz implements CuspayBiz
             if (merchPayCfg.getMerchWxApiKey() == null) {
                 wxCbPayDoc.setReturnCode(WxContants.ERROR_NO_INFOMATION);
                 wxCbPayDoc.setReturnMsg("商户编号为【"+wxCbPayDoc.getMerchSn()+"】的商户支付信息api密钥为空");
-                wxCbPayDoc.setDocStatus(WxDict.PaymentDocStatus.i_13.getItem());
                 wxCbPayDocService.updateWxCbPay(wxCbPayDoc);
                 logger.error("商户编号为【"+wxCbPayDoc.getMerchSn()+"】的商户支付信息api密钥为空");
                 return;
@@ -238,20 +236,26 @@ public class WxCusDeclareBiz extends AbstractCusDeclareBiz implements CuspayBiz
                                     .cusDeclStatus(WxDict.MerchNoticeStatus.i_13.getItem())
                                     .build();
                         }
-                        wxCbPayDocService.updateWxCbPay(wxCbPayDoc);
-                    } else {//返回状态码为成功 业务结果失败
+                    } else {
+                        //返回状态码为成功 业务结果失败
                         wxCbPayDoc.setErrCode(wxResponseMsgDto.getErrCode());
                         wxCbPayDoc.setErrCodeDes(wxResponseMsgDto.getErrCodeDes());
                         wxCbPayDoc.setDocStatus(WxDict.PaymentDocStatus.i_13.getItem());
                         wxCbPayDoc.setBuyerPayerCheck(MerchNoticeDict.BuyerPayerCheckStatus.i_3.getItem());
-
-                        wxCbPayDocService.updateWxCbPay(wxCbPayDoc);
-
-                        builder.certCheckResult(MerchNoticeDict.BuyerPayerCheckStatus.i_3.getItem());
-                        merchNoti = builder.code(wxResponseMsgDto.getErrCode())
-                                .msg(wxResponseMsgDto.getErrCodeDes())
-                                .cusDeclStatus(WxDict.MerchNoticeStatus.i_13.getItem())
-                                .build();
+                        //[35324042]您的证件号码校验异常请联系财付通客服处理的情况,修改商户通知数据为“身份校验不一致”,“申报成功”
+                        if("35324042".equalsIgnoreCase(wxResponseMsgDto.getErrCode())){
+                            builder.certCheckResult(MerchNoticeDict.BuyerPayerCheckStatus.i_2.getItem());
+                            merchNoti = builder.code(wxResponseMsgDto.getErrCode())
+                                    .msg(wxResponseMsgDto.getErrCodeDes())
+                                    .cusDeclStatus(WxDict.MerchNoticeStatus.i_12.getItem())
+                                    .build();
+                        }else {
+                            builder.certCheckResult(MerchNoticeDict.BuyerPayerCheckStatus.i_3.getItem());
+                            merchNoti = builder.code(wxResponseMsgDto.getErrCode())
+                                    .msg(wxResponseMsgDto.getErrCodeDes())
+                                    .cusDeclStatus(WxDict.MerchNoticeStatus.i_13.getItem())
+                                    .build();
+                        }
                     }
                 }
                 ///返回状态码为失败
@@ -259,14 +263,13 @@ public class WxCusDeclareBiz extends AbstractCusDeclareBiz implements CuspayBiz
                         WxContants.FAIL.equals(wxResponseMsgDto.getReturnCode())) {
                     wxCbPayDoc.setDocStatus(WxDict.PaymentDocStatus.i_03.getItem());
 
-                    wxCbPayDocService.updateWxCbPay(wxCbPayDoc);
-
                     //通知商户
                     merchNoti = builder.code(WxContants.ERROR_FAIL)
                             .msg(wxResponseMsgDto.getReturnMsg())
                             .cusDeclStatus(WxDict.MerchNoticeStatus.i_13.getItem())
                             .build();
                 }
+                wxCbPayDocService.updateWxCbPay(wxCbPayDoc);
             } catch (Exception e) {
                 logger.error("更新支付单证入库信息状态异常", e);
                 return;

+ 3 - 2
src/main/java/com/emato/cuspay/biz/wx/WxCusDeclareQueryBiz.java

@@ -275,8 +275,9 @@ public class WxCusDeclareQueryBiz extends AbstractCusDeclareBiz implements Cuspa
 
             try {
                 if(mchNotiList != null && mchNotiList.size() > 0){
-                    merchNoti.setNotiSn(mchNotiList.get(0).getNotiSn());
-                    merchNotiService.update(merchNoti);
+                    MerchNoti noti = mchNotiList.get(0);
+                    noti.setTstm(new Date());
+                    merchNotiService.update(noti);
                 }else{
                     merchNotiService.insert(merchNoti);
                 }