فهرست منبع

Merge branch 'dev' of chenweida/patient-co-management into dev

chenweida 8 سال پیش
والد
کامیت
78e99100c5
15فایلهای تغییر یافته به همراه421 افزوده شده و 164 حذف شده
  1. 4 0
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/message/NoticeJob.java
  2. 21 52
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/task/PushMsgTask.java
  3. 130 0
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/util/http/HttpClientUtil.java
  4. 158 0
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/util/http/HttpHelper.java
  5. 36 0
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/util/http/HttpResponse.java
  6. 3 3
      patient-co-statistics/src/main/resources/application.yml
  7. 0 7
      patient-co-wlyy/src/main/java/com/yihu/wlyy/entity/consult/ConsultTeam.java
  8. 3 0
      patient-co-wlyy/src/main/java/com/yihu/wlyy/repository/discussion/DiscussionGroupDao.java
  9. 2 0
      patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/consult/ConsultTeamService.java
  10. 11 0
      patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/talk/TalkGroupService.java
  11. 15 48
      patient-co-wlyy/src/main/java/com/yihu/wlyy/util/HttpUtil.java
  12. 30 46
      patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/consult/DoctorConsultController.java
  13. 2 2
      patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/discussion/DoctorDiscussionGroupController.java
  14. 4 4
      patient-co-wlyy/src/main/java/com/yihu/wlyy/web/patient/consult/ConsultController.java
  15. 2 2
      patient-co-wlyy/src/main/resources/system.properties

+ 4 - 0
patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/message/NoticeJob.java

@ -13,6 +13,7 @@ import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
@ -41,6 +42,8 @@ public class NoticeJob implements Job {
    private QuartzJobLogDao dbStorage;
    @Autowired
    private DoctorDao doctorDao;
    @Value("${systemConfig.msg_push_server}")
    private String url;
    @Transactional
    public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
@ -87,6 +90,7 @@ public class NoticeJob implements Job {
                }
            }
            // 推送消息给医生
            PushMsgTask.url=url;
            PushMsgTask.getInstance().put(jsonArray);
            //保存日志
            quartzJobLog.setJobEndTime(new Date());

+ 21 - 52
patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/task/PushMsgTask.java

