龚焕茏
2024-05-16 e7b5aded4049f9b315f252a26252927aca5bdaae
feat:部门管理员功能权限控制
19个文件已修改
149 ■■■■ 已修改文件
src/main/java/com/mindskip/xzs/controller/admin/DashboardController.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mindskip/xzs/controller/admin/ExamPaperController.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mindskip/xzs/repository/ExamPaperAnswerMapper.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mindskip/xzs/repository/ExamPaperMapper.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mindskip/xzs/repository/ExamPaperQuestionCustomerAnswerMapper.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mindskip/xzs/repository/UserEventLogMapper.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mindskip/xzs/service/ExamPaperAnswerService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mindskip/xzs/service/ExamPaperQuestionCustomerAnswerService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mindskip/xzs/service/ExamPaperService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mindskip/xzs/service/UserEventLogService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mindskip/xzs/service/impl/ExamPaperAnswerServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mindskip/xzs/service/impl/ExamPaperQuestionCustomerAnswerServiceImpl.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mindskip/xzs/service/impl/ExamPaperServiceImpl.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mindskip/xzs/service/impl/UserEventLogServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mindskip/xzs/viewmodel/admin/exam/ExamPaperPageRequestVM.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/ExamPaperAnswerMapper.xml 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/ExamPaperMapper.xml 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/ExamPaperQuestionCustomerAnswerMapper.xml 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/UserEventLogMapper.xml 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mindskip/xzs/controller/admin/DashboardController.java
@@ -35,18 +35,19 @@
    public RestResponse<IndexVM> Index() {
        IndexVM vm = new IndexVM();
        Integer examPaperCount = examPaperService.selectAllCount();
        List<Integer> deptIds = getAdminDeptIds();
        Integer examPaperCount = examPaperService.selectAllCount(deptIds);
        Integer questionCount = questionService.selectAllCount();
        Integer doExamPaperCount = examPaperAnswerService.selectAllCount();
        Integer doQuestionCount = examPaperQuestionCustomerAnswerService.selectAllCount();
        Integer doExamPaperCount = examPaperAnswerService.selectAllCount(deptIds);
        Integer doQuestionCount = examPaperQuestionCustomerAnswerService.selectAllCount(deptIds);
        vm.setExamPaperCount(examPaperCount);
        vm.setQuestionCount(questionCount);
        vm.setDoExamPaperCount(doExamPaperCount);
        vm.setDoQuestionCount(doQuestionCount);
        List<Integer> mothDayUserActionValue = userEventLogService.selectMothCount();
        List<Integer> mothDayDoExamQuestionValue = examPaperQuestionCustomerAnswerService.selectMothCount();
        List<Integer> mothDayUserActionValue = userEventLogService.selectMothCount(deptIds);
        List<Integer> mothDayDoExamQuestionValue = examPaperQuestionCustomerAnswerService.selectMothCount(deptIds);
        vm.setMothDayUserActionValue(mothDayUserActionValue);
        vm.setMothDayDoExamQuestionValue(mothDayDoExamQuestionValue);
src/main/java/com/mindskip/xzs/controller/admin/ExamPaperController.java
@@ -25,7 +25,9 @@
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
@RestController("AdminExamPaperController")
@RequestMapping(value = "/api/admin/exam/paper")
@@ -46,6 +48,10 @@
    @RequestMapping(value = "/page", method = RequestMethod.POST)
    public RestResponse<PageInfo<ExamResponseVM>> pageList(@RequestBody ExamPaperPageRequestVM model) {
        model.setDeptIds(isDeptAdmin() ? getAdminDeptIds() : null);
        if (Objects.nonNull(model.getLevel())) {
            model.setDeptIds(Collections.singletonList(model.getLevel()));
        }
        model.setType("0");
        PageInfo<ExamPaper> pageInfo = examPaperService.page(model);
        PageInfo<ExamResponseVM> page = PageInfoHelper.copyMap(pageInfo, e -> {
@@ -126,6 +132,7 @@
    @RequestMapping(value = "/list", method = RequestMethod.GET)
    public RestResponse<List<ExamPaper>> list() {
        return RestResponse.ok(examPaperService.list());
        List<Integer> deptIds = isDeptAdmin() ? getAdminDeptIds() : null;
        return RestResponse.ok(examPaperService.list(deptIds));
    }
}
src/main/java/com/mindskip/xzs/repository/ExamPaperAnswerMapper.java
@@ -22,7 +22,7 @@
    List<ExamPaperAnswer> studentPage(ExamPaperAnswerPageVM requestVM);
    Integer selectAllCount();
    Integer selectAllCount(List<Integer> deptIds);
    List<KeyValue> selectCountByDate(@Param("startTime") Date startTime, @Param("endTime") Date endTime);
src/main/java/com/mindskip/xzs/repository/ExamPaperMapper.java
@@ -24,7 +24,7 @@
    List<PaperInfo> indexPaper(PaperFilter paperFilter);
    Integer selectAllCount();
    Integer selectAllCount(List<Integer> deptIds);
    List<KeyValue> selectCountByDate(@Param("startTime") Date startTime, @Param("endTime") Date endTime);
@@ -38,5 +38,5 @@
    List<PaperExcelVO> getPaperExcelById(@Param("id") Integer id);
    List<ExamPaper> list();
    List<ExamPaper> list(List<Integer> deptIds);
}
src/main/java/com/mindskip/xzs/repository/ExamPaperQuestionCustomerAnswerMapper.java
@@ -19,9 +19,9 @@
    int insertList(List<ExamPaperQuestionCustomerAnswer> list);
    Integer selectAllCount();
    Integer selectAllCount(List<Integer> deptIds);
    List<KeyValue> selectCountByDate(@Param("startTime") Date startTime, @Param("endTime") Date endTime);
    List<KeyValue> selectCountByDate(@Param("startTime") Date startTime, @Param("endTime") Date endTime, @Param("deptIds") List<Integer> deptIds);
    int updateScore(List<ExamPaperAnswerUpdate> examPaperAnswerUpdates);
}
src/main/java/com/mindskip/xzs/repository/UserEventLogMapper.java
@@ -16,5 +16,5 @@
    List<UserEventLog> page(UserEventPageRequestVM requestVM);
    List<KeyValue> selectCountByDate(@Param("startTime") Date startTime, @Param("endTime") Date endTime);
    List<KeyValue> selectCountByDate(@Param("startTime") Date startTime, @Param("endTime") Date endTime, @Param("deptIds") List<Integer> deptIds);
}
src/main/java/com/mindskip/xzs/service/ExamPaperAnswerService.java
@@ -47,7 +47,7 @@
    ExamPaperSubmitVM examPaperAnswerToVM(Integer id);
    Integer selectAllCount();
    Integer selectAllCount(List<Integer> deptIds);
    List<Integer> selectMothCount();
