基于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 登录

                int n=0;
                List<Integer> list = new ArrayList<Integer>();
                for (int i=0; i<pids.length; i++) {
                    if(!list.contains(pids[i])) {
                        list.add(pids[i]);
                    }
                }
                Integer[] ids = new Integer[list.size()];
                for (Integer li:list) {
                    ids[n++]=li;
                }
                List<Integer> currentUserRoleIds = roleService.queryRolePermissionIdsByRid(rid);
                if (currentUserRoleIds.isEmpty()) {
                    roleService.saveRolePermission(rid, ids);

                } else {
                    roleService.deleteRolePermissionByRid(rid);
                    roleService.saveRolePermission(rid, ids);

                }

            }
            return resultreturn.DISPATCH_SUCCESS;
        } catch (Exception e) {
            e.printStackTrace();
            return resultreturn.DISPATCH_ERROR;
        }

    }

}

/**

    }

}

@RestController
@RequestMapping("/goods")
public class GoodsController {

    @Autowired
    private GoodsService goodsService;

    @Autowired
    private GoodsService1 AllgoodsService;

    /**
     * 查询物资
     * @param
     * @return
     */
    @RequestMapping("loadAllGoods")
    public Dataobj loadAllGoods(GoodsVo goodsVo){

        IPage<goods> page = new Page<>(goodsVo.getPage(),goodsVo.getLimit());
        QueryWrapper<goods> q = new QueryWrapper<>();
        q.like(StringUtils.isNotBlank(goodsVo.getGname()),"gname",goodsVo.getGname());
        q.like(StringUtils.isNotBlank(goodsVo.getRetunname()),"retunname",goodsVo.getRetunname());
        q.like(StringUtils.isNotBlank(goodsVo.getOperatorname()),"operatorname",goodsVo.getOperatorname());
        q.like(StringUtils.isNotBlank(goodsVo.getBorrowname()),"borrowname",goodsVo.getBorrowname());
        q.orderByAsc("id");
        goodsService.page(page,q);
        List list =goodsService.list(q);
        long num=list.size();
                                records.setLeaverid(leaver1.getId());
                                if (task.getResult() == 0) {
                                    useleaver.setStatus(3);

                                } else {
                                    useleaver.setStatus(2);
                                }
                            }
                        }else{//循环遍历请假状态为被驳回的请假单
                            for (com.ywj.system.model.leaver leaver1 : lea) {
                                useleaver.setId(leaver1.getId());
                                useleaver.setLeaver(leaver1.getLeaver());
                                useleaver.setStyle(leaver1.getStyle());
                                useleaver.setLeavereson(leaver1.getLeavereson());
                                useleaver.setLeavedate(leaver1.getLeavedate());
                                useleaver.setRemark(leaver1.getRemark());

                                if (task.getResult() == 0) {
                                    //不同意
                                    useleaver.setStatus(3);
                                } else {
                                    //同意
                                    useleaver.setStatus(2);
                                }
                            }
                        }
                        //设置审核记录
                        records.setLeaverid(task.getLeaverId());
                        records.setStatu(task.getResult());
                        records.setId(task.getId());
                        records.setName(task.getName());
                        records.setPizhu(task.getPi());
                        records.setRecordtime(new Date());
                        //添加审核记录
                        recordsService.save(records);
                        //修改请假状态
                        leaverService.updateById(useleaver);

                    }
                    //办理任务
                    this.processEngine.getTaskService().complete(task.getId().toString(), variables);

                } else if(user.getRemark().equals("主席")) {
                    variables.put("leaderresult", task.getLeaderResult());
                    QueryWrapper<leaver> q = new QueryWrapper<>();
                    //查询请假状态为初始化的请假单
                    q.eq("leaver", task.getLeaver()).eq("status", 2);
                    List<leaver> leaver = leaverService.list(q);
                    QueryWrapper<leaver> qu = new QueryWrapper<>();
                    //查询请假状态为被驳回的请假单
        } catch (Exception e) {
            e.printStackTrace();
            return resultreturn.Apply_ERROR;
        }
    }

}

