|
|
|
|
|
package com.sztzjy.linkCommerce.controller.stu;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import com.alibaba.excel.EasyExcel;
|
|
|
|
|
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
|
|
|
|
|
import com.github.pagehelper.PageHelper;
|
|
|
|
|
|
import com.github.pagehelper.PageInfo;
|
|
|
|
|
|
import com.sztzjy.linkCommerce.annotation.AnonymousAccess;
|
|
|
|
|
|
import com.sztzjy.linkCommerce.entity.*;
|
|
|
|
|
|
import com.sztzjy.linkCommerce.entity.dto.SchoolClassDto;
|
|
|
|
|
|
import com.sztzjy.linkCommerce.entity.dto.SchoolFacultyDto;
|
|
|
|
|
|
import com.sztzjy.linkCommerce.entity.dto.SchoolMajorDto;
|
|
|
|
|
|
import com.sztzjy.linkCommerce.entity.importDto.StudentImportDTO;
|
|
|
|
|
|
import com.sztzjy.linkCommerce.entity.importDto.TeacherImportDTO;
|
|
|
|
|
|
import com.sztzjy.linkCommerce.mapper.*;
|
|
|
|
|
|
import com.sztzjy.linkCommerce.service.ImportService;
|
|
|
|
|
|
import com.sztzjy.linkCommerce.service.SchoolService;
|
|
|
|
|
|
import com.sztzjy.linkCommerce.service.UserInfoService;
|
|
|
|
|
|
import com.sztzjy.linkCommerce.service.ValidateService;
|
|
|
|
|
|
import com.sztzjy.linkCommerce.util.*;
|
|
|
|
|
|
import com.sztzjy.linkCommerce.util.excel.FilePortUtil;
|
|
|
|
|
|
import io.swagger.annotations.Api;
|
|
|
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
|
|
|
import io.swagger.annotations.ApiParam;
|
|
|
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
|
import org.springframework.http.HttpStatus;
|
|
|
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
|
|
|
|
|
|
|
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
|
|
|
import java.io.InputStream;
|
|
|
|
|
|
import java.util.*;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Api(tags = "用户管理")
|
|
|
|
|
|
@RequestMapping("api/user")
|
|
|
|
|
|
@RestController
|
|
|
|
|
|
public class UserController {
|
|
|
|
|
|
@Autowired
|
|
|
|
|
|
SchoolService schoolService;
|
|
|
|
|
|
@Autowired
|
|
|
|
|
|
SchoolMapper schoolMapper;
|
|
|
|
|
|
@Autowired
|
|
|
|
|
|
UserinfoMapper userinfoMapper;
|
|
|
|
|
|
@Autowired
|
|
|
|
|
|
SchoolMajorMapper schoolMajorMapper;
|
|
|
|
|
|
@Autowired
|
|
|
|
|
|
SchoolClassMapper schoolClassMapper;
|
|
|
|
|
|
@Autowired
|
|
|
|
|
|
Pinyin4jUtil pinyin4jUtil;
|
|
|
|
|
|
@Autowired
|
|
|
|
|
|
UserInfoService userInfoService;
|
|
|
|
|
|
@Autowired
|
|
|
|
|
|
ValidateService validateService;
|
|
|
|
|
|
@Autowired
|
|
|
|
|
|
ImportService importService;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@PostMapping("/addSchool")
|
|
|
|
|
|
@ApiOperation("院校管理-院校新增")
|
|
|
|
|
|
@AnonymousAccess
|
|
|
|
|
|
public ResultEntity addSchool(@RequestBody School school) {
|
|
|
|
|
|
//参数校验
|
|
|
|
|
|
if (org.apache.commons.lang3.StringUtils.isBlank(school.getSchoolName())) {
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.ACCEPTED, "院校名称不能为空");
|
|
|
|
|
|
}
|
|
|
|
|
|
if (org.apache.commons.lang3.StringUtils.isBlank(school.getSchoolGrade())) {
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.ACCEPTED, "院校层次不能为空");
|
|
|
|
|
|
}
|
|
|
|
|
|
if (org.apache.commons.lang3.StringUtils.isBlank(school.getSchoolProvince())) {
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.ACCEPTED, "所属省不能为空");
|
|
|
|
|
|
}
|
|
|
|
|
|
if (org.apache.commons.lang3.StringUtils.isBlank(school.getSchoolCity())) {
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.ACCEPTED, "所属城市不能为空");
|
|
|
|
|
|
}
|
|
|
|
|
|
if (org.apache.commons.lang3.StringUtils.isBlank(school.getSchoolContacts())) {
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.ACCEPTED, "院校联系人不能为空");
|
|
|
|
|
|
}
|
|
|
|
|
|
Integer result = schoolService.addSchool(school);
|
|
|
|
|
|
if (result > 0) {
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.OK, "新增成功");
|
|
|
|
|
|
} else {
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "新增失败");
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@PostMapping("/updateSchool")
|
|
|
|
|
|
@ApiOperation("院校管理-院校编辑")
|
|
|
|
|
|
@AnonymousAccess
|
|
|
|
|
|
public ResultEntity updateSchool(@RequestBody School school) {
|
|
|
|
|
|
|
|
|
|
|
|
Integer result = schoolService.updateSchool(school);
|
|
|
|
|
|
if (result > 0) {
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.OK, "编辑成功");
|
|
|
|
|
|
} else {
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.ACCEPTED, "编辑失败");
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@GetMapping("/deleteSchool")
|
|
|
|
|
|
@ApiOperation("院校管理-院校删除")
|
|
|
|
|
|
public ResultEntity deleteSchool(String schoolId) {
|
|
|
|
|
|
|
|
|
|
|
|
Integer result = schoolService.deleteSchool(schoolId);
|
|
|
|
|
|
if (result > 0) {
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.OK, "删除成功");
|
|
|
|
|
|
} else {
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.ACCEPTED, "删除失败");
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@GetMapping("/getSchoolList")
|
|
|
|
|
|
@ApiOperation("院校管理-院校列表查询")
|
|
|
|
|
|
@AnonymousAccess
|
|
|
|
|
|
public ResultEntity<PageInfo<School>> getSchoolList(@ApiParam("当前页") Integer index,
|
|
|
|
|
|
@ApiParam("每页条数") Integer size,
|
|
|
|
|
|
@ApiParam("院校名称") @RequestParam(required = false) String schoolName) {
|
|
|
|
|
|
|
|
|
|
|
|
PageHelper.startPage(index, size);
|
|
|
|
|
|
SchoolExample schoolExample=new SchoolExample();
|
|
|
|
|
|
SchoolExample.Criteria criteria = schoolExample.createCriteria();
|
|
|
|
|
|
|
|
|
|
|
|
if(StringUtils.isNotEmpty(schoolName)){
|
|
|
|
|
|
criteria.andSchoolNameLike("%"+schoolName+"%");
|
|
|
|
|
|
}
|
|
|
|
|
|
List<School> schools = schoolMapper.selectByExample(schoolExample);
|
|
|
|
|
|
PageInfo<School> schoolPageInfo = new PageInfo<>(schools);
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.OK, "院校列表查询-查询成功", schoolPageInfo);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//*****************************************院系管理*********************************************
|
|
|
|
|
|
//*****************************************院系管理*********************************************
|
|
|
|
|
|
//*****************************************院系管理*********************************************
|
|
|
|
|
|
@Autowired
|
|
|
|
|
|
SchoolFacultyMapper schoolFacultyMapper;
|
|
|
|
|
|
|
|
|
|
|
|
@PostMapping("/addSchoolFaculty")
|
|
|
|
|
|
@ApiOperation("院系管理-添加院系")
|
|
|
|
|
|
@AnonymousAccess
|
|
|
|
|
|
public ResultEntity addSchoolFaculty(@ApiParam("学校ID") @RequestParam String schoolId,
|
|
|
|
|
|
@ApiParam("院系名称") @RequestParam String schoolFacultyName,
|
|
|
|
|
|
@ApiParam("联系人") @RequestParam(required = false) String schoolFacultyContact,
|
|
|
|
|
|
@ApiParam("联系人电话") @RequestParam(required = false) String schoolFacultyContactTel,
|
|
|
|
|
|
@ApiParam("联系人地址") @RequestParam(required = false) String schoolFacultyContactAddress) {
|
|
|
|
|
|
//先根据schoolId进行查询 如果不存在则返回
|
|
|
|
|
|
School school = schoolMapper.selectByPrimaryKey(schoolId);
|
|
|
|
|
|
if (school == null) {
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "该学校不存在");
|
|
|
|
|
|
}
|
|
|
|
|
|
//查询该学校下院系下 专业名称是否重复
|
|
|
|
|
|
SchoolFacultyExample schoolFacultyExample = new SchoolFacultyExample();
|
|
|
|
|
|
schoolFacultyExample.createCriteria().andSchoolIdEqualTo(schoolId).andSchoolFacultyNameEqualTo(schoolFacultyName);
|
|
|
|
|
|
List<SchoolFaculty> schoolFaculties = schoolFacultyMapper.selectByExample(schoolFacultyExample);
|
|
|
|
|
|
if (!schoolFaculties.isEmpty()) {
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "院系名称重复");
|
|
|
|
|
|
}
|
|
|
|
|
|
SchoolFaculty schoolFaculty = new SchoolFaculty();
|
|
|
|
|
|
schoolFaculty.setSchoolFacultyId(String.valueOf(UUID.randomUUID()));
|
|
|
|
|
|
schoolFaculty.setSchoolId(schoolId);
|
|
|
|
|
|
schoolFaculty.setSchoolFacultyName(schoolFacultyName);
|
|
|
|
|
|
schoolFaculty.setSchoolFacultyContact(schoolFacultyContact);
|
|
|
|
|
|
schoolFaculty.setSchoolFacultyContactTel(schoolFacultyContactTel);
|
|
|
|
|
|
schoolFaculty.setSchoolFacultyContactAddress(schoolFacultyContactAddress);
|
|
|
|
|
|
schoolFaculty.setCreateTime(new Date());
|
|
|
|
|
|
int insert = schoolFacultyMapper.insert(schoolFaculty);
|
|
|
|
|
|
if (insert == 1) {
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.OK, "新增院系成功");
|
|
|
|
|
|
} else {
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "新增院系失败");
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@PostMapping("/seleteSchoolFaculty")
|
|
|
|
|
|
@ApiOperation("院系管理-查询")
|
|
|
|
|
|
@AnonymousAccess
|
|
|
|
|
|
public ResultEntity<PageInfo<SchoolFacultyDto>> seleteSchoolFaculty(@ApiParam("当前页") Integer index,
|
|
|
|
|
|
@ApiParam("每页条数") Integer size,
|
|
|
|
|
|
@ApiParam("学校ID") @RequestParam(required = false) String schoolId,
|
|
|
|
|
|
@ApiParam("院系名称") @RequestParam(required = false) String schoolFacultyName) {
|
|
|
|
|
|
PageInfo<SchoolFacultyDto> pageInfo = schoolService.seleteSchoolFaculty(index, size, schoolId, schoolFacultyName);
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.OK, "院系管理-查询成功", pageInfo);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@PostMapping("/deleteSchoolFaculty")
|
|
|
|
|
|
@ApiOperation("院系管理-删除")
|
|
|
|
|
|
@AnonymousAccess
|
|
|
|
|
|
public ResultEntity deleteSchoolFaculty(@ApiParam("院系ID") @RequestParam String schoolFacultyId, @RequestParam String userId) {
|
|
|
|
|
|
//先查询useriD 是否够权限
|
|
|
|
|
|
Userinfo userInfo = userinfoMapper.selectByPrimaryKey(userId);
|
|
|
|
|
|
if (userInfo.getRole() == 1 || userInfo.getRole() == 2) {
|
|
|
|
|
|
if (userInfo.getRole() == 2) {
|
|
|
|
|
|
SchoolFaculty schoolFaculty = schoolFacultyMapper.selectByPrimaryKey(schoolFacultyId);
|
|
|
|
|
|
if (!schoolFaculty.getSchoolId().equals(userInfo.getSchoolId())) {
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "院系管理-删除失败-权限不足");
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
int i = schoolFacultyMapper.deleteByPrimaryKey(schoolFacultyId);
|
|
|
|
|
|
if (i == 1) {
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.OK, "院系管理-删除成功");
|
|
|
|
|
|
} else {
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "院系管理-删除失败");
|
|
|
|
|
|
}
|
|
|
|
|
|
} else {
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "院系管理-删除失败-权限不足");
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@PostMapping("/updateSchoolFaculty")
|
|
|
|
|
|
@ApiOperation("院系管理-编辑")
|
|
|
|
|
|
@AnonymousAccess
|
|
|
|
|
|
public ResultEntity updateSchoolFaculty(@RequestBody SchoolFaculty schoolFaculty, @RequestParam String userId) {
|
|
|
|
|
|
if (StringUtils.isBlank(schoolFaculty.getSchoolFacultyId())) {
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "院系管理-编辑失败-主键ID缺失");
|
|
|
|
|
|
}
|
|
|
|
|
|
//先查询useriD 是否够权限
|
|
|
|
|
|
Userinfo userInfo = userinfoMapper.selectByPrimaryKey(userId);
|
|
|
|
|
|
if (userInfo.getRole() == 1 || userInfo.getRole() == 2) {
|
|
|
|
|
|
if (userInfo.getRole() == 2) {
|
|
|
|
|
|
SchoolFaculty schoolFacultyT = schoolFacultyMapper.selectByPrimaryKey(schoolFaculty.getSchoolFacultyId());
|
|
|
|
|
|
if (!schoolFacultyT.getSchoolId().equals(userInfo.getSchoolId())) {
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "院系管理-编辑失败-权限不足");
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
int i = schoolFacultyMapper.updateByPrimaryKey(schoolFaculty);
|
|
|
|
|
|
if (i == 1) {
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.OK, "院系管理-编辑成功");
|
|
|
|
|
|
} else {
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "院系管理-编辑失败");
|
|
|
|
|
|
}
|
|
|
|
|
|
} else {
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "院系管理-编辑失败-权限不足");
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//*****************************************专业管理*********************************************
|
|
|
|
|
|
//*****************************************专业管理*********************************************
|
|
|
|
|
|
//*****************************************专业管理*********************************************
|
|
|
|
|
|
|
|
|
|
|
|
@PostMapping("/addSchoolMajor")
|
|
|
|
|
|
@ApiOperation("专业管理-添加专业")
|
|
|
|
|
|
@AnonymousAccess
|
|
|
|
|
|
public ResultEntity addSchoolMajor(@ApiParam("学校ID") @RequestParam String schoolId,
|
|
|
|
|
|
@ApiParam("院系ID") @RequestParam String schoolFacultyId,
|
|
|
|
|
|
@ApiParam("专业名称") @RequestParam String schoolMajorName,
|
|
|
|
|
|
@ApiParam("联系人") @RequestParam(required = false) String schoolMajorContact,
|
|
|
|
|
|
@ApiParam("联系人电话") @RequestParam(required = false) String schoolMajorContactTel) {
|
|
|
|
|
|
//先根据schoolId进行查询 如果不存在则返回
|
|
|
|
|
|
School school = schoolMapper.selectByPrimaryKey(schoolId);
|
|
|
|
|
|
if (school == null) {
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "该学校不存在");
|
|
|
|
|
|
}
|
|
|
|
|
|
//再根据schoolFacultyId查询 如果不存在则返回
|
|
|
|
|
|
SchoolFaculty schoolFaculty = schoolFacultyMapper.selectByPrimaryKey(schoolFacultyId);
|
|
|
|
|
|
if (schoolFaculty == null) {
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "该院系不存在");
|
|
|
|
|
|
}
|
|
|
|
|
|
//查询该学校下院系下 专业名称是否重复
|
|
|
|
|
|
SchoolMajorExample schoolMajorExample = new SchoolMajorExample();
|
|
|
|
|
|
schoolMajorExample.createCriteria().andSchoolFacultyIdEqualTo(schoolFacultyId).andSchoolMajorNameEqualTo(schoolMajorName);
|
|
|
|
|
|
List<SchoolMajor> schoolMajors = schoolMajorMapper.selectByExample(schoolMajorExample);
|
|
|
|
|
|
if (!schoolMajors.isEmpty()) {
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "专业名称重复");
|
|
|
|
|
|
}
|
|
|
|
|
|
SchoolMajor schoolMajor = new SchoolMajor();
|
|
|
|
|
|
schoolMajor.setSchoolMajorId(String.valueOf(UUID.randomUUID()));
|
|
|
|
|
|
schoolMajor.setSchoolFacultyId(schoolFacultyId);
|
|
|
|
|
|
schoolMajor.setSchoolMajorName(schoolMajorName);
|
|
|
|
|
|
schoolMajor.setSchoolMajorContact(schoolMajorContact);
|
|
|
|
|
|
schoolMajor.setSchoolMajorContactTel(schoolMajorContactTel);
|
|
|
|
|
|
schoolMajor.setCreateTime(new Date());
|
|
|
|
|
|
int insert = schoolMajorMapper.insert(schoolMajor);
|
|
|
|
|
|
if (insert == 1) {
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.OK, "新增专业成功");
|
|
|
|
|
|
} else {
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "新增专业失败");
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@PostMapping("/selectSchoolMajor")
|
|
|
|
|
|
@ApiOperation("专业管理-查询")
|
|
|
|
|
|
@AnonymousAccess
|
|
|
|
|
|
public ResultEntity<PageInfo<SchoolMajorDto>> selectSchoolMajor(@ApiParam("当前页") Integer index,
|
|
|
|
|
|
@ApiParam("每页条数") Integer size,
|
|
|
|
|
|
@ApiParam("学校ID") @RequestParam(required = false) String schoolId,
|
|
|
|
|
|
@ApiParam("院系ID-学校管理员使用") @RequestParam(required = false) String schoolFacultyId,
|
|
|
|
|
|
@ApiParam("专业名称") @RequestParam(required = false) String schoolMajorName) {
|
|
|
|
|
|
PageInfo<SchoolMajorDto> pageInfo = schoolService.seleteSchoolMajor(index, size, schoolId, schoolMajorName, schoolFacultyId);
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.OK, "专业管理-查询成功", pageInfo);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@PostMapping("/deleteSchoolMajor")
|
|
|
|
|
|
@ApiOperation("专业管理-删除")
|
|
|
|
|
|
@AnonymousAccess
|
|
|
|
|
|
public ResultEntity deleteSchoolMajor(@ApiParam("专业ID") @RequestParam String schoolMajorId, @RequestParam String userId) {
|
|
|
|
|
|
int i = schoolMajorMapper.deleteByPrimaryKey(schoolMajorId);
|
|
|
|
|
|
if (i == 1) {
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.OK, "专业管理-删除成功");
|
|
|
|
|
|
} else {
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "专业管理-删除失败");
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@PostMapping("/updateSchoolMajor")
|
|
|
|
|
|
@ApiOperation("专业管理-编辑")
|
|
|
|
|
|
@AnonymousAccess
|
|
|
|
|
|
public ResultEntity updateSchoolMajor(@RequestBody SchoolMajor schoolMajor, @RequestParam String userId) {
|
|
|
|
|
|
if (StringUtils.isBlank(schoolMajor.getSchoolMajorId())) {
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "专业管理-编辑失败-主键ID缺失");
|
|
|
|
|
|
}
|
|
|
|
|
|
int i = schoolMajorMapper.updateByPrimaryKey(schoolMajor);
|
|
|
|
|
|
if (i == 1) {
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.OK, "专业管理-编辑成功");
|
|
|
|
|
|
} else {
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "专业管理-编辑失败");
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//*****************************************班级管理*********************************************
|
|
|
|
|
|
//*****************************************班级管理*********************************************
|
|
|
|
|
|
//*****************************************班级管理*********************************************
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@PostMapping("/addSchoolClass")
|
|
|
|
|
|
@ApiOperation("班级管理-添加班级")
|
|
|
|
|
|
@AnonymousAccess
|
|
|
|
|
|
public ResultEntity addSchoolClass(@ApiParam("学校ID") @RequestParam String schoolId,
|
|
|
|
|
|
@ApiParam("院系ID") @RequestParam String schoolFacultyId,
|
|
|
|
|
|
@ApiParam("专业ID") @RequestParam String schoolMajorId,
|
|
|
|
|
|
@ApiParam("班级名称") @RequestParam String className) {
|
|
|
|
|
|
//先根据schoolId进行查询 如果不存在则返回
|
|
|
|
|
|
School school = schoolMapper.selectByPrimaryKey(schoolId);
|
|
|
|
|
|
if (school == null) {
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "该学校不存在");
|
|
|
|
|
|
}
|
|
|
|
|
|
//再根据schoolFacultyId查询 如果不存在则返回
|
|
|
|
|
|
SchoolFaculty schoolFaculty = schoolFacultyMapper.selectByPrimaryKey(schoolFacultyId);
|
|
|
|
|
|
if (schoolFaculty == null) {
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "该院系不存在");
|
|
|
|
|
|
}
|
|
|
|
|
|
//再根据schoolMajorId查询 如果不存在则返回
|
|
|
|
|
|
SchoolMajor schoolMajor = schoolMajorMapper.selectByPrimaryKey(schoolMajorId);
|
|
|
|
|
|
if (schoolMajor == null) {
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "该专业不存在");
|
|
|
|
|
|
}
|
|
|
|
|
|
//查询班级名称是否存在
|
|
|
|
|
|
SchoolClassExample schoolClassExample = new SchoolClassExample();
|
|
|
|
|
|
schoolClassExample.createCriteria().andSchoolMajorIdEqualTo(schoolMajorId).andClassNameEqualTo(className);
|
|
|
|
|
|
List<SchoolClass> schoolClasses = schoolClassMapper.selectByExample(schoolClassExample);
|
|
|
|
|
|
if (!schoolClasses.isEmpty()) {
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "班级名称重复");
|
|
|
|
|
|
}
|
|
|
|
|
|
SchoolClass schoolClass = new SchoolClass();
|
|
|
|
|
|
schoolClass.setSchoolClassId(String.valueOf(UUID.randomUUID()));
|
|
|
|
|
|
schoolClass.setSchoolMajorId(schoolMajorId);
|
|
|
|
|
|
schoolClass.setClassName(className);
|
|
|
|
|
|
//设置classSn 先获取学校名称
|
|
|
|
|
|
String schoolName = school.getSchoolName();
|
|
|
|
|
|
String schoolNamePY = pinyin4jUtil.convertToPinyin(schoolName);
|
|
|
|
|
|
String classNamePY = pinyin4jUtil.convertToPinyin(className);
|
|
|
|
|
|
schoolClass.setClassSn(schoolNamePY + "_" + classNamePY);
|
|
|
|
|
|
schoolClass.setCreateTime(new Date());
|
|
|
|
|
|
|
|
|
|
|
|
int insert = schoolClassMapper.insert(schoolClass);
|
|
|
|
|
|
if (insert == 1) {
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.OK, "新增班级成功");
|
|
|
|
|
|
} else {
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "新增班级失败");
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@PostMapping("/seleteSchoolClass")
|
|
|
|
|
|
@ApiOperation("班级管理-查询")
|
|
|
|
|
|
@AnonymousAccess
|
|
|
|
|
|
public ResultEntity<PageInfo<SchoolClassDto>> seleteSchoolClass(@ApiParam("当前页") Integer index,
|
|
|
|
|
|
@ApiParam("每页条数") Integer size,
|
|
|
|
|
|
@ApiParam("学校ID") @RequestParam(required = false) String schoolId,
|
|
|
|
|
|
@ApiParam("专业ID-学校管理员使用") @RequestParam(required = false) String schoolMajorId,
|
|
|
|
|
|
@ApiParam("班级名称") @RequestParam(required = false) String className,
|
|
|
|
|
|
@ApiParam("班级编号") @RequestParam(required = false) String classSn) {
|
|
|
|
|
|
PageInfo<SchoolClassDto> pageInfo = schoolService.seleteSchoolClass(index, size, schoolId, className, classSn, schoolMajorId);
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.OK, "班级管理-查询成功", pageInfo);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@PostMapping("/deleteSchoolClass")
|
|
|
|
|
|
@ApiOperation("班级管理-删除")
|
|
|
|
|
|
@AnonymousAccess
|
|
|
|
|
|
public ResultEntity deleteSchoolClass(@ApiParam("班级ID") @RequestParam String schoolClassId, @RequestParam String userId) {
|
|
|
|
|
|
//先查询useriD 是否够权限
|
|
|
|
|
|
Userinfo userInfo = userinfoMapper.selectByPrimaryKey(userId);
|
|
|
|
|
|
if (userInfo.getRole() == 1 || userInfo.getRole() == 2) {
|
|
|
|
|
|
int i = schoolClassMapper.deleteByPrimaryKey(schoolClassId);
|
|
|
|
|
|
if (i == 1) {
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.OK, "班级管理-删除成功");
|
|
|
|
|
|
} else {
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "班级管理-删除失败");
|
|
|
|
|
|
}
|
|
|
|
|
|
} else {
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "班级管理-删除失败-权限不足");
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@PostMapping("/updateSchoolClass")
|
|
|
|
|
|
@ApiOperation("班级管理-编辑")
|
|
|
|
|
|
@AnonymousAccess
|
|
|
|
|
|
public ResultEntity updateSchoolClass(@RequestBody SchoolClass schoolClass, @RequestParam String userId) {
|
|
|
|
|
|
if (StringUtils.isBlank(schoolClass.getSchoolClassId())) {
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "班级管理-编辑失败-主键ID缺失");
|
|
|
|
|
|
}
|
|
|
|
|
|
//先查询useriD 是否够权限
|
|
|
|
|
|
Userinfo userInfo = userinfoMapper.selectByPrimaryKey(userId);
|
|
|
|
|
|
if (userInfo.getRole() == 1 || userInfo.getRole() == 2) {
|
|
|
|
|
|
int i = schoolClassMapper.updateByPrimaryKey(schoolClass);
|
|
|
|
|
|
if (i == 1) {
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.OK, "班级管理-编辑成功");
|
|
|
|
|
|
} else {
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "班级管理-编辑失败");
|
|
|
|
|
|
}
|
|
|
|
|
|
} else {
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "班级管理-编辑失败-权限不足");
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//新增 同步子系统账户
|
|
|
|
|
|
@PostMapping("/addTeacherAccount")
|
|
|
|
|
|
@ApiOperation("教师管理-添加教师账号")
|
|
|
|
|
|
@AnonymousAccess
|
|
|
|
|
|
public ResultEntity addTeacherAccount(@ApiParam("学校ID") @RequestParam String schoolId,
|
|
|
|
|
|
@ApiParam("学校名称") @RequestParam String schoolName,
|
|
|
|
|
|
@ApiParam("院系ID") @RequestParam String schoolFacultyId,
|
|
|
|
|
|
@ApiParam("专业ID") @RequestParam String schoolMajorId,
|
|
|
|
|
|
@ApiParam("专业名称") @RequestParam String schoolMajorName,
|
|
|
|
|
|
@ApiParam("教师名称") @RequestParam String name,
|
|
|
|
|
|
@ApiParam("教师工号") @RequestParam String userName,
|
|
|
|
|
|
@ApiParam("电话号码") @RequestParam(required = false) String phone,
|
|
|
|
|
|
@ApiParam("电子邮箱") @RequestParam(required = false) String email) throws JsonProcessingException {
|
|
|
|
|
|
//先根据schoolId进行查询 如果不存在则返回
|
|
|
|
|
|
School school = schoolMapper.selectByPrimaryKey(schoolId);
|
|
|
|
|
|
if (school == null) {
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "该学校不存在");
|
|
|
|
|
|
}
|
|
|
|
|
|
//再根据schoolFacultyId查询 如果不存在则返回
|
|
|
|
|
|
SchoolFaculty schoolFaculty = schoolFacultyMapper.selectByPrimaryKey(schoolFacultyId);
|
|
|
|
|
|
if (schoolFaculty == null) {
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "该院系不存在");
|
|
|
|
|
|
}
|
|
|
|
|
|
//再根据schoolMajorId查询 如果不存在则返回
|
|
|
|
|
|
SchoolMajor schoolMajor = schoolMajorMapper.selectByPrimaryKey(schoolMajorId);
|
|
|
|
|
|
if (schoolMajor == null) {
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "该专业不存在");
|
|
|
|
|
|
}
|
|
|
|
|
|
//检查userName是否已经存在
|
|
|
|
|
|
boolean b = userInfoService.existsByUserName(userName);
|
|
|
|
|
|
if(b){
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "账号已存在");
|
|
|
|
|
|
}
|
|
|
|
|
|
Userinfo userInfo = new Userinfo();
|
|
|
|
|
|
userInfo.setUserId(UUID.randomUUID().toString());
|
|
|
|
|
|
userInfo.setName(name);
|
|
|
|
|
|
userInfo.setUsername(userName);
|
|
|
|
|
|
userInfo.setPassword("123qwe");
|
|
|
|
|
|
userInfo.setPhone(phone);
|
|
|
|
|
|
userInfo.setEmail(email);
|
|
|
|
|
|
userInfo.setCreateTime(new Date());
|
|
|
|
|
|
userInfo.setRole(3);
|
|
|
|
|
|
userInfo.setSchoolId(schoolId);
|
|
|
|
|
|
userInfo.setSchoolFacultyId(schoolFacultyId);
|
|
|
|
|
|
userInfo.setSchoolMajorId(schoolMajorId);
|
|
|
|
|
|
userInfo.setSchoolClassId(null);
|
|
|
|
|
|
userInfo.setCodeFrom("添加");
|
|
|
|
|
|
|
|
|
|
|
|
int insert = userinfoMapper.insert(userInfo);
|
|
|
|
|
|
if (insert == 1) {
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.OK, "教师管理-添加教师账号成功");
|
|
|
|
|
|
} else {
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "教师管理-添加教师账号失败");
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//分页条件查询
|
|
|
|
|
|
@PostMapping("/selectTeacher")
|
|
|
|
|
|
@ApiOperation("教师管理-查询教师账号信息")
|
|
|
|
|
|
@AnonymousAccess
|
|
|
|
|
|
public ResultEntity<PageInfo<Userinfo>> selectTeacher(@ApiParam("学校ID") @RequestParam(required = false) String schoolId,
|
|
|
|
|
|
@ApiParam("教师名称") @RequestParam(required = false) String name,
|
|
|
|
|
|
@ApiParam("教师工号") @RequestParam(required = false) String userName,
|
|
|
|
|
|
@RequestParam Integer index,
|
|
|
|
|
|
@RequestParam Integer size) {
|
|
|
|
|
|
PageHelper.startPage(index, size);
|
|
|
|
|
|
UserinfoExample userInfoExample = new UserinfoExample();
|
|
|
|
|
|
UserinfoExample.Criteria criteria = userInfoExample.createCriteria();
|
|
|
|
|
|
School school=new School();
|
|
|
|
|
|
if (StringUtils.isNotBlank(schoolId)) {
|
|
|
|
|
|
school = schoolMapper.selectByPrimaryKey(schoolId);
|
|
|
|
|
|
criteria.andSchoolIdEqualTo(schoolId);
|
|
|
|
|
|
}
|
|
|
|
|
|
if (StringUtils.isNotBlank(name)) {
|
|
|
|
|
|
criteria.andNameEqualTo(name);
|
|
|
|
|
|
}
|
|
|
|
|
|
if (StringUtils.isNotBlank(userName)) {
|
|
|
|
|
|
criteria.andUsernameEqualTo(userName);
|
|
|
|
|
|
}
|
|
|
|
|
|
List<Userinfo> userInfoList = userinfoMapper.selectByExample(userInfoExample);
|
|
|
|
|
|
for (int i = 0; i < userInfoList.size(); i++) {
|
|
|
|
|
|
if(StringUtils.isNotBlank(schoolId)){
|
|
|
|
|
|
userInfoList.get(i).setSchoolName(school.getSchoolName());
|
|
|
|
|
|
}else {
|
|
|
|
|
|
String schoolId1 = userInfoList.get(i).getSchoolId();
|
|
|
|
|
|
school = schoolMapper.selectByPrimaryKey(schoolId1);
|
|
|
|
|
|
userInfoList.get(i).setSchoolName(school.getSchoolName());
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
PageInfo<Userinfo> pageInfo = new PageInfo<>(userInfoList);
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.OK, "查询教师账号信息成功!", pageInfo);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//编辑
|
|
|
|
|
|
@PostMapping("/updateTeacher")
|
|
|
|
|
|
@ApiOperation("教师管理-编辑教师账号信息")
|
|
|
|
|
|
@AnonymousAccess
|
|
|
|
|
|
public ResultEntity updateTeacher(@RequestBody Userinfo userInfo) {
|
|
|
|
|
|
int i = userinfoMapper.updateByPrimaryKey(userInfo);
|
|
|
|
|
|
if(i==1){
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.OK, "编辑教师账号信息成功!");
|
|
|
|
|
|
}
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "编辑教师账号信息失败!");
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//初始化密码
|
|
|
|
|
|
@PostMapping("/updateTeacherPassword")
|
|
|
|
|
|
@ApiOperation("教师管理-初始化密码")
|
|
|
|
|
|
@AnonymousAccess
|
|
|
|
|
|
public ResultEntity updateTeacher(@RequestParam String userId) {
|
|
|
|
|
|
Userinfo userInfo = userinfoMapper.selectByPrimaryKey(userId);
|
|
|
|
|
|
userInfo.setPassword("123qwe");
|
|
|
|
|
|
int i = userinfoMapper.updateByPrimaryKey(userInfo);
|
|
|
|
|
|
if(i==1){
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.OK, "初始化密码成功!");
|
|
|
|
|
|
}
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "初始化密码失败!");
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//微信绑定 *****
|
|
|
|
|
|
|
|
|
|
|
|
//删除
|
|
|
|
|
|
@PostMapping("/deleteTeacher")
|
|
|
|
|
|
@ApiOperation("教师管理-删除")
|
|
|
|
|
|
@AnonymousAccess
|
|
|
|
|
|
public ResultEntity deleteTeacher(@RequestParam String userId) {
|
|
|
|
|
|
int i = userinfoMapper.deleteByPrimaryKey(userId);
|
|
|
|
|
|
if(i==1){
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.OK, "删除成功!");
|
|
|
|
|
|
}
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "删除失败!");
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//导入 同步子系统账户
|
|
|
|
|
|
@PostMapping("/uploadTeacherUserInfo")
|
|
|
|
|
|
@ApiOperation("教师管理-导入教师账号")
|
|
|
|
|
|
@AnonymousAccess
|
|
|
|
|
|
public ResultEntity uploadTeacherUserInfo(@RequestParam MultipartFile file){
|
|
|
|
|
|
// 基本校验
|
|
|
|
|
|
if (file.isEmpty()) {
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "上传文件不能为空!");
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
String originalFilename = file.getOriginalFilename();
|
|
|
|
|
|
if (!originalFilename.endsWith(".xls") && !originalFilename.endsWith(".xlsx")) {
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "请上传Excel文件!");
|
|
|
|
|
|
}
|
|
|
|
|
|
if (file.getSize() > 10 * 1024 * 1024) { // 10MB限制
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "文件大小不能超过10MB!");
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
try (InputStream inputStream = file.getInputStream()) {
|
|
|
|
|
|
// 解析Excel
|
|
|
|
|
|
List<TeacherImportDTO> teacherList = EasyExcel.read(inputStream)
|
|
|
|
|
|
.head(TeacherImportDTO.class)
|
|
|
|
|
|
.sheet()
|
|
|
|
|
|
.doReadSync();
|
|
|
|
|
|
|
|
|
|
|
|
// 数据校验
|
|
|
|
|
|
List<String> errorMessages = validateService.validateTeacherData(teacherList);
|
|
|
|
|
|
if (!errorMessages.isEmpty()) {
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "数据校验失败!",errorMessages);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 异步处理导入*****
|
|
|
|
|
|
importService.processTeacherImport(teacherList);
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.OK, "导入成功!");
|
|
|
|
|
|
|
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "数据校验失败!",e.getMessage());
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//导出
|
|
|
|
|
|
@PostMapping("/exportTeacherUserInfo")
|
|
|
|
|
|
@ApiOperation("教师管理-导出")
|
|
|
|
|
|
@AnonymousAccess
|
|
|
|
|
|
public void exportTeacherUserInfo(HttpServletResponse response,
|
|
|
|
|
|
@RequestParam String schoolId) {
|
|
|
|
|
|
if(StringUtils.isNotBlank(schoolId)){
|
|
|
|
|
|
UserinfoExample userInfoExample = new UserinfoExample();
|
|
|
|
|
|
userInfoExample.createCriteria().andSchoolIdEqualTo(schoolId).andRoleEqualTo(3);
|
|
|
|
|
|
List<Userinfo> list = userinfoMapper.selectByExample(userInfoExample);
|
|
|
|
|
|
//导出的表名
|
|
|
|
|
|
String title = "老师账号汇总";
|
|
|
|
|
|
//表中第一行表头字段
|
|
|
|
|
|
String[] headers = {"姓名", "工号", "性别", "手机号", "邮箱"};
|
|
|
|
|
|
|
|
|
|
|
|
//具体需要写入excel需要哪些字段,这些字段取自UserReward类,也就是上面的实际数据结果集的泛型
|
|
|
|
|
|
List<String> listColumn = Arrays.asList("name", "username", "sex", "phone", "email");
|
|
|
|
|
|
try {
|
|
|
|
|
|
FilePortUtil.exportExcel(response, title, headers, list, listColumn);
|
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//*****************************************学生管理*********************************************
|
|
|
|
|
|
//*****************************************学生管理*********************************************
|
|
|
|
|
|
//*****************************************学生管理*********************************************
|
|
|
|
|
|
//新增 *****创建资金账户
|
|
|
|
|
|
@PostMapping("/addStudentAccount")
|
|
|
|
|
|
@ApiOperation("学生管理-添加学生账号")
|
|
|
|
|
|
@AnonymousAccess
|
|
|
|
|
|
public ResultEntity addStudentAccount(@ApiParam("学校ID") @RequestParam String schoolId,
|
|
|
|
|
|
@ApiParam("学校名称") @RequestParam String schoolName,
|
|
|
|
|
|
@ApiParam("院系ID") @RequestParam String schoolFacultyId,
|
|
|
|
|
|
@ApiParam("专业ID") @RequestParam String schoolMajorId,
|
|
|
|
|
|
@ApiParam("专业名称") @RequestParam String schoolMajorName,
|
|
|
|
|
|
@ApiParam("班级名称") @RequestParam String schoolClassName,
|
|
|
|
|
|
@ApiParam("班级Id") @RequestParam String schoolClassId,
|
|
|
|
|
|
@ApiParam("学生姓名") @RequestParam String name,
|
|
|
|
|
|
@ApiParam("学号") @RequestParam String userName,
|
|
|
|
|
|
@ApiParam("电话号码") @RequestParam(required = false) String phone,
|
|
|
|
|
|
@ApiParam("电子邮箱") @RequestParam(required = false) String email) throws JsonProcessingException {
|
|
|
|
|
|
//先根据schoolId进行查询 如果不存在则返回
|
|
|
|
|
|
School school = schoolMapper.selectByPrimaryKey(schoolId);
|
|
|
|
|
|
if (school == null) {
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "该学校不存在");
|
|
|
|
|
|
}
|
|
|
|
|
|
//再根据schoolFacultyId查询 如果不存在则返回
|
|
|
|
|
|
SchoolFaculty schoolFaculty = schoolFacultyMapper.selectByPrimaryKey(schoolFacultyId);
|
|
|
|
|
|
if (schoolFaculty == null) {
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "该院系不存在");
|
|
|
|
|
|
}
|
|
|
|
|
|
//再根据schoolMajorId查询 如果不存在则返回
|
|
|
|
|
|
SchoolMajor schoolMajor = schoolMajorMapper.selectByPrimaryKey(schoolMajorId);
|
|
|
|
|
|
if (schoolMajor == null) {
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "该专业不存在");
|
|
|
|
|
|
}
|
|
|
|
|
|
SchoolClass schoolClass = schoolClassMapper.selectByPrimaryKey(schoolClassId);
|
|
|
|
|
|
if(schoolClass==null){
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "该班级不存在");
|
|
|
|
|
|
}
|
|
|
|
|
|
//检查userName是否已经存在
|
|
|
|
|
|
boolean b = userInfoService.existsByUserName(userName);
|
|
|
|
|
|
if(b){
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "账号已存在");
|
|
|
|
|
|
}
|
|
|
|
|
|
Userinfo userInfo = new Userinfo();
|
|
|
|
|
|
userInfo.setUserId(UUID.randomUUID().toString());
|
|
|
|
|
|
userInfo.setName(name);
|
|
|
|
|
|
userInfo.setUsername(userName);
|
|
|
|
|
|
userInfo.setPassword("123qwe");
|
|
|
|
|
|
userInfo.setPhone(phone);
|
|
|
|
|
|
userInfo.setEmail(email);
|
|
|
|
|
|
userInfo.setCreateTime(new Date());
|
|
|
|
|
|
userInfo.setRole(4);
|
|
|
|
|
|
userInfo.setSchoolId(schoolId);
|
|
|
|
|
|
userInfo.setSchoolFacultyId(schoolFacultyId);
|
|
|
|
|
|
userInfo.setSchoolMajorId(schoolMajorId);
|
|
|
|
|
|
userInfo.setSchoolClassId(null);
|
|
|
|
|
|
userInfo.setCodeFrom("添加");
|
|
|
|
|
|
|
|
|
|
|
|
int insert = userinfoMapper.insert(userInfo);
|
|
|
|
|
|
if (insert == 1) {
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.OK, "学生管理-添加学生账号成功");
|
|
|
|
|
|
} else {
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "学生管理-添加学生账号失败");
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//查询
|
|
|
|
|
|
@PostMapping("/selectStudent")
|
|
|
|
|
|
@ApiOperation("学生管理-查询学生账号信息")
|
|
|
|
|
|
@AnonymousAccess
|
|
|
|
|
|
public ResultEntity<PageInfo<Userinfo>> selectStudent(@ApiParam("学校ID") @RequestParam(required = false) String schoolId,
|
|
|
|
|
|
@ApiParam("班级ID") @RequestParam(required = false) String schoolClassId,
|
|
|
|
|
|
@ApiParam("学生姓名") @RequestParam(required = false) String name,
|
|
|
|
|
|
@ApiParam("学生学号") @RequestParam(required = false) String userName,
|
|
|
|
|
|
@RequestParam Integer index,
|
|
|
|
|
|
@RequestParam Integer size) {
|
|
|
|
|
|
PageHelper.startPage(index, size);
|
|
|
|
|
|
UserinfoExample userInfoExample = new UserinfoExample();
|
|
|
|
|
|
UserinfoExample.Criteria criteria = userInfoExample.createCriteria();
|
|
|
|
|
|
School school=new School();
|
|
|
|
|
|
SchoolClass schoolClass = new SchoolClass();
|
|
|
|
|
|
if (StringUtils.isNotBlank(schoolId)) {
|
|
|
|
|
|
school = schoolMapper.selectByPrimaryKey(schoolId);
|
|
|
|
|
|
criteria.andSchoolIdEqualTo(schoolId);
|
|
|
|
|
|
}
|
|
|
|
|
|
if (StringUtils.isNotBlank(name)) {
|
|
|
|
|
|
criteria.andNameEqualTo(name);
|
|
|
|
|
|
}
|
|
|
|
|
|
if (StringUtils.isNotBlank(userName)) {
|
|
|
|
|
|
criteria.andUsernameEqualTo(userName);
|
|
|
|
|
|
}
|
|
|
|
|
|
if(StringUtils.isNotBlank(schoolClassId)){
|
|
|
|
|
|
schoolClass=schoolClassMapper.selectByPrimaryKey(schoolClassId);
|
|
|
|
|
|
criteria.andSchoolClassIdEqualTo(schoolClassId);
|
|
|
|
|
|
}
|
|
|
|
|
|
List<Userinfo> userInfoList = userinfoMapper.selectByExample(userInfoExample);
|
|
|
|
|
|
for (int i = 0; i < userInfoList.size(); i++) {
|
|
|
|
|
|
if(StringUtils.isNotBlank(schoolId)){
|
|
|
|
|
|
userInfoList.get(i).setSchoolName(school.getSchoolName());
|
|
|
|
|
|
if(StringUtils.isNotBlank(schoolClassId)){
|
|
|
|
|
|
userInfoList.get(i).setClassName(schoolClass.getClassName());
|
|
|
|
|
|
}else {
|
|
|
|
|
|
String schoolClassId1 = userInfoList.get(i).getSchoolClassId();
|
|
|
|
|
|
schoolClass = schoolClassMapper.selectByPrimaryKey(schoolClassId1);
|
|
|
|
|
|
userInfoList.get(i).setClassName(schoolClass.getClassName());
|
|
|
|
|
|
}
|
|
|
|
|
|
}else {
|
|
|
|
|
|
String schoolId1 = userInfoList.get(i).getSchoolId();
|
|
|
|
|
|
school = schoolMapper.selectByPrimaryKey(schoolId1);
|
|
|
|
|
|
userInfoList.get(i).setSchoolName(school.getSchoolName());
|
|
|
|
|
|
if(StringUtils.isNotBlank(schoolClassId)){
|
|
|
|
|
|
userInfoList.get(i).setClassName(schoolClass.getClassName());
|
|
|
|
|
|
}else {
|
|
|
|
|
|
String schoolClassId1 = userInfoList.get(i).getSchoolClassId();
|
|
|
|
|
|
schoolClass = schoolClassMapper.selectByPrimaryKey(schoolClassId1);
|
|
|
|
|
|
userInfoList.get(i).setClassName(schoolClass.getClassName());
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
PageInfo<Userinfo> pageInfo = new PageInfo<>(userInfoList);
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.OK, "查询学生账号信息成功!", pageInfo);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//编辑
|
|
|
|
|
|
@PostMapping("/updateStudent")
|
|
|
|
|
|
@ApiOperation("学生管理-编辑学生账号信息")
|
|
|
|
|
|
@AnonymousAccess
|
|
|
|
|
|
public ResultEntity updateStudent(@RequestBody Userinfo userInfo) {
|
|
|
|
|
|
int i = userinfoMapper.updateByPrimaryKey(userInfo);
|
|
|
|
|
|
if(i==1){
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.OK, "编辑学生账号信息成功!");
|
|
|
|
|
|
}
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "编辑学生账号信息失败!");
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//删除
|
|
|
|
|
|
@PostMapping("/deleteStudent")
|
|
|
|
|
|
@ApiOperation("学生管理-删除")
|
|
|
|
|
|
@AnonymousAccess
|
|
|
|
|
|
public ResultEntity deleteStudent(@RequestParam String userId) {
|
|
|
|
|
|
int i = userinfoMapper.deleteByPrimaryKey(userId);
|
|
|
|
|
|
if(i==1){
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.OK, "删除成功!");
|
|
|
|
|
|
}
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "删除失败!");
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//初始化密码
|
|
|
|
|
|
@PostMapping("/updateStudentPassword")
|
|
|
|
|
|
@ApiOperation("学生管理-初始化密码")
|
|
|
|
|
|
@AnonymousAccess
|
|
|
|
|
|
public ResultEntity updateStudentPassword(@RequestParam String userId) {
|
|
|
|
|
|
Userinfo userInfo = userinfoMapper.selectByPrimaryKey(userId);
|
|
|
|
|
|
userInfo.setPassword("123qwe");
|
|
|
|
|
|
int i = userinfoMapper.updateByPrimaryKey(userInfo);
|
|
|
|
|
|
if(i==1){
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.OK, "初始化密码成功!");
|
|
|
|
|
|
}
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "初始化密码失败!");
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//微信绑定*****
|
|
|
|
|
|
//导入 ***** 创建资金账户
|
|
|
|
|
|
@PostMapping("/uploadStudentUserInfo")
|
|
|
|
|
|
@ApiOperation("学生管理-导入学生账号")
|
|
|
|
|
|
@AnonymousAccess
|
|
|
|
|
|
public ResultEntity uploadStudentUserInfo(@RequestParam MultipartFile file){
|
|
|
|
|
|
// 基本校验
|
|
|
|
|
|
if (file.isEmpty()) {
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "上传文件不能为空!");
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
String originalFilename = file.getOriginalFilename();
|
|
|
|
|
|
if (!originalFilename.endsWith(".xls") && !originalFilename.endsWith(".xlsx")) {
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "请上传Excel文件!");
|
|
|
|
|
|
}
|
|
|
|
|
|
if (file.getSize() > 10 * 1024 * 1024) { // 10MB限制
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "文件大小不能超过10MB!");
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
try (InputStream inputStream = file.getInputStream()) {
|
|
|
|
|
|
// 解析Excel
|
|
|
|
|
|
List<StudentImportDTO> studentList = EasyExcel.read(inputStream)
|
|
|
|
|
|
.head(StudentImportDTO.class)
|
|
|
|
|
|
.sheet()
|
|
|
|
|
|
.doReadSync();
|
|
|
|
|
|
|
|
|
|
|
|
// 数据校验
|
|
|
|
|
|
List<String> errorMessages = validateService.validateStudentData(studentList);
|
|
|
|
|
|
if (!errorMessages.isEmpty()) {
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "数据校验失败!",errorMessages);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 异步处理导入*****
|
|
|
|
|
|
importService.processStudentImport(studentList);
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.OK, "导入成功!");
|
|
|
|
|
|
|
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
|
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "数据校验失败!",e.getMessage());
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//导出
|
|
|
|
|
|
@PostMapping("/exportStudentUserInfo")
|
|
|
|
|
|
@ApiOperation("学生管理-导出")
|
|
|
|
|
|
@AnonymousAccess
|
|
|
|
|
|
public void exportStudentUserInfo(HttpServletResponse response,
|
|
|
|
|
|
@RequestParam String schoolId) {
|
|
|
|
|
|
if(StringUtils.isNotBlank(schoolId)){
|
|
|
|
|
|
UserinfoExample userInfoExample = new UserinfoExample();
|
|
|
|
|
|
userInfoExample.createCriteria().andSchoolIdEqualTo(schoolId).andRoleEqualTo(4);
|
|
|
|
|
|
List<Userinfo> list = userinfoMapper.selectByExample(userInfoExample);
|
|
|
|
|
|
//导出的表名
|
|
|
|
|
|
String title = "学生账号汇总";
|
|
|
|
|
|
//表中第一行表头字段
|
|
|
|
|
|
String[] headers = {"姓名", "学号", "性别", "手机号", "邮箱"};
|
|
|
|
|
|
|
|
|
|
|
|
//具体需要写入excel需要哪些字段,这些字段取自UserReward类,也就是上面的实际数据结果集的泛型
|
|
|
|
|
|
List<String> listColumn = Arrays.asList("name", "username", "sex", "phone", "email");
|
|
|
|
|
|
try {
|
|
|
|
|
|
FilePortUtil.exportExcel(response, title, headers, list, listColumn);
|
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|