Browse Source

Merge branch 'dev' of http://192.168.1.220:10080/Amoy/patient-co-management into dev-1.3.6.1

trick9191 7 years ago
parent
commit
9483d8b384
43 changed files with 573 additions and 250 deletions
  1. 108 0
      common/common-entity/src/main/java/com/yihu/wlyy/entity/zydict/ZyPushLog.java
  2. 1 1
      patient-co-service/wlyy_service/src/main/java/com/yihu/wlyy/service/controller/PrescriptionController.java
  3. 4 0
      patient-co-service/wlyy_service/src/main/java/com/yihu/wlyy/service/dao/zydict/ZyIvPhysicDictDao.java
  4. 1 1
      patient-co-service/wlyy_service/src/main/java/com/yihu/wlyy/service/service/ZysoftBaseService.java
  5. 116 105
      patient-co-service/wlyy_service/src/main/java/com/yihu/wlyy/service/service/prescription/PrescriptionService.java
  6. 1 1
      patient-co/patient-co-wlyy-job/src/main/java/com/yihu/wlyy/service/third/jw/JwPrescriptionService.java
  7. 3 0
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/interceptors/EncodingFilter.java
  8. 1 15
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/interceptors/GateWayInterceptor.java
  9. 5 1
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/repository/message/MessageDao.java
  10. 13 0
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/repository/zydict/ZyPushLogDao.java
  11. 4 4
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/consult/ConsultTeamService.java
  12. 89 10
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/prescription/PatientPrescriptionPayService.java
  13. 43 30
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/prescription/PrescriptionAdjustService.java
  14. 1 0
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/template/DoctorGuidanceTempService.java
  15. 2 2
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/third/jw/JwPrescriptionService.java
  16. 46 0
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/util/CodeFomat.java
  17. 1 1
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/common/device/DeviceController.java
  18. 1 2
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/device/DoctorDeviceController.java
  19. 11 1
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/patient/prescription/PatientPrescriptionPayController.java
  20. 3 8
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/gateway/controller/GcHospitalController.java
  21. 4 4
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/gateway/controller/GcLoginController.java
  22. 4 15
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/gateway/controller/GcTokenController.java
  23. 29 16
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/gateway/controller/doctor/GcDoctorController.java
  24. 3 3
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/gateway/controller/doctor/GcMessageController.java
  25. 1 1
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/gateway/controller/express/SFExpressApiController.java
  26. 16 13
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/gateway/controller/patient/GcPatientController.java
  27. 1 1
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/gateway/vo/DoctorModel.java
  28. 1 1
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/gateway/vo/GcTokenModel.java
  29. 1 1
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/gateway/vo/HospitalModel.java
  30. 1 2
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/gateway/vo/LoginModel.java
  31. 1 1
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/gateway/vo/PatientModel.java
  32. 1 1
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/gateway/vo/base/BaseResultModel.java
  33. 1 1
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/gateway/vo/base/ResultBatchModel.java
  34. 1 1
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/gateway/vo/base/ResultListModel.java
  35. 4 1
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/gateway/vo/base/ResultOneModel.java
  36. 1 1
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/gateway/vo/base/ResultPageListModel.java
  37. 14 0
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/third/jkzl/EduArticleController.java
  38. 1 1
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/third/BookingController.java
  39. 1 1
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/third/OpenApiArchiveController.java
  40. 1 1
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/third/OpenApiSignController.java
  41. 1 1
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/third/OpenApiSmjkController.java
  42. 1 1
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/third/ZyDictController.java
  43. 30 0
      patient-co/patient-co-wlyy/src/main/resources/logback.xml

+ 108 - 0
common/common-entity/src/main/java/com/yihu/wlyy/entity/zydict/ZyPushLog.java

@ -0,0 +1,108 @@
package com.yihu.wlyy.entity.zydict;
import com.yihu.wlyy.entity.IdEntity;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.util.Date;
/**
 *  保存智业推送日志
 * Created by yeshijie on 2017/8/5.
 */
@Entity
@Table(name = "wlyy_zy_push_log")
public class ZyPushLog extends IdEntity {
    private String type;//'接口类型 1(推送续方),2续方请求', 3续方支付
    private String content;//'业务内容',
    private String api;//'调用接口',
    private String method;//'调用方式',
    private String response;//'返回结果',
    private String request;//'请求数据',
    private String error;//'报错信息',
    private String status;//'状态 0失败 1成功 2已重试',
    private Integer retryTimes;//'重试次数',
    private Date createTime;// '创建时间',
    public String getType() {
        return type;
    }
    public void setType(String type) {
        this.type = type;
    }
    public String getContent() {
        return content;
    }
    public void setContent(String content) {
        this.content = content;
    }
    public String getApi() {
        return api;
    }
    public void setApi(String api) {
        this.api = api;
    }
    public String getMethod() {
        return method;
    }
    public void setMethod(String method) {
        this.method = method;
    }
    public String getResponse() {
        return response;
    }
    public void setResponse(String response) {
        this.response = response;
    }
    public String getRequest() {
        return request;
    }
    public void setRequest(String request) {
        this.request = request;
    }
    public String getError() {
        return error;
    }
    public void setError(String error) {
        this.error = error;
    }
    public String getStatus() {
        return status;
    }
    public void setStatus(String status) {
        this.status = status;
    }
    public Integer getRetryTimes() {
        return retryTimes;
    }
    public void setRetryTimes(Integer retryTimes) {
        this.retryTimes = retryTimes;
    }
    public Date getCreateTime() {
        return createTime;
    }
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
}

+ 1 - 1
patient-co-service/wlyy_service/src/main/java/com/yihu/wlyy/service/controller/PrescriptionController.java

