commit
2a42c9de00
23 changed files with 472 additions and 55 deletions
@ -0,0 +1,72 @@ |
|||||||
|
package com.teaching.backend.controller.umsAdmin; |
||||||
|
|
||||||
|
import com.teaching.backend.common.CommonResult; |
||||||
|
import com.teaching.backend.model.dto.umsAdmin.UmsStudentPageQueryDTO; |
||||||
|
import com.teaching.backend.model.entity.umsAdmin.UmsStudentManage; |
||||||
|
import com.teaching.backend.service.umsAdmin.UmsStudentManageService; |
||||||
|
import io.swagger.annotations.Api; |
||||||
|
import io.swagger.annotations.ApiOperation; |
||||||
|
import lombok.extern.slf4j.Slf4j; |
||||||
|
import org.springframework.beans.factory.annotation.Autowired; |
||||||
|
import org.springframework.web.bind.annotation.*; |
||||||
|
import java.util.Map; |
||||||
|
|
||||||
|
@RestController |
||||||
|
@Api(tags = "学生管理") |
||||||
|
@RequestMapping("/api/studentManage") |
||||||
|
@Slf4j |
||||||
|
public class UmsStudentManageController { |
||||||
|
|
||||||
|
@Autowired |
||||||
|
private UmsStudentManageService umsStudentManageService; |
||||||
|
|
||||||
|
/** |
||||||
|
* 学生管理分页查询 |
||||||
|
* @param umsStudentPageQueryDTO |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
@GetMapping("/page") |
||||||
|
@ApiOperation("学生管理分页查询") |
||||||
|
public CommonResult<Map<String, Object>> page(UmsStudentPageQueryDTO umsStudentPageQueryDTO){ |
||||||
|
Map<String, Object> pageResult = umsStudentManageService.pageQuery(umsStudentPageQueryDTO); |
||||||
|
return CommonResult.success(pageResult); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 启用禁用学生账号 |
||||||
|
* @param status |
||||||
|
* @param id |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
@PostMapping("/status/{status}") |
||||||
|
@ApiOperation("启用禁用员工账号") |
||||||
|
public CommonResult startOrStop(@PathVariable String status, Long id){ |
||||||
|
umsStudentManageService.startOrStop(status,id); |
||||||
|
return CommonResult.success("修改成功"); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 根据id查询学生信息 |
||||||
|
* @param id |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
@GetMapping("/{id}") |
||||||
|
@ApiOperation("根据id查询学生信息") |
||||||
|
public CommonResult<UmsStudentManage> getById(@PathVariable Long id){ |
||||||
|
UmsStudentManage umsStudentManage = umsStudentManageService.getByIdStudentAndUser(id); |
||||||
|
return CommonResult.success(umsStudentManage); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 编辑学生信息 |
||||||
|
* @param umsStudentManage |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
@PutMapping |
||||||
|
@ApiOperation("编辑学生信息") |
||||||
|
public CommonResult update(@RequestBody UmsStudentManage umsStudentManage){ |
||||||
|
log.info("编辑学生信息: {}",umsStudentManage); |
||||||
|
umsStudentManageService.updateStudentAndUser(umsStudentManage); |
||||||
|
return CommonResult.success("修改成功"); |
||||||
|
} |
||||||
|
} |
@ -1,13 +0,0 @@ |
|||||||
package com.teaching.backend.controller.umsStudent; |
|
||||||
|
|
||||||
import io.swagger.annotations.Api; |
|
||||||
import lombok.extern.slf4j.Slf4j; |
|
||||||
import org.springframework.web.bind.annotation.RequestMapping; |
|
||||||
import org.springframework.web.bind.annotation.RestController; |
|
||||||
|
|
||||||
@RestController |
|
||||||
@Api(tags = "UmsStudentController") |
|
||||||
@RequestMapping("/api/student") |
|
||||||
@Slf4j |
|
||||||
public class UmsStudentController { |
|
||||||
} |
|
@ -0,0 +1,22 @@ |
|||||||
|
package com.teaching.backend.mapper.umsAdmin; |
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
||||||
|
import com.teaching.backend.model.dto.umsAdmin.UmsStudentPageQueryDTO; |
||||||
|
import com.teaching.backend.model.entity.umsAdmin.*; |
||||||
|
import org.apache.ibatis.annotations.Mapper; |
||||||
|
|
||||||
|
import java.util.List; |
||||||
|
|
||||||
|
@Mapper |
||||||
|
public interface UmsStudentManageMapper extends BaseMapper<UmsStudentManage> { |
||||||
|
|
||||||
|
UmsStudentManage queryStudent(String userId); |
||||||
|
|
||||||
|
List<UmsStudentManage> pageQueryStudent(UmsStudentPageQuery umsStudentPageQuery); |
||||||
|
|
||||||
|
int pageQueryStudentCount(UmsStudentPageQueryDTO umsStudentPageQueryDTO); |
||||||
|
|
||||||
|
UmsStudentManage getByIdStudentAndUser(Long id); |
||||||
|
|
||||||
|
} |
@ -0,0 +1,25 @@ |
|||||||
|
package com.teaching.backend.model.dto.umsAdmin; |
||||||
|
|
||||||
|
import lombok.Data; |
||||||
|
|
||||||
|
import java.io.Serializable; |
||||||
|
|
||||||
|
@Data |
||||||
|
public class UmsStudentPageQueryDTO implements Serializable { |
||||||
|
|
||||||
|
//学生姓名
|
||||||
|
private String name; |
||||||
|
|
||||||
|
//学号
|
||||||
|
private String number; |
||||||
|
|
||||||
|
//页码
|
||||||
|
private int page; |
||||||
|
|
||||||
|
//每页显示记录数
|
||||||
|
private int pageSize; |
||||||
|
|
||||||
|
//学号
|
||||||
|
private String userId; |
||||||
|
|
||||||
|
} |
@ -0,0 +1,84 @@ |
|||||||
|
package com.teaching.backend.model.entity.umsAdmin; |
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType; |
||||||
|
import com.baomidou.mybatisplus.annotation.TableId; |
||||||
|
import com.baomidou.mybatisplus.annotation.TableName; |
||||||
|
import lombok.Data; |
||||||
|
import lombok.EqualsAndHashCode; |
||||||
|
import lombok.experimental.Accessors; |
||||||
|
|
||||||
|
import java.io.Serializable; |
||||||
|
import java.time.LocalDate; |
||||||
|
import java.time.LocalDateTime; |
||||||
|
|
||||||
|
/** |
||||||
|
* <p> |
||||||
|
* |
||||||
|
* </p> |
||||||
|
* |
||||||
|
* @author zjh |
||||||
|
* @since 2024-06-12 |
||||||
|
*/ |
||||||
|
@Data |
||||||
|
@EqualsAndHashCode(callSuper = false) |
||||||
|
@Accessors(chain = true) |
||||||
|
public class UmsStudentManage implements Serializable { |
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L; |
||||||
|
|
||||||
|
@TableId(value = "id", type = IdType.AUTO) |
||||||
|
private Integer id; |
||||||
|
|
||||||
|
//用户名
|
||||||
|
private String username; |
||||||
|
|
||||||
|
//密码
|
||||||
|
private String password; |
||||||
|
|
||||||
|
//昵称
|
||||||
|
private String nickName; |
||||||
|
|
||||||
|
//头像
|
||||||
|
private String icon; |
||||||
|
|
||||||
|
//注册时间
|
||||||
|
private LocalDateTime createTime; |
||||||
|
|
||||||
|
//账号状态
|
||||||
|
private Integer status; |
||||||
|
|
||||||
|
//姓名
|
||||||
|
private String name; |
||||||
|
|
||||||
|
//性别
|
||||||
|
private String sex; |
||||||
|
|
||||||
|
//民族
|
||||||
|
private String nationality; |
||||||
|
|
||||||
|
//学号
|
||||||
|
private String number; |
||||||
|
|
||||||
|
//生日
|
||||||
|
private LocalDateTime birthday; |
||||||
|
|
||||||
|
//手机号
|
||||||
|
private String phone; |
||||||
|
|
||||||
|
//院系
|
||||||
|
private String faculty; |
||||||
|
|
||||||
|
//专业
|
||||||
|
private String major; |
||||||
|
|
||||||
|
//入学年份
|
||||||
|
private LocalDate yearAge; |
||||||
|
|
||||||
|
//班级
|
||||||
|
private String className; |
||||||
|
|
||||||
|
//user_id
|
||||||
|
private Integer userId; |
||||||
|
|
||||||
|
|
||||||
|
} |
@ -0,0 +1,21 @@ |
|||||||
|
package com.teaching.backend.model.entity.umsAdmin; |
||||||
|
|
||||||
|
import lombok.Data; |
||||||
|
|
||||||
|
import java.io.Serializable; |
||||||
|
|
||||||
|
@Data |
||||||
|
public class UmsStudentPageQuery implements Serializable { |
||||||
|
|
||||||
|
//学生姓名
|
||||||
|
private String name; |
||||||
|
|
||||||
|
//学号
|
||||||
|
private String number; |
||||||
|
|
||||||
|
//每页显示记录数
|
||||||
|
private int pageSize; |
||||||
|
|
||||||
|
//偏移量
|
||||||
|
private int offset; |
||||||
|
} |
@ -0,0 +1,94 @@ |
|||||||
|
package com.teaching.backend.service.impl.umsAdmin; |
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
||||||
|
import com.teaching.backend.exception.BusinessException; |
||||||
|
import com.teaching.backend.mapper.umsAdmin.*; |
||||||
|
import com.teaching.backend.model.dto.umsAdmin.UmsStudentPageQueryDTO; |
||||||
|
import com.teaching.backend.model.entity.umsAdmin.*; |
||||||
|
import com.teaching.backend.service.impl.courses.CoursesServiceImpl; |
||||||
|
import com.teaching.backend.service.umsAdmin.UmsStudentManageService; |
||||||
|
import lombok.extern.slf4j.Slf4j; |
||||||
|
import org.springframework.beans.BeanUtils; |
||||||
|
import org.springframework.beans.factory.annotation.Autowired; |
||||||
|
import org.springframework.stereotype.Service; |
||||||
|
|
||||||
|
import java.util.HashMap; |
||||||
|
import java.util.LinkedHashSet; |
||||||
|
import java.util.List; |
||||||
|
import java.util.Map; |
||||||
|
import java.util.stream.Collectors; |
||||||
|
|
||||||
|
|
||||||
|
@Service |
||||||
|
@Slf4j |
||||||
|
public class UmsStudentManageServiceImpl extends ServiceImpl<UmsStudentManageMapper, UmsStudentManage> implements UmsStudentManageService { |
||||||
|
|
||||||
|
@Autowired |
||||||
|
private UmsStudentManageMapper umsStudentManageMapper; |
||||||
|
@Autowired |
||||||
|
private UmsStudentMapper umsStudentMapper; |
||||||
|
@Autowired |
||||||
|
private UmsUserMapper umsUserMapper; |
||||||
|
@Autowired |
||||||
|
private CoursesServiceImpl coursesService; |
||||||
|
|
||||||
|
|
||||||
|
@Override |
||||||
|
public Map<String, Object> pageQuery(UmsStudentPageQueryDTO umsStudentPageQueryDTO) { |
||||||
|
|
||||||
|
LinkedHashSet<UmsStudentManage> umsStudentManages = coursesService.queryTeacherByStudentList(umsStudentPageQueryDTO.getUserId()); |
||||||
|
|
||||||
|
//总记录数
|
||||||
|
int totalCount = umsStudentManages.size(); |
||||||
|
|
||||||
|
//总页数
|
||||||
|
int totalPages = (int) Math.ceil((double) totalCount / umsStudentPageQueryDTO.getPageSize()); |
||||||
|
|
||||||
|
List<UmsStudentManage> umsStudentManageList = umsStudentManages.stream() |
||||||
|
.skip((umsStudentPageQueryDTO.getPage() - 1) * umsStudentPageQueryDTO.getPageSize()) |
||||||
|
.limit(umsStudentPageQueryDTO.getPageSize()) |
||||||
|
.collect(Collectors.toList()); |
||||||
|
|
||||||
|
Map<String, Object> result = new HashMap<>(); |
||||||
|
result.put("Records", umsStudentManageList); |
||||||
|
result.put("totalCount", totalCount); |
||||||
|
result.put("totalPages", totalPages); |
||||||
|
result.put("currentPage", umsStudentPageQueryDTO.getPage()); |
||||||
|
|
||||||
|
return result; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public UmsStudentManage getByIdStudentAndUser(Long id) { |
||||||
|
UmsStudentManage studentAndUser = umsStudentManageMapper.getByIdStudentAndUser(id); |
||||||
|
return studentAndUser; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public void updateStudentAndUser(UmsStudentManage umsStudentManage) { |
||||||
|
UmsStudent umsStudent = new UmsStudent(); |
||||||
|
BeanUtils.copyProperties(umsStudentManage,umsStudent); |
||||||
|
boolean studentInfo = umsStudentMapper.updateStudentInfo(umsStudent); |
||||||
|
if (studentInfo == false){ |
||||||
|
throw new BusinessException(400,"修改失败"); |
||||||
|
} |
||||||
|
UmsUser umsUser = new UmsUser(); |
||||||
|
BeanUtils.copyProperties(umsStudentManage, umsUser); |
||||||
|
umsUser.setId(Long.valueOf(umsStudentManage.getUserId())); |
||||||
|
boolean userInformation = umsUserMapper.updateUserInformation(umsUser); |
||||||
|
if (userInformation == false){ |
||||||
|
throw new BusinessException(400,"修改失败"); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public void startOrStop(String status, Long id) { |
||||||
|
UmsUser umsUser = new UmsUser(); |
||||||
|
umsUser.setStatus(status); |
||||||
|
umsUser.setId(id); |
||||||
|
boolean updateUserInformation = umsUserMapper.updateUserInformation(umsUser); |
||||||
|
if (updateUserInformation == false){ |
||||||
|
throw new BusinessException(400,"账号状态修改失败"); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,21 @@ |
|||||||
|
package com.teaching.backend.service.umsAdmin; |
||||||
|
|
||||||
|
|
||||||
|
import cn.hutool.db.PageResult; |
||||||
|
import com.baomidou.mybatisplus.extension.service.IService; |
||||||
|
import com.teaching.backend.model.dto.umsAdmin.UmsStudentPageQueryDTO; |
||||||
|
import com.teaching.backend.model.entity.umsAdmin.UmsStudentManage; |
||||||
|
|
||||||
|
import java.util.Map; |
||||||
|
|
||||||
|
public interface UmsStudentManageService extends IService<UmsStudentManage> { |
||||||
|
|
||||||
|
|
||||||
|
Map<String, Object> pageQuery(UmsStudentPageQueryDTO umsStudentPageQueryDTO); |
||||||
|
|
||||||
|
UmsStudentManage getByIdStudentAndUser(Long id); |
||||||
|
|
||||||
|
void updateStudentAndUser(UmsStudentManage umsStudentManage); |
||||||
|
|
||||||
|
void startOrStop(String status, Long id); |
||||||
|
} |
@ -1,5 +0,0 @@ |
|||||||
<?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.teaching.backend.mapper.umsAdmin.UmsPermissionMapper"> |
|
||||||
|
|
||||||
</mapper> |
|
@ -0,0 +1,46 @@ |
|||||||
|
<?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.teaching.backend.mapper.umsAdmin.UmsStudentManageMapper"> |
||||||
|
|
||||||
|
<select id="queryStudent" resultType="com.teaching.backend.model.entity.umsAdmin.UmsStudentManage"> |
||||||
|
select * |
||||||
|
from ums_student us |
||||||
|
INNER JOIN ums_user uu ON us.user_id = uu.id |
||||||
|
WHERE us.user_id = #{userId} |
||||||
|
</select> |
||||||
|
<select id="pageQueryStudent" resultType="com.teaching.backend.model.entity.umsAdmin.UmsStudentManage"> |
||||||
|
select * |
||||||
|
from ums_student us |
||||||
|
INNER JOIN ums_user uu ON us.user_id = uu.id |
||||||
|
<where> |
||||||
|
<if test="name != null and name != ''"> |
||||||
|
and name like concat('%',#{name},'%') |
||||||
|
</if> |
||||||
|
<if test="number != null and number != ''"> |
||||||
|
and number like concat('%',#{number},'%') |
||||||
|
</if> |
||||||
|
</where> |
||||||
|
LIMIT #{pageSize} OFFSET #{offset}; |
||||||
|
</select> |
||||||
|
<select id="pageQueryStudentCount" resultType="java.lang.Integer"> |
||||||
|
SELECT COUNT(*) |
||||||
|
FROM ums_student us |
||||||
|
INNER JOIN ums_user uu ON us.user_id = uu.id |
||||||
|
<where> |
||||||
|
<if test="name != null and name != ''"> |
||||||
|
AND us.name LIKE CONCAT('%', #{name}, '%') |
||||||
|
</if> |
||||||
|
<if test="number != null and number != ''"> |
||||||
|
AND us.number LIKE CONCAT('%', #{number}, '%') |
||||||
|
</if> |
||||||
|
</where> |
||||||
|
</select> |
||||||
|
<select id="getByIdStudentAndUser" resultType="com.teaching.backend.model.entity.umsAdmin.UmsStudentManage" |
||||||
|
parameterType="java.lang.Long"> |
||||||
|
select * |
||||||
|
from ums_student us |
||||||
|
INNER JOIN ums_user uu ON us.user_id = uu.id |
||||||
|
WHERE us.id = #{id} |
||||||
|
</select> |
||||||
|
|
||||||
|
</mapper> |
Loading…
Reference in new issue