基于javaweb+mysql的springboot学生会管理系统(java+springboot+thymeleaf+html+layui+bootstrap+maven+mysql)

基于javaweb+mysql的springboot学生会管理系统(java+springboot+thymeleaf+html+layui+bootstrap+maven+mysql)

私信源码获取及调试交流

运行环境

Java≥8、MySQL≥5.7

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

基于javaweb的SpringBoot学生会管理系统(java+springboot+thymeleaf+html+layui+bootstrap+maven+mysql)

项目介绍

学生会管理系统.主要功能包括:

后台首页:最新活动展示、最新公告、学生会部门职能介绍; 财务管理:资金报销登记、赞助商管理; 物资管理:物资借还管理、全部物资;添加、编辑、删除; 日常事务管理:工作计划管理、活动管理、文件管理; 申请请假:添加、修改、删除、查看;

我的待办;

环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。

2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;

3.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;

4.数据库:MySql 5.7版本;

技术栈

  1. 后端:SpringBoot

  2. 前端:Thymeleaf+html+layui+jQuery+bootstrap

使用说明

运行项目,输入localhost:8085 登录

        if(page.getRecords().isEmpty()){
            return  new Dataobj(null,a);
        }else {
            return  new Dataobj(page.getRecords(),page.getTotal());
        }

    }

    @RequestMapping(value = "/LoadAllProgres",method = RequestMethod.GET)
    public ModelAndView loadAllRecord() {
        QueryWrapper<records> q=new  QueryWrapper<>();
        List<records> list=recordsService.list(q);
        return  new ModelAndView("system/myverify/LeaveManagers","records",list);
    }

    /*添加请假单*/
    @RequestMapping("addLeave")
    public resultreturn addLeave(LeaveV leaveV,HttpSession session){
        try {
            User user= (User) session.getAttribute("user");
            if(user.getRemark().equals("主席")){
                return resultreturn.Qing_ERROR;
            }else {
                QueryWrapper<leaver> queryWrapper=new QueryWrapper<>();
                queryWrapper.eq("leaver",user.getName()).eq("status",2);
                QueryWrapper<leaver> q=new QueryWrapper<>();
                q.eq("leaver",user.getName()).eq("status",0);
                leaver leaver=leaverService.getOne(queryWrapper);
                leaver leaver1=leaverService.getOne(q);
                if(leaver!=null||leaver1!=null){
                    return resultreturn.jia_ERROR;
                }else if(leaver1==null&&leaver==null){
                    leaveV.setLeaver(user.getName());
                    leaveV.setStatus(0);
                    leaverService.save(leaveV);
                }
                return resultreturn.ADD_SUCCESS;
            }
        } catch (Exception e) {
            e.printStackTrace();
            return resultreturn.ADD_ERROR;
        }
    }


@RestController
@RequestMapping("/role")
public class JiaoseController {

    @Autowired
    private IjiaoseService roleService;

    @Autowired
    private IquanxianService permissionService;

