|
@ -12613,7 +12613,11 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
|
|
|
baseNatAppointmentDO.setPatientId(patientId);
|
|
|
baseNatAppointmentDO.setIsSuccess("0");
|
|
|
baseNatAppointmentDO.setCardNoType(cardNoType);
|
|
|
baseNatAppointmentDO.setPayStatus("0");
|
|
|
if(itemPrice.equalsIgnoreCase("0")){
|
|
|
baseNatAppointmentDO.setPayStatus("1");
|
|
|
}else {
|
|
|
baseNatAppointmentDO.setPayStatus("0");
|
|
|
}
|
|
|
baseNatAppointmentDO.setCreateTime(new Date());
|
|
|
baseNatAppointmentDO.setMobile(mobile);
|
|
|
baseNatAppointmentDO.setInspectionCode(chargeCode);
|
|
@ -12631,61 +12635,84 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
|
|
|
baseNatAppointmentDO.setAppointmentTime(DateUtil.strToDateLong(natTime));
|
|
|
baseNatAppointmentDO= baseNatAppointmentDao.save(baseNatAppointmentDO);
|
|
|
logger.info("BaseNatAppointmentDO保存结束"+baseNatAppointmentDO.getId());
|
|
|
//添加订单
|
|
|
BusinessOrderDO businessDO = new BusinessOrderDO();
|
|
|
businessDO.setPatient(consumer);
|
|
|
businessDO.setPatientName(basePatientDO.getName());
|
|
|
businessDO.setOrderNo("HLWYY"+System.currentTimeMillis()+(int)(Math.random()*900)+100);
|
|
|
businessDO.setCreateTime(new Date());
|
|
|
businessDO.setStatus(0);
|
|
|
businessDO.setRelationCode(baseNatAppointmentDO.getId()+"");
|
|
|
businessDO.setRelationName("核酸检测订单");
|
|
|
businessDO.setOrderCategory("6");
|
|
|
businessDO.setOrderType(12);
|
|
|
businessDO.setPayPrice(natFee);
|
|
|
businessDO.setRematk("核酸检测订单");
|
|
|
businessDO.setDescription("核酸检测订单");
|
|
|
businessDO.setPayType(1);
|
|
|
businessDO.setUpdateTime(new Date());
|
|
|
businessDO=businessOrderDao.save(businessDO);
|
|
|
String openId="";
|
|
|
List<BasePatientWechatDo> basePatientWechatDo = basePatientWechatDao.findByWechatIdAndPatientId(wechatId,consumer);
|
|
|
if (basePatientWechatDo!=null&&basePatientWechatDo.size()>0){
|
|
|
openId=basePatientWechatDo.get(0).getOpenid();
|
|
|
}
|
|
|
//亿同支付创建订单
|
|
|
com.alibaba.fastjson.JSONObject orderObj= new com.alibaba.fastjson.JSONObject();
|
|
|
orderObj.put("payType",1);
|
|
|
orderObj.put("tradeNo",businessDO.getOrderNo());
|
|
|
orderObj.put("openId",openId);
|
|
|
orderObj.put("name",name);
|
|
|
orderObj.put("idNo",cardNo.trim());
|
|
|
Map mapHis=tasyNatService.getPatientHisId(cardNo.trim(),mediaCard.trim());
|
|
|
orderObj.put("patientId",mapHis.get("Patientid").toString());
|
|
|
orderObj.put("mobile",mapHis.get("MobilePhone").toString());
|
|
|
//orderObj.put("socialCard","");
|
|
|
orderObj.put("icCard",mediaCard);
|
|
|
BigDecimal b = new BigDecimal(itemPrice);
|
|
|
b=b.setScale(2, BigDecimal.ROUND_DOWN);
|
|
|
System.out.println("amount"+b);
|
|
|
orderObj.put("amount",b);
|
|
|
String orderRes=tasyNatService.placeOrder(orderObj);
|
|
|
if (StringUtils.isNoneBlank(orderRes)){
|
|
|
com.alibaba.fastjson.JSONObject jsonObject= JSON.parseObject(orderRes);
|
|
|
if (jsonObject!=null){
|
|
|
if("0".equalsIgnoreCase(jsonObject.getString("code"))){
|
|
|
com.alibaba.fastjson.JSONObject dataObj= com.alibaba.fastjson.JSONObject.parseObject(jsonObject.getString("data"));
|
|
|
businessDO.setTraceNo(dataObj.getString("orderNo"));
|
|
|
businessDO.setRematk(dataObj.toJSONString());
|
|
|
businessDO=businessOrderDao.save(businessDO);
|
|
|
if(!itemPrice.equalsIgnoreCase("0")){
|
|
|
//添加订单
|
|
|
BusinessOrderDO businessDO = new BusinessOrderDO();
|
|
|
businessDO.setPatient(consumer);
|
|
|
businessDO.setPatientName(basePatientDO.getName());
|
|
|
businessDO.setOrderNo("HLWYY"+System.currentTimeMillis()+(int)(Math.random()*900)+100);
|
|
|
businessDO.setCreateTime(new Date());
|
|
|
businessDO.setStatus(0);
|
|
|
businessDO.setRelationCode(baseNatAppointmentDO.getId()+"");
|
|
|
businessDO.setRelationName("核酸检测订单");
|
|
|
businessDO.setOrderCategory("6");
|
|
|
businessDO.setOrderType(12);
|
|
|
businessDO.setPayPrice(natFee);
|
|
|
businessDO.setRematk("核酸检测订单");
|
|
|
businessDO.setDescription("核酸检测订单");
|
|
|
businessDO.setPayType(1);
|
|
|
businessDO.setUpdateTime(new Date());
|
|
|
businessDO=businessOrderDao.save(businessDO);
|
|
|
String openId="";
|
|
|
List<BasePatientWechatDo> basePatientWechatDo = basePatientWechatDao.findByWechatIdAndPatientId(wechatId,consumer);
|
|
|
if (basePatientWechatDo!=null&&basePatientWechatDo.size()>0){
|
|
|
openId=basePatientWechatDo.get(0).getOpenid();
|
|
|
}
|
|
|
//亿同支付创建订单
|
|
|
com.alibaba.fastjson.JSONObject orderObj= new com.alibaba.fastjson.JSONObject();
|
|
|
orderObj.put("payType",1);
|
|
|
orderObj.put("tradeNo",businessDO.getOrderNo());
|
|
|
orderObj.put("openId",openId);
|
|
|
orderObj.put("name",name);
|
|
|
orderObj.put("idNo",cardNo.trim());
|
|
|
Map mapHis=tasyNatService.getPatientHisId(cardNo.trim(),mediaCard.trim());
|
|
|
orderObj.put("patientId",mapHis.get("Patientid").toString());
|
|
|
orderObj.put("mobile",mapHis.get("MobilePhone").toString());
|
|
|
//orderObj.put("socialCard","");
|
|
|
orderObj.put("icCard",mediaCard);
|
|
|
BigDecimal b = new BigDecimal(itemPrice);
|
|
|
b=b.setScale(2, BigDecimal.ROUND_DOWN);
|
|
|
System.out.println("amount"+b);
|
|
|
orderObj.put("amount",b);
|
|
|
String orderRes=tasyNatService.placeOrder(orderObj);
|
|
|
if (StringUtils.isNoneBlank(orderRes)){
|
|
|
com.alibaba.fastjson.JSONObject jsonObject= JSON.parseObject(orderRes);
|
|
|
if (jsonObject!=null){
|
|
|
if("0".equalsIgnoreCase(jsonObject.getString("code"))){
|
|
|
com.alibaba.fastjson.JSONObject dataObj= com.alibaba.fastjson.JSONObject.parseObject(jsonObject.getString("data"));
|
|
|
businessDO.setTraceNo(dataObj.getString("orderNo"));
|
|
|
businessDO.setRematk(dataObj.toJSONString());
|
|
|
businessDO=businessOrderDao.save(businessDO);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
try {
|
|
|
tasyNatService.sendWxtemplateMessaeg(baseNatAppointmentDO.getConsumer(),baseNatAppointmentDO.getName(),"hszftx",baseNatAppointmentDO.getId().toString());
|
|
|
tasyNatService.sendWxtemplateMessaeg(baseNatAppointmentDO.getConsumer(),baseNatAppointmentDO.getName(),"hsyycg",baseNatAppointmentDO.getId().toString());
|
|
|
}catch (Exception e){
|
|
|
e.printStackTrace();
|
|
|
try {
|
|
|
tasyNatService.sendWxtemplateMessaeg(baseNatAppointmentDO.getConsumer(),baseNatAppointmentDO.getName(),"hszftx",baseNatAppointmentDO.getId().toString());
|
|
|
tasyNatService.sendWxtemplateMessaeg(baseNatAppointmentDO.getConsumer(),baseNatAppointmentDO.getName(),"hsyycg",baseNatAppointmentDO.getId().toString());
|
|
|
}catch (Exception e){
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
}else {
|
|
|
com.alibaba.fastjson.JSONObject chargeObj=new com.alibaba.fastjson.JSONObject();
|
|
|
chargeObj.put("hisTradeNo",baseNatAppointmentDO.getRealOrder());
|
|
|
chargeObj.put("icCardNo",baseNatAppointmentDO.getMedicare().trim());
|
|
|
chargeObj.put("patientName",baseNatAppointmentDO.getName());
|
|
|
//调用扣费接口
|
|
|
String feeRes=tasyNatService.ChargenucleicBill(chargeObj);
|
|
|
com.alibaba.fastjson.JSONObject feeObj = com.alibaba.fastjson.JSONObject.parseObject(feeRes);
|
|
|
if (feeObj!=null){
|
|
|
if ("1".equalsIgnoreCase(feeObj.getString("ReturnCode"))){
|
|
|
com.alibaba.fastjson.JSONObject ApplyInfoObj = JSON.parseObject(feeObj.getString("ApplyInfo"));
|
|
|
if (ApplyInfoObj!=null){
|
|
|
String voucherNo = ApplyInfoObj.getString("ApplyNo");
|
|
|
if(org.apache.commons.lang3.StringUtils.isNoneBlank(voucherNo)){
|
|
|
System.out.println("ApplyNo:"+voucherNo);
|
|
|
baseNatAppointmentDO.setVoucherNo(voucherNo);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
tasyNatService.sendWxtemplateMessaeg(baseNatAppointmentDO.getConsumer(),baseNatAppointmentDO.getName(),"hszfcgtx",baseNatAppointmentDO.getId().toString());
|
|
|
}
|
|
|
logger.info("开单结束");
|
|
|
returnMap.put("msg","预约成功");
|