添加菜单数据权限

dev
zhangyue 2026-03-06 13:43:09 +08:00
parent 47f3291b6d
commit ef8d2fab4d
9 changed files with 65 additions and 12 deletions

View File

@ -36,6 +36,7 @@ public class ClassPageQry extends PageQuery {
private String phone; private String phone;
private String signFlag; private String signFlag;
private String examination; private String examination;
private String menuPath;
} }

View File

@ -31,5 +31,6 @@ public class StudentPageQry extends PageQuery {
private String likeClassName; private String likeClassName;
private Integer state; private Integer state;
private String phone; private String phone;
private String menuPath;
} }

View File

@ -1,8 +1,14 @@
package com.zcloud.edu.persistence.mapper.archives; package com.zcloud.edu.persistence.mapper.archives;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.jjb.saas.framework.datascope.annotation.DataScope;
import com.jjb.saas.framework.datascope.annotation.DataScopes;
import com.zcloud.edu.persistence.dataobject.archives.ArchivesPdfFileDO; import com.zcloud.edu.persistence.dataobject.archives.ArchivesPdfFileDO;
import com.zcloud.edu.persistence.dataobject.study.ClassDO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/** /**
* web-infrastructure * web-infrastructure
@ -11,7 +17,10 @@ import org.apache.ibatis.annotations.Mapper;
* @Date 2026-02-02 10:32:42 * @Date 2026-02-02 10:32:42
*/ */
@Mapper @Mapper
@DataScopes({
@DataScope(method = "listPage", menuPerms = "")
})
public interface ArchivesPdfFileMapper extends BaseMapper<ArchivesPdfFileDO> { public interface ArchivesPdfFileMapper extends BaseMapper<ArchivesPdfFileDO> {
IPage<ArchivesPdfFileDO> listPage(IPage<ArchivesPdfFileDO> page, @Param("ew") QueryWrapper<ArchivesPdfFileDO> queryWrapper, @Param("menuPerms") String menuPerms);
} }

View File

