Procházet zdrojové kódy

消息代码提交

chenweida před 8 roky
rodič
revize
6a4b65f84e

+ 1 - 1
patient-co-wlyy/src/main/java/com/yihu/wlyy/entity/consult/Consult.java

@ -27,7 +27,7 @@ public class Consult extends IdEntity {
	private String code;
	// 患者标识
	private String patient;
	// 咨询类型:1三师咨询,2视频咨询,3图文咨询,4公共咨询,5病友圈
	// 咨询类型:1三师咨询,2视频咨询,3图文咨询,4公共咨询,5病友圈 6、患者名医咨询 7医生名医咨询
	private Integer type;
	// 咨询标题/主诉
	private String title;

+ 1 - 1
patient-co-wlyy/src/main/java/com/yihu/wlyy/entity/consult/ConsultTeam.java

@ -21,7 +21,7 @@ public class ConsultTeam extends IdEntity {
	private String consult;         // 咨询标识
	private String doctor;          // 医生标识
	private String team;            // 三师团队标识
	private Integer type;           //  1、三师咨询,2、家庭医生咨询,6、名医咨询
	private Integer type;           //  1、三师咨询,2、家庭医生咨询,6、名医咨询 7医生名医咨询
	private String patient;         // 提问者标识
	private String name;            // 患者姓名
	private Integer sex;            // 患者性别

+ 3 - 3
patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/account/DoctorInfoService.java

@ -711,8 +711,9 @@ public class DoctorInfoService extends BaseService {
    public void updateTeamHealthDoctor(String newDoctorCode, String oldDoctorCode, String patient) throws Exception {
        //得到患者的签约信息
        SignFamily signFamily = signFamilyDao.findByPatient(patient);
        String groupCode = "";
        if (StringUtils.isNoneBlank(oldDoctorCode)) {
        //如果存在旧的健管师
        if (!org.springframework.util.StringUtils.isEmpty(oldDoctorCode)) {
            //判断患者对旧的健管师是否存在健康咨询
            ConsultTeam consultTeam = consultTeamDao.findByParientCodeAndSignTypeAndDoctor(patient, oldDoctorCode, 2);
            if (consultTeam != null) {
                throw new Exception("存在没有关闭的健康咨询");
@ -723,7 +724,6 @@ public class DoctorInfoService extends BaseService {
                doctorTeamMember.setDel("0");
            }
        }
        Patient patientObj = patientDao.findByCode(patient);
        Doctor newD = doctorDao.findByCode(newDoctorCode);
        //修改签约中的健康管理师
        signFamily.setDoctorHealth(newD.getCode());

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

@ -925,19 +925,38 @@ public class ConsultTeamService extends ConsultService {
        }
    }
    public void addFamousTeamConsult(ConsultTeam ct, String uid) throws Exception {
    /**
     *
     * @param ct
     * @param uid
     * @param type 1患者 2医生
     * @throws Exception
     */
    public void addFamousTeamConsult(ConsultTeam ct, String uid,String type) throws Exception {
        // 设置患者信息
        ct.setPatient(uid);
        // 查询患者信息
        Patient tempPatient = patientDao.findByCode(uid);
        // 设置患者姓名
        ct.setName(tempPatient.getName());
        // 设置患者生日
        ct.setBirthday(tempPatient.getBirthday());
        //新增性别
        ct.setSex(tempPatient.getSex());
        // 设置患者头像
        ct.setPhoto(tempPatient.getPhoto());
        if("1".equals(type)){
            // 查询患者信息
            Patient tempPatient = patientDao.findByCode(uid);
            // 设置患者姓名
            ct.setName(tempPatient.getName());
            // 设置患者生日
            ct.setBirthday(tempPatient.getBirthday());
            //新增性别
            ct.setSex(tempPatient.getSex());
            // 设置患者头像
            ct.setPhoto(tempPatient.getPhoto());
        }else if("2".equals(type)){
            Doctor doctorTemp=doctorDao.findByCode(uid);
            // 设置医生姓名
            ct.setName(doctorTemp.getName());
            // 设置医生生日
            ct.setBirthday(doctorTemp.getBirthday());
            //新增性别
            ct.setSex(doctorTemp.getSex());
            // 设置医生头像
            ct.setPhoto(doctorTemp.getPhoto());
        }
        // 设置操作日期
        ct.setCzrq(new Date());
        ct.setDel("1");

+ 63 - 1
patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/consult/DoctorConsultController.java

@ -6,6 +6,7 @@ import java.util.Map;
import com.yihu.wlyy.service.app.health.PatientHealthGuidanceService;
import com.yihu.wlyy.service.app.scheduling.DoctorWorkTimeService;
import com.yihu.wlyy.service.common.account.DoctorService;
import com.yihu.wlyy.util.MessageType;
import io.swagger.annotations.Api;
import org.apache.commons.lang3.StringUtils;
import org.json.JSONArray;
@ -552,5 +553,66 @@ public class DoctorConsultController extends WeixinBaseController {
            return error(-1, "回复失败!");
        }
    }
    /**
     * 名医咨询添加接口
     * @param when 发病时间
     * @param symptoms 主要症状
     * @param images 图片URL地址,多图以逗号分隔
     * @param voice 语音URL地址
     * @param doctorCode 名医的code
     * @return
     */
    @RequestMapping(value = "famousAdd")
    @ResponseBody
    public String famousAdd(
            @RequestParam(required = false)String when,
            String symptoms,
            @RequestParam(required = false) String doctorCode,
            @RequestParam(required = false) String images,
            @RequestParam(required = false) String voice) {
        try {
            //判断医生是否是在工作时间
            JSONObject jo=doctorWorkTimeService.isFamousDoctorWorking(doctorCode);
            if(!jo.get("status").equals("1")){
                return error(-1, jo.get("msg").toString());
            }
            if (StringUtils.isEmpty(images)) {
                images = fetchWxImages();
            }
            // 将临时图片拷贝到正式存储路径下
            if (StringUtils.isNotEmpty(images)) {
                images = CommonUtil.copyTempImage(images);
            }
            if (StringUtils.isEmpty(voice)) {
                voice = fetchWxVoices();
            }
            if (StringUtils.isNotEmpty(voice)) {
                voice = CommonUtil.copyTempVoice(voice);
            }
            //判断是否已经存在还没有关闭的名医咨询
//            if(consultTeamService.isExistFamousConsult(getUID())){
//                return error(-1, "已经存在名医咨询!");
//            }
            ConsultTeam consult = new ConsultTeam();
            // 设置咨询类型:1三师咨询,2家庭医生咨询 6.患者发起名医咨询 7医生发起的名医咨询
            consult.setType(7);
            // 设置发病时间
            consult.setWhen(when);
            // 设置主要症状
            consult.setSymptoms(symptoms);
            // 设置咨询图片URL
            consult.setImages(images);
            // 设置咨询语音URL
            consult.setVoice(voice);
            consult.setDoctor(doctorCode);//设置专科医生
            // 保存到数据库
            consultTeamService.addFamousTeamConsult(consult, getUID(),"2");
            // 推送消息给医生
            PushMsgTask.getInstance().put(consult.getDoctor(), MessageType.MESSAGE_TYPE_DOCTOR_NEW_FAMOUS_CONSULT_TEAM.D_CT_01.name(), MessageType.MESSAGE_TYPE_DOCTOR_NEW_FAMOUS_CONSULT_TEAM.名医咨询.name(), MessageType.MESSAGE_TYPE_DOCTOR_NEW_FAMOUS_CONSULT_TEAM.您有新的名医咨询.name(), consult.getConsult());
            return success("提交成功");
        } catch (Exception ex) {
            error(ex);
            return invalidUserException(ex, -1, "提交失败!");
        }
    }
}

+ 1 - 1
patient-co-wlyy/src/main/java/com/yihu/wlyy/web/patient/consult/ConsultController.java

@ -353,7 +353,7 @@ public class ConsultController extends WeixinBaseController {
			consult.setVoice(voice);
			consult.setDoctor(doctorCode);//设置专科医生
			// 保存到数据库
			consultTeamService.addFamousTeamConsult(consult, getUID());
			consultTeamService.addFamousTeamConsult(consult, getUID(),"1");
			//名医咨询次数减一
			doctorWorkTimeService.setDoctorCurrentConsultTimesRemain(doctorCode);
			// 推送消息给医生