基于javaweb的SpringBoot垃圾回收管理系统(java+springboot+thymeleaf+html+mysql+maven)

运行环境

Java≥8、MySQL≥5.7

开发工具

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

适用

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

功能说明

200023222402

220023222402

230023222402

240023222402

250023222402

260023222402

基于javaweb的SpringBoot垃圾回收管理系统(java+springboot+thymeleaf+html+mysql+maven)

项目介绍

整体项目封装的非常不错,可圈可点。页面比较出彩,互动性强。 本项目分为管理员、用户两种角色, 管理员的功能如下: 在库垃圾查看: 垃圾基本信息查看界面 可精确查找垃圾信息 垃圾去向模块:管理员可通过垃圾申请出库 员工管理模块:管理员管理员工界面;可查看员工用户的基本信息;精确查找员工用户 公告管理模块:管理员可编辑发布官方公告和重要信息 个人信息管理:编辑个人信息,修改密码 用户的功能包含如下: 垃圾回收模块:可查看入库垃圾的一些信息,如垃圾类型、数量;是否出库、来源和入库时间;可编辑和删除在库垃圾;提供精确定位搜索垃 垃圾去向模块:查看入库垃圾的去向信息,如垃圾数量、是否出库、出库目的地和出库时间;可精确查找运输信息;可以申请运输垃圾列表 员工管理模块:用户的个人信息界面;可更改个人信息

公告管理模块:可查看管理官方公告和一些重要信息

环境需要

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+CSS+jQuery

使用说明
运行项目,输入localhost:8085/ 登录,端口必须是8085,这里前端页面写死了,需要注意 管理员账号/密码:admin/12345678

用户账号/密码:user/12345678

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

@GetMapping("/getByTransportId/{transportId}")
public Result getByTransportId(@PathVariable Integer transportId
,@RequestParam(value = "limit") Integer limit,@RequestParam(value = "page") Integer page){
IPage<Garbage> garbageIPage = garbageService.getByTransportId(transportId,limit ,page);
return Result.getSuccess().setData(garbageIPage);
}


}
package com.garbage.demo.controller;



/**
* <p>
* 公告表 前端控制器
* </p>
*
*/
@RestController
@RequestMapping("/notice")
public class NoticeController {

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
        return  Result.getFailure().setMsg("手机号格式正确!!!");
}

//用户数据拷贝
User user = new User();
BeanUtils.copyProperties(registerVo,user);
user.setPassword(DigestUtil.md5Hex(registerVo.getPassword()));
user.setId(IdUtil.simpleUUID());
user.setAvatarUrl("\\goodsImg\\avatar.jpg");
//存入数据库中
if(userService.saveOrUpdate(user)){
return Result.getSuccess().setMsg("注册成功!!!");
}else{
return Result.getFailure().setMsg("注册失败!!!");
}
}

@RequestMapping("/login")
public Result login(HttpServletRequest request, @RequestBody RequestLoginVo loginRequestVo){
//System.out.println(loginRequestVo);
HttpSession session = request.getSession();
String trueCaptcha = (String) session.getAttribute(Constants.KAPTCHA_SESSION_KEY);
if(!trueCaptcha.equalsIgnoreCase(loginRequestVo.getCaptcha())){
return Result.getFailure().setMsg(StringConst.CAPTCHA_ERROR);
}
User user;
if(ObjectUtils.isEmpty(userService.queryByUsername(loginRequestVo.getUsernameOrTel()))){
user = userService.queryByTel(loginRequestVo.getUsernameOrTel());
}else{
user = userService.queryByUsername(loginRequestVo.getUsernameOrTel());
}
if(ObjectUtils.isEmpty(user) || !DigestUtil.md5Hex(loginRequestVo.getPassword()).
equals(user.getPassword())){
return Result.getFailure().setMsg(StringConst.LOGIN_ERROR);
}
Map<String,Object> result = new HashMap<>();
result.put("userId",user.getId());
result.put("userType",user.getType());

return Result.getSuccess().setData(result);
}

