|
|
@ -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)); |
|
|
|