Commit 08f71e7b9bb5931a7c2bf196864a9037e9d85c7c
1 parent
2243f2fd66
Exists in
master
and in
1 other branch
获取专家组\客服人员信息
Showing 1 changed file with 83 additions and 0 deletions
talkonlineweb/src/main/java/com/lyms/talkonlineweb/controller/ChatGroupController.java
View file @
08f71e7
| 1 | 1 | package com.lyms.talkonlineweb.controller; |
| 2 | 2 | |
| 3 | +import com.alibaba.fastjson.JSON; | |
| 4 | +import com.alibaba.fastjson.JSONArray; | |
| 3 | 5 | import com.alibaba.fastjson.JSONObject; |
| 4 | 6 | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| 5 | 7 | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| 6 | 8 | |
| ... | ... | @@ -10,10 +12,14 @@ |
| 10 | 12 | import com.lyms.talkonlineweb.service.*; |
| 11 | 13 | import com.lyms.talkonlineweb.util.HXService; |
| 12 | 14 | import lombok.extern.log4j.Log4j2; |
| 15 | +import org.apache.commons.io.IOUtils; | |
| 13 | 16 | import org.springframework.beans.BeanUtils; |
| 14 | 17 | import org.springframework.beans.factory.annotation.Autowired; |
| 15 | 18 | import org.springframework.web.bind.annotation.*; |
| 16 | 19 | |
| 20 | +import javax.servlet.http.HttpServletRequest; | |
| 21 | +import java.io.IOException; | |
| 22 | +import java.nio.charset.Charset; | |
| 17 | 23 | import java.util.*; |
| 18 | 24 | |
| 19 | 25 | @RestController |
| ... | ... | @@ -44,6 +50,9 @@ |
| 44 | 50 | @Autowired |
| 45 | 51 | private LymsPatientService lymsPatientService; |
| 46 | 52 | |
| 53 | + @Autowired | |
| 54 | + private LymsTkrecordService lymsTkrecordService; | |
| 55 | + | |
| 47 | 56 | /** |
| 48 | 57 | * 添加或删除聊天组 |
| 49 | 58 | * |
| ... | ... | @@ -171,6 +180,80 @@ |
| 171 | 180 | } |
| 172 | 181 | |
| 173 | 182 | baseResponse.setObject(psList); |
| 183 | + return baseResponse; | |
| 184 | + } | |
| 185 | + | |
| 186 | + /** | |
| 187 | + * 根据环信传入的会话,获取用户信息 | |
| 188 | + * @param request | |
| 189 | + * @return | |
| 190 | + */ | |
| 191 | + @PostMapping("getSessionListInfo") | |
| 192 | + public BaseResponse getSessionListInfo(HttpServletRequest request) { | |
| 193 | + BaseResponse baseResponse = new BaseResponse(); | |
| 194 | + log.info(">>>>>>>>> getSessionListInfo"); | |
| 195 | + JSONArray rs=new JSONArray(); | |
| 196 | + try { | |
| 197 | + String res=IOUtils.toString(request.getInputStream()); | |
| 198 | + log.info(res); | |
| 199 | + JSONObject jsonObject= JSON.parseObject(res); | |
| 200 | + JSONArray channel_infos=jsonObject.getJSONArray("channel_infos"); | |
| 201 | + if(channel_infos.size()>0){ | |
| 202 | + for (int i = 0; i < channel_infos.size(); i++) { | |
| 203 | + JSONObject row=channel_infos.getJSONObject(i); | |
| 204 | + | |
| 205 | + if(row.getJSONObject("meta").size()>0){ | |
| 206 | + JSONObject payload=row.getJSONObject("meta").getJSONObject("payload"); | |
| 207 | + System.out.println(payload); | |
| 208 | + String from =payload.getString("from"); | |
| 209 | + Map<String,Object> param=new HashMap<>(); | |
| 210 | + param.put("idno",from); | |
| 211 | + List<LymsPatient> pLst=lymsPatientService.listByMap(param); | |
| 212 | + if(pLst.size()>0){ | |
| 213 | + payload.put("pat",pLst.get(0)); | |
| 214 | + } | |
| 215 | + param.clear(); | |
| 216 | + param.put("dlogin",from); | |
| 217 | + List<LymsDoctor> dLst=lymsDoctorService.listByMap(param); | |
| 218 | + if(dLst.size()>0){ | |
| 219 | + payload.put("doc",dLst.get(0)); | |
| 220 | + } | |
| 221 | + payload.put("unread_num",row.get("unread_num")); | |
| 222 | + rs.add(payload); | |
| 223 | + String to=payload.getString("to"); | |
| 224 | + LymsTkrecord tkrecord=new LymsTkrecord(); | |
| 225 | + tkrecord.setHxgroupid(to); | |
| 226 | + List<LymsTkrecord> rLst=lymsTkrecordService.list(Wrappers.query(tkrecord)); | |
| 227 | + payload.put("stat",0); | |
| 228 | + if(rLst.size()>0){ | |
| 229 | + payload.put("stat",rLst.get(0).getStat()); | |
| 230 | + } | |
| 231 | + } | |
| 232 | + | |
| 233 | + } | |
| 234 | + } | |
| 235 | + | |
| 236 | + } catch (IOException e) { | |
| 237 | + e.printStackTrace(); | |
| 238 | + } | |
| 239 | + baseResponse.setObject(rs); | |
| 240 | + return baseResponse; | |
| 241 | + } | |
| 242 | + | |
| 243 | + /** | |
| 244 | + * 获取专家组\客服人员信息 | |
| 245 | + * @param request | |
| 246 | + * @return | |
| 247 | + */ | |
| 248 | + @GetMapping("getPreMsg") | |
| 249 | + public BaseResponse getPreMsg(HttpServletRequest request){ | |
| 250 | + BaseResponse baseResponse =new BaseResponse(); | |
| 251 | + Map<String,Object> param=new HashMap<>(); | |
| 252 | + param.put("vtype",998); | |
| 253 | + List<LymsDict> dLst=lymsDictService.listByMap(param); | |
| 254 | + if(dLst.size()>0){ | |
| 255 | + baseResponse.setObject(dLst.get(0)); | |
| 256 | + } | |
| 174 | 257 | return baseResponse; |
| 175 | 258 | } |
| 176 | 259 |