@GetMapping("/getUserById/{userId}")
public Result getUserById(@PathVariable String userId){
return Result.getSuccess().setData(userService.getUserById(userId));
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32




/**
* <p>
* 运输表 前端控制器
* </p>
*
*/
@RestController
@RequestMapping("/transport")
public class TransportController {
@Autowired
ITransportService transportService;
@Autowired
IGarbageService garbageService;

@PostMapping("/add")
public Result add(@RequestBody RequestTransportAddVo transportAddVo){
if(transportService.add(transportAddVo)){
return Result.getSuccess().setMsg("提交成功!!!");
}
return Result.getFailure().setMsg("提交失败!!!");
}

@PostMapping("/list")
public Result list(@RequestBody RequestTransportListVo transportListVo){
IPage<ResponseTransportListVo> page = transportService.list(transportListVo);
return Result.getSuccess().setData(page);
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
    }

@PostMapping("/getByType")
public Result getByType(@RequestBody RequestGarbageListByTypeVo garbageListByTypeVo){
IPage<Garbage> garbageIPage = garbageService.getByType(garbageListByTypeVo);
return Result.getSuccess().setData(garbageIPage);
}

@GetMapping("/getByTransportId/{transportId}")
public Result getByTransportId(@PathVariable Integer transportId
,@RequestParam(value = "limit") Integer limit,@RequestParam(value = "page") Integer page){
IPage<Garbage> garbageIPage = garbageService.getByTransportId(transportId,limit ,page);
return Result.getSuccess().setData(garbageIPage);
}


}
package com.garbage.demo.controller;



/**
* <p>
* 公告表 前端控制器
* </p>
*
*/
@RestController
@RequestMapping("/notice")
public class NoticeController {

@Autowired
INoticeService noticeService;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
@DeleteMapping("/deleteByIds")
public Result delete(@RequestBody RequestUserDeleteVo deleteVo){
if(VoUtilsTool.checkObjFieldIsNull(deleteVo)){
return Result.getFailure().setMsg(StringConst.DELETE_SELECT_ERROR);
}
if(userService.removeByIds(deleteVo.getStringIds())){
return Result.getSuccess().setMsg(StringConst.DELETE_SUCCESS);
}else{
return Result.getFailure().setMsg(StringConst.DELETE_ERROR);
}
}
@PostMapping("/list/{id}")
public Result list(@RequestBody RequestUserListVo userListVo, @PathVariable String id){
int type = userService.getById(id).getType();
if(type== 0 || (type == 1 && userListVo.getType() == 1)){
return Result.getFailure().setMsg("权限不足!!");
}
IPage<ResponseUserListVo> listVoIPage = userService.userList(userListVo,type);
return Result.getSuccess().setData(listVoIPage);
}

@GetMapping("/updateByType/{userId}")
public Result updateByType(@PathVariable String userId){
if(userService.updateByType(userService.getById(userId))){
return Result.getSuccess().setMsg("操作成功");
}else{
return Result.getFailure().setMsg("操作失败");
}
}

@PostMapping("/update")
public Result update(@RequestBody RequestUpdateUserVo requestUpdateUserVo){
User user = userService.getById(requestUpdateUserVo.getId());
BeanUtils.copyProperties(requestUpdateUserVo,user);
if(userService.saveOrUpdate(user)){
return Result.getSuccess().setMsg("修改成功");
}else{
return Result.getFailure().setMsg("修改失败");
}
}

@PostMapping("/changePwd")
public Result changePwd(@RequestBody RequestChangePwdVo requestChangePwdVo){
User user = userService.getById(requestChangePwdVo.getId());
if(!user.getPassword().equals(DigestUtil.md5Hex(requestChangePwdVo.getOldPassword()))){
return Result.getFailure().setMsg("原密码错误");
}
if(requestChangePwdVo.getNewPassword().trim().toCharArray().length < 8){
return Result.getFailure().setMsg("密码位数必须大于8!!!");
}
user.setPassword(DigestUtil.md5Hex(requestChangePwdVo.getNewPassword()));
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
 * <p>
* 运输表 前端控制器
* </p>
*
*/
@RestController
@RequestMapping("/transport")
public class TransportController {
@Autowired
ITransportService transportService;
@Autowired
IGarbageService garbageService;

@PostMapping("/add")
public Result add(@RequestBody RequestTransportAddVo transportAddVo){
if(transportService.add(transportAddVo)){
return Result.getSuccess().setMsg("提交成功!!!");
}
return Result.getFailure().setMsg("提交失败!!!");
}

@PostMapping("/list")
public Result list(@RequestBody RequestTransportListVo transportListVo){
IPage<ResponseTransportListVo> page = transportService.list(transportListVo);
return Result.getSuccess().setData(page);
}

@GetMapping("/packaging/{id}")
@Transactional
public Result packaging(@PathVariable Integer id){
UpdateWrapper<Garbage> updateWrapper = new UpdateWrapper<>();

updateWrapper.eq("transport_id",id);
updateWrapper.set("status",1);

garbageService.update(updateWrapper);
UpdateWrapper<Transport> transportUpdateWrapper = new UpdateWrapper<>();

transportUpdateWrapper.eq("id",id);
transportUpdateWrapper.set("status",3);


项目链接:
https://javayms.github.io?id=191422312105200hz
https://javayms.pages.dev?id=191422312105200hz