diff --git a/common/common-log/src/main/java/com/rax/common/log/annotation/SysLog.java b/common/common-log/src/main/java/com/rax/common/log/annotation/SysLog.java index 32ade1e..8f01361 100644 --- a/common/common-log/src/main/java/com/rax/common/log/annotation/SysLog.java +++ b/common/common-log/src/main/java/com/rax/common/log/annotation/SysLog.java @@ -23,4 +23,6 @@ public @interface SysLog { */ String expression() default ""; + String type() default "0"; + } diff --git a/common/common-log/src/main/java/com/rax/common/log/aspect/SysLogAspect.java b/common/common-log/src/main/java/com/rax/common/log/aspect/SysLogAspect.java index 20af183..b3d756b 100644 --- a/common/common-log/src/main/java/com/rax/common/log/aspect/SysLogAspect.java +++ b/common/common-log/src/main/java/com/rax/common/log/aspect/SysLogAspect.java @@ -51,6 +51,7 @@ public class SysLogAspect { SysLogEventSource logVo = SysLogUtils.getSysLog(); logVo.setTitle(value); + logVo.setLogType(sysLog.type()); // 获取请求body参数 if (StrUtil.isBlank(logVo.getParams())) { logVo.setBody(point.getArgs()); diff --git a/common/common-log/src/main/java/com/rax/common/log/util/LogTypeEnum.java b/common/common-log/src/main/java/com/rax/common/log/util/LogTypeEnum.java index 0f0d4c1..be774ed 100644 --- a/common/common-log/src/main/java/com/rax/common/log/util/LogTypeEnum.java +++ b/common/common-log/src/main/java/com/rax/common/log/util/LogTypeEnum.java @@ -21,7 +21,13 @@ public enum LogTypeEnum { /** * 错误日志类型 */ - ERROR("9", "错误日志"); + ERROR("4", "错误日志"), + + ADD("1", "添加"), + + DELETE("2", "删除"), + + EDIT("3", "编辑"); /** * 类型 diff --git a/db/pig.sql b/db/pig.sql index 31e9b51..e6f10ba 100644 --- a/db/pig.sql +++ b/db/pig.sql @@ -1268,18 +1268,27 @@ DROP TABLE IF EXISTS `sys_message`; CREATE TABLE `sys_message` ( `id` bigint NOT NULL COMMENT '主键', - `category` varchar(800) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '消息类型', - `hospital` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '医院名称',ssss - `message` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '消息内容', + `category` varchar(800) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '消息类型', + `hospital` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '医院名称', + `message` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '消息内容', `href` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '跳转链接', `hotspots` bit(1) NULL DEFAULT 0 COMMENT '是否热点', `del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '删除标记,0未删除,1已删除', `creator` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '所属人', - `receiver` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '接收人', + `creator_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '接收人', + `updater` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '修改人', + `updater_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '修改人', `create_time` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '创建时间', `update_time` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '更新时间', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin ROW_FORMAT = Dynamic; -SET -FOREIGN_KEY_CHECKS = 1; +DROP TABLE IF EXISTS `sys_message_user`; +CREATE TABLE `sys_message_user` +( + `message_id` bigint NULL DEFAULT NULL COMMENT '消息id', + `user_id` bigint NULL DEFAULT NULL COMMENT '用户id', + `read_flag` bit(1) NULL DEFAULT 0 COMMENT '是否已读' +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin ROW_FORMAT = Dynamic; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/upms/upms-api/src/main/java/com/rax/admin/api/dto/SysLogDTO.java b/upms/upms-api/src/main/java/com/rax/admin/api/dto/SysLogDTO.java index 83e899e..e509a98 100644 --- a/upms/upms-api/src/main/java/com/rax/admin/api/dto/SysLogDTO.java +++ b/upms/upms-api/src/main/java/com/rax/admin/api/dto/SysLogDTO.java @@ -88,4 +88,9 @@ public class SysLogDTO { */ private LocalDateTime[] createTime; + /** + * 创建时间区间 [开始时间,结束时间] + */ + private String[] timeInterval; + } diff --git a/upms/upms-api/src/main/java/com/rax/admin/api/entity/SysLog.java b/upms/upms-api/src/main/java/com/rax/admin/api/entity/SysLog.java index bd2442a..b1dd699 100644 --- a/upms/upms-api/src/main/java/com/rax/admin/api/entity/SysLog.java +++ b/upms/upms-api/src/main/java/com/rax/admin/api/entity/SysLog.java @@ -36,7 +36,7 @@ public class SysLog implements Serializable { * 日志类型 */ @NotBlank(message = "日志类型不能为空") - @ExcelProperty("日志类型(0-正常 9-错误 1-添加 2-删除 3-编辑)") + @ExcelProperty("日志类型(0-正常 1-添加 2-删除 3-编辑 4-错误)") @Schema(description = "日志类型") private String logType; diff --git a/upms/upms-api/src/main/java/com/rax/admin/api/entity/SysMessage.java b/upms/upms-api/src/main/java/com/rax/admin/api/entity/SysMessage.java index 9cba98e..6139cb7 100644 --- a/upms/upms-api/src/main/java/com/rax/admin/api/entity/SysMessage.java +++ b/upms/upms-api/src/main/java/com/rax/admin/api/entity/SysMessage.java @@ -49,8 +49,14 @@ public class SysMessage { @Schema(description = "创建人") private Long creator; - @Schema(description = "接收人") - private String receiver; + @Schema(description = "创建人名字") + private String creatorName; + + @Schema(description = "修改人") + private Long updater; + + @Schema(description = "修改人姓名") + private String updaterName; @Schema(description = "创建时间") private String createTime; diff --git a/upms/upms-api/src/main/java/com/rax/admin/api/entity/SysMessageUser.java b/upms/upms-api/src/main/java/com/rax/admin/api/entity/SysMessageUser.java new file mode 100644 index 0000000..c8c49f1 --- /dev/null +++ b/upms/upms-api/src/main/java/com/rax/admin/api/entity/SysMessageUser.java @@ -0,0 +1,21 @@ +package com.rax.admin.api.entity; + +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +@Schema(description = "消息用户") +public class SysMessageUser { + + @Schema(description = "消息id") + private String messageId; + + @Schema(description = "用户id") + private String userId; + + @Schema(description = "是否已读") + @TableField(fill = FieldFill.INSERT) + private Boolean readFlag; +} diff --git a/upms/upms-api/src/main/java/com/rax/admin/api/vo/SysMessageVO.java b/upms/upms-api/src/main/java/com/rax/admin/api/vo/SysMessageVO.java index 70e77af..7a322b6 100644 --- a/upms/upms-api/src/main/java/com/rax/admin/api/vo/SysMessageVO.java +++ b/upms/upms-api/src/main/java/com/rax/admin/api/vo/SysMessageVO.java @@ -7,6 +7,9 @@ import lombok.Data; @Schema(description = "系统消息") public class SysMessageVO { + @Schema(description = "消息id") + private String id; + @Schema(description = "接收人") private String receiver; diff --git a/upms/upms-biz/src/main/java/com/rax/admin/controller/SysMessageController.java b/upms/upms-biz/src/main/java/com/rax/admin/controller/SysMessageController.java index 6ea8157..a428519 100644 --- a/upms/upms-biz/src/main/java/com/rax/admin/controller/SysMessageController.java +++ b/upms/upms-biz/src/main/java/com/rax/admin/controller/SysMessageController.java @@ -26,15 +26,26 @@ public class SysMessageController { return sysMessageService.saveMessage(sysMessageVO); } + @PostMapping("/update") + public R update(SysMessageVO sysMessageVO) { + return sysMessageService.updateMessage(sysMessageVO); + } + @PostMapping("/page") public R page(Page page, SysMessageVO sysMessageVO) { return R.ok(sysMessageService.page(page, Wrappers.lambdaQuery() .eq(StringUtils.hasText(sysMessageVO.getCategory()), SysMessage::getCategory, sysMessageVO.getCategory()) + .eq(SysMessage::getDelFlag, 0) .like(StringUtils.hasText(sysMessageVO.getMessage()), SysMessage::getMessage, sysMessageVO.getMessage()))); } + @PostMapping("/delete") + public R delete(String ids) { + return sysMessageService.deleteMessage(ids); + } + } diff --git a/upms/upms-biz/src/main/java/com/rax/admin/mapper/SysMessageMapper.java b/upms/upms-biz/src/main/java/com/rax/admin/mapper/SysMessageMapper.java index 8683702..156eca9 100644 --- a/upms/upms-biz/src/main/java/com/rax/admin/mapper/SysMessageMapper.java +++ b/upms/upms-biz/src/main/java/com/rax/admin/mapper/SysMessageMapper.java @@ -3,7 +3,9 @@ package com.rax.admin.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.rax.admin.api.entity.SysMessage; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; @Mapper public interface SysMessageMapper extends BaseMapper { + boolean deleteMessage(@Param("ids") String ids); } diff --git a/upms/upms-biz/src/main/java/com/rax/admin/mapper/SysMessageUserMapper.java b/upms/upms-biz/src/main/java/com/rax/admin/mapper/SysMessageUserMapper.java new file mode 100644 index 0000000..1aeed0f --- /dev/null +++ b/upms/upms-biz/src/main/java/com/rax/admin/mapper/SysMessageUserMapper.java @@ -0,0 +1,9 @@ +package com.rax.admin.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.rax.admin.api.entity.SysMessageUser; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface SysMessageUserMapper extends BaseMapper { +} diff --git a/upms/upms-biz/src/main/java/com/rax/admin/service/SysMessageService.java b/upms/upms-biz/src/main/java/com/rax/admin/service/SysMessageService.java index 63cf7d7..8165048 100644 --- a/upms/upms-biz/src/main/java/com/rax/admin/service/SysMessageService.java +++ b/upms/upms-biz/src/main/java/com/rax/admin/service/SysMessageService.java @@ -9,4 +9,8 @@ import com.rax.common.core.util.R; public interface SysMessageService extends IService { R saveMessage(SysMessageVO sysMessageVO); + + R updateMessage(SysMessageVO sysMessageVO); + + R deleteMessage(String ids); } diff --git a/upms/upms-biz/src/main/java/com/rax/admin/service/SysMessageUserService.java b/upms/upms-biz/src/main/java/com/rax/admin/service/SysMessageUserService.java new file mode 100644 index 0000000..7dda1c0 --- /dev/null +++ b/upms/upms-biz/src/main/java/com/rax/admin/service/SysMessageUserService.java @@ -0,0 +1,7 @@ +package com.rax.admin.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.rax.admin.api.entity.SysMessageUser; + +public interface SysMessageUserService extends IService { +} diff --git a/upms/upms-biz/src/main/java/com/rax/admin/service/impl/SysLogServiceImpl.java b/upms/upms-biz/src/main/java/com/rax/admin/service/impl/SysLogServiceImpl.java index 250b864..700e733 100644 --- a/upms/upms-biz/src/main/java/com/rax/admin/service/impl/SysLogServiceImpl.java +++ b/upms/upms-biz/src/main/java/com/rax/admin/service/impl/SysLogServiceImpl.java @@ -35,9 +35,9 @@ public class SysLogServiceImpl extends ServiceImpl impleme wrapper.eq(SysLog::getLogType, sysLog.getLogType()); } - if (ArrayUtil.isNotEmpty(sysLog.getCreateTime())) { - wrapper.ge(SysLog::getCreateTime, sysLog.getCreateTime()[0]) - .le(SysLog::getCreateTime, sysLog.getCreateTime()[1]); + if (ArrayUtil.isNotEmpty(sysLog.getTimeInterval())) { + wrapper.ge(SysLog::getCreateTime, sysLog.getTimeInterval()[0]) + .le(SysLog::getCreateTime, sysLog.getTimeInterval()[1]); } wrapper.orderByDesc(SysLog::getCreateTime); diff --git a/upms/upms-biz/src/main/java/com/rax/admin/service/impl/SysMessageServiceImpl.java b/upms/upms-biz/src/main/java/com/rax/admin/service/impl/SysMessageServiceImpl.java index 3857d75..46cb4d5 100644 --- a/upms/upms-biz/src/main/java/com/rax/admin/service/impl/SysMessageServiceImpl.java +++ b/upms/upms-biz/src/main/java/com/rax/admin/service/impl/SysMessageServiceImpl.java @@ -1,19 +1,34 @@ package com.rax.admin.service.impl; import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.rax.admin.api.entity.SysMessage; +import com.rax.admin.api.entity.SysMessageUser; +import com.rax.admin.api.entity.SysUser; import com.rax.admin.api.vo.SysMessageVO; import com.rax.admin.mapper.SysMessageMapper; import com.rax.admin.service.SysMessageService; +import com.rax.admin.service.SysMessageUserService; +import com.rax.admin.service.SysUserService; import com.rax.common.core.util.R; import com.rax.common.security.service.RaxUser; import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.stereotype.Service; +import org.springframework.util.StringUtils; + +import java.util.Arrays; +import java.util.List; @Service public class SysMessageServiceImpl extends ServiceImpl implements SysMessageService { + @Autowired + private SysUserService sysUserService; + + @Autowired + private SysMessageUserService sysMessageUserService; @Override public R saveMessage(SysMessageVO sysMessageVO) { @@ -21,10 +36,54 @@ public class SysMessageServiceImpl extends ServiceImpl { + SysMessageUser sysMessageUser = new SysMessageUser(); + sysMessageUser.setUserId(userId); + sysMessageUser.setMessageId(sysMessage.getId()); + return sysMessageUser; + }).toList(); + sysMessageUserService.saveBatch(messageUserList); + } + } + + @Override + public R deleteMessage(String ids) { + List idList = Arrays.asList(ids.split(StrUtil.COMMA)); + ids = ids.replace(",", "','"); + return R.ok(this.baseMapper.deleteMessage(ids)); } } diff --git a/upms/upms-biz/src/main/java/com/rax/admin/service/impl/SysMessageUserServiceImpl.java b/upms/upms-biz/src/main/java/com/rax/admin/service/impl/SysMessageUserServiceImpl.java new file mode 100644 index 0000000..bb3a035 --- /dev/null +++ b/upms/upms-biz/src/main/java/com/rax/admin/service/impl/SysMessageUserServiceImpl.java @@ -0,0 +1,11 @@ +package com.rax.admin.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.rax.admin.api.entity.SysMessageUser; +import com.rax.admin.mapper.SysMessageUserMapper; +import com.rax.admin.service.SysMessageUserService; +import org.springframework.stereotype.Service; + +@Service +public class SysMessageUserServiceImpl extends ServiceImpl implements SysMessageUserService { +} diff --git a/upms/upms-biz/src/main/resources/mapper/SysMessageMapper.xml b/upms/upms-biz/src/main/resources/mapper/SysMessageMapper.xml new file mode 100644 index 0000000..e40571b --- /dev/null +++ b/upms/upms-biz/src/main/resources/mapper/SysMessageMapper.xml @@ -0,0 +1,8 @@ + + + + + UPDATE sys_message set del_flag = 1 WHERE id IN (#{ids}); + DELETE FROM sys_message_user where message_id in (#{ids}); + + \ No newline at end of file