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/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 41e5b23c..9e11d040 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/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..03ac58a8 --- /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,39 @@ +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 cn.iocoder.yudao.module.system.dal.dataobject.worklog.LogFormDO; +import cn.iocoder.yudao.module.system.dal.mysql.worklog.LogUseMapper; +import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; + +import javax.annotation.Resource; +import java.util.Collections; +import java.util.List; + +/** + * 工作日志统计 Service 实现类 + * + * @author 艾楷 + */ +@Service +@Validated +public class WorkLogStatisticsServiceImpl implements WorkLogStatisticsService { + @Resource + private LogFormService logFormService; + @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 = logFormService.getFormList(formIds); + + return null; + } +} \ 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