校园信息管理

学校公告

公告管理

请假管理

请假管理

学生签到

添加公告

基本信息修改

请假管理

技术描述

开发工具: Idea/Eclipse
数据库: mysql
Jar包仓库: Maven
前段框架:jquery/Jsp
后端框架: Spring+SpringMVC+Mybatis

资料说明

基于SSM+SpringBoot+Bootstrap+LayUI的高校信息管理系统,分为管理员,学生,老师,领导等多个自定义角色。整体功能包含学生挂你,请假审核,学生签到,活动管理,公告管理,用户管理,职位管理,权限管理等。


package com.cn.xiaonuo.sys.modular.user.controller;

import com.cn.xiaonuo.core.annotion.BusinessLog;
import com.cn.xiaonuo.core.annotion.DataScope;
import com.cn.xiaonuo.core.annotion.Permission;
import com.cn.xiaonuo.core.enums.LogAnnotionOpTypeEnum;
import com.cn.xiaonuo.core.pojo.page.PageResult;
import com.cn.xiaonuo.core.pojo.response.ResponseData;
import com.cn.xiaonuo.core.pojo.response.SuccessResponseData;
import com.cn.xiaonuo.sys.modular.user.entity.SysUser;
import com.cn.xiaonuo.sys.modular.user.param.SysUserParam;
import com.cn.xiaonuo.sys.modular.user.param.SysUser_infoParam;
import com.cn.xiaonuo.sys.modular.user.result.SysUserResult;
import com.cn.xiaonuo.sys.modular.user.service.SysUserService;
import com.xkcoding.http.util.StringUtil;

import cn.hutool.core.util.ObjectUtil;

import org.springframework.stereotype.Controller;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.annotation.Resource;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;


@Controller
public class SysUserController {

    @Resource
    private SysUserService sysUserService;

    /**
     * 系统用户页面
     *
     * @author xuyuxiang
     * @date 2020/11/17 16:40
     */
    @Permission
    @GetMapping("/sysUser/index")
    public String index() {
        return "system/sysUser/index.html";
    }

    /**
     * 系统用户表单页面
     *
     * @author xuyuxiang
     * @date 2020/11/17 16:40
     */
    @GetMapping("/sysUser/form")
    public String form() {
        return "system/sysUser/form.html";
    }

    /**
     * 系统用户附属信息表单页面
     *
     * @author xuyuxiang
     * @date 2020/11/17 16:40
     */
    @GetMapping("/sysUser/extForm")
    public String extForm() {
        return "system/sysUser/extForm.html";
    }

    /**
     * 系统用户授权角色页面
     *
     * @author xuyuxiang
     * @date 2020/11/17 16:40
     */
    @GetMapping("/sysUser/grantRole")
    public String grantRole() {
        return "system/sysUser/grantRole.html";
    }

    /**
     * 系统用户授权数据页面
     *
     * @author xuyuxiang
     * @date 2020/11/17 16:40
     */
    @GetMapping("/sysUser/grantData")
    public String grantData() {
        return "system/sysUser/grantData.html";
    }

    /**
     * 用户选择器页面
     *
     * @author xuyuxiang
     * @date 2020/11/17 16:40
     */
    @GetMapping("/sysUser/selectorHtml")
    public String selectorHtml() {
        return "system/sysUser/selector.html";
    }

    /**
     * 查询系统用户
     *
     * @author xuyuxiang
     * @date 2020/3/20 21:00
     */
    @Permission
    @ResponseBody
    @DataScope
    @GetMapping("/sysUser/page")
    @BusinessLog(title = "系统用户_查询", opType = LogAnnotionOpTypeEnum.QUERY)
    public PageResult<SysUserResult> page(SysUserParam sysUserParam) {
        return sysUserService.page(sysUserParam);
    }

    /**
     * 增加系统用户
     *
     * @author xuyuxiang
     * @date 2020/3/23 16:28
     */
    @Permission
    @ResponseBody
    @DataScope
    @PostMapping("/sysUser/add")
    @BusinessLog(title = "系统用户_增加", opType = LogAnnotionOpTypeEnum.ADD)
    public ResponseData add(@RequestBody @Validated(SysUserParam.add.class) SysUserParam sysUserParam) {
        sysUserService.add(sysUserParam);
        return new SuccessResponseData();
    }

