Преглед на файлове

新增聊天记录功能

tangbin преди 10 месеца
родител
ревизия
11bac67502
променени са 19 файла, в които са добавени 650 реда и са изтрити 28 реда
  1. 106 0
      yezhu-api/src/main/java/com/kioor/chat/controller/ChatLogController.java
  2. 16 0
      yezhu-api/src/main/java/com/kioor/chat/dao/ChatLogDao.java
  3. 35 0
      yezhu-api/src/main/java/com/kioor/chat/dto/ChatLogDTO.java
  4. 46 0
      yezhu-api/src/main/java/com/kioor/chat/entity/ChatLogEntity.java
  5. 15 0
      yezhu-api/src/main/java/com/kioor/chat/service/ChatLogService.java
  6. 38 0
      yezhu-api/src/main/java/com/kioor/chat/service/impl/ChatLogServiceImpl.java
  7. 8 7
      yezhu-api/src/main/java/com/kioor/messageboard/controller/ApiMessageController.java
  8. 134 0
      yezhu-api/src/main/java/com/kioor/messageboard/controller/ApiNoticeController.java
  9. 29 0
      yezhu-api/src/main/java/com/kioor/messageboard/dao/NoticeDao.java
  10. 0 6
      yezhu-api/src/main/java/com/kioor/messageboard/dto/MessageDTO.java
  11. 54 0
      yezhu-api/src/main/java/com/kioor/messageboard/dto/NoticeDTO.java
  12. 0 4
      yezhu-api/src/main/java/com/kioor/messageboard/entity/MessageEntity.java
  13. 4 0
      yezhu-api/src/main/java/com/kioor/messageboard/entity/NoticeEntity.java
  14. 34 0
      yezhu-api/src/main/java/com/kioor/messageboard/service/NoticeService.java
  15. 0 3
      yezhu-api/src/main/java/com/kioor/messageboard/service/impl/MessageServiceImpl.java
  16. 76 0
      yezhu-api/src/main/java/com/kioor/messageboard/service/impl/NoticeServiceImpl.java
  17. 16 0
      yezhu-api/src/main/resources/mapper/chat/ChatLogDao.xml
  18. 10 8
      yezhu-api/src/main/resources/mapper/messageboard/MessageDao.xml
  19. 29 0
      yezhu-api/src/main/resources/mapper/messageboard/NoticeDao.xml

+ 106 - 0
yezhu-api/src/main/java/com/kioor/chat/controller/ChatLogController.java