@ -3,6 +3,8 @@ package com.zcloud.edu.persistence.mapper.study;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.jjb.saas.framework.datascope.annotation.DataScope;
import com.jjb.saas.framework.datascope.annotation.DataScopes;
import com.zcloud.edu.persistence.dataobject.study.ClassDO; import com.zcloud.edu.persistence.dataobject.study.ClassDO;
import com.zcloud.edu.persistence.dataobject.study.StudentDO; import com.zcloud.edu.persistence.dataobject.study.StudentDO;
import com.zcloud.edu.persistence.mapper.po.study.ClassQuestionPO; import com.zcloud.edu.persistence.mapper.po.study.ClassQuestionPO;
@ -20,9 +22,12 @@ import java.util.Map;
* @Date 2026-01-13 14:18:12 * @Date 2026-01-13 14:18:12
*/ */
@Mapper @Mapper
@DataScopes({
@DataScope(method = "listPage", menuPerms = "")
})
public interface ClassMapper extends BaseMapper<ClassDO> { public interface ClassMapper extends BaseMapper<ClassDO> {
IPage<ClassDO> listPage(IPage<ClassDO> page, @Param("ew") QueryWrapper<ClassDO> queryWrapper, String menuPerms); IPage<ClassDO> listPage(IPage<ClassDO> page, @Param("ew") QueryWrapper<ClassDO> queryWrapper,@Param("menuPerms") String menuPerms);
List<ClassDO> listStatistics(@Param("ew") QueryWrapper<ClassDO> queryWrapper, String menuPerms); List<ClassDO> listStatistics(@Param("ew") QueryWrapper<ClassDO> queryWrapper, String menuPerms);
IPage<ClassDO> listStuClassPage(IPage<ClassDO> page, @Param("params") Map<String, Object> params, String menuPerms); IPage<ClassDO> listStuClassPage(IPage<ClassDO> page, @Param("params") Map<String, Object> params, String menuPerms);

View File

@ -7,6 +7,7 @@ import com.jjb.saas.framework.auth.model.SSOUser;
import com.jjb.saas.framework.auth.utils.AuthContext; import com.jjb.saas.framework.auth.utils.AuthContext;
import com.jjb.saas.framework.repository.common.PageHelper; import com.jjb.saas.framework.repository.common.PageHelper;
import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl; import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl;
import com.zcloud.edu.domain.enums.MenuEnum;
import com.zcloud.edu.persistence.dataobject.archives.ArchivesPdfFileDO; import com.zcloud.edu.persistence.dataobject.archives.ArchivesPdfFileDO;
import com.zcloud.edu.persistence.mapper.archives.ArchivesPdfFileMapper; import com.zcloud.edu.persistence.mapper.archives.ArchivesPdfFileMapper;
import com.zcloud.edu.persistence.repository.archives.ArchivesPdfFileRepository; import com.zcloud.edu.persistence.repository.archives.ArchivesPdfFileRepository;
@ -14,6 +15,7 @@ import com.zcloud.gbscommon.utils.PageQueryHelper;
import com.zcloud.gbscommon.utils.Query; import com.zcloud.gbscommon.utils.Query;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
import java.util.Map; import java.util.Map;
@ -36,7 +38,12 @@ public class ArchivesPdfFileRepositoryImpl extends BaseRepositoryImpl<ArchivesPd
SSOUser ssoUser = AuthContext.getCurrentUser(); SSOUser ssoUser = AuthContext.getCurrentUser();
queryWrapper.eq("corpinfo_id", ssoUser.getTenantId()); queryWrapper.eq("corpinfo_id", ssoUser.getTenantId());
queryWrapper.orderByDesc("create_time"); queryWrapper.orderByDesc("create_time");
IPage<ArchivesPdfFileDO> result = archivesPdfFileMapper.selectPage(iPage, queryWrapper);
String menuPerms = "";
if (!ObjectUtils.isEmpty(params.get("menuPath"))) {
menuPerms = MenuEnum.getMenuKeyByPath(params.get("menuPath").toString());
}
IPage<ArchivesPdfFileDO> result = archivesPdfFileMapper.listPage(iPage, queryWrapper, menuPerms);
return PageHelper.pageToResponse(result, result.getRecords()); return PageHelper.pageToResponse(result, result.getRecords());
} }
} }

View File

@ -51,7 +51,7 @@ public class ClassRepositoryImpl extends BaseRepositoryImpl<ClassMapper, ClassDO
QueryWrapper<ClassDO> queryWrapper = new QueryWrapper<>(); QueryWrapper<ClassDO> queryWrapper = new QueryWrapper<>();
queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, params,"c."); queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, params,"c.");
queryWrapper.orderByAsc("c.state").orderByDesc("c.create_time");
queryWrapper.eq("c.delete_enum","FALSE"); queryWrapper.eq("c.delete_enum","FALSE");

View File