@ -85,7 +85,7 @@ public class PrescriptionController extends BaseController{
	@RequestMapping(value = "readNewsOnline",method = RequestMethod.POST)
	@ApiOperation("提供在线问诊消息调阅")
	public String readNewsOnline(@ApiParam(name="data",value="json串",defaultValue = "{}")
	public String readNewsOnline(@ApiParam(name="data",value="json串",defaultValue = "{\"CODE\":1,\"RECIPE_NO\":\"0\",\"ORDER_NO\":\"DB0537136\"}")
								 @RequestParam(value = "data",required = true) String data){
		try {
			String url = prescriptionService.getReadNewsOnline(data);

+ 4 - 0
patient-co-service/wlyy_service/src/main/java/com/yihu/wlyy/service/dao/zydict/ZyIvPhysicDictDao.java

@ -2,10 +2,14 @@ package com.yihu.wlyy.service.dao.zydict;
import com.yihu.wlyy.service.entity.zydict.ZyIvPhysicDict;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
/**
 * Created by yeshijie on 2017/8/11.
 */
public interface ZyIvPhysicDictDao extends PagingAndSortingRepository<ZyIvPhysicDict, Long>, JpaSpecificationExecutor<ZyIvPhysicDict> {
    @Query("select p from ZyIvPhysicDict p where p.physicCode=?1")
    ZyIvPhysicDict findByPhysicCode(String physicCode);
}

+ 1 - 1
patient-co-service/wlyy_service/src/main/java/com/yihu/wlyy/service/service/ZysoftBaseService.java

@ -243,7 +243,7 @@ public class ZysoftBaseService {
            //保存http日志
//            logService.saveHttpLog(isSuccess,api,content,method,msgHeader,msgBody,re,error);
            logService.saveZyPushLog(api,content,null,"POST",msgHeader+","+msgBody,re,"0","2");
            logService.saveZyPushLog(api,content,error,"POST",msgHeader+","+msgBody,re,"0","2");
            if(ex instanceof ApiException)
            {

+ 116 - 105
patient-co-service/wlyy_service/src/main/java/com/yihu/wlyy/service/service/prescription/PrescriptionService.java

@ -11,6 +11,7 @@ import com.yihu.wlyy.service.common.util.DateUtil;
import com.yihu.wlyy.service.dao.*;
import com.yihu.wlyy.service.dao.consult.ConsultTeamDao;
import com.yihu.wlyy.service.dao.prescription.*;
import com.yihu.wlyy.service.dao.zydict.ZyIvPhysicDictDao;
import com.yihu.wlyy.service.entity.*;
import com.yihu.wlyy.service.entity.consult.ConsultTeam;
import com.yihu.wlyy.service.entity.prescription.*;
@ -75,6 +76,8 @@ public class PrescriptionService extends ZysoftBaseService{
    private ConsultTeamDao consultTeamDao;
    @Autowired
    private AmoutUtils amoutUtils;
    @Autowired
    private ZyIvPhysicDictDao zyIvPhysicDictDao;
    /**
     * 新增续方日志
@ -115,118 +118,126 @@ public class PrescriptionService extends ZysoftBaseService{
            JSONObject pre = json.getJSONObject("Data");
            String recipeNo = pre.getString("RECIPE_NO");
            Prescription prescription = prescriptionDao.findByRecipeNo(recipeNo);
            if(prescription.getStatus()==PrescriptionLog.PrescriptionLogStatus.changeing.getValue()||prescription.getStatus()==PrescriptionLog.PrescriptionLogStatus.change_error.getValue()){
                if(CODE==1){
                    prescription.setStatus(PrescriptionLog.PrescriptionLogStatus.change_success.getValue());
                    prescriptionDao.save(prescription);
                    //调整续方的药品信息
                    JSONArray prescription_detail = pre.getJSONArray("PRESCRIPTION_DETAIL");
                    List<PrescriptionInfo> infoList = new ArrayList<>();
                    for(int i =0;i<prescription_detail.size();i++){
                        JSONObject info = prescription_detail.getJSONObject(i);
                        PrescriptionInfo prescriptionInfo = new PrescriptionInfo();
                        prescriptionInfo.setRemark(info.getString("REMARK"));
                        prescriptionInfo.setBindFlag(info.getString("BIND_FLAG"));
                        prescriptionInfo.setDirection(info.getString("USAGE_NAME"));//药品用法
                        prescriptionInfo.setDrugCode(info.getString("ITEM_CODE"));//药品code
                        prescriptionInfo.setDrugName(info.getString("ITEM_NAME"));//药品名称
                        prescriptionInfo.setDrugRate(info.getString("FREQUENCY"));//吃药频率 FREQUENCY
                        prescriptionInfo.setDrugRateName(info.getString("FREQUENCY_NAME"));
                        String subjectClass = info.getString("SUBJECT_CLASS");
                        if(StringUtils.isBlank(subjectClass)){//处理默认药品的科目类型为空
                            StringBuffer sql = new StringBuffer("SELECT subject_class from zy_iv_physic_dict WHERE physic_code = ?");
                            List<Map<String,Object>> list = jdbcTemplate.queryForList(sql.toString(),info.getString("ITEM_CODE"));
                            if(list!=null&&list.size()>0){
                                Object subject_class = list.get(0).get("subject_class");
                                if(subject_class!=null){
                                    subjectClass = subject_class.toString();
            if(prescription==null){
                error = "没有找到对应的续方";
                errMsg = "没有找到对应的续方";
                status = "0";
            }else {
                if(prescription.getStatus()==PrescriptionLog.PrescriptionLogStatus.changeing.getValue()||prescription.getStatus()==PrescriptionLog.PrescriptionLogStatus.change_error.getValue()){
                    if(CODE==1){
                        prescription.setStatus(PrescriptionLog.PrescriptionLogStatus.change_success.getValue());
                        prescriptionDao.save(prescription);
                        //调整续方的药品信息
                        JSONArray prescription_detail = pre.getJSONArray("PRESCRIPTION_DETAIL");
                        List<PrescriptionInfo> infoList = new ArrayList<>();
                        for(int i =0;i<prescription_detail.size();i++){
                            JSONObject info = prescription_detail.getJSONObject(i);
                            PrescriptionInfo prescriptionInfo = new PrescriptionInfo();
                            prescriptionInfo.setCode(getCode());
                            prescriptionInfo.setRemark(info.getString("REMARK"));
                            prescriptionInfo.setBindFlag(info.getString("BIND_FLAG"));
                            prescriptionInfo.setDirection(info.getString("USAGE_NAME"));//药品用法
                            prescriptionInfo.setDrugCode(info.getString("ITEM_CODE"));//药品code
                            prescriptionInfo.setDrugName(info.getString("ITEM_NAME"));//药品名称
                            prescriptionInfo.setDrugRate(info.getString("FREQUENCY"));//吃药频率 FREQUENCY
                            prescriptionInfo.setDrugRateName(info.getString("FREQUENCY_NAME"));
                            String subjectClass = info.getString("SUBJECT_CLASS");
                            if(StringUtils.isBlank(subjectClass)){//处理默认药品的科目类型为空
                                StringBuffer sql = new StringBuffer("SELECT subject_class from zy_iv_physic_dict WHERE physic_code = ?");
                                List<Map<String,Object>> list = jdbcTemplate.queryForList(sql.toString(),info.getString("ITEM_CODE"));
                                if(list!=null&&list.size()>0){
                                    Object subject_class = list.get(0).get("subject_class");
                                    if(subject_class!=null){
                                        subjectClass = subject_class.toString();
                                    }
                                }
                            }
                        }
                        prescriptionInfo.setSubjectClass(subjectClass);//科目编码
                        //prescriptionInfo.setSubjectClass(info.getString("SUBJECT_CLASS"));//"科目类别编码",
                        prescriptionInfo.setDrugFormat(info.getString("ITEM_SPEC"));//药品规格
                        prescriptionInfo.setPrice(CommonUtil.doubleToInt(info.getDouble("ITEM_PRICE")));//药品单价
                        prescriptionInfo.setNum(info.getInteger("ITEM_QUANTITY"));//药品数目
                        prescriptionInfo.setJwSubCode(info.getString("SUB_NO"));//智业子处方号
                        prescriptionInfo.setDrugNumUnit(info.getString("ITEM_UNIT"));//数量单位编码
                        prescriptionInfo.setDrugNumUnitName(info.getString("ITEM_UNIT_NAME"));//数量单位名称
                        prescriptionInfo.setCost(CommonUtil.doubleToInt(info.getDouble("COST")));//金额
                        prescriptionInfo.setCharge(CommonUtil.doubleToInt(info.getDouble("CHARGE")));//自付
                        prescriptionInfo.setBindFlag(info.getString("BIND_FLAG"));//成组标志, 0.非成组,1.成组
                        prescriptionInfo.setDayCount(info.getInteger("DAY_COUNT"));//用药天数
                        prescriptionInfo.setDrugUsage(info.getString("USAGE"));//用药方法编码
                        prescriptionInfo.setUsageName(info.getString("USAGE_NAME"));//用药方法名称
                        prescriptionInfo.setPhysicDose(info.getString("PHYSIC_DOSE"));//用药剂量
                        prescriptionInfo.setPhysicDoseUnit(info.getString("PHYSIC_DOSE_UNIT"));//剂量单位编码
                        prescriptionInfo.setPhysicDoseUnitName(info.getString("PHYSIC_DOSE_UNIT_NAME"));//剂量单位名称
                        prescriptionInfo.setPhysicAmount(info.getString("PHYSIC_AMOUNT"));//用药总量
                        prescriptionInfo.setPhysicAmountUnit(info.getString("PHYSIC_AMOUNT_UNIT"));//总量单位编码
                        prescriptionInfo.setPhysicAmountUnitName(info.getString("PHYSIC_AMOUNT_UNIT_NAME"));//总量单位名称
                        prescriptionInfo.setPhysicInjectPlace(info.getString("PHYSIC_INJECT_PLACE"));//注射地点编码
                        prescriptionInfo.setPhysicInjectPlaceName(info.getString("PHYSIC_INJECT_PLACE_NAME"));//注射地点名称
                        prescriptionInfo.setPhysicSkinTest(info.getString("PHYSIC_SKIN_TEST"));//皮试类型名称
                        prescriptionInfo.setPhysicSkinTestName(info.getString("PHYSIC_SKIN_TEST_NAME"));//皮试类型名称
                        prescriptionInfo.setPrescriptionCode(prescription.getCode());
                        //设置是否冷藏
                        Integer isRefrigerate = 0;
                        StringBuffer sqlbuf = new StringBuffer("SELECT storage_conditions from zy_iv_physic_dict WHERE physic_code = '"+info.getString("ITEM_CODE")+"'");
                        List<Map<String,Object>> list = jdbcTemplate.queryForList(sqlbuf.toString());
                        if(list!=null&&list.size()>0){
                            Object storage_conditions = list.get(0).get("storage_conditions");
                            if(storage_conditions!=null){
                                String storageConditions = storage_conditions.toString();
                                isRefrigerate = "2".equals(storageConditions)?1:isRefrigerate;
                            prescriptionInfo.setSubjectClass(subjectClass);//科目编码
                            //prescriptionInfo.setSubjectClass(info.getString("SUBJECT_CLASS"));//"科目类别编码",
                            prescriptionInfo.setDrugFormat(info.getString("ITEM_SPEC"));//药品规格
                            prescriptionInfo.setPrice(CommonUtil.doubleToInt(info.getDouble("ITEM_PRICE")));//药品单价
                            prescriptionInfo.setNum(info.getInteger("ITEM_QUANTITY"));//药品数目
                            prescriptionInfo.setJwSubCode(info.getString("SUB_NO"));//智业子处方号
                            prescriptionInfo.setDrugNumUnit(info.getString("ITEM_UNIT"));//数量单位编码
                            prescriptionInfo.setDrugNumUnitName(info.getString("ITEM_UNIT_NAME"));//数量单位名称
                            prescriptionInfo.setCost(CommonUtil.doubleToInt(info.getDouble("COST")));//金额
                            prescriptionInfo.setCharge(CommonUtil.doubleToInt(info.getDouble("CHARGE")));//自付
                            prescriptionInfo.setBindFlag(info.getString("BIND_FLAG"));//成组标志, 0.非成组,1.成组
                            prescriptionInfo.setDayCount(info.getInteger("DAY_COUNT"));//用药天数
                            prescriptionInfo.setDrugUsage(info.getString("USAGE"));//用药方法编码
                            prescriptionInfo.setUsageName(info.getString("USAGE_NAME"));//用药方法名称
                            prescriptionInfo.setPhysicDose(info.getString("PHYSIC_DOSE"));//用药剂量
                            prescriptionInfo.setPhysicDoseUnit(info.getString("PHYSIC_DOSE_UNIT"));//剂量单位编码
                            prescriptionInfo.setPhysicDoseUnitName(info.getString("PHYSIC_DOSE_UNIT_NAME"));//剂量单位名称
                            prescriptionInfo.setPhysicAmount(info.getString("PHYSIC_AMOUNT"));//用药总量
                            prescriptionInfo.setPhysicAmountUnit(info.getString("PHYSIC_AMOUNT_UNIT"));//总量单位编码
                            prescriptionInfo.setPhysicAmountUnitName(info.getString("PHYSIC_AMOUNT_UNIT_NAME"));//总量单位名称
                            prescriptionInfo.setPhysicInjectPlace(info.getString("PHYSIC_INJECT_PLACE"));//注射地点编码
                            prescriptionInfo.setPhysicInjectPlaceName(info.getString("PHYSIC_INJECT_PLACE_NAME"));//注射地点名称
                            prescriptionInfo.setPhysicSkinTest(info.getString("PHYSIC_SKIN_TEST"));//皮试类型名称
                            prescriptionInfo.setPhysicSkinTestName(info.getString("PHYSIC_SKIN_TEST_NAME"));//皮试类型名称
                            prescriptionInfo.setPrescriptionCode(prescription.getCode());
                            prescriptionInfo.setDel(1);
                            //设置是否冷藏
                            Integer isRefrigerate = 0;
                            StringBuffer sqlbuf = new StringBuffer("SELECT storage_conditions from zy_iv_physic_dict WHERE physic_code = '"+info.getString("ITEM_CODE")+"'");
                            List<Map<String,Object>> list = jdbcTemplate.queryForList(sqlbuf.toString());
                            if(list!=null&&list.size()>0){
                                Object storage_conditions = list.get(0).get("storage_conditions");
                                if(storage_conditions!=null){
                                    String storageConditions = storage_conditions.toString();
                                    isRefrigerate = "2".equals(storageConditions)?1:isRefrigerate;
                                }
                            }
                        }
                        prescriptionInfo.setIsRefrigerate(isRefrigerate);
                            prescriptionInfo.setIsRefrigerate(isRefrigerate);
                        //用药频率
                        prescriptionInfo.setDrugRateName(getZyCommonDictName(info.getString("drugRate")));
                            //用药频率
                            prescriptionInfo.setDrugRateName(getZyCommonDictName(info.getString("drugRate")));
                            infoList.add(prescriptionInfo);
                        }
                        infoList.add(prescriptionInfo);
                        //删除所有药品
                        StringBuffer sql = new StringBuffer("UPDATE wlyy_prescription_info SET del = 0 WHERE prescription_code = '" + prescription.getCode() + "'");
                        jdbcTemplate.execute(sql.toString());
                        //保存新的药品
                        prescriptionInfoDao.save(infoList);
                        //发送系统消息
                        Message message = new Message();
                        message.setCzrq(new Date());
                        message.setCreateTime(new Date());
                        message.setContent("您有1个续方申请已在线下调整完成,请点击进行CA认证。");
                        message.setRead(1);//设置未读
                        message.setReceiver(prescription.getDoctor());//设置接受医生的code
                        message.setSender("系统");//设置发送的用户
                        message.setSenderName("system");
                        message.setCode(getCode());
                        message.setTitle("新增系统消息");
                        message.setType(9);
                        message.setReadonly(1);//是否只读消息
                        message.setOver("1");//未处理
                        message.setRelationCode(prescription.getCode());
                        messageDao.save(message);
                        // redis 的发布 {tilte:redisAddPrescription   state: 1 ,//1:成功,2.失败 mes:'开方成功' prescription : "0001" //续方CODE  }
    //                    JSONObject redisMessage = new JSONObject();
    //                    redisMessage.put("title","adjustPrescription");
    //                    redisMessage.put("state",1);
    //                    redisMessage.put("prescription",prescription.getCode());
    //                    redisMessage.put("mes","调整处方完成");
    //                    redisTemplate.opsForList().leftPush(channelTopic,redisMessage.toString());
                    }else {
                        //调整失败
                        prescription.setStatus(4);
                        prescriptionDao.save(prescription);
                        msg = json.getString("MSG");
                    }
                    //删除所有药品
                    StringBuffer sql = new StringBuffer("UPDATE wlyy_prescription_info SET del = 0 WHERE prescription_code = '" + prescription.getCode() + "'");
                    jdbcTemplate.execute(sql.toString());
                    //保存新的药品
                    prescriptionInfoDao.save(infoList);
                    //发送系统消息
                    Message message = new Message();
                    message.setCzrq(new Date());
                    message.setCreateTime(new Date());
                    message.setContent("您有1个续方申请已在线下调整完成,请点击进行CA认证。");
                    message.setRead(1);//设置未读
                    message.setReceiver(prescription.getDoctor());//设置接受医生的code
                    message.setSender("系统");//设置发送的用户
                    message.setSenderName("system");
                    message.setCode(getCode());
                    message.setTitle("新增系统消息");
                    message.setType(9);
                    message.setReadonly(1);//是否只读消息
                    message.setOver("1");//未处理
                    message.setRelationCode(prescription.getCode());
                    messageDao.save(message);
                    // redis 的发布 {tilte:redisAddPrescription   state: 1 ,//1:成功,2.失败 mes:'开方成功' prescription : "0001" //续方CODE  }
//                    JSONObject redisMessage = new JSONObject();
//                    redisMessage.put("title","adjustPrescription");
//                    redisMessage.put("state",1);
//                    redisMessage.put("prescription",prescription.getCode());
//                    redisMessage.put("mes","调整处方完成");
//                    redisTemplate.opsForList().leftPush(channelTopic,redisMessage.toString());
                }else {
                    //调整失败
                    prescription.setStatus(4);
                    prescriptionDao.save(prescription);
                    msg = json.getString("MSG");
                    //新增续方日志
                    addPrescriptionLog(prescription,"接收线下处方调整完成消息-"+msg);
                }
                //新增续方日志
                addPrescriptionLog(prescription,"接收线下处方调整完成消息-"+msg);
            }
        }catch (JSONException ex){
            ex.printStackTrace();
@ -860,7 +871,7 @@ public class PrescriptionService extends ZysoftBaseService{
        JSONObject json = new JSONObject();
        json.put("cardNo",prescription.getSsc());// "cardNo": "病人卡号",
        json.put("settleDept",prescription.getJwDeptCode());//结算科室编码
        json.put("saveOperator",prescription.getJwDoctorCode());// "saveOperator": "开单人员编码",
        json.put("settleOperator",prescription.getJwDoctorCode());// "saveOperator": "开单人员编码",
        json.put("visitNo",prescription.getVisitNo());// "院内挂号号,取费用列表中最小的院内挂号号
        //医保支付需要组装以下参数

+ 1 - 1
patient-co/patient-co-wlyy-job/src/main/java/com/yihu/wlyy/service/third/jw/JwPrescriptionService.java

@ -204,7 +204,7 @@ public class JwPrescriptionService {
                JSONObject reobj =  JSON.parseObject(response);
                Integer status = reobj.getInteger("status");
                String errmsg = reobj.getString("msg");
                if(-1 == status){
                if(200 != status){
                    throw new Exception("基卫接口(挂号作废)请求失败,"+errmsg);
                }
            }else{

+ 3 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/interceptors/EncodingFilter.java

@ -1,5 +1,6 @@
package com.yihu.wlyy.interceptors;
import com.yihu.wlyy.util.CodeFomat;
import net.sf.json.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -37,6 +38,8 @@ public class EncodingFilter implements Filter {
            for (int i = 0; i < values.length; i++) {
                String value = values[i];
                newRequest.removeAttribute(key);
//                解决%、+后中文以英文编码传入URLDecoder异常
                value = CodeFomat.dateToChinese(value);
                newRequest.addParameter(key, URLDecoder.decode((value),"utf-8"));
            }
        }

+ 1 - 15
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/interceptors/GateWayInterceptor.java

@ -6,37 +6,23 @@ package com.yihu.wlyy.interceptors;
import com.yihu.wlyy.entity.gateway.GcHttpLog;
import com.yihu.wlyy.entity.gateway.GcToken;
import com.yihu.wlyy.entity.security.Token;
import com.yihu.wlyy.entity.url.CudUrl;
import com.yihu.wlyy.repository.gateway.GcHttpLogDao;
import com.yihu.wlyy.repository.gateway.GcTokenDao;
import com.yihu.wlyy.util.DateUtil;
import com.yihu.wlyy.util.NetworkUtil;
import com.yihu.wlyy.util.SystemConf;
import com.yihu.wlyy.util.SystemData;
import com.yihu.wlyy.web.gateway.vo.base.BaseResultModel;
import com.yihu.wlyy.web.third.gateway.vo.base.BaseResultModel;
import net.sf.json.JSONObject;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.security.web.context.HttpRequestResponseHolder;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.method.HandlerMethod;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
import org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver;
import org.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdvice;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.lang.reflect.Method;
import java.util.Date;
import java.util.Map;
/**
 * 对外的请求拦截

+ 5 - 1
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/repository/message/MessageDao.java

@ -69,7 +69,11 @@ public interface MessageDao extends PagingAndSortingRepository<Message, Long>, J
    @Modifying
    @Query("update Message a set a.prescriptionStatus=?2 where a.relationCode = ?1 and a.type=?3 ")
    int updatePreScriptionMessage(String relateCode,String prescriptionStatus,Integer type);
    int updatePreScriptionMessage(String relationCode,String prescriptionStatus,Integer type);
    @Query("update Message a set a.read = 0,a.over = '0' where a.relationCode = ?1 and a.type = ?2")
    @Modifying
    int updatePreScriptionMessage(String relationCode,Integer type);
    @Query("update Message a set a.read = 0,a.over = '0' where a.receiver = ?1 and a.type = ?2")
    @Modifying

+ 13 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/repository/zydict/ZyPushLogDao.java

@ -0,0 +1,13 @@
package com.yihu.wlyy.repository.zydict;
import com.yihu.wlyy.entity.zydict.ZyPushLog;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
/**
 * Created by yeshijie on 2017/8/5.
 */
public interface ZyPushLogDao extends PagingAndSortingRepository<ZyPushLog, Long>, JpaSpecificationExecutor<ZyPushLog> {
}

+ 4 - 4
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/consult/ConsultTeamService.java

@ -956,10 +956,10 @@ public class ConsultTeamService extends ConsultService {
                return -2;
            }
            String checkPre = prescriptionInfoService.checkPre(patient,DateUtil.getStringDateShort()+" 00:00:00");
            if("0".equals(checkPre)){//存在未结算的续方
                return -3;
            }
//            String checkPre = prescriptionInfoService.checkPre(patient,DateUtil.getStringDateShort()+" 00:00:00");
//            if("0".equals(checkPre)){//存在未结算的续方
//                return -3;
//            }
            Doctor doctor = doctorDao.findByCode(doctorCode);
            // 查询患者信息

+ 89 - 10
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/prescription/PatientPrescriptionPayService.java

@ -13,6 +13,7 @@ import com.yihu.wlyy.entity.organization.HospitalMapping;
import com.yihu.wlyy.entity.patient.Patient;
import com.yihu.wlyy.entity.patient.SignFamily;
import com.yihu.wlyy.entity.patient.prescription.*;
import com.yihu.wlyy.entity.zydict.ZyPushLog;
import com.yihu.wlyy.repository.charge.ChargeDao;
import com.yihu.wlyy.repository.doctor.DoctorDao;
import com.yihu.wlyy.repository.message.MessageDao;
@ -21,6 +22,7 @@ import com.yihu.wlyy.repository.organization.HospitalMappingDao;
import com.yihu.wlyy.repository.patient.PatientDao;
import com.yihu.wlyy.repository.patient.SignFamilyDao;
import com.yihu.wlyy.repository.prescription.*;
import com.yihu.wlyy.repository.zydict.ZyPushLogDao;
import com.yihu.wlyy.service.BaseService;
import com.yihu.wlyy.service.third.httplog.LogService;
import com.yihu.wlyy.service.third.jw.JwPrescriptionService;
@ -65,6 +67,8 @@ import java.util.*;
@Service
public class PatientPrescriptionPayService extends BaseService {
    private Logger logger=LoggerFactory.getLogger(PatientPrescriptionPayService.class);
    //公共配置文件
    Properties systemConf = SystemConf.getInstance().getSystemProperties();
    private static final Logger LOGGER = LoggerFactory.getLogger(OnePayController.class);
@ -120,6 +124,8 @@ public class PatientPrescriptionPayService extends BaseService {
    private PushMsgTask pushMsgTask;
    @Autowired
    private JwPrescriptionService jwPrescriptionService;
    @Autowired
    private ZyPushLogDao zyPushLogDao;
    /**
     * 长处方配送信息查询接口
@ -320,6 +326,7 @@ public class PatientPrescriptionPayService extends BaseService {
                String healthBalance = responseContents.getString("healthBalance");//健康账户余额
                prescriptionPay.setBillNo(billNo);//待结算费用单据号
                prescriptionPay.setChargeNo(chargeNo);//支付流水号
                prescriptionPay.setInsuranceAmount(Integer.parseInt(insuranceAmount));//医保支付金额
                prescriptionPay.setSelfPayAmount(Integer.parseInt(selfPayAmount));//自付金额
                prescriptionPay.setMiSettleNo(miSettleNo);//医保收费单据号
@ -374,8 +381,25 @@ public class PatientPrescriptionPayService extends BaseService {
            response.getWriter().write(e.getMessage());
        }
        //                记录log日志到数据库
        logService.saveHttpLog(isSuccess, config.getRecipeReturnUrl(), "长处方支付页面跳转", "POST", null, "", responses, error, logService.onepayType);
        LOGGER.info("api - "+config.getRecipeReturnUrl());
        LOGGER.info("request - "+request.toString());
        LOGGER.info("responses - "+responses);
        LOGGER.info("error - "+error);
        ZyPushLog log = new ZyPushLog();
        log.setCreateTime(new Date());
        log.setApi(config.getRecipeReturnUrl());
        log.setContent("长处方支付页面跳转");
        log.setError(error);
        log.setMethod("POST");
        log.setRequest(request.toString());
        log.setResponse(responses);
        log.setRetryTimes(0);
        log.setStatus(Integer.toString(flag));
        log.setType("3");
        zyPushLogDao.save(log);
        //记录支付log日志到数据库  支付
        logService.saveHttpLog(isSuccess, config.getRecipeReturnUrl(), "长处方支付页面跳转", "POST", null, "", responses, error, logService.onepayType);
        payLogService.addLog(prescription, PrescriptionLog.PrescriptionLogType.pay.getValue(), flag, 1);
        return resultMap;
    }
@ -385,8 +409,9 @@ public class PatientPrescriptionPayService extends BaseService {
     *
     * @return
     */
    public void receiveRecipeNotify(HttpServletRequest request, HttpServletResponse response) throws Exception {
    public String receiveRecipeNotify(HttpServletRequest request, HttpServletResponse response) throws Exception {
        String result = null;
        Prescription prescription = null;
        Boolean isSuccess = false;
        int flag = 0;
@ -404,7 +429,7 @@ public class PatientPrescriptionPayService extends BaseService {
        LOGGER.info("回调参数:{}", params);
        if (StringUtil.isEmpty(params)) {
            response.getWriter().write("empty");
            return;
            return null;
        }
        // 参数转换
        ResponseParams<?> encryptRes = JSON.parseObject(params, ResponseParams.class);
@ -490,6 +515,7 @@ public class PatientPrescriptionPayService extends BaseService {
                    //更新数据
                    PrescriptionPay prescriptionPay = payDao.findByCode(outChargeNo);
                    prescriptionPay.setBillNo(billNo);//待结算费用单据号
                    prescriptionPay.setChargeNo(chargeNo);//支付流水号
                    prescriptionPay.setInsuranceAmount(Integer.parseInt(insuranceAmount));//医保支付金额
                    prescriptionPay.setSelfPayAmount(Integer.parseInt(selfPayAmount));//自付金额
                    prescriptionPay.setMiSettleNo(miSettleNo);//医保收费单据号
@ -542,11 +568,12 @@ public class PatientPrescriptionPayService extends BaseService {
                            messageDao.save(message);
                        }
                        //支付成功发起结算
                        try {
                            jwPrescriptionService.executeSickSettle(prescriptionCode);
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        result = prescriptionCode;
//                        try {
//                            jwPrescriptionService.executeSickSettle(prescriptionCode);
//                        } catch (Exception e) {
//                            e.printStackTrace();
//                        }
                    } else if ("1".equals(tradeStatus) || "FAIL".equals(tradeStatus)) {
                        prescriptionPay.setTradeStatus("0");//交易状态 成功1 失败0
                        prescription.setStatus(PrescriptionLog.PrescriptionLogStatus.pay_error.getValue());////续费状态 30支付成功 21支付失败
@ -564,9 +591,27 @@ public class PatientPrescriptionPayService extends BaseService {
            response.getWriter().write(e.getMessage());
        }
        //                记录log日志到数据库
        logService.saveHttpLog(isSuccess, config.getReceiveRecipeNotify(), "异步支付通知", "POST", null, params, responses, error, logService.onepayType);
        LOGGER.info("api - "+config.getReceiveRecipeNotify());
        LOGGER.info("request - "+params);
        LOGGER.info("responses - "+responses);
        LOGGER.info("error - "+error);
        ZyPushLog log = new ZyPushLog();
        log.setCreateTime(new Date());
        log.setApi(config.getReceiveRecipeNotify());
        log.setContent("续方异步支付通知");
        log.setError(error);
        log.setMethod("POST");
        log.setRequest(params);
        log.setResponse(responses);
        log.setRetryTimes(0);
        log.setStatus(Integer.toString(flag));
        log.setType("3");
        zyPushLogDao.save(log);
        //记录支付log日志到数据库
        logService.saveHttpLog(isSuccess, config.getReceiveRecipeNotify(), "异步支付通知", "POST", null, params, responses, error, logService.onepayType);
        payLogService.addLog(prescription, PrescriptionLog.PrescriptionLogType.pay.getValue(), flag, 1);
        return result;
    }
//******************************************  长处方支付基本工具方法  *******************************************************************************
@ -926,8 +971,25 @@ public class PatientPrescriptionPayService extends BaseService {
            error = sw.toString();
        }
        //保存http日志
        logService.saveHttpLog(isSuccess, config.getRecipeChargeType(), "长处方结算", "POST", null, msgBody, response, error, logService.onepayType);
        LOGGER.info("api - "+config.getRecipeChargeType());
        LOGGER.info("request - "+msgBody);
        LOGGER.info("responses - "+response);
        LOGGER.info("error - "+error);
        ZyPushLog log = new ZyPushLog();
        log.setCreateTime(new Date());
        log.setApi(config.getRecipeChargeType());
        log.setContent("长处方结算");
        log.setError(error);
        log.setMethod("POST");
        log.setRequest(msgBody);
        log.setResponse(response);
        log.setRetryTimes(0);
        log.setStatus(Integer.toString(flag));
        log.setType("3");
        zyPushLogDao.save(log);
        //保存长处方日志  type=2易联众对接 flag =1成功 flag=0 0失败 userType 1 患者 2医生
        logService.saveHttpLog(isSuccess, config.getRecipeChargeType(), "长处方结算", "POST", null, msgBody, response, error, logService.onepayType);
        payLogService.addLog(prescription, PrescriptionLog.PrescriptionLogType.pay.getValue(), flag, 1);
        if (!isSuccess) {
            throw new Exception(error);
@ -1004,6 +1066,23 @@ public class PatientPrescriptionPayService extends BaseService {
        }
        //type = 3易联众接口保存http日志
        LOGGER.info("api - "+config.getChargeQueryType());
        LOGGER.info("request - "+msgBody);
        LOGGER.info("responses - "+response);
        LOGGER.info("error - "+error);
        ZyPushLog log = new ZyPushLog();
        log.setCreateTime(new Date());
        log.setApi(config.getChargeQueryType());
        log.setContent("长处方支付查询");
        log.setError(error);
        log.setMethod("POST");
        log.setRequest(msgBody);
        log.setResponse(response);
        log.setRetryTimes(0);
        log.setStatus(Integer.toString(flag));
        log.setType("3");
        zyPushLogDao.save(log);
        logService.saveHttpLog(isSuccess, config.getChargeQueryType(), "长处方支付查询", "POST", null, msgBody, response, error, logService.onepayType);
        if (!isSuccess) {
            throw new Exception(error);

+ 43 - 30
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/prescription/PrescriptionAdjustService.java

@ -84,14 +84,6 @@ public class PrescriptionAdjustService extends BaseService {
                        prescription.setRecipeNo(recipeNo);
                        prescriptionDao.save(prescription);
                        //发送Im消息
                        JSONObject content = new JSONObject();
                        content.put("title", "我已经审核您" + DateUtil.dateToStr(prescription.getCreateTime(), "yyyy-MM-dd") + "发起的续方申请");
                        content.put("result", "审核通过");
                        content.put("reason", "");
                        content.put("url", "");
                        imUtill.sendTopicIM(prescription.getDoctor(), prescription.getDoctorName(), prescription.getConsult(), "15", content.toString(), null);
                        //添加日志
                        prescriptionLogService.addLog(prescription,PrescriptionLog.PrescriptionLogType.zy.getValue(),1,2);
@ -126,6 +118,7 @@ public class PrescriptionAdjustService extends BaseService {
     * 上传ca认证信息
     * @param code
     */
    @Transactional
    public JSONObject uploadCaDigital(String code){
        JSONObject re = new JSONObject();
        Prescription prescription = prescriptionDao.findByCode(code);
@ -138,28 +131,48 @@ public class PrescriptionAdjustService extends BaseService {
                if("1".equals(zyCode)){
                    JSONArray returnData = data.getJSONArray("returnData");
                    if(returnData.size()>0){
                        JSONObject pre = returnData.getJSONArray(0).getJSONObject(0);
                        //认证成功-审核完成
                        prescription.setStatus(PrescriptionLog.PrescriptionLogStatus.wait_pay.getValue());
                        //设置审核通过
                        PrescriptionReviewed reviewed = prescriptionReviewedDao.findByPrescriptionCode(code);
                        reviewed.setStatus(1);
                        reviewed.setReviewedTime(new Date());
                        prescriptionDao.save(prescription);
                        //审核通过模板消息
                        prescriptionInfoService.sendRMess(prescription.getCode(), 1);
                        //修改系统的续方消息的审核状态
                        messageDao.updatePreScriptionMessage(prescription.getConsult(), "1", 6);
                        //获取智业待结算接口,更新药品金额
                        prescriptionService.getPerscriptionInfoCostFromPayInfo(prescription.getCode());
                        //添加日志
                        prescriptionLogService.addLog(prescription,PrescriptionLog.PrescriptionLogType.zy.getValue(),1,2);
                        re.put("status",200);
                        //{"status":200,"msg":"CA认证通过接口!","data":"{\"CODE\":\"1\",\"returnData\":[{\"result\":\"True\"}],\"byRefParaData\":[{ \"errorMsg\": \"\" }]}"}
                        JSONObject pre = returnData.getJSONObject(0);
                        if("True".equals(pre.getString("result"))){
                            //认证成功-审核完成
                            prescription.setStatus(PrescriptionLog.PrescriptionLogStatus.wait_pay.getValue());
                            //设置审核通过
                            PrescriptionReviewed reviewed = prescriptionReviewedDao.findByPrescriptionCode(code);
                            reviewed.setStatus(1);
                            reviewed.setReviewedTime(new Date());
                            prescriptionDao.save(prescription);
                            //审核通过模板消息
                            prescriptionInfoService.sendRMess(prescription.getCode(), 1);
                            //修改系统的续方消息的审核状态
                            messageDao.updatePreScriptionMessage(prescription.getConsult(), "1", 6);
                            //修改系统的消息的待ca认证
                            messageDao.updatePreScriptionMessage(prescription.getCode(), 9);
                            //获取智业待结算接口,更新药品金额
                            prescriptionService.getPerscriptionInfoCostFromPayInfo(prescription.getCode());
                            //添加日志
                            prescriptionLogService.addLog(prescription,PrescriptionLog.PrescriptionLogType.zy.getValue(),1,2);
                            //发送Im消息
                            JSONObject content = new JSONObject();
                            content.put("title", "我已经审核您" + DateUtil.dateToStr(prescription.getCreateTime(), "yyyy-MM-dd") + "发起的续方申请");
                            content.put("result", "审核通过");
                            content.put("reason", "");
                            content.put("url", "");
                            imUtill.sendTopicIM(prescription.getDoctor(), prescription.getDoctorName(), prescription.getConsult(), "15", content.toString(), null);
                            re.put("status",200);
                        }else {
                            //请求失败
                            prescriptionLogService.addLog(prescription,PrescriptionLog.PrescriptionLogType.zy.getValue(),0,2);
                            JSONArray byRefParaData = data.getJSONArray("byRefParaData");
                            re.put("status",-1);
                            re.put("msg",byRefParaData.getJSONObject(0).getString("errorMsg"));
                        }
                    }else {
                        //请求失败
                        prescriptionLogService.addLog(prescription,PrescriptionLog.PrescriptionLogType.zy.getValue(),0,2);

+ 1 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/template/DoctorGuidanceTempService.java

@ -3,6 +3,7 @@ package com.yihu.wlyy.service.template;
import com.yihu.wlyy.entity.template.DoctorGuidanceTemp;
import com.yihu.wlyy.repository.template.DoctorGuidanceTempDao;
import com.yihu.wlyy.service.BaseService;
import com.yihu.wlyy.util.CodeFomat;
import com.yihu.wlyy.util.CommonUtil;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;

+ 2 - 2
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/third/jw/JwPrescriptionService.java

@ -236,7 +236,7 @@ public class JwPrescriptionService {
            JSONObject reobj =  JSON.parseObject(response);
            Integer status = reobj.getInteger("status");
            String errmsg = reobj.getString("msg");
            if(-1 == status){
            if(200 != status){
                throw new Exception("基卫接口(院内结算确认接口)请求失败,"+errmsg);
            }else{
                prescriptionDao.updatejwPayStatus(prescriptionCode);
@ -270,7 +270,7 @@ public class JwPrescriptionService {
                JSONObject reobj =  JSON.parseObject(response);
                Integer status = reobj.getInteger("status");
                String errmsg = reobj.getString("msg");
                if(-1 == status){
                if(200 != status){
                    throw new Exception("基卫接口(挂号作废)请求失败,"+errmsg);
                }
                prescription.setZyCancelState(1);

+ 46 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/util/CodeFomat.java

@ -0,0 +1,46 @@
package com.yihu.wlyy.util;
import java.net.URLDecoder;
/**
 * Created by Reece on 2017/8/28/028.
 * <p>
 * 特殊字符编码转换
 */
public class CodeFomat {
    /**
     *  解决%、+后中文以英文编码传入URLDecoder异常
     * @param resource 英文编码
     * @return 中文编码
     */
    public static String dateToChinese(String resource) {
        String data = resource.toString();
        try {
            data = data.replaceAll("%(?![0-9a-fA-F]{2})", "%25");
            data = data.replaceAll("\\+", "%2B");
//            data = URLDecoder.decode(data, "utf-8");
        } catch (Exception e) {
            e.printStackTrace();
        }
        return data;
    }
    /**
     *  解决数据库以%25代替%、+后的数据展示问题
     * @param resource 中文编码
     * @return 英文编码
     */
    public static String chineseToDate(String resource) {
        String data = resource.toString();
        try {
            data = data.replaceAll("%25", "%");
            data = data.replaceAll("%2B", "+");
//            data = URLDecoder.decode(data, "utf-8");
        } catch (Exception e) {
            e.printStackTrace();
        }
        return data;
    }
}

+ 1 - 1
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/common/device/DeviceController.java

@ -23,7 +23,7 @@ public class DeviceController extends BaseController {
    @ApiOperation("获取设备分类")
    @RequestMapping(value = "DeviceCategory", method = RequestMethod.POST)
    @RequestMapping(value = "DeviceCategory", method = {RequestMethod.POST,RequestMethod.GET})
    @ResponseBody
    public String getDeviceCategory() {
        try {

+ 1 - 2
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/device/DoctorDeviceController.java

@ -4,7 +4,6 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.yihu.wlyy.aop.ObserverRequired;
import com.yihu.wlyy.entity.device.PatientDevice;
import com.yihu.wlyy.entity.doctor.team.admin.AdminTeam;
import com.yihu.wlyy.entity.doctor.team.admin.AdminTeamMember;
import com.yihu.wlyy.service.app.device.PatientDeviceService;
import com.yihu.wlyy.service.app.team.AdminTeamService;
import com.yihu.wlyy.web.BaseController;
@ -86,7 +85,7 @@ public class DoctorDeviceController extends BaseController {
	 * 设备删除
	 */
	@ApiOperation("设备删除--医生端")
	@RequestMapping(value = "DeletePatientDevice",method = RequestMethod.POST)
	@RequestMapping(value = "DeletePatientDevice",method = {RequestMethod.POST,RequestMethod.GET})
	@ResponseBody
	@ObserverRequired
	public String delete(@ApiParam(name="id",value="删除设备关联ID")

+ 11 - 1
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/patient/prescription/PatientPrescriptionPayController.java

@ -3,6 +3,7 @@ package com.yihu.wlyy.web.patient.prescription;
import com.yihu.wlyy.service.app.prescription.PatientPrescriptionPayService;
import com.yihu.wlyy.service.app.prescription.PrescriptionNoticesService;
import com.yihu.wlyy.service.app.prescription.PrescriptionService;
import com.yihu.wlyy.service.third.jw.JwPrescriptionService;
import com.yihu.wlyy.web.WeixinBaseController;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@ -33,6 +34,8 @@ public class PatientPrescriptionPayController extends WeixinBaseController {
    private PrescriptionService prescriptionService;
    @Autowired
    private PrescriptionNoticesService noticesService;
    @Autowired
    private JwPrescriptionService jwPrescriptionService;
    /**
     * 患者长处方支付接口 可配送方式查询
@ -141,7 +144,14 @@ public class PatientPrescriptionPayController extends WeixinBaseController {
    @ApiOperation(value = "对接方异步回调接口")
    public void receiveRecipeNotify(HttpServletRequest request, HttpServletResponse response) throws Exception {
        try {
            payService.receiveRecipeNotify(request, response);
            String result = payService.receiveRecipeNotify(request, response);
            if (result!=null){
                try {
                    jwPrescriptionService.executeSickSettle(result);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        } catch (Exception e) {
            error(e);
        }

+ 3 - 8
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/gateway/controller/GcHospitalController.java

@ -1,13 +1,9 @@
package com.yihu.wlyy.web.gateway.controller;
package com.yihu.wlyy.web.third.gateway.controller;
import com.yihu.wlyy.entity.doctor.profile.Doctor;
import com.yihu.wlyy.entity.organization.Hospital;
import com.yihu.wlyy.repository.organization.HospitalDao;
import com.yihu.wlyy.service.app.hospital.HospitalService;
import com.yihu.wlyy.web.gateway.vo.DoctorModel;
import com.yihu.wlyy.web.gateway.vo.HospitalModel;
import com.yihu.wlyy.web.gateway.vo.base.ResultOneModel;
import com.yihu.wlyy.web.gateway.vo.base.ResultPageListModel;
import com.yihu.wlyy.web.third.gateway.vo.HospitalModel;
import com.yihu.wlyy.web.third.gateway.vo.base.ResultPageListModel;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
@ -44,7 +40,6 @@ public class GcHospitalController {
    ) {
        List<Hospital> hospitals = hospitalService.getHospitals(null, provinceId, cityId, townId, hospitalName, hospitalId, page, pageSize);
        ;
        List<HospitalModel> hospitalModels = new ArrayList<>();
        for (Hospital hospital : hospitals) {
            HospitalModel hospitalModel = new HospitalModel();

+ 4 - 4
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/gateway/controller/GcLoginController.java

@ -1,4 +1,4 @@
package com.yihu.wlyy.web.gateway.controller;
package com.yihu.wlyy.web.third.gateway.controller;
import com.yihu.wlyy.entity.doctor.profile.Doctor;
import com.yihu.wlyy.entity.login.LoginLog;
@ -9,9 +9,9 @@ import com.yihu.wlyy.service.common.account.TokenService;
import com.yihu.wlyy.service.common.login.LoginLogService;
import com.yihu.wlyy.util.MD5;
import com.yihu.wlyy.util.RSAUtils;
import com.yihu.wlyy.web.gateway.vo.LoginModel;
import com.yihu.wlyy.web.gateway.vo.base.BaseResultModel;
import com.yihu.wlyy.web.gateway.vo.base.ResultOneModel;
import com.yihu.wlyy.web.third.gateway.vo.LoginModel;
import com.yihu.wlyy.web.third.gateway.vo.base.BaseResultModel;
import com.yihu.wlyy.web.third.gateway.vo.base.ResultOneModel;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;

+ 4 - 15
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/gateway/controller/GcTokenController.java

@ -1,29 +1,18 @@
package com.yihu.wlyy.web.gateway.controller;
package com.yihu.wlyy.web.third.gateway.controller;
import com.fasterxml.jackson.databind.deser.Deserializers;
import com.yihu.wlyy.entity.doctor.profile.Doctor;
import com.yihu.wlyy.entity.gateway.GcClientDetails;
import com.yihu.wlyy.entity.gateway.GcHttpLog;
import com.yihu.wlyy.entity.gateway.GcToken;
import com.yihu.wlyy.entity.login.LoginLog;
import com.yihu.wlyy.entity.security.Token;
import com.yihu.wlyy.repository.gateway.GcHttpLogDao;
import com.yihu.wlyy.service.common.account.DoctorService;
import com.yihu.wlyy.service.common.account.TokenService;
import com.yihu.wlyy.service.common.login.LoginLogService;
import com.yihu.wlyy.service.gateway.GcClientDetailsService;
import com.yihu.wlyy.service.gateway.GcTokenService;
import com.yihu.wlyy.util.MD5;
import com.yihu.wlyy.util.NetworkUtil;
import com.yihu.wlyy.util.RSAUtils;
import com.yihu.wlyy.web.gateway.vo.GcTokenModel;
import com.yihu.wlyy.web.gateway.vo.LoginModel;
import com.yihu.wlyy.web.gateway.vo.base.BaseResultModel;
import com.yihu.wlyy.web.gateway.vo.base.ResultOneModel;
import com.yihu.wlyy.web.third.gateway.vo.GcTokenModel;
import com.yihu.wlyy.web.third.gateway.vo.base.BaseResultModel;
import com.yihu.wlyy.web.third.gateway.vo.base.ResultOneModel;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.apache.commons.lang3.StringUtils;
import org.json.JSONObject;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;

+ 29 - 16
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/gateway/controller/doctor/GcDoctorController.java

@ -1,13 +1,14 @@
package com.yihu.wlyy.web.gateway.controller.doctor;
package com.yihu.wlyy.web.third.gateway.controller.doctor;
import com.alibaba.fastjson.JSONObject;
import com.yihu.wlyy.entity.doctor.profile.Doctor;
import com.yihu.wlyy.entity.patient.Patient;
import com.yihu.wlyy.service.common.account.DoctorService;
import com.yihu.wlyy.service.common.account.PatientService;
import com.yihu.wlyy.web.gateway.vo.DoctorModel;
import com.yihu.wlyy.web.gateway.vo.PatientModel;
import com.yihu.wlyy.web.gateway.vo.base.ResultOneModel;
import com.yihu.wlyy.web.gateway.vo.base.ResultPageListModel;
import com.yihu.wlyy.web.third.gateway.vo.DoctorModel;
import com.yihu.wlyy.web.third.gateway.vo.PatientModel;
import com.yihu.wlyy.web.third.gateway.vo.base.ResultOneModel;
import com.yihu.wlyy.web.third.gateway.vo.base.ResultPageListModel;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
@ -41,9 +42,14 @@ public class GcDoctorController {
            @ApiParam(name = "code", value = "医生code", required = true) @RequestParam(value = "code", required = true) String code
    ) {
        Doctor doctor = doctorService.findDoctorByCode(code);
        DoctorModel doctorModel = new DoctorModel();
        BeanUtils.copyProperties(doctor, doctorModel);
        return new ResultOneModel(doctorModel);
        DoctorModel doctorModel = null;
        if (doctor != null) {
            doctorModel = new DoctorModel();
            BeanUtils.copyProperties(doctor, doctorModel);
            return new ResultOneModel(doctorModel);
        } else {
            return new ResultOneModel(new JSONObject());
        }
    }
    @RequestMapping(value = "/doctors", method = RequestMethod.GET)
@ -57,11 +63,13 @@ public class GcDoctorController {
    ) {
        List<Doctor> doctors = doctorService.findDoctors(hospitalCode, name, level, page, pageSize);
        List<DoctorModel> doctorModelList = new ArrayList<>();
        doctors.stream().forEach(one -> {
            DoctorModel doctorModel = new DoctorModel();
            BeanUtils.copyProperties(one, doctorModel);
            doctorModelList.add(doctorModel);
        });
        if (doctors != null && doctors.size() > 0) {
            doctors.stream().forEach(one -> {
                DoctorModel doctorModel = new DoctorModel();
                BeanUtils.copyProperties(one, doctorModel);
                doctorModelList.add(doctorModel);
            });
        }
        return new ResultPageListModel(page, pageSize, doctorService.findDoctorCounts(hospitalCode, name, level), doctorModelList);
    }
@ -72,9 +80,14 @@ public class GcDoctorController {
            @ApiParam(name = "code", value = "患者code", required = true) @RequestParam(value = "code", required = true) String code
    ) {
        Patient patient = patientService.findByCode(code);
        PatientModel patientModel = new PatientModel();
        BeanUtils.copyProperties(patient, patientModel);
        return new ResultOneModel(patientModel);
        PatientModel patientModel = null;
        if (patientModel != null) {
            patientModel = new PatientModel();
            BeanUtils.copyProperties(patient, patientModel);
            return new ResultOneModel(patientModel);
        } else {
            return new ResultOneModel(new JSONObject());
        }
    }
}

+ 3 - 3
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/gateway/controller/doctor/GcMessageController.java

@ -1,11 +1,11 @@
package com.yihu.wlyy.web.gateway.controller.doctor;
package com.yihu.wlyy.web.third.gateway.controller.doctor;
import com.yihu.wlyy.entity.patient.Patient;
import com.yihu.wlyy.service.common.SMSService;
import com.yihu.wlyy.service.common.account.PatientService;
import com.yihu.wlyy.util.NetworkUtil;
import com.yihu.wlyy.web.gateway.vo.base.BaseResultModel;
import com.yihu.wlyy.web.gateway.vo.base.ResultBatchModel;
import com.yihu.wlyy.web.third.gateway.vo.base.BaseResultModel;
import com.yihu.wlyy.web.third.gateway.vo.base.ResultBatchModel;
import com.yihu.wlyy.wechat.util.WeiXinTempMsgSendUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;

+ 1 - 1
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/gateway/controller/express/SFExpressApiController.java

@ -1,4 +1,4 @@
package com.yihu.wlyy.web.gateway.controller.express;
package com.yihu.wlyy.web.third.gateway.controller.express;
import com.yihu.wlyy.aop.ObserverRequired;
import com.yihu.wlyy.service.app.express.SFExpressService;

+ 16 - 13
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/gateway/controller/patient/GcPatientController.java

@ -1,17 +1,15 @@
package com.yihu.wlyy.web.gateway.controller.patient;
package com.yihu.wlyy.web.third.gateway.controller.patient;
import com.yihu.wlyy.entity.doctor.profile.Doctor;
import com.yihu.wlyy.entity.patient.Patient;
import com.yihu.wlyy.entity.patient.SignFamily;
import com.yihu.wlyy.repository.patient.SignFamilyDao;
import com.yihu.wlyy.service.common.account.DoctorService;
import com.yihu.wlyy.service.common.account.PatientService;
import com.yihu.wlyy.web.gateway.vo.DoctorModel;
import com.yihu.wlyy.web.gateway.vo.PatientModel;
import com.yihu.wlyy.web.gateway.vo.base.ResultOneModel;
import com.yihu.wlyy.web.third.gateway.vo.PatientModel;
import com.yihu.wlyy.web.third.gateway.vo.base.ResultOneModel;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import com.alibaba.fastjson.JSONObject;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
@ -39,15 +37,20 @@ public class GcPatientController {
            @ApiParam(name = "code", value = "患者code", required = true) @RequestParam(value = "code", required = true) String code
    ) {
        Patient patient = patientService.findByCode(code);
        PatientModel patientModel = new PatientModel();
        SignFamily signFamily = signFamilyDao.findSignByPatient(patient.getCode());
        BeanUtils.copyProperties(patient, patientModel);
        if (signFamily != null) {
            patientModel.setIsSign(1);
        PatientModel patientModel = null;
        if (patient != null) {
            patientModel = new PatientModel();
            SignFamily signFamily = signFamilyDao.findSignByPatient(patient.getCode());
            BeanUtils.copyProperties(patient, patientModel);
            if (signFamily != null) {
                patientModel.setIsSign(1);
            } else {
                patientModel.setIsSign(0);
            }
            return new ResultOneModel(patientModel);
        } else {
            patientModel.setIsSign(0);
            return new ResultOneModel(new JSONObject());
        }
        return new ResultOneModel(patientModel);
    }

+ 1 - 1
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/gateway/vo/DoctorModel.java

@ -1,4 +1,4 @@
package com.yihu.wlyy.web.gateway.vo;
package com.yihu.wlyy.web.third.gateway.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;

+ 1 - 1
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/gateway/vo/GcTokenModel.java

@ -1,4 +1,4 @@
package com.yihu.wlyy.web.gateway.vo;
package com.yihu.wlyy.web.third.gateway.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

+ 1 - 1
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/gateway/vo/HospitalModel.java

@ -1,4 +1,4 @@
package com.yihu.wlyy.web.gateway.vo;
package com.yihu.wlyy.web.third.gateway.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

+ 1 - 2
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/gateway/vo/LoginModel.java

@ -1,6 +1,5 @@
package com.yihu.wlyy.web.gateway.vo;
package com.yihu.wlyy.web.third.gateway.vo;
import com.yihu.wlyy.web.gateway.vo.base.BaseResultModel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

+ 1 - 1
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/gateway/vo/PatientModel.java

@ -1,4 +1,4 @@
package com.yihu.wlyy.web.gateway.vo;
package com.yihu.wlyy.web.third.gateway.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;

+ 1 - 1
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/gateway/vo/base/BaseResultModel.java

@ -1,4 +1,4 @@
package com.yihu.wlyy.web.gateway.vo.base;
package com.yihu.wlyy.web.third.gateway.vo.base;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

+ 1 - 1
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/gateway/vo/base/ResultBatchModel.java

@ -1,4 +1,4 @@
package com.yihu.wlyy.web.gateway.vo.base;
package com.yihu.wlyy.web.third.gateway.vo.base;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

+ 1 - 1
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/gateway/vo/base/ResultListModel.java

@ -1,4 +1,4 @@
package com.yihu.wlyy.web.gateway.vo.base;
package com.yihu.wlyy.web.third.gateway.vo.base;
import io.swagger.annotations.ApiModelProperty;

+ 4 - 1
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/gateway/vo/base/ResultOneModel.java

@ -1,4 +1,4 @@
package com.yihu.wlyy.web.gateway.vo.base;
package com.yihu.wlyy.web.third.gateway.vo.base;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@ -25,6 +25,9 @@ public class ResultOneModel<T> extends BaseResultModel {
        this.result = result;
    }
    public ResultOneModel() {
    }
    public ResultOneModel(Integer code, String message) {
        super(code, message);
    }

+ 1 - 1
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/gateway/vo/base/ResultPageListModel.java

@ -1,4 +1,4 @@
package com.yihu.wlyy.web.gateway.vo.base;
package com.yihu.wlyy.web.third.gateway.vo.base;
import io.swagger.annotations.ApiModelProperty;

+ 14 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/third/jkzl/EduArticleController.java

@ -0,0 +1,14 @@
package com.yihu.wlyy.web.third.jkzl;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
 * Created by chenweida on 2017/8/28.
 */
@RestController
@RequestMapping(value = "/third/edu/article")
@Api(description = "总部健康教育文章")
public class EduArticleController {
}

+ 1 - 1
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/third/BookingController.java

@ -1,4 +1,4 @@
package com.yihu.wlyy.web.third;
package com.yihu.wlyy.web.third.zysoft;
import com.yihu.wlyy.entity.message.SMS;
import com.yihu.wlyy.entity.patient.Patient;

+ 1 - 1
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/third/OpenApiArchiveController.java

@ -1,4 +1,4 @@
package com.yihu.wlyy.web.third;
package com.yihu.wlyy.web.third.zysoft;
import com.yihu.device.entity.DevicePatientHealthIndex;
import com.yihu.wlyy.health.repository.DevicePatientHealthIndexDao;

+ 1 - 1
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/third/OpenApiSignController.java

@ -1,4 +1,4 @@
package com.yihu.wlyy.web.third;
package com.yihu.wlyy.web.third.zysoft;
import com.yihu.wlyy.entity.patient.SignFamily;
import com.yihu.wlyy.repository.patient.SignFamilyDao;

+ 1 - 1
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/third/OpenApiSmjkController.java

@ -1,4 +1,4 @@
package com.yihu.wlyy.web.third;
package com.yihu.wlyy.web.third.zysoft;
import com.yihu.wlyy.service.app.archives.PatientEventService;
import com.yihu.wlyy.service.app.archives.PatientRecordService;

+ 1 - 1
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/third/ZyDictController.java

@ -1,4 +1,4 @@
package com.yihu.wlyy.web.third;
package com.yihu.wlyy.web.third.zysoft;
import com.yihu.wlyy.service.ZyDictDataService;
import com.yihu.wlyy.service.third.jw.ZyDictService;

+ 30 - 0
patient-co/patient-co-wlyy/src/main/resources/logback.xml

@ -2,6 +2,7 @@
<configuration>
    <include resource="org/springframework/boot/logging/logback/base.xml"/>
    <jmxConfigurator/>
    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%date{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
@ -13,6 +14,7 @@
        <file>/tmp/logs/wlyy.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>/tmp/logs/wlyy.%d{yyyy-MM-dd}.log</fileNamePattern>
            <maxHistory>15</maxHistory>
        </rollingPolicy>
        <encoder>
            <pattern>%date{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
@ -24,6 +26,7 @@
        <file>/datadisk/wlyy_logs/business_m.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>/datadisk/wlyy_logs/rolling/business_m.%d{yyyy-MM-dd_HH-mm}.log</fileNamePattern>
            <maxHistory>15</maxHistory>
        </rollingPolicy>
        <encoder>
            <pattern>%msg%n</pattern>
@ -34,6 +37,7 @@
        <file>/datadisk/wlyy_logs/business.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>/datadisk/wlyy_logs/dayLogs/business.%d{yyyy-MM-dd}.log</fileNamePattern>
            <maxHistory>15</maxHistory>
        </rollingPolicy>
        <encoder>
            <pattern>%msg%n</pattern>
@ -44,6 +48,7 @@
        <file>/datadisk/wlyy_logs/interface_call_m.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>/datadisk/wlyy_logs/rolling/interface_call_m.%d{yyyy-MM-dd_HH-mm}.log</fileNamePattern>
            <maxHistory>15</maxHistory>
        </rollingPolicy>
        <encoder>
            <pattern>%msg%n</pattern>
@ -54,6 +59,7 @@
        <file>/datadisk/wlyy_logs/interface_call.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>/datadisk/wlyy_logs/dayLogs/interface_call.%d{yyyy-MM-dd}.log</fileNamePattern>
            <maxHistory>15</maxHistory>
        </rollingPolicy>
        <encoder>
            <pattern>%msg%n</pattern>
@ -76,6 +82,30 @@
        <appender-ref ref="interface_call_d" />
    </logger>
    <logger name="com.yihu.wlyy.logs.InterfaceCallLogs" level="INFO" additivity="false">
        <appender-ref ref="interface_call_m" />
        <appender-ref ref="interface_call_d" />
    </logger>
    <!--处方支付日志 start-->
    <!-- 演示按时间滚动的策略 -->
    <appender name="dailyRollingFileAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <File>/tmp/logs/wlyy_prescription_pay.log</File>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- daily rollover -->
            <FileNamePattern>/tmp/logs/wlyy_prescription_pay.%d{yyyy-MM-dd}.log</FileNamePattern>
            <!-- 保留 15天数据,默认无限
            <maxHistory>15</maxHistory>-->
        </rollingPolicy>
        <encoder>
            <Pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{35} - %msg %n</Pattern>
        </encoder>
    </appender>
    <logger name="com.yihu.wlyy.service.app.prescription.PatientPrescriptionPayService" level="INFO" additivity="false">
        <appender-ref ref="dailyRollingFileAppender" />
    </logger>
    <!--处方支付日志 end-->
    <root level="WARN">
        <!--<appender-ref ref="console" />-->
        <appender-ref ref="rollingFile" />