@@ -0,0 +1,106 @@
+package com.kioor.chat.controller;
+
+import com.kioor.annotation.Login;
+import com.kioor.chat.dto.ChatLogDTO;
+import com.kioor.chat.service.ChatLogService;
+import com.kioor.common.constant.Constant;
+import com.kioor.common.page.PageData;
+import com.kioor.common.utils.Result;
+import com.kioor.common.validator.AssertUtils;
+import com.kioor.common.validator.ValidatorUtils;
+import com.kioor.common.validator.group.AddGroup;
+import com.kioor.common.validator.group.DefaultGroup;
+import com.kioor.common.validator.group.UpdateGroup;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.Parameters;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.AllArgsConstructor;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Date;
+import java.util.Map;
+
+
+/**
+* 聊天记录
+*
+* @author Toby javatangbin@163.com
+* @since 3.0 2024-07-17
+*/
+@AllArgsConstructor
+@RestController
+@RequestMapping("/client/chatlog")
+@Tag(name = "聊天记录")
+public class ChatLogController {
+    private final ChatLogService chatLogService;
+
+    @Login
+    @GetMapping("page")
+    @Operation(summary = "分页")
+    @Parameters({
+        @Parameter(name = Constant.PAGE, description = "当前页码,从1开始", required = true),
+        @Parameter(name = Constant.LIMIT, description = "每页显示记录数", required = true),
+        @Parameter(name = Constant.ORDER_FIELD, description = "排序字段"),
+        @Parameter(name = Constant.ORDER, description = "排序方式,可选值(asc、desc)")
+    })
+    public Result<PageData<ChatLogDTO>> page(@Parameter(hidden = true) @RequestParam Map<String, Object> params){
+        PageData<ChatLogDTO> page = chatLogService.page(params);
+
+        return new Result<PageData<ChatLogDTO>>().ok(page);
+    }
+
+    @Login
+    @GetMapping("{id}")
+    @Operation(summary = "信息")
+    public Result<ChatLogDTO> get(@PathVariable("id") Long id){
+        ChatLogDTO data = chatLogService.get(id);
+
+        return new Result<ChatLogDTO>().ok(data);
+    }
+
+    @Login
+    @PostMapping
+    @Operation(summary = "保存")
+    public Result save(@RequestBody ChatLogDTO dto, @Parameter(hidden = true) @RequestAttribute("userId") Long userId){
+        //效验数据
+        ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
+        dto.setEditUser(userId);
+        dto.setEditTime(new Date());
+        if(dto.getShowRoomFlag()==null){
+            dto.setShowRoomFlag(1);
+        }
+        chatLogService.save(dto);
+
+        return new Result();
+    }
+
+    @Login
+    @PutMapping
+    @Operation(summary = "修改")
+    public Result update(@RequestBody ChatLogDTO dto, @Parameter(hidden = true) @RequestAttribute("userId") Long userId){
+        //效验数据
+        ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
+        dto.setEditUser(userId);
+        dto.setEditTime(new Date());
+        if(dto.getShowRoomFlag()==null){
+            dto.setShowRoomFlag(1);
+        }
+        chatLogService.update(dto);
+
+        return new Result();
+    }
+
+    @Login
+    @DeleteMapping
+    @Operation(summary = "删除")
+    public Result delete(@RequestBody Long[] ids){
+        //效验数据
+        AssertUtils.isArrayEmpty(ids, "id");
+
+        chatLogService.delete(ids);
+
+        return new Result();
+    }
+
+}

+ 16 - 0
yezhu-api/src/main/java/com/kioor/chat/dao/ChatLogDao.java

@@ -0,0 +1,16 @@
+package com.kioor.chat.dao;
+
+import com.kioor.common.dao.BaseDao;
+import com.kioor.chat.entity.ChatLogEntity;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+* 聊天记录
+*
+* @author Toby javatangbin@163.com
+* @since 3.0 2024-07-17
+*/
+@Mapper
+public interface ChatLogDao extends BaseDao<ChatLogEntity> {
+	
+}

+ 35 - 0
yezhu-api/src/main/java/com/kioor/chat/dto/ChatLogDTO.java

@@ -0,0 +1,35 @@
+package com.kioor.chat.dto;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+* 聊天记录
+*
+* @author Toby javatangbin@163.com
+* @since 3.0 2024-07-17
+*/
+@Data
+@Schema(description = "聊天记录")
+public class ChatLogDTO implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    @Schema(description = "id")
+    private Long id;
+    @Schema(description = "类型:0小区群聊,1私聊")
+    private Integer type;
+    @Schema(description = "聊天对象id")
+    private Long chatPartnerId;
+    @Schema(description = "聊天内容")
+    private String content;
+    @Schema(description = "是否显示房号")
+    private Integer showRoomFlag;
+    @Schema(description = "编辑人")
+    private Long editUser;
+    @Schema(description = "编辑时间")
+    private Date editTime;
+
+}

+ 46 - 0
yezhu-api/src/main/java/com/kioor/chat/entity/ChatLogEntity.java

@@ -0,0 +1,46 @@
+package com.kioor.chat.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.kioor.common.entity.BaseEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.Date;
+
+/**
+ * 聊天记录
+ *
+ * @author Toby javatangbin@163.com
+ * @since 3.0 2024-07-17
+ */
+@Data
+@EqualsAndHashCode(callSuper=false)
+@TableName("tb_chat_log")
+public class ChatLogEntity extends BaseEntity {
+	private static final long serialVersionUID = 1L;
+
+	/**
+	* 类型:0小区群聊,1私聊
+	*/
+	private Integer type;
+	/**
+	* 聊天对象id
+	*/
+	private Long chatPartnerId;
+	/**
+	* 聊天内容
+	*/
+	private String content;
+	/**
+	* 是否显示房号
+	*/
+	private Integer showRoomFlag;
+	/**
+	* 编辑人
+	*/
+	private Long editUser;
+	/**
+	* 编辑时间
+	*/
+	private Date editTime;
+}

