修改用户登录等接口

main
whb 1 year ago
parent bdbd6ccf18
commit 3e125f1927

@ -16,6 +16,8 @@ public class Constant {
*/ */
public static final String BASIC = "Basic"; public static final String BASIC = "Basic";
public static final String SYSTEMNAME = "电商互联网产品开发实训系统";
public static final String PRO_GYQDGL="供应渠道管理"; public static final String PRO_GYQDGL="供应渠道管理";
public static final String MODULE_CGXQYC="采购需求预测"; public static final String MODULE_CGXQYC="采购需求预测";
public static final String MODULE_CGCPDW="采购产品定位"; public static final String MODULE_CGCPDW="采购产品定位";

@ -6,6 +6,7 @@ import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.userdetails.UserDetails; import org.springframework.security.core.userdetails.UserDetails;
import java.util.Collection; import java.util.Collection;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
@ -29,6 +30,8 @@ public class JwtUser implements UserDetails {
private String majorName; private String majorName;
private int collegeId; private int collegeId;
private String collegeName; private String collegeName;
private Date authorizeTime;
private Date authorizeEndTime;
private List<String> authorityCodes; private List<String> authorityCodes;
@Override @Override

@ -1,9 +1,13 @@
package com.sztzjy.linkCommerce.controller.stu; package com.sztzjy.linkCommerce.controller.stu;
import cn.hutool.core.util.IdUtil;
import cn.hutool.system.UserInfo; import cn.hutool.system.UserInfo;
import com.sztzjy.linkCommerce.annotation.AnonymousAccess; import com.sztzjy.linkCommerce.annotation.AnonymousAccess;
import com.sztzjy.linkCommerce.config.Constant;
import com.sztzjy.linkCommerce.config.exception.UnAuthorizedException;
import com.sztzjy.linkCommerce.config.security.JwtUser; import com.sztzjy.linkCommerce.config.security.JwtUser;
import com.sztzjy.linkCommerce.config.security.LoginResult;
import com.sztzjy.linkCommerce.config.security.TokenProvider; import com.sztzjy.linkCommerce.config.security.TokenProvider;
import com.sztzjy.linkCommerce.entity.SchoolClass; import com.sztzjy.linkCommerce.entity.SchoolClass;
import com.sztzjy.linkCommerce.entity.SchoolClassExample; import com.sztzjy.linkCommerce.entity.SchoolClassExample;
@ -13,9 +17,11 @@ import com.sztzjy.linkCommerce.mapper.SchoolClassMapper;
import com.sztzjy.linkCommerce.mapper.UserinfoMapper; import com.sztzjy.linkCommerce.mapper.UserinfoMapper;
import com.sztzjy.linkCommerce.service.SchoolService; import com.sztzjy.linkCommerce.service.SchoolService;
import com.sztzjy.linkCommerce.service.UserInfoService; import com.sztzjy.linkCommerce.service.UserInfoService;
import com.sztzjy.linkCommerce.util.ResultDataEntity;
import com.sztzjy.linkCommerce.util.ResultEntity; import com.sztzjy.linkCommerce.util.ResultEntity;
import com.sztzjy.linkCommerce.util.RsaUtil; import com.sztzjy.linkCommerce.util.RsaUtil;
import com.sztzjy.linkCommerce.util.TzApi;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
@ -25,6 +31,7 @@ import org.springframework.security.authentication.UsernamePasswordAuthenticatio
import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder; import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
import org.springframework.security.core.Authentication; import org.springframework.security.core.Authentication;
import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
@ -36,6 +43,7 @@ import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.concurrent.CompletableFuture;
@RestController @RestController
@RequestMapping("/api/user") @RequestMapping("/api/user")
@ -86,7 +94,12 @@ public class LoginController {
map.put("schoolId", user.getSchoolId()); map.put("schoolId", user.getSchoolId());
map.put("classId", user.getSchoolClassId()); map.put("classId", user.getSchoolClassId());
if(user.getRole()==4){ if(user.getRole()==4){
map.put("className",schoolClassMapper.selectByPrimaryKey(user.getSchoolClassId()).getClassName()); SchoolClass schoolClass = schoolClassMapper.selectByPrimaryKey(user.getSchoolClassId());
if (schoolClass == null) {
map.put("className",null);
}else {
map.put("className",schoolClass.getClassName());
}
} }
map.put("userId", user.getUserId()); map.put("userId", user.getUserId());
map.put("token", token); map.put("token", token);
@ -95,7 +108,83 @@ public class LoginController {
return new ResultEntity(HttpStatus.BAD_REQUEST, "账号不存在"); return new ResultEntity(HttpStatus.BAD_REQUEST, "账号不存在");
} }
}else { }else {
return new ResultEntity(HttpStatus.BAD_REQUEST, "暂不支持智云跳转"); if (!org.springframework.util.StringUtils.hasText(userName) && !org.springframework.util.StringUtils.hasText(passwordEncode) && !org.springframework.util.StringUtils.hasText(TOKEN)) {
throw new IllegalArgumentException("请提供登录凭据");
}
if (org.springframework.util.StringUtils.hasText(TOKEN)) {
jwtUser = TokenProvider.getJWTUserByZhiYun(TOKEN);
if (jwtUser == null) {
throw new UnAuthorizedException("token 无效!");
}
passWord = jwtUser.getPassword();
userName = jwtUser.getStudentId();
if (!org.springframework.util.StringUtils.hasText(passWord)) {
throw new UnAuthorizedException("token 中缺少用户密码信息!");
}
try {
jwtUser = TzApi.foreignExchangeTradingLogin(userName, passWord, Constant.SYSTEMNAME);
if (jwtUser == null) {
throw new UnAuthorizedException("登录失败,用户不存在!");
}
Date authorizeTime = jwtUser.getAuthorizeTime();
Date authorizeEndTime = jwtUser.getAuthorizeEndTime();
if (authorizeTime == null || authorizeEndTime == null) {
throw new UnAuthorizedException("系统未授权!");
}
Date now = new Date();
if (now.before(authorizeTime) || now.after(authorizeEndTime)) {
throw new UnAuthorizedException("系统授权已过期!");
}
Authentication authentication = new UsernamePasswordAuthenticationToken(jwtUser, null, jwtUser.getAuthorities());
SecurityContextHolder.getContext().setAuthentication(authentication);
String token = TokenProvider.createToken(jwtUser);
UserinfoExample stuUserExample = new UserinfoExample();
stuUserExample.createCriteria().andUsernameEqualTo(userName);
List<Userinfo> userinfos = userinfoMapper.selectByExample(stuUserExample);
//不存在返回错误,正确放行
if (userinfos.isEmpty()) {
return new ResultEntity(HttpStatus.BAD_REQUEST, "密码错误");
}
Map<String, Object> map = new HashMap<>();
Userinfo user = userinfos.get(0);
map.put("name", user.getName());
map.put("username", user.getUsername());
map.put("roleId", String.valueOf(user.getRole()));
map.put("schoolId", user.getSchoolId());
map.put("classId", user.getSchoolClassId());
if(user.getRole()==4){
SchoolClass schoolClass = schoolClassMapper.selectByPrimaryKey(user.getSchoolClassId());
if (schoolClass == null) {
map.put("className",null);
}else {
map.put("className",schoolClass.getClassName());
}
}
map.put("userId", user.getUserId());
map.put("token", token);
return new ResultEntity(HttpStatus.OK, map);
} catch (UnAuthorizedException e) {
throw e; // 抛出授权类异常,保留原语义
} catch (Exception e) {
// 抛出其他登录异常,比如远程接口失败、系统错误等
throw new RuntimeException("系统登录校验失败", e);
}
}
throw new RuntimeException("系统登录校验失败");
} }
} }