@RestController
@RequestMapping("/goods")
public class GoodsController {

    @Autowired
    private GoodsService goodsService;

    @Autowired
    private GoodsService1 AllgoodsService;

    /**
     * 查询物资
     * @param
     * @return
     */
@RequestMapping("/sponsors")
public class SponsorsController {

    @Autowired
    private SponsorService sponsorService;

    /**
     * 查询赞助商
     * @param
     * @return
     */
    @RequestMapping("loadAllsponsors")
    public Dataobj loadAllsponsors(SponsorVo sponsorVo){

        IPage<sponsors> page = new Page<>(sponsorVo.getPage(),sponsorVo.getLimit());
        QueryWrapper<sponsors> q = new QueryWrapper<>();
        q.like(StringUtils.isNotBlank(sponsorVo.getSponsor()),"sponsor",sponsorVo.getSponsor());
        q.like(StringUtils.isNotBlank(sponsorVo.getContent()),"content",sponsorVo.getContent());
        q.orderByAsc("id");
        sponsorService.page(page,q);
        List list =sponsorService.list(q);
        long num=list.size();
        if(list.isEmpty()){
            return new Dataobj(null,num);
        }else {
            //返回DataGridView
            return new Dataobj(page.getRecords(), page.getTotal());
        }
    }

    /**添加赞助商*/
    @RequestMapping("addsponsors")
    public Resultreturn addsponsors(SponsorVo sponsorVo){
        try {
            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;
            e.printStackTrace();
            return Resultreturn.UPDATE_ERROR;
        }
    }

    //删除计划
    @RequestMapping("deleteplans")
    public Resultreturn deleteGoods1(Integer pid){
        try {

            plansService.removeById(pid);
            return Resultreturn.DELETE_SUCCESS;
        } catch (Exception e) {
            e.printStackTrace();
            return Resultreturn.DELETE_ERROR;
        }
    }

    /**
     * 批量删除
     * @param plansVo 选中的
     * @return
     */
    @RequestMapping("batchDeleteplans")
    public Resultreturn batchDeletefiles(PlansVo plansVo){
        try {
            Collection<Serializable> idList = new ArrayList<Serializable>();
            for (Integer id : plansVo.getIds()) {
                idList.add(id);
            }
            plansService.removeByIds(idList);
            return Resultreturn.DELETE_SUCCESS;
        } catch (Exception e) {
            e.printStackTrace();
            return Resultreturn.DELETE_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);
            }
            sponsorService.removeByIds(idList);
            return Resultreturn.DELETE_SUCCESS;

    /**
     * 添加用户
     * @param userv
     * @return
     */
    @RequestMapping("addUser")
    public resultreturn addUser(userv userv){
        try {

            //设置类型
            userv.setStype(changliang.USER_TYPE_NORMAL);
            userService.save(userv);
            return resultreturn.ADD_SUCCESS;
        } catch (Exception e) {
            e.printStackTrace();
            return resultreturn.ADD_ERROR;
        }
    }

    @RequestMapping("loadAllgoodsForSelect")
    public Dataobj loadAllProviderForSelect(){
        QueryWrapper<dpartment> queryWrapper = new QueryWrapper();
        List<dpartment> list = deptService.list(queryWrapper);
        return new Dataobj(list);
    }
    @RequestMapping("loadAllgoodsForSelect1")
    public Dataobj loadAllProviderForSelect1(Integer did){
        QueryWrapper<dpartment> q = new QueryWrapper();
        q.eq("did",did);
        List<dpartment> list = deptService.list(q);
        return new Dataobj(list);
    }
    /**
     * 根据id查询一个用户
     * @param id  领导的id
     * @return
     */
    @RequestMapping("loadUserById")
    public Dataobj loadUserById(Integer id){
        return new Dataobj(userService.getById(id));
    }


