Przeglądaj źródła

付款账号管理+付款工具类

ZhangWenQiang 6 lat temu
rodzic
commit
52c1d15a79

+ 6 - 1
happy-boot-module-payment/src/main/java/org/jeecg/modules/hlgpayaccount/mapper/HlgPayAccountMapper.java

@@ -9,9 +9,14 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 /**
  * @Description: hlg_pay_account
  * @Author: jeecg-boot
- * @Date:   2020-03-02
+ * @Date: 2020-03-02
  * @Version: V1.0
  */
 public interface HlgPayAccountMapper extends BaseMapper<HlgPayAccount> {
 
+    List<HlgPayAccount> getCount(@Param("hlgPayAccount") HlgPayAccount hlgPayAccount);
+
+    void saveAccout(@Param("hlgPayAccount") HlgPayAccount hlgPayAccount);
+
+    List<HlgPayAccount> findAccountList();
 }

+ 46 - 46
happy-boot-module-payment/src/main/java/org/jeecg/modules/hlgpayaccount/mapper/xml/HlgPayAccountMapper.xml

@@ -94,56 +94,56 @@
 			update_by,
 			del_flag
 		) VALUES (
-			#{hwPayAccout.eaccod},
-			#{hwPayAccout.eccnam},
-			#{hwPayAccout.actcod},
-			#{hwPayAccout.actnam},
-			#{hwPayAccout.actnbr},
-			#{hwPayAccout.eacnam},
-			#{hwPayAccout.ccynbr},
-			#{hwPayAccout.avlbal},
-			#{hwPayAccout.hldbal},
-			#{hwPayAccout.eactyp},
-			#{hwPayAccout.mthnbr},
-			#{hwPayAccout.inrval},
-			#{hwPayAccout.bbknbr},
-			#{hwPayAccout.brnnbr},
-			#{hwPayAccout.actsts},
-			#{hwPayAccout.ctycod},
-			#{hwPayAccout.opndat},
-			#{hwPayAccout.eacnbr},
-			#{hwPayAccout.createTime},
-			#{hwPayAccout.createBy},
-			#{hwPayAccout.updateTime},
-			#{hwPayAccout.updateBy},
-			#{hwPayAccout.delFlag}
+			#{hlgPayAccount.eaccod},
+			#{hlgPayAccount.eccnam},
+			#{hlgPayAccount.actcod},
+			#{hlgPayAccount.actnam},
+			#{hlgPayAccount.actnbr},
+			#{hlgPayAccount.eacnam},
+			#{hlgPayAccount.ccynbr},
+			#{hlgPayAccount.avlbal},
+			#{hlgPayAccount.hldbal},
+			#{hlgPayAccount.eactyp},
+			#{hlgPayAccount.mthnbr},
+			#{hlgPayAccount.inrval},
+			#{hlgPayAccount.bbknbr},
+			#{hlgPayAccount.brnnbr},
+			#{hlgPayAccount.actsts},
+			#{hlgPayAccount.ctycod},
+			#{hlgPayAccount.opndat},
+			#{hlgPayAccount.eacnbr},
+			#{hlgPayAccount.createTime},
+			#{hlgPayAccount.createBy},
+			#{hlgPayAccount.updateTime},
+			#{hlgPayAccount.updateBy},
+			#{hlgPayAccount.delFlag}
 		)
 	</insert>
 
     <update id="update">
 		UPDATE hlg_pay_account SET
