diff --git a/src/main/java/top/suyiiyii/sims/controller/AdminController.java b/src/main/java/top/suyiiyii/sims/controller/AdminController.java index 3beb4bd..d241e77 100644 --- a/src/main/java/top/suyiiyii/sims/controller/AdminController.java +++ b/src/main/java/top/suyiiyii/sims/controller/AdminController.java @@ -5,6 +5,7 @@ import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import top.suyiiyii.sims.common.Result; +import top.suyiiyii.sims.dto.RecordDto; import top.suyiiyii.sims.entity.User; import top.suyiiyii.sims.service.RoleService; import top.suyiiyii.sims.service.UserService; @@ -38,6 +39,7 @@ public class AdminController { List users = userService.selectAll(); return Result.success(users); } + } /** request.setAttribute();lUsers(); diff --git a/src/main/java/top/suyiiyii/sims/controller/RecordController.java b/src/main/java/top/suyiiyii/sims/controller/RecordController.java index 52e18ea..442c85e 100644 --- a/src/main/java/top/suyiiyii/sims/controller/RecordController.java +++ b/src/main/java/top/suyiiyii/sims/controller/RecordController.java @@ -36,7 +36,7 @@ RecordController { @Autowired RecordService recordService; @Autowired - UserService UserService; + UserService userService; @Autowired RoleService roleService; @Autowired @@ -72,12 +72,9 @@ RecordController { List records = recordService.getMyAllRecords(page, size,userId); for (Record record : records) { - RecordDto recordDto = modelMapper.map(record, RecordDto.class); - recordDto.setCategoryName(categoryService.getCategoryName(record.getCategoryId())); recordDto.setSubCategoryName(categoryService.getsubCategoryName( record.getCategoryId())); - recordDtos.add(recordDto); } return Result.success(recordDtos); @@ -113,5 +110,31 @@ RecordController { recordService.addRecord(record); return Result.msg("添加成功"); } + @Operation(summary = "模糊查询奖惩记录") + @GetMapping("/admin/likeRecords") + public Result> searchRecords( + @RequestParam(defaultValue = "0") int page, + @RequestParam(defaultValue = "10") int size, + String username,Integer studentId, String userGroup, String grade,String roleName) { + Integer s1=studentId; + if(roleName!="") { + //rolename查用户id + Integer userId = roleService.getIdByrolename(roleName); + // 用户id查记录 + s1 = userService.selectStudentIdByUserId(userId); + } + if(username!="") { + //username查用户StudentId + s1= roleService.getStudentIdByUsername(username); + } + List records=recordService.getRecordsLike(page,size,s1,userGroup,grade); + List RecordDtos = new ArrayList<>(); + for (Record record : records) { + RecordDto RecordDto = modelMapper.map(record, RecordDto.class); + RecordDtos.add(RecordDto); + } + return Result.success(RecordDtos); + + } } diff --git a/src/main/java/top/suyiiyii/sims/mapper/RecordMapper.java b/src/main/java/top/suyiiyii/sims/mapper/RecordMapper.java index a4d635d..866a3bd 100644 --- a/src/main/java/top/suyiiyii/sims/mapper/RecordMapper.java +++ b/src/main/java/top/suyiiyii/sims/mapper/RecordMapper.java @@ -1,7 +1,6 @@ package top.suyiiyii.sims.mapper; import org.apache.ibatis.annotations.*; -import top.suyiiyii.sims.dto.RecordDto; import top.suyiiyii.sims.entity.Record; import java.util.List; @@ -22,7 +21,6 @@ public interface RecordMapper { //根据学号分页查询所以信息 @Select("select * from record where student_id = #{id} limit #{page},#{size}") List getMyAllRecords(Integer page, Integer size, String id); - //根据id,更新对应信息 @Update("UPDATE record SET " @@ -39,7 +37,6 @@ public interface RecordMapper { + "last_update_time = #{record.lastUpdateTime} " + "WHERE id = #{id}") void updateRecord(Record record, Integer id); - @Delete("delete from record where id = #{id}") void deleteRecord(Integer id); @Insert({ @@ -49,4 +46,28 @@ public interface RecordMapper { "#{revokeDate}, #{revokeReason}, #{revokeRemark}, #{operatorUserId}, #{lastUpdateTime})" }) void addRecord(Record record); + + @Select({ + "" + }) + List getRecordsLike( + @Param("size") int size, + @Param("page") int page, + + @Param("studentId") Integer studentId, + @Param("userGroup") String userGroup, + @Param("grade") String grade + ); } diff --git a/src/main/java/top/suyiiyii/sims/mapper/RoleMapper.java b/src/main/java/top/suyiiyii/sims/mapper/RoleMapper.java index 6a59928..78661bf 100644 --- a/src/main/java/top/suyiiyii/sims/mapper/RoleMapper.java +++ b/src/main/java/top/suyiiyii/sims/mapper/RoleMapper.java @@ -56,5 +56,11 @@ public interface RoleMapper { @Select("SELECT role_name FROM role WHERE role_id=#{roleId}") List selectRoleNamesByRoleId(Integer roleId); - + @Select("SELECT user_id " + + "FROM user_role " + + "WHERE role_id IN " + + "(SELECT role_id FROM role WHERE role_name=#{roleName})") + Integer getIdByrolename(String roleName); +@Select("SELECT student_id FROM user WHERE username=#{username}") + Integer getStudentIdByUsername(String username); } diff --git a/src/main/java/top/suyiiyii/sims/mapper/UserMapper.java b/src/main/java/top/suyiiyii/sims/mapper/UserMapper.java index 1aef24f..b0fa039 100644 --- a/src/main/java/top/suyiiyii/sims/mapper/UserMapper.java +++ b/src/main/java/top/suyiiyii/sims/mapper/UserMapper.java @@ -76,4 +76,6 @@ public interface UserMapper extends BaseMapper { void updatePassword(User user); @Select("select student_id from user where id = #{userId}") String getStudentIdById(String userId); + @Select("SELECT student_id from user WHERE id = #{id}") + Integer selectStudentIdByUserId(Integer id); } diff --git a/src/main/java/top/suyiiyii/sims/service/RecordService.java b/src/main/java/top/suyiiyii/sims/service/RecordService.java index 2afc0b7..5b0fde2 100644 --- a/src/main/java/top/suyiiyii/sims/service/RecordService.java +++ b/src/main/java/top/suyiiyii/sims/service/RecordService.java @@ -1,10 +1,9 @@ package top.suyiiyii.sims.service; -import org.checkerframework.checker.units.qual.A; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import top.suyiiyii.sims.dto.RecordDto; + import top.suyiiyii.sims.entity.Record; import top.suyiiyii.sims.mapper.RecordMapper; import top.suyiiyii.sims.mapper.UserMapper; @@ -48,4 +47,8 @@ public class RecordService { public void addRecord(Record record) { recordMapper.addRecord(record); } + + public List getRecordsLike(int page, int size, Integer studentId, String userGroup, String grade) { + return recordMapper.getRecordsLike(page, size, studentId, userGroup,grade); + } } diff --git a/src/main/java/top/suyiiyii/sims/service/RoleService.java b/src/main/java/top/suyiiyii/sims/service/RoleService.java index e019e88..88dd9e6 100644 --- a/src/main/java/top/suyiiyii/sims/service/RoleService.java +++ b/src/main/java/top/suyiiyii/sims/service/RoleService.java @@ -49,4 +49,12 @@ public class RoleService { } return false; } + + public Integer getIdByrolename(String roleName) { + return roleMapper.getIdByrolename(roleName); + } + + public Integer getStudentIdByUsername(String username) { + return roleMapper.getStudentIdByUsername(username); + } } diff --git a/src/main/java/top/suyiiyii/sims/service/UserService.java b/src/main/java/top/suyiiyii/sims/service/UserService.java index f870e76..6e8daf0 100644 --- a/src/main/java/top/suyiiyii/sims/service/UserService.java +++ b/src/main/java/top/suyiiyii/sims/service/UserService.java @@ -167,4 +167,9 @@ public class UserService { public List selectRolesById(Integer studentId) { return roleMapper.selectRolesById(studentId); } + + + public Integer selectStudentIdByUserId(Integer userId) { + return userMapper.selectStudentIdByUserId(userId); + } }