Browse Source

健康咨询团队统计

wujunjie 8 years ago
parent
commit
d976a46082

+ 112 - 109
patient-co-wlyy/src/main/java/com/yihu/wlyy/util/ImUtill.java

@ -7,8 +7,8 @@ import org.json.JSONObject;
 * Created by 卓 on 2017/1/13.
 */
public class ImUtill {
    //    ===============================
    private static String host = "http://192.168.131.107:3000";
//    private static String host = "http://192.168.131.107:3008";
    /**
     * 获取医生统计数据
     * status reply 为空值是是该医生总咨询量
@ -19,18 +19,16 @@ public class ImUtill {
     * @return
     */
    public static String getConsultData(String user, Integer status, Integer reply) {
//        String imAddr = SystemConf.getInstance().getImListGet() + "/api/v2/sessions/topics/count/reply";
        String imAddr = host + "/api/v2/sessions/topics/count/reply";
        JSONObject params = new JSONObject();
        params.put("user", user);
        if (status!=null) {
            params.put("status", status);
        String imAddr = SystemConf.getInstance().getImListGet() + "/api/v2/sessions/topics/count/reply";
//        String imAddr = host + "/api/v2/sessions/topics/count/reply";
        imAddr = imAddr + "?user=" + user;
        if (status != null) {
            imAddr += ("&status=" + status);
        }
        if (reply!=null) {
            params.put("reply", reply);
        if (reply != null) {
            imAddr += ("&reply=" + reply);
        }
        String response = HttpClientUtil.postBody(imAddr, params);
        String response = HttpClientUtil.get(imAddr, "UTF-8");
        return response;
    }
@ -47,21 +45,19 @@ public class ImUtill {
     * @return
     */
    public static String getConsultByStatus(String user, Integer status, Integer reply, int page, int pagesize) {
        String imAddr = host + "/api/v2/sessions/topics";
        JSONObject params = new JSONObject();
        params.put("user", user);
        params.put("page", page);
        params.put("pagesize", pagesize);
        if (status!=null) {
            params.put("status", status);
        String imAddr = SystemConf.getInstance().getImListGet() + "/api/v2/sessions/topics";
//        String imAddr = host + "/api/v2/sessions/topics";
        imAddr = imAddr + "?user=" + user + "&page=" + page + "&pagesize=" + pagesize;
        if (status != null) {
            imAddr += ("&status=" + status);
        }
        if (reply!=null) {
            params.put("reply", reply);
        if (reply != null) {
            imAddr += ("&reply=" + reply);
        }
        String response = HttpClientUtil.postBody(imAddr, params);
        String response = HttpClientUtil.get(imAddr, "UTF-8");
        return response;
    }
//    ===============================
    /**
     * 发送消息给IM
     *
@ -69,8 +65,8 @@ public class ImUtill {
     * @param contentType 1文字 2图片消息
     * @param content     内容
     */
    public static String sendImMsg(String from,String fromName, String sessionId, String contentType, String content,String businessType) {
        String imAddr = SystemConf.getInstance().getImListGet() + "/api/v2/sessions/"+sessionId+"/messages";
    public static String sendImMsg(String from, String fromName, String sessionId, String contentType, String content, String businessType) {
        String imAddr = SystemConf.getInstance().getImListGet() + "/api/v2/sessions/" + sessionId + "/messages";
        JSONObject params = new JSONObject();
        params.put("sender_id", from);
        params.put("sender_name", fromName);
@ -85,11 +81,11 @@ public class ImUtill {
    /**
     * 更新会话状态
     *
     * @param sessionId       会话ID
     * @param status 状态
     * @param sessionId 会话ID
     * @param status    状态
     */
    public static String updateSessionStatus(String sessionId,String status) {
        String imAddr = SystemConf.getInstance().getImListGet() + "/api/v2/sessions/"+sessionId+"/status?status="+status+"&sessionId="+sessionId;
    public static String updateSessionStatus(String sessionId, String status) {
        String imAddr = SystemConf.getInstance().getImListGet() + "/api/v2/sessions/" + sessionId + "/status?status=" + status + "&sessionId=" + sessionId;
        JSONObject params = new JSONObject();
        String response = HttpClientUtil.postBody(imAddr, params);
        return response;
@ -103,15 +99,16 @@ public class ImUtill {
     * @param contentType 1文字 2图片消息
     * @param content     内容
     */
    public static String sendTopicIM(String from,String fromName, String topicId, String contentType, String content) {
    public static String sendTopicIM(String from, String fromName, String topicId, String contentType, String content) {
        String url = SystemConf.getInstance().getSystemProperties().getProperty("im_list_get")
                + ("api/v2/sessions/topic/"+topicId+"/messages");
                + ("api/v2/sessions/topic/" + topicId + "/messages");
        JSONObject params = new JSONObject();
        params.put("sender_id", from);
        params.put("sender_name", fromName);
        params.put("content_type", contentType);
        params.put("content", content);
        params.put("topic_id", topicId);;
        params.put("topic_id", topicId);
        ;
        String response = HttpClientUtil.postBody(url, params);
        return response;
    }
@ -119,23 +116,23 @@ public class ImUtill {
    /**
     * 结束议题
     *
     * @param topicId  议题ID
     * @param endUser  结束人
     * @param topicId     议题ID
     * @param endUser     结束人
     * @param endUserName 结束人名字
     * @param sessionId 会话ID
     * @param sessionId   会话ID
     */
    public static JSONObject endTopics(String sessionId,String endUser, String endUserName,String topicId) {
        String imAddr = SystemConf.getInstance().getImListGet() + "api/v2/sessions/"+sessionId+"/topics/"+topicId+"/ended";
    public static JSONObject endTopics(String sessionId, String endUser, String endUserName, String topicId) {
        String imAddr = SystemConf.getInstance().getImListGet() + "api/v2/sessions/" + sessionId + "/topics/" + topicId + "/ended";
        JSONObject params = new JSONObject();
        params.put("session_id", sessionId);
        params.put("end_user", endUser);
        params.put("end_user_name",endUserName);
        params.put("end_user_name", endUserName);
        params.put("topic_id", topicId);
        String ret = HttpClientUtil.postBody(imAddr,params);
        JSONObject obj  = null;
        try{
        String ret = HttpClientUtil.postBody(imAddr, params);
        JSONObject obj = null;
        try {
            obj = new JSONObject(ret);
        }catch (Exception e){
        } catch (Exception e) {
            return null;
        }
        return obj;
@ -144,25 +141,26 @@ public class ImUtill {
    /**
     * 议题邀请人员
     * @param user 结束人名字
     *
     * @param user      结束人名字
     * @param sessionId 会话ID
     */
    public static void updateTopicUser(String sessionId,String user) {
        String imAddr = SystemConf.getInstance().getImListGet() + "api/v2/sessions/"+sessionId+"/participants/"+user;
    public static void updateTopicUser(String sessionId, String user) {
        String imAddr = SystemConf.getInstance().getImListGet() + "api/v2/sessions/" + sessionId + "/participants/" + user;
        JSONObject params = new JSONObject();
        params.put("user", user+":"+0);
        HttpClientUtil.putBody(imAddr,params);
        params.put("user", user + ":" + 0);
        HttpClientUtil.putBody(imAddr, params);
    }
    /**
     * 创建议题
     *
     * @param topicId  议题ID
     * @param topicName  议题名称
     * @param topicId      议题ID
     * @param topicName    议题名称
     * @param participants 成员
     */
    public static JSONObject createTopics(String sessionId, String topicId, String topicName, JSONObject participants, JSONObject messages, String sessionType) {
        String imAddr = SystemConf.getInstance().getImListGet() + "api/v2/sessions/"+topicId+"/topics";
        String imAddr = SystemConf.getInstance().getImListGet() + "api/v2/sessions/" + topicId + "/topics";
        JSONObject params = new JSONObject();
        params.put("topic_id", topicId);
        params.put("topic_name", topicName);
@ -170,11 +168,11 @@ public class ImUtill {
        params.put("messages", messages.toString());
        params.put("session_id", sessionId);
        params.put("session_type", sessionType);
        String ret = HttpClientUtil.postBody(imAddr,params);
        JSONObject obj  = null;
        try{
        String ret = HttpClientUtil.postBody(imAddr, params);
        JSONObject obj = null;
        try {
            obj = new JSONObject(ret);
        }catch (Exception e){
        } catch (Exception e) {
            return null;
        }
        return obj;
@ -182,20 +180,19 @@ public class ImUtill {
    /**
     * 创建会话(system)
     *
     */
    public static JSONObject createSession(JSONObject participants,String sessionType,String sessionName,String sessionId) {
    public static JSONObject createSession(JSONObject participants, String sessionType, String sessionName, String sessionId) {
        String imAddr = SystemConf.getInstance().getImListGet() + "api/v2/sessions";
        JSONObject params = new JSONObject();
        params.put("participants", participants.toString());
        params.put("session_name", sessionName);
        params.put("session_type", sessionType);
        params.put("session_id", sessionId);
        String ret = HttpClientUtil.postBody(imAddr,params);
        JSONObject obj  = null;
        try{
        String ret = HttpClientUtil.postBody(imAddr, params);
        JSONObject obj = null;
        try {
            obj = new JSONObject(ret);
        }catch (Exception e){
        } catch (Exception e) {
            return null;
        }
        return obj;
@ -203,6 +200,7 @@ public class ImUtill {
    /**
     * 获取会话实例的消息对象
     *
     * @param senderId
     * @param senderName
     * @param title
@ -210,133 +208,138 @@ public class ImUtill {
     * @param images
     * @return
     */
    public static JSONObject getCreateTopicMessage(String senderId,String senderName,String title,String description,String images){
    public static JSONObject getCreateTopicMessage(String senderId, String senderName, String title, String description, String images) {
        JSONObject messages = new JSONObject();
        messages.put("description",description);
        messages.put("title",title);
        messages.put("img",images);
        messages.put("sender_id",senderId);
        messages.put("sender_name",senderName);
        messages.put("description", description);
        messages.put("title", title);
        messages.put("img", images);
        messages.put("sender_id", senderId);
        messages.put("sender_name", senderName);
        return messages;
    }
    public static JSONObject getTopicMessage(String topicId,String startMsgId,String endMsgId,int page,int pagesize,String uid){
    public static JSONObject getTopicMessage(String topicId, String startMsgId, String endMsgId, int page, int pagesize, String uid) {
        String url = SystemConf.getInstance().getSystemProperties().getProperty("im_list_get")
                + "api/v2/sessions/topic/"+topicId+"/messages?topic_id="+topicId+"&end="+startMsgId
                +"&start="+(endMsgId==null?"":endMsgId)+"&page="+page+"&pagesize="+pagesize+"&user="+uid;
        try{
                + "api/v2/sessions/topic/" + topicId + "/messages?topic_id=" + topicId + "&end=" + startMsgId
                + "&start=" + (endMsgId == null ? "" : endMsgId) + "&page=" + page + "&pagesize=" + pagesize + "&user=" + uid;
        try {
            String ret = HttpClientUtil.get(url, "UTF-8");
            JSONObject obj = new JSONObject(ret);
            if(obj.getInt("status")==-1){
            if (obj.getInt("status") == -1) {
                throw new RuntimeException(obj.getString("message"));
            }else{
                return  obj.getJSONObject("data");
            } else {
                return obj.getJSONObject("data");
            }
        }catch (Exception e){
        } catch (Exception e) {
            return null;
        }
    }
    public static JSONArray getSessionMessage(String sessionId,String startMsgId,String endMsgId,int page,int pagesize,String uid){
    public static JSONArray getSessionMessage(String sessionId, String startMsgId, String endMsgId, int page, int pagesize, String uid) {
        String url = SystemConf.getInstance().getSystemProperties().getProperty("im_list_get")
                + "api/v2/sessions/"+sessionId+"/messages?session_id="+sessionId+"&user="+uid+"&start_message_id="+startMsgId+"&end_message_id="+endMsgId+"&page="+page+"&pagesize="+pagesize;
        try{
                + "api/v2/sessions/" + sessionId + "/messages?session_id=" + sessionId + "&user=" + uid + "&start_message_id=" + startMsgId + "&end_message_id=" + endMsgId + "&page=" + page + "&pagesize=" + pagesize;
        try {
            String ret = HttpClientUtil.get(url, "UTF-8");
            JSONArray obj = new JSONArray(ret);
            return obj;
        }catch (Exception e){
        } catch (Exception e) {
            return null;
        }
    }
    /**
     * 删除对应的成员信息在MUC模式中
     *
     * @param userId
     * @param oldUserId
     * @param sessionId
     * @return
     */
    public static JSONObject deleteMucUser(String userId,String oldUserId,String sessionId) throws  Exception{
    public static JSONObject deleteMucUser(String userId, String oldUserId, String sessionId) throws Exception {
        String url = SystemConf.getInstance().getSystemProperties().getProperty("im_list_get")
                + "api/v2/sessions/"+sessionId+"/participant/update";
        try{
                + "api/v2/sessions/" + sessionId + "/participant/update";
        try {
            JSONObject params = new JSONObject();
            params.put("user_id", userId);
            params.put("old_user_id", oldUserId);
            params.put("session_id", sessionId);
            String ret = HttpClientUtil.postBody(url,params);
            String ret = HttpClientUtil.postBody(url, params);
            JSONObject obj = new JSONObject(ret);
            if(obj.getInt("status")==-1){
            if (obj.getInt("status") == -1) {
                throw new RuntimeException("人员更换失败!");
            }else{
            } else {
                return obj;
            }
        }catch (Exception e){
           throw new RuntimeException("人员更换失败!");
        } catch (Exception e) {
            throw new RuntimeException("人员更换失败!");
        }
    }
    /**
     * 获取议题
     *
     * @param topicId
     * @return
     */
    public static JSONObject getTopic(String topicId) throws  Exception{
    public static JSONObject getTopic(String topicId) throws Exception {
        String url = SystemConf.getInstance().getSystemProperties().getProperty("im_list_get")
                + "api/v2/sessions/topics/"+topicId+"?topic_id="+topicId;
        try{
            String ret = HttpClientUtil.get(url,"utf-8");
                + "api/v2/sessions/topics/" + topicId + "?topic_id=" + topicId;
        try {
            String ret = HttpClientUtil.get(url, "utf-8");
            JSONObject obj = new JSONObject(ret);
            if(obj.getInt("status")==-1){
            if (obj.getInt("status") == -1) {
                throw new RuntimeException("获取议题失败!");
            }else{
            } else {
                return obj;
            }
        }catch (Exception e){
        } catch (Exception e) {
            throw new RuntimeException("获取议题失败!");
        }
    }
    /**
     * 获取会话成员
     *
     * @param sessionId
     * @return
     * @throws Exception
     */
    public static JSONArray getParticipants(String sessionId){
    public static JSONArray getParticipants(String sessionId) {
        String url = SystemConf.getInstance().getSystemProperties().getProperty("im_list_get")
                + "api/v2/sessions/"+sessionId+"/participants?session_id="+sessionId;
        try{
            String ret = HttpClientUtil.get(url,"utf-8");
                + "api/v2/sessions/" + sessionId + "/participants?session_id=" + sessionId;
        try {
            String ret = HttpClientUtil.get(url, "utf-8");
            return new JSONArray(ret);
        }catch (Exception e){
        } catch (Exception e) {
            throw new RuntimeException("获取议题失败!");
        }
    }
    /**
     * 获取会话成员
     *
     * @param sessionId
     * @return
     * @throws Exception
     */
    public static JSONArray getSessions(String sessionId){
    public static JSONArray getSessions(String sessionId) {
        String url = SystemConf.getInstance().getSystemProperties().getProperty("im_list_get")
                + "api/v2/sessions/"+sessionId+"/participants?session_id="+sessionId;
        try{
            String ret = HttpClientUtil.get(url,"utf-8");
                + "api/v2/sessions/" + sessionId + "/participants?session_id=" + sessionId;
        try {
            String ret = HttpClientUtil.get(url, "utf-8");
            return new JSONArray(ret);
        }catch (Exception e){
        } catch (Exception e) {
            throw new RuntimeException("获取议题失败!");
        }
    }
    public  static final String SESSION_TYPE_MUC = "1";
    public  static final String SESSION_TYPE_P2P = "2";
    public  static final String SESSION_TYPE_GROUP = "3";
    public  static final String SESSION_TYPE_SYSTEM = "0";
    public  static final String SESSION_STATUS_PROCEEDINGS= "0";
    public  static final String SESSION_STATUS_END= "1";
    public static final String SESSION_TYPE_MUC = "1";
    public static final String SESSION_TYPE_P2P = "2";
    public static final String SESSION_TYPE_GROUP = "3";
    public static final String SESSION_TYPE_SYSTEM = "0";
    public static final String SESSION_STATUS_PROCEEDINGS = "0";
    public static final String SESSION_STATUS_END = "1";
}

+ 26 - 7
patient-co-wlyy/src/main/java/com/yihu/wlyy/web/common/im/imController.java

@ -1,6 +1,8 @@
package com.yihu.wlyy.web.common.im;
import com.yihu.wlyy.entity.doctor.profile.Doctor;
import com.yihu.wlyy.repository.doctor.DoctorDao;
import com.yihu.wlyy.repository.patient.SignFamilyDao;
import com.yihu.wlyy.util.ImUtill;
import io.swagger.annotations.Api;
@ -26,12 +28,14 @@ public class imController extends BaseController {
    private JdbcTemplate jdbcTemplate;
    @Autowired
    private SignFamilyDao signFamilyDao;
    @Autowired
    private DoctorDao doctorDao;
    /**
     * 获取列表
     * status = 10 已结束的咨询,status=0,reply = 1 已回复 ,status=0,reply=0未回复
     * 第一次列表为当前医生(很可能团队长)待回复列表 传参:doctor有后台获取 status=0,reply=0未回复
     * 后 取团队内单各医生的咨询情况 doctor、status、reply均有前端传入
     * 后 取团队内单个医生的咨询情况 doctor、status、reply均有前端传入
     *
     * @return
     */
@ -49,16 +53,30 @@ public class imController extends BaseController {
                doctor = getUID();
            }
            String consult = ImUtill.getConsultByStatus(doctor, status, reply, page, pagesize);
//            Doctor dct = doctorDao.findByCode(doctor);
            /*String photo = dct.getPhoto();
            String dctName = dct.getName();*/
            JSONArray jsonArray = new JSONArray(consult);
            Iterator<Object> it = jsonArray.iterator();
            List list = new ArrayList();
            while (it.hasNext()) {
                Map map = new HashMap();
                JSONObject ob = (JSONObject) it.next();
                String id = ob.get("id").toString();
                String avatar = ob.get("avatar").toString();
                String session_id = ob.get("session_id").toString();
                String name = ob.get("name").toString();
                map.put("name", name);
                String name = ob.get("patient_name").toString();
                String createTime = ob.get("create_time").toString();
                String description = ob.get("description").toString();
                String sex = ob.get("sex").toString();
                map.put("id", id);
                map.put("session_id", session_id);
                map.put("photo", avatar);
                map.put("patientName", name);
                map.put("sex", sex);
                map.put("create_time", createTime);
                map.put("description", description);
                list.add(map);
            }
            return write(200, "查询成功", "data", list);
@ -79,6 +97,7 @@ public class imController extends BaseController {
    public String getTeamData() {
        try {
            String uid = getUID();
//           String uid = "6c0cfe5065e011e69f7c005056850d66";
            List<Map<String, Object>> doctors = getMemberByDoctor(uid);
            JSONObject json = new JSONObject();
            List list = new ArrayList();
@ -114,7 +133,7 @@ public class imController extends BaseController {
            json.put("totalReply", countReply);
            json.put("totalConsult", countConsult);
            json.put("doctors", list);
            return write(200, "查询成功");
            return write(200, "查询成功", "data", json);
        } catch (Exception e) {
            error(e);
            return invalidUserException(e, -1, "查询失败!");
@ -159,9 +178,9 @@ public class imController extends BaseController {
//            2.判断团队长和当前咨询居民是否存在签约关系
            String doctor = getUID();
//			Boolean flag = consultTeamService.getConsultByPatient(patient,doctor);
            int count = signFamilyDao.findByPatientAndDoctor(patient,doctor);
            boolean flag = (count ==0)? false : true;
			return write(200, "查询成功", "data", flag);
            int count = signFamilyDao.findByPatientAndDoctor(patient, doctor);
            boolean flag = (count == 0) ? false : true;
            return write(200, "查询成功", "data", flag);
//            return write(200, "查询成功");
        } catch (Exception e) {
            error(e);

+ 2 - 1
patient-co-wlyy/src/main/resources/system.properties

@ -68,7 +68,8 @@ chat_server=http://weixin.xmtyw.cn/res/chat/
sign_check_upload=http://172.19.103.87:8011/wlyy_service
# IM配置
im_list_get=http://192.168.131.102:3008/
im_list_get=http://172.19.103.29:3008
#im_list_get=http://192.168.131.102:3008/
im_group_server=http://172.19.103.29:3000/api/v1/chats/gm
msg_push_server=http://172.19.103.29:3000/api/v1/chats/sm