浏览代码

代码修改

LAPTOP-KB9HII50\70708 3 年之前
父节点
当前提交
b0d606b54f

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

@ -8,6 +8,7 @@ import com.yihu.jw.entity.base.doctor.BaseDoctorDO;
import com.yihu.jw.im.service.ImService;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import com.yihu.jw.rm.hospital.BaseHospitalRequestMapping;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
@ -118,4 +119,24 @@ public class DoctorConsultEndpoint extends EnvelopRestEndpoint {
            return failedException2(e);
        }
    }
    @PostMapping(value = "videoInviteMiniProgram")
    @ApiOperation(value = "医生端:发起/断开 会话小程序视频邀请", notes = "医生端:发起/断开 会话小程序视频邀请")
    public Envelop videoInviteMiniProgram(@ApiParam(name = "sender_id", value = "发起人")
                                          @RequestParam(value = "sender_id",required = true) String sender_id,
                                          @ApiParam(name = "reciver_id", value = "接收人")
                                          @RequestParam(value = "reciver_id",required = true) String reciver_id,
                                          @ApiParam(name = "reciver_type", value = "接收人类型1居民 2医生")
                                          @RequestParam(value = "reciver_name",required = true) String reciver_type,
                                          @ApiParam(name = "session_id", value = "会话ID",required = false)
                                          @RequestParam(value = "session_id",required = false) String session_id
    ){
        try{
            consultService.sendWeTempMesMiniProgram(sender_id,reciver_id,session_id);
            return success("操作成功");
        }catch (Exception e){
            return failedException2(e);
        }
    }
}

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

@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.care.dao.consult.BaseYunxingChannelDao;
import com.yihu.jw.care.util.EntranceUtil;
import com.yihu.jw.care.util.MessageUtil;
import com.yihu.jw.dict.dao.BaseJpushTemplateDao;
import com.yihu.jw.doctor.dao.BaseDoctorDao;
import com.yihu.jw.doctor.dao.BaseDoctorHospitalDao;
import com.yihu.jw.entity.base.doctor.BaseDoctorDO;
@ -13,9 +14,14 @@ import com.yihu.jw.entity.base.im.ConsultDo;
import com.yihu.jw.entity.base.im.ConsultTeamDo;
import com.yihu.jw.entity.base.im.ConsultTeamDoctorDo;
import com.yihu.jw.entity.base.patient.BasePatientDO;
import com.yihu.jw.entity.base.wx.BasePatientWechatDo;
import com.yihu.jw.entity.base.wx.WxTemplateConfigDO;
import com.yihu.jw.entity.base.wx.WxWechatDO;
import com.yihu.jw.entity.care.consult.BaseYunxingChannelDO;
import com.yihu.jw.entity.hospital.consult.WlyyHospitalSysDictDO;
import com.yihu.jw.entity.hospital.dict.BaseJpushTemplateDO;
import com.yihu.jw.entity.hospital.message.SystemMessageDO;
import com.yihu.jw.entity.hospital.prescription.WlyyOutpatientDO;
import com.yihu.jw.hospital.message.dao.SystemMessageDao;
import com.yihu.jw.im.dao.ConsultDao;
import com.yihu.jw.im.dao.ConsultTeamDao;
@ -26,9 +32,15 @@ import com.yihu.jw.patient.dao.BasePatientDao;
import com.yihu.jw.sms.dao.HospitalSysDictDao;
import com.yihu.jw.util.common.IdCardUtil;
import com.yihu.jw.util.date.DateUtil;
import com.yihu.jw.util.wechat.WeixinMessagePushUtils;
import com.yihu.jw.utils.RSAEncrypt;
import com.yihu.jw.utils.hibernate.HibenateUtils;
import com.yihu.jw.wechat.dao.BasePatientWechatDao;
import com.yihu.jw.wechat.dao.WxTemplateConfigDao;
import com.yihu.jw.wechat.service.WxAccessTokenService;
import org.apache.commons.collections.map.HashedMap;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
@ -37,6 +49,7 @@ import java.net.URLEncoder;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.concurrent.TimeUnit;
import static jxl.biff.FormatRecord.logger;
@ -50,6 +63,10 @@ import static jxl.biff.FormatRecord.logger;
@Service
public class ConsultService {
    @Value("${wechat.id}")
    private String wechatId;
    @Value("${wechat.appId}")
    private String wechatAppId;
    @Autowired
    private JdbcTemplate jdbcTemplate;
    @Autowired
@ -80,6 +97,42 @@ public class ConsultService {
    private BaseYunxingChannelDao yunxingChannelDao;
    @Autowired
    private MessageUtil messageUtil;
    @Autowired
    private BasePatientWechatDao basePatientWechatDao;
    @Autowired
    private WeixinMessagePushUtils weixinMessagePushUtils;
    @Autowired
    private WxTemplateConfigDao wxTemplateConfigDao;
    @Autowired
    private WxAccessTokenService wxAccessTokenService;
    @Autowired
    private BaseJpushTemplateDao baseJpushTemplateDao;
    /**
     * 发送微信模版消息-小程序视频
     * @param sender_id 发送者ID
     * @param reciver_id 接收者ID
     * @param session_id 会话ID
     */
    public String sendWeTempMesMiniProgram(String sender_id, String reciver_id, String session_id)throws Exception {
        BasePatientDO patient = basePatientDao.findById(reciver_id);
        if(patient!=null){
            BaseDoctorDO doctorDO = baseDoctorDao.findById(sender_id);
            JSONObject json = new JSONObject();
            json.put("id", reciver_id);
            String first = "【key1】您好!【key2】向您发起了视频请求";
            first = first.replace("key1",patient.getName());
            first = first.replace("key2", doctorDO.getName());
            List<BasePatientWechatDo> basePatientWechatDos = basePatientWechatDao.findByWechatIdAndPatientId(wechatId,patient.getId());
            if (basePatientWechatDos.size()>0){
                String openId = basePatientWechatDos.get(0).getOpenid();
                messageUtil.putTemplateWxMessage(wechatId,"template_consult_notice","spthtx",openId,first,null,null,2,json, DateUtil.dateToChineseDate(new Date()),"视频请求","点击接收");
            }
        }else{
            throw new Exception("接收者ID错误,无法找到该账号");
        }
        return "success";
    }
    /**
     * 保存云信channelId