    /**
     * 查询所有角色
     * @param jiaosev
     * @return
     */
    @RequestMapping("loadAllRole")
    public Dataobj loadAllRole(jiaosev jiaosev){
        IPage<role> page = new Page<role>(jiaosev.getPage(), jiaosev.getLimit());
        QueryWrapper<role> queryWrapper = new QueryWrapper<role>();
        queryWrapper.like(StringUtils.isNotBlank(jiaosev.getName()),"name", jiaosev.getName());
        queryWrapper.like(StringUtils.isNotBlank(jiaosev.getRemark()),"remark", jiaosev.getRemark());
        queryWrapper.eq(jiaosev.getAvailable()!=null,"available", jiaosev.getAvailable());
        queryWrapper.orderByAsc("id");
            if (allgoods.getGoodsnum() > 0 && num < allgoods.getGoodsnum()) {
                if (brrownum>=0) {
                    brrownum += num;
                    allgoods.setBorrownum(brrownum);
                    allgoods.setGoodsnum(goodssum - num);
                    AllgoodsService.updateById(allgoods);goodsService.save(goodsVo);
                }else {
                    goodsService.save(goodsVo);
                }
                return Resultreturn.ADD_SUCCESS;
            }else { return Resultreturn.ADD_ERRORs; }
        } catch (Exception e) {
            e.printStackTrace();
            return Resultreturn.ADD_ERROR;
        }
    }

    /*修改物资*/
    @RequestMapping("updateGoods")
    public Resultreturn updateGoods(GoodsVo goodsVo){
        try {

            Integer gid=goodsVo.getGid();
            Allgoods allgoods=AllgoodsService.getById(gid);
            Integer goodssum1=allgoods.getGoodsnum();
            Integer brrownum1=allgoods.getBorrownum();
            Integer num=goodsVo.getCountnum();
            Integer num1=goodsVo.getGoodsnum();
            if(goodsVo.getStatus()==1){
                allgoods.setGoodsnum(goodssum1+num1);
                allgoods.setBorrownum(brrownum1-num1);
                AllgoodsService.updateById(allgoods);
                goodsService.updateById(goodsVo);
                return Resultreturn.UPDATE_SUCCESS;
            }
            else {
                if (allgoods.getGoodsnum() > 0 && num < allgoods.getGoodsnum()) {
                    if (num>0) {
                        brrownum1 = num + brrownum1;
                        allgoods.setBorrownum(brrownum1);
                        allgoods.setGoodsnum(goodssum1 - num);
                        AllgoodsService.updateById(allgoods);
                        goodsService.updateById(goodsVo);
                    } else if (0 == num) {
                        goodsService.updateById(goodsVo);
                    } else {
                        brrownum1 = brrownum1 +num;
                        allgoods.setBorrownum(brrownum1);
                        allgoods.setGoodsnum(goodssum1-num);
                        AllgoodsService.updateById(allgoods);
                        goodsService.updateById(goodsVo);

    public void setMessage(String message) {
        this.message = message;
    }

    java.net.ServerSocket server = null;
    Socket socket = null;
  public   List<Socket> sockets=new ArrayList<Socket>();
  public   static int socketNum=0;
    HttpSession session;

    public ServerSocket(int port) throws IOException {
        server=new java.net.ServerSocket(port);
    }

    public void sendmsg(String tf,Socket socket) {
        //写操作
        OutputStream os= null;
        SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        try {
            os= socket.getOutputStream();
            BufferedOutputStream bufferedOutputStream=new BufferedOutputStream(os);
            message+="\n"+" "+"我:"+simpleDateFormat.format(new Date())+"\n"+" "+tf;
            bufferedOutputStream.write((tf).getBytes());
            bufferedOutputStream.flush();

        } catch (IOException e) {
            e.printStackTrace();
        }

//          try {
//              os.close();
//          } catch (IOException e) {
//              e.printStackTrace();
//          }
    }

    @Override
    public void run() {

        try{
            boolean flag=true;
            AuthenticationToken token = new UsernamePasswordToken(userv.getLoginname(), userv.getPassword());
            Subject subject = SecurityUtils.getSubject();
            try {
                //对用户进行认证登陆
                subject.login(token);
                //通过subject获取以认证活动的user
                UserRenZheng userRenZheng = (UserRenZheng) subject.getPrincipal();

                //单一登录操作设置
                ServletContext application = session.getServletContext();

                Map<Integer, Object> loginMap = (Map<Integer, Object>)application.getAttribute("loginMap");
                if (loginMap == null) {
                    loginMap = new HashMap<Integer, Object>();
                }
                boolean flag=false;
                boolean flag1=false;
                for (Integer key : loginMap.keySet()) {
                    if (userRenZheng.getUser().getId().intValue() == key.intValue()) {
                        if (session.getId().equals(loginMap.get(key))) {
                         flag=true;
                        } else {
                            flag1=true;
                        }
                    }
                }
                loginMap.put(userRenZheng.getUser().getId(),session.getId());
                application.setAttribute("loginMap", loginMap);
                // session 销毁时间
                session.setMaxInactiveInterval(60*60);		//40min失效, -1永不过期
                // 将用户保存在session当中
                session.setAttribute("sysUserInfo", userRenZheng.getUser());
                if(flag){
                    return resultreturn.LOGIN_ERROR_er;
                }else if (flag1){
                    return resultreturn.LOGIN_ERROR_err;
                }
                else {
/**            生成加密密码*/
//                SimpleHash hash = new SimpleHash("md5",userv.getPassword(), "Love",2);
//                System.out.println(hash.toString());

                login login=new login();
                login.setLoginname(userv.getLoginname());
                login.setLoginip(request.getRemoteAddr());
                login.setLogintime(new Date());
                loginService.save(login);
//                   User user = userRenZheng.getUser();
//                   Client client= new  Client();
//                   client.connectton(user);
//                   Thread thread=new Thread(client);
//                   thread.start();
//                  map.put(user.getName(),client);

@RestController
@RequestMapping("/leave")
public class LeaveController {

    //获取默认的流程引擎
    private ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
    //实例流程id,用来记录流程,以便获取当前任务
    private String processInstanceId;

    private String progressid;

    @Autowired
        q.like(StringUtils.isNotBlank(fileVo.getDept()),"dept",fileVo.getDept());
        q.like(StringUtils.isNotBlank(fileVo.getPersoncharge()),"personcharge",fileVo.getPersoncharge());
        q.orderByAsc("fileid");
        filesService.page(page,q);
        List list =filesService.list(q);
        long num=list.size();
        if(list.isEmpty()){
            return new Dataobj(null,num);
        }else {
            //返回DataGridView
            return new Dataobj(page.getRecords(), page.getTotal());
        }
    }

    @RequestMapping("loadAllfilesForSelect")
    public Dataobj loadAllProviderForSelect(){
        QueryWrapper<file> q = new QueryWrapper();
        List<file> list = filesService.list(q);
        return new Dataobj(list);
    }

    /**
     * 添加文件
     * @param
     * @return
     */
    @RequestMapping("addfiles")
    public Resultreturn addfile(FileVo fileVo){
        try {

            filesService.save(fileVo);
            return Resultreturn.ADD_SUCCESS;
        } catch (Exception e) {
            e.printStackTrace();
            return Resultreturn.ADD_ERROR;
        }
    }

    /**
     * 修改文件
     * @param fileVo
     * @return
     */
    @RequestMapping("updatefiles")
    public Resultreturn updatefiles(FileVo fileVo){
        try {
            filesService.updateById(fileVo);
            return Resultreturn.UPDATE_SUCCESS;

        } catch (Exception e) {
            e.printStackTrace();
            return Resultreturn.UPDATE_ERROR;

@RestController
@RequestMapping("/logininfo")
public class Loginmessgage {
    @Autowired
    private LoginService loginService;

    @RequestMapping("loadAlllogininfo")
    public Dataobj loadAllNotice(loginV loginV){
        IPage<login> page = new Page<>(loginV.getPage(),loginV.getLimit());
        QueryWrapper<login> q = new QueryWrapper<>();
        //进行模糊查询
        q.like(StringUtils.isNotBlank(loginV.getLoginname()),"loginname",loginV.getLoginname());
        q.orderByAsc("id");
        loginService.page(page,q);
        List list =loginService.list(q);
        long num=list.size();
        if(list.isEmpty()){
            return new Dataobj(null,num);
        }else {
            //返回DataGridView
            return new Dataobj(page.getRecords(), page.getTotal());
        }
}

@RestController
@RequestMapping("/activitys")
public class HuodonController {

    @Autowired
    private ActivitysService activitysService;

    /**
     * 查询活动
     * @param
     * @return
     */
    @RequestMapping("loadAllactivitys")
    public Dataobj loadAllGoods1(huodonv huodonv){

        IPage<activitys> page = new Page<>(huodonv.getPage(), huodonv.getLimit());
        QueryWrapper<activitys> q = new QueryWrapper<>();
        q.like(StringUtils.isNotBlank(huodonv.getActivityname()),"activityname", huodonv.getActivityname());
        q.like(StringUtils.isNotBlank(huodonv.getUndertakedepart()),"undertakedepart", huodonv.getUndertakedepart());
        q.orderByAsc("aid");
        activitysService.page(page,q);
        List list =activitysService.list(q);
        long num=list.size();
     * 修改物资
     * @param goodsVo
     * @return
     */
    @RequestMapping("updateGoods1")
    public Resultreturn updateGoods1(GoodsVo1 goodsVo){
        try {
            AllgoodsService.updateById(goodsVo);
            return Resultreturn.UPDATE_SUCCESS;

        } catch (Exception e) {
            e.printStackTrace();
            return Resultreturn.UPDATE_ERROR;
        }
    }

    //删除物资
    @RequestMapping("deleteGoods1")
    public Resultreturn deleteGoods1(Integer id){
        try {

            AllgoodsService.removeById(id);
            return Resultreturn.DELETE_SUCCESS;
        } catch (Exception e) {
            e.printStackTrace();
            return Resultreturn.DELETE_ERROR;
        }
    }

    /**
     * 批量删除
     * @param goodsVo1 选中的
     * @return
     */
    @RequestMapping("batchDeleteGoods1")
    public Resultreturn batchDeletefiles(GoodsVo1 goodsVo1){
        try {
            Collection<Serializable> idList = new ArrayList<Serializable>();
            for (Integer id : goodsVo1.getIds()) {
                idList.add(id);
            }
            AllgoodsService.removeByIds(idList);
            return Resultreturn.DELETE_SUCCESS;
        } catch (Exception e) {
            e.printStackTrace();
            return Resultreturn.DELETE_ERROR;
        }
    }

}
        if (list.size()>0){
            map.put("value",true);
        }else {
            map.put("value",false);
        }
        return map;
    }

    /**
     * 删除权限
     * @param quanxianv
     * @return
     */
    @RequestMapping("deletePermission")
    public resultreturn deletePermission(quanxianv quanxianv){
        try {
            permissionService.removeById(quanxianv.getId());
            return resultreturn.DELETE_SUCCESS;
        } catch (Exception e) {
            e.printStackTrace();
            return resultreturn.DELETE_ERROR;
        }
    }
    
    
}

@RestController
    }

    /**
     * 跳转到用户管理
     *
     * @return
     */
    @RequestMapping("toUserManager")
    public String toUserManager() {
        return "system/user/userManager";
    }

    /**
     * 跳转到请假
     *
     * @return
     */
    @RequestMapping("toLeaveManager")
    public String toLeaveManager() {
        return "system/leave/LeaveManager";
    }

    /**
     * 跳转到代办
     *
     * @return
     */
    @RequestMapping("toMyVerifyManager")
    public String toRecordManager() {
        return "system/myverify/MyVerifyManager";
    }

    /**
     * 跳转到审核记录
     *
     * @return
     */
    @RequestMapping("toRecordsManager")
    public String toRecordsManager() {
        return "system/myverify/RecordsManager";
    }

    /**
     * 跳转到请假单管理
     *
     * @return
     */
     */
    @RequestMapping("addDept")
    public resultreturn addDept(bumenv deptVo){
        try {
            deptService.save(deptVo);
            return resultreturn.ADD_SUCCESS;
        } catch (Exception e) {
            e.printStackTrace();
            return resultreturn.ADD_ERROR;
        }
    }

    /**
     * 更新部门
     * @param deptVo
     * @return
     */
    @RequestMapping("updateDept")
    public resultreturn updateDept(bumenv deptVo){
        try {
            deptService.updateById(deptVo);
            return resultreturn.UPDATE_SUCCESS;
        } catch (Exception e) {
            e.printStackTrace();
            return resultreturn.UPDATE_ERROR;
        }
    }

   /**
     * 删除部门
     * @param deptVo
     * @return
     */
    @RequestMapping("deleteDept")
    public resultreturn deleteDept(bumenv deptVo){
        try {
            deptService.removeById(deptVo.getDid());
            return resultreturn.DELETE_SUCCESS;
        } catch (Exception e) {
            e.printStackTrace();
            return resultreturn.DELETE_ERROR;
        }
    }

}

    }
    
    
}

@RestController
@RequestMapping("/files")
public class FilesControler {

    @Autowired
    private FilesService filesService;

    /**
     * 查询文件
     * @param
     * @return
     */
    @RequestMapping("loadAllfiles")
    public Dataobj loadAllfiles(FileVo fileVo){

        IPage<file> page = new Page<>(fileVo.getPage(),fileVo.getLimit());
        QueryWrapper<file> q = new QueryWrapper<>();
        q.like(StringUtils.isNotBlank(fileVo.getFilename()),"filename",fileVo.getFilename());
        q.like(StringUtils.isNotBlank(fileVo.getDept()),"dept",fileVo.getDept());
        q.like(StringUtils.isNotBlank(fileVo.getPersoncharge()),"personcharge",fileVo.getPersoncharge());
        q.orderByAsc("fileid");
        filesService.page(page,q);
        List list =filesService.list(q);
        long num=list.size();
            sponsorService.save(sponsorVo);
            return Resultreturn.ADD_SUCCESS;
        } catch (Exception e) {
            e.printStackTrace();
            return Resultreturn.ADD_ERROR;
        }
    }
    /** 修改赞助商*/
    @RequestMapping("updatesponsors")
    public Resultreturn updatesponsors(SponsorVo sponsorVo){
        try {
            sponsorService.updateById(sponsorVo);
            return Resultreturn.UPDATE_SUCCESS;

        } catch (Exception e) {
            e.printStackTrace();
            return Resultreturn.UPDATE_ERROR;
        }
    }

    //删除赞助商
    @RequestMapping("deletesponsors")
    public Resultreturn deletesponsors(Integer id){
        try {

            sponsorService.removeById(id);
            return Resultreturn.DELETE_SUCCESS;
        } catch (Exception e) {
            e.printStackTrace();
            return Resultreturn.DELETE_ERROR;
        }
    }

    /**
     * 批量删除
     * @param sponsorVo 选中的
     * @return
     */
    @RequestMapping("batchDeletesponsors")
    public Resultreturn batchDeletefiles(SponsorVo sponsorVo){
        try {
            Collection<Serializable> idList = new ArrayList<Serializable>();
            for (Integer id : sponsorVo.getIds()) {
                idList.add(id);
            }
    public static void main(String[] args) throws IOException {

    }
}

@RestController
@RequestMapping("/plans")
public class PlansController {

    @Autowired
    private PlansService plansService;

    /**
     * 查询计划
     * @param
     * @return
     */
    @RequestMapping("loadAllplans")
    public Dataobj loadAllGoods1(PlansVo plansVo){

        IPage<plans> page = new Page<>(plansVo.getPage(),plansVo.getLimit());
        QueryWrapper<plans> q = new QueryWrapper<>();
        q.like(StringUtils.isNotBlank(plansVo.getPlanname()),"planname",plansVo.getPlanname());
        q.like(StringUtils.isNotBlank(plansVo.getSumitdepart()),"sumitdepart",plansVo.getSumitdepart());
        q.like(StringUtils.isNotBlank(plansVo.getSumitor()),"sumitor",plansVo.getSumitor());
        q.orderByAsc("pid");
        plansService.page(page,q);
        List list =plansService.list(q);
        long num=list.size();
        if(list.isEmpty()){
            return new Dataobj(null,num);
        }
    }

   /**
     * 删除部门
     * @param deptVo
     * @return
     */
    @RequestMapping("deleteDept")
    public resultreturn deleteDept(bumenv deptVo){
        try {
            deptService.removeById(deptVo.getDid());
            return resultreturn.DELETE_SUCCESS;
        } catch (Exception e) {
            e.printStackTrace();
            return resultreturn.DELETE_ERROR;
        }
    }

}

@RestController
@RequestMapping("/logininfo")
public class Loginmessgage {
    @Autowired
    private LoginService loginService;

    @RequestMapping("loadAlllogininfo")
    public Dataobj loadAllNotice(loginV loginV){
        IPage<login> page = new Page<>(loginV.getPage(),loginV.getLimit());
        QueryWrapper<login> q = new QueryWrapper<>();

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

  • 7
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值