|
@ -6,8 +6,11 @@ import com.yihu.jw.entity.base.servicePackage.ServicePackageSignRecordDO;
|
|
|
import com.yihu.jw.entity.base.wx.BasePatientWechatDo;
|
|
|
import com.yihu.jw.entity.base.wx.WxPayLogDO;
|
|
|
import com.yihu.jw.entity.base.wx.WxWechatDO;
|
|
|
import com.yihu.jw.entity.hospital.mapping.DoctorMappingDO;
|
|
|
import com.yihu.jw.entity.order.BusinessOrderDO;
|
|
|
import com.yihu.jw.entity.order.BusinessOrderRefundDO;
|
|
|
import com.yihu.jw.hospital.mapping.dao.DoctorMappingDao;
|
|
|
import com.yihu.jw.hospital.ykyy.service.YkyyService;
|
|
|
import com.yihu.jw.order.dao.BusinessOrderDao;
|
|
|
import com.yihu.jw.order.dao.BusinessOrderRefundDao;
|
|
|
import com.yihu.jw.order.pay.wx.WeChatConfig;
|
|
@ -54,14 +57,38 @@ public class BusinessOrderService {
|
|
|
private BasePatientDao patientDao;
|
|
|
@Autowired
|
|
|
private BusinessOrderRefundDao orderRefundDao;
|
|
|
@Autowired
|
|
|
private YkyyService ykyyService;
|
|
|
@Autowired
|
|
|
private DoctorMappingDao doctorMappingDao;
|
|
|
|
|
|
|
|
|
/**
|
|
|
* @param businessOrderDO
|
|
|
* @return
|
|
|
* @throws Exception
|
|
|
*/
|
|
|
public BusinessOrderDO saveOrder(BusinessOrderDO businessOrderDO) throws Exception {
|
|
|
businessOrderDO.setStatus(0);
|
|
|
businessOrderDO.setCreateTime(new Date());
|
|
|
businessOrderDO.setUpdateTime(new Date());
|
|
|
businessOrderDO.setOrderNo(getGuid());
|
|
|
businessOrderDO.setStatus(0);
|
|
|
businessOrderDO.setOrderNo("VAS"+businessOrderDO.getOrderType()+System.currentTimeMillis());
|
|
|
businessOrderDO = businessOrderDao.save(businessOrderDO);
|
|
|
String patient = businessOrderDO.getPatient();
|
|
|
BasePatientDO basePatientDO = patientDao.findById(patient);
|
|
|
String orderNo = businessOrderDO.getOrderNo();
|
|
|
String patientId = basePatientDO.getUserId();
|
|
|
String orderAmout = businessOrderDO.getPayPrice().toString();
|
|
|
String description = businessOrderDO.getDescription();
|
|
|
String state = businessOrderDO.getStatus().toString();
|
|
|
String orderType =businessOrderDO.getOrderType().toString();
|
|
|
String payType="2";
|
|
|
String patientTel = basePatientDO.getMobile();
|
|
|
DoctorMappingDO doctorMappingDO = doctorMappingDao.findByDoctor(businessOrderDO.getDoctor());
|
|
|
String orderCatagrate = businessOrderDO.getOrderCategory();
|
|
|
String pcCallBack=businessOrderDO.getPcCallbackUrl();
|
|
|
String appCallBack = businessOrderDO.getAppCallbackUrl();
|
|
|
ykyyService.addYktOrder(orderNo,patientId,orderAmout,description,state,orderType,doctorMappingDO.getMappingCode(),payType,null,patientTel,orderCatagrate,pcCallBack,appCallBack);
|
|
|
return businessOrderDO;
|
|
|
}
|
|
|
|
|
@ -76,7 +103,7 @@ public class BusinessOrderService {
|
|
|
businessOrderDO.setStatus(0);
|
|
|
businessOrderDO.setCreateTime(new Date());
|
|
|
businessOrderDO.setUpdateTime(new Date());
|
|
|
businessOrderDO.setOrderNo(getGuid());
|
|
|
businessOrderDO.setOrderNo("VAS"+businessOrderDO.getOrderType()+System.currentTimeMillis());
|
|
|
businessOrderDO = businessOrderDao.save(businessOrderDO);
|
|
|
List<BasePatientWechatDo> patientWechatDos = patientWechatDao.findByWechatIdAndPatientId(wechatId,businessOrderDO.getPatient());
|
|
|
String openId = "";
|
|
@ -89,7 +116,23 @@ public class BusinessOrderService {
|
|
|
}
|
|
|
String url = wxWechatDO.getBaseUrl();
|
|
|
String notifyUrl =url+"/ykyy"+BaseHospitalRequestMapping.WxPay.Notify;
|
|
|
return unifiedorder(wechatId,businessOrderDO.getDescription(),businessOrderDO.getPayPrice().toString(),WeChatConfig.TRADE_TYPE_JSAPI,openId,businessOrderDO.getOrderNo(),notifyUrl);
|
|
|
Map<String,Object> map = unifiedorder(wechatId,businessOrderDO.getDescription(),businessOrderDO.getPayPrice().toString(),WeChatConfig.TRADE_TYPE_JSAPI,openId,businessOrderDO.getOrderNo(),notifyUrl);
|
|
|
String patient = businessOrderDO.getPatient();
|
|
|
BasePatientDO basePatientDO = patientDao.findById(patient);
|
|
|
String orderNo = businessOrderDO.getOrderNo();
|
|
|
String patientId = basePatientDO.getUserId();
|
|
|
String orderAmout = businessOrderDO.getPayPrice().toString();
|
|
|
String description = businessOrderDO.getDescription();
|
|
|
String state = businessOrderDO.getStatus().toString();
|
|
|
String orderType =businessOrderDO.getOrderType().toString();
|
|
|
String payType="2";
|
|
|
String patientTel = basePatientDO.getMobile();
|
|
|
DoctorMappingDO doctorMappingDO = doctorMappingDao.findByDoctor(businessOrderDO.getDoctor());
|
|
|
String orderCatagrate = businessOrderDO.getOrderCategory();
|
|
|
String pcCallBack=businessOrderDO.getPcCallbackUrl();
|
|
|
String appCallBack = businessOrderDO.getAppCallbackUrl();
|
|
|
ykyyService.addYktOrder(orderNo,patientId,orderAmout,description,state,orderType,doctorMappingDO.getMappingCode(),payType,null,patientTel,orderCatagrate,pcCallBack,appCallBack);
|
|
|
return map;
|
|
|
}
|
|
|
|
|
|
/**
|
|
@ -218,7 +261,7 @@ public class BusinessOrderService {
|
|
|
orderRefundDO.setRefundPrice(refundPrice);
|
|
|
orderRefundDO.setAppId(wxWechatDO.getAppId());
|
|
|
orderRefundDO.setMchId(wxWechatDO.getMchId());
|
|
|
orderRefundDO.setOutRefundNo(getGuid());
|
|
|
orderRefundDO.setOutRefundNo("VAS"+businessOrderDO.getOrderType()+System.currentTimeMillis());
|
|
|
orderRefundDO.setPatient(patient);
|
|
|
orderRefundDO.setPatientName(patientDO.getName());
|
|
|
orderRefundDO.setRefundDesc(description);
|
|
@ -339,6 +382,7 @@ public class BusinessOrderService {
|
|
|
BusinessOrderDO businessOrderDO = businessOrderDao.selectByOrderNo(seqNo);
|
|
|
businessOrderDO.setPayTime(DateUtil.strToDate(timeEnd,DateUtil.YYYY_MM_DD_HH_MM_SS));
|
|
|
businessOrderDO.setStatus(1);
|
|
|
ykyyService.updateYktOrderStatus(businessOrderDO.getOrderNo(),businessOrderDO.getStatus().toString());
|
|
|
//操作微信日志表记录
|
|
|
List<WxPayLogDO> wxPayLogDOs = wxPayLogDao.findBySeqNo(seqNo);
|
|
|
WxPayLogDO wxPayLogDO = wxPayLogDOs.get(0);
|
|
@ -356,4 +400,31 @@ public class BusinessOrderService {
|
|
|
return rs;
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public String sendDataToYkt(String orderNo){
|
|
|
BusinessOrderDO businessOrderDO = businessOrderDao.selectByOrderNo(orderNo);
|
|
|
String patient = businessOrderDO.getPatient();
|
|
|
BasePatientDO basePatientDO = patientDao.findById(patient);
|
|
|
String patientId = basePatientDO.getUserId();
|
|
|
String orderAmout = businessOrderDO.getPayPrice().toString();
|
|
|
String description = businessOrderDO.getDescription();
|
|
|
String state = businessOrderDO.getStatus().toString();
|
|
|
String orderType =businessOrderDO.getOrderType().toString();
|
|
|
String payType="2";
|
|
|
String patientTel = basePatientDO.getMobile();
|
|
|
DoctorMappingDO doctorMappingDO = doctorMappingDao.findByDoctor(businessOrderDO.getDoctor());
|
|
|
String orderCatagrate = businessOrderDO.getOrderCategory();
|
|
|
String pcCallBack=businessOrderDO.getPcCallbackUrl();
|
|
|
String appCallBack = businessOrderDO.getAppCallbackUrl();
|
|
|
String response = ykyyService.addYktOrder(orderNo,patientId,orderAmout,description,state,orderType,doctorMappingDO.getMappingCode(),payType,null,patientTel,orderCatagrate,pcCallBack,appCallBack);
|
|
|
return response;
|
|
|
}
|
|
|
|
|
|
public String updateStatusToYk(String orderNo){
|
|
|
BusinessOrderDO businessOrderDO = businessOrderDao.selectByOrderNo(orderNo);
|
|
|
String response = ykyyService.updateYktOrderStatus(orderNo,businessOrderDO.getStatus().toString());
|
|
|
return response;
|
|
|
}
|
|
|
|
|
|
}
|