src/main/java/com/mindskip/xzs/service/ExamPaperQuestionCustomerAnswerService.java
@@ -30,9 +30,9 @@
    ExamPaperSubmitItemVM examPaperQuestionCustomerAnswerToVM(ExamPaperQuestionCustomerAnswer qa);
    Integer selectAllCount();
    Integer selectAllCount(List<Integer> deptIds);
    List<Integer> selectMothCount();
    List<Integer> selectMothCount(List<Integer> deptIds);
    int updateScore(List<ExamPaperAnswerUpdate> examPaperAnswerUpdates);
}
src/main/java/com/mindskip/xzs/service/ExamPaperService.java
@@ -27,7 +27,7 @@
    List<PaperInfo> indexPaper(PaperFilter paperFilter);
    Integer selectAllCount();
    Integer selectAllCount(List<Integer> deptIds);
    List<Integer> selectMothCount();
@@ -39,5 +39,5 @@
    void missExam(ExamPaperEditRequestVM model);
    List<ExamPaper> list();
    List<ExamPaper> list(List<Integer> deptIds);
}
src/main/java/com/mindskip/xzs/service/UserEventLogService.java
@@ -12,5 +12,5 @@
    PageInfo<UserEventLog> page(UserEventPageRequestVM requestVM);
    List<Integer> selectMothCount();
    List<Integer> selectMothCount(List<Integer> deptIds);
}
src/main/java/com/mindskip/xzs/service/impl/ExamPaperAnswerServiceImpl.java
@@ -161,8 +161,8 @@
    }
    @Override
    public Integer selectAllCount() {
        return examPaperAnswerMapper.selectAllCount();
    public Integer selectAllCount(List<Integer> deptIds) {
        return examPaperAnswerMapper.selectAllCount(deptIds);
    }
    @Override
src/main/java/com/mindskip/xzs/service/impl/ExamPaperQuestionCustomerAnswerServiceImpl.java
@@ -68,15 +68,15 @@
    }
    @Override
    public Integer selectAllCount() {
        return examPaperQuestionCustomerAnswerMapper.selectAllCount();
    public Integer selectAllCount(List<Integer> deptIds) {
        return examPaperQuestionCustomerAnswerMapper.selectAllCount(deptIds);
    }
    @Override
    public List<Integer> selectMothCount() {
    public List<Integer> selectMothCount(List<Integer> deptIds) {
        Date startTime = DateTimeUtil.getMonthStartDay();
        Date endTime = DateTimeUtil.getMonthEndDay();
        List<KeyValue> mouthCount = examPaperQuestionCustomerAnswerMapper.selectCountByDate(startTime, endTime);
        List<KeyValue> mouthCount = examPaperQuestionCustomerAnswerMapper.selectCountByDate(startTime, endTime, deptIds);
        List<String> mothStartToNowFormat = DateTimeUtil.MothStartToNowFormat();
        return mothStartToNowFormat.stream().map(md -> {
            KeyValue keyValue = mouthCount.stream().filter(kv -> kv.getName().equals(md)).findAny().orElse(null);
src/main/java/com/mindskip/xzs/service/impl/ExamPaperServiceImpl.java
@@ -221,8 +221,8 @@
    @Override
    public Integer selectAllCount() {
        return examPaperMapper.selectAllCount();
    public Integer selectAllCount(List<Integer> deptIds) {
        return examPaperMapper.selectAllCount(deptIds);
    }
    @Override
@@ -622,7 +622,7 @@
    }
    @Override
    public List<ExamPaper> list() {
        return examPaperMapper.list();
    public List<ExamPaper> list(List<Integer> deptIds) {
        return examPaperMapper.list(deptIds);
    }
}
src/main/java/com/mindskip/xzs/service/impl/UserEventLogServiceImpl.java
@@ -40,10 +40,10 @@
    @Override
    public List<Integer> selectMothCount() {
    public List<Integer> selectMothCount(List<Integer> deptIds) {
        Date startTime = DateTimeUtil.getMonthStartDay();
        Date endTime = DateTimeUtil.getMonthEndDay();
        List<KeyValue> mouthCount = userEventLogMapper.selectCountByDate(startTime, endTime);
        List<KeyValue> mouthCount = userEventLogMapper.selectCountByDate(startTime, endTime, deptIds);
        List<String> mothStartToNowFormat = DateTimeUtil.MothStartToNowFormat();
        return mothStartToNowFormat.stream().map(md -> {
            KeyValue keyValue = mouthCount.stream().filter(kv -> kv.getName().equals(md)).findAny().orElse(null);
src/main/java/com/mindskip/xzs/viewmodel/admin/exam/ExamPaperPageRequestVM.java
@@ -1,7 +1,8 @@
package com.mindskip.xzs.viewmodel.admin.exam;
import com.mindskip.xzs.base.BasePage;
import io.swagger.models.auth.In;
import java.util.List;
public class ExamPaperPageRequestVM extends BasePage {
@@ -18,6 +19,16 @@
    private Integer templatesId;
    private String status;
    private List<Integer> deptIds;
    public List<Integer> getDeptIds() {
        return deptIds;
    }
    public void setDeptIds(List<Integer> deptIds) {
        this.deptIds = deptIds;
    }
    public Integer getId() {
        return id;
    }
src/main/resources/mapper/ExamPaperAnswerMapper.xml
@@ -257,7 +257,17 @@
  <select id="selectAllCount"  resultType="java.lang.Integer">
        SELECT count(*) from t_exam_paper_answer
        select count(*) from t_exam_paper_answer a
        inner join
        (select user_id from t_user_department
        <where>
            and department_id in
            <foreach collection="deptIds" item="item" open="(" separator="," close=")">
                #{item}
            </foreach>
        </where>
        group by user_id)
        b on a.create_user = b.user_id
  </select>
src/main/resources/mapper/ExamPaperMapper.xml
@@ -258,15 +258,14 @@
    SELECT
    e.*
    FROM t_exam_paper e
    left join t_exam_paper_department d on e.id = d.exam_paper_id
    left join t_exam_paper_subject s on e.id = s.exam_paper_id
    <where>
        and e.deleted=0
      <if test="id != null ">
        and e.id= #{id}
      </if>
      <if test="level != null ">
        and d.department_id= #{level} and d.deleted = 0
      <if test="deptIds != null and deptIds.size() > 0">
        and e.dept_id in <foreach collection="deptIds" item="item" open="(" separator="," close=")"> #{item} </foreach>
      </if>
      <if test="subjectId != null ">
        and s.subject_id= #{subjectId} and s.deleted = 0
@@ -378,6 +377,12 @@
  <select id="selectAllCount"  resultType="java.lang.Integer">
        SELECT count(*) from t_exam_paper where deleted=0
        <if test="deptIds != null and deptIds.size() > 0">
          and dept_id in
          <foreach collection="deptIds" item="item" open="(" close=")" separator=",">
            #{item}
          </foreach>
        </if>
    </select>
  <select id="selectCountByDate"  resultType="com.mindskip.xzs.domain.other.KeyValue">
@@ -434,7 +439,14 @@
  </select>
    <select id="list" resultType="com.mindskip.xzs.domain.ExamPaper">
    select id, name from t_exam_paper order by create_time desc
    select id, name from t_exam_paper
    <if test="deptIds != null and deptIds.size() > 0">
    where dept_id in
    <foreach collection="deptIds" item="item" open="(" separator="," close=")">
        #{item}
    </foreach>
    </if>
    order by create_time desc
    </select>
</mapper>
src/main/resources/mapper/ExamPaperQuestionCustomerAnswerMapper.xml
@@ -258,14 +258,34 @@
  <select id="selectAllCount"  resultType="java.lang.Integer">
        SELECT count(*) from t_exam_paper_question_customer_answer
        SELECT count(*) from t_exam_paper_question_customer_answer a
        inner join
        (select user_id from t_user_department
        <where>
          and department_id in
          <foreach collection="deptIds" item="item" open="(" separator="," close=")">
            #{item}
          </foreach>
        </where>
        group by user_id)
        b on a.create_user = b.user_id
  </select>
  <select id="selectCountByDate"  resultType="com.mindskip.xzs.domain.other.KeyValue">
        SELECT create_time as name,COUNT(create_time) as value from
                (
                  SELECT DATE_FORMAT(create_time,'%Y-%m-%d') as create_time from t_exam_paper_question_customer_answer
                  SELECT DATE_FORMAT(create_time,'%Y-%m-%d') as create_time from t_exam_paper_question_customer_answer a
                  inner join
                  (select user_id from t_user_department
                  <where>
                    and department_id in
                    <foreach collection="deptIds" item="item" open="(" separator="," close=")">
                      #{item}
                    </foreach>
                  </where>
                  group by user_id)
                  b on a.create_user = b.user_id
                    WHERE  create_time  between  #{startTime}  and  #{endTime}
                ) a
        GROUP BY create_time
src/main/resources/mapper/UserEventLogMapper.xml
@@ -136,7 +136,17 @@
  <select id="selectCountByDate"  resultType="com.mindskip.xzs.domain.other.KeyValue">
        SELECT create_time as name,COUNT(create_time) as value from
                (
                  SELECT DATE_FORMAT(create_time,'%Y-%m-%d') as create_time from t_user_event_log
                  SELECT DATE_FORMAT(create_time,'%Y-%m-%d') as create_time from t_user_event_log a
                  inner join
                  (select user_id from t_user_department
                  <where>
                    and department_id in
                    <foreach collection="deptIds" item="item" open="(" separator="," close=")">
                      #{item}
                    </foreach>
                  </where>
                  group by user_id)
                  b on a.user_id = b.user_id
                    WHERE  create_time  between  #{startTime}  and  #{endTime}
                ) a
        GROUP BY create_time