模糊查询

This commit is contained in:
tortoise 2024-08-23 23:45:06 +08:00
parent 5b9e835108
commit 4a72ee2e53
8 changed files with 80 additions and 10 deletions

View File

@ -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<User> users = userService.selectAll();
return Result.success(users);
}
}
/**
request.setAttribute();lUsers();

View File

@ -36,7 +36,7 @@ RecordController {
@Autowired
RecordService recordService;
@Autowired
UserService UserService;
UserService userService;
@Autowired
RoleService roleService;
@Autowired
@ -72,12 +72,9 @@ RecordController {
List<Record> 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<List<RecordDto>> 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<Record> records=recordService.getRecordsLike(page,size,s1,userGroup,grade);
List<RecordDto> RecordDtos = new ArrayList<>();
for (Record record : records) {
RecordDto RecordDto = modelMapper.map(record, RecordDto.class);
RecordDtos.add(RecordDto);
}
return Result.success(RecordDtos);
}
}

View File

@ -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<Record> 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({
"<script>",
"SELECT * FROM record WHERE 1=1",
"<if test='studentId != null '>",
"AND student_id = #{studentId}",
"</if>",
"<if test='userGroup != null and userGroup.trim() != \"\"'>",
"AND user_group LIKE CONCAT('%', #{userGroup}, '%')",
"</if>",
"<if test='grade != null and grade.trim() != \"\"'>",
"AND grade LIKE CONCAT('%', #{grade}, '%')",
"</if>",
"LIMIT #{size}, #{page}",
"</script>"
})
List<Record> getRecordsLike(
@Param("size") int size,
@Param("page") int page,
@Param("studentId") Integer studentId,
@Param("userGroup") String userGroup,
@Param("grade") String grade
);
}

View File

@ -56,5 +56,11 @@ public interface RoleMapper {
@Select("SELECT role_name FROM role WHERE role_id=#{roleId}")
List<String> 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);
}

View File

@ -76,4 +76,6 @@ public interface UserMapper extends BaseMapper<User> {
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);
}

View File

@ -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<Record> getRecordsLike(int page, int size, Integer studentId, String userGroup, String grade) {
return recordMapper.getRecordsLike(page, size, studentId, userGroup,grade);
}
}

View File

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

View File

@ -167,4 +167,9 @@ public class UserService {
public List<Role> selectRolesById(Integer studentId) {
return roleMapper.selectRolesById(studentId);
}
public Integer selectStudentIdByUserId(Integer userId) {
return userMapper.selectStudentIdByUserId(userId);
}
}