    @Override
    public void run() {

        try{
            boolean flag=true;
            String name="";
            SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            System.out.println("等待客户端连接...");
            socket = server.accept();
            if (socket!=null) {
                sockets.add(socket);
                System.out.println("客户端连接成功.....");
                InputStream in = socket.getInputStream();
                BufferedInputStream bufferedInputStream=new BufferedInputStream(in);
                int len = 0;
                byte[] buf = new byte[1024];
                while ((len=bufferedInputStream.read(buf))!=-1){
                    if (flag) {
                        name=new String(buf,0,len);
                        flag=false;
                    }else {

//                        message += "\n" + " " + name + ": " + simpleDateFormat.format(new Date()) + "port:" + socket.getRemoteSocketAddress() + "\n" + " " + new String(buf, 0, len);
                        message = "\n" + " " + name + ": " + simpleDateFormat.format(new Date()) + "<br>" + " " + new String(buf, 0, len);

                    }
                    new zhuanfa().start();
                }

            }

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

    }
    class zhuanfa extends Thread{
        @Override
        public void run() {
            OutputStream os= null;
            for (int i = 0; i <sockets.size(); i++) {
                try {
                    os= sockets.get(i).getOutputStream();
                    BufferedOutputStream bufferedOutputStream=new BufferedOutputStream(os);
                    bufferedOutputStream.write(message.getBytes());
                    bufferedOutputStream.flush();
                } catch (IOException e) {
    /*修改物资*/
    @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);
                    }
                    return Resultreturn.UPDATE_SUCCESS;
                } else {
                    return Resultreturn.UPDATE_ERRORs;
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
                        recordsService.save(records);
                        //修改请假状态
                        leaverService.updateById(useleaver);

                    }
                    //办理任务
                    this.processEngine.getTaskService().complete(task.getId().toString(), variables);

                } else if(user.getRemark().equals("主席")) {
                    variables.put("leaderresult", task.getLeaderResult());
                    QueryWrapper<leaver> q = new QueryWrapper<>();
                    //查询请假状态为初始化的请假单
                    q.eq("leaver", task.getLeaver()).eq("status", 2);
                    List<leaver> leaver = leaverService.list(q);
                    QueryWrapper<leaver> qu = new QueryWrapper<>();
                    //查询请假状态为被驳回的请假单
                    qu.eq("leaver", task.getLeaver()).eq("status", 3);
                    List<leaver> lea= leaverService.list(qu);

                    if(lea.isEmpty()) {//如果为空表示初次办理任务
                        //循环遍历请假状态为初始化的请假单
                        for (com.ywj.system.model.leaver item : leaver){
                            useleaver.setId(item.getId());
                            useleaver.setLeaver(item.getLeaver());
                            useleaver.setStyle(item.getStyle());
                            useleaver.setLeavereson(item.getLeavereson());
                            useleaver.setLeavedate(item.getLeavedate());
                            useleaver.setRemark(item.getRemark());
                            records.setLeaverid(item.getId());
                        if (task.getLeaderResult() == 1) {
                            //同意
                            useleaver.setStatus(task.getLeaderResult());
                        } else {
                            //不同意
                            useleaver.setStatus(3);
                        }
                    }
                    }else {//循环遍历请假状态为被驳回的请假单
                        for (com.ywj.system.model.leaver leaver1 : lea) {
     * @return
     */
    @RequestMapping("addPermission")
    public resultreturn addPermission(quanxianv quanxianv){
        try {
            //设置添加类型为 permission
            quanxianv.setType(Changliang.TYPE_PERMISSION);
            permissionService.save(quanxianv);
            return resultreturn.ADD_SUCCESS;
        } catch (Exception e) {
            e.printStackTrace();
            return resultreturn.ADD_ERROR;
        }
    }

    /**
     * 更新权限
     * @param quanxianv
     * @return
     */
    @RequestMapping("updatePermission")
    public resultreturn updatePermission(quanxianv quanxianv){
        try {
            permissionService.updateById(quanxianv);
            return resultreturn.UPDATE_SUCCESS;
        } catch (Exception e) {
            e.printStackTrace();
            return resultreturn.UPDATE_ERROR;
        }
    }

    /**
     * 检查当前权限是否有子权限
     * @param quanxianv
     * @return
     */
    @RequestMapping("checkPermissionHasChildrenNode")
    public Map<String,Object> checkPermissionHasChildrenNode(quanxianv quanxianv){
        Map<String,Object> map = new HashMap<String, Object>();
        QueryWrapper<permisson> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("pid", quanxianv.getId());
        List<permisson> list = permissionService.list(queryWrapper);
        if (list.size()>0){
            map.put("value",true);
        }else {
    public void setHeight(int height) {
        this.height = height;
    }
}

@RestController
@RequestMapping("user1")
public class UserController {

    @Autowired
    UserService userService;

    @Autowired
    private IbumenService deptService;

    @Autowired
     * @param quanxianv
     * @return
     */
    @RequestMapping("loadAllPermission")
    public Dataobj loadAllPermission(quanxianv quanxianv){
        IPage<permisson> page = new Page<>(quanxianv.getPage(), quanxianv.getLimit());
        //进行模糊查询
        QueryWrapper<permisson> q = new QueryWrapper<>();
        //只能查询权限
        q.eq("type", Changliang.TYPE_PERMISSION);
        q.like(StringUtils.isNotBlank(quanxianv.getTitle()),"title", quanxianv.getTitle());
        q.like(StringUtils.isNotBlank(quanxianv.getPercode()),"percode", quanxianv.getPercode());
        q.eq(quanxianv.getId()!=null,"pid", quanxianv.getId());
        q.orderByAsc("id");
        //进行查询
        permissionService.page(page,q);
        //返回DataGridView
        List list =permissionService.list(q);
        long num=list.size();
        if(list.isEmpty()){
            return new Dataobj(null,num);
        }else {
            //返回DataGridView
            return new Dataobj(page.getRecords(), page.getTotal());
        }
    }

    /**
     * 添加权限
     * @param quanxianv
     * @return
     */
    @RequestMapping("addPermission")
    public resultreturn addPermission(quanxianv quanxianv){
        try {
            //设置添加类型为 permission
            quanxianv.setType(Changliang.TYPE_PERMISSION);
            permissionService.save(quanxianv);
            return resultreturn.ADD_SUCCESS;
        } catch (Exception e) {
            e.printStackTrace();
            return resultreturn.ADD_ERROR;
        }
    }

    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());

@RestController
@RequestMapping("user1")
public class UserController {

    @Autowired
    UserService userService;

    @Autowired
    private IbumenService deptService;

    @Autowired
    private IjiaoseService roleService;

    @Autowired
    private LoginService loginService;

    Map<String,Client> map=new HashMap<>();

    @RequestMapping("/login")
    public resultreturn login(userv userv, String code) throws IOException{

        ServletRequestAttributes requestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
        HttpServletRequest request = requestAttributes.getRequest();
        HttpSession session = request.getSession();
        //获得存储在session中的验证码
        String sessionCode = (String) session.getAttribute("code");
        if (code!=null&&sessionCode.equals(code)){

            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();


                    //将user存储到session中
                    session.setAttribute("user", userRenZheng.getUser());
                    return resultreturn.LOGIN_SUCCESS;
                }

            } catch (UnknownAccountException e) {

                return resultreturn.LOGIN_ERROR_PASS;

            }catch (IncorrectCredentialsException e){

                return resultreturn.LOGIN_ERROR_PASS;
            }
        }else {
            return resultreturn.LOGIN_ERROR_CODE;
        }
    }

    //查询当前用户信息
    @RequestMapping("getNowUser")
    public User getNowUser(HttpSession session) {
        //1.获取当前session中的user
        User user1 = (User) session.getAttribute("user");
        return user1;
    }
//
//    @RequestMapping("readMessage")
//    public  String  readMessage(HttpSession session){
//        User user= (User) session.getAttribute("user");
//        Client client = null;
//        String message="";
//        for (String s:map.keySet()){
//
//            if (s==user.getName()){
//                client=map.get(s);
//                message=client.returnMessage();
//            }
//        }
//
//       if (message!=null){
//            return message;
//        }else {
//           return "";
//       }
//
//    }

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

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