Browse Source

Merge branch 'dev-1.3.7' of wujunjie/patient-co-management into dev-1.3.7

trick9191 7 năm trước cách đây
mục cha
commit
24085213f1

+ 122 - 3
patient-co/patient-co-doctor-assistant/src/main/java/com/yihu/wlyy/service/template/DoctorFeldsherTemplateService.java

@ -117,11 +117,11 @@ public class DoctorFeldsherTemplateService extends BaseService {
            Doctor doctor = doctorDao.findByCode(doctorCode);
            String doctorName = doctor.getName();
            String doctorOpenId = doctor.getOpenid();
            businessType = parseBusinessType(businessType);
            JSONObject sendJson = weiXinTempMsgSendUtils.packageTemplate(businessType, remark, content, dateFormat.format(new Date()));
            Boolean flag = weiXinTempMsgSendUtils.sendTemplateMessage(templateId, doctorOpenId, url, sendJson);
            logger.info("send wechat message param : " + doctorOpenId+" =======> "+content);
            logger.info("send wechat message retuen : " + flag+" =======> "+flag);
            logger.info("send wechat message param : " + doctorOpenId + " =======> " + content);
            logger.info("send wechat message retuen : " + flag + " =======> " + flag);
            logger.info("sendJson: " + sendJson);
            return true;
        } catch (Exception e) {
@ -129,4 +129,123 @@ public class DoctorFeldsherTemplateService extends BaseService {
            return false;
        }
    }
    /**
     * 解析businessType
     *
     * @param businessType 消息类型
     * @return
     */
    private String parseBusinessType(String businessType) {
        try {
            switch (businessType) {
                case "SYSTEM":
                    businessType = "系统消息";
                    break;
                case "P_FU_01":
                    businessType = "随访计划, 您有新的随访计划";
                    break;
                case "P_FU_02":
                    businessType = "随访提醒, 您有新的随访提醒";
                    break;
                case "P_HG_01":
                    businessType = "健康指导, 您有新的健康指导";
                    break;
                case "P_SI_01":
                    businessType = "体测提醒, 您有新的体测提醒";
                    break;
                case "P_IS_01":
                    businessType = "检查检验, 您有新的检查检验建议";
                    break;
                case "P_MG_01":
                    businessType = "用药指导, 您有新的用药指导";
                    break;
                case "P_MR_01":
                    businessType = "病历夹, 您有新的病历记录";
                    break;
                case "P_R_01":
                    businessType = "预约挂号";
                    break;
                case "P_HE_01":
                    businessType = "健康教育, 您有新的健康教育";
                    break;
                case "P_SW_01":
                    businessType = "家庭签约, 家庭签约已申请通过";
                    break;
                case "P_SW_02":
                    businessType = "家庭签约, 医生申请解除家庭签约";
                    break;
                case "P_SW_03":
                    businessType = "家庭签约, 医生已同意您解除家庭签约申请";
                    break;
                case "P_SW_04":
                    businessType = "家庭签约, 医生拒绝解除家庭签约申请";
                    break;
                case "P_CT_01":
                    businessType = "三师咨询, 医生回复了您";
                    break;
                case "P_CP_01":
                    businessType = "公共咨询, 医生回复了您";
                    break;
                case "P_CC_01":
                    businessType = "病友圈, 您有新的回复内容";
                    break;
                case "P_HN_01":
                    businessType = "健康资讯, 您有新的健康资讯";
                    break;
                case "D_CT_01":
                    businessType = "指定咨询, 您有新的指定咨询";
                    break;
                case "D_CT_02":
                    businessType = "名医咨询, 您有新的消息";
                    break;
                case "D_CT_03":
                    businessType = "名医咨询, 您有新的名医咨询";
                    break;
                case "D_CT_04":
                    businessType = "名医咨询, 您有新的名医咨询";
                    break;
                case "D_CT_05":
                    businessType = "续方咨询, 您有新的续方咨询";
                    break;
                case "D_SW_01":
                    businessType = "家庭签约";
                    break;
                case "D_SW_02":
                    businessType = "家庭签约, 患者申请解除家庭签约";
                    break;
                case "D_SW_03":
                    businessType = "家庭签约, 患者同意您的解除家庭签约申请";
                    break;
                case "D_SW_04":
                    businessType = "家庭签约, 患者拒绝您的解除家庭签约申请";
                    break;
                case "D_CV_01":
                    businessType = "视频咨询, 您有新的视频咨询";
                    break;
                case "D_FU_01":
                    businessType = "随访计划, 患者已完成随访计划";
                    break;
                case "D_FU_02":
                    businessType = "随访计划";
                    break;
                case "D_FU_03":
                    businessType = "随访计划";
                case "D_FU_04":
                    businessType = "随访计划, 患者已提交随访内容";
                case "D_HI_01":
                    businessType = "体征指标";
                case "D_P_WRD":
                    businessType = "续方消息, 待取药";
                    break;
                default:
                    businessType = "您有一条新的消息";
                    break;
            }
            return businessType;
        } catch (Exception e) {
            e.printStackTrace();
            return businessType;
        }
    }
}