    /**
     * 删除系统用户
     *
     * @author xuyuxiang
     * @date 2020/3/23 16:28
     */
    @Permission
    @ResponseBody
    @DataScope
    @PostMapping("/sysUser/delete")
    @BusinessLog(title = "系统用户_删除", opType = LogAnnotionOpTypeEnum.DELETE)
    public ResponseData delete(@RequestBody @Validated(SysUserParam.delete.class) List<SysUserParam> sysUserParamList) {
        sysUserService.delete(sysUserParamList);
        return new SuccessResponseData();
    }

    /**
     * 编辑系统用户
     *
     * @author xuyuxiang
     * @date 2020/3/23 16:28
     */
    @Permission
    @ResponseBody
    @DataScope
    @PostMapping("/sysUser/edit")
    @BusinessLog(title = "系统用户_编辑", opType = LogAnnotionOpTypeEnum.EDIT)
    public ResponseData edit(@RequestBody @Validated(SysUserParam.edit.class) SysUserParam sysUserParam) {
        sysUserService.edit(sysUserParam);
        return new SuccessResponseData();
    }

    @ResponseBody
    @PostMapping("/sysUser/qdqt")
    @BusinessLog(title = "系统用户_编辑", opType = LogAnnotionOpTypeEnum.EDIT)
    public ResponseData qdqt(@RequestBody SysUserParam sysUserParam) {
        sysUserService.qdqt(sysUserParam);
        return new SuccessResponseData();
    }



    
    /**
     * 个人中心信息修改
     *
     * @author xuyuxiang
     * @date 2020/3/23 16:28
     */
    //@Permission
    @ResponseBody
    @DataScope
    @PostMapping("/sysUser/editforUser_info")
    @BusinessLog(title = "个人信息修改", opType = LogAnnotionOpTypeEnum.EDIT)
    public ResponseData editforUser_info(@RequestBody @Validated(SysUser_infoParam.detail.class) SysUser_infoParam SysUser_infoParam) {
        sysUserService.editforUser_info(SysUser_infoParam);
        return new SuccessResponseData();
    }

    /**
     * 查看系统用户
     *
     * @author xuyuxiang
     * @date 2020/3/23 16:28
     */
  //  @Permission
    @ResponseBody
    @GetMapping("/sysUser/detail")
    @BusinessLog(title = "系统用户_查看", opType = LogAnnotionOpTypeEnum.DETAIL)
    public ResponseData detail(@Validated(SysUserParam.detail.class) SysUserParam sysUserParam) {
        return new SuccessResponseData(sysUserService.detail(sysUserParam));
    }

    /**
     * 修改状态
     *
     * @author xuyuxiang
     * @date 2020/5/25 14:32
     */
    @Permission
    @ResponseBody
    @PostMapping("/sysUser/changeStatus")
    @BusinessLog(title = "系统用户_修改状态", opType = LogAnnotionOpTypeEnum.CHANGE_STATUS)
    public ResponseData changeStatus(@RequestBody @Validated(SysUserParam.changeStatus.class) SysUserParam sysUserParam) {
        sysUserService.changeStatus(sysUserParam);
        return new SuccessResponseData();
    }

    /**
     * 授权角色
     *
     * @author xuyuxiang
     * @date 2020/3/28 16:05
     */
    @Permission
    @ResponseBody
    @DataScope
    @PostMapping("/sysUser/grantRole")
    @BusinessLog(title = "系统用户_授权角色", opType = LogAnnotionOpTypeEnum.GRANT)
    public ResponseData grantRole(@RequestBody @Validated(SysUserParam.grantRole.class) SysUserParam sysUserParam) {
        sysUserService.grantRole(sysUserParam);
        return new SuccessResponseData();
    }

    /**
     * 授权数据
     *
     * @author xuyuxiang
     * @date 2020/3/28 16:05
     */
    @Permission
    @ResponseBody
    @DataScope
    @PostMapping("/sysUser/grantData")
    @BusinessLog(title = "系统用户_授权数据", opType = LogAnnotionOpTypeEnum.GRANT)
    public ResponseData grantData(@RequestBody @Validated(SysUserParam.grantData.class) SysUserParam sysUserParam) {
        sysUserService.grantData(sysUserParam);
        return new SuccessResponseData();
    }

    /**
     * 更新信息
     *
     * @author xuyuxiang
     * @date 2020/4/1 14:27
     */
    @ResponseBody
    @PostMapping("/sysUser/updateInfo")
    @BusinessLog(title = "系统用户_更新信息", opType = LogAnnotionOpTypeEnum.UPDATE)
    public ResponseData updateInfo(@RequestBody @Validated(SysUserParam.updateInfo.class) SysUserParam sysUserParam) {
        sysUserService.updateInfo(sysUserParam);
        return new SuccessResponseData();
    }

    /**
     * 修改密码
     *
     * @author xuyuxiang
     * @date 2020/4/1 14:42
     */
    @ResponseBody
    @PostMapping("/sysUser/updatePwd")
    @BusinessLog(title = "系统用户_修改密码", opType = LogAnnotionOpTypeEnum.UPDATE)
    public ResponseData updatePwd(@RequestBody @Validated(SysUserParam.updatePwd.class) SysUserParam sysUserParam) {
        sysUserService.updatePwd(sysUserParam);
        return new SuccessResponseData();
    }
    
    @ResponseBody
    @PostMapping("/sysUser/updatePwdQZ")
    @BusinessLog(title = "重置密码", opType = LogAnnotionOpTypeEnum.UPDATE)
    public ResponseData updatePwdQZ(@RequestBody  SysUserParam sysUserParam) {
        sysUserService.updatePwdQZ(sysUserParam);
        return new SuccessResponseData();
    }

    /**
     * 拥有角色
     *
     * @author xuyuxiang
     * @date 2020/3/28 14:46
     */
    @Permission
    @ResponseBody
    @GetMapping("/sysUser/ownRole")
    @BusinessLog(title = "系统用户_拥有角色", opType = LogAnnotionOpTypeEnum.DETAIL)
    public ResponseData ownRole(@Validated(SysUserParam.detail.class) SysUserParam sysUserParam) {
        return new SuccessResponseData(sysUserService.ownRole(sysUserParam));
    }

    /**
     * 拥有数据
     *
     * @author xuyuxiang
     * @date 2020/3/28 14:46
     */
    @Permission
    @ResponseBody
    @GetMapping("/sysUser/ownData")
    @BusinessLog(title = "系统用户_拥有数据", opType = LogAnnotionOpTypeEnum.DETAIL)
    public ResponseData ownData(@Validated(SysUserParam.detail.class) SysUserParam sysUserParam) {
        return new SuccessResponseData(sysUserService.ownData(sysUserParam));
    }

    /**
     * 重置密码
     *
     * @author xuyuxiang
     * @date 2020/4/1 14:42
     */
    @Permission
    @ResponseBody
    @PostMapping("/sysUser/resetPwd")
    @BusinessLog(title = "系统用户_重置密码", opType = LogAnnotionOpTypeEnum.UPDATE)
    public ResponseData resetPwd(@RequestBody @Validated(SysUserParam.resetPwd.class) SysUserParam sysUserParam) {
        sysUserService.resetPwd(sysUserParam);
        return new SuccessResponseData();
    }

    /**
     * 修改头像
     *
     * @author xuyuxiang
     * @date 2020/6/28 15:19
     */
    @ResponseBody
    @PostMapping("/sysUser/updateAvatar")
    @BusinessLog(title = "系统用户_修改头像", opType = LogAnnotionOpTypeEnum.UPDATE)
    public ResponseData updateAvatar(@RequestBody @Validated(SysUserParam.updateAvatar.class) SysUserParam sysUserParam) {
        sysUserService.updateAvatar(sysUserParam);
        return new SuccessResponseData();
    }

    /**
     * 导出系统用户
     *
     * @author xuyuxiang
     * @date 2020/6/30 16:07
     */
    @Permission
    @ResponseBody
    @GetMapping("/sysUser/export")
    @BusinessLog(title = "系统用户_导出", opType = LogAnnotionOpTypeEnum.EXPORT)
    public void export(SysUserParam sysUserParam) {
        sysUserService.export(sysUserParam);
    }


