该系统有以下主要角色:省厅负责人,地市负责人,评估组,学校负责人。其中学校分为高校和中小学。省厅负责人制定和管理相应的指标,高校由省厅直接管理,中小学由地市管理,对应负责人开启考评,组织评估组,统计相应结果。高校部分流程为:省厅负责人设置指标并启动年度评估高校负责人数据填报与自评省厅负责人创建评估组并分配评估任务评估组进校评估后打分省厅负责人统计评估结果并分析高校负责人查看结果。

中小学部分流程为:省厅负责人设置指标地市负责人启动评估学校负责人填报数据与自评地市负责人创建评估组并分配任务评估组进校评估并打分地市负责人统计分析评估结果省厅负责人审核分析结果学校负责人查看结果。

系统分为基础数据管理、评估指标管理、过程控制与专家管理、评估、评估结果查询五个模块。其中基础数据管理分为:高校信息管理、中小学信息管理、地市负责人账号管理、省厅负责人账号管理等功能;评估指标管理分为:高校评估指标模板管理、中小学评估指标模板管理、高校年度评估指标管理、中小学年度评估指标管理;过程控制与专家管理分为:高校评估过程控制、中小学评估过程控制、高校评估专家管理、中小学评估专家管理、高校评估专家任务分配、中小学专家任务分配等功能;评估分为:中小学自评及数据填报、高校自评及数据填报、高校评估专家打分、中小学评估专家打分等功能;评估结果查询分为:中小学评估结果统计、高校评估结果统计、中小学评估结果查看、高校评估结果查看等功能。


关键代码:

/**

  • 用户账户:用于保存用户登录信息(User)表控制层 / @Slf4j @RestController @RequestMapping("user") public class UserController extends BaseController<User, UserService> { /*
  • 服务对象 */ @Autowired public UserController(UserService service) { setService(service); }

@Autowired private UserGroupService userGroupService;

@Autowired private RedisTemplate redisTemplate;

/**

  • 注册
  • @param user
  • @return */ @PostMapping("register") public Map<String, Object> signUp(@RequestBody User user) { // 查询用户 Map<String, String> query = new HashMap<>(); Map<String,Object> map = JSON.parseObject(JSON.toJSONString(user)); query.put("username",user.getUsername()); List list = service.selectBaseList(service.select(query, new HashMap<>())); if (list.size()>0){ return error(30000, "用户已存在"); } map.put("password",service.encryption(String.valueOf(map.get("password")))); service.insert(map); return success(1); }

/**

  • 找回密码
  • @param form
  • @return */ @PostMapping("forget_password") public Map<String, Object> forgetPassword(@RequestBody User form,HttpServletRequest request) { JSONObject ret = new JSONObject(); String username = form.getUsername(); String code = form.getCode(); String password = form.getPassword(); // 判断条件 if(code == null || code.length() == 0){ return error(30000, "验证码不能为空"); } if(username == null || username.length() == 0){ return error(30000, "用户名不能为空"); } if(password == null || password.length() == 0){ return error(30000, "密码不能为空"); }
    // 查询用户 Map<String, String> query = new HashMap<>(); query.put("username",username); List list = service.selectBaseList(service.select(query, service.readConfig(request))); if (list.size() > 0) { User o = (User) list.get(0); JSONObject query2 = new JSONObject(); JSONObject form2 = new JSONObject(); // 修改用户密码 query2.put("user_id",o.getUserId()); form2.put("password",service.encryption(password)); service.update(query, service.readConfig(request), form2); return success(1); } return error(70000,"用户不存在"); }

/**

  • 登录
  • @param data
  • @param httpServletRequest
  • @return */ @PostMapping("login") public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {  log.info("[执行登录接口]");
    String username = data.get("username"); String email = data.get("email"); String phone = data.get("phone"); String password = data.get("password");
    try { password = RsaUtils.decryptByPrivateKey(password); }catch (Exception e){ return error(30000,"解密失败"); }
    List resultList = null; Map<String, String> map = new HashMap<>(); if(username != null && "".equals(username) == false){ map.put("username", username); resultList = service.selectBaseList(service.select(map, new HashMap<>())); } else if(email != null && "".equals(email) == false){ map.put("email", email); resultList = service.selectBaseList(service.select(map, new HashMap<>())); } else if(phone != null && "".equals(phone) == false){ map.put("phone", phone); resultList = service.selectBaseList(service.select(map, new HashMap<>())); }else{ return error(30000, "账号或密码不能为空"); } if (resultList == null || password == null) { return error(30000, "账号或密码不能为空"); } //判断是否有这个用户 if (resultList.size()<=0){ return error(30000,"用户不存在"); }
    User byUsername = (User) resultList.get(0);
    Map<String, String> groupMap = new HashMap<>(); groupMap.put("name",byUsername.getUserGroup()); List groupList = userGroupService.selectBaseList(userGroupService.select(groupMap, new HashMap<>())); if (groupList.size()<1){ return error(30000,"用户组不存在"); }
    UserGroup userGroup = (UserGroup) groupList.get(0);
    //查询用户审核状态 if (!StringUtils.isEmpty(userGroup.getSourceTable())){ String res = service.selectExamineState(userGroup.getSourceTable(),byUsername.getUserId()); if (res==null){ return error(30000,"用户不存在"); } if (!res.equals("已通过")){ return error(30000,"该用户审核未通过"); } }
    //查询用户状态 if (byUsername.getState()!=1){ return error(30000,"用户非可用状态,不能登录"); }
    String face = data.get("is_face"); String md5password = service.encryption(password); if (!StringUtils.isEmpty(face) && face.equals("face")){ if (byUsername.getPassword().equals(md5password)) { // 返回用户信息 JSONObject user = JSONObject.parseObject(JSONObject.toJSONString(byUsername)); JSONObject ret = new JSONObject(); ret.put("obj",user); return success(ret); } else { return error(30000, "账号或密码不正确"); } }else { if (byUsername.getPassword().equals(md5password)) { // 存储Token到数据库 AccessToken accessToken = new AccessToken(); accessToken.setToken(UUID.randomUUID().toString().replaceAll("-", "")); accessToken.setUser_id(byUsername.getUserId());
Duration duration = Duration.ofSeconds(7200L);
     redisTemplate.opsForValue().set(accessToken.getToken(), accessToken,duration);

     // 返回用户信息
     JSONObject user = JSONObject.parseObject(JSONObject.toJSONString(byUsername));
     user.put("token", accessToken.getToken());
     JSONObject ret = new JSONObject();
     ret.put("obj",user);
     return success(ret);
 } else {
     return error(30000, "账号或密码不正确");
 }
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.

} }


浙江省校园清廉建设评估系统-计算机毕业设计源码+LW文档_List

浙江省校园清廉建设评估系统-计算机毕业设计源码+LW文档_List_02

浙江省校园清廉建设评估系统-计算机毕业设计源码+LW文档_User_03

浙江省校园清廉建设评估系统-计算机毕业设计源码+LW文档_User_04