Просмотр исходного кода

支付账户-配置文件方式调整为数据库

ZhangWenQiang 5 лет назад
Родитель
Сommit
bb0fbc4c0c

+ 9 - 1
happy-boot-module-flexjob/src/main/java/org/jeecg/modules/hwpayment/service/PaymentAlreadyJob.java

@@ -13,6 +13,8 @@ import org.jeecg.modules.ordermanager.service.IHwOrderProcessDetailService;
 import org.jeecg.modules.ordermanager.service.IHwOrderService;
 import org.jeecg.modules.paymanager.entity.HwPayRecord;
 import org.jeecg.modules.paymanager.service.IHwPayRecordService;
+import org.jeecg.modules.subcontratormanager.entity.HwSubcontractor;
+import org.jeecg.modules.subcontratormanager.service.IHwSubcontractorService;
 import org.jeecg.modules.util.PayCommon;
 import org.quartz.Job;
 import org.quartz.JobExecutionContext;
@@ -44,6 +46,8 @@ public class PaymentAlreadyJob implements Job {
     private IHwOrderProcessDetailService hwOrderProcessDetailService;
     @Autowired
     private IHwOrderService hwOrderService;
+    @Autowired
+    private IHwSubcontractorService hwSubcontractorService;
 
 
     @Override
@@ -53,8 +57,12 @@ public class PaymentAlreadyJob implements Job {
         //查询一周内终态为SY付款批次
         List<HwPayRecord> hwPayRecordList = hwPayRecordService.findAlreadyPayList();
         for (HwPayRecord hwPayRecord : hwPayRecordList) {
+            //获取当前支付单
+            HwPayment hwPaymentDto = hwPaymentService.getById(hwPayRecord.getPaymentId());
+            //服务商信息
+            HwSubcontractor hwSubcontractor = hwSubcontractorService.getById(hwPaymentDto.getSubId());
             //请求银行接口查询结果
-            JSONObject jsonObjectBody = PayCommon.DCAGPDTL(hwPayRecord);
+            JSONObject jsonObjectBody = PayCommon.DCAGPDTL(hwPayRecord, hwSubcontractor);
             //续传键值
             String ctnkey = jsonObjectBody.getString("ctnkey");
             //代发明细汇总信息

+ 9 - 1
happy-boot-module-flexjob/src/main/java/org/jeecg/modules/hwpayment/service/PaymentJob.java

@@ -13,6 +13,8 @@ import org.jeecg.modules.ordermanager.service.IHwOrderProcessDetailService;
 import org.jeecg.modules.ordermanager.service.IHwOrderService;
 import org.jeecg.modules.paymanager.entity.HwPayRecord;
 import org.jeecg.modules.paymanager.service.IHwPayRecordService;
+import org.jeecg.modules.subcontratormanager.entity.HwSubcontractor;
+import org.jeecg.modules.subcontratormanager.service.IHwSubcontractorService;
 import org.jeecg.modules.util.PayCommon;
 import org.quartz.Job;
 import org.quartz.JobExecutionContext;
@@ -44,6 +46,8 @@ public class PaymentJob implements Job {
     private IHwOrderProcessDetailService hwOrderProcessDetailService;
     @Autowired
     private IHwOrderService hwOrderService;
+    @Autowired
+    private IHwSubcontractorService hwSubcontractorService;
 
 
     @Override
@@ -53,8 +57,12 @@ public class PaymentJob implements Job {
         //查询所有没结果的付款批次(终态包括:VD,CL,WF,UF,OF,SY)
         List<HwPayRecord> hwPayRecordList = hwPayRecordService.findNoPayList();
         for (HwPayRecord hwPayRecord : hwPayRecordList) {
+            //获取当前支付单
+            HwPayment hwPaymentDto = hwPaymentService.getById(hwPayRecord.getPaymentId());
+            //服务商信息
+            HwSubcontractor hwSubcontractor = hwSubcontractorService.getById(hwPaymentDto.getSubId());
             //请求银行接口查询结果
-            JSONObject jsonObjectBody = PayCommon.DCAGPDTL(hwPayRecord);
+            JSONObject jsonObjectBody = PayCommon.DCAGPDTL(hwPayRecord, hwSubcontractor);
             //续传键值
             String ctnkey = jsonObjectBody.getString("ctnkey");
             //代发明细汇总信息

+ 24 - 5
happy-boot-module-flexjob/src/main/java/org/jeecg/modules/subcontratormanager/entity/HwSubcontractor.java

@@ -64,9 +64,28 @@ public class HwSubcontractor implements Serializable {
     @Excel(name = "备注", width = 15)
     private java.lang.String remark;
 
-    //联系电话
-    private String contactPhone;
-
-    //法定代表人
-    private String legalRepresentative;
+    /**法人代表*/
+    @Excel(name = "法人代表", width = 15)
+    private java.lang.String legalRepresentative;
+    /**联系电话*/
+    @Excel(name = "联系电话", width = 15)
+    private java.lang.String contactPhone;
+    /**前置机IP*/
+    @Excel(name = "前置机IP", width = 15)
+    private java.lang.String paymentAddress;
+    /**前置机端口*/
+    @Excel(name = "前置机端口", width = 15)
+    private java.lang.String paymentPort;
+    /**一网通id*/
+    @Excel(name = "一网通id", width = 15)
+    private java.lang.String appId;
+    /**业务模式*/
+    @Excel(name = "业务模式", width = 15)
+    private java.lang.String businessMode;
+    /**交易代码*/
+    @Excel(name = "交易代码", width = 15)
+    private java.lang.String trsType;
+    /**代发协议*/
+    @Excel(name = "代发协议", width = 15)
+    private java.lang.String payCnv;
 }

+ 14 - 13
happy-boot-module-flexjob/src/main/java/org/jeecg/modules/util/PayCommon.java

@@ -48,7 +48,7 @@ public class PayCommon {
         //funcode接口名称
         String funcode = PayConst.DCDACCYE;
         obj_body.put("ctnkey", "");
-        String result = PayRequest.doRequest(obj_body, funcode);
+        String result = PayRequest.doRequest(obj_body, funcode, hwSubcontractor.getAppId(), hwSubcontractor.getPaymentAddress() + ":" + hwSubcontractor.getPaymentPort());
         JSONObject jsonObject = JSONObject.parseObject(result);
         JSONObject jsonObject1 = jsonObject.getJSONObject("response");
         JSONObject jsonObjectHead = jsonObject1.getJSONObject("head");
@@ -62,7 +62,7 @@ public class PayCommon {
                 JSONObject jsonObject2 = jsonArray.getJSONObject(i);
                 System.out.println("户口号========" + jsonObject2.get("eacnbr"));
                 System.out.println("账号========" + jsonObject2.get("actnbr"));
-                HwPayAccout hwPayAccout = iHwPayAccoutService.saveAccout(jsonObject2,hwSubcontractor.getId());
+                HwPayAccout hwPayAccout = iHwPayAccoutService.saveAccout(jsonObject2, hwSubcontractor.getId());
                 hwPayAccoutList.add(hwPayAccout);
             }
             System.out.println("head========" + jsonObjectHead.getString("resultcode"));
@@ -98,7 +98,7 @@ public class PayCommon {
         }
         obj_body.put("dbtacc", eacnbr);
         obj_body.put("ccynbr", PayConst.ccynbr);
-        String result = PayRequest.doRequest(obj_body, funcode);
+        String result = PayRequest.doRequest(obj_body, funcode,hwSubcontractor.getAppId(), hwSubcontractor.getPaymentAddress() + ":" + hwSubcontractor.getPaymentPort());
         JSONObject jsonObject = JSONObject.parseObject(result);
         JSONObject jsonObject1 = jsonObject.getJSONObject("response");
         JSONObject jsonObjectHead = jsonObject1.getJSONObject("head");
@@ -148,7 +148,7 @@ public class PayCommon {
             }
         }
         obj_body.put("dbtacc", eacnbr);    //付款账号
-        obj_body.put("busmod", PayConst.busmod);   //业务模式(测试固定:F00003)注意:测试环境/正式环境区分开
+        obj_body.put("busmod", hwSubcontractor.getBusinessMode());   //业务模式(测试固定:F00003)注意:测试环境/正式环境区分开
         //业务参考号采用时间戳+三位随机数
         Random random = new Random();
         String code = "";
@@ -160,8 +160,8 @@ public class PayCommon {
         obj_body.put("ttlamt", totalPayment);        //总金额
         obj_body.put("ttlcnt", payLength);        //总笔数
         obj_body.put("ccynbr", PayConst.ccynbr);      //货币类型(人民币,默认为10)
-        obj_body.put("trstyp", PayConst.trstyp);        //交易代码(代发类型),默认代发其他
-        obj_body.put("paycnv", PayConst.paycnv);        //代发协议,默认
+        obj_body.put("trstyp", hwSubcontractor.getTrsType());        //交易代码(代发类型),默认代发其他
+        obj_body.put("paycnv", hwSubcontractor.getPayCnv());        //代发协议,默认
         obj_body.put("trxrmk", "代发");        //用途
         //代发明细
         JSONArray trsreq = new JSONArray();
@@ -185,7 +185,7 @@ public class PayCommon {
             trsreq.add(trs);
         }
         obj_body.put("trsreq", trsreq);     //代发明细信息
-        String result = PayRequest.doRequest(obj_body, funcode);
+        String result = PayRequest.doRequest(obj_body, funcode,hwSubcontractor.getAppId(), hwSubcontractor.getPaymentAddress() + ":" + hwSubcontractor.getPaymentPort());
         JSONObject jsonObject = JSONObject.parseObject(result);
         JSONObject jsonObject1 = jsonObject.getJSONObject("response");
         JSONObject jsonObjectHead = jsonObject1.getJSONObject("head");
@@ -204,7 +204,7 @@ public class PayCommon {
     /**
      * 移动代发每笔明细查询
      */
-    public static JSONObject DCAGPDTL(HwPayRecord hwPayRecord) {
+    public static JSONObject DCAGPDTL(HwPayRecord hwPayRecord,HwSubcontractor hwSubcontractor) {
         // body
         JSONObject obj_body = new JSONObject();
         //funcode接口名称
@@ -212,7 +212,7 @@ public class PayCommon {
         obj_body.put("flwsid", hwPayRecord.getAgpseq());     //批次号码
         obj_body.put("trssts", "");     //W:待交易S:成功E:失败,为空返回所有明细
         obj_body.put("ctnkey", "");      //第一次传空,后续传响应报文中ctnkey字段值
-        String result = PayRequest.doRequest(obj_body, funcode);
+        String result = PayRequest.doRequest(obj_body, funcode,hwSubcontractor.getAppId(), hwSubcontractor.getPaymentAddress() + ":" + hwSubcontractor.getPaymentPort());
         JSONObject jsonObject = JSONObject.parseObject(result);
         JSONObject jsonObject1 = jsonObject.getJSONObject("response");
         JSONObject jsonObjectHead = jsonObject1.getJSONObject("head");
@@ -230,6 +230,7 @@ public class PayCommon {
     }
 
     /**
+     * 弃用
      * 代发经办(测试前置机)
      *
      * @param hwPaymentDetailList
@@ -253,7 +254,7 @@ public class PayCommon {
             eacnbr = hwPayAccoutList.get(0).getEacnbr();
         }
         obj_body.put("dbtacc", eacnbr);    //付款账号
-        obj_body.put("busmod", PayConst.busmod);   //业务模式(测试固定:F00003)注意:测试环境/正式环境区分开
+        obj_body.put("busmod", 1);   //业务模式(测试固定:F00003)注意:测试环境/正式环境区分开
         //业务参考号采用时间戳+三位随机数
         Random random = new Random();
         String code = "";
@@ -265,8 +266,8 @@ public class PayCommon {
         obj_body.put("ttlamt", totalPayment);        //总金额
         obj_body.put("ttlcnt", payLength);        //总笔数
         obj_body.put("ccynbr", PayConst.ccynbr);      //货币类型(人民币,默认为10)
-        obj_body.put("trstyp", PayConst.trstyp);        //交易代码(代发类型),默认代发其他
-        obj_body.put("paycnv", PayConst.paycnv);        //代发协议,默认
+        obj_body.put("trstyp", 1);        //交易代码(代发类型),默认代发其他
+        obj_body.put("paycnv", 1);        //代发协议,默认
         obj_body.put("trxrmk", "代发");        //用途
         //代发明细
         JSONArray trsreq = new JSONArray();
@@ -290,7 +291,7 @@ public class PayCommon {
             trsreq.add(trs);
         }
         obj_body.put("trsreq", trsreq);     //代发明细信息
-        String result = PayRequest.doRequest(obj_body, funcode);
+        String result = "";
         JSONObject jsonObject = JSONObject.parseObject(result);
         JSONObject jsonObject1 = jsonObject.getJSONObject("response");
         JSONObject jsonObjectHead = jsonObject1.getJSONObject("head");

+ 1 - 45
happy-boot-module-pay/src/main/java/org/jeecg/common/utils/PayConst.java

@@ -10,42 +10,7 @@ import org.springframework.stereotype.Component;
  * @Date: 2019/10/8 9:34
  */
 @Component
-public class PayConst implements InitializingBean {
-    @Value("${jeecg.pay.userid}")
-    private String userid1;
-    @Value("${jeecg.pay.payurl}")
-    private String payurl1;
-    @Value("${jeecg.pay.busmod}")
-    private String busmod1;
-    @Value("${jeecg.pay.trstyp}")
-    private String trstyp1;
-    @Value("${jeecg.pay.paycnv}")
-    private String paycnv1;
-
-
-    /**
-     * 企业一网通用户ID
-     */
-    public static String userid;
-    /**
-     * 请求url
-     */
-    public static String payurl;
-
-    /**
-     * 业务模式(测试固定:000001)注意:测试环境/正式环境区分开
-     */
-    public static String busmod;
-
-    /**
-     * 交易代码(代发类型),默认代发工资
-     */
-    public static String trstyp;
-
-    /**
-     * 代发协议,默认
-     */
-    public static String paycnv;
+public class PayConst {
 
     /**
      * 货币类型(人民币,默认为10)
@@ -111,13 +76,4 @@ public class PayConst implements InitializingBean {
      */
     public static String DCAGPCNV = "DCAGPCNV";
 
-    @Override
-    public void afterPropertiesSet() throws Exception {
-        userid = userid1;
-        payurl = payurl1;
-        busmod = busmod1;
-        trstyp = trstyp1;
-        paycnv = paycnv1;
-    }
-
 }

+ 4 - 4
happy-boot-module-pay/src/main/java/org/jeecg/common/utils/PayRequest.java

@@ -16,21 +16,21 @@ public class PayRequest {
      * @param funcode(接口名称)
      * @return
      */
-    public static String doRequest(JSONObject obj_body, String funcode) {
+    public static String doRequest(JSONObject obj_body, String funcode, String userid, String payurl) {
         JSONObject Obj = new JSONObject();
         JSONObject request = new JSONObject();
         // head
         JSONObject head = new JSONObject();
         head.put("funcode", funcode);
-        head.put("userid", PayConst.userid);
+        head.put("userid", userid);
 
         request.put("head", head);
         request.put("body", obj_body);
         Obj.put("request", request);
 
-        String Sendstr = "UID=" + PayConst.userid + "&DATA=" + Obj.toString();
+        String Sendstr = "UID=" + userid + "&DATA=" + Obj.toString();
         System.out.println(Sendstr);
-        String formResult = PayUtils.doPostForm(PayConst.payurl, Sendstr);
+        String formResult = PayUtils.doPostForm(payurl, Sendstr);
         System.out.println(formResult);
         return formResult;
     }