Commit 13c4b726 by giaogiao

会话列表attribute参数 转换成json格式

parent 7ee633b2
package com.wecloud.im.controller; package com.wecloud.im.controller;
import com.wecloud.im.entity.ImConversation;
import com.wecloud.im.param.add.ImConversationCreate; import com.wecloud.im.param.add.ImConversationCreate;
import com.wecloud.im.service.ImConversationService; import com.wecloud.im.service.ImConversationService;
import com.wecloud.im.vo.ImConversationCreateVo;
import com.wecloud.im.vo.MyConversationListVo; import com.wecloud.im.vo.MyConversationListVo;
import io.geekidea.springbootplus.framework.common.api.ApiResult; import io.geekidea.springbootplus.framework.common.api.ApiResult;
import io.geekidea.springbootplus.framework.common.controller.BaseController; import io.geekidea.springbootplus.framework.common.controller.BaseController;
...@@ -37,8 +37,8 @@ public class ImConversationController extends BaseController { ...@@ -37,8 +37,8 @@ public class ImConversationController extends BaseController {
*/ */
@PostMapping("/create") @PostMapping("/create")
@ApiOperation(value = "创建会话", notes = "两个用户如果已经创建过会话,不能重复创建会话") @ApiOperation(value = "创建会话", notes = "两个用户如果已经创建过会话,不能重复创建会话")
public ApiResult<ImConversation> createImConversation(@RequestBody ImConversationCreate imConversationCreate) throws Exception { public ApiResult<ImConversationCreateVo> createImConversation(@RequestBody ImConversationCreate imConversationCreate) throws Exception {
ApiResult<ImConversation> imConversation = imConversationService.createImConversation(imConversationCreate); ApiResult<ImConversationCreateVo> imConversation = imConversationService.createImConversation(imConversationCreate);
return imConversation; return imConversation;
} }
......
...@@ -4,6 +4,7 @@ import com.wecloud.im.entity.ImConversation; ...@@ -4,6 +4,7 @@ import com.wecloud.im.entity.ImConversation;
import com.wecloud.im.param.ImConversationPageParam; import com.wecloud.im.param.ImConversationPageParam;
import com.wecloud.im.param.ImConversationQueryVo; import com.wecloud.im.param.ImConversationQueryVo;
import com.wecloud.im.param.add.ImConversationCreate; import com.wecloud.im.param.add.ImConversationCreate;
import com.wecloud.im.vo.ImConversationCreateVo;
import com.wecloud.im.vo.MyConversationListVo; import com.wecloud.im.vo.MyConversationListVo;
import io.geekidea.springbootplus.framework.common.api.ApiResult; import io.geekidea.springbootplus.framework.common.api.ApiResult;
import io.geekidea.springbootplus.framework.common.service.BaseService; import io.geekidea.springbootplus.framework.common.service.BaseService;
...@@ -29,7 +30,7 @@ public interface ImConversationService extends BaseService<ImConversation> { ...@@ -29,7 +30,7 @@ public interface ImConversationService extends BaseService<ImConversation> {
boolean saveImConversation(ImConversation imConversation) throws Exception; boolean saveImConversation(ImConversation imConversation) throws Exception;
ApiResult<ImConversation> createImConversation(ImConversationCreate imConversationCreate); ApiResult<ImConversationCreateVo> createImConversation(ImConversationCreate imConversationCreate);
/** /**
* 修改 * 修改
......
...@@ -18,6 +18,7 @@ import com.wecloud.im.service.ImApplicationService; ...@@ -18,6 +18,7 @@ import com.wecloud.im.service.ImApplicationService;
import com.wecloud.im.service.ImClientService; import com.wecloud.im.service.ImClientService;
import com.wecloud.im.service.ImConversationMembersService; import com.wecloud.im.service.ImConversationMembersService;
import com.wecloud.im.service.ImConversationService; import com.wecloud.im.service.ImConversationService;
import com.wecloud.im.vo.ImConversationCreateVo;
import com.wecloud.im.vo.MyConversationListVo; import com.wecloud.im.vo.MyConversationListVo;
import io.geekidea.springbootplus.framework.common.api.ApiResult; import io.geekidea.springbootplus.framework.common.api.ApiResult;
import io.geekidea.springbootplus.framework.common.service.impl.BaseServiceImpl; import io.geekidea.springbootplus.framework.common.service.impl.BaseServiceImpl;
...@@ -31,7 +32,9 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -31,7 +32,9 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.HashMap;
import java.util.List; import java.util.List;
/** /**
...@@ -66,7 +69,7 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap ...@@ -66,7 +69,7 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap
} }
@Override @Override
public ApiResult<ImConversation> createImConversation(ImConversationCreate imConversationCreate) { public ApiResult<ImConversationCreateVo> createImConversation(ImConversationCreate imConversationCreate) {
JwtToken jwtToken = (JwtToken) SecurityUtils.getSubject().getPrincipal(); JwtToken jwtToken = (JwtToken) SecurityUtils.getSubject().getPrincipal();
...@@ -131,7 +134,10 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap ...@@ -131,7 +134,10 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap
imConversationMembersService.save(imConversationMembers2); imConversationMembersService.save(imConversationMembers2);
} }
return ApiResult.ok(imConversation); ImConversationCreateVo imConversationCreateVo = new ImConversationCreateVo();
imConversationCreateVo.setId(imConversationId);
return ApiResult.ok(imConversationCreateVo);
} }
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
...@@ -163,7 +169,17 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap ...@@ -163,7 +169,17 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap
ImClient client = imClientService.getClient(); ImClient client = imClientService.getClient();
return imConversationMapper.getMyImConversationListAndMsgCount(client.getId()); List<MyConversationListVo> myImConversationListAndMsgCount = imConversationMapper.getMyImConversationListAndMsgCount(client.getId());
JsonMapper jsonMapper = new JsonMapper();
List<MyConversationListVo> myImConversationListAndMsgCountNew = new ArrayList<>();
// 转换json格式
for (MyConversationListVo myconversationlistvo : myImConversationListAndMsgCount) {
HashMap attributess = jsonMapper.readValue(myconversationlistvo.getAttribute(), HashMap.class);
myconversationlistvo.setAttributes(attributess);
myImConversationListAndMsgCountNew.add(myconversationlistvo);
}
return myImConversationListAndMsgCountNew;
} }
......
...@@ -15,8 +15,7 @@ import java.util.HashMap; ...@@ -15,8 +15,7 @@ import java.util.HashMap;
@Data @Data
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
public class public class ReceiveModel implements Serializable {
ReceiveModel implements Serializable {
/** /**
* 枚举类UriPathEnum 请求uri的编码 * 枚举类UriPathEnum 请求uri的编码
......
package com.wecloud.im.vo;
import io.geekidea.springbootplus.framework.common.entity.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* 会话表
*
* @author wei
* @since 2021-05-07
*/
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "ImConversationCreateVo")
public class ImConversationCreateVo extends BaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty("会话id")
private Long id;
}
package com.wecloud.im.vo; package com.wecloud.im.vo;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
...@@ -7,6 +8,7 @@ import lombok.experimental.Accessors; ...@@ -7,6 +8,7 @@ import lombok.experimental.Accessors;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
import java.util.HashMap;
/** /**
* <pre> * <pre>
...@@ -34,8 +36,12 @@ public class MyConversationListVo implements Serializable { ...@@ -34,8 +36,12 @@ public class MyConversationListVo implements Serializable {
@ApiModelProperty("可选 对话的名字,可为群组命名。") @ApiModelProperty("可选 对话的名字,可为群组命名。")
private String name; private String name;
@ApiModelProperty(value = "可选 自定义属性,供开发者扩展使用。", hidden = true)
@JsonIgnore
private String attribute;
@ApiModelProperty("可选 自定义属性,供开发者扩展使用。") @ApiModelProperty("可选 自定义属性,供开发者扩展使用。")
private String attributes; private HashMap attributes;
@ApiModelProperty("可选 对话类型标志,是否是系统对话,后面会说明。") @ApiModelProperty("可选 对话类型标志,是否是系统对话,后面会说明。")
private Boolean system; private Boolean system;
......
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
SELECT imConversation.id, SELECT imConversation.id,
imConversation.create_time, imConversation.create_time,
imConversation.`name`, imConversation.`name`,
imConversation.attributes, imConversation.attributes as attribute,
imConversation.system, imConversation.system,
im_client.client_id AS creator, im_client.client_id AS creator,
(SELECT COUNT(im_inbox.id) (SELECT COUNT(im_inbox.id)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment