Browse Source

Merge branch 'dev' of http://192.168.1.220:10080/Amoy2/wlyy2.0 into dev

Shi Kejing 3 years ago
parent
commit
5117bd85a6
18 changed files with 103 additions and 98 deletions
  1. 1 1
      server/svr-authentication/src/main/java/com/yihu/jw/security/oauth2/provider/endpoint/WlyyLoginEndpoint.java
  2. 4 1
      server/svr-authentication/src/main/java/com/yihu/jw/security/service/RegisterService.java
  3. 8 0
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/course/RecruitStudentsEndpoint.java
  4. 7 2
      svr/svr-base/src/main/java/com/yihu/jw/base/service/course/RecruitStudentsRecordService.java
  5. 8 2
      svr/svr-base/src/main/java/com/yihu/jw/base/util/WxMessageUtil.java
  6. 7 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/consult/PatientConsultEndpoint.java
  7. 0 13
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/consult/WxPushEndpoint.java
  8. 4 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/patient/PatientEndpoint.java
  9. 9 3
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/consult/ConsultService.java
  10. 16 11
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/consult/WxPushService.java
  11. 1 0
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/course/CourseService.java
  12. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/doctor/CareDoctorService.java
  13. 3 5
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/doorCoach/DoctorDoorCoachOrderService.java
  14. 3 7
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/doorCoach/PatientDoorCoachOrderService.java
  15. 19 7
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/patient/CarePatientService.java
  16. 7 1
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/util/MessageUtil.java
  17. 2 1
      svr/svr-cloud-job/src/main/java/com/yihu/jw/care/job/message/PatientSendUnreadJob.java
  18. 2 38
      svr/svr-cloud-job/src/main/java/com/yihu/jw/care/util/MessageUtil.java

+ 1 - 1
server/svr-authentication/src/main/java/com/yihu/jw/security/oauth2/provider/endpoint/WlyyLoginEndpoint.java