-			eaccod = #{hwPayAccout.eaccod},
-			eccnam = #{hwPayAccout.eccnam},
-			actcod = #{hwPayAccout.actcod},
-			actnam = #{hwPayAccout.actnam},
-			actnbr = #{hwPayAccout.actnbr},
-			eacnam = #{hwPayAccout.eacnam},
-			ccynbr = #{hwPayAccout.ccynbr},
-			avlbal = #{hwPayAccout.avlbal},
-			hldbal = #{hwPayAccout.hldbal},
-			eactyp = #{hwPayAccout.eactyp},
-			mthnbr = #{hwPayAccout.mthnbr},
-			inrval = #{hwPayAccout.inrval},
-			bbknbr = #{hwPayAccout.bbknbr},
-			brnnbr = #{hwPayAccout.brnnbr},
-			actsts = #{hwPayAccout.actsts},
-			ctycod = #{hwPayAccout.ctycod},
-			opndat = #{hwPayAccout.opndat},
-			eacnbr = #{hwPayAccout.eacnbr},
-			create_time = #{hwPayAccout.createTime},
-			update_time = #{hwPayAccout.updateTime},
-			update_by = #{hwPayAccout.updateBy}
-		WHERE id = #{hwPayAccout.id}
+			eaccod = #{hlgPayAccount.eaccod},
+			eccnam = #{hlgPayAccount.eccnam},
+			actcod = #{hlgPayAccount.actcod},
+			actnam = #{hlgPayAccount.actnam},
+			actnbr = #{hlgPayAccount.actnbr},
+			eacnam = #{hlgPayAccount.eacnam},
+			ccynbr = #{hlgPayAccount.ccynbr},
+			avlbal = #{hlgPayAccount.avlbal},
+			hldbal = #{hlgPayAccount.hldbal},
+			eactyp = #{hlgPayAccount.eactyp},
+			mthnbr = #{hlgPayAccount.mthnbr},
+			inrval = #{hlgPayAccount.inrval},
+			bbknbr = #{hlgPayAccount.bbknbr},
+			brnnbr = #{hlgPayAccount.brnnbr},
+			actsts = #{hlgPayAccount.actsts},
+			ctycod = #{hlgPayAccount.ctycod},
+			opndat = #{hlgPayAccount.opndat},
+			eacnbr = #{hlgPayAccount.eacnbr},
+			create_time = #{hlgPayAccount.createTime},
+			update_time = #{hlgPayAccount.updateTime},
+			update_by = #{hlgPayAccount.updateBy}
+		WHERE id = #{hlgPayAccount.id}
 	</update>
 
 
@@ -164,7 +164,7 @@
         select
         <include refid="hwPayAccoutColumns"/>
         from hlg_pay_account a
-        where a.eacnbr = #{hwPayAccout.eacnbr}
+        where a.eacnbr = #{hlgPayAccount.eacnbr}
     </select>
 
 </mapper>

+ 6 - 0
happy-boot-module-payment/src/main/java/org/jeecg/modules/hlgpayaccount/service/IHlgPayAccountService.java

@@ -1,8 +1,11 @@
 package org.jeecg.modules.hlgpayaccount.service;
 
+import com.alibaba.fastjson.JSONObject;
 import org.jeecg.modules.hlgpayaccount.entity.HlgPayAccount;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.util.List;