    /**
     * 用户选择器
     *
     * @author xuyuxiang
     * @date 2020/7/3 13:17
     */
    @Permission
    @ResponseBody
    @GetMapping("/sysUser/selector")
    @BusinessLog(title = "系统用户_选择器", opType = LogAnnotionOpTypeEnum.QUERY)
    public ResponseData selector(SysUserParam sysUserParam) {
        return new SuccessResponseData(sysUserService.selector(sysUserParam));
    }
    
    
    
    /**
     * 获得所有用户
     *
     * @author xuyuxiang
     * @date 2020/7/3 13:17
     */
    //@Permission
    @ResponseBody
    @GetMapping("/sysUser/getALLuseriDAndName")
    @BusinessLog(title = "系统用户_选择器", opType = LogAnnotionOpTypeEnum.QUERY)
    public ResponseData getALLuseriDAndName(SysUserParam sysUserParam) {
    	List<HashMap<String, String>> ret=sysUserService.getAllUserInfo();
        return new SuccessResponseData(ret);
    }
    
    
    /**
     * 根据角色id获得所有用户
     *
     * @author xuyuxiang
     * @date 2020/7/3 13:17
     */
    //@Permission
    @ResponseBody
    @GetMapping("/sysUser/getALLuseriDAndNameByRoleCode")
    @BusinessLog(title = "系统用户_选择器", opType = LogAnnotionOpTypeEnum.QUERY)
    public ResponseData getALLuseriDAndNameByRoleCode(String code) {
    	List<HashMap<String, String>> ret=sysUserService.getALLuseriDAndNameByRoleCode(code);
        return new SuccessResponseData(ret);
    }
    
    @ResponseBody
    @GetMapping("/sysUser/getALLuseriDAndNameByRoleCodeAndNZhineng")
    @BusinessLog(title = "查找新东盛员工,但是没有绑定职位的员工", opType = LogAnnotionOpTypeEnum.QUERY)
    public ResponseData getALLuseriDAndNameByRoleCodeAndNZhineng(String code) {
    	List<HashMap<String, String>> ret=sysUserService.getALLuseriDAndNameByRoleCodeAndNZhineng(code);
        return new SuccessResponseData(ret);
    }
    
    @ResponseBody
    @GetMapping("/sysUser/getALLuseriDAndNameByRoleCodeAndNTD")
    @BusinessLog(title = "查找新东盛员工,但是没有绑定职位的员工", opType = LogAnnotionOpTypeEnum.QUERY)
    public ResponseData getALLuseriDAndNameByRoleCodeAndNTD(String code,String tdid) {
    	List<HashMap<String, String>> ret=sysUserService.getALLuseriDAndNameByRoleCodeAndNTD(code,tdid);
        return new SuccessResponseData(ret);
    }
    
    
    
    
    @ResponseBody
    @PostMapping("/sysUser/checkip")
    @BusinessLog(title = "检验ip", opType = LogAnnotionOpTypeEnum.QUERY)
    public ResponseData checkip(@RequestBody SysUser_infoParam SysUser_infoParam) {
    	String [] ipStrings=null;
    	List<String> list=new ArrayList<>();
    	
    	if(!StringUtil.isEmpty(SysUser_infoParam.getMark())) {
    		ipStrings=SysUser_infoParam.getMark().split(",");
    		//这里要明确指出是哪一个ip已经绑定,但是数据库里得ip是字符串拼接,所以循环查询
        	//List<SysUser> list=sysUserService.checkip(ipStrings);
        	
        	for (String ip : ipStrings) {
    			List<SysUser> sysUserlist=sysUserService.checkip("%"+ip+"%",SysUser_infoParam.getId());
    			
    			for (SysUser sysUser2 : sysUserlist) {
    				String [] marks=null;
    				if(StringUtil.isNotEmpty(sysUser2.getMark())) {
    				marks=sysUser2.getMark().split(",");
    				List<String> iplist = Arrays.asList(marks);
    	    		if( iplist.contains(ip)) {
    	    			list.add(ip);
    	    		}	
    				}
				}
    		}
            return new SuccessResponseData(list);
    	}else {
    		 return new SuccessResponseData(list);
    	}
    	
    	
    }
    
}

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