LAPTOP-KB9HII50\70708 пре 2 година
родитељ
комит
3ac5b910b6

+ 2 - 2
business/base-service/src/main/java/com/yihu/jw/team/service/TeamService.java

@ -85,7 +85,7 @@ public class TeamService {
                }
            }
            if(StringUtils.isNotBlank(info)){
                String sql = " SELECT t.id,t.dept_name deptName,t.recommend_doctor recommendDoctor,t.recommend_doctor_name recommendDoctorName,d.photo,d.job_title_name jobTitleName\n" +
                String sql = " SELECT t.id,t.dept_name deptName,t.recommend_doctor recommendDoctor,t.recommend_doctor_name recommendDoctorName,d.photo,d.job_title_name jobTitleName" +
                        " from base_team t LEFT JOIN base_team_relation r on t.id = r.team_id and r.admin_team_id= " + adminTeamId+
                        " LEFT JOIN base_doctor d on t.recommend_doctor = t.id " +
                        " WHERE t.del=1 and t.recommend='1' ORDER BY r.id desc LIMIT 3";
@ -177,7 +177,7 @@ public class TeamService {
    public Envelop getTeamList(String type,Integer adminTeamId,String teamName, String dept, Integer page, Integer pageSize, String hospital,String recommend, String recommendDoctorName) {
        String countSql = " select count(t.id) ";
        String sql = "SELECT t.id,t.`name`,t.org_code orgCode,t.org_name orgName,t.dept,t.dept_name deptName,t.recommend_doctor recommendDoctor,d.photo," +
                "t.recommend_doctor_name recommendDoctorName,DATE_FORMAT(t.create_time,'%Y-%m-%d %H:%i:%S') createTime,t.intro,t.recommend ";
                "t.recommend_doctor_name recommendDoctorName,DATE_FORMAT(t.create_time,'%Y-%m-%d %H:%i:%S') createTime,t.intro,t.recommend,d.job_title_name jobTitleName ";
        String filter = " from base_team t left join base_doctor d on t.recommend_doctor=d.id ";
        if(adminTeamId!=null){
            filter += " inner join base_team_relation r on r.team_id=t.id and r.admin_team_id="+adminTeamId+" ";

+ 60 - 20
svr/svr-internet-hospital-job/src/main/java/com/yihu/jw/service/im/ImJobService.java

@ -1,6 +1,8 @@
package com.yihu.jw.service.im;
import com.yihu.jw.entity.hospital.consult.WlyyHospitalSysDictDO;
import com.yihu.jw.entity.knowledge.BaseSystemDialogSetting;
import com.yihu.jw.im.service.RobotService;
import com.yihu.jw.im.util.ImUtil;
import com.yihu.jw.knowledge.dao.BaseSystemDialogSettingDao;
import com.yihu.jw.util.date.DateUtil;
@ -12,7 +14,6 @@ import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
 * Created by yeshijie on 2023/4/26.
@ -28,31 +29,70 @@ public class ImJobService {
    private ImUtil imUtil;
    @Value("${im.data_base_name}")
    private String imDbName;
    @Autowired
    private RobotService robotService;
    public void ss(){
        List<BaseSystemDialogSetting> settingList = dialogSettingDao.findAll();
        Map<String,List<BaseSystemDialogSetting>> systemTypeMap = settingList.stream().
                collect(Collectors.groupingBy(BaseSystemDialogSetting::getSystemType));
        List<BaseSystemDialogSetting> systemTypeList1 = systemTypeMap.get("1");
        List<BaseSystemDialogSetting> systemTypeList2 = systemTypeMap.get("2");
        List<BaseSystemDialogSetting> systemTypeList3 = systemTypeMap.get("3");
        List<BaseSystemDialogSetting> systemTypeList4 = systemTypeMap.get("4");
    }
    //在线导诊无响应
    public void onlineGuidanceNoResponse(){
    /**
     *
     * @param type 18在线导诊 26专属服务导诊
     */
    public void onlineGuidance(String type){
        //查找配置
        WlyyHospitalSysDictDO dictDO = robotService.getSender();
        BaseSystemDialogSetting customerSetting =  dialogSettingDao.findBySystemTypeAndFunctionType("1","3",1);
        BaseSystemDialogSetting userSetting =  dialogSettingDao.findBySystemTypeAndFunctionType("1","3",1);
        if(customerSetting==null&&userSetting==null){
            return;
        if(customerSetting!=null){
            String content = customerSetting.getContent();
            String time = timeTransfor(customerSetting.getTime(),customerSetting.getTimeUnit());
            //查找未结束的在线导诊
            String sql = "SELECT s.id from "+imDbName+".sessions s,"+imDbName+".patients p  WHERE " +
                    "s.type='"+type+"' and s.`status`='0' and s.last_message_time<='"+time+"' and s.last_sender_id=p.id ";
            List<Map<String,Object>> sessionList = jdbcTemplate.queryForList(sql);
            for (Map<String,Object> map:sessionList){
                String sessionId = map.get("id")+"";
                try {
                    imUtil.sendImMsg(dictDO.getDictCode(), dictDO.getDictValue(), sessionId, "1", content, "1", null);
                }catch (Exception e){
                    e.printStackTrace();
                }
            }
        }
        BaseSystemDialogSetting userSetting =  dialogSettingDao.findBySystemTypeAndFunctionType("1","4",1);
        if(userSetting!=null){
            String content = userSetting.getContent();
            String time = timeTransfor(customerSetting.getTime(),customerSetting.getTimeUnit());
            //查找未结束的在线导诊
            String sql = "SELECT s.id from "+imDbName+".sessions s,"+imDbName+".doctors d  WHERE  " +
                    "s.type='"+type+"' and s.`status`='0' and s.last_message_time<='"+time+"' and s.last_sender_id=d.id ";
            List<Map<String,Object>> sessionList = jdbcTemplate.queryForList(sql);
            for (Map<String,Object> map:sessionList){
                String sessionId = map.get("id")+"";
                try {
                    imUtil.sendImMsg(dictDO.getDictCode(), dictDO.getDictValue(), sessionId, "1", content, "1", null);
                }catch (Exception e){
                    e.printStackTrace();
                }
            }
        }
        timeTransfor(customerSetting.getTime(),customerSetting.getTimeUnit());
        //查找未结束的在线导诊
        String sql = "select * from ";
        List<Map<String,Object>> sessionList = jdbcTemplate.queryForList(sql);
        BaseSystemDialogSetting endSetting =  dialogSettingDao.findBySystemTypeAndFunctionType("1","6",1);
        if(userSetting!=null){
            String content = endSetting.getContent();
            String time = timeTransfor(customerSetting.getTime(),customerSetting.getTimeUnit());
            //查找未结束的在线导诊
            String sql = "SELECT s.id from im.sessions s  WHERE  " +
                    "s.type='"+type+"' and s.`status`='0' and s.last_message_time<='"+time+"'  ";
            List<Map<String,Object>> sessionList = jdbcTemplate.queryForList(sql);
            for (Map<String,Object> map:sessionList){
                String sessionId = map.get("id")+"";
                try {
                    imUtil.sendImMsg(dictDO.getDictCode(), dictDO.getDictValue(), sessionId, "1", content, "1", null);
                    imUtil.updateSessionStatus(sessionId,"1");
                }catch (Exception e){
                    e.printStackTrace();
                }
            }
        }
    }