|  | @ -3,6 +3,7 @@ package com.yihu.jw.order;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | import com.alibaba.fastjson.JSONArray;
 | 
	
		
			
				|  |  | import com.alibaba.fastjson.JSONObject;
 | 
	
		
			
				|  |  | import com.yihu.jw.entity.base.im.ConsultDo;
 | 
	
		
			
				|  |  | import com.yihu.jw.entity.base.patient.BasePatientDO;
 | 
	
		
			
				|  |  | import com.yihu.jw.entity.base.wx.BasePatientWechatDo;
 | 
	
		
			
				|  |  | import com.yihu.jw.entity.base.wx.WxPayLogDO;
 | 
	
	
		
			
				|  | @ -16,6 +17,7 @@ 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.dao.ConsultDao;
 | 
	
		
			
				|  |  | import com.yihu.jw.order.pay.wx.WeChatConfig;
 | 
	
		
			
				|  |  | import com.yihu.jw.patient.dao.BasePatientDao;
 | 
	
		
			
				|  |  | 
 | 
	
	
		
			
				|  | @ -64,6 +66,9 @@ public class BusinessOrderService {
 | 
	
		
			
				|  |  |     private DoctorMappingDao doctorMappingDao;
 | 
	
		
			
				|  |  |     @Autowired
 | 
	
		
			
				|  |  |     private WlyyHospitalSysDictDao hospitalSysDictDao;
 | 
	
		
			
				|  |  |     @Autowired
 | 
	
		
			
				|  |  |     private ConsultDao consultDao;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
	
		
			
				|  | @ -77,6 +82,13 @@ public class BusinessOrderService {
 | 
	
		
			
				|  |  |         businessOrderDO.setStatus(0);
 | 
	
		
			
				|  |  |         businessOrderDO.setOrderNo("VAS"+businessOrderDO.getOrderType()+System.currentTimeMillis());
 | 
	
		
			
				|  |  |         businessOrderDO.setUploadStatus(0);
 | 
	
		
			
				|  |  |         if (businessOrderDO.getOrderCategory().equalsIgnoreCase("1")){
 | 
	
		
			
				|  |  |             businessOrderDO.setAppCallbackUrl("https://intel.yanketong.com/ims-app-web/#/onlineChat/zjzx");
 | 
	
		
			
				|  |  |             businessOrderDO.setPcCallbackUrl("https://intel.yanketong.com/ims-web/#/doctor/consult");
 | 
	
		
			
				|  |  |         }else {
 | 
	
		
			
				|  |  |             businessOrderDO.setAppCallbackUrl("https://intel.yanketong.com/ims-app-web/#/onlineChat/twzs");
 | 
	
		
			
				|  |  |             businessOrderDO.setPcCallbackUrl("https://intel.yanketong.com/ims-web/#/doctor/review");
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         businessOrderDO = businessOrderDao.save(businessOrderDO);
 | 
	
		
			
				|  |  |         String patient = businessOrderDO.getPatient();
 | 
	
		
			
				|  |  |         BasePatientDO basePatientDO = patientDao.findById(patient);
 | 
	
	
		
			
				|  | @ -433,6 +445,7 @@ public class BusinessOrderService {
 | 
	
		
			
				|  |  |     public Map<String,String> getWxPayResultNotify(String result) {
 | 
	
		
			
				|  |  |         Map<String,String> rs = new HashedMap();
 | 
	
		
			
				|  |  |         Map<String,Object> wxrs =  XMLUtil.xmltoMap(result);
 | 
	
		
			
				|  |  |         logger.info("回调参数");
 | 
	
		
			
				|  |  |         if("SUCCESS".equals(wxrs.get("return_code").toString())){
 | 
	
		
			
				|  |  |             // 我方 订单号+时间差
 | 
	
		
			
				|  |  |             String seqNo = wxrs.get("out_trade_no")+"";
 | 
	
	
		
			
				|  | @ -445,6 +458,13 @@ public class BusinessOrderService {
 | 
	
		
			
				|  |  |             BusinessOrderDO businessOrderDO = businessOrderDao.selectByOrderNo(seqNo);
 | 
	
		
			
				|  |  |             businessOrderDO.setPayTime(DateUtil.strToDate(timeEnd,DateUtil.YYYY_MM_DD_HH_MM_SS));
 | 
	
		
			
				|  |  |             businessOrderDO.setStatus(1);
 | 
	
		
			
				|  |  |             if (businessOrderDO!=null){
 | 
	
		
			
				|  |  |                 if (businessOrderDO.getOrderCategory().equalsIgnoreCase("1")){
 | 
	
		
			
				|  |  |                     ConsultDo consultDo = consultDao.findOne(businessOrderDO.getRelationCode());
 | 
	
		
			
				|  |  |                     consultDo.setPayStatus(1);
 | 
	
		
			
				|  |  |                     consultDao.save(consultDo);
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             ykyyService.updateYktOrderStatus(businessOrderDO.getOrderNo(),businessOrderDO.getStatus().toString());
 | 
	
		
			
				|  |  |             //操作微信日志表记录
 | 
	
		
			
				|  |  |             List<WxPayLogDO> wxPayLogDOs = wxPayLogDao.findBySeqNo(seqNo);
 | 
	
	
		
			
				|  | @ -480,7 +500,16 @@ public class BusinessOrderService {
 | 
	
		
			
				|  |  |         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);
 | 
	
		
			
				|  |  |         String doctorResponse = ykyyService.getYktDoctor(doctorMappingDO.getMappingCode());
 | 
	
		
			
				|  |  |         String yktDoctor ="";
 | 
	
		
			
				|  |  |         JSONObject jsonObject = JSONObject.parseObject(doctorResponse);
 | 
	
		
			
				|  |  |         if (jsonObject.getInteger("code")==200){
 | 
	
		
			
				|  |  |             JSONArray array = jsonObject.getJSONArray("data");
 | 
	
		
			
				|  |  |             if (array!=null&&array.size()!=0){
 | 
	
		
			
				|  |  |                 yktDoctor=array.getJSONObject(0).getString("DOCTORUSERID");
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         String response = ykyyService.addYktOrder(orderNo,patientId,orderAmout,description,state,orderType,yktDoctor,payType,null,patientTel,orderCatagrate,pcCallBack,appCallBack);
 | 
	
		
			
				|  |  |         return response;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 |