我管理的 日志模版

This commit is contained in:
aikai 2024-04-12 16:32:10 +08:00
parent d44a67ebbe
commit deb82927d4
9 changed files with 185 additions and 3 deletions

View File

@ -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<List<WorkLogStatisticsModelVO>> myManageModel(@ModelAttribute WorkLogStatisticsModelDTO dto) {
return success(workLogStatisticsService.myManageModel(dto));
}
// @PutMapping("/update")
// @Operation(summary = "更新动态表单")
// @PreAuthorize("@ss.hasPermission('worklog:form:update')")
// public CommonResult<Boolean> updateForm(@Valid @RequestBody LogFormUpdateReqVO updateReqVO) {
// formService.updateForm(updateReqVO);
// return success(true);
// }
}

View File

@ -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;
}

View File

@ -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 {
}

View File

@ -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<LogFormDO> {

View File

@ -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<LogUseDO> {
/**
* 通过数据权限获取日志模版ids
*
* @return
*/
List<Long> getFormIdsByDataPermission();
}

View File

@ -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<WorkLogStatisticsModelVO> myManageModel(WorkLogStatisticsModelDTO dto);
}

View File

@ -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<WorkLogStatisticsModelVO> myManageModel(WorkLogStatisticsModelDTO dto) {
//获取模版ids - 当前登录用户的数据权限 查看日志模板使用者表
// TODO: 2024/4/12 这里要测试下 数据权限问题
List<Long> formIds = logUseMapper.getFormIdsByDataPermission();
if (!formIds.isEmpty()) {
return Collections.emptyList();
}
List<LogFormDO> formList = logFormService.getFormList(formIds);
return null;
}
}

View File

@ -0,0 +1,13 @@
<?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="cn.iocoder.yudao.module.system.dal.mysql.worklog.LogFormMapper">
<!--
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
文档可见https://www.iocoder.cn/MyBatis/x-plugins/
-->
</mapper>

View File

@ -0,0 +1,18 @@
<?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="cn.iocoder.yudao.module.system.dal.mysql.worklog.LogUseMapper">
<!--
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
文档可见https://www.iocoder.cn/MyBatis/x-plugins/
-->
<select id="getFormIdsByDataPermission" resultType="java.lang.Long">
select
DISTINCT form_id
from work_log_use
</select>
</mapper>