+ 1 - 1
patient-co/patient-co-doctor-assistant/src/main/java/com/yihu/wlyy/web/doctor/template/DoctorFeldsherTemplateController.java

@ -36,7 +36,7 @@ public class DoctorFeldsherTemplateController extends BaseController {
     * @param content      消息内容
     * @return
     */
    @RequestMapping(value = "/sendDoctorTemplate", method = RequestMethod.GET)
    @RequestMapping(value = "/sendDoctorTemplate", method = RequestMethod.POST)
    @ApiOperation(value = "医生助手给医生发送模板消息")
    public String sendDoctorTemplate(@RequestParam @ApiParam(value = "医生code") String doctorCode,
                                     @RequestParam @ApiParam(value = "会话Id", required = false) String sessionId,

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

@ -133,7 +133,7 @@ public class GcMessageController {
            for (String openId : codeArr) {
                try {
                    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy年MM月dd日 HH:mm");
                    JSONObject sendJson = weiXinTempMsgSendUtils.packageTemplate("居民咨询请求", "家庭医生电话咨询热线客服工作人员代发", content, dateFormat.format(new Date()));
                    JSONObject sendJson = weiXinTempMsgSendUtils.packageTemplate("居民咨询请求", "请进入手机APP查看", content, dateFormat.format(new Date()));
                    Boolean flag = weiXinTempMsgSendUtils.sendTemplateMessage(templateId, openId, url, sendJson);
                    logger.info("send wechat message param : " + openId+" =======> "+content);
                    logger.info("send wechat message retuen : " + openId+" =======> "+flag);

+ 32 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/wechat/util/WeiXinTempMsgSendUtils.java

@ -6,6 +6,9 @@ import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.HashMap;
import java.util.Map;
/**
 * Created by lyr on 2016/08/22.
 */
@ -65,4 +68,33 @@ public class WeiXinTempMsgSendUtils {
            return false;
        }
    }
    /**
     * 构建微信模板内容消息体 默认字体黑色
     *
     * @param first    消息头
     * @param remark   备注
     * @param keywords 消息体
     * @return
     */
    public JSONObject packageTemplate(String first, String remark, String... keywords) throws Exception{
        JSONObject data = new JSONObject();
        Map keywordFirst = new HashMap();
        keywordFirst.put("color", "#000000");
        keywordFirst.put("value", first);
        Map keywordRemark = new HashMap();
        keywordRemark.put("color", "#000000");
        keywordRemark.put("value", remark);
        data.put("first", keywordFirst);
        data.put("remark", keywordRemark);
        for (int i = 0; i < keywords.length; i++) {
            Map keyword1 = new HashMap();
            keyword1.put("color", "#000000");
            keyword1.put("value", keywords[i]);
            data.put("keyword" + (i + 1), keyword1);
        }
        return data;
    }
}