@ -1849,7 +1849,7 @@ public class WlyyLoginEndpoint extends AbstractEndpoint {
        }else {
        }else {
            try {
            try {
                Map<String,Object> rs = registerService.registerPatient(mobile,pw,name,idcard);
                Map<String,Object> rs = registerService.registerPatient(mobile,pw,name,idcard,openid);
                String code = rs.get("code").toString();
                String code = rs.get("code").toString();
                if(!"1".equals(code)){
                if(!"1".equals(code)){
                    ObjEnvelop objEnvelop = new ObjEnvelop();
                    ObjEnvelop objEnvelop = new ObjEnvelop();

+ 4 - 1
server/svr-authentication/src/main/java/com/yihu/jw/security/service/RegisterService.java

@ -120,7 +120,7 @@ public class RegisterService {
        rs.put("mes","保存用户信息失败");
        rs.put("mes","保存用户信息失败");
        return rs;
        return rs;
    }
    }
    public Map<String,Object> registerPatient(String mobile,String pw,String name,String idcard)throws Exception{
    public Map<String,Object> registerPatient(String mobile,String pw,String name,String idcard,String openid)throws Exception{
        Map<String,Object> rs = new HashedMap();
        Map<String,Object> rs = new HashedMap();
        try{
        try{
@ -146,6 +146,9 @@ public class RegisterService {
            if (StringUtils.isNoneBlank(idcard)){
            if (StringUtils.isNoneBlank(idcard)){
                patient.setIdcard(idcard);
                patient.setIdcard(idcard);
            }
            }
            if(StringUtils.isNoneBlank(openid)){
                patient.setOpenid(openid);
            }
            BasePatientDO temp = basePatientDao.save(patient);
            BasePatientDO temp = basePatientDao.save(patient);
            PatientMedicareCardDO medicareCardDO = new PatientMedicareCardDO();
            PatientMedicareCardDO medicareCardDO = new PatientMedicareCardDO();

+ 8 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/course/RecruitStudentsEndpoint.java

@ -1,7 +1,9 @@
package com.yihu.jw.base.endpoint.course;
package com.yihu.jw.base.endpoint.course;
import com.yihu.jw.base.service.course.RecruitStudentsRecordService;
import com.yihu.jw.base.service.course.RecruitStudentsService;
import com.yihu.jw.base.service.course.RecruitStudentsService;
import com.yihu.jw.entity.care.course.RecruitStudentsDO;
import com.yihu.jw.entity.care.course.RecruitStudentsDO;
import com.yihu.jw.entity.care.course.RecruitStudentsRecordDO;
import com.yihu.jw.hospital.dict.WlyyHospitalSysDictDao;
import com.yihu.jw.hospital.dict.WlyyHospitalSysDictDao;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.ListEnvelop;
import com.yihu.jw.restmodel.web.ListEnvelop;
@ -34,6 +36,8 @@ public class RecruitStudentsEndpoint extends EnvelopRestEndpoint {
    private RecruitStudentsService recruitStudentsService;
    private RecruitStudentsService recruitStudentsService;
    @Autowired
    @Autowired
    private WlyyHospitalSysDictDao wlyyHospitalSysDictDao;
    private WlyyHospitalSysDictDao wlyyHospitalSysDictDao;
    @Autowired
    private RecruitStudentsRecordService recruitStudentsRecordService;
    @PostMapping(value = "create")
    @PostMapping(value = "create")
    @ApiOperation(value = "创建")
    @ApiOperation(value = "创建")
@ -87,6 +91,10 @@ public class RecruitStudentsEndpoint extends EnvelopRestEndpoint {
            filters += ";del=1";
            filters += ";del=1";
        }
        }
        List<RecruitStudentsDO> recruitStudentsDOs = recruitStudentsService.search(fields, filters, sorts, page, size);
        List<RecruitStudentsDO> recruitStudentsDOs = recruitStudentsService.search(fields, filters, sorts, page, size);
        for (RecruitStudentsDO recruitStudentsDO:recruitStudentsDOs){
            List<RecruitStudentsRecordDO> list = recruitStudentsRecordService.findListById(recruitStudentsDO.getId());
            recruitStudentsDO.setAdmittedNum(list.size());
        }
        int count = (int)recruitStudentsService.getCount(filters);
        int count = (int)recruitStudentsService.getCount(filters);
        return success(recruitStudentsDOs, count, page, size, RecruitStudentsDO.class);
        return success(recruitStudentsDOs, count, page, size, RecruitStudentsDO.class);
    }
    }

+ 7 - 2
svr/svr-base/src/main/java/com/yihu/jw/base/service/course/RecruitStudentsRecordService.java

@ -116,8 +116,7 @@ public class RecruitStudentsRecordService extends BaseJpaService<RecruitStudents
     * @return
     * @return
     */
     */
    public synchronized boolean isAdmissionFull(String id){
    public synchronized boolean isAdmissionFull(String id){
        String sql = "select * from base_recruit_students_record where recruit_students_id = '"+id+"' and status in ('2','3','6') and del =1 ";
        List<RecruitStudentsRecordDO> list = jdbcTemplate.query(sql,new BeanPropertyRowMapper<>(RecruitStudentsRecordDO.class));
        List<RecruitStudentsRecordDO> list = findListById(id);
        RecruitStudentsDO recruitStudentsDO = recruitStudentsDao.findOne(id);
        RecruitStudentsDO recruitStudentsDO = recruitStudentsDao.findOne(id);
        if(recruitStudentsDO.getNum()<=list.size()){
        if(recruitStudentsDO.getNum()<=list.size()){
            return true;
            return true;
@ -125,6 +124,12 @@ public class RecruitStudentsRecordService extends BaseJpaService<RecruitStudents
        return false;
        return false;
    }
    }
    public List<RecruitStudentsRecordDO> findListById(String id){
        String sql = "select * from base_recruit_students_record where recruit_students_id = '"+id+"' and status in ('2','3','6') and del =1 ";
        List<RecruitStudentsRecordDO> list = jdbcTemplate.query(sql,new BeanPropertyRowMapper<>(RecruitStudentsRecordDO.class));
        return list;
    }
    /**
    /**
     * 录取单个
     * 录取单个
     * @param id
     * @param id

+ 8 - 2
svr/svr-base/src/main/java/com/yihu/jw/base/util/WxMessageUtil.java

@ -87,11 +87,12 @@ public class WxMessageUtil {
             */
             */
            String first = "您好,恭喜您已被"+recordDO.getOrgName()+"成功录取";
            String first = "您好,恭喜您已被"+recordDO.getOrgName()+"成功录取";
            String remark = "请及时前往托育机构完成报名,如有疑问请联系招生热线"+orgMobile;
            String remark = "请及时前往托育机构完成报名,如有疑问请联系招生热线"+orgMobile;
            String url = serviceUrl+"/medical-care-patient/onlineRegistration/nurseriesdetail?id="+orgId;
            JSONObject json = new JSONObject();
            json.put("orgId",orgId);
            List<BasePatientWechatDo> basePatientWechatDos = basePatientWechatDao.findByWechatIdAndPatientId(wechatId,recordDO.getPatient());
            List<BasePatientWechatDo> basePatientWechatDos = basePatientWechatDao.findByWechatIdAndPatientId(wechatId,recordDO.getPatient());
            if(basePatientWechatDos.size()>0){
            if(basePatientWechatDos.size()>0){
                String openId = basePatientWechatDos.get(0).getOpenid();
                String openId = basePatientWechatDos.get(0).getOpenid();
                putTemplateWxMessage(wechatId,"template_success_notice","cgrxtz",openId,first,url,remark,2,null,
                putTemplateWxMessage(wechatId,"template_success_notice","cgrxtz",openId,first,null,remark,2,json,
                        recordDO.getPatientName(),recordDO.getMobile());
                        recordDO.getPatientName(),recordDO.getMobile());
            }
            }
        }
        }
@ -194,6 +195,11 @@ public class WxMessageUtil {
                wxTemplateConfigDO.setUrl(wxTemplateConfigDO.getUrl() + "?sessionId=" + json.getString("sessionId")
                wxTemplateConfigDO.setUrl(wxTemplateConfigDO.getUrl() + "?sessionId=" + json.getString("sessionId")
                        +"&type="+json.getString("consultType"));
                        +"&type="+json.getString("consultType"));
                break;
                break;
            case 2:
                //入学成功通知
                wxTemplateConfigDO.setUrl(wxTemplateConfigDO.getUrl() + "?id=" + json.getString("orgId")
                        +"&openid="+openid);
                break;
            case 19:
            case 19:
                String urlStr= wxTemplateConfigDO.getUrl();
                String urlStr= wxTemplateConfigDO.getUrl();
                boolean status = urlStr.contains("openid=");
                boolean status = urlStr.contains("openid=");

+ 7 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/consult/PatientConsultEndpoint.java

@ -107,11 +107,16 @@ public class PatientConsultEndpoint extends EnvelopRestEndpoint {
	@ApiOperation(value = "获取居民该机构的最近一次在线咨询")
	@ApiOperation(value = "获取居民该机构的最近一次在线咨询")
	public Envelop findLastOnlineConsult(
	public Envelop findLastOnlineConsult(
			@ApiParam(name = "orgCode", value = "机构code")
			@ApiParam(name = "orgCode", value = "机构code")
			@RequestParam(value = "orgCode",required = true) String orgCode,
			@RequestParam(value = "orgCode",required = false) String orgCode,
            @ApiParam(name = "sessionId", value = "会话id")
            @RequestParam(value = "sessionId",required = false) String sessionId,
			@ApiParam(name = "patient", value = "居民CODE")
			@ApiParam(name = "patient", value = "居民CODE")
			@RequestParam(value = "patient",required = true) String patient)throws Exception {
			@RequestParam(value = "patient",required = true) String patient)throws Exception {
		try {
		try {
			return success("请求成功",consultService.findLastOnlineConsult(patient, orgCode));
			if (StringUtils.isBlank(orgCode)&&StringUtils.isBlank(sessionId)){
				return Envelop.getError("参数错误请求失败");
			}
			return success("请求成功",consultService.findLastOnlineConsult(patient, orgCode,sessionId));
		}catch (Exception e){
		}catch (Exception e){
			return failedException(e);
			return failedException(e);
		}
		}

+ 0 - 13
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/consult/WxPushEndpoint.java

@ -52,17 +52,4 @@ public class WxPushEndpoint extends EnvelopRestEndpoint {
        return success("success");
        return success("success");
    }
    }
    @PostMapping(value = "sendPatientUnreadWXTemplate")
    @ApiOperation(value = "Job发送居民未读消息微信模板消息")
    public Envelop sendPatientUnreadWXTemplate(@ApiParam(name = "openid", value = "openid")
                                               @RequestParam(value = "openid", required = true) String openid,
                                               @ApiParam(name = "first", value = "first")
                                               @RequestParam(value = "first", required = true) String first,
                                               @ApiParam(name = "templateName", value = "templateName")
                                               @RequestParam(value = "templateName", required = true) String templateName,
                                               @ApiParam(name = "scene", value = "scene")
                                               @RequestParam(value = "scene", required = true) String scene){
        wxPushService.sendPatientUnreadWXTemplate(openid,first,templateName,scene);
        return success("success");
    }
}
}

+ 4 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/patient/PatientEndpoint.java

@ -147,8 +147,10 @@ public class PatientEndpoint extends EnvelopRestEndpoint {
            }
            }
            return success("修改成功");
            return success("修改成功");
        }catch (Exception e){
        }catch (Exception e){
            if (e.getMessage().contains("重复签约服务项目")){
                return failed("修改失败,"+e.getMessage(),-1);
            if (e.getMessage()!=null){
                if (e.getMessage().contains("重复签约服务项目")){
                    return failed("修改失败,"+e.getMessage(),-1);
                }
            }
            }
            e.printStackTrace();
            e.printStackTrace();
            return failed("修改失败",-1);
            return failed("修改失败",-1);

+ 9 - 3
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/consult/ConsultService.java

@ -75,7 +75,7 @@ public class ConsultService {
     * @param patient
     * @param patient
     * @param orgCode
     * @param orgCode
     */
     */
    public Map<String,Object> findLastOnlineConsult(String patient,String orgCode){
    public Map<String,Object> findLastOnlineConsult(String patient,String orgCode,String sessionId){
        Map<String,Object> map = new HashedMap();
        Map<String,Object> map = new HashedMap();
        String sql = "SELECT " +
        String sql = "SELECT " +
                " b.consult,b.doctor, " +
                " b.consult,b.doctor, " +
@ -86,8 +86,14 @@ public class ConsultService {
                "WHERE " +
                "WHERE " +
                " b.doctor = h.doctor_code " +
                " b.doctor = h.doctor_code " +
                "AND b.patient = '"+patient+"' " +
                "AND b.patient = '"+patient+"' " +
                "AND b.type = 23 "+
                "AND h.org_code = '"+orgCode+"' ORDER BY b.czrq desc LIMIT 1 ";
                "AND b.type = 23 ";
        if(StringUtils.isEmpty(orgCode)){
            String doctor = sessionId.split("_")[1];
            sql += "AND b.doctor = '"+doctor+"' ";
        }else {
            sql += "AND h.org_code = '"+orgCode+"' ";
        }
        sql += " ORDER BY b.czrq desc LIMIT 1 ";
        List<Map<String,Object>> list = jdbcTemplate.queryForList(sql);
        List<Map<String,Object>> list = jdbcTemplate.queryForList(sql);
        if(list.size()>0){
        if(list.size()>0){
            map = list.get(0);
            map = list.get(0);

+ 16 - 11
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/consult/WxPushService.java

@ -2,9 +2,12 @@ package com.yihu.jw.care.service.consult;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.care.util.MessageUtil;
import com.yihu.jw.care.util.MessageUtil;
import com.yihu.jw.entity.base.im.ConsultDo;
import com.yihu.jw.doctor.dao.BaseDoctorHospitalDao;
import com.yihu.jw.entity.base.doctor.BaseDoctorHospitalDO;
import com.yihu.jw.entity.base.im.ConsultTeamDo;
import com.yihu.jw.entity.base.wx.BasePatientWechatDo;
import com.yihu.jw.entity.base.wx.BasePatientWechatDo;
import com.yihu.jw.im.dao.ConsultDao;
import com.yihu.jw.im.dao.ConsultDao;
import com.yihu.jw.im.dao.ConsultTeamDao;
import com.yihu.jw.im.util.ImUtil;
import com.yihu.jw.im.util.ImUtil;
import com.yihu.jw.util.date.DateUtil;
import com.yihu.jw.util.date.DateUtil;
import com.yihu.jw.wechat.dao.BasePatientWechatDao;
import com.yihu.jw.wechat.dao.BasePatientWechatDao;
@ -12,7 +15,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
import java.util.List;
/**
/**
@ -32,14 +34,18 @@ public class WxPushService {
    @Autowired
    @Autowired
    private ConsultDao consultDao;
    private ConsultDao consultDao;
    @Autowired
    @Autowired
    private ConsultTeamDao consultTeamDao;
    @Autowired
    private BasePatientWechatDao basePatientWechatDao;
    private BasePatientWechatDao basePatientWechatDao;
    @Autowired
    private BaseDoctorHospitalDao doctorHospitalDao;
    /**
    /**
     * 发送微信模板
     * 发送微信模板
     */
     */
    public void sendWXTemplate(String userName,String idCard, String phone,String title, String url,String content,
    public void sendWXTemplate(String userName,String idCard, String phone,String title, String url,String content,
                               String topidId,String sessionId,String contentString){
                               String topidId,String sessionId,String contentString){
        JSONObject json = new JSONObject();
        JSONObject json = new JSONObject();
        ConsultDo consult =  consultDao.findOne(topidId);
        ConsultTeamDo consult =  consultTeamDao.findByConsult(topidId);
        if(consult == null) {
        if(consult == null) {
           return;
           return;
        }
        }
@ -57,10 +63,16 @@ public class WxPushService {
         {{remark.DATA}}
         {{remark.DATA}}
         */
         */
        String consultType = String.valueOf(consult.getType());
        String consultType = String.valueOf(consult.getType());
        String first = "key1,您好!您的咨询有新的回复";
        String first = userName+",您好!您的咨询有新的回复";
        if(ImUtil.SESSION_TYPE_DOOR_COACH.equals(consultType)){
        if(ImUtil.SESSION_TYPE_DOOR_COACH.equals(consultType)){
            first = userName +"的上门辅导服务咨询有新的回复";
            first = userName +"的上门辅导服务咨询有新的回复";
        }
        }
        List<BaseDoctorHospitalDO> list = doctorHospitalDao.findByDoctorCode(consult.getDoctor());
        if(list.size()>0){
            json.put("orgCode",list.get(0).getOrgCode());
        }else {
            json.put("orgCode","");
        }
        json.put("sessionId",sessionId);
        json.put("sessionId",sessionId);
        json.put("consultType",consultType);
        json.put("consultType",consultType);
        List<BasePatientWechatDo> basePatientWechatDos = basePatientWechatDao.findByWechatIdAndPatientId(wxId,consult.getPatient());
        List<BasePatientWechatDo> basePatientWechatDos = basePatientWechatDao.findByWechatIdAndPatientId(wxId,consult.getPatient());
@ -71,11 +83,4 @@ public class WxPushService {
        }
        }
    }
    }
    public void sendPatientUnreadWXTemplate(String openid,String first,String templateName,String scene){
        String time = DateUtil.getStringDateShort()+" 09:00:00";
        Date timeDate = DateUtil.strToDate(time);
        messageUtil.putTemplateWxMessage(wxId,templateName,scene,openid,first,null,null,1,null,
                DateUtil.dateToChineseTime2(timeDate),"消息未回复通知","未回复");
    }
}
}

+ 1 - 0
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/course/CourseService.java

@ -676,6 +676,7 @@ public class CourseService {
            object.put("code",mapList.get(0).get("code"));//机构code
            object.put("code",mapList.get(0).get("code"));//机构code
            object.put("recruitId",mapList.get(0).get("recruitId"));//机构id
            object.put("recruitId",mapList.get(0).get("recruitId"));//机构id
            object.put("id",mapList.get(0).get("id"));//机构id
            object.put("id",mapList.get(0).get("id"));//机构id
            object.put("code",mapList.get(0).get("code"));//机构id
            object.put("name",mapList.get(0).get("name"));//机构名称
            object.put("name",mapList.get(0).get("name"));//机构名称
            object.put("mobile",mapList.get(0).get("mobile"));//机构联系方式
            object.put("mobile",mapList.get(0).get("mobile"));//机构联系方式
            object.put("photo",mapList.get(0).get("photo"));//机构图片
            object.put("photo",mapList.get(0).get("photo"));//机构图片

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/doctor/CareDoctorService.java

@ -242,7 +242,7 @@ public class CareDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa
        //已入学
        //已入学
        String sql1=" select DISTINCT rsr.patient from base_recruit_students_record rsr INNER JOIN  base_org org on rsr.org_code = org.`code` " +
        String sql1=" select DISTINCT rsr.patient from base_recruit_students_record rsr INNER JOIN  base_org org on rsr.org_code = org.`code` " +
                "and org.del=1 INNER JOIN base_doctor_hospital dh on rsr.org_code = dh.org_code and dh.del =1  where dh.doctor_code='"+doctor+"' " +
                "and org.del=1 INNER JOIN base_doctor_hospital dh on rsr.org_code = dh.org_code and dh.del =1  where dh.doctor_code='"+doctor+"' " +
                "and rsr.del<>0  and rsr.`status` = 2 GROUP BY dh.doctor_code  ";
                "and rsr.del<>0  and rsr.`status` = 2   ";
        String sql = "select p.id,p.name,p.photo,p.sex,p.idcard,p.openid,p.mobile,group_concat( pd.category_code) deviceType from ( {sqlReplace} )tmp Inner JOIN base_patient p on tmp.patient  = p.id " +
        String sql = "select p.id,p.name,p.photo,p.sex,p.idcard,p.openid,p.mobile,group_concat( pd.category_code) deviceType from ( {sqlReplace} )tmp Inner JOIN base_patient p on tmp.patient  = p.id " +
                " LEFT JOIN wlyy_patient_device pd on pd.`user`=p.id and pd.category_code BETWEEN 1 and 2 GROUP BY p.id ";
                " LEFT JOIN wlyy_patient_device pd on pd.`user`=p.id and pd.category_code BETWEEN 1 and 2 GROUP BY p.id ";
        String sqlcpunt = "select count(Distinct p.id) from ( {sqlReplace} )tmp Inner JOIN base_patient p on tmp.patient  = p.id " +
        String sqlcpunt = "select count(Distinct p.id) from ( {sqlReplace} )tmp Inner JOIN base_patient p on tmp.patient  = p.id " +
@ -289,7 +289,7 @@ public class CareDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa
        //已入学
        //已入学
        String sql1=" select DISTINCT rsr.patient from base_recruit_students_record rsr INNER JOIN  base_org org on rsr.org_code = org.`code` " +
        String sql1=" select DISTINCT rsr.patient from base_recruit_students_record rsr INNER JOIN  base_org org on rsr.org_code = org.`code` " +
                "and org.del=1 INNER JOIN base_doctor_hospital dh on rsr.org_code = dh.org_code and dh.del =1  where dh.doctor_code='"+doctor+"' " +
                "and org.del=1 INNER JOIN base_doctor_hospital dh on rsr.org_code = dh.org_code and dh.del =1  where dh.doctor_code='"+doctor+"' " +
                "and rsr.del<>0  and rsr.`status` = 2 GROUP BY dh.doctor_code  ";
                "and rsr.del<>0  and rsr.`status` = 2   ";
        String sqlcpunt = "select count(Distinct p.id) from ( {sqlReplace} )tmp Inner JOIN base_patient p on tmp.patient  = p.id " +
        String sqlcpunt = "select count(Distinct p.id) from ( {sqlReplace} )tmp Inner JOIN base_patient p on tmp.patient  = p.id " +
                " LEFT JOIN wlyy_patient_device pd on pd.`user`=p.id and pd.category_code BETWEEN 1 and 2  ";
                " LEFT JOIN wlyy_patient_device pd on pd.`user`=p.id and pd.category_code BETWEEN 1 and 2  ";

+ 3 - 5
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/doorCoach/DoctorDoorCoachOrderService.java

@ -439,16 +439,14 @@ public class DoctorDoorCoachOrderService {
        ConsultDo consult = consultDao.queryByRelationCode(orderId);
        ConsultDo consult = consultDao.queryByRelationCode(orderId);
        try {
        try {
            JSONObject json = new JSONObject();
            JSONObject json = new JSONObject();
            if(consult != null) {
                json.put("consult", consult.getId());
            }
            String first = "key1,您好!您的上门预约服务已由【key2】医生接单了";
            json.put("id", doorServiceOrder.getId());
            String first = "【key1】您好!您的上门预约订单已由【key2】接单了";
            first = first.replace("key1",(patient.getName()==null?"":patient.getName()));
            first = first.replace("key1",(patient.getName()==null?"":patient.getName()));
            first = first.replace("key2", null != doorServiceOrder.getDoctorName() ? doorServiceOrder.getDoctorName() : "");
            first = first.replace("key2", null != doorServiceOrder.getDoctorName() ? doorServiceOrder.getDoctorName() : "");
            List<BasePatientWechatDo> basePatientWechatDos = basePatientWechatDao.findByWechatIdAndPatientId(wxId,patient.getId());
            List<BasePatientWechatDo> basePatientWechatDos = basePatientWechatDao.findByWechatIdAndPatientId(wxId,patient.getId());
            if (basePatientWechatDos.size()>0){
            if (basePatientWechatDos.size()>0){
                String openId = basePatientWechatDos.get(0).getOpenid();
                String openId = basePatientWechatDos.get(0).getOpenid();
                messageUtil.putTemplateWxMessage(wxId,"template_process_feedback","smyyyjjd",openId,first,null,null,30,json, DateUtil.dateToChineseDate(new Date()),"上门预约已接单","已接单");
                messageUtil.putTemplateWxMessage(wxId,"template_process_feedback","smyyyjjd",openId,first,null,null,2,json, DateUtil.dateToChineseDate(new Date()),"上门预约已接单","已接单");
            }
            }
        }catch (Exception e){
        }catch (Exception e){
            e.printStackTrace();
            e.printStackTrace();

+ 3 - 7
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/doorCoach/PatientDoorCoachOrderService.java

@ -845,19 +845,15 @@ public class PatientDoorCoachOrderService extends BaseJpaService<BaseDoorCoachOr
        this.orderWithConfirmLogAdd(result,confirmInfo,orderId);
        this.orderWithConfirmLogAdd(result,confirmInfo,orderId);
        ConsultDo consult = consultDao.queryByRelationCode(orderId);
        ConsultDo consult = consultDao.queryByRelationCode(orderId);
        // 发送微信模板消息,通知居民工单已取消(smyyyqx-上门预约已取消)
        // 发送微信模板消息,通知居民工单已取消(smyyyqx-上门预约已取消)
        String first = "key1,您好,您的上门预约服务已退回,点击查看原因";
        String first = "key1您好,您的上门预约订单已退回,点击查看原因";
        BasePatientDO patient = patientDao.findById(orderDO.getPatient());
        BasePatientDO patient = patientDao.findById(orderDO.getPatient());
        first  = first.replace("key1", null != patient.getName() ? patient.getName() : "");
        first  = first.replace("key1", null != patient.getName() ? patient.getName() : "");
        JSONObject json = new JSONObject();
        JSONObject json = new JSONObject();
        if(consult != null) {
            json.put("consult", consult.getId());
        }else {
            json.put("id", orderDO.getId());
        }
        json.put("id", orderDO.getId());
        List<BasePatientWechatDo> basePatientWechatDos = basePatientWechatDao.findByWechatIdAndPatientId(wxId,patient.getId());
        List<BasePatientWechatDo> basePatientWechatDos = basePatientWechatDao.findByWechatIdAndPatientId(wxId,patient.getId());
        if (basePatientWechatDos.size()>0){
        if (basePatientWechatDos.size()>0){
            String openId = basePatientWechatDos.get(0).getOpenid();
            String openId = basePatientWechatDos.get(0).getOpenid();
            messageUtil.putTemplateWxMessage(wxId,"template_process_feedback","smyyyqx",openId,first,null,null,30,json, DateUtil.dateToChineseDate(new Date()),"上门预约已取消","已取消");
            messageUtil.putTemplateWxMessage(wxId,"template_process_feedback","smyyyqx",openId,first,null,null,2,json, DateUtil.dateToChineseDate(new Date()),"上门预约已取消","已取消");
        }
        }

+ 19 - 7
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/patient/CarePatientService.java

@ -108,11 +108,21 @@ public class CarePatientService extends BaseJpaService<BasePatientDO, BasePatien
    public JSONObject findPatientById(String patientId,String isCapacity) throws Exception{
    public JSONObject findPatientById(String patientId,String isCapacity) throws Exception{
        JSONObject res = new JSONObject();
        JSONObject res = new JSONObject();
        BasePatientDO patientDO = patientDao.findById(patientId);
        BasePatientDO patientDO = patientDao.findById(patientId);
        patientDO.setArchiveStatusName(dictService.fingByNameAndCode(ConstantUtil.DICT_ARCHIVESTATUS,String.valueOf(patientDO.getArchiveStatus())));
        patientDO.setNationalName(dictService.fingByNameAndCode(ConstantUtil.DICT_NATIONAL,String.valueOf(patientDO.getNational())));
        patientDO.setArchiveTypeName(dictService.fingByNameAndCode(ConstantUtil.DICT_ARCHIVETYPE,String.valueOf(patientDO.getArchiveType())));
        patientDO.setBloodName(dictService.fingByNameAndCode(ConstantUtil.DICT_BLOOD,String.valueOf(patientDO.getBlood())));
        patientDO.setMarriageName(dictService.fingByNameAndCode(ConstantUtil.DICT_MARRIAGE_STATUS,String.valueOf(patientDO.getMarriage())));
        if (patientDO.getArchiveStatus()!=null){
            patientDO.setArchiveStatusName(dictService.fingByNameAndCode(ConstantUtil.DICT_ARCHIVESTATUS,String.valueOf(patientDO.getArchiveStatus())));
        }
        if (patientDO.getNational()!=null){
            patientDO.setNationalName(dictService.fingByNameAndCode(ConstantUtil.DICT_NATIONAL,String.valueOf(patientDO.getNational())));
        }
        if (patientDO.getArchiveType()!=null){
            patientDO.setArchiveTypeName(dictService.fingByNameAndCode(ConstantUtil.DICT_ARCHIVETYPE,String.valueOf(patientDO.getArchiveType())));
        }
        if (patientDO.getBlood()!=null){
            patientDO.setBloodName(dictService.fingByNameAndCode(ConstantUtil.DICT_BLOOD,String.valueOf(patientDO.getBlood())));
        }
        if (patientDO.getMarriage()!=null){
            patientDO.setMarriageName(dictService.fingByNameAndCode(ConstantUtil.DICT_MARRIAGE_STATUS,String.valueOf(patientDO.getMarriage())));
        }
        res.put("patient",patientDO);
        res.put("patient",patientDO);
@ -178,8 +188,10 @@ public class CarePatientService extends BaseJpaService<BasePatientDO, BasePatien
        patientBrief.setMobile(patientDetail.getMobile());
        patientBrief.setMobile(patientDetail.getMobile());
        patientBrief.setMobileRemarks(patientDetail.getMobileRemarks());
        patientBrief.setMobileRemarks(patientDetail.getMobileRemarks());
        patientDao.save(patientBrief);
        patientDao.save(patientBrief);
        JSONObject jsonObject1 = jsonObject.getJSONObject("signRecordDO");
        JSONObject jsonObject1 = null;
        if (jsonObject.containsKey("signRecordDO")){
            jsonObject1 = jsonObject.getJSONObject("signRecordDO");
        }
        JSONObject result  = new JSONObject();
        JSONObject result  = new JSONObject();
        result.put(ResponseContant.resultFlag, ResponseContant.success);
        result.put(ResponseContant.resultFlag, ResponseContant.success);
        result.put(ResponseContant.resultMsg,"修改成功");
        result.put(ResponseContant.resultMsg,"修改成功");

+ 7 - 1
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/util/MessageUtil.java

@ -191,7 +191,13 @@ public class MessageUtil {
            case 1:
            case 1:
                //咨询回复
                //咨询回复
                wxTemplateConfigDO.setUrl(wxTemplateConfigDO.getUrl() + "?sessionId=" + json.getString("sessionId")
                wxTemplateConfigDO.setUrl(wxTemplateConfigDO.getUrl() + "?sessionId=" + json.getString("sessionId")
                        +"&type="+json.getString("consultType"));
                        +"&type="+json.getString("consultType")+"&orgCode="+json.getString("orgCode")+"&openid="+openid);
                break;
            case 2:
                wxTemplateConfigDO.setUrl(wxTemplateConfigDO.getUrl() + "?openid=" + openid+"&id="+json.getString("id"));
                break;
            case 3:
                wxTemplateConfigDO.setUrl(wxTemplateConfigDO.getUrl() + "?openid=" + openid);
                break;
                break;
            case 19:
            case 19:
                String urlStr= wxTemplateConfigDO.getUrl();
                String urlStr= wxTemplateConfigDO.getUrl();

+ 2 - 1
svr/svr-cloud-job/src/main/java/com/yihu/jw/care/job/message/PatientSendUnreadJob.java

@ -1,5 +1,6 @@
package com.yihu.jw.care.job.message;
package com.yihu.jw.care.job.message;
import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.care.util.MessageUtil;
import com.yihu.jw.care.util.MessageUtil;
import com.yihu.jw.im.util.ImUtil;
import com.yihu.jw.im.util.ImUtil;
import com.yihu.jw.util.date.DateUtil;
import com.yihu.jw.util.date.DateUtil;
@ -80,7 +81,7 @@ public class PatientSendUnreadJob implements Job {
        String time = DateUtil.getStringDateShort()+" 09:00:00";
        String time = DateUtil.getStringDateShort()+" 09:00:00";
        Date timeDate = DateUtil.strToDate(time);
        Date timeDate = DateUtil.strToDate(time);
        messageUtil.putTemplateWxMessage(wxId,templateName,scene,openid,first,null,null,null,null,
        messageUtil.putTemplateWxMessage(wxId,templateName,scene,openid,first,null,null,3,new JSONObject(),
                DateUtil.dateToChineseTime2(timeDate),"消息未回复通知","未回复");
                DateUtil.dateToChineseTime2(timeDate),"消息未回复通知","未回复");
    }
    }
}
}

+ 2 - 38
svr/svr-cloud-job/src/main/java/com/yihu/jw/care/util/MessageUtil.java

@ -113,44 +113,8 @@ public class MessageUtil {
            return wxTemplateConfigDO;
            return wxTemplateConfigDO;
        }
        }
        switch (type){
        switch (type){
            case 1:
                //咨询回复
                wxTemplateConfigDO.setUrl(wxTemplateConfigDO.getUrl() + "?sessionId=" + json.getString("sessionId")
                        +"&type="+json.getString("consultType"));
                break;
            case 19:
                String urlStr= wxTemplateConfigDO.getUrl();
                boolean status = urlStr.contains("openid=");
                if(!status){
                    urlStr=json.getString("url")+"?openid=" + openid;
                }
                wxTemplateConfigDO.setUrl(url + urlStr );
                break;
            case 30:
                //反馈通知 测试 TPbq9m0SAiVfRhXtXq17SDmYIfrJ8Whp2NpSrq9wlfI
                if(json.containsKey("consult")) {
                    wxTemplateConfigDO.setUrl(url + wxTemplateConfigDO.getUrl() + "?openid=" + openid + "&consult=" + json.getString("consult"));
                }else if (json.containsKey("id")){
                    wxTemplateConfigDO.setUrl(url + wxTemplateConfigDO.getUrl() + "?openid=" + openid + "&id=" + json.getString("id"));
                }else if(json.containsKey("relationCode")){
                    wxTemplateConfigDO.setUrl(url + wxTemplateConfigDO.getUrl() + "?openid=" + openid );
                }else if(json.containsKey("resultCode")){
                    wxTemplateConfigDO.setUrl(url + wxTemplateConfigDO.getUrl() + "?resultCode=" + json.getString("resultCode"));
                }
                break;
            case 31:
                //上门服务医生评分
                wxTemplateConfigDO.setUrl(url + wxTemplateConfigDO.getUrl()+"?openid=" + openid + "&id=" + json.getString("id")+ "&finish=" + json.getString("finish"));
                break;
            case 32:
                String url1 = "wx/common/";
                wxTemplateConfigDO.setUrl(url1 + wxTemplateConfigDO.getUrl()+"?openid=" + openid + "&consult=" + json.getString("consult") + "&status=" + json.getInteger("status"));
                break;
            case 34:
                wxTemplateConfigDO.setUrl(url + wxTemplateConfigDO.getUrl() + "?openid=" + openid + "&orderId=" + json.getString("orderId")+ "&authorizeImage=" + json.getString("authorizeImage"));
                break;
            case 35:
                wxTemplateConfigDO.setUrl(url + wxTemplateConfigDO.getUrl()+json.getString("orderId")+"&isMask=1");
            case 3:
                wxTemplateConfigDO.setUrl(wxTemplateConfigDO.getUrl() + "?openid=" + openid);
                break;
                break;
        }
        }
        return wxTemplateConfigDO;
        return wxTemplateConfigDO;