|  | @ -3,6 +3,7 @@ package com.yihu.jw.order;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | import com.alibaba.fastjson.JSONArray;
 | 
	
		
			
				|  |  | import com.alibaba.fastjson.JSONObject;
 | 
	
		
			
				|  |  | import com.alibaba.fastjson.JSONPObject;
 | 
	
		
			
				|  |  | import com.sun.org.apache.bcel.internal.generic.IF_ACMPEQ;
 | 
	
		
			
				|  |  | import com.yihu.jw.entity.IntegerIdentityEntity;
 | 
	
		
			
				|  |  | import com.yihu.jw.entity.base.im.ConsultDo;
 | 
	
	
		
			
				|  | @ -32,9 +33,11 @@ import com.yihu.jw.order.pay.ylz.YlzPayService;
 | 
	
		
			
				|  |  | import com.yihu.jw.patient.dao.BasePatientDao;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | import com.yihu.jw.util.common.BeanUtils;
 | 
	
		
			
				|  |  | import com.yihu.jw.util.common.QrcodeUtil;
 | 
	
		
			
				|  |  | import com.yihu.jw.util.common.XMLUtil;
 | 
	
		
			
				|  |  | import com.yihu.jw.util.date.DateUtil;
 | 
	
		
			
				|  |  | import com.yihu.jw.util.wechat.WeiXinPayUtils;
 | 
	
		
			
				|  |  | import com.yihu.jw.utils.ByteToInputStream;
 | 
	
		
			
				|  |  | import com.yihu.jw.wechat.dao.BasePatientWechatDao;
 | 
	
		
			
				|  |  | import com.yihu.jw.wechat.dao.WechatDao;
 | 
	
		
			
				|  |  | import com.yihu.jw.wechat.dao.WxPayLogDao;
 | 
	
	
		
			
				|  | @ -47,6 +50,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 | 
	
		
			
				|  |  | import org.springframework.stereotype.Service;
 | 
	
		
			
				|  |  | import org.springframework.transaction.annotation.Transactional;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | import java.io.InputStream;
 | 
	
		
			
				|  |  | import java.net.InetAddress;
 | 
	
		
			
				|  |  | import java.net.UnknownHostException;
 | 
	
		
			
				|  |  | import java.util.*;
 | 
	
	
		
			
				|  | @ -752,6 +756,23 @@ public class BusinessOrderService extends BaseJpaService {
 | 
	
		
			
				|  |  |             String notifyUrl = hospitalSysDictDO.getDictCode();
 | 
	
		
			
				|  |  |             response = ylzPayService.rechargeConsume("123456",businessOrderDO.getPatientName(),"01",ssc,"01",idcard,depositType,
 | 
	
		
			
				|  |  |                     price,price,businessOrderDO.getOrderNo(),idcard,"0",businessOrderDO.getPatientName(),businessOrderDO.getRematk(),openId,notifyUrl,notifyUrl,null);
 | 
	
		
			
				|  |  |             if (depositType.equalsIgnoreCase("WX_QR")){
 | 
	
		
			
				|  |  |                 JSONObject object = JSONObject.parseObject(response);
 | 
	
		
			
				|  |  |                 if (object!=null){
 | 
	
		
			
				|  |  |                     JSONObject jsonObject = object.getJSONObject("param");
 | 
	
		
			
				|  |  |                     if (object.getString("respCode").equalsIgnoreCase("000000")){
 | 
	
		
			
				|  |  |                         InputStream qrcode = QrcodeUtil.createQrcode(jsonObject.getString("qrcode"),300,"jpg");
 | 
	
		
			
				|  |  |                         ByteToInputStream byteToInputStream = new ByteToInputStream();
 | 
	
		
			
				|  |  |                         String QRCodeImg = byteToInputStream.getBase64FromInputStream(qrcode);
 | 
	
		
			
				|  |  |                         jsonObject.put("qrcodeUrl","data:image/png;base64,"+ QRCodeImg);
 | 
	
		
			
				|  |  |                         String traceNo = jsonObject.getString("traceNo");
 | 
	
		
			
				|  |  |                         businessOrderDO.setTraceNo(traceNo);
 | 
	
		
			
				|  |  |                         businessOrderDao.save(businessOrderDO);
 | 
	
		
			
				|  |  |                     }
 | 
	
		
			
				|  |  |                     response = object.toJSONString();
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }else {
 | 
	
		
			
				|  |  |             return "找不到订单!";
 | 
	
		
			
				|  |  |         }
 | 
	
	
		
			
				|  | @ -759,6 +780,13 @@ public class BusinessOrderService extends BaseJpaService {
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     public BusinessOrderDO selectStatus(String relationCode){
 | 
	
		
			
				|  |  |         BusinessOrderDO businessOrderDO = businessOrderDao.selectByRelationCode(relationCode);
 | 
	
		
			
				|  |  |         return businessOrderDO;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 易联众退款
 | 
	
		
			
				|  |  |      * @param wechatId
 | 
	
	
		
			
				|  | @ -824,4 +852,35 @@ public class BusinessOrderService extends BaseJpaService {
 | 
	
		
			
				|  |  |         JSONObject object = JSONObject.parseObject(response);
 | 
	
		
			
				|  |  |         return object;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      *
 | 
	
		
			
				|  |  |      * @param traceNo
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public BusinessOrderDO updatePayStatus(String traceNo) throws Exception {
 | 
	
		
			
				|  |  |         logger.info("入参:"+traceNo);
 | 
	
		
			
				|  |  |         BusinessOrderDO businessOrderDO = businessOrderDao.selectByTraceNo(traceNo);
 | 
	
		
			
				|  |  |         if (businessOrderDO==null){
 | 
	
		
			
				|  |  |             throw new Exception("查不到订单!");
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if (businessOrderDO.getOrderCategory().equalsIgnoreCase("1")){
 | 
	
		
			
				|  |  |            ConsultDo consultDo = consultOrderDao.findOne(businessOrderDO.getRelationCode());
 | 
	
		
			
				|  |  |            consultDo.setPayStatus(1);
 | 
	
		
			
				|  |  |            consultOrderDao.save(consultDo);
 | 
	
		
			
				|  |  |         }else if (businessOrderDO.getOrderCategory().equalsIgnoreCase("2")){
 | 
	
		
			
				|  |  |            WlyyOutpatientDO wlyyOutpatientDO = outpatientDao.findById(businessOrderDO.getRelationCode());
 | 
	
		
			
				|  |  |            wlyyOutpatientDO.setPayStatus(1);
 | 
	
		
			
				|  |  |            outpatientDao.save(wlyyOutpatientDO);
 | 
	
		
			
				|  |  |         } else if (businessOrderDO.getOrderCategory().equalsIgnoreCase("4")) {
 | 
	
		
			
				|  |  |            List<WlyyPrescriptionDO> wlyyPrescriptionDOS = prescriptionDao.findById(businessOrderDO.getRelationCode());
 | 
	
		
			
				|  |  |            if (wlyyPrescriptionDOS!=null&&wlyyPrescriptionDOS.size()!=0){
 | 
	
		
			
				|  |  |                WlyyPrescriptionDO wlyyPrescriptionDO = wlyyPrescriptionDOS.get(0);
 | 
	
		
			
				|  |  |                wlyyPrescriptionDO.setPayStatus(1);
 | 
	
		
			
				|  |  |                prescriptionDao.save(wlyyPrescriptionDO);
 | 
	
		
			
				|  |  |            }
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         return businessOrderDO;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | }
 |