@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.jjb.saas.framework.repository.common.PageHelper; import com.jjb.saas.framework.repository.common.PageHelper;
import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl; import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl;
import com.zcloud.edu.domain.enums.MenuEnum;
import com.zcloud.edu.persistence.dataobject.study.ClassDO; import com.zcloud.edu.persistence.dataobject.study.ClassDO;
import com.zcloud.edu.persistence.dataobject.study.StudentDO; import com.zcloud.edu.persistence.dataobject.study.StudentDO;
import com.zcloud.edu.persistence.mapper.po.study.StudentCountPO; import com.zcloud.edu.persistence.mapper.po.study.StudentCountPO;
@ -43,10 +44,14 @@ public class StudentRepositoryImpl extends BaseRepositoryImpl<StudentMapper, Stu
@Override @Override
public PageResponse<StudentDO> personnelFileListPage(Map<String, Object> params) { public PageResponse<StudentDO> personnelFileListPage(Map<String, Object> params) {
IPage<StudentDO> iPage = new Query<StudentDO>().getPage(params); IPage<StudentDO> iPage = new Query<StudentDO>().getPage(params);
QueryWrapper<StudentDO> queryWrapper = new QueryWrapper<>(); // QueryWrapper<StudentDO> queryWrapper = new QueryWrapper<>();
queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, params); // queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, params);
queryWrapper.orderByDesc("create_time"); // queryWrapper.orderByDesc("create_time");
IPage<StudentDO> result = studentMapper.selectPage(iPage, queryWrapper); String menuPerms = "";
if (!org.springframework.util.ObjectUtils.isEmpty(params.get("menuPath"))){
menuPerms = MenuEnum.getMenuKeyByPath(params.get("menuPath").toString());
}
IPage<StudentDO> result = studentMapper.personnelFileListPage(iPage, params, menuPerms);
return PageHelper.pageToResponse(result, result.getRecords()); return PageHelper.pageToResponse(result, result.getRecords());
} }

View File

@ -4,5 +4,15 @@
<mapper namespace="com.zcloud.edu.persistence.mapper.archives.ArchivesPdfFileMapper"> <mapper namespace="com.zcloud.edu.persistence.mapper.archives.ArchivesPdfFileMapper">
<select id="listPage" resultType="com.zcloud.edu.persistence.dataobject.archives.ArchivesPdfFileDO">
select
*
from archives_pdf_file
where
delete_enum = 'FALSE'
<if test="ew != null and ew.sqlSegment != null and ew.sqlSegment != ''">
AND ${ew.sqlSegment}
</if>
</select>
</mapper> </mapper>

View File

@ -83,7 +83,7 @@
c.corpinfo_id, c.corpinfo_id,
ci.corp_name, ci.corp_name,
CASE CASE
WHEN state = 1 THEN 1 WHEN c.state = 1 THEN 1
<![CDATA[ <![CDATA[
WHEN NOW() < c.start_time THEN 2 WHEN NOW() < c.start_time THEN 2
WHEN NOW() < c.end_time THEN 3 WHEN NOW() < c.end_time THEN 3
@ -100,9 +100,17 @@
left join training_type t on t.training_type_id = c.train_type left join training_type t on t.training_type_id = c.train_type
left join corp_info ci on ci.id = c.corpinfo_id left join corp_info ci on ci.id = c.corpinfo_id
left join user u on u.id = c.teacher_id left join user u on u.id = c.teacher_id
${ew.customSqlSegment} <if test="menuPerms != null and menuPerms != null and menuPerms != '' and menuPerms = 'xgfd-yqyd'">
left join student s on s.class_id = c.class_id and s.delete_enum = 'FALSE'
</if>
where c.delete_enum = 'FALSE'
<if test="ew != null and ew.sqlSegment != null and ew.sqlSegment != ''">
AND ${ew.sqlSegment}
</if>
group by c.id
ORDER BY c.state ASC, c.create_time DESC
</select> </select>
<!-- ${ew.customSqlSegment} */ -->
<select id="listStatistics" resultType="com.zcloud.edu.persistence.dataobject.study.ClassDO"> <select id="listStatistics" resultType="com.zcloud.edu.persistence.dataobject.study.ClassDO">
SELECT SELECT
c.class_id, c.class_id,
@ -128,7 +136,14 @@
c.training_location, c.training_location,
c.corpinfo_id, c.corpinfo_id,
ci.corp_name, ci.corp_name,
c.state, CASE
WHEN c.state = 1 THEN 1
<![CDATA[
WHEN NOW() < c.start_time THEN 2
WHEN NOW() < c.end_time THEN 3
WHEN NOW() > c.end_time THEN 4
]]>
END AS state,
c.valid_start_time, c.valid_start_time,
c.valid_end_time, c.valid_end_time,
c.examination, c.examination,