diff --git a/src/main/java/com/newyetai/component/chat/controller/ChatMsgController.java b/src/main/java/com/newyetai/component/chat/controller/ChatMsgController.java new file mode 100644 index 0000000..46f68de --- /dev/null +++ b/src/main/java/com/newyetai/component/chat/controller/ChatMsgController.java @@ -0,0 +1,42 @@ +package com.newyetai.component.chat.controller; + +import com.newyetai.common.AlitaResult; +import com.newyetai.component.chat.dto.ChatMsgCreateDTO; +import com.newyetai.component.chat.dto.ChatMsgDTO; +import com.newyetai.component.chat.dto.ChatMsgQueryDTO; +import com.newyetai.component.chat.service.ChatMsgService; +import com.newyetai.tkmybatis.pojo.Page; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("chat/msg") +@Api(tags = "聊天消息") +public class ChatMsgController { + + @Autowired + private ChatMsgService chatMsgService; + + + @PostMapping("/create") + @ApiOperation("创建") + public AlitaResult create( + @Validated @RequestBody ChatMsgCreateDTO chatMsgCreateDTO){ + return AlitaResult.success(chatMsgService.create(chatMsgCreateDTO)); + } + + @GetMapping("/page") + @ApiOperation("分页查询") + public AlitaResult> pageCurr(@Validated ChatMsgQueryDTO chatMsgQueryDTO){ + chatMsgService.page(chatMsgQueryDTO); + return AlitaResult.success(chatMsgQueryDTO.getPageResult()); + } +} diff --git a/src/main/java/com/newyetai/component/chat/dto/ChatDTO.java b/src/main/java/com/newyetai/component/chat/dto/ChatDTO.java index 358f189..d1ab4ce 100644 --- a/src/main/java/com/newyetai/component/chat/dto/ChatDTO.java +++ b/src/main/java/com/newyetai/component/chat/dto/ChatDTO.java @@ -33,13 +33,17 @@ public class ChatDTO extends BaseDTO { /** 个人用户id */ private Long personUserId; /** @see ChatTypeEnum 类型 */ - private Integer type; + private String type; /** 状态:1有效,2关闭 */ private Integer status; /** 机构名称 */ private String orgName; - /** 个人用户名称*/ - private String personUserName; + /** 机构logo */ + private String orgLogo; + /** 个人用户昵称*/ + private String personUserNickname; + /** 个人用户头像 */ + private String personUserAvatar; } \ No newline at end of file diff --git a/src/main/java/com/newyetai/component/chat/dto/ChatMsgQueryDTO.java b/src/main/java/com/newyetai/component/chat/dto/ChatMsgQueryDTO.java index 7137e04..0b352b8 100644 --- a/src/main/java/com/newyetai/component/chat/dto/ChatMsgQueryDTO.java +++ b/src/main/java/com/newyetai/component/chat/dto/ChatMsgQueryDTO.java @@ -2,6 +2,7 @@ package com.newyetai.component.chat.dto; import io.swagger.annotations.ApiModelProperty; +import javax.validation.constraints.NotNull; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -23,6 +24,12 @@ public class ChatMsgQueryDTO extends PageQueryDTO{ /** **/ private static final long serialVersionUID = 1L; + private Long id; + @NotNull(message = "会话id不能为空") private Long chatId; + /** 大于id **/ + private Long idGt; + + } \ No newline at end of file diff --git a/src/main/java/com/newyetai/component/chat/dto/ChatQueryDTO.java b/src/main/java/com/newyetai/component/chat/dto/ChatQueryDTO.java index 595a5df..a328b2b 100644 --- a/src/main/java/com/newyetai/component/chat/dto/ChatQueryDTO.java +++ b/src/main/java/com/newyetai/component/chat/dto/ChatQueryDTO.java @@ -1,6 +1,7 @@ package com.newyetai.component.chat.dto; +import com.newyetai.component.chat.constant.ChatStatusEnum; import com.newyetai.component.chat.constant.ChatTypeEnum; import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; @@ -34,7 +35,8 @@ public class ChatQueryDTO extends PageQueryDTO{ /** 个人用户id */ private Long personUserId; /** 状态:1有效,2关闭 */ - private Integer status; + @Default + private Integer status = ChatStatusEnum.ACTIVE.getStatus(); /** @see ChatTypeEnum 类型 */ @Default private String type = ChatTypeEnum.POSITION.getType(); diff --git a/src/main/java/com/newyetai/component/chat/entity/Chat.java b/src/main/java/com/newyetai/component/chat/entity/Chat.java index 8c503d7..34c1cd5 100644 --- a/src/main/java/com/newyetai/component/chat/entity/Chat.java +++ b/src/main/java/com/newyetai/component/chat/entity/Chat.java @@ -3,8 +3,10 @@ package com.newyetai.component.chat.entity; import com.baomidou.mybatisplus.annotation.TableName; import com.newyetai.common.entity.BaseEntity; +import com.newyetai.component.chat.constant.ChatStatusEnum; import com.newyetai.component.chat.constant.ChatTypeEnum; import lombok.AllArgsConstructor; +import lombok.Builder.Default; import lombok.experimental.SuperBuilder; import lombok.Data; import lombok.EqualsAndHashCode; @@ -34,7 +36,8 @@ public class Chat extends BaseEntity { /** @see ChatTypeEnum 类型 */ private String type; /** 状态:1有效,2关闭 */ - private Integer status; + @Default + private Integer status = ChatStatusEnum.ACTIVE.getStatus(); diff --git a/src/main/java/com/newyetai/component/chat/mapper/ChatMapper.xml b/src/main/java/com/newyetai/component/chat/mapper/ChatMapper.xml index ffca195..7aa00f9 100644 --- a/src/main/java/com/newyetai/component/chat/mapper/ChatMapper.xml +++ b/src/main/java/com/newyetai/component/chat/mapper/ChatMapper.xml @@ -5,26 +5,30 @@ \ No newline at end of file diff --git a/src/main/java/com/newyetai/component/chat/mapper/ChatMsgMapper.xml b/src/main/java/com/newyetai/component/chat/mapper/ChatMsgMapper.xml index 7cde710..a33b00a 100644 --- a/src/main/java/com/newyetai/component/chat/mapper/ChatMsgMapper.xml +++ b/src/main/java/com/newyetai/component/chat/mapper/ChatMsgMapper.xml @@ -15,5 +15,9 @@ and chat_id = #{param.chatId} + + and id > #{param.idGt} + + order by id desc \ No newline at end of file diff --git a/src/main/java/com/newyetai/component/chat/service/impl/ChatServiceImpl.java b/src/main/java/com/newyetai/component/chat/service/impl/ChatServiceImpl.java index a32d11e..eedc9b9 100644 --- a/src/main/java/com/newyetai/component/chat/service/impl/ChatServiceImpl.java +++ b/src/main/java/com/newyetai/component/chat/service/impl/ChatServiceImpl.java @@ -67,6 +67,7 @@ public class ChatServiceImpl implements ChatService { Chat chat = ChatMapMapper.INSTANCE.toEntity(createDTO); chat.setOrgUserId(orgUserDTOs.get(0).getUserId()); + chat.setStatus(ChatStatusEnum.ACTIVE.getStatus()); chatMapper.saveEntity(chat); return chat.getId(); });