diff --git a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/enums/ErrorCodeConstants.java b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/enums/ErrorCodeConstants.java index 1824c8c0..cab6af6f 100644 --- a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/enums/ErrorCodeConstants.java +++ b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/enums/ErrorCodeConstants.java @@ -171,6 +171,11 @@ public interface ErrorCodeConstants { // ========== 站内信发送 1-002-028-000 ========== ErrorCode NOTIFY_SEND_TEMPLATE_PARAM_MISS = new ErrorCode(1_002_028_000, "模板参数({})缺失"); + ErrorCode FORM_NOT_EXISTS = new ErrorCode(1_009_010_000, "动态表单不存在"); + ErrorCode FORM_FIELD_REPEAT = new ErrorCode(1_009_010_001, "表单项({}) 和 ({}) 使用了相同的字段名({})"); + ErrorCode LOG_INSTANCE_NOT_EXISTS = new ErrorCode(1_009_010_002, "日志实例的拓展不存在"); + + ErrorCode LOG_RULE_NOT_EXISTS = new ErrorCode(1_009_010_003, "日志规则不存在"); // ========== 站内信发送 1-003-001-000 ========== ErrorCode SCHEDULING_NOT_EXISTS = new ErrorCode(1_003_001_000, "排班制考勤设置不存在"); ErrorCode PUNCH_RECORD_NOT_EXISTS = new ErrorCode(1_003_002_000, "用户打卡记录不存在"); @@ -178,11 +183,6 @@ public interface ErrorCodeConstants { ErrorCode GROUP_SHIFT_NOT_EXISTS = new ErrorCode(1_003_004_000, "考勤组班次不存在"); ErrorCode GROUP_NOT_EXISTS = new ErrorCode(1_003_005_000, "考勤组不存在"); ErrorCode FIXED_NOT_EXISTS = new ErrorCode(1_003_006_000, "固定班制考勤设置"); - ErrorCode FORM_NOT_EXISTS = new ErrorCode(1_009_010_000, "动态表单不存在"); - ErrorCode FORM_FIELD_REPEAT = new ErrorCode(1_009_010_001, "表单项({}) 和 ({}) 使用了相同的字段名({})"); - ErrorCode LOG_INSTANCE_NOT_EXISTS = new ErrorCode(1_009_010_002, "日志实例的拓展不存在"); - - ErrorCode LOG_RULE_NOT_EXISTS = new ErrorCode(1_009_010_003, "日志规则不存在"); ErrorCode LOG_RULE_NOT_FIND = new ErrorCode(1_009_010_004, "该模板没配置规则"); diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/AuthController.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/AuthController.java index 29e06743..f1ee6018 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/AuthController.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/AuthController.java @@ -1,7 +1,6 @@ package cn.iocoder.yudao.module.system.controller.admin.auth; import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult; -import cn.binarywang.wx.miniapp.bean.WxMaPhoneNumberInfo; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; @@ -27,7 +26,6 @@ import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Parameters; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.extern.slf4j.Slf4j; -import org.apache.ibatis.annotations.Param; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/worklog/WorkLogStatisticsController.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/worklog/WorkLogStatisticsController.java new file mode 100644 index 00000000..8ccdf9ec --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/worklog/WorkLogStatisticsController.java @@ -0,0 +1,43 @@ +package cn.iocoder.yudao.module.system.controller.admin.worklog; + +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.module.system.controller.admin.worklog.dto.statistics.WorkLogStatisticsModelDTO; +import cn.iocoder.yudao.module.system.controller.admin.worklog.vo.form.LogFormUpdateReqVO; +import cn.iocoder.yudao.module.system.controller.admin.worklog.vo.statistics.WorkLogStatisticsModelVO; +import cn.iocoder.yudao.module.system.service.worklog.WorkLogStatisticsService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.validation.Valid; +import java.util.List; + +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 工作日志统计") +@RestController +@RequestMapping("/system/worklog/statistics") +@Validated +public class WorkLogStatisticsController { + + @Resource + private WorkLogStatisticsService workLogStatisticsService; + + @GetMapping("/myManageModel") + @Operation(summary = "获取我管理的模版") + public CommonResult> myManageModel(@ModelAttribute WorkLogStatisticsModelDTO dto) { + return success(workLogStatisticsService.myManageModel(dto)); + } + +// @PutMapping("/update") +// @Operation(summary = "更新动态表单") +// @PreAuthorize("@ss.hasPermission('worklog:form:update')") +// public CommonResult updateForm(@Valid @RequestBody LogFormUpdateReqVO updateReqVO) { +// formService.updateForm(updateReqVO); +// return success(true); +// } + +} diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/worklog/dto/statistics/WorkLogStatisticsModelDTO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/worklog/dto/statistics/WorkLogStatisticsModelDTO.java new file mode 100644 index 00000000..c74608db --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/worklog/dto/statistics/WorkLogStatisticsModelDTO.java @@ -0,0 +1,29 @@ +package cn.iocoder.yudao.module.system.controller.admin.worklog.dto.statistics; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +/** +* 动态表单 Base VO,提供给添加、修改、详细的子 VO 使用 +* 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 +*/ +@Data +public class WorkLogStatisticsModelDTO { + + @Schema(description = "表单名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道") + @NotNull(message = "表单名称不能为空") + private String name; + + @Schema(description = "日志绑定规则编号", requiredMode = Schema.RequiredMode.NOT_REQUIRED, example = "1") + private String ruleId; + + @Schema(description = "表单状态-参见 CommonStatusEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotNull(message = "表单状态不能为空") + private Integer status; + + @Schema(description = "备注", example = "我是备注") + private String remark; + +} diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/worklog/vo/statistics/WorkLogStatisticsModelVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/worklog/vo/statistics/WorkLogStatisticsModelVO.java new file mode 100644 index 00000000..19ac81a0 --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/worklog/vo/statistics/WorkLogStatisticsModelVO.java @@ -0,0 +1,14 @@ +package cn.iocoder.yudao.module.system.controller.admin.worklog.vo.statistics; + +import cn.iocoder.yudao.module.system.dal.dataobject.worklog.LogFormDO; +import lombok.Data; + +/** + * 动态表单 Base VO,提供给添加、修改、详细的子 VO 使用 + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 + */ +@Data +public class WorkLogStatisticsModelVO extends LogFormDO { + + +} diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/app/comment/WorkLogCommentController.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/app/comment/WorkLogCommentController.java new file mode 100644 index 00000000..2cc45650 --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/app/comment/WorkLogCommentController.java @@ -0,0 +1,50 @@ +package cn.iocoder.yudao.module.system.controller.app.comment; + +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.module.system.controller.app.comment.dto.CommentDTO; +import cn.iocoder.yudao.module.system.controller.app.comment.vo.CommentPageListVO; +import cn.iocoder.yudao.module.system.controller.app.comment.vo.CommentTypeCountVO; +import cn.iocoder.yudao.module.system.controller.app.comment.vo.WorkLogCommentSaveReqVO; +import cn.iocoder.yudao.module.system.service.comment.WorkLogCommentService; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 工作日志评论") +@RestController +@RequestMapping("/system/work-log-comment") +@Validated +public class WorkLogCommentController { + + @Autowired + private WorkLogCommentService workLogCommentService; + + @Operation(summary = "用户工作日志评论-分页查询评论列表") + @GetMapping(value = "/queryCommentPageList") + public CommonResult> queryCommentPageList(CommentDTO dto, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) { + Page page = new Page<>(pageNo, pageSize); + IPage pageList = workLogCommentService.queryCommentPageList(page, dto); + return success(pageList); + } + + @PostMapping("/create") + @Operation(summary = "创建工作日志评论") + public CommonResult createWorkLogComment(@RequestBody WorkLogCommentSaveReqVO createReqVO) { + return success(workLogCommentService.createWorkLogComment(createReqVO)); + } + + @GetMapping("/queryCommentTypeCount") + @Operation(summary = "获取评论类型数量") + public CommonResult queryCommentTypeCount() { + return success(workLogCommentService.queryCommentTypeCount()); + } + +} \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/app/comment/dto/CommentDTO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/app/comment/dto/CommentDTO.java new file mode 100644 index 00000000..8f33d89d --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/app/comment/dto/CommentDTO.java @@ -0,0 +1,23 @@ +package cn.iocoder.yudao.module.system.controller.app.comment.dto; + +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +public class CommentDTO { + @Schema(description = "工作日志id") + @JsonSerialize(using = ToStringSerializer.class) + private Long workLogId; + @Schema(description = "评论类型(0|评论;1|回评") + private Integer type; + @Schema(description = "是否需要显示日志内容 0否 1是 默认否") + private Integer isShowWorkLogContent; + + @Schema(description = "是否查看自己的评论记录 0否 1是") + private Integer checkMyselfFlag; + + @Schema(description = "用户id") + private Long userId; +} diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/app/comment/vo/CommentPageListVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/app/comment/vo/CommentPageListVO.java new file mode 100644 index 00000000..70812e1c --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/app/comment/vo/CommentPageListVO.java @@ -0,0 +1,53 @@ +package cn.iocoder.yudao.module.system.controller.app.comment.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +@Data +public class CommentPageListVO { + @JsonSerialize(using = ToStringSerializer.class) + @Schema(description = "id") + private Long id; + @Schema(description = "工作日志ID") + @JsonSerialize(using = ToStringSerializer.class) + private Long workLogId; + @Schema(description = "评论用户ID") + @JsonSerialize(using = ToStringSerializer.class) + private Long userId; + @Schema(description = "评论用户头像") + private String avatar; + @Schema(description = "评论用户名称") + private String userName; + + @Schema(description = "被评论用户ID") + @JsonSerialize(using = ToStringSerializer.class) + private Long commentUserId; + @Schema(description = "被评论用户头像") + private String commentAvatar; + @Schema(description = "被评论用户名称") + private String commentUserName; + + @Schema(description = "评论内容") + private String comment; + @Schema(description = "评论类型(0|评论;1|回评)") + private Integer type; + + @Schema(description = "被回评内容") + private String replyComment; + + @Schema(description = "工作日志内容(部分)") + private String workLogContent; + @Schema(description = "工作日志名称") + private String workLogName; + @Schema(description = "工作日志模版id") + private Long workFormId; + + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Schema(description = "创建日期") + private String createTime; +} diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/app/comment/vo/CommentTypeCountVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/app/comment/vo/CommentTypeCountVO.java new file mode 100644 index 00000000..09e474ba --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/app/comment/vo/CommentTypeCountVO.java @@ -0,0 +1,16 @@ +package cn.iocoder.yudao.module.system.controller.app.comment.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +public class CommentTypeCountVO { + + @Schema(description = "全部数量") + private Integer allNum; + @Schema(description = "评论数量") + private Integer commentNum; + @Schema(description = "回复数量") + private Integer replyNum; + +} diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/app/comment/vo/WorkLogCommentPageReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/app/comment/vo/WorkLogCommentPageReqVO.java new file mode 100644 index 00000000..960e4e63 --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/app/comment/vo/WorkLogCommentPageReqVO.java @@ -0,0 +1,43 @@ +package cn.iocoder.yudao.module.system.controller.app.comment.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 工作日志评论分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class WorkLogCommentPageReqVO extends PageParam { + + @Schema(description = "动态ID", example = "26393") + private Long workLogId; + + @Schema(description = "评论ID(回复评论的ID)", example = "25541") + private Long commentId; + + @Schema(description = "评论用户ID", example = "17082") + private Long userId; + + @Schema(description = "被评论用户ID", example = "22388") + private Long commentUserId; + + @Schema(description = "评论内容") + private String comment; + + @Schema(description = "评论类型(0|评论;1|回评)", example = "1") + private Boolean type; + + @Schema(description = "楼栋标识") + private String buildingCode; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/app/comment/vo/WorkLogCommentRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/app/comment/vo/WorkLogCommentRespVO.java new file mode 100644 index 00000000..be061652 --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/app/comment/vo/WorkLogCommentRespVO.java @@ -0,0 +1,52 @@ +package cn.iocoder.yudao.module.system.controller.app.comment.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import com.alibaba.excel.annotation.*; + +@Schema(description = "管理后台 - 工作日志评论 Response VO") +@Data +@ExcelIgnoreUnannotated +public class WorkLogCommentRespVO { + + @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "21304") + @ExcelProperty("id") + private Long id; + + @Schema(description = "动态ID", example = "26393") + @ExcelProperty("动态ID") + private Long workLogId; + + @Schema(description = "评论ID(回复评论的ID)", example = "25541") + @ExcelProperty("评论ID(回复评论的ID)") + private Long commentId; + + @Schema(description = "评论用户ID", example = "17082") + @ExcelProperty("评论用户ID") + private Long userId; + + @Schema(description = "被评论用户ID", example = "22388") + @ExcelProperty("被评论用户ID") + private Long commentUserId; + + @Schema(description = "评论内容") + @ExcelProperty("评论内容") + private String comment; + + @Schema(description = "评论类型(0|评论;1|回评)", example = "1") + @ExcelProperty("评论类型(0|评论;1|回评)") + private Boolean type; + + @Schema(description = "楼栋标识") + @ExcelProperty("楼栋标识") + private String buildingCode; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") + private LocalDateTime createTime; + +} \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/app/comment/vo/WorkLogCommentSaveReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/app/comment/vo/WorkLogCommentSaveReqVO.java new file mode 100644 index 00000000..5ff39ca8 --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/app/comment/vo/WorkLogCommentSaveReqVO.java @@ -0,0 +1,28 @@ +package cn.iocoder.yudao.module.system.controller.app.comment.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import javax.validation.constraints.*; +import java.util.*; + +@Schema(description = "管理后台 - 工作日志评论新增/修改 Request VO") +@Data +public class WorkLogCommentSaveReqVO { + + @Schema(description = "工作日志ID", example = "26393") + private Long workLogId; + + @Schema(description = "评论ID(回复评论的ID)", example = "25541") + private Long commentId; + + @Schema(description = "被评论用户ID", example = "22388") + private Long commentUserId; + + @Schema(description = "评论内容") + private String comment; + + @Schema(description = "评论类型(0|评论;1|回评)", example = "1") + private Boolean type; + +} \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/comment/WorkLogCommentDO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/comment/WorkLogCommentDO.java new file mode 100644 index 00000000..16a9b3bf --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/comment/WorkLogCommentDO.java @@ -0,0 +1,59 @@ +package cn.iocoder.yudao.module.system.dal.dataobject.comment; + +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; + +/** + * 工作日志评论 DO + * + * @author 艾楷 + */ +@TableName("work_log_comment") +@KeySequence("work_log_comment_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class WorkLogCommentDO extends BaseDO { + + /** + * id + */ + @TableId + private Long id; + /** + * 工作日志ID + */ + private Long workLogId; + /** + * 评论ID(回复评论的ID) + */ + private Long commentId; + /** + * 评论用户ID + */ + private Long userId; + /** + * 被评论用户ID + */ + private Long commentUserId; + /** + * 评论内容 + */ + private String comment; + /** + * 评论类型(0|评论;1|回评) + */ + private Boolean type; + /** + * 楼栋标识 + */ + private String buildingCode; + +} \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/comment/WorkLogCommentMapper.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/comment/WorkLogCommentMapper.java new file mode 100644 index 00000000..af112886 --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/comment/WorkLogCommentMapper.java @@ -0,0 +1,44 @@ +package cn.iocoder.yudao.module.system.dal.mysql.comment; + +import java.util.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.module.system.controller.app.comment.dto.CommentDTO; +import cn.iocoder.yudao.module.system.dal.dataobject.comment.WorkLogCommentDO; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import cn.iocoder.yudao.module.system.controller.app.comment.vo.*; +import org.apache.ibatis.annotations.Param; + +/** + * 工作日志评论 Mapper + * + * @author 艾楷 + */ +@Mapper +public interface WorkLogCommentMapper extends BaseMapperX { + + default PageResult selectPage(WorkLogCommentPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(WorkLogCommentDO::getWorkLogId, reqVO.getWorkLogId()) + .eqIfPresent(WorkLogCommentDO::getCommentId, reqVO.getCommentId()) + .eqIfPresent(WorkLogCommentDO::getUserId, reqVO.getUserId()) + .eqIfPresent(WorkLogCommentDO::getCommentUserId, reqVO.getCommentUserId()) + .eqIfPresent(WorkLogCommentDO::getComment, reqVO.getComment()) + .eqIfPresent(WorkLogCommentDO::getType, reqVO.getType()) + .eqIfPresent(WorkLogCommentDO::getBuildingCode, reqVO.getBuildingCode()) + .betweenIfPresent(WorkLogCommentDO::getCreateTime, reqVO.getCreateTime()) + .orderByDesc(WorkLogCommentDO::getId)); + } + + /** + * + * @param page + * @param dto + * @return + */ + IPage queryCommentPageList(@Param("page") Page page, @Param("dto") CommentDTO dto); +} \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/worklog/LogFormMapper.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/worklog/LogFormMapper.java index 3ae5174c..cb3a6db6 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/worklog/LogFormMapper.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/worklog/LogFormMapper.java @@ -4,9 +4,12 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; import cn.iocoder.yudao.framework.mybatis.core.query.QueryWrapperX; import cn.iocoder.yudao.module.system.controller.admin.worklog.vo.form.LogFormPageReqVO; +import cn.iocoder.yudao.module.system.controller.admin.worklog.vo.statistics.WorkLogStatisticsModelVO; import cn.iocoder.yudao.module.system.dal.dataobject.worklog.LogFormDO; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + @Mapper public interface LogFormMapper extends BaseMapperX { diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/worklog/LogUseMapper.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/worklog/LogUseMapper.java index e79ef5d6..b1b33be3 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/worklog/LogUseMapper.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/worklog/LogUseMapper.java @@ -1,16 +1,22 @@ package cn.iocoder.yudao.module.system.dal.mysql.worklog; -import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; -import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.module.system.dal.dataobject.worklog.LogUseDO; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** * 日志模板使用者 Mapper * - * @author 符溶馨 + * @author 艾楷 */ @Mapper public interface LogUseMapper extends BaseMapperX { + /** + * 通过数据权限获取日志模版ids + * + * @return + */ + List getFormIdsByDataPermission(); } \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/job/demo/DemoJob.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/job/demo/DemoJob.java index 2b04dfdc..798bdfe1 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/job/demo/DemoJob.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/job/demo/DemoJob.java @@ -1,16 +1,31 @@ package cn.iocoder.yudao.module.system.job.demo; import cn.iocoder.yudao.framework.tenant.core.job.TenantJob; +import com.xxl.job.core.biz.model.ReturnT; +import com.xxl.job.core.context.XxlJobContext; import com.xxl.job.core.handler.annotation.XxlJob; +import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; +import java.util.concurrent.atomic.AtomicInteger; + @Component +@Slf4j public class DemoJob { - @XxlJob("demoJob") - @TenantJob - public void execute() { - System.out.println("美滋滋"); + private final AtomicInteger counts = new AtomicInteger(); + + @XxlJob("testJob") + //@TenantJob --- ⚠️ 这个注解 会将租户列表拉出来 完了后逐个租户执行 定时任务需要注意 + public ReturnT execute() throws Exception { + //获取参数 + XxlJobContext xxlJobContext = XxlJobContext.getXxlJobContext(); + String jobParam = xxlJobContext.getJobParam(); + System.out.println(jobParam); + // 打印日志 + log.info("[execute][定时第 ({}) 次执行]", counts.incrementAndGet()); + // 返回执行成功 + return ReturnT.SUCCESS; } } diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/comment/WorkLogCommentService.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/comment/WorkLogCommentService.java new file mode 100644 index 00000000..8eeaa7b8 --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/comment/WorkLogCommentService.java @@ -0,0 +1,73 @@ +package cn.iocoder.yudao.module.system.service.comment; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.module.system.controller.app.comment.dto.CommentDTO; +import cn.iocoder.yudao.module.system.controller.app.comment.vo.CommentPageListVO; +import cn.iocoder.yudao.module.system.controller.app.comment.vo.CommentTypeCountVO; +import cn.iocoder.yudao.module.system.controller.app.comment.vo.WorkLogCommentPageReqVO; +import cn.iocoder.yudao.module.system.controller.app.comment.vo.WorkLogCommentSaveReqVO; +import cn.iocoder.yudao.module.system.dal.dataobject.comment.WorkLogCommentDO; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + +import javax.validation.Valid; + +/** + * 工作日志评论 Service 接口 + * + * @author 艾楷 + */ +public interface WorkLogCommentService { + + /** + * 创建工作日志评论 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createWorkLogComment(@Valid WorkLogCommentSaveReqVO createReqVO); + + /** + * 更新工作日志评论 + * + * @param updateReqVO 更新信息 + */ + void updateWorkLogComment(@Valid WorkLogCommentSaveReqVO updateReqVO); + + /** + * 删除工作日志评论 + * + * @param id 编号 + */ + void deleteWorkLogComment(Long id); + + /** + * 获得工作日志评论 + * + * @param id 编号 + * @return 工作日志评论 + */ + WorkLogCommentDO getWorkLogComment(Long id); + + /** + * 获得工作日志评论分页 + * + * @param pageReqVO 分页查询 + * @return 工作日志评论分页 + */ + PageResult getWorkLogCommentPage(WorkLogCommentPageReqVO pageReqVO); + + /** + * @param page + * @param dto + * @return + */ + IPage queryCommentPageList(Page page, CommentDTO dto); + + /** + * 获取评论类型数量 + * + * @return + */ + CommentTypeCountVO queryCommentTypeCount(); +} \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/comment/WorkLogCommentServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/comment/WorkLogCommentServiceImpl.java new file mode 100644 index 00000000..9edc4631 --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/comment/WorkLogCommentServiceImpl.java @@ -0,0 +1,134 @@ +package cn.iocoder.yudao.module.system.service.comment; + +import cn.hutool.core.util.StrUtil; +import cn.hutool.json.JSONObject; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.framework.web.core.util.WebFrameworkUtils; +import cn.iocoder.yudao.module.system.controller.app.comment.dto.CommentDTO; +import cn.iocoder.yudao.module.system.controller.app.comment.vo.CommentPageListVO; +import cn.iocoder.yudao.module.system.controller.app.comment.vo.CommentTypeCountVO; +import cn.iocoder.yudao.module.system.controller.app.comment.vo.WorkLogCommentPageReqVO; +import cn.iocoder.yudao.module.system.controller.app.comment.vo.WorkLogCommentSaveReqVO; +import cn.iocoder.yudao.module.system.dal.dataobject.comment.WorkLogCommentDO; +import cn.iocoder.yudao.module.system.dal.dataobject.worklog.LogFormDO; +import cn.iocoder.yudao.module.system.dal.mysql.comment.WorkLogCommentMapper; +import cn.iocoder.yudao.module.system.service.worklog.LogFormService; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; + +import javax.annotation.Resource; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * 工作日志评论 Service 实现类 + * + * @author 艾楷 + */ +@Service +@Validated +public class WorkLogCommentServiceImpl implements WorkLogCommentService { + + @Resource + private WorkLogCommentMapper workLogCommentMapper; + @Resource + private LogFormService logFormService; + + @Override + public Long createWorkLogComment(WorkLogCommentSaveReqVO createReqVO) { + // 插入 + WorkLogCommentDO workLogComment = BeanUtils.toBean(createReqVO, WorkLogCommentDO.class); + Long userId = WebFrameworkUtils.getLoginUserId(); + workLogComment.setUserId(userId); + workLogCommentMapper.insert(workLogComment); + // 返回 + return workLogComment.getId(); + } + + @Override + public void updateWorkLogComment(WorkLogCommentSaveReqVO updateReqVO) { + // 校验存在 +// validateWorkLogCommentExists(updateReqVO.getId()); + // 更新 + WorkLogCommentDO updateObj = BeanUtils.toBean(updateReqVO, WorkLogCommentDO.class); + workLogCommentMapper.updateById(updateObj); + } + + @Override + public void deleteWorkLogComment(Long id) { + // 校验存在 +// validateWorkLogCommentExists(id); + // 删除 + workLogCommentMapper.deleteById(id); + } + +// private void validateWorkLogCommentExists(Long id) { +// if (workLogCommentMapper.selectById(id) == null) { +// throw exception(WORK_LOG_COMMENT_NOT_EXISTS); +// } +// } + + @Override + public WorkLogCommentDO getWorkLogComment(Long id) { + return workLogCommentMapper.selectById(id); + } + + @Override + public PageResult getWorkLogCommentPage(WorkLogCommentPageReqVO pageReqVO) { + return workLogCommentMapper.selectPage(pageReqVO); + } + + @Override + public IPage queryCommentPageList(Page page, CommentDTO dto) { + if (dto.getCheckMyselfFlag() == 1) { + Long userId = WebFrameworkUtils.getLoginUserId(); + dto.setUserId(userId); + } + IPage pageList = workLogCommentMapper.queryCommentPageList(page, dto); + List records = pageList.getRecords(); + if (dto.getIsShowWorkLogContent() != null && dto.getIsShowWorkLogContent() == 1 && !records.isEmpty()) { + //模版ids过滤 + List workFormIds = records.stream().map(CommentPageListVO::getWorkFormId).collect(Collectors.toList()); + // 查询模版列表 + List formList = logFormService.getFormList(workFormIds); + Map formMap = formList.stream().collect(Collectors.toMap(LogFormDO::getId, item -> item)); + pageList.getRecords().forEach(item -> { + LogFormDO logFormDO = formMap.get(item.getWorkFormId()); + List fields = logFormDO.getFields(); + StringBuilder workLogContent = new StringBuilder(); + if (StrUtil.isNotEmpty(item.getWorkLogContent())) { + JSONObject workLogContentJson = new JSONObject(item.getWorkLogContent()); + for (String fieldItem : fields) { + JSONObject fieldJson = new JSONObject(fieldItem); + String fieldStr = fieldJson.getStr("field"); + String title = fieldJson.getStr("title"); + String field = workLogContentJson.getStr(fieldStr); + workLogContent.append(title).append(":").append(field); + } + } + item.setWorkLogContent(workLogContent.toString()); + }); + } + return pageList; + } + + @Override + public CommentTypeCountVO queryCommentTypeCount() { + Long userId = WebFrameworkUtils.getLoginUserId(); + CommentTypeCountVO vo = new CommentTypeCountVO(); + Integer commentNum = Math.toIntExact(workLogCommentMapper.selectCount(new LambdaQueryWrapper() + .eq(WorkLogCommentDO::getUserId, userId))); + Integer replyNum = Math.toIntExact(workLogCommentMapper.selectCount(new LambdaQueryWrapper() + .eq(WorkLogCommentDO::getCommentUserId, userId))); + vo.setCommentNum(commentNum); + vo.setReplyNum(replyNum); + vo.setAllNum(commentNum + replyNum); + return vo; + } + +} \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/worklog/LogRuleService.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/worklog/LogRuleService.java index e71b9b76..b10221c6 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/worklog/LogRuleService.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/worklog/LogRuleService.java @@ -6,6 +6,7 @@ import cn.iocoder.yudao.module.system.controller.admin.worklog.vo.rule.LogRuleSa import cn.iocoder.yudao.module.system.dal.dataobject.worklog.LogRuleDO; import javax.validation.Valid; +import java.util.List; /** * 日志规则 Service 接口 @@ -52,4 +53,11 @@ public interface LogRuleService { */ PageResult getLogRulePage(LogRulePageReqVO pageReqVO); + /** + * 通过规则ids获取规则 + * + * @param ruleIds + * @return + */ + List getLogRuleByIds(List ruleIds); } \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/worklog/LogRuleServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/worklog/LogRuleServiceImpl.java index ab8fb45e..e2937a79 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/worklog/LogRuleServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/worklog/LogRuleServiceImpl.java @@ -10,6 +10,7 @@ import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; +import java.util.List; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.LOG_RULE_NOT_EXISTS; @@ -67,4 +68,10 @@ public class LogRuleServiceImpl implements LogRuleService { public PageResult getLogRulePage(LogRulePageReqVO pageReqVO) { return logRuleMapper.selectPage(pageReqVO); } + + @Override + public List getLogRuleByIds(List ruleIds) { + return logRuleMapper.selectBatchIds(ruleIds); + } + } \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/worklog/WorkLogStatisticsService.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/worklog/WorkLogStatisticsService.java new file mode 100644 index 00000000..faa10108 --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/worklog/WorkLogStatisticsService.java @@ -0,0 +1,17 @@ +package cn.iocoder.yudao.module.system.service.worklog; + +import cn.iocoder.yudao.module.system.controller.admin.worklog.dto.statistics.WorkLogStatisticsModelDTO; +import cn.iocoder.yudao.module.system.controller.admin.worklog.vo.statistics.WorkLogStatisticsModelVO; + +import java.util.List; + +public interface WorkLogStatisticsService { + + /** + * 我管理的工作日志统计模版 + * + * @param dto + * @return + */ + List myManageModel(WorkLogStatisticsModelDTO dto); +} diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/worklog/WorkLogStatisticsServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/worklog/WorkLogStatisticsServiceImpl.java new file mode 100644 index 00000000..4389ab89 --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/worklog/WorkLogStatisticsServiceImpl.java @@ -0,0 +1,62 @@ +package cn.iocoder.yudao.module.system.service.worklog; + +import cn.hutool.core.collection.CollectionUtil; +import cn.iocoder.yudao.module.system.controller.admin.worklog.dto.statistics.WorkLogStatisticsModelDTO; +import cn.iocoder.yudao.module.system.controller.admin.worklog.vo.statistics.WorkLogStatisticsModelVO; +import cn.iocoder.yudao.module.system.dal.dataobject.worklog.LogFormDO; +import cn.iocoder.yudao.module.system.dal.dataobject.worklog.LogRuleDO; +import cn.iocoder.yudao.module.system.dal.mysql.worklog.LogFormMapper; +import cn.iocoder.yudao.module.system.dal.mysql.worklog.LogUseMapper; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; + +import javax.annotation.Resource; +import java.util.*; +import java.util.stream.Collectors; + +/** + * 工作日志统计 Service 实现类 + * + * @author 艾楷 + */ +@Service +@Validated +public class WorkLogStatisticsServiceImpl implements WorkLogStatisticsService { + @Resource + private LogFormMapper logFormMapper; + + @Resource + private LogRuleService logRuleService; + + @Resource + private LogUseMapper logUseMapper; + + @Override + public List myManageModel(WorkLogStatisticsModelDTO dto) { + //获取模版ids - 当前登录用户的数据权限 查看日志模板使用者表 + // TODO: 2024/4/12 这里要测试下 数据权限问题 + List formIds = logUseMapper.getFormIdsByDataPermission(); + if (!formIds.isEmpty()) { + return Collections.emptyList(); + } + List formList = logFormMapper.selectList(new LambdaQueryWrapper() + .in(LogFormDO::getId, formIds) + .eq(LogFormDO::getStatus, 1) + .isNotNull(LogFormDO::getRuleId) + ); + List ruleIds = formList.stream().map(LogFormDO::getRuleId).collect(Collectors.toList()); + List logRuleDOS = new ArrayList<>(); + Map ruleMap = new HashMap<>(); + if (CollectionUtil.isNotEmpty(ruleIds)) { + logRuleDOS = logRuleService.getLogRuleByIds(ruleIds); + ruleMap = logRuleDOS.stream().collect(Collectors.toMap(LogRuleDO::getId, v -> v)); + } + for (LogFormDO logFormDO : formList) { + LogRuleDO logRuleDO = ruleMap.get(logFormDO.getRuleId()); + //统计谁 + + } + return null; + } +} \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/resources/application-dev.yaml b/yudao-module-system/yudao-module-system-biz/src/main/resources/application-dev.yaml index 96835b0f..2db39bc3 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/resources/application-dev.yaml +++ b/yudao-module-system/yudao-module-system-biz/src/main/resources/application-dev.yaml @@ -81,7 +81,13 @@ xxl: enabled: false # 是否开启调度中心,默认为 true 开启 admin: addresses: http://127.0.0.1:9090/xxl-job-admin # 调度中心部署跟地址 - + executor: + appname: ${spring.application.name} # 执行器 AppName + ip: # 执行器IP [选填]:默认为空表示自动获取IP,多网卡时可手动设置指定IP,该IP不会绑定Host仅作为通讯实用;地址信息用于 "执行器注册" 和 "调度中心请求并触发任务"; + port: 6666 # ### 执行器端口号 [选填]:小于等于0则自动获取;默认端口为9999,单机部署多个执行器时,注意要配置不同执行器端口; + logpath: ${user.home}/logs/xxl-job/${spring.application.name} # 执行器运行日志文件存储磁盘路径 # 执行器运行日志文件存储磁盘路径 [选填] :需要对该路径拥有读写权限;为空则使用默认路径; + #accessToken: default_token + logretentiondays: 30 # 执行器日志文件保存天数 [选填] : 过期日志自动清理, 限制值大于等于3时生效; 否则, 如-1, 关闭自动清理功能; --- #################### 服务保障相关配置 #################### # Lock4j 配置项 diff --git a/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/comment/WorkLogCommentMapper.xml b/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/comment/WorkLogCommentMapper.xml new file mode 100644 index 00000000..0ab17dbb --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/comment/WorkLogCommentMapper.xml @@ -0,0 +1,52 @@ + + + + + + + + \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/worklog/WorkLogFormMapper.xml b/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/worklog/WorkLogFormMapper.xml new file mode 100644 index 00000000..f5075dfb --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/worklog/WorkLogFormMapper.xml @@ -0,0 +1,13 @@ + + + + + + + + \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/worklog/WorkLogUseMapper.xml b/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/worklog/WorkLogUseMapper.xml new file mode 100644 index 00000000..d5c35f5d --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/worklog/WorkLogUseMapper.xml @@ -0,0 +1,18 @@ + + + + + + + + + \ No newline at end of file