|  | @ -1,5 +1,6 @@
 | 
												
													
														
															|  | package com.yihu.wlyy.service.app.talk;
 |  | package com.yihu.wlyy.service.app.talk;
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  | 
 |  | import java.io.UnsupportedEncodingException;
 | 
												
													
														
															|  | import java.sql.ResultSet;
 |  | import java.sql.ResultSet;
 | 
												
													
														
															|  | import java.sql.SQLException;
 |  | import java.sql.SQLException;
 | 
												
													
														
															|  | import java.text.SimpleDateFormat;
 |  | import java.text.SimpleDateFormat;
 | 
												
											
												
													
														
															|  | @ -7,6 +8,10 @@ import java.util.*;
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  | import javax.transaction.Transactional;
 |  | import javax.transaction.Transactional;
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  | 
 |  | import com.yihu.wlyy.entity.doctor.profile.Doctor;
 | 
												
													
														
															|  | 
 |  | import com.yihu.wlyy.repository.doctor.DoctorDao;
 | 
												
													
														
															|  | 
 |  | import com.yihu.wlyy.util.HttpUtil;
 | 
												
													
														
															|  | 
 |  | import com.yihu.wlyy.util.SystemConf;
 | 
												
													
														
															|  | import org.json.JSONArray;
 |  | import org.json.JSONArray;
 | 
												
													
														
															|  | import org.json.JSONObject;
 |  | import org.json.JSONObject;
 | 
												
													
														
															|  | import org.springframework.beans.factory.annotation.Autowired;
 |  | import org.springframework.beans.factory.annotation.Autowired;
 | 
												
											
												
													
														
															|  | @ -19,6 +24,7 @@ import com.yihu.wlyy.entity.discussion.WlyyTalkGroupMember;
 | 
												
													
														
															|  | import com.yihu.wlyy.repository.discussion.DiscussionGroupDao;
 |  | import com.yihu.wlyy.repository.discussion.DiscussionGroupDao;
 | 
												
													
														
															|  | import com.yihu.wlyy.repository.discussion.DiscussionGroupMemberDao;
 |  | import com.yihu.wlyy.repository.discussion.DiscussionGroupMemberDao;
 | 
												
													
														
															|  | import com.yihu.wlyy.service.BaseService;
 |  | import com.yihu.wlyy.service.BaseService;
 | 
												
													
														
															|  | 
 |  | import org.springframework.util.StringUtils;
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  | @Service
 |  | @Service
 | 
												
													
														
															|  | @Transactional
 |  | @Transactional
 | 
												
											
												
													
														
															|  | @ -32,6 +38,8 @@ public class TalkGroupService extends BaseService {
 | 
												
													
														
															|  |             DiscussionGroupMemberDao discussionGroupMemberDao;
 |  |             DiscussionGroupMemberDao discussionGroupMemberDao;
 | 
												
													
														
															|  |     @Autowired
 |  |     @Autowired
 | 
												
													
														
															|  |     JdbcTemplate jdbcTemplate;
 |  |     JdbcTemplate jdbcTemplate;
 | 
												
													
														
															|  | 
 |  |     @Autowired
 | 
												
													
														
															|  | 
 |  |     DoctorDao doctorDao;
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  |     /**
 |  |     /**
 | 
												
													
														
															|  |      * 讨论组保存
 |  |      * 讨论组保存
 | 
												
											
												
													
														
															|  | @ -49,7 +57,7 @@ public class TalkGroupService extends BaseService {
 | 
												
													
														
															|  |      *
 |  |      *
 | 
												
													
														
															|  |      * @param members
 |  |      * @param members
 | 
												
													
														
															|  |      */
 |  |      */
 | 
												
													
														
															|  |     public void saveMembers(List<WlyyTalkGroupMember> members){
 |  | 
 | 
												
													
														
															|  | 
 |  |     public void saveMembers(List<WlyyTalkGroupMember> members) {
 | 
												
													
														
															|  |         discussionGroupMemberDao.save(members);
 |  |         discussionGroupMemberDao.save(members);
 | 
												
													
														
															|  |     }
 |  |     }
 | 
												
													
														
															|  | 
 |  | 
 | 
												
											
												
													
														
															|  | @ -191,22 +199,22 @@ public class TalkGroupService extends BaseService {
 | 
												
													
														
															|  |      * @param groups
 |  |      * @param groups
 | 
												
													
														
															|  |      * @return
 |  |      * @return
 | 
												
													
														
															|  |      */
 |  |      */
 | 
												
													
														
															|  |     public List<Map<String,Object>> getTalkGroupsSing(String[] groups){
 |  | 
 | 
												
													
														
															|  |         String params =  "";
 |  | 
 | 
												
													
														
															|  | 
 |  |     public List<Map<String, Object>> getTalkGroupsSing(String[] groups) {
 | 
												
													
														
															|  | 
 |  |         String params = "";
 | 
												
													
														
															|  |         List<String> paramList = new ArrayList<>();
 |  |         List<String> paramList = new ArrayList<>();
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  |         for(int i = 0; i < groups.length ; i++){
 |  | 
 | 
												
													
														
															|  |             params += (i == 0?"?":",?");
 |  | 
 | 
												
													
														
															|  | 
 |  |         for (int i = 0; i < groups.length; i++) {
 | 
												
													
														
															|  | 
 |  |             params += (i == 0 ? "?" : ",?");
 | 
												
													
														
															|  |         }
 |  |         }
 | 
												
													
														
															|  |         paramList.addAll(Arrays.asList(groups));
 |  |         paramList.addAll(Arrays.asList(groups));
 | 
												
													
														
															|  |         paramList.addAll(Arrays.asList(groups));
 |  |         paramList.addAll(Arrays.asList(groups));
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  |         String sqlgp = "select group_code,member_code from wlyy_talk_group_member where group_code in (" + params + ") and type = 2";
 |  |         String sqlgp = "select group_code,member_code from wlyy_talk_group_member where group_code in (" + params + ") and type = 2";
 | 
												
													
														
															|  |         String sqlgpm = "select member_code from wlyy_talk_group_member where group_code in (" + params + ") and type = 2";
 |  |         String sqlgpm = "select member_code from wlyy_talk_group_member where group_code in (" + params + ") and type = 2";
 | 
												
													
														
															|  |         String sqlQu = "select * from wlyy_quota_result where qkdoctor_code in (" + sqlgpm+ ") and quato_code = '1' and level1_type = '1'";
 |  | 
 | 
												
													
														
															|  |         String sqlQuSum = "select a.group_code,sum(ifnull(b.result,0)) sign from ("+ sqlgp +") a left join (" + sqlQu+ ") b on a.member_code = b.qkdoctor_code group by a.group_code ";
 |  | 
 | 
												
													
														
															|  | 
 |  |         String sqlQu = "select * from wlyy_quota_result where qkdoctor_code in (" + sqlgpm + ") and quato_code = '1' and level1_type = '1'";
 | 
												
													
														
															|  | 
 |  |         String sqlQuSum = "select a.group_code,sum(ifnull(b.result,0)) sign from (" + sqlgp + ") a left join (" + sqlQu + ") b on a.member_code = b.qkdoctor_code group by a.group_code ";
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  |         return jdbcTemplate.queryForList(sqlQuSum,paramList.toArray());
 |  | 
 | 
												
													
														
															|  | 
 |  |         return jdbcTemplate.queryForList(sqlQuSum, paramList.toArray());
 | 
												
													
														
															|  |     }
 |  |     }
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  |     /**
 |  |     /**
 | 
												
											
												
													
														
															|  | @ -225,7 +233,7 @@ public class TalkGroupService extends BaseService {
 | 
												
													
														
															|  |      * @param groupCode
 |  |      * @param groupCode
 | 
												
													
														
															|  |      * @return
 |  |      * @return
 | 
												
													
														
															|  |      */
 |  |      */
 | 
												
													
														
															|  |     public WlyyTalkGroup findTalkGroup(String groupCode){
 |  | 
 | 
												
													
														
															|  | 
 |  |     public WlyyTalkGroup findTalkGroup(String groupCode) {
 | 
												
													
														
															|  |         return discussionGroupDao.findByCode(groupCode);
 |  |         return discussionGroupDao.findByCode(groupCode);
 | 
												
													
														
															|  |     }
 |  |     }
 | 
												
													
														
															|  | 
 |  | 
 | 
												
											
												
													
														
															|  | @ -279,12 +287,12 @@ public class TalkGroupService extends BaseService {
 | 
												
													
														
															|  |         List<WlyyTalkGroup> result = new ArrayList<>();
 |  |         List<WlyyTalkGroup> result = new ArrayList<>();
 | 
												
													
														
															|  |         //查询语句
 |  |         //查询语句
 | 
												
													
														
															|  |         String sqlIn = " select tg.* from wlyy_talk_group tg where tg.code in ("
 |  |         String sqlIn = " select tg.* from wlyy_talk_group tg where tg.code in ("
 | 
												
													
														
															|  |                      + " select tgm.group_code "
 |  | 
 | 
												
													
														
															|  |                      + " from "
 |  | 
 | 
												
													
														
															|  |                      + "     (select * from wlyy_talk_group_member where member_code = ?) tgm "
 |  | 
 | 
												
													
														
															|  |                      + "  inner join "
 |  | 
 | 
												
													
														
															|  |                      + "     (select * from wlyy_talk_group_member where member_code = ?) tgmm "
 |  | 
 | 
												
													
														
															|  |                      + "  on tgm.group_code = tgmm.group_code )";
 |  | 
 | 
												
													
														
															|  | 
 |  |                 + " select tgm.group_code "
 | 
												
													
														
															|  | 
 |  |                 + " from "
 | 
												
													
														
															|  | 
 |  |                 + "     (select * from wlyy_talk_group_member where member_code = ?) tgm "
 | 
												
													
														
															|  | 
 |  |                 + "  inner join "
 | 
												
													
														
															|  | 
 |  |                 + "     (select * from wlyy_talk_group_member where member_code = ?) tgmm "
 | 
												
													
														
															|  | 
 |  |                 + "  on tgm.group_code = tgmm.group_code )";
 | 
												
													
														
															|  |         //查询
 |  |         //查询
 | 
												
													
														
															|  |         result = jdbcTemplate.query(sqlIn, new Object[]{memberFirst, memberSencond}, new RowMapper<WlyyTalkGroup>() {
 |  |         result = jdbcTemplate.query(sqlIn, new Object[]{memberFirst, memberSencond}, new RowMapper<WlyyTalkGroup>() {
 | 
												
													
														
															|  |             @Override
 |  |             @Override
 | 
												
											
												
													
														
															|  | @ -316,8 +324,54 @@ public class TalkGroupService extends BaseService {
 | 
												
													
														
															|  |      * @param doctor
 |  |      * @param doctor
 | 
												
													
														
															|  |      * @return
 |  |      * @return
 | 
												
													
														
															|  |      */
 |  |      */
 | 
												
													
														
															|  |     public long getDoctorTalkGroupCount(String doctor){
 |  | 
 | 
												
													
														
															|  | 
 |  |     public long getDoctorTalkGroupCount(String doctor) {
 | 
												
													
														
															|  |         return discussionGroupMemberDao.countByMemberCode(doctor);
 |  |         return discussionGroupMemberDao.countByMemberCode(doctor);
 | 
												
													
														
															|  |     }
 |  |     }
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  | 
 |  |     /**
 | 
												
													
														
															|  | 
 |  |      * 获取以上一对一聊天
 | 
												
													
														
															|  | 
 |  |      *
 | 
												
													
														
															|  | 
 |  |      * @param doctor
 | 
												
													
														
															|  | 
 |  |      * @return
 | 
												
													
														
															|  | 
 |  |      */
 | 
												
													
														
															|  | 
 |  |     public JSONArray getOneToOneIm(String doctor) throws UnsupportedEncodingException {
 | 
												
													
														
															|  | 
 |  |         JSONArray result = null;
 | 
												
													
														
															|  | 
 |  |         JSONArray resultArray = new JSONArray();
 | 
												
													
														
															|  | 
 |  |         String url = SystemConf.getInstance().getSystemProperties().getProperty("im_list_get")
 | 
												
													
														
															|  | 
 |  |                 + "statistic/getchatlist.im";
 | 
												
													
														
															|  | 
 |  |         String json = HttpUtil.sendGet(url, "uid=" + doctor);
 | 
												
													
														
															|  | 
 |  |         if(!StringUtils.isEmpty(json)) {
 | 
												
													
														
															|  | 
 |  |             result = new JSONArray(json);
 | 
												
													
														
															|  | 
 |  |         }
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  | 
 |  |         if (result != null && result.length() > 0) {
 | 
												
													
														
															|  | 
 |  |             for (int i = 0; i < result.length(); i++) {
 | 
												
													
														
															|  | 
 |  |                 JSONObject obj = result.getJSONObject(i);
 | 
												
													
														
															|  | 
 |  |                 if (obj.getInt("msg_type") == 1) {
 | 
												
													
														
															|  | 
 |  |                     JSONObject objRe = new JSONObject();
 | 
												
													
														
															|  | 
 |  |                     Doctor fromDoctor = doctorDao.findByCode(obj.getString("peer_uid"));
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  | 
 |  |                     if(fromDoctor == null){
 | 
												
													
														
															|  | 
 |  |                         continue;
 | 
												
													
														
															|  | 
 |  |                     }
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  | 
 |  |                     objRe.put("uid",obj.getString("uid"));
 | 
												
													
														
															|  | 
 |  |                     objRe.put("fromUid",obj.getString("peer_uid"));
 | 
												
													
														
															|  | 
 |  |                     objRe.put("fromName",fromDoctor.getName());
 | 
												
													
														
															|  | 
 |  |                     objRe.put("fromLevel",fromDoctor.getLevel());
 | 
												
													
														
															|  | 
 |  |                     objRe.put("lastContentType",obj.getInt("last_content_type"));
 | 
												
													
														
															|  | 
 |  |                     objRe.put("lastContent",new String(obj.getString("last_content").getBytes(),"utf-8"));
 | 
												
													
														
															|  | 
 |  |                     objRe.put("newMsgCount",obj.getInt("new_msg_count"));
 | 
												
													
														
															|  | 
 |  |                     objRe.put("lastMsgTime",obj.getLong("timestamp"));
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  | 
 |  |                     resultArray.put(objRe);
 | 
												
													
														
															|  | 
 |  |                 }
 | 
												
													
														
															|  | 
 |  |             }
 | 
												
													
														
															|  | 
 |  |         }
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  | 
 |  |         return resultArray;
 | 
												
													
														
															|  | 
 |  |     }
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  | }
 |  | }
 | 
												
													
														
															|  | 
 |  | 
 |