package parking.manager.web;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.authz.annotation.Logical;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.apache.shiro.authz.annotation.RequiresRoles;
import org.apache.shiro.crypto.hash.Hash;
import org.apache.shiro.subject.Subject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.ResourceUtils;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import parking.common.AjaxResult;
import parking.common.AjaxResultBuilder;
import parking.common.ResultCode;
import parking.common.User;
import parking.manager.service.IUserService;
import javax.servlet.http.HttpServletRequest;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.UUID;
/**
* Author: huang
* Date: created in 2020/1/7 23:14
* Description:
*
* @author 24626
*/
@RestController
public class UserController {
@Autowired
private IUserService userService;
@GetMapping("/users")
public Object findUsers() {
List<User> users = userService.findUsers();
return AjaxResultBuilder.build(ResultCode.SELECT_SUCCESS, ResultCode.findMessageByCode(ResultCode.SELECT_SUCCESS), users);
}
@GetMapping(value = "/user", produces = "application/json")
public Object getUsers(@RequestParam(value = "userName", required = false) String userName,
@RequestParam(value = "deleteFlag", required = false) Character deleteFlag,
@RequestParam(value = "phone", required = false) String phone,
@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
@RequestParam(value = "pageSize") Integer pageSize) {
Map<String, Object> paramMap = new HashMap<>();
paramMap.put("userName", userName);
paramMap.put("deleteFlag", deleteFlag);
paramMap.put("phone", phone);
PageHelper.startPage(pageNum, pageSize);
List<User> users = userService.findUsersByMap(paramMap);
PageInfo<User> userInfo = new PageInfo<>(users);
return userInfo;
}
@GetMapping("/user/{userId}")
public Object find(@PathVariable("userId") Integer userId) {
User user = userService.getUserById(userId);
return AjaxResultBuilder.build(ResultCode.SELECT_SUCCESS, ResultCode.findMessageByCode(ResultCode.SELECT_SUCCESS), user);
}
@PostMapping("/register")
public Object register(@RequestBody User user) {
return this.save(user);
}
@RequiresRoles(value = {"commonAdmin","superAdmin"},logical = Logical.OR)
@PostMapping("/user")
public Object save(@RequestBody User user) {
int flag = userService.save(user);
return flag > 0 ? AjaxResultBuilder.build(ResultCode.SAVE_SUCCESS, ResultCode.findMessageByCode(ResultCode.SAVE_SUCCESS), user)
: AjaxResultBuilder.build(ResultCode.SAVE_FAIL, ResultCode.findMessageByCode(ResultCode.SAVE_FAIL), null);
}
@PostMapping("/file")
public Object upload(@RequestParam(value = "file") MultipartFile file,
@RequestParam(value = "userId") Integer userId) {
System.out.println(userId);
if (file.isEmpty()) {
return new AjaxResult<>(ResultCode.UPLOAD_FAIL, "file should not be null", null);
} else {
//将图片保存到
String realPath = null;
try {
realPath = ResourceUtils.getURL("classpath:").getPath();
System.out.println(realPath);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
//拿到文件名
String fileName = file.getOriginalFilename();
//拿到后缀名
String suffixName = fileName.substring(fileName.lastIndexOf("."));
//新的文件名
fileName = UUID.randomUUID() + suffixName;
File actualFile = new File(realPath, "static/images/" + fileName);
if (!actualFile.getParentFile().exists()) {
actualFile.getParentFile().mkdirs();
}
System.out.println(actualFile.getAbsolutePath());
try {
file.transferTo(actualFile);
Map<String, Object> map = new HashMap<>(6);
map.put("userId", userId);
map.put("userImage", fileName);
//更新数据库的图片路径
System.out.println("文件名称" + fileName);
int flag = userService.modifyImage(map);
return flag > 0 ? AjaxResultBuilder.build(ResultCode.UPLOAD_SUCCESS, ResultCode.findMessageByCode(ResultCode.UPLOAD_SUCCESS), fileName) : AjaxResultBuilder.build(ResultCode.UPLOAD_FAIL, ResultCode.findMessageByCode(ResultCode.UPLOAD_FAIL), null);
} catch (IOException e) {
e.printStackTrace();
}
}
return null;
}
@RequiresPermissions(value = "user:update")
@PutMapping("/user")
public Object modify(@RequestBody User user) {
int flag = userService.modify(user);
return flag > 0 ? AjaxResultBuilder.build(ResultCode.EDIT_SUCCESS, ResultCode.findMessageByCode(ResultCode.EDIT_SUCCESS), flag) : AjaxResultBuilder.build(ResultCode.EDIT_FAIL, ResultCode.findMessageByCode(ResultCode.EDIT_FAIL), null);
}
@RequiresPermissions(value = "user:delete")
@DeleteMapping("/user/{userId}")
public Object delete(@PathVariable("userId") Integer userId) {
int flag = userService.delete(userId);
return flag > 0 ? AjaxResultBuilder.build(ResultCode.DELETE_SUCCESS, ResultCode.findMessageByCode(ResultCode.DELETE_SUCCESS), flag) : AjaxResultBuilder.build(ResultCode.DELETE_FAIL, ResultCode.findMessageByCode(ResultCode.DELETE_FAIL), null);
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
基于springboot+vue的汽车租赁管理系统源码(95分以上大作业项目).zip
共149个文件
java:57个
jpg:26个
png:25个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 2 下载量 9 浏览量
2023-06-09
10:14:59
上传
评论 2
收藏 1.14MB ZIP 举报
温馨提示
基于springboot+vue的汽车租赁管理系统源码(95分以上大作业项目).zip 高分设计项目,代码完整下载可用,纯手打高分设计,可以作为期末大作业和课程设计,小白也可实战。 基于springboot+vue的汽车租赁管理系统源码(95分以上大作业项目).zip 高分设计项目,代码完整下载可用,纯手打高分设计,可以作为期末大作业和课程设计,小白也可实战。基于springboot+vue的汽车租赁管理系统源码(95分以上大作业项目).zip 高分设计项目,代码完整下载可用,纯手打高分设计,可以作为期末大作业和课程设计,小白也可实战。基于springboot+vue的汽车租赁管理系统源码(95分以上大作业项目).zip 高分设计项目,代码完整下载可用,纯手打高分设计,可以作为期末大作业和课程设计,小白也可实战。基于springboot+vue的汽车租赁管理系统源码(95分以上大作业项目).zip 高分设计项目,代码完整下载可用,纯手打高分设计,可以作为期末大作业和课程设计,小白也可实战。基于springboot+vue的汽车租赁管理系统源码(95分以上大作业项目).zip 高分设
资源推荐
资源详情
资源评论
收起资源包目录
基于springboot+vue的汽车租赁管理系统源码(95分以上大作业项目).zip (149个子文件)
UserController.class 7KB
MyRealm.class 7KB
ShiroLoginController.class 5KB
UserServiceTest.class 4KB
ShiroConfig.class 4KB
CarController.class 4KB
MenuController.class 3KB
WebAspect.class 3KB
DruidConfig.class 2KB
MenuServiceImplTest.class 2KB
CorsFilter.class 2KB
MySessionManager.class 2KB
MyExceptionHandler.class 1KB
ParkAreaController.class 1KB
Application.class 816B
.gitignore 51B
parking.iml 80B
UserController.java 6KB
CarServiceImpl.java 6KB
Util.java 5KB
MenuServiceImpl.java 5KB
ShiroConfig.java 4KB
MyRealm.java 3KB
ShiroLoginController.java 3KB
CarTypeController.java 3KB
MenuController.java 3KB
OrderController.java 3KB
CarController.java 3KB
RoleController.java 3KB
WebAspect.java 3KB
UserServiceImpl.java 2KB
UserServiceTest.java 2KB
RoleServiceImpl.java 2KB
DruidConfig.java 2KB
OrderServiceImpl.java 2KB
CorsFilter.java 1KB
MySessionManager.java 1KB
ResultCode.java 1KB
IMenuService.java 1KB
MenuServiceImplTest.java 1KB
CarTypeImpl.java 1009B
OrderMapper.java 965B
OrderServiceTest.java 955B
User.java 910B
Car.java 894B
UserCar.java 881B
DateConverter.java 825B
ParkAreaController.java 792B
MyExceptionHandler.java 734B
CarTypeServiceTest.java 719B
MenuMapper.java 718B
Menu.java 716B
GlobalExceptionHandler.java 715B
Role.java 675B
IOrderService.java 629B
UserMapper.java 598B
IUserService.java 541B
CarTypeMapper.java 532B
MyWebAppConfigurer.java 529B
AjaxResultBuilder.java 502B
Application.java 468B
ICarTypeService.java 464B
IRoleService.java 452B
RoleMapper.java 448B
UserUtil.java 429B
ICarService.java 412B
AreaServiceImpl.java 410B
CarMapper.java 404B
CarType.java 348B
ParkArea.java 331B
AjaxResult.java 330B
RoleMenuLink.java 218B
IAreaService.java 128B
AreaMapper.java 125B
e134d147-72bf-4670-91f0-da5ac3b69400.jpg 273KB
1825c2cf-2ea2-4f8a-b1e1-2c639be3eafe.jpg 273KB
313ed5d7-9a70-43d5-ac1b-5c69beaedce0.jpg 40KB
1f53f16e-072c-4f55-a6c2-bf5edfd24628.jpg 40KB
a42c06c5-0e8a-4bbc-8474-6ac99820f975.jpg 39KB
79d55451-30d2-41c3-a629-6fe1319923f4.jpg 30KB
dazhong.jpg 17KB
fll.jpg 12KB
bieke.jpg 12KB
aodi.jpg 9KB
tesila.jpg 9KB
lksasi.jpg 9KB
bsj.jpg 9KB
skd.jpg 6KB
baoma.jpg 4KB
link.jpg 3KB
luhu.jpg 3KB
bc.jpg 3KB
bl.jpg 3KB
ftian.jpg 3KB
ft.jpg 3KB
btian.jpg 2KB
jeep.jpg 2KB
kdlk.jpg 2KB
xfl.jpg 2KB
jiebao.jpg 1KB
共 149 条
- 1
- 2
资源评论
- #宁中二2023-12-08资源很不错,内容和描述一致,值得借鉴,赶紧学起来!
- m0_652836792023-10-15这个资源对我启发很大,受益匪浅,学到了很多,谢谢分享~
猰貐的新时代
- 粉丝: 1w+
- 资源: 2585
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 410.基于SpringBoot的高校科研信息管理系统(含报告).zip
- 附件1.植物健康状态的影响指标数据.xlsx
- Windows 10 1507-x86 .NET Framework 3.5(包括.NET 2.0和3.0)安装包
- Image_1732500699692.png
- Windows 10 21h1-x86 .NET Framework 3.5(包括.NET 2.0和3.0)安装包
- VMware 是一款功能强大的虚拟化软件,它允许用户在一台物理计算机上同时运行多个操作系统
- 31万条全国医药价格与采购数据.xlsx
- SQL注入详解,SQL 注入是一种常见的网络安全漏洞,攻击者通过在输入数据中插入恶意的 SQL 语句,欺骗应用程序执行这些恶意语句,从而获取、修改或删除数据库中的数据,甚至控制数据库服务器
- 用C语言实现哈夫曼编码:从原理到实现的详细解析
- py爱心代码高级粒子!!
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功