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(“账号已被锁定,请联系管理员”);
}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功能都是完善的
角色灵活设置权限:
菜单管理:
区域管理:
抗疫物质类型管理:
抗疫物质详情管理;
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();
}
}
用户申请抗疫物质:
管理员审核:
普通用户权限;
数据集设计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 ‘状态 0:禁用 1:正常’ ,
dept_id
bigint(20) NULL DEFAULT NULL COMMENT ‘部门ID’ ,
create_time
datetime NULL DEFAULT NULL COMMENT ‘创建时间’ ,
PRIMARY KEY (user_id
),
UNIQUE INDEX username
(username
) USING BTREE
)
ENGINE=InnoDB
DEFAULT CHARACTER SET=utf8mb4 COLLATE=utf8mb4_general_ci
COMMENT=‘系统用户’
AUTO_INCREMENT=3
总结
总体来说,如果你想转行从事程序员的工作,Java开发一定可以作为你的第一选择。但是不管你选择什么编程语言,提升自己的硬件实力才是拿高薪的唯一手段。
如果你以这份学习路线来学习,你会有一个比较系统化的知识网络,也不至于把知识学习得很零散。我个人是完全不建议刚开始就看《Java编程思想》、《Java核心技术》这些书籍,看完你肯定会放弃学习。建议可以看一些视频来学习,当自己能上手再买这些书看又是非常有收获的事了。
ARACTER SET=utf8mb4 COLLATE=utf8mb4_general_ci
COMMENT=‘系统用户’
AUTO_INCREMENT=3
总结
总体来说,如果你想转行从事程序员的工作,Java开发一定可以作为你的第一选择。但是不管你选择什么编程语言,提升自己的硬件实力才是拿高薪的唯一手段。
如果你以这份学习路线来学习,你会有一个比较系统化的知识网络,也不至于把知识学习得很零散。我个人是完全不建议刚开始就看《Java编程思想》、《Java核心技术》这些书籍,看完你肯定会放弃学习。建议可以看一些视频来学习,当自己能上手再买这些书看又是非常有收获的事了。
[外链图片转存中…(img-cmdmni7m-1721177023851)]