Commit 13c4b726 by giaogiao

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

parent 7ee633b2
package com.wecloud.im.controller;
import com.wecloud.im.entity.ImConversation;
import com.wecloud.im.param.add.ImConversationCreate;
import com.wecloud.im.service.ImConversationService;
import com.wecloud.im.vo.ImConversationCreateVo;
import com.wecloud.im.vo.MyConversationListVo;
import io.geekidea.springbootplus.framework.common.api.ApiResult;
import io.geekidea.springbootplus.framework.common.controller.BaseController;
......@@ -37,8 +37,8 @@ public class ImConversationController extends BaseController {
*/
@PostMapping("/create")
@ApiOperation(value = "创建会话", notes = "两个用户如果已经创建过会话,不能重复创建会话")
public ApiResult<ImConversation> createImConversation(@RequestBody ImConversationCreate imConversationCreate) throws Exception {
ApiResult<ImConversation> imConversation = imConversationService.createImConversation(imConversationCreate);
public ApiResult<ImConversationCreateVo> createImConversation(@RequestBody ImConversationCreate imConversationCreate) throws Exception {
ApiResult<ImConversationCreateVo> imConversation = imConversationService.createImConversation(imConversationCreate);
return imConversation;
}
......
......@@ -4,6 +4,7 @@ import com.wecloud.im.entity.ImConversation;
import com.wecloud.im.param.ImConversationPageParam;
import com.wecloud.im.param.ImConversationQueryVo;
import com.wecloud.im.param.add.ImConversationCreate;
import com.wecloud.im.vo.ImConversationCreateVo;
import com.wecloud.im.vo.MyConversationListVo;
import io.geekidea.springbootplus.framework.common.api.ApiResult;
import io.geekidea.springbootplus.framework.common.service.BaseService;
......@@ -29,7 +30,7 @@ public interface ImConversationService extends BaseService<ImConversation> {
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;
import com.wecloud.im.service.ImClientService;
import com.wecloud.im.service.ImConversationMembersService;
import com.wecloud.im.service.ImConversationService;
import com.wecloud.im.vo.ImConversationCreateVo;
import com.wecloud.im.vo.MyConversationListVo;
import io.geekidea.springbootplus.framework.common.api.ApiResult;
import io.geekidea.springbootplus.framework.common.service.impl.BaseServiceImpl;
......@@ -31,7 +32,9 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
/**
......@@ -66,7 +69,7 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap
}
@Override
public ApiResult<ImConversation> createImConversation(ImConversationCreate imConversationCreate) {
public ApiResult<ImConversationCreateVo> createImConversation(ImConversationCreate imConversationCreate) {
JwtToken jwtToken = (JwtToken) SecurityUtils.getSubject().getPrincipal();
......@@ -131,7 +134,10 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap
imConversationMembersService.save(imConversationMembers2);
}
return ApiResult.ok(imConversation);
ImConversationCreateVo imConversationCreateVo = new ImConversationCreateVo();
imConversationCreateVo.setId(imConversationId);
return ApiResult.ok(imConversationCreateVo);
}
@Transactional(rollbackFor = Exception.class)
......@@ -163,7 +169,17 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap
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;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class
ReceiveModel implements Serializable {
public class ReceiveModel implements Serializable {
/**
* 枚举类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;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -7,6 +8,7 @@ import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
import java.util.HashMap;
/**
* <pre>
......@@ -34,8 +36,12 @@ public class MyConversationListVo implements Serializable {
@ApiModelProperty("可选 对话的名字,可为群组命名。")
private String name;
@ApiModelProperty(value = "可选 自定义属性,供开发者扩展使用。", hidden = true)
@JsonIgnore
private String attribute;
@ApiModelProperty("可选 自定义属性,供开发者扩展使用。")
private String attributes;
private HashMap attributes;
@ApiModelProperty("可选 对话类型标志,是否是系统对话,后面会说明。")
private Boolean system;
......
......@@ -24,7 +24,7 @@
SELECT imConversation.id,
imConversation.create_time,
imConversation.`name`,
imConversation.attributes,
imConversation.attributes as attribute,
imConversation.system,
im_client.client_id AS creator,
(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