|
@ -1,8 +1,11 @@
|
|
|
package com.yihu.wlyy.web.wx;
|
|
|
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
|
import com.yihu.wlyy.entity.charge.WlyyCharge;
|
|
|
import com.yihu.wlyy.entity.organization.HospitalMapping;
|
|
|
import com.yihu.wlyy.repository.charge.ChargeDao;
|
|
|
import com.yihu.wlyy.repository.organization.HospitalMappingDao;
|
|
|
import com.yihu.wlyy.repository.patient.PatientDao;
|
|
|
import com.yihu.wlyy.repository.patient.SignFamilyDao;
|
|
|
import com.yihu.wlyy.service.third.httplog.LogService;
|
|
@ -19,6 +22,7 @@ import com.ylzinfo.onepay.sdk.utils.StringUtil;
|
|
|
import io.swagger.annotations.Api;
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
import io.swagger.annotations.ApiParam;
|
|
|
import org.apache.commons.lang3.BooleanUtils;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.json.JSONObject;
|
|
|
import org.slf4j.Logger;
|
|
@ -66,6 +70,10 @@ public class OnePayController extends WeixinBaseController {
|
|
|
LogService logService;
|
|
|
@Autowired
|
|
|
private Configure config;
|
|
|
@Autowired
|
|
|
private HospitalMappingDao mappingDao;
|
|
|
@Autowired
|
|
|
ObjectMapper objectMapper;
|
|
|
|
|
|
|
|
|
@RequestMapping(value = "createSicard", method = RequestMethod.POST)
|
|
@ -76,7 +84,8 @@ public class OnePayController extends WeixinBaseController {
|
|
|
String sicardUrl = pay.createSicard("0cc6e4562de2437ab2dbbf51a9fc3b49", "oULM4xAj9sOsHJ95ttKYd_Fjh6Hc");//getUID(), getOpenid());
|
|
|
return write(200, "生成电子社保卡成功!", "data", sicardUrl);
|
|
|
} catch (Exception e) {
|
|
|
return error(-1, e.getMessage());
|
|
|
error(e);
|
|
|
return write(-1, "生成电子社保卡失败!");
|
|
|
}
|
|
|
}
|
|
|
|
|
@ -85,14 +94,11 @@ public class OnePayController extends WeixinBaseController {
|
|
|
@ResponseBody
|
|
|
public String bindCard() throws Exception {
|
|
|
try {
|
|
|
// String patient = getUID();
|
|
|
// String openid = getOpenid();
|
|
|
// 逸祥
|
|
|
// String patient = "0cc6e4562de2437ab2dbbf51a9fc3b49";
|
|
|
// String openid = "oULM4xAj9sOsHJ95ttKYd_Fjh6Hc";
|
|
|
String patient = getUID();
|
|
|
String openid = getOpenid();
|
|
|
// 在鑫
|
|
|
String patient = "0cc6e4562de2437ab2dbbf51a9fc3b49";
|
|
|
String openid = "o7NFZw7FlRW-Hlp0VjM71FR_1otw";
|
|
|
// String patient = "0cc6e4562de2437ab2dbbf51a9fc3b49";
|
|
|
// String openid = "o7NFZw7FlRW-Hlp0VjM71FR_1otw";
|
|
|
BindCard bindCard = pay.bindCard(patient, openid);//getUID(), getOpenid()); oULM4xAj9sOsHJ95ttKYd_Fjh6Hc
|
|
|
String sicardUrl = pay.createSicard(patient, openid);//getUID(), getOpenid());
|
|
|
if (bindCard != null) {
|
|
@ -108,7 +114,8 @@ public class OnePayController extends WeixinBaseController {
|
|
|
return write(200, "生成电子社保卡成功!", "data", json);
|
|
|
}
|
|
|
} catch (Exception e) {
|
|
|
return error(-1, e.getMessage());
|
|
|
error(e);
|
|
|
return write(-1, "查询电子社保卡失败!");
|
|
|
}
|
|
|
}
|
|
|
|
|
@ -122,25 +129,25 @@ public class OnePayController extends WeixinBaseController {
|
|
|
@RequestParam String chargeType,
|
|
|
@ApiParam(name = "chargeRelation", value = "支付关联代码签约code", defaultValue = "044701ea-5b23-11e6-8344-fa163e8aee56")
|
|
|
@RequestParam String chargeRelation,
|
|
|
@ApiParam(name = "totalAmount", value = "交易总金额(分)", defaultValue = "12000")
|
|
|
@ApiParam(name = "totalAmount", value = "交易总金额(分)", defaultValue = "9000")
|
|
|
@RequestParam String totalAmount) throws Exception {
|
|
|
try {
|
|
|
// 获取居民个人信息
|
|
|
// String patient = getUID();
|
|
|
// String openId = getOpenid();
|
|
|
// String patient = "0cc6e4562de2437ab2dbbf51a9fc3b49";
|
|
|
// String openId = "oULM4xAj9sOsHJ95ttKYd_Fjh6Hc";
|
|
|
totalAmount = "9000";
|
|
|
String patient = getUID();
|
|
|
String openId = getOpenid();
|
|
|
// 在鑫
|
|
|
String patient = "0cc6e4562de2437ab2dbbf51a9fc3b49";
|
|
|
String openId = "o7NFZw7FlRW-Hlp0VjM71FR_1otw";
|
|
|
// String patient = "0cc6e4562de2437ab2dbbf51a9fc3b49";
|
|
|
// String openId = "o7NFZw7FlRW-Hlp0VjM71FR_1otw";
|
|
|
if (StringUtils.isNotEmpty(openId)) {
|
|
|
String settleNo = pay.charge(orgCode, chargeType, chargeRelation, totalAmount, patient, openId,getAccessToken()); //ohNH9sh4uwuJCxIwcLJtGTX-BaSk getUID(),getOpenid()
|
|
|
String settleNo = pay.charge(orgCode, chargeType, chargeRelation, totalAmount, patient, openId, getAccessToken()); //ohNH9sh4uwuJCxIwcLJtGTX-BaSk getUID(),getOpenid()
|
|
|
return write(200, "家庭医生签约支付成功!", "data", settleNo);
|
|
|
} else {
|
|
|
return write(-1, "openId为空!");
|
|
|
}
|
|
|
} catch (Exception e) {
|
|
|
return error(-1, e.getMessage());
|
|
|
error(e);
|
|
|
return write(-1, "家庭医生签约支付失败!");
|
|
|
}
|
|
|
}
|
|
|
|
|
@ -151,10 +158,12 @@ public class OnePayController extends WeixinBaseController {
|
|
|
public String chargeQuery(@ApiParam(name = "code", value = "接入应用业务流水号", defaultValue = "")
|
|
|
@RequestParam String code) throws Exception {
|
|
|
try {
|
|
|
Charge charge = pay.chargeQuery(code,getAccessToken());
|
|
|
String result = pay.chargeQuery(code, getAccessToken());
|
|
|
Charge charge = objectMapper.readValue(result, Charge.class);
|
|
|
return write(200, "家庭医生签约支付查询成功!", "data", charge);
|
|
|
} catch (Exception e) {
|
|
|
return error(-1, e.getMessage());
|
|
|
error(e);
|
|
|
return write(-1, "家庭医生签约支付查询失败!");
|
|
|
}
|
|
|
}
|
|
|
|
|
@ -167,10 +176,11 @@ public class OnePayController extends WeixinBaseController {
|
|
|
@ApiParam(name = "chargeRelation", value = "支付关联代码", defaultValue = "044701ea5b2311e68344fa163e8aee56")
|
|
|
@RequestParam String chargeRelation) throws Exception {
|
|
|
try {
|
|
|
List<WlyyCharge> charge = pay.chargeList(chargeType, chargeRelation,getAccessToken());
|
|
|
List<WlyyCharge> charge = pay.chargeList(chargeType, chargeRelation, getAccessToken());
|
|
|
return write(200, "获取某次签约的支付记录成功!", "data", charge);
|
|
|
} catch (Exception e) {
|
|
|
return error(-1, e.getMessage());
|
|
|
error(e);
|
|
|
return write(-1, "获取某次签约的支付记录失败!");
|
|
|
}
|
|
|
}
|
|
|
|
|
@ -185,10 +195,11 @@ public class OnePayController extends WeixinBaseController {
|
|
|
@ApiParam(name = "size", value = "每页几行", defaultValue = "10")
|
|
|
@RequestParam Integer size) throws Exception {
|
|
|
try {
|
|
|
List<WlyyCharge> charge = pay.chargeListByPatient(patient,getAccessToken(), page, size);
|
|
|
List<WlyyCharge> charge = pay.chargeListByPatient(patient, getAccessToken(), page, size);
|
|
|
return write(200, "获取患者的支付记录成功!", "data", charge);
|
|
|
} catch (Exception e) {
|
|
|
return error(-1, e.getMessage());
|
|
|
error(e);
|
|
|
return write(-1, "获取患者的支付记录失败!");
|
|
|
}
|
|
|
}
|
|
|
|
|
@ -243,56 +254,87 @@ public class OnePayController extends WeixinBaseController {
|
|
|
|
|
|
/**
|
|
|
* 页面回调更新数据
|
|
|
*
|
|
|
* @param request
|
|
|
* @param response
|
|
|
* @throws IOException
|
|
|
* @throws PayException
|
|
|
*/
|
|
|
@RequestMapping(value = "/returnUrl", method = RequestMethod.GET)
|
|
|
@ApiOperation("商户页面跳转")
|
|
|
public String testReturnUrl(@RequestParam String jsonData) throws IOException, PayException {
|
|
|
@RequestMapping(value = "/returnUrl")
|
|
|
public void returnUrl(HttpServletRequest request, HttpServletResponse response) throws IOException, PayException {
|
|
|
Boolean isSuccess = false;
|
|
|
String error = "";
|
|
|
String responses = "";
|
|
|
response.setContentType("text/html;charset=utf-8");
|
|
|
|
|
|
try {
|
|
|
JSONObject json = new JSONObject(jsonData);
|
|
|
|
|
|
JSONObject requestParam = json.getJSONObject("param");//业务出参
|
|
|
|
|
|
String chargeNo = requestParam.getString("chargeNo"); //支付平台流水号
|
|
|
String chargeTime = requestParam.getString("chargeTime");//支付平台交易成功时间
|
|
|
String outChargeNo = requestParam.getString("outChargeNo");//接入应用业务流水号
|
|
|
String outChargeTime = requestParam.getString("outChargeTime");//接入应用时间
|
|
|
String channel = requestParam.getString("channel");//支付方式
|
|
|
String billNo = requestParam.getString("billNo");//待结算费用单据号
|
|
|
String cardNo = requestParam.getString("cardNo");//医保卡号
|
|
|
String totalAmount = requestParam.getString("totalAmount");//交易总金额
|
|
|
String insuranceAmount = requestParam.getString("insuranceAmount");//医保支付金额
|
|
|
String selfPayAmount = requestParam.getString("selfPayAmount");//自付金额
|
|
|
String userId = requestParam.getString("userId");//用户openID
|
|
|
String userName = requestParam.getString("userName");//用户名字
|
|
|
String idType = requestParam.getString("idType");//证件类型
|
|
|
String idNo = requestParam.getString("idNo");//证件号码
|
|
|
String tradeStatus = requestParam.getString("tradeStatus");//交易状态
|
|
|
|
|
|
JSONObject responseContents = json.getJSONObject("responseContent");//医保结构体
|
|
|
|
|
|
String miRegisterNo = responseContents.getString("miRegisterNo");//医保签约号
|
|
|
String miCollectDate = responseContents.getString("miCollectDate");//扣费日期
|
|
|
String miCollectTime = responseContents.getString("miCollectTime");//扣费时间
|
|
|
String miSettleNo = responseContents.getString("miSettleNo");//扣费单据号
|
|
|
String miCollectStatus = responseContents.getString("miCollectStatus");//扣费状态
|
|
|
String miRegisterStatus = responseContents.getString("miRegisterStatus");//登记状态
|
|
|
String cadresPay = responseContents.getString("cadresPay");//政府补贴支付
|
|
|
String miTotalFee = responseContents.getString("miTotalFee");//扣费总额
|
|
|
String healthCarePay = responseContents.getString("healthCarePay");//医保统筹支付
|
|
|
// responseContents.getString("healthPay");
|
|
|
String heathPay = responseContents.getString("heathPay");//健康账户支付
|
|
|
String accountPay = responseContents.getString("accountPay");//医保账户支付
|
|
|
String selfPay = responseContents.getString("selfPay");//个人现金支付
|
|
|
// 如:查询显示订单信息
|
|
|
isSuccess = true;
|
|
|
|
|
|
String appId = request.getParameter("appId");
|
|
|
String billNo = request.getParameter("billNo");//待结算费用单据号
|
|
|
String cardNo = request.getParameter("cardNo");//医保卡号
|
|
|
String channel = request.getParameter("channel");//支付方式
|
|
|
String chargeNo = request.getParameter("chargeNo");//支付平台流水号
|
|
|
String chargeTime = request.getParameter("chargeTime");//支付平台交易成功时间
|
|
|
String idNo = request.getParameter("idNo");//证件号码
|
|
|
String idType = request.getParameter("idType");//证件类型
|
|
|
String insuranceAmount = request.getParameter("insuranceAmount");//医保支付金额
|
|
|
String outChargeNo = request.getParameter("outChargeNo");//接入应用业务流水号
|
|
|
String outChargeTime = request.getParameter("outChargeTime");//接入应用时间
|
|
|
String selfPayAmount = request.getParameter("selfPayAmount");//自付金额
|
|
|
String sign = request.getParameter("sign");
|
|
|
String signType = request.getParameter("signType");
|
|
|
String timestamp = request.getParameter("timestamp");
|
|
|
String totalAmount = request.getParameter("totalAmount");//交易总金额
|
|
|
String tradeStatus = request.getParameter("tradeStatus");//交易状态
|
|
|
String userId = request.getParameter("userId");//用户openID
|
|
|
String userName = request.getParameter("userName");//用户名字
|
|
|
|
|
|
String result = pay.chargeQuery(outChargeNo, getAccessToken());//业务出参
|
|
|
JSONObject param = new JSONObject(result);
|
|
|
String requestParam = param.getString("responseContent");
|
|
|
JSONObject responseContents = new JSONObject(requestParam);//医保结构体
|
|
|
|
|
|
String miRegisterNo = "";
|
|
|
String miCollectDate = "";
|
|
|
String miCollectTime = "";
|
|
|
String miSettleNo = "";
|
|
|
String miCollectStatus = "";
|
|
|
String miRegisterStatus = "";
|
|
|
String cadresPay = "";
|
|
|
String miTotalFee = "";
|
|
|
String healthCarePay = "";
|
|
|
String heathPay = "";
|
|
|
String accountPay = "";
|
|
|
String selfPay = "";
|
|
|
if (responseContents != null) {
|
|
|
miRegisterNo = responseContents.getString("miRegisterNo");//医保签约号
|
|
|
miCollectDate = responseContents.getString("miCollectDate");//扣费日期
|
|
|
miCollectTime = responseContents.getString("miCollectTime");//扣费时间
|
|
|
miSettleNo = responseContents.getString("miSettleNo");//扣费单据号
|
|
|
miCollectStatus = responseContents.getString("miCollectStatus");//扣费状态
|
|
|
miRegisterStatus = responseContents.getString("miRegisterStatus");//登记状态
|
|
|
cadresPay = responseContents.getString("cadresPay");//政府补贴支付
|
|
|
miTotalFee = responseContents.getString("miTotalFee");//扣费总额
|
|
|
healthCarePay = responseContents.getString("healthCarePay");//医保统筹支付
|
|
|
heathPay = responseContents.getString("heathPay");//健康账户支付
|
|
|
accountPay = responseContents.getString("accountPay");//医保账户支付
|
|
|
selfPay = responseContents.getString("selfPay");//个人现金支付
|
|
|
}
|
|
|
|
|
|
// 判断是否需要更新数据 needUpload为0不需要更新
|
|
|
WlyyCharge charge = chargeDao.getUploadStatus(outChargeNo);
|
|
|
if (charge!=null&&!("0".equals(charge.getNeedUpload()))){
|
|
|
pay.updateData(outChargeNo, chargeNo,chargeTime,totalAmount,insuranceAmount,selfPayAmount,billNo,miRegisterNo);
|
|
|
if (charge != null && !("0".equals(charge.getNeedUpload()))) {
|
|
|
pay.updateData(outChargeNo, chargeNo, chargeTime, totalAmount, insuranceAmount, selfPayAmount, billNo, miRegisterNo);
|
|
|
}
|
|
|
return write(200, "请求成功!");
|
|
|
|
|
|
} catch (Exception e) {
|
|
|
return error(-1, e.getMessage());
|
|
|
isSuccess = false;
|
|
|
response.getWriter().write(e.getMessage());
|
|
|
}
|
|
|
// 记录log日志到数据库
|
|
|
logService.saveHttpLog(isSuccess, config.getReturnUrl(), "支付页面跳转", "POST", null, "", responses, error, logService.onepayType);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@ -303,17 +345,21 @@ public class OnePayController extends WeixinBaseController {
|
|
|
* @throws IOException
|
|
|
* @throws PayException
|
|
|
*/
|
|
|
@RequestMapping(value = "/receiveNotify", method = RequestMethod.POST)
|
|
|
@ApiOperation("异步回调数据更改")
|
|
|
@RequestMapping(value = "/receiveNotify")
|
|
|
public void receiveNotify(HttpServletRequest request, HttpServletResponse response) throws IOException, PayException {
|
|
|
Boolean isSuccess = false;
|
|
|
String error= "";
|
|
|
String error = "";
|
|
|
String responses = "";
|
|
|
response.setContentType("text/html;charset=utf-8");
|
|
|
String appId = "1BHEOI11C00J7B2CA8C0000071FA53E1";
|
|
|
String appSecret = "1BHEOH8HB0006E0A0A0A00002DB28BC5";
|
|
|
InputStream inputStream = request.getInputStream();
|
|
|
String params = StreamUtils.copyToString(inputStream, Charset.forName("UTF-8"));
|
|
|
|
|
|
JSONObject json = new JSONObject(params);
|
|
|
String appId = json.getString("appId");
|
|
|
HospitalMapping hospital = mappingDao.findByAppId(appId);
|
|
|
String appSecret = hospital.getAppSecret();
|
|
|
// String appSecret = json.getString("appId");
|
|
|
|
|
|
LOGGER.info("回调参数:{}", params);
|
|
|
if (StringUtil.isEmpty(params)) {
|
|
|
response.getWriter().write("empty");
|
|
@ -324,69 +370,75 @@ public class OnePayController extends WeixinBaseController {
|
|
|
OnepayDefaultClient client = new OnepayDefaultClient("", appId, appSecret, encryptRes.getSignType(), encryptRes.getEncryptType());
|
|
|
|
|
|
try {
|
|
|
// 已经封装的加解密及签名验证
|
|
|
RequestParams requestParams = JSON.parseObject(params, RequestParams.class);
|
|
|
ResponseParams<com.alibaba.fastjson.JSONObject> res = client.execute(requestParams);
|
|
|
responses = JSON.toJSONString(res);
|
|
|
if (OnepayDefaultClient.isSuccessful(res)) {
|
|
|
isSuccess = true;
|
|
|
|
|
|
String param = request.getParameter("param");//业务出参
|
|
|
JSONObject requestParam = new JSONObject(param);
|
|
|
|
|
|
String chargeNo = requestParam.getString("chargeNo"); //支付平台流水号
|
|
|
String chargeTime = requestParam.getString("chargeTime");//支付平台交易成功时间
|
|
|
String outChargeNo = requestParam.getString("outChargeNo");//接入应用业务流水号
|
|
|
String outChargeTime = requestParam.getString("outChargeTime");//接入应用时间
|
|
|
String channel = requestParam.getString("channel");//支付方式
|
|
|
String billNo = requestParam.getString("billNo");//待结算费用单据号
|
|
|
String cardNo = requestParam.getString("cardNo");//医保卡号
|
|
|
String totalAmount = requestParam.getString("totalAmount");//交易总金额
|
|
|
String insuranceAmount = requestParam.getString("insuranceAmount");//医保支付金额
|
|
|
String selfPayAmount = requestParam.getString("selfPayAmount");//自付金额
|
|
|
String userId = requestParam.getString("userId");//用户openID
|
|
|
String userName = requestParam.getString("userName");//用户名字
|
|
|
String idType = requestParam.getString("idType");//证件类型
|
|
|
String idNo = requestParam.getString("idNo");//证件号码
|
|
|
String tradeStatus = requestParam.getString("tradeStatus");//交易状态
|
|
|
|
|
|
String responseContent = request.getParameter("responseContent");//医保结构体
|
|
|
JSONObject responseContents = new JSONObject(responseContent);
|
|
|
|
|
|
String miRegisterNo = responseContents.getString("miRegisterNo");//医保签约号
|
|
|
String miCollectDate = responseContents.getString("miCollectDate");//扣费日期
|
|
|
String miCollectTime = responseContents.getString("miCollectTime");//扣费时间
|
|
|
String miSettleNo = responseContents.getString("miSettleNo");//扣费单据号
|
|
|
String miCollectStatus = responseContents.getString("miCollectStatus");//扣费状态
|
|
|
String miRegisterStatus = responseContents.getString("miRegisterStatus");//登记状态
|
|
|
String cadresPay = responseContents.getString("cadresPay");//政府补贴支付
|
|
|
String miTotalFee = responseContents.getString("miTotalFee");//扣费总额
|
|
|
String healthCarePay = responseContents.getString("healthCarePay");//医保统筹支付
|
|
|
LOGGER.info("解密前:{}", JSON.toJSONString(encryptRes));
|
|
|
ResponseParams<?> decryptRes = client.decryptNotifyResponse(encryptRes);
|
|
|
LOGGER.info("解密后:{}", JSON.toJSONString(decryptRes));
|
|
|
boolean isDecrypt = ("-1".equals(decryptRes.getRespCode()) ? false : true); // 是否解密失败
|
|
|
if (!isDecrypt) {
|
|
|
response.getWriter().write("DECRYPT FAILURE");
|
|
|
} else {
|
|
|
boolean isVerify = client.verifyResponseSign(decryptRes);
|
|
|
LOGGER.info("验签结果:{}", isVerify);
|
|
|
if (!isVerify) {
|
|
|
response.getWriter().write("FAILURE");
|
|
|
} else {
|
|
|
// 业务逻辑代码
|
|
|
isSuccess = true;
|
|
|
responses = JSON.toJSONString(decryptRes);
|
|
|
JSONObject requestParams = new JSONObject(responses);
|
|
|
|
|
|
JSONObject requestParam = requestParams.getJSONObject("param");//业务出参
|
|
|
|
|
|
String chargeNo = requestParam.getString("chargeNo"); //支付平台流水号
|
|
|
String chargeTime = requestParam.getString("chargeTime");//支付平台交易成功时间
|
|
|
String outChargeNo = requestParam.getString("outChargeNo");//接入应用业务流水号
|
|
|
String outChargeTime = requestParam.getString("outChargeTime");//接入应用时间
|
|
|
String channel = requestParam.getString("channel");//支付方式
|
|
|
String billNo = requestParam.getString("billNo");//待结算费用单据号
|
|
|
String cardNo = requestParam.getString("cardNo");//医保卡号
|
|
|
String totalAmount = requestParam.getString("totalAmount");//交易总金额
|
|
|
String insuranceAmount = requestParam.getString("insuranceAmount");//医保支付金额
|
|
|
String selfPayAmount = requestParam.getString("selfPayAmount");//自付金额
|
|
|
String userId = requestParam.getString("userId");//用户openID
|
|
|
String userName = requestParam.getString("userName");//用户名字
|
|
|
String idType = requestParam.getString("idType");//证件类型
|
|
|
String idNo = requestParam.getString("idNo");//证件号码
|
|
|
String tradeStatus = requestParam.getString("tradeStatus");//交易状态
|
|
|
|
|
|
String miRegisterNo = "";//医保签约号
|
|
|
if (requestParams.has("responseContent") && (requestParams.getJSONObject("responseContent") != null)) {
|
|
|
JSONObject responseContents = requestParams.getJSONObject("responseContent");//医保结构体
|
|
|
miRegisterNo = responseContents.getString("miRegisterNo");//医保签约号
|
|
|
String miCollectDate = responseContents.getString("miCollectDate");//扣费日期
|
|
|
String miCollectTime = responseContents.getString("miCollectTime");//扣费时间
|
|
|
String miSettleNo = responseContents.getString("miSettleNo");//扣费单据号
|
|
|
String miCollectStatus = responseContents.getString("miCollectStatus");//扣费状态
|
|
|
String miRegisterStatus = responseContents.getString("miRegisterStatus");//登记状态
|
|
|
String cadresPay = responseContents.getString("cadresPay");//政府补贴支付
|
|
|
String miTotalFee = responseContents.getString("miTotalFee");//扣费总额
|
|
|
String healthCarePay = responseContents.getString("healthCarePay");//医保统筹支付
|
|
|
// responseContents.getString("healthPay");
|
|
|
String heathPay = responseContents.getString("heathPay");//健康账户支付
|
|
|
String accountPay = responseContents.getString("accountPay");//医保账户支付
|
|
|
String selfPay = responseContents.getString("selfPay");//个人现金支付
|
|
|
String heathPay = responseContents.getString("heathPay");//健康账户支付
|
|
|
String accountPay = responseContents.getString("accountPay");//医保账户支付
|
|
|
String selfPay = responseContents.getString("selfPay");//个人现金支付
|
|
|
}
|
|
|
|
|
|
|
|
|
// 判断是否需要更新数据 needUpload为0不需要更新
|
|
|
WlyyCharge charge = chargeDao.getUploadStatus(outChargeNo);
|
|
|
if (charge!=null&&!("0".equals(charge.getNeedUpload()))){
|
|
|
pay.updateData(outChargeNo, chargeNo,chargeTime,totalAmount,insuranceAmount,selfPayAmount,billNo,miRegisterNo);
|
|
|
WlyyCharge charge = chargeDao.getUploadStatus(outChargeNo);
|
|
|
if (charge != null && !("0".equals(charge.getNeedUpload()))) {
|
|
|
pay.updateData(outChargeNo, chargeNo, chargeTime, totalAmount, insuranceAmount, selfPayAmount, billNo, miRegisterNo);
|
|
|
}
|
|
|
|
|
|
response.getWriter().write("SUCCESS");
|
|
|
}
|
|
|
}else {
|
|
|
isSuccess = false;
|
|
|
error = "请求失败,返回结果:" + res.getRespCode() + "," + res.getRespMsg();
|
|
|
}
|
|
|
} catch (Exception ex) {
|
|
|
isSuccess = false;
|
|
|
StringWriter sw = new StringWriter();
|
|
|
PrintWriter pw = new PrintWriter(sw);
|
|
|
ex.printStackTrace(pw);
|
|
|
error = sw.toString();
|
|
|
response.getWriter().write(ex.getMessage());
|
|
|
} catch (Exception e) {
|
|
|
response.getWriter().write(e.getMessage());
|
|
|
}
|
|
|
// 记录log日志到数据库
|
|
|
logService.saveHttpLog(isSuccess, config.getReceiveNotify(), "异步支付通知", "POST", null, params, responses, error, logService.onepayType);
|
|
|
|
|
|
logService.saveHttpLog(isSuccess, config.getReceiveNotify(), "异步支付通知", "POST", null, params, responses, error, logService.onepayType);
|
|
|
}
|
|
|
|
|
|
|
|
|
}
|