基于java SSM springboot實現(xiàn)抗疫物質信息管理系統(tǒng)
主要功能設計:
用戶、區(qū)域、物質類型、物質詳情、物質申請和審核以及我的申請和通知公告以及靈活控制菜單權限
主要技術實現(xiàn):spring、 springmvc、 springboot、springboot security權限框架 mybatis 、 jquery 、 md5 、bootstarp.js tomcat、器、攔截器等
具體功能模塊:用戶模塊、角色模塊、菜單模塊、部門模塊以及靈活的權限控制,可控制到頁面或按鈕,滿足絕大部分的權限需求 業(yè)務模塊功能:區(qū)域管理、對不同區(qū)域的進行管理以及物質發(fā)放等、物質類型管理、物質詳情管理、物質申請管理、物質審核管理、我的物質申請管理、以及系統(tǒng)通知公告查看等具體功能模塊、以及修改密碼退出等。
功能截圖如下:
/** * . * * * * */ package io.renren.modules.sys.controller; import com.google.code.kaptcha.Constants; import com.google.code.kaptcha.Producer; import io.renren.common.utils.R; import io.renren.modules.sys.shiro.ShiroUtils; import org.apache.shiro.authc.*; import org.apache.shiro.subject.Subject; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; import javax.imageio.ImageIO; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; import java.awt.image.BufferedImage; import java.io.IOException; /** * 登錄相關 * * @author Mark s.com */ @Controller public class SysLoginController { @Autowired private Producer producer; @RequestMapping("captcha.jpg") public void captcha(HttpServletResponse response)throws IOException { response.setHeader("Cache-Control", "no-store, no-cache"); response.setContentType("image/jpeg"); //生成文字驗證碼 String text = producer.createText(); //生成圖片驗證碼 BufferedImage image = producer.createImage(text); //保存到shiro session ShiroUtils.setSessionAttribute(Constants.KAPTCHA_SESSION_KEY, text); ServletOutputStream out = response.getOutputStream(); ImageIO.write(image, "jpg", out); } /** * 登錄 */ @ResponseBody @RequestMapping(value = "/sys/login", method = RequestMethod.POST) public R login(String username, String password, String captcha) { String kaptcha = ShiroUtils.getKaptcha(Constants.KAPTCHA_SESSION_KEY); if(!captcha.equalsIgnoreCase(kaptcha)){ return R.error("驗證碼不正確"); } try{ Subject subject = ShiroUtils.getSubject(); UsernamePasswordToken token = new UsernamePasswordToken(username, password);//md5+Jiayan subject.login(token); }catch (UnknownAccountException e) { return R.error(e.getMessage()); }catch (IncorrectCredentialsException e) { return R.error("賬號或密碼不正確"); }catch (LockedAccountException e) { return R.error("賬號已被鎖定,請聯(lián)系管理員"); }catch (AuthenticationException e) { return R.error("賬戶驗證失敗"); } return R.ok(); } /** * 退出 */ @RequestMapping(value = "logout", method = RequestMethod.GET) public String logout() { ShiroUtils.logout(); return "redirect:login.html"; } }
用戶首頁超級管理員頁面功能:
用戶管理:每個模塊對應的CRUD功能都是完善的
角色靈活設置權限:
菜單管理:
區(qū)域管理:
抗疫物質類型管理:
抗疫物質詳情管理;
package io.renren.modules.sys.controller; import io.renren.common.utils.PageUtils; import io.renren.common.utils.R; import io.renren.modules.sys.entity.MatterApply; import io.renren.modules.sys.service.MatterApplyService; import io.renren.modules.sys.service.impl.MatterApplyServiceImpl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.Arrays; import java.util.Date; import java.util.Map; @RestController @RequestMapping("/sys/matterApply") public class MatterApplyController extends AbstractController { @Autowired private MatterApplyService MatterApplyService; @Autowired MatterApplyServiceImpl MatterApplyServiceImpe; @RequestMapping("/list") public R list(@RequestParam Map<String, Object> params){ PageUtils page = MatterApplyService.queryPage(params); return R.ok().put("page", page); } @RequestMapping("/AuditList") public R AuditList(@RequestParam Map<String, Object> params){ params.put("applyStu","未審核"); PageUtils page = MatterApplyService.queryPage(params); return R.ok().put("page", page); } @RequestMapping("/listByUser") public R listByUser(@RequestParam Map<String, Object> params){ params.put("applyUserId",String.valueOf(getUserId())); PageUtils page = MatterApplyService.queryPage(params); return R.ok().put("page", page); } @RequestMapping("/info/{id}") public R info(@PathVariable("id") Long id){ MatterApply matterApply = MatterApplyService.getById(id); return R.ok().put("matterApply", matterApply); } @RequestMapping("/save") public R save(@RequestBody MatterApply matterApply){ matterApply.setApplyTime(new Date()); matterApply.setApplyUserId(getUserId()); matterApply.setApplyStu("未審核"); MatterApplyService.save(matterApply); return R.ok(); } @RequestMapping("/update") public R update(@RequestBody MatterApply matterApply){ MatterApplyService.updateById(matterApply); return R.ok(); } @RequestMapping("/delete") public R delete(@RequestBody Long[] ids){ MatterApplyService.removeByIds(Arrays.asList(ids)); return R.ok(); } }
用戶申請抗疫物質:
管理員審核:
普通用戶權限;
數(shù)據(jù)集設計ER圖:
CREATE TABLE `NewTable` ( `user_id` bigint(20) NOT NULL AUTO_INCREMENT , `username` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '用戶名' , `password` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '密碼' , `salt` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '鹽' , `email` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '郵箱' , `mobile` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '手機號' , `status` tinyint(4) NULL DEFAULT NULL COMMENT '狀態(tài) 0:禁用 1:正常' , `dept_id` bigint(20) NULL DEFAULT NULL COMMENT '部門ID' , `create_time` datetime NULL DEFAULT NULL COMMENT '創(chuàng)建時間' , PRIMARY KEY (`user_id`), UNIQUE INDEX `username` (`username`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARACTER SET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='系統(tǒng)用戶' AUTO_INCREMENT=3 ROW_FORMAT=COMPACT ;
到此這篇關于抗疫物質信息管理系統(tǒng)基于JAVA SSM springboot實現(xiàn)的文章就介紹到這了,更多相關信息管理系統(tǒng)內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
SpringBoot整合redis實現(xiàn)輸入密碼錯誤限制登錄功能
遇到這樣的需求需要實現(xiàn)一個登錄功能,并且2分鐘之內只能輸入5次錯誤密碼,若輸入五次之后還沒有輸入正確密碼,系統(tǒng)將會將該賬號鎖定1小時,這篇文章主要介紹了SpringBoot整合redis并實現(xiàn)輸入密碼錯誤限制登錄功能,需要的朋友可以參考下2024-02-02spring中@ControllerAdvice 注解的使用
@ControllerAdvice注解是Spring3.2中新增的注解,主要用于Controller的全局配置,本文就來介紹一下spring中@ControllerAdvice 注解的使用,感興趣的可以了解一下2024-09-09java異常繼承何類,運行時異常與一般異常的區(qū)別(詳解)
下面小編就為大家?guī)硪黄猨ava異常繼承何類,運行時異常與一般異常的區(qū)別(詳解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-11-11java.io.IOException:?UT010029:?Stream?is?closed異常分析及解決
這篇文章主要給大家介紹了關于java.io.IOException:?UT010029:?Stream?is?closed異常分析及解決辦法,文中通過代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考借鑒價值,需要的朋友可以參考下2024-02-02如何在java 8 stream表達式實現(xiàn)if/else邏輯
這篇文章主要介紹了如何在java 8 stream表達式實現(xiàn)if/else邏輯,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-04-04