+ 15 - 0
yezhu-api/src/main/java/com/kioor/chat/service/ChatLogService.java

@@ -0,0 +1,15 @@
+package com.kioor.chat.service;
+
+import com.kioor.chat.dto.ChatLogDTO;
+import com.kioor.common.service.CrudService;
+import com.kioor.chat.entity.ChatLogEntity;
+
+/**
+ * 聊天记录
+ *
+ * @author Toby javatangbin@163.com
+ * @since 3.0 2024-07-17
+ */
+public interface ChatLogService extends CrudService<ChatLogEntity, ChatLogDTO> {
+
+}

+ 38 - 0
yezhu-api/src/main/java/com/kioor/chat/service/impl/ChatLogServiceImpl.java

@@ -0,0 +1,38 @@
+package com.kioor.chat.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.kioor.chat.dao.ChatLogDao;
+import com.kioor.chat.dto.ChatLogDTO;
+import com.kioor.chat.entity.ChatLogEntity;
+import com.kioor.chat.service.ChatLogService;
+import com.kioor.common.service.impl.CrudServiceImpl;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.stereotype.Service;
+
+import java.util.Map;
+
+/**
+ * 聊天记录
+ *
+ * @author Toby javatangbin@163.com
+ * @since 3.0 2024-07-17
+ */
+@Service
+public class ChatLogServiceImpl extends CrudServiceImpl<ChatLogDao, ChatLogEntity, ChatLogDTO> implements ChatLogService {
+
+    @Override
+    public QueryWrapper<ChatLogEntity> getWrapper(Map<String, Object> params){
+        QueryWrapper<ChatLogEntity> wrapper = new QueryWrapper<>();
+
+        String type = (String)params.get("type");
+        wrapper.eq(StringUtils.isNotBlank(type), "type", type);
+        String chatPartnerId = (String)params.get("chatPartnerId");
+        wrapper.eq(StringUtils.isNotBlank(chatPartnerId), "chat_partner_id", chatPartnerId);
+        String editUser = (String)params.get("editUser");
+        wrapper.eq(StringUtils.isNotBlank(editUser), "edit_user", editUser);
+
+        return wrapper;
+    }
+
+
+}

+ 8 - 7
yezhu-api/src/main/java/com/kioor/messageboard/controller/ApiMessageController.java

@@ -6,7 +6,7 @@
  * 版权所有,侵权必究!
  */
 
-package com.kioor.message.controller;
+package com.kioor.messageboard.controller;
 
 
 import com.kioor.annotation.Login;
