suqinyi 1 vuosi sitten
vanhempi
commit
fc08aea793

+ 94 - 28
business/base-service/src/main/java/com/yihu/jw/hospital/message/service/SystemMessageService.java

@ -1,5 +1,6 @@
package com.yihu.jw.hospital.message.service;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.yihu.jw.doctor.dao.BaseDoctorDao;
@ -12,14 +13,12 @@ import com.yihu.jw.hospital.message.dao.SystemMessageDao;
import com.yihu.jw.hospital.prescription.dao.OutpatientDao;
import com.yihu.jw.message.dao.MessageNoticeSettingDao;
import com.yihu.jw.message.dao.SpecialistDynamicMessagesDao;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.MixEnvelop;
import com.yihu.jw.util.date.DateUtil;
import com.yihu.jw.utils.StringUtil;
import com.yihu.jw.utils.YkyySMSService;
import com.yihu.jw.utils.hibernate.HibenateUtils;
import com.yihu.mysql.query.BaseJpaService;
import org.apache.commons.lang3.StringUtils;
import org.checkerframework.checker.units.qual.A;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.redis.core.StringRedisTemplate;
@ -37,7 +36,7 @@ import java.util.Map;
 */
@Service
@Transactional
public class SystemMessageService extends BaseJpaService<SystemMessageDO,SystemMessageDao> {
public class SystemMessageService extends BaseJpaService<SystemMessageDO, SystemMessageDao> {
    @Autowired
    private SystemMessageDao systemMessageDao;
@ -66,11 +65,12 @@ public class SystemMessageService extends BaseJpaService<SystemMessageDO,SystemM
    /**
     * 新增线上就诊消息
     *
     * @param systemMessageDO
     * @return
     * @throws Exception
     */
    public SystemMessageDO addMessage(SystemMessageDO systemMessageDO) throws Exception{
    public SystemMessageDO addMessage(SystemMessageDO systemMessageDO) throws Exception {
        systemMessageDO.setIsRead("0");
        systemMessageDO.setDel("1");
        systemMessageDO.setCreateTime((new Date()));
@ -81,22 +81,23 @@ public class SystemMessageService extends BaseJpaService<SystemMessageDO,SystemM
    /**
     * 更新线上就诊消息
     *
     * @param id
     * @param read
     * @param del
     * @return
     * @throws Exception
     */
    public SystemMessageDO updateMessage(String id,String read,String del) throws Exception{
    public SystemMessageDO updateMessage(String id, String read, String del) throws Exception {
        SystemMessageDO systemMessageDO = systemMessageDao.findOne(id);
        if (null == systemMessageDO){
        if (null == systemMessageDO) {
            return null;
        }
        if (!StringUtil.isEmpty(read)){
        if (!StringUtil.isEmpty(read)) {
            systemMessageDO.setIsRead(read);
            systemMessageDO.setReadTime(new Date());
        }
        if (!StringUtil.isEmpty(del)){
        if (!StringUtil.isEmpty(del)) {
            systemMessageDO.setDel(del);
        }
        systemMessageDao.save(systemMessageDO);
@ -106,10 +107,11 @@ public class SystemMessageService extends BaseJpaService<SystemMessageDO,SystemM
    /**
     * 保存线上就诊消息(外部调用)
     *
     * @param systemMessageDO
     * @throws Exception
     */
    public void saveMessage(SystemMessageDO systemMessageDO) throws Exception{
    public void saveMessage(SystemMessageDO systemMessageDO) throws Exception {
        systemMessageDO.setIsRead("0");
        systemMessageDO.setDel("1");
        systemMessageDO.setCreateTime(new Date());
@ -119,11 +121,12 @@ public class SystemMessageService extends BaseJpaService<SystemMessageDO,SystemM
    /**
     * 根据id查询消息详情
     *
     * @param id
     * @return
     * @throws Exception
     */
    public  SystemMessageDO queryById(String id) throws Exception{
    public SystemMessageDO queryById(String id) throws Exception {
        SystemMessageDO systemMessageDO = systemMessageDao.queryById(id);
        return systemMessageDO;
    }
@ -131,12 +134,12 @@ public class SystemMessageService extends BaseJpaService<SystemMessageDO,SystemM
    /**
     * 发送系统消息通用接口
     */
    public  SystemMessageDO commenSystemMessage(String jsonParam,String jsonContent) throws Exception{
        if (StringUtils.isNoneBlank(jsonParam)){
            SystemMessageDO systemMessageDO = objectMapper.readValue(jsonParam,SystemMessageDO.class);
    public SystemMessageDO commenSystemMessage(String jsonParam, String jsonContent) throws Exception {
        if (StringUtils.isNoneBlank(jsonParam)) {
            SystemMessageDO systemMessageDO = objectMapper.readValue(jsonParam, SystemMessageDO.class);
            systemMessageDO.setDel("1");
            systemMessageDO.setIsRead("0");
            if (StringUtils.isNoneBlank(jsonContent)){
            if (StringUtils.isNoneBlank(jsonContent)) {
                JSONObject jsonObject = JSONObject.parseObject(jsonContent);
                systemMessageDO.setData(jsonObject.toJSONString());
            }
@ -145,24 +148,25 @@ public class SystemMessageService extends BaseJpaService<SystemMessageDO,SystemM
        }
        return null;
    }
    public String  sendDoctorRemindSms(ConsultDo consultDo){
    public String sendDoctorRemindSms(ConsultDo consultDo) {
        String msg = "";
        if ("xm_ykyy_wx".equalsIgnoreCase(wechatId)){
            if (consultDo!=null){
        if ("xm_ykyy_wx".equalsIgnoreCase(wechatId)) {
            if (consultDo != null) {
                WlyyOutpatientDO wlyyOutpatientDO = outpatientDao.findById(consultDo.getRelationCode());
                if (wlyyOutpatientDO!=null){
                if (wlyyOutpatientDO != null) {
                    BaseDoctorDO baseDoctorDO = baseDoctorDao.findById(wlyyOutpatientDO.getDoctor());
                    if (baseDoctorDO!=null){
                        ykyySMSService.sendSmsByTempcode("message_remind_paitent",wlyyOutpatientDO,null,baseDoctorDO.getMobile());
                        msg="发送成功";
                    }else{
                        msg="发送失败,医生不存在";
                    if (baseDoctorDO != null) {
                        ykyySMSService.sendSmsByTempcode("message_remind_paitent", wlyyOutpatientDO, null, baseDoctorDO.getMobile());
                        msg = "发送成功";
                    } else {
                        msg = "发送失败,医生不存在";
                    }
                }else {
                    msg="发送失败,门诊不存在";
                } else {
                    msg = "发送失败,门诊不存在";
                }
            }else {
                msg="发送失败,consult不存在";
            } else {
                msg = "发送失败,consult不存在";
            }
        }
@ -304,4 +308,66 @@ public class SystemMessageService extends BaseJpaService<SystemMessageDO,SystemM
        return re;
    }
    /**
     * 获取待接单的接口
     *
     * @param message {"read":1,"over":0}
     * @param page    页码
     * @param size    分页大小
     * @return
     * @throws Exception
     */
    public org.json.JSONObject getWaitingMessages(SystemMessageDO message, String types, Integer page, Integer size) throws Exception {
        String sqlList = " SELECT a.*  ";
        String sqlCount = " select count(*) as total ";
        String sql = " FROM base_system_message a ";
//                " LEFT JOIN wlyy_door_service_application b ON a.relation_code = b.code ";//云招呼没有资质审核这块
        sql += " where 1=1 AND a.state = 1 AND a.over = 1 ";
        if (!StringUtils.isEmpty(message.getReceiver())) {
            sql += " AND a.receiver = '" + message.getReceiver() + "'";
        }
        if (!StringUtils.isEmpty(types)) {
            sql += " AND a.type IN (" + types + ")";
        }
        //分页
        String pageSql = " ORDER BY a.create_time DESC LIMIT " + (page - 1) * size + "," + size;
        sqlCount += sql;
        sqlList += sql + pageSql;
        List<Map<String, Object>> rstotal = jdbcTemplate.queryForList(sqlCount);
        List<Map<String, Object>> mapList = jdbcTemplate.queryForList(sqlList);
        Long count = 0L;
        if (rstotal != null && rstotal.size() > 0) {
            count = (Long) rstotal.get(0).get("total");
        }
        JSONArray jsonArray = new JSONArray();
        for (Map<String, Object> one : mapList) {
            org.json.JSONObject object = new org.json.JSONObject();
            object.put("over", one.get("over"));
            object.put("code", one.get("code"));
            object.put("receiver", one.get("receiver"));
            object.put("del", one.get("del"));
            object.put("title", one.get("title"));
            object.put("type", one.get("type"));
            object.put("content", one.get("content"));
            object.put("sender", one.get("sender"));
            object.put("id", one.get("id"));
            object.put("state", one.get("state"));
            object.put("relation_code", one.get("relation_code"));
            object.put("has_read", one.get("has_read"));
            object.put("appliStatus", one.get("appliStatus"));
            Date date = (Date) one.get("create_time");
            object.put("create_time", DateUtil.dateToStr(date, "yyyy-MM-dd HH:mm:ss"));
            Date date1 = (Date) one.get("czrq");
            object.put("czrq", DateUtil.dateToStr(date1, "yyyy-MM-dd HH:mm:ss"));
            jsonArray.add(object);
        }
        org.json.JSONObject object = new org.json.JSONObject();
        object.put("total", count);
        object.put("waitingMessages", jsonArray);
        object.put("currPage", page);
        object.put("pageSize", size);
        return object;
    }
}

+ 4 - 2
business/im-service/src/main/java/com/yihu/jw/im/util/ImUtil.java

@ -400,6 +400,7 @@ public class ImUtil {
        params.put("content", content);
        params.put("topic_id", topicId);
        params.put("agent", agent);
        System.out.println("参数:" + JSON.toJSONString(params));
        String response = HttpClientUtil.postBody(url, params);
        System.out.println("[sendTopicIM]发送消息给IM==>" + response);
        return response;
@ -572,9 +573,10 @@ public class ImUtil {
            params.put("messages", messages.toString());
            params.put("session_id", sessionId);
            params.put("session_type", sessionType);
            System.out.println("创建议题==>" + "\n地址:" + imAddr + "\n参数:" + JSON.toJSONString(params));
            System.out.println("创建议题参数如下:" + "\n地址:" + imAddr + "\n参数:" + JSON.toJSONString(params));
            System.out.println("");
            String res = HttpClientUtil.postBody(imAddr, params);
            System.out.println("结果:" + res);
            System.out.println("创建议题结果==>" + res);
            obj = JSON.parseObject(res);
        } catch (Exception e) {
            e.printStackTrace();

+ 0 - 1
svr/svr-visit-behind/src/main/java/com/yihu/jw/hospital/module/consult/service/ConsultTeamService.java

@ -203,7 +203,6 @@ public class ConsultTeamService extends ConsultService {
        //咨询详细信息
        ConsultTeamDo consultTeam = new ConsultTeamDo();
        consultTeam.setType(11);  //上门服务咨询
//        consultTeam.setAdminTeamId(signFamily.getAdminTeamId());//签约团队的信息-这边没有
        consultTeam.setRelationCode(doorServiceOrderDO.getId()); //关联业务code
        consultTeam.setSymptoms(doorServiceOrderDO.getServeDesc());
        consultTeam.setPatient(patient);

+ 0 - 1
svr/svr-visit-behind/src/main/java/com/yihu/jw/hospital/module/door/controller/WlyyDoorServiceOrderController.java

@ -96,7 +96,6 @@ public class WlyyDoorServiceOrderController extends EnvelopRestEndpoint {
    public Envelop queryInfoStatusCountList(
            @ApiParam(name = "patient", value = "居民code") @RequestParam(value = "patient", required = false) String patient
    ) {
        System.out.println("统计上门服务工单各状态下的数量列表--参数" + patient);
        JSONObject result = wlyyDoorServiceOrderService.queryInfoStatusCountList(patient);
        if (result.getIntValue(ResponseContant.resultFlag) == ResponseContant.fail) {
            return failed(result.getString(ResponseContant.resultMsg));

+ 0 - 13
svr/svr-visit-behind/src/main/java/com/yihu/jw/hospital/module/door/service/WlyyDoorServiceOrderService.java

@ -826,8 +826,6 @@ public class WlyyDoorServiceOrderService extends BaseJpaService<WlyyDoorServiceO
        if (flag) {
            //获取机构的调度员
            List<Map<String, Object>> dispatcherList = queryDispatcherInfoByPatient(jsonObjectParam.getJSONObject("hospital").get("code").toString());
            //支付成功或者不用支付
            //创建咨询
            JSONObject successOrNot = consultTeamService.addDoorServiceConsult(orderDO.getId());
@ -1264,10 +1262,6 @@ public class WlyyDoorServiceOrderService extends BaseJpaService<WlyyDoorServiceO
    /**
     * 生成二維碼
     *
     * @param id
     * @param token
     * @return
     */
    public String twoDimensionalCode(String id, String token) {
        JSONObject orderJson = new JSONObject();
@ -1316,9 +1310,6 @@ public class WlyyDoorServiceOrderService extends BaseJpaService<WlyyDoorServiceO
    /**
     * 长处方生成取药码,生成取药二维码
     * 如果是外网那是发送到内网的服务器
     *
     * @param ipt
     * @return
     */
    public String PrescriptionQRCodetoNeiWang(InputStream ipt) throws FileNotFoundException {
        String filename = "QRCode_" + System.currentTimeMillis();
@ -1437,8 +1428,6 @@ public class WlyyDoorServiceOrderService extends BaseJpaService<WlyyDoorServiceO
                .replace("{status}", String.valueOf(status));
        List sqlResultlist = new ArrayList<>();
        logger.info("infoList-info: " + finalSql);
        logger.info("infoList-count: " + finqlCountSql);
        try {
            sqlResultlist = jdbcTemplate.queryForList(finalSql);
        } catch (Exception e) {
@ -2077,7 +2066,6 @@ public class WlyyDoorServiceOrderService extends BaseJpaService<WlyyDoorServiceO
        List<Map<String, Object>> sqlResultlist = new ArrayList<>();
        try {
            sqlResultlist = jdbcTemplate.queryForList(finalSql);
            logger.info(finalSql);
        } catch (Exception e) {
            result.put(ResponseContant.resultFlag, ResponseContant.fail);
            result.put(ResponseContant.resultMsg, "从数据库查询【调度员】上门服务工单列表信息失败:" + e.getMessage());
@ -2216,7 +2204,6 @@ public class WlyyDoorServiceOrderService extends BaseJpaService<WlyyDoorServiceO
                .replace("{status}", String.valueOf(status));
        List<Map<String, Object>> sqlResultlist = jdbcTemplate.queryForList(finalSql);
        logger.info("服务医生人员sql:" + finalSql);
        Integer count = jdbcTemplate.queryForObject(finalCountSql, Integer.class);
        //添加未完成服务工单列表

+ 7 - 5
svr/svr-visit-behind/src/main/java/com/yihu/jw/hospital/module/message/DoctorMessageController.java

@ -5,6 +5,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.yihu.jw.entity.hospital.message.SystemMessageDO;
import com.yihu.jw.hospital.message.dao.SystemMessageDao;
import com.yihu.jw.hospital.message.service.SystemMessageService;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@ -46,7 +47,7 @@ public class DoctorMessageController extends EnvelopRestEndpoint {
    @RequestMapping(value = "getWaitingMessages", method = RequestMethod.GET)
    @ApiOperation("获取服务工单待接单列表")
    @ResponseBody
    public String getWaitingMessages(
    public Envelop getWaitingMessages(
            @ApiParam(name = "message", value = "消息对象") @RequestParam(value = "message") String message,
            @ApiParam(name = "types", value = "消息类型") @RequestParam(value = "types", required = true) String types,
            @ApiParam(name = "page", value = "第几页", defaultValue = "1") @RequestParam(value = "page", required = true) String page,
@ -67,13 +68,14 @@ public class DoctorMessageController extends EnvelopRestEndpoint {
        com.alibaba.fastjson.JSONObject object = JSON.parseObject(message);
        message1.setOver(object.getString("over"));
        message1.setIsRead(object.getInteger("read").toString());
        System.out.println("getUID()=>" + getUID());
        message1.setReceiver(getUID());
        try {
//            JSONObject waitingMessages = messageService.getWaitingMessages(message1, types, Integer.valueOf(page), Integer.valueOf(pageSize));
            JSONObject waitingMessages = null;
            return write(200, "查询成功", "data", waitingMessages);
            JSONObject waitingMessages = messageService.getWaitingMessages(message1, types, Integer.valueOf(page), Integer.valueOf(pageSize));
            return success("查询成功", waitingMessages);
        } catch (Exception e) {
            return e.getMessage();
            e.printStackTrace();
            return failed(e.getMessage());
        }
    }