|
@ -46,6 +46,8 @@ public class YlzService {
|
|
|
private String springProfiles;
|
|
|
@Autowired
|
|
|
private YlzMedicalRechargeDao ylzMedicalRechargeDao;
|
|
|
@Autowired
|
|
|
MedOrderService medOrderService;
|
|
|
|
|
|
private final String entranceUrl="http://10.90.32.3:22174/cityihealth/base/";
|
|
|
|
|
@ -100,6 +102,8 @@ public class YlzService {
|
|
|
YlzMedicalRecharge ylzMedicalRecharge = new YlzMedicalRecharge();
|
|
|
ylzMedicalRecharge.setOutChargeNo(uuid);
|
|
|
ylzMedicalRecharge.setValue(chargeSettle);
|
|
|
ylzMedicalRecharge.setOrgCode(orgCode);
|
|
|
ylzMedicalRecharge.setEquNum(equ_num);
|
|
|
ylzMedicalRechargeDao.save(ylzMedicalRecharge);
|
|
|
}
|
|
|
|
|
@ -308,10 +312,50 @@ public class YlzService {
|
|
|
wlyyHttpLogDO.setStatus("1");
|
|
|
wlyyHttpLogDO.setCreateTime(new Date());
|
|
|
httpLogDao.save(wlyyHttpLogDO);
|
|
|
//todo 查询预缴金充值结果 如果为succ后 查出该笔订单关联的订单 去调用his确认结算接口
|
|
|
//当返回交易状态为exp(交易异常时, 建议间隔30秒重新查询,查询10次等知道交易状态为明确的succ或者fail或者notfound等其他明确交易状态)
|
|
|
String outChargeNo = null;
|
|
|
JSONObject responseObj = JSONObject.parseObject(response);
|
|
|
JSONObject paramObj = responseObj.getJSONObject("param");
|
|
|
outChargeNo = paramObj.getString("outChargeNo");
|
|
|
|
|
|
YlzMedicalRecharge ylzMedicalRecharge = ylzMedicalRechargeDao.findByOutChargeNo(outChargeNo);
|
|
|
if (null!=ylzMedicalRecharge){ //该笔订单与待结算订单有关联
|
|
|
//todo 查询预缴金充值结果 如果为succ后 查出该笔订单关联的订单 去调用his确认结算接口
|
|
|
int i=0;
|
|
|
do{
|
|
|
Map<String,String> param = new HashMap<>();
|
|
|
param.put("orgCode",ylzMedicalRecharge.getOrgCode());
|
|
|
param.put("equ_num",ylzMedicalRecharge.getEquNum());
|
|
|
param.put("tradeType","hop.trade.recharge");
|
|
|
param.put("outTradeNo",outChargeNo);
|
|
|
JSONObject res = wlyyHttpService.sendWlyyMes("hlwyyQueryDetail", null,param);
|
|
|
if (res.getString("status").equalsIgnoreCase("200")) {//i健康返回值
|
|
|
JSONObject responseData = res.getJSONObject("data");
|
|
|
JSONObject queryDetailParam = responseData.getJSONObject("param");
|
|
|
String result = queryDetailParam.getString("result");
|
|
|
if ("exp".equals(result)){
|
|
|
|
|
|
}else {
|
|
|
ylzMedicalRecharge.setChargeResult(result);
|
|
|
ylzMedicalRechargeDao.save(ylzMedicalRecharge);
|
|
|
if ("succ".equals(result)){//交易成功 (微信/支付宝成功,HIS成功)
|
|
|
String recipeNoStr = ylzMedicalRecharge.getValue();
|
|
|
String[] recipeNos = recipeNoStr.split(",");
|
|
|
try {
|
|
|
for (String recipeNo:recipeNos){
|
|
|
medOrderService.executeSickSettleMultiNew(recipeNo);
|
|
|
}
|
|
|
}catch (Exception e){
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
}
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
i++;
|
|
|
System.out.printf("循环"+i);
|
|
|
Thread.sleep(30000);
|
|
|
}while (i<10);
|
|
|
}
|
|
|
logger.info("回调参数:{}", response);
|
|
|
}
|
|
|
|