@ -1,23 +1,21 @@
package com.yihu.wlyy.statistics.task;
import com.yihu.wlyy.statistics.util.http.HttpHelper;
import com.yihu.wlyy.statistics.util.http.HttpResponse;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.LinkedBlockingQueue;
public class PushMsgTask {
	public static String url="";
	private static Logger logger = LoggerFactory.getLogger(PushMsgTask.class);
	// 最大容量为50的数组堵塞队列
	private static LinkedBlockingQueue<JSONObject> queue = new LinkedBlockingQueue<JSONObject>();
@ -26,8 +24,6 @@ public class PushMsgTask {
	private static Object lock = new Object();
	@Value("${systemConfig.msg_push_server}")
	private String msgPushServer;
	public static PushMsgTask getInstance() {
		synchronized (lock) {
@ -120,53 +116,26 @@ public class PushMsgTask {
	 * @param data 消息数据
	 */
	public static boolean pushMessage(String receiver, String msgType, String title, String msg, String data) {
		PrintWriter out = null;
		BufferedReader in = null;
		HttpURLConnection conn = null;
		try {
			//String server = getInstance().systemConfig.getMsgPushServer();
			String server = "http://127.0.0.1:3000/system/sendmsg.im";
			String url = server + "?to_uid=" + receiver + "&content=" + URLEncoder.encode(msg, "UTF-8") + "&type=" + msgType + "&title=" + URLEncoder.encode(title, "UTF-8") + "&data=" + data;
			URL realUrl = new URL(url);
			// 打开和URL之间的连接
			conn = (HttpURLConnection) realUrl.openConnection();
			conn.setRequestMethod("GET");
			conn.setDoOutput(true);
			conn.setDoInput(true);
			conn.setUseCaches(false);
			conn.setRequestProperty("Content-Type", "application/json");
			// 读取返回内容
			StringBuffer buffer = new StringBuffer();
			BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream(), "UTF-8"));
			String temp;
			while ((temp = br.readLine()) != null) {
				buffer.append(temp);
				buffer.append("\n");
			}
			System.out.println(buffer.toString());
			JSONObject json = new JSONObject().fromObject(buffer.toString());
			if (json.getInt("errno") == 0) {
				// 成功
				return true;
			HttpHelper httpHelper=new HttpHelper();
			Map<String,Object> params =new HashMap<>();
			params.put("to",receiver);
			params.put("content",msg);
			params.put("contentType",msgType);
			params.put("title",title);
			params.put("summary",data);
			HttpResponse response = httpHelper.post(url, params);
			if (response != null && response.getStatusCode() == 200) {
				JSONObject json = JSONObject.fromObject(response.getBody());
				if (!"200".equals(json.optString("status"))) {
					throw new Exception(json.optString("msg"));
				}
			} else {
				// 失败
				return false;
				throw new Exception("接口调用错误!"+response.getBody());
			}
			return true;
		} catch (Exception e) {
			logger.error("push message error:", e);
		} finally {
			try {
				if (out != null) {
					out.close();
				}
				if (in != null) {
					in.close();
				}
			} catch (IOException ex) {
				ex.printStackTrace();
			}
		}
		return false;
	}

+ 130 - 0
patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/util/http/HttpClientUtil.java

@ -0,0 +1,130 @@
package com.yihu.wlyy.statistics.util.http;
import org.apache.http.Consts;
import org.apache.http.client.CredentialsProvider;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.client.methods.*;
import org.apache.http.client.protocol.HttpClientContext;
import org.apache.http.client.utils.URLEncodedUtils;
import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
import org.apache.http.impl.client.BasicCredentialsProvider;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;
import org.springframework.util.StringUtils;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
 * Created by hzp on 2016/8/9.
 */
public class HttpClientUtil {
    /**************************** 私有方法 *****************************************/
    private static CloseableHttpClient getCloseableHttpClient(SSLConnectionSocketFactory ssl) {
        if(ssl == null)
        {
            return HttpClients.createDefault();
        }
        else{
            CloseableHttpClient httpClient = HttpClients.custom()
                    .setSSLSocketFactory(ssl)
                    .build();
            return httpClient;
        }
    }
    private static void close(CloseableHttpClient httpClient, CloseableHttpResponse response) {
        try {
            if (httpClient != null) {
                httpClient.close();
            }
        } catch (Exception e) {
            System.out.print("关闭httpClient失败");
        }
        try {
            if (response != null) {
                response.close();
            }
        } catch (Exception e) {
            System.out.print("关闭response失败");
        }
    }
    private static HttpRequestBase getRequest(String method,String url,Map<String,Object> params,Map<String,Object> header) throws Exception
    {
        List<BasicNameValuePair> jsonParams = new ArrayList<>();
        //配置参数
        if(params!=null) {
            for (String key : params.keySet()) {
                jsonParams.add(new BasicNameValuePair(key, String.valueOf(params.get(key))));
            }
        }
        HttpRequestBase request;
        if(method.equals("POST"))
        {
            request = new HttpPost(url + "?" + URLEncodedUtils.format(jsonParams, Consts.UTF_8));
        }
        else if(method.equals("PUT"))
        {
            request = new HttpPut(url + "?" + URLEncodedUtils.format(jsonParams, Consts.UTF_8));
        }
        else if(method.equals("DELETE"))
        {
            request = new HttpDelete(url + "?" + URLEncodedUtils.format(jsonParams, Consts.UTF_8));
        }
        else
        {
            request = new HttpGet(url + "?" + URLEncodedUtils.format(jsonParams, Consts.UTF_8));
        }
        //配置头部信息
        if(header!=null)
        {
            for (String key : header.keySet()) {
                request.addHeader(key, header.get(key).toString());
            }
        }
        return request;
    }
    /****************************** 公用方法 *******************************************/
    /**
     * get请求
     */
    public static HttpResponse request(String method,String url,Map<String,Object> params,Map<String,Object> header,SSLConnectionSocketFactory ssl,String user,String password) {
        HttpResponse re = new HttpResponse();
        CloseableHttpResponse response = null;
        CloseableHttpClient httpclient = getCloseableHttpClient(ssl);
        //设置请求信息
        try {
            RequestConfig requestConfig = RequestConfig.custom().
                    setAuthenticationEnabled(true).build();
            HttpRequestBase request = getRequest(method,url,params,header);
            request.setConfig(requestConfig);
            //需要验证
            if (!StringUtils.isEmpty(user) && !StringUtils.isEmpty(password)) {
                HttpClientContext context = HttpClientContext.create();
                //通过http的上下文设置账号密码
                CredentialsProvider credsProvider = new BasicCredentialsProvider();
                credsProvider.setCredentials(new org.apache.http.auth.AuthScope(org.apache.http.auth.AuthScope.ANY_HOST, org.apache.http.auth.AuthScope.ANY_PORT),new org.apache.http.auth.UsernamePasswordCredentials(user, password));
                context.setCredentialsProvider(credsProvider);
                response = httpclient.execute(request, context);
            } else {
                response = httpclient.execute(request);
            }
            re.setStatusCode(response.getStatusLine().getStatusCode());
            re.setBody(EntityUtils.toString(response.getEntity(), "UTF-8"));
        } catch (Exception e) {
            re.setStatusCode(201);
            re.setBody(e.getMessage());
        } finally {
            close(httpclient, response);
        }
        return re;
    }
}

+ 158 - 0
patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/util/http/HttpHelper.java

@ -0,0 +1,158 @@
package com.yihu.wlyy.statistics.util.http;
import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
import org.apache.http.conn.ssl.TrustSelfSignedStrategy;
import org.apache.http.ssl.SSLContexts;
import org.springframework.stereotype.Service;
import javax.net.ssl.SSLContext;
import java.io.File;
import java.util.Map;
/**
 * Created by hzp on 2016/8/9.
 */
@Service
public class HttpHelper {
    private String sslKeystore;
    private String sslPassword;
    private String httpsUser;
    private String httpsUserPassword;
    private SSLConnectionSocketFactory  getDefaultSSL()
    {
        try {
            if (sslKeystore != null && sslKeystore.length() > 0 && sslPassword != null && sslPassword.length() > 0) {
                SSLContext sslContext = SSLContexts.custom()
                        .loadTrustMaterial(new File(sslKeystore), sslPassword.toCharArray(),
                                new TrustSelfSignedStrategy())
                        .build();
                return new SSLConnectionSocketFactory(
                        sslContext,
                        new String[]{"TLSv1"},
                        null,
                        null);
            } else {
                return null;
            }
        }
        catch (Exception ex)
        {
            System.out.print("获取SSL配置失败!");
            return null;
        }
    }
    /************************** Get方法 ******************************************/
    public HttpResponse get(String url)
    {
        return get(url,null,null);
    }
    public HttpResponse get(String url,Map<String,Object> params)
    {
        return get(url,params,null);
    }
    public HttpResponse get(String url,Map<String,Object> params,Map<String,Object> header)
    {
        if(url.startsWith("https"))
        {
            return get(url,params,header,getDefaultSSL(),httpsUser,httpsUserPassword);
        }
        else{
            //默认http不走ssl和用户密码
            return get(url, params, header, null, null, null);
        }
    }
    public HttpResponse get(String url,Map<String,Object> params,Map<String,Object> header,SSLConnectionSocketFactory ssl,String user,String password)
    {
        return HttpClientUtil.request("GET", url, params, header, ssl, user, password);
    }
    /************************** Post方法 ******************************************/
    public HttpResponse post(String url)
    {
        return post(url, null, null);
    }
    public HttpResponse post(String url,Map<String,Object> params)
    {
        return post(url, params, null);
    }
    public HttpResponse post(String url,Map<String,Object> params,Map<String,Object> header)
    {
        if(url.startsWith("https"))
        {
            return post(url, params, header, getDefaultSSL(),httpsUser,httpsUserPassword);
        }
        else{
            //默认http不走ssl和用户密码
            return post(url, params, header, null, null, null);
        }
    }
    public HttpResponse post(String url,Map<String,Object> params,Map<String,Object> header,SSLConnectionSocketFactory ssl,String user,String password)
    {
        return HttpClientUtil.request("POST",url,params,header,ssl,user,password);
    }
    /************************** Put方法 ******************************************/
    public HttpResponse put(String url)
    {
        return put(url, null, null);
    }
    public HttpResponse put(String url,Map<String,Object> params)
    {
        return put(url, params, null);
    }
    public HttpResponse put(String url,Map<String,Object> params,Map<String,Object> header)
    {
        if(url.startsWith("https"))
        {
            return put(url, params, header, getDefaultSSL(),httpsUser,httpsUserPassword);
        }
        else{
            //默认http不走ssl和用户密码
            return put(url, params, header, null, null, null);
        }
    }
    public HttpResponse put(String url,Map<String,Object> params,Map<String,Object> header,SSLConnectionSocketFactory ssl,String user,String password)
    {
        return HttpClientUtil.request("PUT",url,params,header,ssl,user,password);
    }
    /************************** Delete方法 **************************************/
    public HttpResponse delete(String url)
    {
        return delete(url, null, null);
    }
    public HttpResponse delete(String url,Map<String,Object> params)
    {
        return delete(url, params, null);
    }
    public HttpResponse delete(String url,Map<String,Object> params,Map<String,Object> header)
    {
        if(url.startsWith("https"))
        {
            return delete(url, params, header, getDefaultSSL(),httpsUser,httpsUserPassword);
        }
        else{
            //默认http不走ssl和用户密码
            return delete(url, params, header, null, null, null);
        }
    }
    public static HttpResponse delete(String url,Map<String,Object> params,Map<String,Object> header,SSLConnectionSocketFactory ssl,String user,String password)
    {
        return HttpClientUtil.request("DELETE",url,params,header,ssl,user,password);
    }
}

+ 36 - 0
patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/util/http/HttpResponse.java

@ -0,0 +1,36 @@
package com.yihu.wlyy.statistics.util.http;
/**
 * add by hzp at 2016-8-9
 */
public class HttpResponse {
    public HttpResponse()
    {
    }
    public HttpResponse(int statusCode, String body) {
        this.statusCode = statusCode;
        this.body = body;
    }
    private int statusCode;
    private String body;
    public int getStatusCode() {
        return statusCode;
    }
    public void setStatusCode(int statusCode) {
        this.statusCode = statusCode;
    }
    public String getBody() {
        return body;
    }
    public void setBody(String body) {
        this.body = body;
    }
}

+ 3 - 3
patient-co-statistics/src/main/resources/application.yml

@ -140,7 +140,7 @@ fv:
    password: ssgg
systemConfig:
  msg_push_server: http://127.0.0.1:3000/system/sendmsg.im
  msg_push_server: http://127.0.0.1:3000/api/v1/chats/sm
---
@ -169,7 +169,7 @@ fv:
    password: jkzlehr@123
systemConfig:
  msg_push_server: http://127.0.0.1:3000/system/sendmsg.im
  msg_push_server: http://127.0.0.1:3000/api/v1/chats/sm
---
@ -199,4 +199,4 @@ fv:
    password: 123456
systemConfig:
  msg_push_server: http://127.0.0.1:3000/system/sendmsg.im
  msg_push_server: http://127.0.0.1:3000/api/v1/chats/sm

+ 0 - 7
patient-co-wlyy/src/main/java/com/yihu/wlyy/entity/consult/ConsultTeam.java

@ -43,7 +43,6 @@ public class ConsultTeam extends IdEntity {
	private Long adminTeamId;//行政团队ID
	private Long guidance;   //关联指导
	private String doctorName;//醫生名字
	private String groupCode;//讨论租code
	//起始消息id
	private Integer startMsgId;
	//结束消息id
@ -252,9 +251,6 @@ public class ConsultTeam extends IdEntity {
		this.guidance = guidance;
	}
	public String getGroupCode() {
		return groupCode;
	}
	public Integer getStartMsgId() {
		return startMsgId;
@ -272,7 +268,4 @@ public class ConsultTeam extends IdEntity {
		this.endMsgId = endMsgId;
	}
	public void setGroupCode(String groupCode) {
		this.groupCode = groupCode;
	}
}

+ 3 - 0
patient-co-wlyy/src/main/java/com/yihu/wlyy/repository/discussion/DiscussionGroupDao.java

@ -40,4 +40,7 @@ public interface DiscussionGroupDao extends PagingAndSortingRepository<WlyyTalkG
	List<WlyyTalkGroup> findByDoctorAndPatient(String doctor,String patient);
	
	WlyyTalkGroup findByCode(String code);
	@Query("from WlyyTalkGroup tg where tg.consultCode=?1  ")
	List<WlyyTalkGroup> findByConsult(String consult);
}

+ 2 - 0
patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/consult/ConsultTeamService.java

@ -5,6 +5,7 @@
 *******************************************************************************/
package com.yihu.wlyy.service.app.consult;
import java.text.SimpleDateFormat;
import java.util.*;
import com.yihu.wlyy.entity.consult.Consult;
@ -1181,4 +1182,5 @@ public class ConsultTeamService extends ConsultService {
    public void save(ConsultTeam consult) {
        consultTeamDao.save(consult);
    }
}

+ 11 - 0
patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/talk/TalkGroupService.java

@ -361,7 +361,18 @@ public class TalkGroupService extends BaseService {
            throw new Exception("没有对应咨询讨论组");
        }
    }
    /**
     * 查询咨询对应讨论组
     *
     * @param consult
     * @return
     * @throws Exception
     */
    public List<WlyyTalkGroup> findAllConsultTalkGroup(String consult) throws Exception {
        List<WlyyTalkGroup> talkGroup = discussionGroupDao.findByConsult(consult);
       return talkGroup;
    }
    /**
     * 获取医生对应病人的讨论组纪录
     *

+ 15 - 48
patient-co-wlyy/src/main/java/com/yihu/wlyy/util/HttpUtil.java

@ -8,7 +8,11 @@ import java.io.PrintWriter;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLConnection;
import java.util.ArrayList;
import java.util.List;
import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import org.json.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -134,54 +138,17 @@ public class HttpUtil {
//		param.put("type", msgType);
//		param.put("title", title);
//		param.put("data", data);
		PrintWriter out = null;
		BufferedReader in = null;
		HttpURLConnection conn = null;
		try {
			String url = SystemConf.getInstance().getMsgPushServer() + "?to_uid=" + receiver + "&content=" + msg + "&type=" + msgType + "&title=" + title + "&data=" + data;
			URL realUrl = new URL(url);
			// 打开和URL之间的连接
			conn = (HttpURLConnection) realUrl.openConnection();
			conn.setRequestMethod("GET");
			conn.setDoOutput(true);
			conn.setDoInput(true);
			conn.setUseCaches(false);
			conn.setRequestProperty("Content-Type", "application/json");
//			OutputStreamWriter osw = new OutputStreamWriter(conn.getOutputStream(), "UTF-8");
//			osw.write(param.toString());
//			osw.flush();
			// 读取返回内容
			StringBuffer buffer = new StringBuffer();
			BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream(), "UTF-8"));
			String temp;
			while ((temp = br.readLine()) != null) {
				buffer.append(temp);
				buffer.append("\n");
			}
			System.out.println(buffer.toString());
			JSONObject json = new JSONObject(buffer.toString());
			if (json.getInt("errno") == 0) {
				// 成功
				return true;
			} else {
				// 失败
				return false;
			}
		} catch (Exception e) {
			logger.error("push message error:", e);
		} finally {
			try {
				if (out != null) {
					out.close();
				}
				if (in != null) {
					in.close();
				}
			} catch (IOException ex) {
				ex.printStackTrace();
			}
		try{
			List<NameValuePair> params = new ArrayList<>();
			params.add(new BasicNameValuePair("to", receiver));
			params.add(new BasicNameValuePair("content", msg));
			params.add(new BasicNameValuePair("contentType", msgType));
			params.add(new BasicNameValuePair("title", title));
			params.add(new BasicNameValuePair("summary", data));
			String response = HttpClientUtil.post(SystemConf.getInstance().getMsgPushServer(), params, "UTF-8");
			return true;
		}catch (Exception e){
			e.printStackTrace();
		}
		return false;
	}

+ 30 - 46
patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/consult/DoctorConsultController.java

@ -4,6 +4,7 @@ import java.util.List;
import java.util.Map;
import com.yihu.wlyy.entity.consult.Consult;
import com.yihu.wlyy.entity.discussion.WlyyTalkGroup;
import com.yihu.wlyy.entity.discussion.WlyyTalkGroupMember;
import com.yihu.wlyy.service.app.consult.ConsultService;
import com.yihu.wlyy.service.app.health.PatientHealthGuidanceService;
@ -101,7 +102,7 @@ public class DoctorConsultController extends WeixinBaseController {
                json.put("name", consult.getName());
                // 设置醫生标识
                json.put("doctor", consult.getDoctor());
                Doctor doctor=doctorService.findDoctorByCode(consult.getDoctor());
                Doctor doctor = doctorService.findDoctorByCode(consult.getDoctor());
                // 设置醫生标识
                json.put("doctorName", doctor.getName());
                // 设置医生photo
@ -143,7 +144,7 @@ public class DoctorConsultController extends WeixinBaseController {
    /**
     * 获取三师家庭咨询
     *
     * @param status 0未处理或未回复 1已回复 2已结束
     * @param status   0未处理或未回复 1已回复 2已结束
     * @param id
     * @param pagesize
     * @param patient
@ -152,9 +153,9 @@ public class DoctorConsultController extends WeixinBaseController {
    @RequestMapping(value = "/list_by_status")
    @ResponseBody
    public String listByStatus(int status, int id, int pagesize,
                                      @RequestParam(required = false) String patient) {
                               @RequestParam(required = false) String patient) {
        try {
            Page<ConsultTeam> list = consultTeamService.findConsultByDoctor(getUID(),status,id, pagesize);
            Page<ConsultTeam> list = consultTeamService.findConsultByDoctor(getUID(), status, id, pagesize);
            JSONArray jsonArray = new JSONArray();
            for (ConsultTeam consult : list) {
                if (consult == null) {
@ -197,8 +198,11 @@ public class DoctorConsultController extends WeixinBaseController {
                json.put("guidance", consult.getGuidance());
                json.put("startId", consult.getStartMsgId());
                json.put("endId", consult.getEndMsgId());
                json.put("groupCode", consult.getGroupCode());
                List<WlyyTalkGroup> wlyyTalkGroups= talkGroupService.findAllConsultTalkGroup(consult.getConsult());
                if(wlyyTalkGroups!=null&&wlyyTalkGroups.size()>0)
                for(WlyyTalkGroup wlyyTalkGroup:wlyyTalkGroups){
                    json.put("group"+wlyyTalkGroup.getType(),wlyyTalkGroup.getCode());
                }
                jsonArray.put(json);
            }
            return write(200, "查询成功", "list", jsonArray);
@ -207,16 +211,17 @@ public class DoctorConsultController extends WeixinBaseController {
            return invalidUserException(e, -1, "查询失败!");
        }
    }
    @RequestMapping(value = "/hasTnvite")
    @ResponseBody
    public String hasTnvite(String groupCode) {
        try {
            JSONObject jo=new JSONObject();
            List<WlyyTalkGroupMember> wlyyTalkGroupMembers= talkGroupService.findTalkGroupMembers(groupCode);
            if(wlyyTalkGroupMembers.size()>2){
                jo.put("hasTnvite",1);//有邀请
            }else{
                jo.put("hasTnvite",0);//没邀请
            JSONObject jo = new JSONObject();
            List<WlyyTalkGroupMember> wlyyTalkGroupMembers = talkGroupService.findTalkGroupMembers(groupCode);
            if (wlyyTalkGroupMembers.size() > 2) {
                jo.put("hasTnvite", 1);//有邀请
            } else {
                jo.put("hasTnvite", 0);//没邀请
            }
            return write(200, "查询成功", "list", jo);
        } catch (Exception e) {
@ -224,6 +229,7 @@ public class DoctorConsultController extends WeixinBaseController {
            return invalidUserException(e, -1, "查询失败!");
        }
    }
    /**
     * 名医列表
     *
@ -307,30 +313,6 @@ public class DoctorConsultController extends WeixinBaseController {
        }
    }
    /**
     * 三师咨询转接接口
     *
     * @param consult 图咨询标识
     * @param doctor  转接对象标识 健康管理师转全科是 1个    全科转专科是多个  传多个doctor逗号分隔
     * @param type    转接对象类型,1三师团队,2指定医生,3工作组团队
     * @return
     */
    @RequestMapping(value = "transfer")
    @ResponseBody
    public String transfer(
            String consult,
            String doctor,
            @RequestParam(required = false) int type,
            String groupCode) {
        try {
            consultTeamService.transfers(getUID(), doctor, consult,groupCode);
            return success("转接成功");
        } catch (Exception e) {
            error(e);
            return error(-1, "转接失败!");
        }
    }
    /**
     * 结束三师咨询接口
     *
@ -590,27 +572,29 @@ public class DoctorConsultController extends WeixinBaseController {
            return error(-1, "回复失败!");
        }
    }
    /**
     * 名医咨询添加接口
     * @param when 发病时间
     * @param symptoms 主要症状
     * @param images 图片URL地址,多图以逗号分隔
     * @param voice 语音URL地址
     *
     * @param when       发病时间
     * @param symptoms   主要症状
     * @param images     图片URL地址,多图以逗号分隔
     * @param voice      语音URL地址
     * @param doctorCode 名医的code
     * @return
     */
    @RequestMapping(value = "famousAdd")
    @ResponseBody
    public String famousAdd(
            @RequestParam(required = false)String when,
            @RequestParam(required = false) String when,
            String symptoms,
            @RequestParam(required = false) String doctorCode,
            @RequestParam(required = false) String images,
            @RequestParam(required = false) String voice) {
        try {
            //判断医生是否是在工作时间
            JSONObject jo=doctorWorkTimeService.isFamousDoctorWorking(doctorCode);
            if(!jo.get("status").equals("1")){
            JSONObject jo = doctorWorkTimeService.isFamousDoctorWorking(doctorCode);
            if (!jo.get("status").equals("1")) {
                return error(-1, jo.get("msg").toString());
            }
            if (StringUtils.isEmpty(images)) {
@ -643,7 +627,7 @@ public class DoctorConsultController extends WeixinBaseController {
            consult.setVoice(voice);
            consult.setDoctor(doctorCode);//设置专科医生
            // 保存到数据库
            consultTeamService.addFamousTeamConsult(consult, getUID(),"2");
            consultTeamService.addFamousTeamConsult(consult, getUID(), "2");
            // 推送消息给医生
            PushMsgTask.getInstance().put(consult.getDoctor(), MessageType.MESSAGE_TYPE_DOCTOR_NEW_FAMOUS_CONSULT_TEAM.D_CT_01.name(), MessageType.MESSAGE_TYPE_DOCTOR_NEW_FAMOUS_CONSULT_TEAM.名医咨询.name(), MessageType.MESSAGE_TYPE_DOCTOR_NEW_FAMOUS_CONSULT_TEAM.您有新的名医咨询.name(), consult.getConsult());
            return success("提交成功");
@ -662,10 +646,10 @@ public class DoctorConsultController extends WeixinBaseController {
    @RequestMapping(value = "/is_consult_unfinished", method = {RequestMethod.GET, RequestMethod.POST})
    @ResponseBody
    public String isExistsUnfinishedConsult(@RequestParam(required = false) String patient,
            @RequestParam(required = true) String doctor) {
                                            @RequestParam(required = true) String doctor) {
        try {
            JSONObject result = new JSONObject();
            List<ConsultTeam> consults = consultTeamService.getUnfinishedConsult(StringUtils.isEmpty(patient)?getUID():patient, doctor);
            List<ConsultTeam> consults = consultTeamService.getUnfinishedConsult(StringUtils.isEmpty(patient) ? getUID() : patient, doctor);
            if (consults != null && consults.size() > 0) {
                return write(200, "查询成功", "data", consults.get(0).getConsult());

+ 2 - 2
patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/discussion/DoctorDiscussionGroupController.java

@ -41,13 +41,13 @@ public class DoctorDiscussionGroupController extends BaseController {
     * 医生创建讨论组
     *
     * @param name           讨论组名称
     * @param type           讨论组类型
     * @param type           讨论组类型 1咨询 2求组
     * @param talkDoctor     讨论组医生
     * @param talkDoctorName 讨论组医生名称
     * @param doctorType     成员医生类型
     * @param patient        病人标识
     * @param patientName    病人姓名
     * @param patientInclude 病人是否加入讨论组
     * @param patientInclude 病人是否加入讨论组 不传默认不加入患者
     * @return
     */
    @RequestMapping(value = "/create", method = {RequestMethod.GET, RequestMethod.POST})

+ 4 - 4
patient-co-wlyy/src/main/java/com/yihu/wlyy/web/patient/consult/ConsultController.java

@ -308,11 +308,11 @@ public class ConsultController extends WeixinBaseController {
            Doctor doctor = doctorService.findDoctorByCode(consult.getDoctor());
            //创建咨询讨论组
            JSONObject jo= talkGroupService.createConsultTalkGroup(consult.getDoctor(), doctor.getName(), doctor.getHospital(), doctor.getHospitalName(),
                    consult.getPatient(), consult.getName(), consult.getConsult());
            consult.setGroupCode(jo.getString("groupCode"));
            // JSONObject jo= talkGroupService.createConsultTalkGroup(consult.getDoctor(), doctor.getName(), doctor.getHospital(), doctor.getHospitalName(),
            //        consult.getPatient(), consult.getName(), consult.getConsult());
            // consult.setGroupCode(jo.getString("groupCode"));
            //更新讨论组
            consultTeamService.save(consult);
            //consultTeamService.save(consult);
            // 添加到统计队列
            if (consult.getType() == 2) {
                DoctorStatisticsTask.getInstance(doctorStatisticsService).put(consult.getDoctor(), 1, 1, 0);

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

@ -83,8 +83,8 @@ im_list_get=http://192.168.131.101:3000/
#----------------淏宒遠噫怹數巹キ埮覃蚚諉諳華硊-------------------#
#sign_check_upload=http://59.61.92.90:8072/wlyy_service
im_group_server=http://120.41.252.108:3031/group/sendgroupmsg.im
msg_push_server=http://120.41.252.108:3031/push/sendmsg.im
im_group_server=http://120.41.252.108:3031/api/v1/chats/gm
msg_push_server=http://120.41.252.108:3031/api/v1/chats/sm
weixin_websocket_server = http://172.19.103.76:8000/user/senddata.do
#file upload temp path