Ver código fonte

教师获奖统计pc接口

dzx 1 ano atrás
pai
commit
b01660757b

+ 45 - 0
src/main/java/com/xjrsoft/module/teacher/controller/TeacherAwardController.java

@@ -0,0 +1,45 @@
+package com.xjrsoft.module.teacher.controller;
+
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.xjrsoft.common.model.result.RT;
+import com.xjrsoft.common.page.ConventPage;
+import com.xjrsoft.common.page.PageOutput;
+import com.xjrsoft.module.teacher.dto.TeacherAwardStatisticsPageDto;
+import com.xjrsoft.module.teacher.service.ITeacherAwardItemService;
+import com.xjrsoft.module.teacher.vo.TeacherAwardStatisticsPageVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.validation.Valid;
+
+/**
+* @title: 教师奖项
+* @Author dzx
+* @Date: 2024-06-04
+* @Version 1.0
+*/
+@RestController
+@RequestMapping("/teacher" + "/teacherAward")
+@Api(value = "/teacher"  + "/teacherAward",tags = "教师获奖代码")
+@AllArgsConstructor
+public class TeacherAwardController {
+
+
+    private final ITeacherAwardItemService teacherAwardItemService;
+
+    @GetMapping(value = "/statistics-page")
+    @ApiOperation(value="教师获奖统计")
+    @SaCheckPermission("teacheraward:detail")
+    public RT<PageOutput<TeacherAwardStatisticsPageVo>> page(@Valid TeacherAwardStatisticsPageDto dto){
+
+        Page<TeacherAwardStatisticsPageVo> voPage = teacherAwardItemService.getStatisticsPage(new Page<>(dto.getLimit(), dto.getSize()), dto);
+        PageOutput<TeacherAwardStatisticsPageVo> pageOutput = ConventPage.getPageOutput(voPage, TeacherAwardStatisticsPageVo.class);
+        return RT.ok(pageOutput);
+    }
+
+}

+ 24 - 0
src/main/java/com/xjrsoft/module/teacher/dto/TeacherAwardStatisticsPageDto.java

@@ -0,0 +1,24 @@
+package com.xjrsoft.module.teacher.dto;
+
+import com.xjrsoft.common.page.PageInput;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+
+/**
+* @title: 教师奖项分页查询入参
+* @Author dzx
+* @Date: 2024-06-04
+* @Version 1.0
+*/
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class TeacherAwardStatisticsPageDto extends PageInput {
+
+    @ApiModelProperty(value = "用户名")
+    private String userName;
+
+    @ApiModelProperty(value = "姓名")
+    private String name;
+}

+ 5 - 0
src/main/java/com/xjrsoft/module/teacher/mapper/TeacherAwardItemMapper.java

@@ -1,8 +1,12 @@
 package com.xjrsoft.module.teacher.mapper;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.yulichang.base.MPJBaseMapper;
+import com.xjrsoft.module.teacher.dto.TeacherAwardStatisticsPageDto;
 import com.xjrsoft.module.teacher.entity.TeacherAwardItem;
+import com.xjrsoft.module.teacher.vo.TeacherAwardStatisticsPageVo;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 
 /**
 * @title: 教师奖项
@@ -13,4 +17,5 @@ import org.apache.ibatis.annotations.Mapper;
 @Mapper
 public interface TeacherAwardItemMapper extends MPJBaseMapper<TeacherAwardItem> {
 
+    Page<TeacherAwardStatisticsPageVo> getStatisticsPage(Page<TeacherAwardStatisticsPageVo> page, @Param("dto") TeacherAwardStatisticsPageDto dto);
 }

+ 6 - 0
src/main/java/com/xjrsoft/module/teacher/service/ITeacherAwardItemService.java

@@ -1,7 +1,11 @@
 package com.xjrsoft.module.teacher.service;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.yulichang.base.MPJBaseService;
+import com.xjrsoft.module.room.dto.RoomBedPageDto;
+import com.xjrsoft.module.teacher.dto.TeacherAwardStatisticsPageDto;
 import com.xjrsoft.module.teacher.entity.TeacherAwardItem;
+import com.xjrsoft.module.teacher.vo.TeacherAwardStatisticsPageVo;
 
 /**
 * @title: 教师奖项
@@ -11,4 +15,6 @@ import com.xjrsoft.module.teacher.entity.TeacherAwardItem;
 */
 
 public interface ITeacherAwardItemService extends MPJBaseService<TeacherAwardItem> {
+
+    Page<TeacherAwardStatisticsPageVo> getStatisticsPage(Page<TeacherAwardStatisticsPageVo> page, TeacherAwardStatisticsPageDto dto);
 }

