From a4b8b85ca34ea3d7ec3f1acd50055601f029c051 Mon Sep 17 00:00:00 2001 From: changpengfei Date: Thu, 9 Sep 2021 13:45:02 +0800 Subject: [PATCH] =?UTF-8?q?=E7=8E=AF=E4=BF=A1=E7=BB=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ChatGroupController.java | 21 +++++++++++--- .../lyms/talkonlineweb/domain/LymsChatgroup.java | 33 ++++++++++++++-------- .../com/lyms/talkonlineweb/util/HXService.java | 17 +++++------ .../main/resources/mapper/LymsChatgroupMapper.xml | 13 +++++---- 4 files changed, 52 insertions(+), 32 deletions(-) diff --git a/talkonlineweb/src/main/java/com/lyms/talkonlineweb/controller/ChatGroupController.java b/talkonlineweb/src/main/java/com/lyms/talkonlineweb/controller/ChatGroupController.java index 3af9e7b..a50c407 100644 --- a/talkonlineweb/src/main/java/com/lyms/talkonlineweb/controller/ChatGroupController.java +++ b/talkonlineweb/src/main/java/com/lyms/talkonlineweb/controller/ChatGroupController.java @@ -1,13 +1,15 @@ package com.lyms.talkonlineweb.controller; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.lyms.talkonlineweb.domain.LymsChatgroup; import com.lyms.talkonlineweb.result.BaseResponse; import com.lyms.talkonlineweb.service.LymsChatgroupService; import com.lyms.talkonlineweb.util.HXService; +import lombok.extern.log4j.Log4j2; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -15,6 +17,7 @@ import java.util.List; @RestController @RequestMapping("chat") +@Log4j2 public class ChatGroupController { @Autowired private LymsChatgroupService lymsChatgroupService; @@ -26,15 +29,25 @@ public class ChatGroupController { * @param group * @return */ - @GetMapping("saveChatGroup") + @PostMapping("saveChatGroup") public BaseResponse saveChatGroup(LymsChatgroup group){ BaseResponse baseResponse=new BaseResponse(); List gLst=lymsChatgroupService.list(Wrappers.query(group)); + if(group.getOwnerk()==null){ + group.setOwnerk("test"); + } if(gLst.size()>0){ LymsChatgroup group2=gLst.get(0); - group.setId(group2.getId()); + group=group2; + }else{ + log.info("创建环信组:{} from:{} target:{}",group.getOwnerk(),group.getFromp(),group.getTarget()); + JSONObject rJson=hxService.addChatGroups(group.getFromp()+","+group.getTarget(),group.getOwnerk(), new String[]{group.getFromp(), group.getTarget()}); + log.info("rJson:"+rJson); + group.setHxgroupid(rJson.getJSONObject("data").getString("groupid")); + group.setDescription(group.getFromp()+","+group.getTarget()); + group.setGroupname(group.getFromp()+","+group.getTarget()); + lymsChatgroupService.saveOrUpdate(group); } - lymsChatgroupService.saveOrUpdate(group); baseResponse.setObject(group); return baseResponse; } diff --git a/talkonlineweb/src/main/java/com/lyms/talkonlineweb/domain/LymsChatgroup.java b/talkonlineweb/src/main/java/com/lyms/talkonlineweb/domain/LymsChatgroup.java index 4a436aa..14988ad 100644 --- a/talkonlineweb/src/main/java/com/lyms/talkonlineweb/domain/LymsChatgroup.java +++ b/talkonlineweb/src/main/java/com/lyms/talkonlineweb/domain/LymsChatgroup.java @@ -18,7 +18,7 @@ public class LymsChatgroup implements Serializable { /** * */ - @TableField(value = "id") + @TableId(value = "id", type = IdType.AUTO) private Integer id; /** @@ -36,20 +36,26 @@ public class LymsChatgroup implements Serializable { /** * 客服人员ID */ - @TableField(value = "owner") - private Integer owner; + @TableField(value = "ownerk") + private String ownerk; /** * 患者ID */ - @TableField(value = "from") - private Integer from; + @TableField(value = "fromp") + private String fromp; + + /** + * 环信组ID + */ + @TableField(value = "hxgroupid") + private String hxgroupid; /** * 医生ID */ @TableField(value = "target") - private Integer target; + private String target; /** * 创建时间 @@ -75,8 +81,9 @@ public class LymsChatgroup implements Serializable { return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId())) && (this.getGroupname() == null ? other.getGroupname() == null : this.getGroupname().equals(other.getGroupname())) && (this.getDescription() == null ? other.getDescription() == null : this.getDescription().equals(other.getDescription())) - && (this.getOwner() == null ? other.getOwner() == null : this.getOwner().equals(other.getOwner())) - && (this.getFrom() == null ? other.getFrom() == null : this.getFrom().equals(other.getFrom())) + && (this.getOwnerk() == null ? other.getOwnerk() == null : this.getOwnerk().equals(other.getOwnerk())) + && (this.getFromp() == null ? other.getFromp() == null : this.getFromp().equals(other.getFromp())) + && (this.getHxgroupid() == null ? other.getHxgroupid() == null : this.getHxgroupid().equals(other.getHxgroupid())) && (this.getTarget() == null ? other.getTarget() == null : this.getTarget().equals(other.getTarget())) && (this.getCtime() == null ? other.getCtime() == null : this.getCtime().equals(other.getCtime())); } @@ -88,8 +95,9 @@ public class LymsChatgroup implements Serializable { result = prime * result + ((getId() == null) ? 0 : getId().hashCode()); result = prime * result + ((getGroupname() == null) ? 0 : getGroupname().hashCode()); result = prime * result + ((getDescription() == null) ? 0 : getDescription().hashCode()); - result = prime * result + ((getOwner() == null) ? 0 : getOwner().hashCode()); - result = prime * result + ((getFrom() == null) ? 0 : getFrom().hashCode()); + result = prime * result + ((getOwnerk() == null) ? 0 : getOwnerk().hashCode()); + result = prime * result + ((getFromp() == null) ? 0 : getFromp().hashCode()); + result = prime * result + ((getHxgroupid() == null) ? 0 : getHxgroupid().hashCode()); result = prime * result + ((getTarget() == null) ? 0 : getTarget().hashCode()); result = prime * result + ((getCtime() == null) ? 0 : getCtime().hashCode()); return result; @@ -104,8 +112,9 @@ public class LymsChatgroup implements Serializable { sb.append(", id=").append(id); sb.append(", groupname=").append(groupname); sb.append(", description=").append(description); - sb.append(", owner=").append(owner); - sb.append(", from=").append(from); + sb.append(", ownerk=").append(ownerk); + sb.append(", fromp=").append(fromp); + sb.append(", hxgroupid=").append(hxgroupid); sb.append(", target=").append(target); sb.append(", ctime=").append(ctime); sb.append(", serialVersionUID=").append(serialVersionUID); diff --git a/talkonlineweb/src/main/java/com/lyms/talkonlineweb/util/HXService.java b/talkonlineweb/src/main/java/com/lyms/talkonlineweb/util/HXService.java index bd6f406..148b099 100644 --- a/talkonlineweb/src/main/java/com/lyms/talkonlineweb/util/HXService.java +++ b/talkonlineweb/src/main/java/com/lyms/talkonlineweb/util/HXService.java @@ -19,10 +19,7 @@ import org.springframework.web.client.RestTemplate; import java.io.*; import java.net.URL; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.zip.GZIPInputStream; import static org.apache.commons.io.FilenameUtils.getExtension; @@ -272,27 +269,27 @@ public class HXService { /** * 创建聊天室 - * @param name * @param description * @param owner * @param members * @return */ - public JSONObject addChatRooms(String name,String description,String owner,String[] members){ + public JSONObject addChatGroups(String description,String owner,String[] members){ JSONObject rs=new JSONObject(); Map param=new HashMap<>(); HttpHeaders headers=new HttpHeaders(); headers.add("Authorization","Bearer "+getToken()); List lParam=new ArrayList(); - param.put("name",name); - param.put("description",description); + param.put("groupname", Arrays.toString(members)); + param.put("desc",description); + param.put("public",true); param.put("owner",owner); - param.put("members",members); + param.put("members",Arrays.asList(members)); lParam.add(param); HttpEntity entity=new HttpEntity(param,headers); - resp=restTemplate.postForEntity(getUrl()+"chatrooms",entity,String.class); + resp=restTemplate.postForEntity(getUrl()+"chatgroups",entity,String.class); if (resp.getStatusCodeValue()==200){ rs= JSON.parseObject(resp.getBody()); } diff --git a/talkonlineweb/src/main/resources/mapper/LymsChatgroupMapper.xml b/talkonlineweb/src/main/resources/mapper/LymsChatgroupMapper.xml index aa2d2d7..fbf6495 100644 --- a/talkonlineweb/src/main/resources/mapper/LymsChatgroupMapper.xml +++ b/talkonlineweb/src/main/resources/mapper/LymsChatgroupMapper.xml @@ -5,18 +5,19 @@ - + - - - + + + + id,groupname,description, - owner,from,target, - ctime + ownerk,fromp,hxgroupid, + target,ctime -- 1.8.3.1