+
 /**
  * @Description: hlg_pay_account
  * @Author: jeecg-boot
@@ -11,4 +14,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface IHlgPayAccountService extends IService<HlgPayAccount> {
 
+    HlgPayAccount saveAccout(JSONObject jsonObject);
+
+    List<HlgPayAccount> findAccountList();
 }

+ 55 - 0
happy-boot-module-payment/src/main/java/org/jeecg/modules/hlgpayaccount/service/impl/HlgPayAccountServiceImpl.java

@@ -1,11 +1,19 @@
 package org.jeecg.modules.hlgpayaccount.service.impl;
 
+import com.alibaba.fastjson.JSONObject;
+import org.apache.shiro.SecurityUtils;
+import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.modules.hlgpayaccount.entity.HlgPayAccount;
 import org.jeecg.modules.hlgpayaccount.mapper.HlgPayAccountMapper;
 import org.jeecg.modules.hlgpayaccount.service.IHlgPayAccountService;
 import org.springframework.stereotype.Service;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
 
 /**
  * @Description: hlg_pay_account
@@ -16,4 +24,51 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 @Service
 public class HlgPayAccountServiceImpl extends ServiceImpl<HlgPayAccountMapper, HlgPayAccount> implements IHlgPayAccountService {
 
+    @Override
+    @Transactional
+    public HlgPayAccount saveAccout(JSONObject jsonObject) {
+        HlgPayAccount hlgPayAccount = new HlgPayAccount();
+        hlgPayAccount.setEacnbr(jsonObject.getString("eacnbr"));
+        //查询当前账号是否存在
+        List<HlgPayAccount> hwPayAccoutList = baseMapper.getCount(hlgPayAccount);
+        if (hwPayAccoutList.size() > 0) {
+            hlgPayAccount = hwPayAccoutList.get(0);
+        } else {
+            hlgPayAccount.setEaccod(jsonObject.getString("eaccod"));
+            hlgPayAccount.setEccnam(jsonObject.getString("eccnam"));
+            hlgPayAccount.setActcod(jsonObject.getString("actcod"));
+            hlgPayAccount.setActnam(jsonObject.getString("actnam"));
+            hlgPayAccount.setActnbr(jsonObject.getString("actnbr"));
+            hlgPayAccount.setEacnam(jsonObject.getString("eacnam"));
+            hlgPayAccount.setCcynbr(jsonObject.getString("ccynbr"));
+            if (jsonObject.getString("avlbal") != null) {
+                hlgPayAccount.setAvlbal(new BigDecimal(jsonObject.getString("avlbal")));
+            }
+            if (jsonObject.getString("hldbal") != null) {
+                hlgPayAccount.setHldbal(new BigDecimal(jsonObject.getString("hldbal")));
+            }
+            hlgPayAccount.setEactyp(jsonObject.getString("eactyp"));
+            hlgPayAccount.setMthnbr(jsonObject.getString("mthnbr"));
+            if (jsonObject.getString("inrval") != null) {
+                hlgPayAccount.setInrval(new BigDecimal(jsonObject.getString("inrval")));
+            }
+            hlgPayAccount.setBbknbr(jsonObject.getString("bbknbr"));
+            hlgPayAccount.setBrnnbr(jsonObject.getString("brnnbr"));
+            hlgPayAccount.setActsts(jsonObject.getString("actsts"));
+            hlgPayAccount.setCtycod(jsonObject.getString("ctycod"));
+            hlgPayAccount.setOpndat(jsonObject.getString("opndat"));
+            hlgPayAccount.setCreateTime(new Date());
+            //获取当前登录用户
+            LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+            hlgPayAccount.setCreateBy(sysUser.getUsername());
+            hlgPayAccount.setDelFlag("0");
+            baseMapper.saveAccout(hlgPayAccount);
+        }
+        return hlgPayAccount;
+    }
+
+    @Override
+    public List<HlgPayAccount> findAccountList() {
+        return baseMapper.findAccountList();
+    }
 }

+ 6 - 0
happy-boot-module-powerjob/pom.xml

@@ -43,6 +43,12 @@
             <artifactId>happy-boot-module-common</artifactId>
             <version>2.1.0</version>
         </dependency>
+
+        <dependency>
+            <groupId>org.jeecgframework.boot</groupId>
+            <artifactId>happy-boot-module-payment</artifactId>
+            <version>2.1.0</version>
+        </dependency>
     </dependencies>
 
     <build>

+ 304 - 0
happy-boot-module-powerjob/src/main/java/org/jeecg/modules/util/PayCommon.java

@@ -0,0 +1,304 @@
+package org.jeecg.modules.util;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import org.jeecg.common.utils.PayConst;
+import org.jeecg.common.utils.PayRequest;
+import org.jeecg.modules.hlgpayaccount.entity.HlgPayAccount;
+import org.jeecg.modules.hlgpayaccount.entity.HlgPayRecord;
+import org.jeecg.modules.hlgpayaccount.service.IHlgPayAccountService;
+import org.jeecg.modules.hlgpayment.entity.HlgPaymentDetail;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.PostConstruct;
+import java.text.DecimalFormat;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Random;
+
+/**
+ * @Author: zwq
+ * @Description:
+ * @Date: Create in 12:58 2019/10/9
+ */
+@Component
+public class PayCommon {
+    @Autowired
+    private IHlgPayAccountService hlgPayAccountService;
+
+    public static PayCommon payCommon;
+
+    public static IHlgPayAccountService iHlgPayAccountService;
+
+    @PostConstruct
+    public void init() {
+        payCommon = this;
+        iHlgPayAccountService = hlgPayAccountService;
+    }
+
+    /**
+     * 账户信息查询
+     */
+    public static List<HlgPayAccount> DCDACCYE() {
+        // body
+        JSONObject obj_body = new JSONObject();
+        //funcode接口名称
+        String funcode = PayConst.DCDACCYE;
+        obj_body.put("ctnkey", "");
+        String result = PayRequest.doRequest(obj_body, funcode);
+        JSONObject jsonObject = JSONObject.parseObject(result);
+        JSONObject jsonObject1 = jsonObject.getJSONObject("response");
+        JSONObject jsonObjectHead = jsonObject1.getJSONObject("head");
+        String resultcode = jsonObjectHead.getString("resultcode");
+        List<HlgPayAccount> hlgPayAccountList = new ArrayList<>();
+        //正常响应为SUC0000
+        if ("SUC0000".equals(resultcode)) {
+            JSONObject jsonObjectBody = jsonObject1.getJSONObject("body");
+            JSONArray jsonArray = jsonObjectBody.getJSONArray("actlis");
+            for (int i = 0; i < jsonArray.size(); i++) {
+                JSONObject jsonObject2 = jsonArray.getJSONObject(i);
+                System.out.println("户口号========" + jsonObject2.get("eacnbr"));
+                System.out.println("账号========" + jsonObject2.get("actnbr"));
+                HlgPayAccount hlgPayAccount = iHlgPayAccountService.saveAccout(jsonObject2);
+                hlgPayAccountList.add(hlgPayAccount);
+            }
+            System.out.println("head========" + jsonObjectHead.getString("resultcode"));
+            System.out.println("body========" + jsonArray);
+        } else {
+            System.out.println("resultcode========" + jsonObjectHead.getString("resultcode"));
+            System.out.println("resultmsg========" + jsonObjectHead.getString("resultmsg"));
+        }
+        return hlgPayAccountList;
+    }
+
+    /**
+     * 移动代发查询协议号
+     */
+    public static void DCAGPCNV() {
+        // body
+        JSONObject obj_body = new JSONObject();
+        //funcode接口名称
+        String funcode = PayConst.DCAGPCNV;
+        String eacnbr = "";
+        //获取支付账户信息
+        List<HlgPayAccount> hlgPayAccoutList = iHlgPayAccountService.findAccountList();
+        if (hlgPayAccoutList != null && hlgPayAccoutList.size() > 0) {
+            eacnbr = hlgPayAccoutList.get(0).getEacnbr();
+        } else {
+            //没有支付账户信息,则调用获取账户信息接口
+            List<HlgPayAccount> hlgPayAccoutList1 = DCDACCYE();
+            if (hlgPayAccoutList1 != null && hlgPayAccoutList1.size() > 0) {
+                eacnbr = hlgPayAccoutList1.get(0).getEacnbr();
+            }
+        }
+        obj_body.put("dbtacc", eacnbr);
+        obj_body.put("ccynbr", PayConst.ccynbr);
+        String result = PayRequest.doRequest(obj_body, funcode);
+        JSONObject jsonObject = JSONObject.parseObject(result);
+        JSONObject jsonObject1 = jsonObject.getJSONObject("response");
+        JSONObject jsonObjectHead = jsonObject1.getJSONObject("head");
+        String resultcode = jsonObjectHead.getString("resultcode");
+        //正常响应为SUC0000
+        if ("SUC0000".equals(resultcode)) {
+            JSONObject jsonObjectBody = jsonObject1.getJSONObject("body");
+            JSONArray jsonArray = jsonObjectBody.getJSONArray("cnvlist");
+            for (int i = 0; i < jsonArray.size(); i++) {
+                JSONObject jsonObject2 = jsonArray.getJSONObject(i);
+            }
+            System.out.println("head========" + jsonObjectHead.getString("resultcode"));
+            System.out.println("body========" + jsonArray);
+        } else {
+            System.out.println("resultcode========" + jsonObjectHead.getString("resultcode"));
+            System.out.println("resultmsg========" + jsonObjectHead.getString("resultmsg"));
+
+        }
+    }
+
+    /**
+     * 代发经办
+     *
+     * @param hlgPaymentDetailList
+     * @param totalPayment
+     * @return
+     */
+    public static JSONObject DCAGPOPR(List<HlgPaymentDetail> hlgPaymentDetailList, String totalPayment) {
+        //支付总量
+        int payLength = hlgPaymentDetailList.size();
+        // body
+        JSONObject obj_body = new JSONObject();
+        //funcode接口名称
+        String funcode = PayConst.DCAGPOPR;
+        String eacnbr = "";
+        //获取支付账户信息
+        List<HlgPayAccount> hlgPayAccoutList = iHlgPayAccountService.findAccountList();
+        if (hlgPayAccoutList != null && hlgPayAccoutList.size() > 0) {
+            eacnbr = hlgPayAccoutList.get(0).getEacnbr();
+        } else {
+            //没有支付账户信息,则调用获取账户信息接口
+            List<HlgPayAccount> hlgPayAccoutList1 = DCDACCYE();
+            if (hlgPayAccoutList1 != null && hlgPayAccoutList1.size() > 0) {
+                eacnbr = hlgPayAccoutList1.get(0).getEacnbr();
+            }
+        }
+        //付款账号
+        obj_body.put("dbtacc", eacnbr);
+        //业务模式(测试固定:F00003)注意:测试环境/正式环境区分开
+        obj_body.put("busmod", PayConst.busmod);
+        //业务参考号采用时间戳+三位随机数
+        Random random = new Random();
+        String code = "";
+        for (int i = 0; i < 3; i++) {
+            code += random.nextInt(10);
+        }
+        String trsref = System.currentTimeMillis() + code;
+        obj_body.put("trsref", trsref);    //业务参考号
+        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("trxrmk", "代发");        //用途
+        //代发明细
+        JSONArray trsreq = new JSONArray();
+        //四舍五入,保留俩位小数
+        DecimalFormat df = new DecimalFormat("#.00");
+        for (int i = 0; i < payLength; i++) {
+            JSONObject trs = new JSONObject();
+            HlgPaymentDetail hlgPaymentDetail = hlgPaymentDetailList.get(i);
+            trs.put("eacnbr", hlgPaymentDetail.getCardNumber());      //账号
+            trs.put("eacnam", hlgPaymentDetail.getUserName());      //户名
+            trs.put("trxamt", df.format(hlgPaymentDetail.getPayment()));      //金额
+            trs.put("bnkflg", hlgPaymentDetail.getBnkflg());       //系统内标志(Y:开户行是招商银行;N:开户行是他行)
+            if ("N".equals(hlgPaymentDetail.getBnkflg())) {
+                trs.put("eacbnk", hlgPaymentDetail.getEacbnk());        //他行开户行
+                trs.put("rcveaa", hlgPaymentDetail.getRcveaa());        //他行开户地址
+            } else {
+                trs.put("eacbnk", "");        //他行开户行
+                trs.put("rcveaa", "");        //他行开户地址
+            }
+            trs.put("trsdsp", "代发");        //收方备注
+            trsreq.add(trs);
+        }
+        obj_body.put("trsreq", trsreq);     //代发明细信息
+        String result = PayRequest.doRequest(obj_body, funcode);
+        JSONObject jsonObject = JSONObject.parseObject(result);
+        JSONObject jsonObject1 = jsonObject.getJSONObject("response");
+        JSONObject jsonObjectHead = jsonObject1.getJSONObject("head");
+        String resultcode = jsonObjectHead.getString("resultcode");
+        JSONObject jsonObjectBody = null;
+        //正常响应为SUC0000
+        if ("SUC0000".equals(resultcode)) {
+            jsonObjectBody = jsonObject1.getJSONObject("body");
+        } else {
+            System.out.println("resultcode========" + jsonObjectHead.getString("resultcode"));
+            System.out.println("resultmsg========" + jsonObjectHead.getString("resultmsg"));
+        }
+        return jsonObjectBody;
+    }
+
+    /**
+     * 移动代发每笔明细查询
+     */
+    public static JSONObject DCAGPDTL(HlgPayRecord hlgPayRecord) {
+        // body
+        JSONObject obj_body = new JSONObject();
+        //funcode接口名称
+        String funcode = PayConst.DCAGPDTL;
+        obj_body.put("flwsid", hlgPayRecord.getAgpseq());     //批次号码
+        obj_body.put("trssts", "");     //W:待交易S:成功E:失败,为空返回所有明细
+        obj_body.put("ctnkey", "");      //第一次传空,后续传响应报文中ctnkey字段值
+        String result = PayRequest.doRequest(obj_body, funcode);
+        JSONObject jsonObject = JSONObject.parseObject(result);
+        JSONObject jsonObject1 = jsonObject.getJSONObject("response");
+        JSONObject jsonObjectHead = jsonObject1.getJSONObject("head");
+        String resultcode = jsonObjectHead.getString("resultcode");
+        JSONObject jsonObjectBody = null;
+        //正常响应为SUC0000
+        if ("SUC0000".equals(resultcode)) {
+            jsonObjectBody = jsonObject1.getJSONObject("body");
+        } else {
+            System.out.println("resultcode========" + jsonObjectHead.getString("resultcode"));
+            System.out.println("resultmsg========" + jsonObjectHead.getString("resultmsg"));
+
+        }
+        return jsonObjectBody;
+    }
+
+    /**
+     * 代发经办(测试前置机)
+     *
+     * @param hlgPaymentDetailList
+     * @param totalPayment
+     * @return
+     */
+    public static JSONObject DCAGPOPRForSpecial(List<HlgPaymentDetail> hlgPaymentDetailList, String totalPayment) {
+        //支付总量
+        int payLength = hlgPaymentDetailList.size();
+        // body
+        JSONObject obj_body = new JSONObject();
+        //funcode接口名称
+        String funcode = PayConst.DCAGPOPR;
+        String eacnbr = "";
+        //获取支付账户信息
+        List<HlgPayAccount> hlgPayAccoutList = new ArrayList<>();
+        HlgPayAccount hlgPayAccount = new HlgPayAccount();
+        hlgPayAccount.setEacnbr("755915675610802");//测试前置机付款账号
+        hlgPayAccoutList.add(hlgPayAccount);
+        if (hlgPayAccoutList != null && hlgPayAccoutList.size() > 0) {
+            eacnbr = hlgPayAccoutList.get(0).getEacnbr();
+        }
+        obj_body.put("dbtacc", eacnbr);    //付款账号
+        obj_body.put("busmod", PayConst.busmod);   //业务模式(测试固定:F00003)注意:测试环境/正式环境区分开
+        //业务参考号采用时间戳+三位随机数
+        Random random = new Random();
+        String code = "";
+        for (int i = 0; i < 3; i++) {
+            code += random.nextInt(10);
+        }
+        String trsref = System.currentTimeMillis() + code;
+        obj_body.put("trsref", trsref);    //业务参考号
+        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("trxrmk", "代发");        //用途
+        //代发明细
+        JSONArray trsreq = new JSONArray();
+        //四舍五入,保留俩位小数
+        DecimalFormat df = new DecimalFormat("#.00");
+        for (int i = 0; i < payLength; i++) {
+            JSONObject trs = new JSONObject();
+            HlgPaymentDetail hlgPaymentDetail = hlgPaymentDetailList.get(i);
+            trs.put("eacnbr", "6225880280120198");      //账号
+            trs.put("eacnam", "喵星人");      //户名
+            trs.put("trxamt", df.format(hlgPaymentDetail.getPayment()));      //金额
+            trs.put("bnkflg", hlgPaymentDetail.getBnkflg());       //系统内标志(Y:开户行是招商银行;N:开户行是他行)
+            if ("N".equals(hlgPaymentDetail.getBnkflg())) {
+                trs.put("eacbnk", hlgPaymentDetail.getEacbnk());        //他行开户行
+                trs.put("rcveaa", hlgPaymentDetail.getRcveaa());        //他行开户地址
+            } else {
+                trs.put("eacbnk", "");        //他行开户行
+                trs.put("rcveaa", "");        //他行开户地址
+            }
+            trs.put("trsdsp", "代发");        //收方备注
+            trsreq.add(trs);
+        }
+        obj_body.put("trsreq", trsreq);     //代发明细信息
+        String result = PayRequest.doRequest(obj_body, funcode);
+        JSONObject jsonObject = JSONObject.parseObject(result);
+        JSONObject jsonObject1 = jsonObject.getJSONObject("response");
+        JSONObject jsonObjectHead = jsonObject1.getJSONObject("head");
+        String resultcode = jsonObjectHead.getString("resultcode");
+        JSONObject jsonObjectBody = null;
+        //正常响应为SUC0000
+        if ("SUC0000".equals(resultcode)) {
+            jsonObjectBody = jsonObject1.getJSONObject("body");
+        } else {
+            System.out.println("resultcode========" + jsonObjectHead.getString("resultcode"));
+            System.out.println("resultmsg========" + jsonObjectHead.getString("resultmsg"));
+        }
+        return jsonObjectBody;
+    }
+}