@@ -58,11 +58,11 @@ public class ApiMessageController {
             @Parameter(name = Constant.ORDER_FIELD, description = "排序字段"),
             @Parameter(name = Constant.ORDER, description = "排序方式,可选值(asc、desc)"),
             @Parameter(name = "housingEstateId", description = "小区id"),
-            @Parameter(name = "Id", description = "留言板id")
+            @Parameter(name = "messageBoardId", description = "留言板id")
     })
     public Result<PageData<MessageDTO>> page(@Parameter(hidden = true) @RequestParam Map<String, Object> params) {
         //小区和留言板id不能同时为空
-        if(params.get("housingEstateId") == null && params.get("Id") == null){
+        if(params.get("housingEstateId") == null && params.get("messageBoardId") == null){
             return new Result().error(ErrorCode.NOT_NULL,"小区和留言板不能同时为空");
         }
         PageData<MessageDTO> page = messageService.page(params);
@@ -101,9 +101,6 @@ public class ApiMessageController {
         ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
         dto.setEditUser(userId);
         dto.setEditTime(new Date());
-        if(dto.getShowNameFlag()==null){
-            dto.setShowNameFlag(1);
-        }
         if(dto.getShowRoomFlag()==null){
             dto.setShowRoomFlag(1);
         }
@@ -119,7 +116,11 @@ public class ApiMessageController {
     public Result update(@RequestBody MessageDTO dto, @Parameter(hidden = true) @RequestAttribute("userId") Long userId) {
         //效验数据
         ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
-
+        dto.setEditUser(userId);
+        dto.setEditTime(new Date());
+        if(dto.getShowRoomFlag()==null){
+            dto.setShowRoomFlag(1);
+        }
         messageService.update(dto);
 
         return new Result();

+ 134 - 0
yezhu-api/src/main/java/com/kioor/messageboard/controller/ApiNoticeController.java

@@ -0,0 +1,134 @@
+/**
+ * Copyright (c) 2018 业主系统 All rights reserved.
+ * <p>
+ * https://www.kioor.com
+ * <p>
+ * 版权所有,侵权必究!
+ */
+
+package com.kioor.messageboard.controller;
+
+
+import com.kioor.annotation.Login;
+import com.kioor.common.constant.Constant;
+import com.kioor.common.exception.ErrorCode;
+import com.kioor.common.page.PageData;
+import com.kioor.common.utils.Result;
+import com.kioor.common.validator.AssertUtils;
+import com.kioor.common.validator.ValidatorUtils;
+import com.kioor.common.validator.group.AddGroup;
+import com.kioor.common.validator.group.DefaultGroup;
+import com.kioor.common.validator.group.UpdateGroup;
+import com.kioor.messageboard.dto.NoticeDTO;
+import com.kioor.messageboard.service.NoticeService;
+import com.kioor.room.enums.HousingEstateStatus;
+import com.kioor.room.service.HousingEstateService;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.Parameters;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.AllArgsConstructor;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Arrays;
+import java.util.Date;
+import java.util.Map;
+
+/**
+ * 公告
+ *
+ * @author Mark sunlightcs@gmail.com
+ */
+@AllArgsConstructor
+@RestController
+@RequestMapping("/client/notice")
+@Tag(name = "公告")
+public class ApiNoticeController {
+
+    private final NoticeService noticeService;
+
+    private final HousingEstateService housingEstateService;
+
+    @Login
+    @GetMapping("page")
+    @Operation(summary = "分页")
+    @Parameters({
+            @Parameter(name = Constant.PAGE, description = "当前页码,从1开始", required = true),
+            @Parameter(name = Constant.LIMIT, description = "每页显示记录数", required = true),
+            @Parameter(name = Constant.ORDER_FIELD, description = "排序字段"),
+            @Parameter(name = Constant.ORDER, description = "排序方式,可选值(asc、desc)"),
+            @Parameter(name = "housingEstateId", description = "小区id"),
+            @Parameter(name = "messageBoardId", description = "留言板id")
+    })
+    public Result<PageData<NoticeDTO>> page(@Parameter(hidden = true) @RequestParam Map<String, Object> params) {
+        //小区和留言板id不能同时为空
+        if(params.get("housingEstateId") == null && params.get("messageBoardId") == null){
+            return new Result().error(ErrorCode.NOT_NULL,"小区和留言板不能同时为空");
+        }
+        PageData<NoticeDTO> page = noticeService.page(params);
+        //校验小区状态
+        if(page.getList()!=null && !page.getList().isEmpty()){
+            int status = housingEstateService.checkStatus(page.getList().get(0).getHousingEstateId());
+            if(status!=1) {
+                return new Result().error(ErrorCode.INTERNAL_SERVER_ERROR, "无法访问,小区当前状态为" + HousingEstateStatus.fromCode(status).getDescription());
+            }
+        }
+
+        return new Result<PageData<NoticeDTO>>().ok(page);
+    }
+
+
+    @Login
+    @Operation(summary = "信息")
+    @GetMapping("{id}")
+    public Result<NoticeDTO> info(@PathVariable("id") Long id) {
+        NoticeDTO noticeDTO = noticeService.get(id);
+        //校验小区状态
+        if(noticeDTO!=null){
+            int status = housingEstateService.checkStatus(noticeDTO.getHousingEstateId());
+            if(status!=1) {
+                return new Result().error(ErrorCode.INTERNAL_SERVER_ERROR, "无法访问,小区当前状态为" + HousingEstateStatus.fromCode(status).getDescription());
+            }
+        }
+        return new Result<NoticeDTO>().ok(noticeDTO);
+    }
+
+    @Login
+    @PostMapping
+    @Operation(summary = "保存")
+    public Result save(@RequestBody NoticeDTO dto, @Parameter(hidden = true) @RequestAttribute("userId") Long userId) {
+        //效验数据
+        ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
+        dto.setEditUser(userId);
+        dto.setEditTime(new Date());
+
+        noticeService.save(dto);
+
+        return new Result();
+    }
+
+    @Login
+    @PutMapping
+    @Operation(summary = "修改")
+    public Result update(@RequestBody NoticeDTO dto, @Parameter(hidden = true) @RequestAttribute("userId") Long userId) {
+        //效验数据
+        ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
+
+        noticeService.update(dto);
+
+        return new Result();
+    }
+
+    @Login
+    @DeleteMapping
+    @Operation(summary = "删除")
+    public Result delete(@RequestBody Long[] ids) {
+        //效验数据
+        AssertUtils.isArrayEmpty(ids, "id");
+
+        noticeService.deleteBatchIds(Arrays.asList(ids));
+
+        return new Result();
+    }
+
+}

+ 29 - 0
yezhu-api/src/main/java/com/kioor/messageboard/dao/NoticeDao.java

@@ -0,0 +1,29 @@
+/**
+ * Copyright (c) 2018 业主系统 All rights reserved.
+ *
+ * https://www.kioor.com
+ *
+ * 版权所有,侵权必究!
+ */
+
+package com.kioor.messageboard.dao;
+
+import com.kioor.common.dao.BaseDao;
+import com.kioor.messageboard.dto.NoticeDTO;
+import com.kioor.messageboard.entity.NoticeEntity;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 留言
+ * 
+ * @author Mark sunlightcs@gmail.com
+ */
+@Mapper
+public interface NoticeDao extends BaseDao<NoticeEntity> {
+    List<NoticeDTO> getList(Map<String, Object> params);
+
+    NoticeDTO get(Long id);
+}

+ 0 - 6
yezhu-api/src/main/java/com/kioor/messageboard/dto/MessageDTO.java

@@ -41,15 +41,9 @@ public class MessageDTO {
     @Schema(description = "留言时间")
     private Date editTime;
 
-    @Schema(description = "是否显示姓名")
-    private Integer showNameFlag;
-
     @Schema(description = "是否显示房号")
     private Integer showRoomFlag;
 
-    @Schema(description = "留言人名字")
-    private String editUserName;
-
     @Schema(description = "留言人房号")
     private String roomName;
 }

+ 54 - 0
yezhu-api/src/main/java/com/kioor/messageboard/dto/NoticeDTO.java

@@ -0,0 +1,54 @@
+/**
+ * /**
+ * Copyright (c) 2018 业主系统 All rights reserved.
+ * <p>
+ * https://www.kioor.com
+ * <p>
+ * 版权所有,侵权必究!
+ */
+
+package com.kioor.messageboard.dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.Date;
+
+
+/**
+ * 留言
+ *
+ * @author Mark sunlightcs@gmail.com
+ */
+@Data
+@Schema(description = "留言")
+public class NoticeDTO {
+    @Schema(description = "id")
+    private Long id;
+
+    @Schema(description = "小区")
+    private Long housingEstateId;
+
+    @Schema(description = "留言板")
+    private Long messageBoardId;
+
+    @Schema(description = "公告标题")
+    private String title;
+
+    @Schema(description = "公告附图")
+    private String imgUrl;
+
+    @Schema(description = "公告内容")
+    private String content;
+
+    @Schema(description = "最后编辑人")
+    private Long editUser;
+
+    @Schema(description = "最后编辑人姓名")
+    private String editUserName;
+
+    @Schema(description = "最后编辑时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
+    private Date editTime;
+}

+ 0 - 4
yezhu-api/src/main/java/com/kioor/messageboard/entity/MessageEntity.java

@@ -44,10 +44,6 @@ public class MessageEntity implements Serializable {
      * 留言时间
      */
     private Date editTime;
-    /**
-     * 是否显示姓名
-     */
-    private int showNameFlag;
     /**
      * 是否显示房号
      */

+ 4 - 0
yezhu-api/src/main/java/com/kioor/messageboard/entity/NoticeEntity.java

@@ -36,6 +36,10 @@ public class NoticeEntity implements Serializable {
      * 公告标题
      */
     private String title;
+    /**
+     * 公告附图
+     */
+    private String imgUrl;
     /**
      * 公告内容
      */

+ 34 - 0
yezhu-api/src/main/java/com/kioor/messageboard/service/NoticeService.java

@@ -0,0 +1,34 @@
+/**
+ * Copyright (c) 2018 业主系统 All rights reserved.
+ *
+ * https://www.kioor.com
+ *
+ * 版权所有,侵权必究!
+ */
+
+package com.kioor.messageboard.service;
+
+import com.kioor.common.page.PageData;
+import com.kioor.common.service.BaseService;
+import com.kioor.messageboard.dto.NoticeDTO;
+import com.kioor.messageboard.entity.NoticeEntity;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 留言
+ * 
+ * @author Mark sunlightcs@gmail.com
+ */
+public interface NoticeService extends BaseService<NoticeEntity> {
+    PageData<NoticeDTO> page(Map<String, Object> params);
+
+    List<NoticeDTO> list(Map<String, Object> params);
+
+    NoticeDTO get(Long id);
+
+    void save(NoticeDTO dto);
+
+    void update(NoticeDTO dto);
+}

+ 0 - 3
yezhu-api/src/main/java/com/kioor/messageboard/service/impl/MessageServiceImpl.java

@@ -68,9 +68,6 @@ public class MessageServiceImpl extends BaseServiceImpl<MessageDao, MessageEntit
     }
 
     private void hiddenInformation(MessageDTO dto){
-        if(dto.getShowNameFlag() != 1){
-            dto.setEditUserName(CommonUtils.hiddenInformation(dto.getEditUserName()));
-        }
         if(dto.getShowRoomFlag() != 1){
             dto.setRoomName(CommonUtils.hiddenInformation(dto.getRoomName()));
         }

+ 76 - 0
yezhu-api/src/main/java/com/kioor/messageboard/service/impl/NoticeServiceImpl.java

@@ -0,0 +1,76 @@
+/**
+ * Copyright (c) 2018 业主系统 All rights reserved.
+ * <p>
+ * https://www.kioor.com
+ * <p>
+ * 版权所有,侵权必究!
+ */
+
+package com.kioor.messageboard.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.kioor.common.constant.Constant;
+import com.kioor.common.page.PageData;
+import com.kioor.common.service.impl.BaseServiceImpl;
+import com.kioor.common.utils.ConvertUtils;
+import com.kioor.messageboard.dao.NoticeDao;
+import com.kioor.messageboard.dto.NoticeDTO;
+import com.kioor.messageboard.entity.NoticeEntity;
+import com.kioor.messageboard.service.NoticeService;
+import com.kioor.user.service.UserService;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Map;
+
+@Service
+@AllArgsConstructor
+public class NoticeServiceImpl extends BaseServiceImpl<NoticeDao, NoticeEntity> implements NoticeService {
+
+    private final UserService userService;
+
+    /**
+     * 分页
+     */
+    @Override
+    public PageData<NoticeDTO> page(Map<String, Object> params) {
+
+        //分页
+        IPage<NoticeEntity> page = getPage(params, Constant.CREATE_DATE, false);
+
+        //查询
+        List<NoticeDTO> list = baseDao.getList(params);
+
+
+        return getPageData(list, page.getTotal(), NoticeDTO.class);
+    }
+
+    @Override
+    public List<NoticeDTO> list(Map<String, Object> params) {
+
+        //查询
+        List<NoticeDTO> list = baseDao.getList(params);
+        return list;
+    }
+
+    @Override
+    public NoticeDTO get(Long id) {
+
+        NoticeDTO dto = baseDao.get(id);
+        return dto;
+    }
+
+    @Override
+    public void save(NoticeDTO dto) {
+        NoticeEntity entity =  ConvertUtils.sourceToTarget(dto, NoticeEntity.class);
+        insert(entity);
+    }
+
+    @Override
+    public void update(NoticeDTO dto) {
+        NoticeEntity entity = ConvertUtils.sourceToTarget(dto, NoticeEntity.class);
+
+        updateById(entity);
+    }
+}

+ 16 - 0
yezhu-api/src/main/resources/mapper/chat/ChatLogDao.xml

@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+
+<mapper namespace="com.kioor.chat.dao.ChatLogDao">
+
+    <resultMap type="com.kioor.chat.entity.ChatLogEntity" id="chatLogMap">
+        <result property="id" column="id"/>
+        <result property="type" column="type"/>
+        <result property="chatPartnerId" column="chat_partner_id"/>
+        <result property="content" column="content"/>
+        <result property="showRoomFlag" column="show_room_flag"/>
+        <result property="editUser" column="edit_user"/>
+        <result property="editTime" column="edit_time"/>
+    </resultMap>
+
+</mapper>

+ 10 - 8
yezhu-api/src/main/resources/mapper/messageboard/MessageDao.xml

@@ -4,22 +4,24 @@
 <mapper namespace="com.kioor.messageboard.dao.MessageDao">
 
     <select id="getList" resultType="com.kioor.messageboard.dto.MessageDTO">
-        select tm.*,tmb.housing_estate_id as housingEstateId, tu.username as editUserName,tuhe.remark as roomName
+        select tm.*,tmb.housing_estate_id as housingEstateId, tuhe.remark as roomName
         from tb_messages tm
         left join tb_message_board  tmb on tm.message_board_id = tmb.id
         left join tb_user tu on tm.edit_user = tu.id
         left join tb_user_housing_estate tuhe on tu.id = tuhe.user_id
-        <if test="messageBoardId != null">
-            and tm.message_board_id = #{messageBoardId}
-        </if>
-        <if test="housingEstateId != null">
-            and tmb.housing_estate_id = #{housingEstateId}
-        </if>
+        <where>
+            <if test="messageBoardId != null">
+                and tm.message_board_id = #{messageBoardId}
+            </if>
+            <if test="housingEstateId != null">
+                and tmb.housing_estate_id = #{housingEstateId}
+            </if>
+        </where>
         order by tm.edit_time desc
     </select>
 
     <select id="get" resultType="com.kioor.messageboard.dto.MessageDTO">
-        select tm.*,tmb.housing_estate_id as housingEstateId, tu.username as editUserName,tuhe.remark as roomName
+        select tm.*,tmb.housing_estate_id as housingEstateId, tuhe.remark as roomName
         from tb_messages tm
         left join tb_message_board  tmb on tm.message_board_id = tmb.id
         left join tb_user tu on tm.edit_user = tu.id

+ 29 - 0
yezhu-api/src/main/resources/mapper/messageboard/NoticeDao.xml

@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+
+<mapper namespace="com.kioor.messageboard.dao.NoticeDao">
+
+    <select id="getList" resultType="com.kioor.messageboard.dto.NoticeDTO">
+        select tn.*,tmb.housing_estate_id as housingEstateId, tu.username as editUserName
+        from tb_notice tn
+        left join tb_message_board  tmb on tn.message_board_id = tmb.id
+        left join tb_user tu on tn.edit_user = tu.id
+        <where>
+            <if test="messageBoardId != null">
+                and tn.message_board_id = #{messageBoardId}
+            </if>
+            <if test="housingEstateId != null">
+                and tmb.housing_estate_id = #{housingEstateId}
+            </if>
+        </where>
+        order by tn.edit_time desc
+    </select>
+
+    <select id="get" resultType="com.kioor.messageboard.dto.NoticeDTO">
+        select tn.*,tmb.housing_estate_id as housingEstateId, tu.username as editUserName
+        from tb_notice tn
+        left join tb_message_board  tmb on tn.message_board_id = tmb.id
+        left join tb_user tu on tn.edit_user = tu.id
+        where tn.id = #{id}
+    </select>
+</mapper>