扫码盒子支付,入库调整

master_pay
王绍全 3 weeks ago
parent 78ea51fc7e
commit 851dac15c5
  1. 1
      src/main/java/com/ynxbd/ali/helper/AliHelper.java
  2. 7
      src/main/java/com/ynxbd/common/action/PayMedRecordAction.java
  3. 14
      src/main/java/com/ynxbd/common/action/pay/PayAction.java
  4. 6
      src/main/java/com/ynxbd/common/dao/RegisterDao.java
  5. 10
      src/main/java/com/ynxbd/common/service/PEISService.java
  6. 3
      src/main/java/com/ynxbd/common/service/PayMedRecordService.java
  7. 1
      src/main/java/com/ynxbd/common/service/PayService.java
  8. 1
      src/main/java/com/ynxbd/wx/wxfactory/WxPayHelper.java

@ -296,6 +296,7 @@ public class AliHelper {
order.setOpenid(response.buyerUserId);
order.setBankTransNo(response.tradeNo);
order.setOutTradeNo(response.outTradeNo);
order.setBizTradeNo(response.outTradeNo);
} catch (Exception e) {
log.info("【支付宝】[盒子支付]异常 {}", e.getMessage());
order.setErrorMsg("网络异常或当前不支持支付宝");

@ -1,5 +1,6 @@
package com.ynxbd.common.action;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONObject;
import com.ynxbd.common.action.base.BaseAction;
import com.ynxbd.common.bean.enums.MerchantEnum;
@ -148,7 +149,7 @@ public class PayMedRecordAction extends BaseAction {
try {
log.info("[病历复印]新增预约信息 openId={}, payOpenId={}, patientId={}, treatNum={}, applyName={}, useToNo={}, useToName={}, getWay={}, address={}, phone={}",
openId, payOpenId, patientId, zyNum, applyName, useToNo, useToName, getWay, address, phone);
if (ObjectUtils.isEmpty(openId) || ObjectUtils.isEmpty(patientId)) {
if (StrUtil.hasBlank(openId, patientId)) {
return Result.error(ResultEnum.PARAM_IS_DEFECT);
}
@ -200,7 +201,9 @@ public class PayMedRecordAction extends BaseAction {
}
MerchantEnum merchantEnum = MerchantEnum.WX;
if (ObjectUtils.isEmpty(payOpenId)) {
payOpenId = openId;
}
String bizTradeNo = merchantEnum.createBizTradeNo();
PayMedRecord order = new PayMedRecord();
order.setOutTradeNo(bizTradeNo);

@ -784,7 +784,6 @@ public class PayAction extends BaseAction {
}
@Action("createBizTradeNo")
public Result createBizTradeNo(String payCode) {
log.info("[生成订单号] payCode={}", payCode);
@ -910,15 +909,15 @@ public class PayAction extends BaseAction {
/**
* @param payCode 支付方式
* @param openid openid
* @param openId openid
* @param patientId 患者id
* @param treatNum 体检号
* @param totalFee 总金额
* @param noticeOrderNo 体检订单号
*/
@Action("createPEISOrder")
public Result createPEISOrder(String payCode, String payOpenId, String openid, String patientId, String treatNum, String totalFee, String noticeOrderNo) {
log.info("[体检预约]下单 payCode={}, openid={}, patientId={}, treatNum={}, totalFee={}, noticeOrderNo={}", payCode, openid, patientId, treatNum, totalFee, noticeOrderNo);
public Result createPEISOrder(String payCode, String payOpenId, String openId, String patientId, String treatNum, String totalFee, String noticeOrderNo) {
log.info("[体检预约]下单 payCode={}, openid={}, patientId={}, treatNum={}, totalFee={}, noticeOrderNo={}", payCode, openId, patientId, treatNum, totalFee, noticeOrderNo);
MerchantEnum merchantEnum = MerchantEnum.findEnumByCode(payCode);
if (merchantEnum == null) { // 支付方式异常
return Result.error(ResultEnum.PAY_TYPE_ERROR);
@ -928,9 +927,10 @@ public class PayAction extends BaseAction {
return Result.error(ResultEnum.SYSTEM_CONFIG_ERROR);
}
if (openid == null || patientId == null || treatNum == null || totalFee == null || noticeOrderNo == null) {
if (StrUtil.hasBlank(openId, patientId, treatNum, totalFee, noticeOrderNo)) {
return Result.error(ResultEnum.PARAM_IS_DEFECT);
}
if (new BigDecimal(totalFee).compareTo(BigDecimal.ZERO) == 0) {
return Result.error(ResultEnum.PAY_MONEY_IS_ZERO);
}
@ -944,12 +944,12 @@ public class PayAction extends BaseAction {
String bizTradeNo = merchantEnum.createBizTradeNo();
String ip = request.getRemoteAddr();
String body = "体检预约 患者:" + patientId + "\n体检号:" + treatNum + "\n订单号:" + noticeOrderNo;
JSONObject respJson = PayService.createOrder(merchantEnum, PEnum.PEIS_RESERVE, payOpenId, openid, patientId, totalFee, bizTradeNo, ip, body);
JSONObject respJson = PayService.createOrder(merchantEnum, PEnum.PEIS_RESERVE, payOpenId, openId, patientId, totalFee, bizTradeNo, ip, body);
if (respJson == null) {
return Result.error(ResultEnum.PAY_ERROR);
}
if (!peisService.savePEISOrder(merchantEnum, payOpenId, openid, patientId, treatNum, totalFee, noticeOrderNo, new ApiPrepayResp(respJson))) {
if (!peisService.savePEISOrder(merchantEnum, payOpenId, openId, patientId, treatNum, totalFee, noticeOrderNo, new ApiPrepayResp(respJson))) {
log.info("{} [体检预约]订单信息保存失败 patientId={}, noticeOrderNo={}", merchantEnum.NAME, patientId, noticeOrderNo);
return Result.error(ResultEnum.SPECIFIED_QUESTIONED_USER_NOT_EXIST);
}

@ -291,8 +291,8 @@ public class RegisterDao {
if (reg.getPayMoney() == null) {
reg.setPayMoney(reg.getTotalFee());
}
String sql = "insert into register(updateTime, hisStatus, payStatus, openid, patientId, idCardNo, outTradeNo, bankTransNo, tradeNo, regFee, clinicFee, totalFee, payMoney, address, deptCode, deptName, doctCode, doctName, payDeviceId, clinicCode, regType, regDate, regCode, tid, tName, begTime, endTime, treatNum, queueNum, sourceId, tel, payWay, authCode, invoiceTransNo, hisTransNo, operateUser, hospitalArea, subDeptCode, payMchCode, payOpenId)"
+ " values (now(),?,?,?,?,?,?,?,?,?,?, ?,?,?,?,?,?,?,?,?,?, ?,?,?,?,?,?,?,?,?,?, ?,?,?,?,?,?,?,?,?)";
String sql = "insert into register(updateTime, hisStatus, payStatus, openid, patientId, idCardNo, outTradeNo, bankTransNo, tradeNo, regFee, clinicFee, totalFee, payMoney, address, deptCode, deptName, doctCode, doctName, payDeviceId, clinicCode, regType, regDate, regCode, tid, tName, begTime, endTime, treatNum, queueNum, sourceId, tel, payWay, authCode, invoiceTransNo, hisTransNo, operateUser, hospitalArea, subDeptCode, payMchCode, payOpenId, bizTradeNo, mixTradeNo)"
+ " values (now(),?,?,?,?,?,?,?,?,?,?, ?,?,?,?,?,?,?,?,?,?, ?,?,?,?,?,?,?,?,?,?, ?,?,?,?,?,?,?,?,?,?,?)";
return DataBase.insert(sql, ps -> {
ps.setInt(1, reg.getHisStatus());
ps.setInt(2, reg.getPayStatus());
@ -340,6 +340,8 @@ public class RegisterDao {
ps.setString(37, reg.getSubDeptCode());
ps.setString(38, reg.getPayMchCode());
ps.setString(39, reg.getPayOpenId());
ps.setString(40, reg.getBizTradeNo());
ps.setString(41, reg.getMixTradeNo());
}) > 0;
}

@ -58,14 +58,14 @@ public class PEISService {
/**
* 订单信息记录
*
* @param openid openid
* @param openId openid
* @param patientId 患者id
* @param treatNum 体检号
* @param totalFee 金额
* @param noticeOrderNo 体检订单号
* @return bool
*/
public boolean savePEISOrder(MerchantEnum merchantEnum, String payOpenId, String openid, String patientId, String treatNum, String totalFee, String noticeOrderNo, ApiPrepayResp prepayResp) {
public boolean savePEISOrder(MerchantEnum merchantEnum, String payOpenId, String openId, String patientId, String treatNum, String totalFee, String noticeOrderNo, ApiPrepayResp prepayResp) {
String outTradeNo = prepayResp.findOutTradeNo();
String bizTradeNo = prepayResp.findBizTradeNo();
String mixTradeNo = prepayResp.findMixTradeNo();
@ -74,10 +74,14 @@ public class PEISService {
return false;
}
if (ObjectUtils.isEmpty(payOpenId)) {
payOpenId = openId;
}
PEISReserve order = new PEISReserve();
order.setPayMchCode(merchantEnum.CODE);
order.setPayOpenId(payOpenId);
order.setOpenid(openid);
order.setOpenid(openId);
order.setPatientId(patientId);
order.setTreatNum(treatNum);
order.setOutTradeNo(outTradeNo);

@ -100,9 +100,6 @@ public class PayMedRecordService {
* @return bool
*/
public boolean saveData(PayMedRecord order) {
// if (order == null || PayMedRecord.isEmpty(order.getApplyId()) || ObjectUtils.isEmpty(order.getPayStatus())) {
// return false;
// }
return new PayMedRecordDao().insert(order);
}

@ -397,6 +397,7 @@ public class PayService {
return order;
}
order.setBizTradeNo(outTradeNo);
order.setOutTradeNo(outTradeNo);
order.setAuthCode(authCode);
order.setTotalFee(totalFee);

@ -709,6 +709,7 @@ public class WxPayHelper {
MerchantEnum mchEnum = MerchantEnum.findEnumByOutTradeNo(outTradeNo);
Order order = new Order();
order.setOutTradeNo(outTradeNo);
order.setBizTradeNo(outTradeNo);
try {
MchOrderquery mchOrderquery = new MchOrderquery();
String appId = mchEnum.APP_ID;

Loading…
Cancel
Save