@ -23,6 +23,7 @@ import org.springframework.web.bind.annotation.*;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
@ -42,21 +43,80 @@ public class ScoreController {
UserInfoService userInfoService; UserInfoService userInfoService;
@PostMapping("/selectStuModuleScoreByUserId") @PostMapping("/selectStuModuleScoreByUserId")
@ApiOperation("查询学生模块分数") @ApiOperation("查询学生模块分数")
@AnonymousAccess @AnonymousAccess
public ResultEntity<List<StuGrade>> selectStuModuleScore(@RequestParam String userId) { public ResultEntity<List<StuGrade>> selectStuModuleScore(@RequestParam String userId) {
// 定义模块的固定排序顺序
List<String> moduleOrder = Arrays.asList(
"行业需求分析",
"竞争环境分析",
"消费人群分析-RFM分析",
"消费人群分析-波士顿矩阵分析",
"用户数据分析-描述性统计",
"用户数据分析-聚类分析",
"数据化选品",
"产品定价",
"产品差异化定位",
"产品结构规划",
"发布渠道评估",
"产品推广测试",
"渠道表现分析",
"产品营销定位",
"采购需求预测",
"采购产品定位",
"供应商评估与选择",
"产品表现分析",
"产品问题诊断-五维四率",
"产品问题诊断-KANO模型",
"产品问题诊断-市场机会矩阵",
"产品问题诊断-流量数据分析法",
"产品问题诊断-用户评价分析",
"品类结构优化-帕累托/ABC分析",
"品类结构优化-购物篮分析"
);
// 创建查询条件
StuGradeExample stuGradeExample = new StuGradeExample(); StuGradeExample stuGradeExample = new StuGradeExample();
stuGradeExample.createCriteria().andUserIdEqualTo(userId); stuGradeExample.createCriteria().andUserIdEqualTo(userId);
// 执行查询
List<StuGrade> stuGradeList = stuGradeMapper.selectByExample(stuGradeExample); List<StuGrade> stuGradeList = stuGradeMapper.selectByExample(stuGradeExample);
if(stuGradeList.isEmpty() || stuGradeList==null){
// 检查查询结果是否为空
if(stuGradeList == null || stuGradeList.isEmpty()) {
return new ResultEntity<>(HttpStatus.OK, "暂无数据"); return new ResultEntity<>(HttpStatus.OK, "暂无数据");
}else {
return new ResultEntity<>(HttpStatus.OK, "查询成功",stuGradeList);
} }
// 按照预定义的模块顺序排序
stuGradeList.sort((g1, g2) -> {
int index1 = moduleOrder.indexOf(g1.getModule());
int index2 = moduleOrder.indexOf(g2.getModule());
// 如果模块不在排序列表中,则放在最后
index1 = index1 == -1 ? Integer.MAX_VALUE : index1;
index2 = index2 == -1 ? Integer.MAX_VALUE : index2;
return Integer.compare(index1, index2);
});
return new ResultEntity<>(HttpStatus.OK, "查询成功", stuGradeList);
} }
// @PostMapping("/selectStuModuleScoreByUserId")
// @ApiOperation("查询学生模块分数")
// @AnonymousAccess
// public ResultEntity<List<StuGrade>> selectStuModuleScore(@RequestParam String userId) {
// StuGradeExample stuGradeExample = new StuGradeExample();
// stuGradeExample.createCriteria().andUserIdEqualTo(userId);
// List<StuGrade> stuGradeList = stuGradeMapper.selectByExample(stuGradeExample);
// if(stuGradeList.isEmpty() || stuGradeList==null){
// return new ResultEntity<>(HttpStatus.OK, "暂无数据");
// }else {
// return new ResultEntity<>(HttpStatus.OK, "查询成功",stuGradeList);
// }
// }
@PostMapping("/selectModuleScore") @PostMapping("/selectModuleScore")
@ApiOperation("查询学生首页成绩和排名") @ApiOperation("查询学生首页成绩和排名")
@AnonymousAccess @AnonymousAccess

@ -9,6 +9,7 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.List; import java.util.List;
@ -31,7 +32,7 @@ public class TaskAllocationController {
List<TaskAllocation> taskAllocations = taskAllocationMapper.selectByExample(taskAllocationExample); List<TaskAllocation> taskAllocations = taskAllocationMapper.selectByExample(taskAllocationExample);
if (taskAllocations == null || taskAllocations.isEmpty()) { if (taskAllocations == null || taskAllocations.isEmpty()) {
TaskAllocationExample taskAllocationExampleAdmin = new TaskAllocationExample(); TaskAllocationExample taskAllocationExampleAdmin = new TaskAllocationExample();
taskAllocationExample.createCriteria().andClassIdEqualTo("999999999"); taskAllocationExampleAdmin.createCriteria().andClassIdEqualTo("999999999");
taskAllocationExampleAdmin.setOrderByClause("sort asc"); taskAllocationExampleAdmin.setOrderByClause("sort asc");
taskAllocations = taskAllocationMapper.selectByExample(taskAllocationExampleAdmin); taskAllocations = taskAllocationMapper.selectByExample(taskAllocationExampleAdmin);
} }
@ -39,8 +40,9 @@ public class TaskAllocationController {
} }
@PostMapping("/updateTaskAllocationByClassId") @PostMapping("/updateTaskAllocationByClassId")
@ApiOperation("根据班级ID查询任务分配") @ApiOperation("编辑任务分配")
@AnonymousAccess @AnonymousAccess
@Transactional
public ResultEntity updateTaskAllocationByClassId(@RequestBody List<TaskAllocation> taskAllocationList, @RequestParam String classId, @RequestParam String schoolId) { public ResultEntity updateTaskAllocationByClassId(@RequestBody List<TaskAllocation> taskAllocationList, @RequestParam String classId, @RequestParam String schoolId) {
if ("999999999".equals(schoolId) || "999999999".equals(classId)) { if ("999999999".equals(schoolId) || "999999999".equals(classId)) {
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "超管数据无法修改"); return new ResultEntity<>(HttpStatus.BAD_REQUEST, "超管数据无法修改");

@ -8,15 +8,19 @@ import com.sztzjy.linkCommerce.entity.*;
import com.sztzjy.linkCommerce.mapper.StuGradeMapper; import com.sztzjy.linkCommerce.mapper.StuGradeMapper;
import com.sztzjy.linkCommerce.mapper.StuRankMapper; import com.sztzjy.linkCommerce.mapper.StuRankMapper;
import com.sztzjy.linkCommerce.mapper.WeightMapper; import com.sztzjy.linkCommerce.mapper.WeightMapper;
import com.sztzjy.linkCommerce.service.ScoreRankService;
import com.sztzjy.linkCommerce.util.ResultEntity; import com.sztzjy.linkCommerce.util.ResultEntity;
import com.sztzjy.linkCommerce.util.excel.FilePortUtil;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import io.swagger.models.auth.In;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.Arrays;
import java.util.List; import java.util.List;
@ -30,16 +34,23 @@ public class TeaScoreController {
StuRankMapper stuRankMapper; StuRankMapper stuRankMapper;
@Autowired @Autowired
StuGradeMapper stuGradeMapper; StuGradeMapper stuGradeMapper;
@Autowired
ScoreRankService scoreRankService;
@PostMapping("/selectStuRankAndScore") @PostMapping("/selectStuRankAndScore")
@ApiOperation("查询学生成绩和排名") @ApiOperation("查询学生成绩和排名")
@AnonymousAccess @AnonymousAccess
public ResultEntity<PageInfo<StuRank>> selectStuRankAndScore(@RequestParam String classId, public ResultEntity<PageInfo<StuRank>> selectStuRankAndScore(@RequestParam(required = false) String classId,
@RequestParam String userName, @RequestParam(required = false) String userName,
@RequestParam String name, @RequestParam Integer index, @RequestParam Integer size) { @RequestParam(required = false) String name,
@RequestParam String schoolId,
@RequestParam Integer index, @RequestParam Integer size) {
PageHelper.startPage(index, size); PageHelper.startPage(index, size);
StuRankExample stuRankExample = new StuRankExample(); StuRankExample stuRankExample = new StuRankExample();
StuRankExample.Criteria criteria = stuRankExample.createCriteria(); StuRankExample.Criteria criteria = stuRankExample.createCriteria();
criteria.andSchoolIdEqualTo(schoolId);
String nowDate = scoreRankService.getNowDate();
criteria.andUpdateTimeEqualTo(nowDate);
if(StringUtils.isNotBlank(classId)){ if(StringUtils.isNotBlank(classId)){
criteria.andSchoolClassIdEqualTo(classId); criteria.andSchoolClassIdEqualTo(classId);
} }
@ -60,10 +71,60 @@ public class TeaScoreController {
@ApiOperation("查看学生成绩详情") @ApiOperation("查看学生成绩详情")
@AnonymousAccess @AnonymousAccess
public ResultEntity<List<StuGrade>> selectStuScoreDetail(@RequestParam String userId) { public ResultEntity<List<StuGrade>> selectStuScoreDetail(@RequestParam String userId) {
// 定义模块的固定排序顺序
List<String> moduleOrder = Arrays.asList(
"行业需求分析",
"竞争环境分析",
"消费人群分析-RFM分析",
"消费人群分析-波士顿矩阵分析",
"用户数据分析-描述性统计",
"用户数据分析-聚类分析",
"数据化选品",
"产品定价",
"产品差异化定位",
"产品结构规划",
"发布渠道评估",
"产品推广测试",
"渠道表现分析",
"产品营销定位",
"采购需求预测",
"采购产品定位",
"供应商评估与选择",
"产品表现分析",
"产品问题诊断-五维四率",
"产品问题诊断-KANO模型",
"产品问题诊断-市场机会矩阵",
"产品问题诊断-流量数据分析法",
"产品问题诊断-用户评价分析",
"品类结构优化-帕累托/ABC分析",
"品类结构优化-购物篮分析"
);
// 创建查询条件
StuGradeExample stuGradeExample = new StuGradeExample(); StuGradeExample stuGradeExample = new StuGradeExample();
stuGradeExample.createCriteria().andUserIdEqualTo(userId); stuGradeExample.createCriteria().andUserIdEqualTo(userId);
// 执行查询
List<StuGrade> stuGradeList = stuGradeMapper.selectByExample(stuGradeExample); List<StuGrade> stuGradeList = stuGradeMapper.selectByExample(stuGradeExample);
return new ResultEntity<>(HttpStatus.OK, "查看学生成绩详情成功",stuGradeList);
// 检查查询结果是否为空
if(stuGradeList == null || stuGradeList.isEmpty()) {
return new ResultEntity<>(HttpStatus.OK, "暂无数据");
}
// 按照预定义的模块顺序排序
stuGradeList.sort((g1, g2) -> {
int index1 = moduleOrder.indexOf(g1.getModule());
int index2 = moduleOrder.indexOf(g2.getModule());
// 如果模块不在排序列表中,则放在最后
index1 = index1 == -1 ? Integer.MAX_VALUE : index1;
index2 = index2 == -1 ? Integer.MAX_VALUE : index2;
return Integer.compare(index1, index2);
});
return new ResultEntity<>(HttpStatus.OK, "查看学生成绩详情成功", stuGradeList);
} }
//获取学校权重 //获取学校权重
@ -82,6 +143,7 @@ public class TeaScoreController {
@PostMapping("/updateWeight") @PostMapping("/updateWeight")
@ApiOperation("修改权重") @ApiOperation("修改权重")
@AnonymousAccess @AnonymousAccess
@Transactional
public ResultEntity updateWeight(@RequestBody Weight weight, @RequestParam String schoolId) { public ResultEntity updateWeight(@RequestBody Weight weight, @RequestParam String schoolId) {
if("999999999".equals(schoolId)){ if("999999999".equals(schoolId)){
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "权限不足"); return new ResultEntity<>(HttpStatus.BAD_REQUEST, "权限不足");
@ -107,4 +169,33 @@ public class TeaScoreController {
} }
} }
} }
@PostMapping("/exportStuScore")
@ApiOperation("导出学生成绩")
@AnonymousAccess
public void exportStuScore(HttpServletResponse response,
@RequestParam String schoolId) {
if (StringUtils.isNotBlank(schoolId)) {
StuRankExample stuRankExample = new StuRankExample();
StuRankExample.Criteria criteria = stuRankExample.createCriteria();
criteria.andSchoolIdEqualTo(schoolId);
String nowDate = scoreRankService.getNowDate();
criteria.andUpdateTimeEqualTo(nowDate);
stuRankExample.setOrderByClause("stu_rank asc");
List<StuRank> stuRankList = stuRankMapper.selectByExample(stuRankExample);
//导出的表名
String title = "学生成绩";
//表中第一行表头字段
String[] headers = {"学号", "学生姓名", "班级名称", "排名", "总分数"};
//具体需要写入excel需要哪些字段这些字段取自UserReward类也就是上面的实际数据结果集的泛型
List<String> listColumn = Arrays.asList("username", "name", "className", "stuRank", "score");
try {
FilePortUtil.exportExcel(response, title, headers, stuRankList, listColumn);
} catch (Exception e) {
e.printStackTrace();
}
}
}
} }

@ -1,8 +1,6 @@
package com.sztzjy.linkCommerce.controller.stu; package com.sztzjy.linkCommerce.controller.stu;
import com.alibaba.excel.EasyExcel; import com.alibaba.excel.EasyExcel;
import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.JsonProcessingException;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
@ -120,11 +118,11 @@ public class UserController {
@ApiParam("院校名称") @RequestParam(required = false) String schoolName) { @ApiParam("院校名称") @RequestParam(required = false) String schoolName) {
PageHelper.startPage(index, size); PageHelper.startPage(index, size);
SchoolExample schoolExample=new SchoolExample(); SchoolExample schoolExample = new SchoolExample();
SchoolExample.Criteria criteria = schoolExample.createCriteria(); SchoolExample.Criteria criteria = schoolExample.createCriteria();
if(StringUtils.isNotEmpty(schoolName)){ if (StringUtils.isNotEmpty(schoolName)) {
criteria.andSchoolNameLike("%"+schoolName+"%"); criteria.andSchoolNameLike("%" + schoolName + "%");
} }
List<School> schools = schoolMapper.selectByExample(schoolExample); List<School> schools = schoolMapper.selectByExample(schoolExample);
PageInfo<School> schoolPageInfo = new PageInfo<>(schools); PageInfo<School> schoolPageInfo = new PageInfo<>(schools);
@ -177,14 +175,24 @@ public class UserController {
@PostMapping("/seleteSchoolFaculty") @PostMapping("/seleteSchoolFaculty")
@ApiOperation("院系管理-查询") @ApiOperation("院系管理-查询")
@AnonymousAccess @AnonymousAccess
public ResultEntity<PageInfo<SchoolFacultyDto>> seleteSchoolFaculty(@ApiParam("当前页") Integer index, public ResultEntity<PageInfo<SchoolFacultyDto>> seleteSchoolFaculty(@ApiParam("当前页") @RequestParam Integer index,
@ApiParam("每页条数") Integer size, @ApiParam("每页条数") @RequestParam Integer size,
@ApiParam("学校ID") @RequestParam(required = false) String schoolId, @ApiParam("学校ID") @RequestParam(required = false) String schoolId,
@ApiParam("院系名称") @RequestParam(required = false) String schoolFacultyName) { @ApiParam("院系名称") @RequestParam(required = false) String schoolFacultyName) {
PageInfo<SchoolFacultyDto> pageInfo = schoolService.seleteSchoolFaculty(index, size, schoolId, schoolFacultyName); PageInfo<SchoolFacultyDto> pageInfo = schoolService.seleteSchoolFaculty(index, size, schoolId, schoolFacultyName);
return new ResultEntity<>(HttpStatus.OK, "院系管理-查询成功", pageInfo); return new ResultEntity<>(HttpStatus.OK, "院系管理-查询成功", pageInfo);
} }
@PostMapping("/seleteSchoolFacultyList")
@ApiOperation("院系管理-院系列表查询")
@AnonymousAccess
public ResultEntity<List<SchoolFaculty>> seleteSchoolFacultyList(@ApiParam("学校ID") @RequestParam String schoolId) {
SchoolFacultyExample schoolFacultyExample = new SchoolFacultyExample();
schoolFacultyExample.createCriteria().andSchoolIdEqualTo(schoolId);
List<SchoolFaculty> schoolFacultyList = schoolFacultyMapper.selectByExample(schoolFacultyExample);
return new ResultEntity<>(HttpStatus.OK, "院系管理-院系列表查询查询", schoolFacultyList);
}
@PostMapping("/deleteSchoolFaculty") @PostMapping("/deleteSchoolFaculty")
@ApiOperation("院系管理-删除") @ApiOperation("院系管理-删除")
@ -192,22 +200,28 @@ public class UserController {
public ResultEntity deleteSchoolFaculty(@ApiParam("院系ID") @RequestParam String schoolFacultyId, @RequestParam String userId) { public ResultEntity deleteSchoolFaculty(@ApiParam("院系ID") @RequestParam String schoolFacultyId, @RequestParam String userId) {
//先查询useriD 是否够权限 //先查询useriD 是否够权限
Userinfo userInfo = userinfoMapper.selectByPrimaryKey(userId); Userinfo userInfo = userinfoMapper.selectByPrimaryKey(userId);
if (userInfo.getRole() == 1 || userInfo.getRole() == 2) { if (userInfo.getRole() == 3) {
if (userInfo.getRole() == 2) {
SchoolFaculty schoolFaculty = schoolFacultyMapper.selectByPrimaryKey(schoolFacultyId); SchoolFaculty schoolFaculty = schoolFacultyMapper.selectByPrimaryKey(schoolFacultyId);
if (!schoolFaculty.getSchoolId().equals(userInfo.getSchoolId())) { if (!schoolFaculty.getSchoolId().equals(userInfo.getSchoolId())) {
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "院系管理-删除失败-权限不足"); return new ResultEntity<>(HttpStatus.BAD_REQUEST, "院系管理-删除失败-权限不足");
} else {
int i = schoolFacultyMapper.deleteByPrimaryKey(schoolFacultyId);
if (i == 1) {
return new ResultEntity<>(HttpStatus.OK, "院系管理-删除成功");
} else {
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "院系管理-删除失败");
}
} }
} }
if (userInfo.getRole() == 1) {
int i = schoolFacultyMapper.deleteByPrimaryKey(schoolFacultyId); int i = schoolFacultyMapper.deleteByPrimaryKey(schoolFacultyId);
if (i == 1) { if (i == 1) {
return new ResultEntity<>(HttpStatus.OK, "院系管理-删除成功"); return new ResultEntity<>(HttpStatus.OK, "院系管理-删除成功");
} else { } else {
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "院系管理-删除失败"); return new ResultEntity<>(HttpStatus.BAD_REQUEST, "院系管理-删除失败");
} }
} else {
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "院系管理-删除失败-权限不足");
} }
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "院系管理-删除失败-权限不足");
} }
@PostMapping("/updateSchoolFaculty") @PostMapping("/updateSchoolFaculty")
@ -219,22 +233,28 @@ public class UserController {
} }
//先查询useriD 是否够权限 //先查询useriD 是否够权限
Userinfo userInfo = userinfoMapper.selectByPrimaryKey(userId); Userinfo userInfo = userinfoMapper.selectByPrimaryKey(userId);
if (userInfo.getRole() == 1 || userInfo.getRole() == 2) { if (userInfo.getRole() == 3) {
if (userInfo.getRole() == 2) {
SchoolFaculty schoolFacultyT = schoolFacultyMapper.selectByPrimaryKey(schoolFaculty.getSchoolFacultyId()); SchoolFaculty schoolFacultyT = schoolFacultyMapper.selectByPrimaryKey(schoolFaculty.getSchoolFacultyId());
if (!schoolFacultyT.getSchoolId().equals(userInfo.getSchoolId())) { if (!schoolFacultyT.getSchoolId().equals(userInfo.getSchoolId())) {
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "院系管理-编辑失败-权限不足"); return new ResultEntity<>(HttpStatus.BAD_REQUEST, "院系管理-编辑失败-权限不足");
} else {
int i = schoolFacultyMapper.updateByPrimaryKey(schoolFaculty);
if (i == 1) {
return new ResultEntity<>(HttpStatus.OK, "院系管理-编辑成功");
} else {
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "院系管理-编辑失败");
}
} }
} }
if (userInfo.getRole() == 1) {
int i = schoolFacultyMapper.updateByPrimaryKey(schoolFaculty); int i = schoolFacultyMapper.updateByPrimaryKey(schoolFaculty);
if (i == 1) { if (i == 1) {
return new ResultEntity<>(HttpStatus.OK, "院系管理-编辑成功"); return new ResultEntity<>(HttpStatus.OK, "院系管理-编辑成功");
} else { } else {
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "院系管理-编辑失败"); return new ResultEntity<>(HttpStatus.BAD_REQUEST, "院系管理-编辑失败");
} }
} else {
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "院系管理-编辑失败-权限不足");
} }
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "院系管理-编辑失败-权限不足");
} }
//*****************************************专业管理********************************************* //*****************************************专业管理*********************************************
@ -284,8 +304,8 @@ public class UserController {
@PostMapping("/selectSchoolMajor") @PostMapping("/selectSchoolMajor")
@ApiOperation("专业管理-查询") @ApiOperation("专业管理-查询")
@AnonymousAccess @AnonymousAccess
public ResultEntity<PageInfo<SchoolMajorDto>> selectSchoolMajor(@ApiParam("当前页") Integer index, public ResultEntity<PageInfo<SchoolMajorDto>> selectSchoolMajor(@ApiParam("当前页") @RequestParam Integer index,
@ApiParam("每页条数") Integer size, @ApiParam("每页条数") @RequestParam Integer size,
@ApiParam("学校ID") @RequestParam(required = false) String schoolId, @ApiParam("学校ID") @RequestParam(required = false) String schoolId,
@ApiParam("院系ID-学校管理员使用") @RequestParam(required = false) String schoolFacultyId, @ApiParam("院系ID-学校管理员使用") @RequestParam(required = false) String schoolFacultyId,
@ApiParam("专业名称") @RequestParam(required = false) String schoolMajorName) { @ApiParam("专业名称") @RequestParam(required = false) String schoolMajorName) {
@ -293,6 +313,20 @@ public class UserController {
return new ResultEntity<>(HttpStatus.OK, "专业管理-查询成功", pageInfo); return new ResultEntity<>(HttpStatus.OK, "专业管理-查询成功", pageInfo);
} }
@PostMapping("/selectSchoolMajorList")
@ApiOperation("专业管理-列表查询")
@AnonymousAccess
public ResultEntity<List<SchoolMajor>> selectSchoolMajorList(@ApiParam("院系ID") @RequestParam String schoolFacultyId) {
if (StringUtils.isBlank(schoolFacultyId)) {
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "院系ID为null");
}
SchoolMajorExample schoolMajorExample = new SchoolMajorExample();
SchoolMajorExample.Criteria criteria = schoolMajorExample.createCriteria();
criteria.andSchoolFacultyIdEqualTo(schoolFacultyId);
List<SchoolMajor> schoolMajorList = schoolMajorMapper.selectByExample(schoolMajorExample);
return new ResultEntity<>(HttpStatus.OK, "专业管理-查询成功", schoolMajorList);
}
@PostMapping("/deleteSchoolMajor") @PostMapping("/deleteSchoolMajor")
@ApiOperation("专业管理-删除") @ApiOperation("专业管理-删除")
@AnonymousAccess @AnonymousAccess
@ -309,7 +343,7 @@ public class UserController {
@PostMapping("/updateSchoolMajor") @PostMapping("/updateSchoolMajor")
@ApiOperation("专业管理-编辑") @ApiOperation("专业管理-编辑")
@AnonymousAccess @AnonymousAccess
public ResultEntity updateSchoolMajor(@RequestBody SchoolMajor schoolMajor, @RequestParam String userId) { public ResultEntity updateSchoolMajor(@RequestBody SchoolMajor schoolMajor) {
if (StringUtils.isBlank(schoolMajor.getSchoolMajorId())) { if (StringUtils.isBlank(schoolMajor.getSchoolMajorId())) {
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "专业管理-编辑失败-主键ID缺失"); return new ResultEntity<>(HttpStatus.BAD_REQUEST, "专业管理-编辑失败-主键ID缺失");
} }
@ -365,6 +399,7 @@ public class UserController {
String classNamePY = pinyin4jUtil.convertToPinyin(className); String classNamePY = pinyin4jUtil.convertToPinyin(className);
schoolClass.setClassSn(schoolNamePY + "_" + classNamePY); schoolClass.setClassSn(schoolNamePY + "_" + classNamePY);
schoolClass.setCreateTime(new Date()); schoolClass.setCreateTime(new Date());
schoolClass.setSchoolId(schoolId);
int insert = schoolClassMapper.insert(schoolClass); int insert = schoolClassMapper.insert(schoolClass);
if (insert == 1) { if (insert == 1) {
@ -377,8 +412,8 @@ public class UserController {
@PostMapping("/seleteSchoolClass") @PostMapping("/seleteSchoolClass")
@ApiOperation("班级管理-查询") @ApiOperation("班级管理-查询")
@AnonymousAccess @AnonymousAccess
public ResultEntity<PageInfo<SchoolClassDto>> seleteSchoolClass(@ApiParam("当前页") Integer index, public ResultEntity<PageInfo<SchoolClassDto>> seleteSchoolClass(@ApiParam("当前页") @RequestParam Integer index,
@ApiParam("每页条数") Integer size, @ApiParam("每页条数") @RequestParam Integer size,
@ApiParam("学校ID") @RequestParam(required = false) String schoolId, @ApiParam("学校ID") @RequestParam(required = false) String schoolId,
@ApiParam("专业ID-学校管理员使用") @RequestParam(required = false) String schoolMajorId, @ApiParam("专业ID-学校管理员使用") @RequestParam(required = false) String schoolMajorId,
@ApiParam("班级名称") @RequestParam(required = false) String className, @ApiParam("班级名称") @RequestParam(required = false) String className,
@ -387,22 +422,66 @@ public class UserController {
return new ResultEntity<>(HttpStatus.OK, "班级管理-查询成功", pageInfo); return new ResultEntity<>(HttpStatus.OK, "班级管理-查询成功", pageInfo);
} }
@PostMapping("/seleteSchoolFacultyNameAndMajorName")
@ApiOperation("班级管理-查询院系名称和专业名称")
@AnonymousAccess
public ResultEntity<Map<String, String>> seleteSchoolFacultyNameAndMajorName(@RequestParam String schoolMajorId) {
SchoolMajor schoolMajor = schoolMajorMapper.selectByPrimaryKey(schoolMajorId);
String schoolFacultyId = schoolMajor.getSchoolFacultyId();
SchoolFaculty schoolFaculty = schoolFacultyMapper.selectByPrimaryKey(schoolFacultyId);
Map<String, String> map = new HashMap<>();
map.put(schoolFaculty.getSchoolFacultyName(), schoolMajor.getSchoolMajorName());
return new ResultEntity<>(HttpStatus.OK, "班级管理-院系名称和专业名称查询成功", map);
}
@PostMapping("/seleteSchoolClassList")
@ApiOperation("班级管理-列表查询")
@AnonymousAccess
public ResultEntity<List<SchoolClass>> seleteSchoolClassList(@RequestParam String schoolMajorId) {
SchoolClassExample schoolClassExample = new SchoolClassExample();
SchoolClassExample.Criteria criteria = schoolClassExample.createCriteria();
criteria.andSchoolMajorIdEqualTo(schoolMajorId);
List<SchoolClass> schoolClasses = schoolClassMapper.selectByExample(schoolClassExample);
return new ResultEntity<>(HttpStatus.OK, "班级管理-列表查询成功", schoolClasses);
}
@PostMapping("/seleteSchoolClassListBySchoolId")
@ApiOperation("班级管理-列表查询通过学校ID")
@AnonymousAccess
public ResultEntity<List<SchoolClass>> seleteSchoolClassListBySchoolId(@RequestParam String schoolId) {
SchoolClassExample schoolClassExample = new SchoolClassExample();
SchoolClassExample.Criteria criteria = schoolClassExample.createCriteria();
criteria.andSchoolIdEqualTo(schoolId);
List<SchoolClass> schoolClasses = schoolClassMapper.selectByExample(schoolClassExample);
return new ResultEntity<>(HttpStatus.OK, "班级管理-列表查询通过学校ID查询成功", schoolClasses);
}
@PostMapping("/deleteSchoolClass") @PostMapping("/deleteSchoolClass")
@ApiOperation("班级管理-删除") @ApiOperation("班级管理-删除")
@AnonymousAccess @AnonymousAccess
public ResultEntity deleteSchoolClass(@ApiParam("班级ID") @RequestParam String schoolClassId, @RequestParam String userId) { public ResultEntity deleteSchoolClass(@ApiParam("班级ID") @RequestParam String schoolClassId, @RequestParam String userId) {
//先查询useriD 是否够权限 //先查询useriD 是否够权限
Userinfo userInfo = userinfoMapper.selectByPrimaryKey(userId); Userinfo userInfo = userinfoMapper.selectByPrimaryKey(userId);
if (userInfo.getRole() == 1 || userInfo.getRole() == 2) { if (userInfo.getRole() == 1) {
int i = schoolClassMapper.deleteByPrimaryKey(schoolClassId); int i = schoolClassMapper.deleteByPrimaryKey(schoolClassId);
if (i == 1) { if (i == 1) {
return new ResultEntity<>(HttpStatus.OK, "班级管理-删除成功"); return new ResultEntity<>(HttpStatus.OK, "班级管理-删除成功");
} else { }
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "班级管理-删除失败");
}
if (userInfo.getRole() == 3) {
SchoolClass schoolClass = schoolClassMapper.selectByPrimaryKey(schoolClassId);
String schoolId = schoolClass.getSchoolId();
String userInfoSchoolId = userInfo.getSchoolId();
if (schoolId.equals(userInfoSchoolId)) {
int i = schoolClassMapper.deleteByPrimaryKey(schoolClassId);
if (i == 1) {
return new ResultEntity<>(HttpStatus.OK, "班级管理-删除成功");
}
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "班级管理-删除失败"); return new ResultEntity<>(HttpStatus.BAD_REQUEST, "班级管理-删除失败");
} }
} else {
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "班级管理-删除失败-权限不足");
} }
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "班级管理-删除失败-权限不足");
} }
@ -415,16 +494,25 @@ public class UserController {
} }
//先查询useriD 是否够权限 //先查询useriD 是否够权限
Userinfo userInfo = userinfoMapper.selectByPrimaryKey(userId); Userinfo userInfo = userinfoMapper.selectByPrimaryKey(userId);
if (userInfo.getRole() == 1 || userInfo.getRole() == 2) { if (userInfo.getRole() == 1) {
int i = schoolClassMapper.updateByPrimaryKey(schoolClass); int i = schoolClassMapper.updateByPrimaryKey(schoolClass);
if (i == 1) { if (i == 1) {
return new ResultEntity<>(HttpStatus.OK, "班级管理-编辑成功"); return new ResultEntity<>(HttpStatus.OK, "班级管理-编辑成功");
} else {
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "班级管理-编辑失败");
} }
} else { return new ResultEntity<>(HttpStatus.BAD_REQUEST, "班级管理-编辑成功");
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "班级管理-编辑失败-权限不足");
} }
if (userInfo.getRole() == 3) {
String schoolId = userInfo.getSchoolId();
SchoolClass schoolClass1 = schoolClassMapper.selectByPrimaryKey(schoolClass.getSchoolClassId());
if (schoolId.equals(schoolClass1.getSchoolId())) {
int i = schoolClassMapper.deleteByPrimaryKey(schoolClass.getSchoolClassId());
if (i == 1) {
return new ResultEntity<>(HttpStatus.OK, "班级管理-删除成功");
}
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "班级管理-删除失败");
}
}
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "班级管理-编辑失败-权限不足");
} }
//新增 同步子系统账户 //新增 同步子系统账户
@ -439,7 +527,7 @@ public class UserController {
@ApiParam("教师名称") @RequestParam String name, @ApiParam("教师名称") @RequestParam String name,
@ApiParam("教师工号") @RequestParam String userName, @ApiParam("教师工号") @RequestParam String userName,
@ApiParam("电话号码") @RequestParam(required = false) String phone, @ApiParam("电话号码") @RequestParam(required = false) String phone,
@ApiParam("电子邮箱") @RequestParam(required = false) String email) throws JsonProcessingException { @ApiParam("电子邮箱") @RequestParam(required = false) String email) {
//先根据schoolId进行查询 如果不存在则返回 //先根据schoolId进行查询 如果不存在则返回
School school = schoolMapper.selectByPrimaryKey(schoolId); School school = schoolMapper.selectByPrimaryKey(schoolId);
if (school == null) { if (school == null) {
@ -457,7 +545,7 @@ public class UserController {
} }
//检查userName是否已经存在 //检查userName是否已经存在
boolean b = userInfoService.existsByUserName(userName); boolean b = userInfoService.existsByUserName(userName);
if(b){ if (b) {
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "账号已存在"); return new ResultEntity<>(HttpStatus.BAD_REQUEST, "账号已存在");
} }
Userinfo userInfo = new Userinfo(); Userinfo userInfo = new Userinfo();
@ -495,7 +583,7 @@ public class UserController {
PageHelper.startPage(index, size); PageHelper.startPage(index, size);
UserinfoExample userInfoExample = new UserinfoExample(); UserinfoExample userInfoExample = new UserinfoExample();
UserinfoExample.Criteria criteria = userInfoExample.createCriteria(); UserinfoExample.Criteria criteria = userInfoExample.createCriteria();
School school=new School(); School school = new School();
if (StringUtils.isNotBlank(schoolId)) { if (StringUtils.isNotBlank(schoolId)) {
school = schoolMapper.selectByPrimaryKey(schoolId); school = schoolMapper.selectByPrimaryKey(schoolId);
criteria.andSchoolIdEqualTo(schoolId); criteria.andSchoolIdEqualTo(schoolId);
@ -506,11 +594,12 @@ public class UserController {
if (StringUtils.isNotBlank(userName)) { if (StringUtils.isNotBlank(userName)) {
criteria.andUsernameEqualTo(userName); criteria.andUsernameEqualTo(userName);
} }
criteria.andRoleEqualTo(3);
List<Userinfo> userInfoList = userinfoMapper.selectByExample(userInfoExample); List<Userinfo> userInfoList = userinfoMapper.selectByExample(userInfoExample);
for (int i = 0; i < userInfoList.size(); i++) { for (int i = 0; i < userInfoList.size(); i++) {
if(StringUtils.isNotBlank(schoolId)){ if (StringUtils.isNotBlank(schoolId)) {
userInfoList.get(i).setSchoolName(school.getSchoolName()); userInfoList.get(i).setSchoolName(school.getSchoolName());
}else { } else {
String schoolId1 = userInfoList.get(i).getSchoolId(); String schoolId1 = userInfoList.get(i).getSchoolId();
school = schoolMapper.selectByPrimaryKey(schoolId1); school = schoolMapper.selectByPrimaryKey(schoolId1);
userInfoList.get(i).setSchoolName(school.getSchoolName()); userInfoList.get(i).setSchoolName(school.getSchoolName());
@ -526,7 +615,7 @@ public class UserController {
@AnonymousAccess @AnonymousAccess
public ResultEntity updateTeacher(@RequestBody Userinfo userInfo) { public ResultEntity updateTeacher(@RequestBody Userinfo userInfo) {
int i = userinfoMapper.updateByPrimaryKey(userInfo); int i = userinfoMapper.updateByPrimaryKey(userInfo);
if(i==1){ if (i == 1) {
return new ResultEntity<>(HttpStatus.OK, "编辑教师账号信息成功!"); return new ResultEntity<>(HttpStatus.OK, "编辑教师账号信息成功!");
} }
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "编辑教师账号信息失败!"); return new ResultEntity<>(HttpStatus.BAD_REQUEST, "编辑教师账号信息失败!");
@ -540,7 +629,7 @@ public class UserController {
Userinfo userInfo = userinfoMapper.selectByPrimaryKey(userId); Userinfo userInfo = userinfoMapper.selectByPrimaryKey(userId);
userInfo.setPassword("123qwe"); userInfo.setPassword("123qwe");
int i = userinfoMapper.updateByPrimaryKey(userInfo); int i = userinfoMapper.updateByPrimaryKey(userInfo);
if(i==1){ if (i == 1) {
return new ResultEntity<>(HttpStatus.OK, "初始化密码成功!"); return new ResultEntity<>(HttpStatus.OK, "初始化密码成功!");
} }
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "初始化密码失败!"); return new ResultEntity<>(HttpStatus.BAD_REQUEST, "初始化密码失败!");
@ -554,7 +643,7 @@ public class UserController {
@AnonymousAccess @AnonymousAccess
public ResultEntity deleteTeacher(@RequestParam String userId) { public ResultEntity deleteTeacher(@RequestParam String userId) {
int i = userinfoMapper.deleteByPrimaryKey(userId); int i = userinfoMapper.deleteByPrimaryKey(userId);
if(i==1){ if (i == 1) {
return new ResultEntity<>(HttpStatus.OK, "删除成功!"); return new ResultEntity<>(HttpStatus.OK, "删除成功!");
} }
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "删除失败!"); return new ResultEntity<>(HttpStatus.BAD_REQUEST, "删除失败!");
@ -564,7 +653,7 @@ public class UserController {
@PostMapping("/uploadTeacherUserInfo") @PostMapping("/uploadTeacherUserInfo")
@ApiOperation("教师管理-导入教师账号") @ApiOperation("教师管理-导入教师账号")
@AnonymousAccess @AnonymousAccess
public ResultEntity uploadTeacherUserInfo(@RequestParam MultipartFile file){ public ResultEntity uploadTeacherUserInfo(@RequestParam MultipartFile file) {
// 基本校验 // 基本校验
if (file.isEmpty()) { if (file.isEmpty()) {
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "上传文件不能为空!"); return new ResultEntity<>(HttpStatus.BAD_REQUEST, "上传文件不能为空!");
@ -588,7 +677,7 @@ public class UserController {
// 数据校验 // 数据校验
List<String> errorMessages = validateService.validateTeacherData(teacherList); List<String> errorMessages = validateService.validateTeacherData(teacherList);
if (!errorMessages.isEmpty()) { if (!errorMessages.isEmpty()) {
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "数据校验失败!",errorMessages); return new ResultEntity<>(HttpStatus.BAD_REQUEST, "数据校验失败!", errorMessages);
} }
// 异步处理导入***** // 异步处理导入*****
@ -596,7 +685,7 @@ public class UserController {
return new ResultEntity<>(HttpStatus.OK, "导入成功!"); return new ResultEntity<>(HttpStatus.OK, "导入成功!");
} catch (Exception e) { } catch (Exception e) {
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "数据校验失败!",e.getMessage()); return new ResultEntity<>(HttpStatus.BAD_REQUEST, "数据校验失败!", e.getMessage());
} }
} }
@ -606,7 +695,7 @@ public class UserController {
@AnonymousAccess @AnonymousAccess
public void exportTeacherUserInfo(HttpServletResponse response, public void exportTeacherUserInfo(HttpServletResponse response,
@RequestParam String schoolId) { @RequestParam String schoolId) {
if(StringUtils.isNotBlank(schoolId)){ if (StringUtils.isNotBlank(schoolId)) {
UserinfoExample userInfoExample = new UserinfoExample(); UserinfoExample userInfoExample = new UserinfoExample();
userInfoExample.createCriteria().andSchoolIdEqualTo(schoolId).andRoleEqualTo(3); userInfoExample.createCriteria().andSchoolIdEqualTo(schoolId).andRoleEqualTo(3);
List<Userinfo> list = userinfoMapper.selectByExample(userInfoExample); List<Userinfo> list = userinfoMapper.selectByExample(userInfoExample);
@ -642,7 +731,7 @@ public class UserController {
@ApiParam("学生姓名") @RequestParam String name, @ApiParam("学生姓名") @RequestParam String name,
@ApiParam("学号") @RequestParam String userName, @ApiParam("学号") @RequestParam String userName,
@ApiParam("电话号码") @RequestParam(required = false) String phone, @ApiParam("电话号码") @RequestParam(required = false) String phone,
@ApiParam("电子邮箱") @RequestParam(required = false) String email) throws JsonProcessingException { @ApiParam("电子邮箱") @RequestParam(required = false) String email) {
//先根据schoolId进行查询 如果不存在则返回 //先根据schoolId进行查询 如果不存在则返回
School school = schoolMapper.selectByPrimaryKey(schoolId); School school = schoolMapper.selectByPrimaryKey(schoolId);
if (school == null) { if (school == null) {
@ -659,12 +748,12 @@ public class UserController {
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "该专业不存在"); return new ResultEntity<>(HttpStatus.BAD_REQUEST, "该专业不存在");
} }
SchoolClass schoolClass = schoolClassMapper.selectByPrimaryKey(schoolClassId); SchoolClass schoolClass = schoolClassMapper.selectByPrimaryKey(schoolClassId);
if(schoolClass==null){ if (schoolClass == null) {
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "该班级不存在"); return new ResultEntity<>(HttpStatus.BAD_REQUEST, "该班级不存在");
} }
//检查userName是否已经存在 //检查userName是否已经存在
boolean b = userInfoService.existsByUserName(userName); boolean b = userInfoService.existsByUserName(userName);
if(b){ if (b) {
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "账号已存在"); return new ResultEntity<>(HttpStatus.BAD_REQUEST, "账号已存在");
} }
Userinfo userInfo = new Userinfo(); Userinfo userInfo = new Userinfo();
@ -679,7 +768,7 @@ public class UserController {
userInfo.setSchoolId(schoolId); userInfo.setSchoolId(schoolId);
userInfo.setSchoolFacultyId(schoolFacultyId); userInfo.setSchoolFacultyId(schoolFacultyId);
userInfo.setSchoolMajorId(schoolMajorId); userInfo.setSchoolMajorId(schoolMajorId);
userInfo.setSchoolClassId(null); userInfo.setSchoolClassId(schoolClassId);
userInfo.setCodeFrom("添加"); userInfo.setCodeFrom("添加");
int insert = userinfoMapper.insert(userInfo); int insert = userinfoMapper.insert(userInfo);
@ -703,7 +792,7 @@ public class UserController {
PageHelper.startPage(index, size); PageHelper.startPage(index, size);
UserinfoExample userInfoExample = new UserinfoExample(); UserinfoExample userInfoExample = new UserinfoExample();
UserinfoExample.Criteria criteria = userInfoExample.createCriteria(); UserinfoExample.Criteria criteria = userInfoExample.createCriteria();
School school=new School(); School school = new School();
SchoolClass schoolClass = new SchoolClass(); SchoolClass schoolClass = new SchoolClass();
if (StringUtils.isNotBlank(schoolId)) { if (StringUtils.isNotBlank(schoolId)) {
school = schoolMapper.selectByPrimaryKey(schoolId); school = schoolMapper.selectByPrimaryKey(schoolId);
@ -715,28 +804,29 @@ public class UserController {
if (StringUtils.isNotBlank(userName)) { if (StringUtils.isNotBlank(userName)) {
criteria.andUsernameEqualTo(userName); criteria.andUsernameEqualTo(userName);
} }
if(StringUtils.isNotBlank(schoolClassId)){ if (StringUtils.isNotBlank(schoolClassId)) {
schoolClass=schoolClassMapper.selectByPrimaryKey(schoolClassId); schoolClass = schoolClassMapper.selectByPrimaryKey(schoolClassId);
criteria.andSchoolClassIdEqualTo(schoolClassId); criteria.andSchoolClassIdEqualTo(schoolClassId);
} }
criteria.andRoleEqualTo(4);
List<Userinfo> userInfoList = userinfoMapper.selectByExample(userInfoExample); List<Userinfo> userInfoList = userinfoMapper.selectByExample(userInfoExample);
for (int i = 0; i < userInfoList.size(); i++) { for (int i = 0; i < userInfoList.size(); i++) {
if(StringUtils.isNotBlank(schoolId)){ if (StringUtils.isNotBlank(schoolId)) {
userInfoList.get(i).setSchoolName(school.getSchoolName()); userInfoList.get(i).setSchoolName(school.getSchoolName());
if(StringUtils.isNotBlank(schoolClassId)){ if (StringUtils.isNotBlank(schoolClassId)) {
userInfoList.get(i).setClassName(schoolClass.getClassName()); userInfoList.get(i).setClassName(schoolClass.getClassName());
}else { } else {
String schoolClassId1 = userInfoList.get(i).getSchoolClassId(); String schoolClassId1 = userInfoList.get(i).getSchoolClassId();
schoolClass = schoolClassMapper.selectByPrimaryKey(schoolClassId1); schoolClass = schoolClassMapper.selectByPrimaryKey(schoolClassId1);
userInfoList.get(i).setClassName(schoolClass.getClassName()); userInfoList.get(i).setClassName(schoolClass.getClassName());
} }
}else { } else {
String schoolId1 = userInfoList.get(i).getSchoolId(); String schoolId1 = userInfoList.get(i).getSchoolId();
school = schoolMapper.selectByPrimaryKey(schoolId1); school = schoolMapper.selectByPrimaryKey(schoolId1);
userInfoList.get(i).setSchoolName(school.getSchoolName()); userInfoList.get(i).setSchoolName(school.getSchoolName());
if(StringUtils.isNotBlank(schoolClassId)){ if (StringUtils.isNotBlank(schoolClassId)) {
userInfoList.get(i).setClassName(schoolClass.getClassName()); userInfoList.get(i).setClassName(schoolClass.getClassName());
}else { } else {
String schoolClassId1 = userInfoList.get(i).getSchoolClassId(); String schoolClassId1 = userInfoList.get(i).getSchoolClassId();
schoolClass = schoolClassMapper.selectByPrimaryKey(schoolClassId1); schoolClass = schoolClassMapper.selectByPrimaryKey(schoolClassId1);
userInfoList.get(i).setClassName(schoolClass.getClassName()); userInfoList.get(i).setClassName(schoolClass.getClassName());
@ -753,7 +843,7 @@ public class UserController {
@AnonymousAccess @AnonymousAccess
public ResultEntity updateStudent(@RequestBody Userinfo userInfo) { public ResultEntity updateStudent(@RequestBody Userinfo userInfo) {
int i = userinfoMapper.updateByPrimaryKey(userInfo); int i = userinfoMapper.updateByPrimaryKey(userInfo);
if(i==1){ if (i == 1) {
return new ResultEntity<>(HttpStatus.OK, "编辑学生账号信息成功!"); return new ResultEntity<>(HttpStatus.OK, "编辑学生账号信息成功!");
} }
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "编辑学生账号信息失败!"); return new ResultEntity<>(HttpStatus.BAD_REQUEST, "编辑学生账号信息失败!");
@ -765,7 +855,7 @@ public class UserController {
@AnonymousAccess @AnonymousAccess
public ResultEntity deleteStudent(@RequestParam String userId) { public ResultEntity deleteStudent(@RequestParam String userId) {
int i = userinfoMapper.deleteByPrimaryKey(userId); int i = userinfoMapper.deleteByPrimaryKey(userId);
if(i==1){ if (i == 1) {
return new ResultEntity<>(HttpStatus.OK, "删除成功!"); return new ResultEntity<>(HttpStatus.OK, "删除成功!");
} }
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "删除失败!"); return new ResultEntity<>(HttpStatus.BAD_REQUEST, "删除失败!");
@ -779,7 +869,7 @@ public class UserController {
Userinfo userInfo = userinfoMapper.selectByPrimaryKey(userId); Userinfo userInfo = userinfoMapper.selectByPrimaryKey(userId);
userInfo.setPassword("123qwe"); userInfo.setPassword("123qwe");
int i = userinfoMapper.updateByPrimaryKey(userInfo); int i = userinfoMapper.updateByPrimaryKey(userInfo);
if(i==1){ if (i == 1) {
return new ResultEntity<>(HttpStatus.OK, "初始化密码成功!"); return new ResultEntity<>(HttpStatus.OK, "初始化密码成功!");
} }
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "初始化密码失败!"); return new ResultEntity<>(HttpStatus.BAD_REQUEST, "初始化密码失败!");
@ -790,7 +880,7 @@ public class UserController {
@PostMapping("/uploadStudentUserInfo") @PostMapping("/uploadStudentUserInfo")
@ApiOperation("学生管理-导入学生账号") @ApiOperation("学生管理-导入学生账号")
@AnonymousAccess @AnonymousAccess
public ResultEntity uploadStudentUserInfo(@RequestParam MultipartFile file){ public ResultEntity uploadStudentUserInfo(@RequestParam MultipartFile file) {
// 基本校验 // 基本校验
if (file.isEmpty()) { if (file.isEmpty()) {
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "上传文件不能为空!"); return new ResultEntity<>(HttpStatus.BAD_REQUEST, "上传文件不能为空!");
@ -814,7 +904,7 @@ public class UserController {
// 数据校验 // 数据校验
List<String> errorMessages = validateService.validateStudentData(studentList); List<String> errorMessages = validateService.validateStudentData(studentList);
if (!errorMessages.isEmpty()) { if (!errorMessages.isEmpty()) {
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "数据校验失败!",errorMessages); return new ResultEntity<>(HttpStatus.BAD_REQUEST, "数据校验失败!", errorMessages);
} }
// 异步处理导入***** // 异步处理导入*****
@ -822,7 +912,7 @@ public class UserController {
return new ResultEntity<>(HttpStatus.OK, "导入成功!"); return new ResultEntity<>(HttpStatus.OK, "导入成功!");
} catch (Exception e) { } catch (Exception e) {
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "数据校验失败!",e.getMessage()); return new ResultEntity<>(HttpStatus.BAD_REQUEST, "数据校验失败!", e.getMessage());
} }
} }
@ -832,7 +922,7 @@ public class UserController {
@AnonymousAccess @AnonymousAccess
public void exportStudentUserInfo(HttpServletResponse response, public void exportStudentUserInfo(HttpServletResponse response,
@RequestParam String schoolId) { @RequestParam String schoolId) {
if(StringUtils.isNotBlank(schoolId)){ if (StringUtils.isNotBlank(schoolId)) {
UserinfoExample userInfoExample = new UserinfoExample(); UserinfoExample userInfoExample = new UserinfoExample();
userInfoExample.createCriteria().andSchoolIdEqualTo(schoolId).andRoleEqualTo(4); userInfoExample.createCriteria().andSchoolIdEqualTo(schoolId).andRoleEqualTo(4);
List<Userinfo> list = userinfoMapper.selectByExample(userInfoExample); List<Userinfo> list = userinfoMapper.selectByExample(userInfoExample);
@ -851,4 +941,56 @@ public class UserController {
} }
} }
//修改密码
@PostMapping("/updatePassword")
@ApiOperation("个人中心-修改密码")
@AnonymousAccess
public ResultEntity updatePassword(@RequestParam String userId, @RequestParam String password) {
Userinfo userInfo = userinfoMapper.selectByPrimaryKey(userId);
userInfo.setPassword(password);
int i = userinfoMapper.updateByPrimaryKey(userInfo);
if (i == 1) {
return new ResultEntity<>(HttpStatus.OK, "修改密码成功!");
}
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "修改密码失败!");
}
@PostMapping("/selectPersonInfo")
@ApiOperation("个人中心-查看用户数据")
@AnonymousAccess
public ResultEntity<Userinfo> selectPersonInfo(@RequestParam String userId) {
Userinfo userInfo = userinfoMapper.selectByPrimaryKey(userId);
String schoolId = userInfo.getSchoolId();
String schoolFacultyId = userInfo.getSchoolFacultyId();
String schoolMajorId = userInfo.getSchoolMajorId();
String schoolName = schoolMapper.selectSchoolNameById(schoolId);
String schoolFacultyName = schoolFacultyMapper.selectByPrimaryKey(schoolFacultyId).getSchoolFacultyName();
String schoolMajorName = schoolMajorMapper.selectByPrimaryKey(schoolMajorId).getSchoolMajorName();
userInfo.setSchoolId(schoolName);
userInfo.setSchoolName(schoolName);
userInfo.setSchoolFacultyId(schoolFacultyName);
userInfo.setSchoolMajorId(schoolMajorName);
if (userInfo.getRole() == 4) { //查看学生信息
String schoolClassId = userInfo.getSchoolClassId();
String className = schoolClassMapper.selectByPrimaryKey(schoolClassId).getClassName();
userInfo.setSchoolClassId(className);
userInfo.setClassName(className);
}
return new ResultEntity<>(HttpStatus.OK, "个人中心-查看用户数据成功!",userInfo);
}
@ApiOperation("开放接口,自动同步学生信息")
@PostMapping("synchronizationStudentInfoByAuto")
@AnonymousAccess
public String synchronizationStudentInfoByAuto(@RequestBody List<ZYUserInfo> studentList) {
// JwtUser user = TokenProvider.getJWTUser(request);
return userInfoService.insertAllByAuto(studentList);
//return new ResultDataEntity(HttpStatus.OK);
}
} }

@ -28,6 +28,9 @@ public class SchoolClass {
@ApiModelProperty(notes = "创建时间") @ApiModelProperty(notes = "创建时间")
private Date createTime; private Date createTime;
@ApiModelProperty(notes = "学校ID")
private String schoolId;
public String getSchoolClassId() { public String getSchoolClassId() {
return schoolClassId; return schoolClassId;
} }
@ -75,4 +78,12 @@ public class SchoolClass {
public void setCreateTime(Date createTime) { public void setCreateTime(Date createTime) {
this.createTime = createTime; this.createTime = createTime;
} }
public String getSchoolId() {
return schoolId;
}
public void setSchoolId(String schoolId) {
this.schoolId = schoolId == null ? null : schoolId.trim();
}
} }

@ -504,6 +504,76 @@ public class SchoolClassExample {
addCriterion("create_time not between", value1, value2, "createTime"); addCriterion("create_time not between", value1, value2, "createTime");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andSchoolIdIsNull() {
addCriterion("school_id is null");
return (Criteria) this;
}
public Criteria andSchoolIdIsNotNull() {
addCriterion("school_id is not null");
return (Criteria) this;
}
public Criteria andSchoolIdEqualTo(String value) {
addCriterion("school_id =", value, "schoolId");
return (Criteria) this;
}
public Criteria andSchoolIdNotEqualTo(String value) {
addCriterion("school_id <>", value, "schoolId");
return (Criteria) this;
}
public Criteria andSchoolIdGreaterThan(String value) {
addCriterion("school_id >", value, "schoolId");
return (Criteria) this;
}
public Criteria andSchoolIdGreaterThanOrEqualTo(String value) {
addCriterion("school_id >=", value, "schoolId");
return (Criteria) this;
}
public Criteria andSchoolIdLessThan(String value) {
addCriterion("school_id <", value, "schoolId");
return (Criteria) this;
}
public Criteria andSchoolIdLessThanOrEqualTo(String value) {
addCriterion("school_id <=", value, "schoolId");
return (Criteria) this;
}
public Criteria andSchoolIdLike(String value) {
addCriterion("school_id like", value, "schoolId");
return (Criteria) this;
}
public Criteria andSchoolIdNotLike(String value) {
addCriterion("school_id not like", value, "schoolId");
return (Criteria) this;
}
public Criteria andSchoolIdIn(List<String> values) {
addCriterion("school_id in", values, "schoolId");
return (Criteria) this;
}
public Criteria andSchoolIdNotIn(List<String> values) {
addCriterion("school_id not in", values, "schoolId");
return (Criteria) this;
}
public Criteria andSchoolIdBetween(String value1, String value2) {
addCriterion("school_id between", value1, value2, "schoolId");
return (Criteria) this;
}
public Criteria andSchoolIdNotBetween(String value1, String value2) {
addCriterion("school_id not between", value1, value2, "schoolId");
return (Criteria) this;
}
} }
public static class Criteria extends GeneratedCriteria { public static class Criteria extends GeneratedCriteria {

@ -31,5 +31,5 @@ public interface SchoolMajorMapper {
int updateByPrimaryKey(SchoolMajor record); int updateByPrimaryKey(SchoolMajor record);
List<SchoolMajorDto> findSchoolMajorList(@Param("schoolMajorName") String schoolMajorName,@Param("schoolFacultyId")String schoolFacultyId); List<SchoolMajorDto> findSchoolMajorList(@Param("schoolId")String schoolId, @Param("schoolMajorName") String schoolMajorName,@Param("schoolFacultyId")String schoolFacultyId);
} }

@ -31,4 +31,5 @@ public interface SchoolService {
String selectMajorIdByFacultyIdAndMajorName(String schoolFacultyId, String schoolMajorName); String selectMajorIdByFacultyIdAndMajorName(String schoolFacultyId, String schoolMajorName);
String selectClassIdByClassName(String schoolClassName, String schoolId);
} }

@ -1,5 +1,7 @@
package com.sztzjy.linkCommerce.service; package com.sztzjy.linkCommerce.service;
import com.sztzjy.linkCommerce.entity.ZYUserInfo;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -9,4 +11,6 @@ public interface UserInfoService {
List<String> getClassNameList(String userId); List<String> getClassNameList(String userId);
String insertAllByAuto(List<ZYUserInfo> studentList);
} }

@ -58,7 +58,7 @@ public class ImportServiceImpl implements ImportService {
userInfo.setSchoolId(schoolService.selectSchoolIdBySchoolName(studentImportDTO.getSchoolName())); userInfo.setSchoolId(schoolService.selectSchoolIdBySchoolName(studentImportDTO.getSchoolName()));
userInfo.setSchoolFacultyId(schoolService.selectFacultyIdBySchoolIdAndFacultyName(userInfo.getSchoolId(),studentImportDTO.getSchoolFacultyName())); userInfo.setSchoolFacultyId(schoolService.selectFacultyIdBySchoolIdAndFacultyName(userInfo.getSchoolId(),studentImportDTO.getSchoolFacultyName()));
userInfo.setSchoolMajorId(schoolService.selectMajorIdByFacultyIdAndMajorName(userInfo.getSchoolFacultyId(),studentImportDTO.getSchoolMajorName())); userInfo.setSchoolMajorId(schoolService.selectMajorIdByFacultyIdAndMajorName(userInfo.getSchoolFacultyId(),studentImportDTO.getSchoolMajorName()));
userInfo.setSchoolClassId(null); userInfo.setSchoolClassId(schoolService.selectClassIdByClassName(studentImportDTO.getSchoolClassName(),userInfo.getSchoolId()));
userInfo.setCodeFrom("导入"); userInfo.setCodeFrom("导入");
userInfoMapper.insert(userInfo); userInfoMapper.insert(userInfo);
} }

@ -11,10 +11,12 @@ import com.sztzjy.linkCommerce.mapper.SchoolFacultyMapper;
import com.sztzjy.linkCommerce.mapper.SchoolMajorMapper; import com.sztzjy.linkCommerce.mapper.SchoolMajorMapper;
import com.sztzjy.linkCommerce.mapper.SchoolMapper; import com.sztzjy.linkCommerce.mapper.SchoolMapper;
import com.sztzjy.linkCommerce.service.SchoolService; import com.sztzjy.linkCommerce.service.SchoolService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.UUID; import java.util.UUID;
@ -35,6 +37,7 @@ public class SchoolServiceImpl implements SchoolService {
public Integer addSchool(School school) { public Integer addSchool(School school) {
//新增院校 //新增院校
String schoolId = UUID.randomUUID().toString(); String schoolId = UUID.randomUUID().toString();
school.setCreateTime(new Date());
school.setSchoolId(schoolId); school.setSchoolId(schoolId);
int insert = schoolMapper.insert(school); int insert = schoolMapper.insert(school);
return insert; return insert;
@ -88,7 +91,7 @@ public class SchoolServiceImpl implements SchoolService {
// 使用 PageHelper 进行分页 // 使用 PageHelper 进行分页
PageHelper.startPage(index, size); PageHelper.startPage(index, size);
// 调用 Mapper 查询数据 // 调用 Mapper 查询数据
List<SchoolMajorDto> schoolMajorList = schoolMajorMapper.findSchoolMajorList(schoolMajorName, schoolFacultyId); List<SchoolMajorDto> schoolMajorList = schoolMajorMapper.findSchoolMajorList(schoolId,schoolMajorName, schoolFacultyId);
// 返回分页结果 // 返回分页结果
return new PageInfo<>(schoolMajorList); return new PageInfo<>(schoolMajorList);
} }
@ -100,13 +103,14 @@ public class SchoolServiceImpl implements SchoolService {
// 查询院系信息,假设您有相应的 DAO 或 Mapper 可以用来执行查询 // 查询院系信息,假设您有相应的 DAO 或 Mapper 可以用来执行查询
SchoolClassExample schoolClassExample = new SchoolClassExample(); SchoolClassExample schoolClassExample = new SchoolClassExample();
SchoolClassExample.Criteria criteria = schoolClassExample.createCriteria(); SchoolClassExample.Criteria criteria = schoolClassExample.createCriteria();
if (className != null) { criteria.andSchoolIdEqualTo(schoolId);
if (StringUtils.isNotBlank(className)) {
criteria.andClassNameLike("%" + className + "%"); criteria.andClassNameLike("%" + className + "%");
} }
if (classSn != null) { if (StringUtils.isNotBlank(classSn)) {
criteria.andClassSnEqualTo(classSn); criteria.andClassSnEqualTo(classSn);
} }
if (schoolMajorId != null) { if (StringUtils.isNotBlank(schoolMajorId)) {
criteria.andSchoolMajorIdEqualTo(schoolMajorId); criteria.andSchoolMajorIdEqualTo(schoolMajorId);
} }
List<SchoolClass> schoolClasses = schoolClassMapper.selectByExample(schoolClassExample); List<SchoolClass> schoolClasses = schoolClassMapper.selectByExample(schoolClassExample);
@ -234,6 +238,17 @@ public class SchoolServiceImpl implements SchoolService {
} }
} }
@Override
public String selectClassIdByClassName(String schoolClassName, String schoolId) {
SchoolClassExample schoolClassExample = new SchoolClassExample();
schoolClassExample.createCriteria().andSchoolIdEqualTo(schoolId).andClassNameEqualTo(schoolClassName);
List<SchoolClass> schoolClassList = schoolClassMapper.selectByExample(schoolClassExample);
if(schoolClassList.isEmpty() || schoolClassList==null){
return null;
}else {
return schoolClassList.get(0).getSchoolClassId();
}
}
} }

@ -65,7 +65,8 @@ public class ScoreRankServiceImpl implements ScoreRankService {
scoreRank.setUsername(userInfo.getUsername()); scoreRank.setUsername(userInfo.getUsername());
scoreRank.setName(userInfo.getName()); scoreRank.setName(userInfo.getName());
scoreRank.setSchoolClassId(userInfo.getSchoolClassId()); scoreRank.setSchoolClassId(userInfo.getSchoolClassId());
scoreRank.setClassName(userInfo.getClassName()); SchoolClass schoolClass = schoolClassMapper.selectByPrimaryKey(userInfo.getSchoolClassId());
scoreRank.setClassName(schoolClass.getClassName());
//设置更新日期 年月日 //设置更新日期 年月日
String nowDate = getNowDate(); String nowDate = getNowDate();
@ -174,7 +175,8 @@ public class ScoreRankServiceImpl implements ScoreRankService {
scoreRank.setUsername(userInfo.getUsername()); scoreRank.setUsername(userInfo.getUsername());
scoreRank.setName(userInfo.getName()); scoreRank.setName(userInfo.getName());
scoreRank.setSchoolClassId(userInfo.getSchoolClassId()); scoreRank.setSchoolClassId(userInfo.getSchoolClassId());
scoreRank.setClassName(userInfo.getClassName()); SchoolClass schoolClass = schoolClassMapper.selectByPrimaryKey(userInfo.getSchoolClassId());
scoreRank.setClassName(schoolClass.getClassName());
//设置更新日期 年月日 //设置更新日期 年月日
String nowDate = getNowDate(); String nowDate = getNowDate();

@ -1,19 +1,17 @@
package com.sztzjy.linkCommerce.service.impl; package com.sztzjy.linkCommerce.service.impl;
import com.sztzjy.linkCommerce.entity.SchoolClass; import cn.hutool.core.lang.UUID;
import com.sztzjy.linkCommerce.entity.SchoolClassExample; import cn.hutool.core.util.IdUtil;
import com.sztzjy.linkCommerce.entity.Userinfo; import com.sztzjy.linkCommerce.entity.*;
import com.sztzjy.linkCommerce.entity.UserinfoExample;
import com.sztzjy.linkCommerce.mapper.*; import com.sztzjy.linkCommerce.mapper.*;
import com.sztzjy.linkCommerce.service.UserInfoService; import com.sztzjy.linkCommerce.service.UserInfoService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import java.util.ArrayList; import java.math.BigDecimal;
import java.util.HashMap; import java.util.*;
import java.util.List;
import java.util.Map;
@Service @Service
@ -57,6 +55,171 @@ public class UserInfoServiceImpl implements UserInfoService {
return list; return list;
} }
/**
*
* @param zyUserInfoList
* @return
*/
@Override
public String insertAllByAuto(List<ZYUserInfo> zyUserInfoList) {
List<Userinfo> users = new ArrayList<>();
// 用于存储已处理的学校、学院、专业、班级信息,避免重复插入
Set<String> processedSchools = new HashSet<>();
Set<String> processedFaculties = new HashSet<>();
Set<String> processedMajors = new HashSet<>();
Set<String> processedClasses = new HashSet<>();
// 存储学院和专业的映射关系
Map<String, String> facultyIdMap = new HashMap<>(); // collegeName -> facultyId
Map<String, String> majorIdMap = new HashMap<>(); // majorName -> majorId
for (int i = 0; i < zyUserInfoList.size(); i++) {
ZYUserInfo zyUserInfo = zyUserInfoList.get(i);
String username = zyUserInfo.getUsername();
String name = zyUserInfo.getName();
String password = zyUserInfo.getPassword();
Integer roleId = zyUserInfo.getRoleId();
// 检查用户是否已存在
UserinfoExample userInfoExample = new UserinfoExample();
userInfoExample.createCriteria().andUsernameEqualTo(username);
List<Userinfo> userInfos = userInfoMapper.selectByExample(userInfoExample);
if (userInfos.isEmpty() || userInfos == null) {
// 处理学校信息
String schoolId = zyUserInfo.getSchoolId().toString();
if (!processedSchools.contains(schoolId)) {
// 检查数据库中是否已存在该学校
School existingSchool = schoolMapper.selectByPrimaryKey(schoolId);
if (existingSchool == null) {
School school = new School();
school.setSchoolId(schoolId);
school.setSchoolName(zyUserInfo.getSchoolName());
school.setStatus(false);
schoolMapper.insertSelective(school);
}
processedSchools.add(schoolId);
}
// 处理学院信息
String collegeName = zyUserInfo.getCollegeName();
String facultyId;
if (!facultyIdMap.containsKey(collegeName)) {
facultyId = UUID.randomUUID().toString();
facultyIdMap.put(collegeName, facultyId);
if (!processedFaculties.contains(collegeName)) {
// 检查数据库中是否已存在该学院通过学校ID和学院名称
SchoolFacultyExample facultyExample = new SchoolFacultyExample();
facultyExample.createCriteria()
.andSchoolIdEqualTo(schoolId)
.andSchoolFacultyNameEqualTo(collegeName);
List<SchoolFaculty> existingFaculties = schoolFacultyMapper.selectByExample(facultyExample);
if (existingFaculties.isEmpty()) {
SchoolFaculty schoolFaculty = new SchoolFaculty();
schoolFaculty.setSchoolId(schoolId);
schoolFaculty.setSchoolFacultyId(facultyId);
schoolFaculty.setSchoolFacultyName(collegeName);
schoolFacultyMapper.insertSelective(schoolFaculty);
} else {
// 如果学院已存在使用现有的学院ID
facultyId = existingFaculties.get(0).getSchoolFacultyId();
facultyIdMap.put(collegeName, facultyId);
}
processedFaculties.add(collegeName);
}
} else {
facultyId = facultyIdMap.get(collegeName);
}
// 处理专业信息
String majorName = zyUserInfo.getMajorName();
String majorId;
String majorKey = collegeName + "_" + majorName; // 组合键,因为不同学院可能有同名专业
if (!majorIdMap.containsKey(majorKey)) {
majorId = UUID.randomUUID().toString();
majorIdMap.put(majorKey, majorId);
if (!processedMajors.contains(majorKey)) {
// 检查数据库中是否已存在该专业通过学院ID和专业名称
SchoolMajorExample majorExample = new SchoolMajorExample();
majorExample.createCriteria()
.andSchoolFacultyIdEqualTo(facultyId)
.andSchoolMajorNameEqualTo(majorName);
List<SchoolMajor> existingMajors = schoolMajorMapper.selectByExample(majorExample);
if (existingMajors.isEmpty()) {
SchoolMajor schoolMajor = new SchoolMajor();
schoolMajor.setSchoolFacultyId(facultyId);
schoolMajor.setSchoolMajorId(majorId);
schoolMajor.setSchoolMajorName(majorName);
schoolMajorMapper.insertSelective(schoolMajor);
} else {
// 如果专业已存在使用现有的专业ID
majorId = existingMajors.get(0).getSchoolMajorId();
majorIdMap.put(majorKey, majorId);
}
processedMajors.add(majorKey);
}
} else {
majorId = majorIdMap.get(majorKey);
}
// 处理班级信息
String classId = zyUserInfo.getClassId().toString();
String className = zyUserInfo.getClassName();
if (!processedClasses.contains(classId)) {
// 检查数据库中是否已存在该班级
SchoolClass existingClass = schoolClassMapper.selectByPrimaryKey(classId);
if (existingClass == null) {
SchoolClass schoolClass = new SchoolClass();
schoolClass.setSchoolClassId(classId);
schoolClass.setSchoolMajorId(majorId);
schoolClass.setClassName(className);
schoolClassMapper.insertSelective(schoolClass);
}
processedClasses.add(classId);
}
// 创建用户信息
Userinfo stuUser = new Userinfo();
stuUser.setUserId(IdUtil.randomUUID());
stuUser.setUsername(username);
if (!StringUtils.hasText(name)) {
stuUser.setName(username);
} else {
stuUser.setName(name);
}
stuUser.setPassword(password);
stuUser.setRole(roleId);
stuUser.setSchoolClassId(classId);
stuUser.setPhone(zyUserInfo.getPhone());
stuUser.setClassName(className);
stuUser.setDisabledstatus(false);
stuUser.setSchoolId(schoolId);
stuUser.setSchoolName(zyUserInfo.getSchoolName());
stuUser.setCodeFrom("智云同步");
stuUser.setSchoolFacultyId(facultyId);
stuUser.setSchoolMajorId(majorId);
users.add(stuUser);
}
}
if (users.isEmpty()) {
return "账号已全部存在";
}
// 批量插入用户数据
users.forEach(stuUser -> {
userInfoMapper.insertSelective(stuUser);
});
return "自动同步学生信息成功!" + "同步" + users.size() + "条用户数据";
}
} }

@ -37,10 +37,11 @@ public class TzApi {
private static CacheProvider cacheProvider = new CacheProvider(3600*12, 6000); private static CacheProvider cacheProvider = new CacheProvider(3600*12, 6000);
public static JwtUser foreignExchangeTradingLogin(String userName, String password) { public static JwtUser foreignExchangeTradingLogin(String userName, String password,String systemName) {
try { try {
String requestBody = "username=" + URLEncoder.encode(userName, "UTF8") + String requestBody = "username=" + URLEncoder.encode(userName, "UTF8") +
"&password=" + URLEncoder.encode(password, "UTF8"); "&password=" + URLEncoder.encode(password, "UTF8")+
"&systemName=" + URLEncoder.encode(systemName, "UTF8");
JSONObject object = HttpUtils.sendPost( JSONObject object = HttpUtils.sendPost(
LOGIN_URL, LOGIN_URL,
requestBody, requestBody,
@ -75,6 +76,8 @@ public class TzApi {
user.setSchoolName(dataObject.getStr("schoolname")); user.setSchoolName(dataObject.getStr("schoolname"));
user.setCollegeId(dataObject.getInt("collegeid")); user.setCollegeId(dataObject.getInt("collegeid"));
user.setCollegeName(dataObject.getStr("collegename")); user.setCollegeName(dataObject.getStr("collegename"));
user.setAuthorizeTime(dataObject.getDate("authorizetime"));
user.setAuthorizeEndTime(dataObject.getDate("authorizeendtime"));
user.setUsername(userName); user.setUsername(userName);
user.setPassword(password); user.setPassword(password);
return user; return user;

@ -20,8 +20,7 @@ spring:
pathmatch: pathmatch:
matching-strategy: ant_path_matcher matching-strategy: ant_path_matcher
redis: redis:
#host: 120.79.54.255 host: 120.79.54.255
host: 118.31.7.2
port: 6359 port: 6359
password: tzredis password: tzredis
timeout: 1800000 timeout: 1800000
@ -88,7 +87,7 @@ mybatis:
swagger: swagger:
enable: true enable: false
tokenHeader: Authorization tokenHeader: Authorization
title: 天择区块链金融 • 接口文档 title: 天择区块链金融 • 接口文档
description: 天择区块链金融WebAPI接口文档 description: 天择区块链金融WebAPI接口文档

@ -8,6 +8,7 @@
<result column="class_sn" jdbcType="VARCHAR" property="classSn" /> <result column="class_sn" jdbcType="VARCHAR" property="classSn" />
<result column="status" jdbcType="BIT" property="status" /> <result column="status" jdbcType="BIT" property="status" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" /> <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="school_id" jdbcType="VARCHAR" property="schoolId" />
</resultMap> </resultMap>
<sql id="Example_Where_Clause"> <sql id="Example_Where_Clause">
<where> <where>
@ -68,7 +69,7 @@
</where> </where>
</sql> </sql>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
school_class_id, school_major_id, class_name, class_sn, status, create_time school_class_id, school_major_id, class_name, class_sn, status, create_time, school_id
</sql> </sql>
<select id="selectByExample" parameterType="com.sztzjy.linkCommerce.entity.SchoolClassExample" resultMap="BaseResultMap"> <select id="selectByExample" parameterType="com.sztzjy.linkCommerce.entity.SchoolClassExample" resultMap="BaseResultMap">
select select
@ -102,11 +103,11 @@
</delete> </delete>
<insert id="insert" parameterType="com.sztzjy.linkCommerce.entity.SchoolClass"> <insert id="insert" parameterType="com.sztzjy.linkCommerce.entity.SchoolClass">
insert into school_class (school_class_id, school_major_id, class_name, insert into school_class (school_class_id, school_major_id, class_name,
class_sn, status, create_time class_sn, status, create_time,
) school_id)
values (#{schoolClassId,jdbcType=VARCHAR}, #{schoolMajorId,jdbcType=VARCHAR}, #{className,jdbcType=VARCHAR}, values (#{schoolClassId,jdbcType=VARCHAR}, #{schoolMajorId,jdbcType=VARCHAR}, #{className,jdbcType=VARCHAR},
#{classSn,jdbcType=VARCHAR}, #{status,jdbcType=BIT}, #{createTime,jdbcType=TIMESTAMP} #{classSn,jdbcType=VARCHAR}, #{status,jdbcType=BIT}, #{createTime,jdbcType=TIMESTAMP},
) #{schoolId,jdbcType=VARCHAR})
</insert> </insert>
<insert id="insertSelective" parameterType="com.sztzjy.linkCommerce.entity.SchoolClass"> <insert id="insertSelective" parameterType="com.sztzjy.linkCommerce.entity.SchoolClass">
insert into school_class insert into school_class
@ -129,6 +130,9 @@
<if test="createTime != null"> <if test="createTime != null">
create_time, create_time,
</if> </if>
<if test="schoolId != null">
school_id,
</if>
</trim> </trim>
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="schoolClassId != null"> <if test="schoolClassId != null">
@ -149,6 +153,9 @@
<if test="createTime != null"> <if test="createTime != null">
#{createTime,jdbcType=TIMESTAMP}, #{createTime,jdbcType=TIMESTAMP},
</if> </if>
<if test="schoolId != null">
#{schoolId,jdbcType=VARCHAR},
</if>
</trim> </trim>
</insert> </insert>
<select id="countByExample" parameterType="com.sztzjy.linkCommerce.entity.SchoolClassExample" resultType="java.lang.Long"> <select id="countByExample" parameterType="com.sztzjy.linkCommerce.entity.SchoolClassExample" resultType="java.lang.Long">
@ -178,6 +185,9 @@
<if test="record.createTime != null"> <if test="record.createTime != null">
create_time = #{record.createTime,jdbcType=TIMESTAMP}, create_time = #{record.createTime,jdbcType=TIMESTAMP},
</if> </if>
<if test="record.schoolId != null">
school_id = #{record.schoolId,jdbcType=VARCHAR},
</if>
</set> </set>
<if test="_parameter != null"> <if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" /> <include refid="Update_By_Example_Where_Clause" />
@ -190,7 +200,8 @@
class_name = #{record.className,jdbcType=VARCHAR}, class_name = #{record.className,jdbcType=VARCHAR},
class_sn = #{record.classSn,jdbcType=VARCHAR}, class_sn = #{record.classSn,jdbcType=VARCHAR},
status = #{record.status,jdbcType=BIT}, status = #{record.status,jdbcType=BIT},
create_time = #{record.createTime,jdbcType=TIMESTAMP} create_time = #{record.createTime,jdbcType=TIMESTAMP},
school_id = #{record.schoolId,jdbcType=VARCHAR}
<if test="_parameter != null"> <if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" /> <include refid="Update_By_Example_Where_Clause" />
</if> </if>
@ -213,6 +224,9 @@
<if test="createTime != null"> <if test="createTime != null">
create_time = #{createTime,jdbcType=TIMESTAMP}, create_time = #{createTime,jdbcType=TIMESTAMP},
</if> </if>
<if test="schoolId != null">
school_id = #{schoolId,jdbcType=VARCHAR},
</if>
</set> </set>
where school_class_id = #{schoolClassId,jdbcType=VARCHAR} where school_class_id = #{schoolClassId,jdbcType=VARCHAR}
</update> </update>
@ -222,7 +236,8 @@
class_name = #{className,jdbcType=VARCHAR}, class_name = #{className,jdbcType=VARCHAR},
class_sn = #{classSn,jdbcType=VARCHAR}, class_sn = #{classSn,jdbcType=VARCHAR},
status = #{status,jdbcType=BIT}, status = #{status,jdbcType=BIT},
create_time = #{createTime,jdbcType=TIMESTAMP} create_time = #{createTime,jdbcType=TIMESTAMP},
school_id = #{schoolId,jdbcType=VARCHAR}
where school_class_id = #{schoolClassId,jdbcType=VARCHAR} where school_class_id = #{schoolClassId,jdbcType=VARCHAR}
</update> </update>
</mapper> </mapper>

@ -270,8 +270,9 @@
school_major m school_major m
JOIN JOIN
school_faculty sf ON m.school_faculty_id = sf.school_faculty_id school_faculty sf ON m.school_faculty_id = sf.school_faculty_id
JOIN school s ON sf.school_id = s.school_id
WHERE WHERE
m.status !=2 s.school_id = #{schoolId}
<if test="schoolMajorName != null and schoolMajorName != ''"> <if test="schoolMajorName != null and schoolMajorName != ''">
AND m.school_major_name LIKE CONCAT('%', #{schoolMajorName}, '%') AND m.school_major_name LIKE CONCAT('%', #{schoolMajorName}, '%')
</if> </if>

@ -495,7 +495,7 @@
<select id="selectFiveAvgTotalScoreBySchoolIdAndClassName" parameterType="com.sztzjy.linkCommerce.entity.StuRank" resultMap="teaTrendResultMap"> <select id="selectFiveAvgTotalScoreBySchoolIdAndClassName" parameterType="com.sztzjy.linkCommerce.entity.StuRank" resultMap="teaTrendResultMap">
select select
s.update_time update_date,avg(total_score) avg_total_score s.update_time update_date,avg(score) avg_total_score
from stu_rank s from stu_rank s
where school_id = #{schoolId,jdbcType=VARCHAR} and class_name=#{className,jdbcType=VARCHAR} where school_id = #{schoolId,jdbcType=VARCHAR} and class_name=#{className,jdbcType=VARCHAR}
group BY update_time group BY update_time

Loading…
Cancel
Save