+ 8 - 0
src/main/java/com/xjrsoft/module/teacher/service/impl/TeacherAwardItemServiceImpl.java

@@ -1,9 +1,12 @@
 package com.xjrsoft.module.teacher.service.impl;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.yulichang.base.MPJBaseServiceImpl;
+import com.xjrsoft.module.teacher.dto.TeacherAwardStatisticsPageDto;
 import com.xjrsoft.module.teacher.entity.TeacherAwardItem;
 import com.xjrsoft.module.teacher.mapper.TeacherAwardItemMapper;
 import com.xjrsoft.module.teacher.service.ITeacherAwardItemService;
+import com.xjrsoft.module.teacher.vo.TeacherAwardStatisticsPageVo;
 import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
 
@@ -16,4 +19,9 @@ import org.springframework.stereotype.Service;
 @Service
 @AllArgsConstructor
 public class TeacherAwardItemServiceImpl extends MPJBaseServiceImpl<TeacherAwardItemMapper, TeacherAwardItem> implements ITeacherAwardItemService {
+    @Override
+    public Page<TeacherAwardStatisticsPageVo> getStatisticsPage(Page<TeacherAwardStatisticsPageVo> page, TeacherAwardStatisticsPageDto dto) {
+
+        return this.baseMapper.getStatisticsPage(page, dto);
+    }
 }

+ 51 - 0
src/main/java/com/xjrsoft/module/teacher/vo/TeacherAwardStatisticsPageVo.java

@@ -0,0 +1,51 @@
+package com.xjrsoft.module.teacher.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+* @title: 教师奖项分页列表出参
+* @Author dzx
+* @Date: 2024-06-04
+* @Version 1.0
+*/
+@Data
+public class TeacherAwardStatisticsPageVo {
+
+    /**
+    * 
+    */
+    @ApiModelProperty("用户id")
+    private Long id;
+    /**
+    * 
+    */
+    @ApiModelProperty("用户名")
+    private String userName;
+    /**
+    * 
+    */
+    @ApiModelProperty("姓名")
+    private String name;
+    /**
+    * 
+    */
+    @ApiModelProperty("编号")
+    private String code;
+    /**
+    * 
+    */
+    @ApiModelProperty("性别")
+    private String genderCn;
+    /**
+    * 
+    */
+    @ApiModelProperty("手机号")
+    private String mobile;
+    /**
+    * 
+    */
+    @ApiModelProperty("分数")
+    private Double score;
+
+}

+ 23 - 0
src/main/resources/mapper/teacher/TeacherAwardItemMapper.xml

@@ -0,0 +1,23 @@
+<?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="com.xjrsoft.module.teacher.mapper.TeacherAwardItemMapper">
+    <select id="getStatisticsPage" parameterType="com.xjrsoft.module.teacher.dto.TeacherAwardStatisticsPageDto" resultType="com.xjrsoft.module.teacher.vo.TeacherAwardStatisticsPageVo">
+        SELECT t1.id, t1.user_name, t1.name,t1.code,t3.name AS gender_cn,t1.mobile,
+        (SELECT SUM(a2.score) FROM teacher_award a1
+        INNER JOIN teacher_award_item a2 ON a1.teacher_award_item_id = a2.id
+        WHERE a1.status = 1 AND a1.delete_mark = 0 AND a2.delete_mark = 0
+        AND a1.applicant_user_id = t1.id
+        ) AS score FROM xjr_user t1
+        INNER JOIN base_teacher t2 ON t1.id = t2.user_id
+        LEFT JOIN xjr_dictionary_detail t3 ON t1.gender = t3.code
+        WHERE t1.delete_mark = 0 AND t2.delete_mark = 0
+        <if test="dto.userName != null and dto.userName != '' ">
+            t1.userName like concat('%', #{dto.userName}, '%')
+        </if>
+        <if test="dto.name != null and dto.name != '' ">
+            t1.name like concat('%', #{dto.name}, '%')
+        </if>
+    </select>
+</mapper>