Browse Source

调试

master
zhaoyiran 1 year ago
parent
commit
1bc819e18c
  1. 4
      src/main/java/com/win/bank/domain/BankDO.java
  2. 14
      src/main/java/com/win/bank/service/bank/BankService.java
  3. 16
      src/main/java/com/win/bank/service/bocom/BocomServiceImpl.java
  4. 12
      src/main/java/com/win/bank/service/cmb/CmbServiceImpl.java

4
src/main/java/com/win/bank/domain/BankDO.java

@ -25,6 +25,10 @@ public class BankDO extends BaseDO {
*/
@TableId
private Long id;
/**
* 每笔交易的唯一编号
*/
private String businessCode;
/**
* 状态0:未处理;1:支付中;2:支付成功;3:支付失败
*/

14
src/main/java/com/win/bank/service/bank/BankService.java

@ -1,11 +1,14 @@
package com.win.bank.service.bank;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import com.baomidou.mybatisplus.extension.service.IService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.win.bank.domain.BankDO;
import com.win.bank.mapper.BankMapper;
@ -19,4 +22,13 @@ public class BankService extends ServiceImpl<BankMapper, BankDO> implements ISer
return baseMapper.selectList(queryWrapper);
}
public String getBussinessCode(BankDO bankDO) {
String businessCode = bankDO.getBusinessCode();
if (StringUtils.isEmpty(businessCode)) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
businessCode = sdf.format(new Date()) + bankDO.getId();
}
return businessCode;
}
}

16
src/main/java/com/win/bank/service/bocom/BocomServiceImpl.java

@ -4,6 +4,7 @@ import java.io.StringReader;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.annotation.Resource;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
@ -19,6 +20,7 @@ import org.xml.sax.InputSource;
import com.win.bank.domain.BankDO;
import com.win.bank.enums.PaymentStatusEnum;
import com.win.bank.service.BaseBankService;
import com.win.bank.service.bank.BankService;
import com.win.bank.utils.HttpUtil;
import com.win.bank.utils.XmlUtil;
@ -40,10 +42,15 @@ public class BocomServiceImpl implements BaseBankService {
private static final String SUCCESS_CODE = "0000";
private static final Logger logger = LoggerFactory.getLogger(BocomServiceImpl.class);
@Resource
private BankService bankService;
@Override
public BankDO payment(BankDO bankDO) {
String trCode = "210201";
String head = generateHeadMessage(trCode, bankDO.getId().toString());
String bussinessCode = bankService.getBussinessCode(bankDO);
bankDO.setBusinessCode(bussinessCode);
String head = generateHeadMessage(trCode, bussinessCode);
StringBuilder body = new StringBuilder();
body.append("<body>");
@ -57,7 +64,7 @@ public class BocomServiceImpl implements BaseBankService {
}
body.append("<cur_code>CNY</cur_code>");
body.append("<amt>").append(bankDO.getAmount()).append("</amt>");
body.append("<cert_no>").append(bankDO.getId()).append("</cert_no>");
body.append("<cert_no>").append(bussinessCode).append("</cert_no>");
if (StringUtils.isNotEmpty(bankDO.getPurpose())) {
body.append("<summary>").append(bankDO.getPurpose()).append("</summary>");
}
@ -100,11 +107,12 @@ public class BocomServiceImpl implements BaseBankService {
@Override
public BankDO queryPaymentResult(BankDO bankDO) {
String trCode = "310204";
String head = generateHeadMessage(trCode, bankDO.getId().toString());
String bussinessCode = bankService.getBussinessCode(bankDO);
String head = generateHeadMessage(trCode, bussinessCode);
StringBuilder body = new StringBuilder();
body.append("<body>");
body.append("<query_flag>1</query_flag>");
body.append("<ogl_serial_no>").append(bankDO.getId()).append("</ogl_serial_no>");
body.append("<ogl_serial_no>").append(bussinessCode).append("</ogl_serial_no>");
body.append("</body>");
String message = "<ap>" + head + body + "</ap>";
logger.debug("发给交通银行的数据:" + XmlUtil.formatXML(message));

12
src/main/java/com/win/bank/service/cmb/CmbServiceImpl.java

@ -8,6 +8,8 @@ import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import javax.annotation.Resource;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -20,6 +22,7 @@ import com.google.gson.JsonObject;
import com.win.bank.domain.BankDO;
import com.win.bank.enums.PaymentStatusEnum;
import com.win.bank.service.BaseBankService;
import com.win.bank.service.bank.BankService;
import com.win.bank.utils.HttpUtil;
import com.win.bank.utils.JsonUtil;
@ -45,6 +48,9 @@ public class CmbServiceImpl implements BaseBankService {
private static final String SUCCESS_CODE = "SUC0000";
private static final Logger logger = LoggerFactory.getLogger(CmbServiceImpl.class);
@Resource
private BankService bankService;
@Override
public BankDO payment(BankDO bankDO) {
String funCode = "BB1PAYOP";
@ -63,7 +69,9 @@ public class CmbServiceImpl implements BaseBankService {
bnkFlg = "N";
}
info.addProperty("bnkFlg", bnkFlg);
info.addProperty("yurRef", bankDO.getId().toString());
String businessCode = bankService.getBussinessCode(bankDO);
bankDO.setBusinessCode(businessCode);
info.addProperty("yurRef", businessCode);
bb1payopx1.add(info);
requestJson.getAsJsonObject("request").getAsJsonObject("body").add("bb1payopx1", bb1payopx1);
logger.debug("发送给招商银行的数据:" + JsonUtil.formatJson(requestJson.toString()));
@ -95,7 +103,7 @@ public class CmbServiceImpl implements BaseBankService {
@Override
public BankDO queryPaymentResult(BankDO bankDO) {
String funCode = "BB1PAYQR";
String yurRef = bankDO.getId().toString();
String yurRef = bankDO.getBusinessCode();
String data = "{\"request\":{\"body\":{\"bb1payqrx1\":[{\"busCod\":\"N02030\",\"yurRef\":\"" + yurRef + "\"}]},\"head\":{\"funcode\":\"" + funCode + "\",\"userid\":\"" + uid + "\"}}}";
logger.debug("发送给招商银行的数据" + JsonUtil.formatJson(data));
String response;

Loading…
Cancel
Save