基于javaweb的SSM+Maven校园物品租赁管理系统(java+ssm+jsp+layui+maven+mysql)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

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

适用

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

功能说明

500023012402

510023012402

520023012402

530023012402

540023012402

550023012402

基于javaweb的SSM+Maven校园物品租赁管理系统(java+ssm+jsp+layui+maven+mysql)

一、项目简述 环境配置:

Jdk1.8 + Tomcat8.5 + mysql + Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)

项目技术:

JSP +Spring + SpringMVC + MyBatis + html+ css + JavaScript + JQuery + Ajax + layui+ maven等等。

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

//qny
//租客查看退回的租金
@RequestMapping("/getMyPaidBack")
public String getMyPaidBack(HttpSession httpSession,Model model,QueryVo vo,
@RequestParam(required = false,defaultValue="1") Integer page,
@RequestParam(required = false,defaultValue="8") Integer pageSize){
User user = (User) httpSession.getAttribute("user");
vo.setUserId(user.getId());
PageHelper.startPage(page, pageSize);
List<QueryPaid> paids = paidService.getPaidBackListByQueryVo(vo);
PageInfo<QueryPaid> p = new PageInfo<>(paids);
Integer sumBackPrice = paidService.getAllBackPriceByUserId(vo,user.getId());
model.addAttribute("paids",paids);
model.addAttribute("p",p);
model.addAttribute("sum",sumBackPrice);
model.addAttribute("vo",vo);
return "user/mypaidback";
}

//qny
//租客删除退回的租金信息
@RequestMapping("/deletePaidBack")
public String deletePaidBackById(Integer id){
paidService.deletePaidBackById(id);
return"redirect:getMyPaidBack.action";
}

//qny
//用户查看自己的租金收入
@RequestMapping("/incomeByUser")
public String incomeByUserId(QueryVo vo,Model model,HttpSession httpSession,
@RequestParam(required = false,defaultValue = "1") Integer page,
@RequestParam(required = false,defaultValue = "8") Integer pageSize){

User user = (User)httpSession.getAttribute("user");
vo.setUserId(user.getId());
//1.查询用户的租金收入信息
PageHelper.startPage(page, pageSize);
List<QueryPaid> paids = paidService.getIncomeByUserId(vo);
PageInfo<QueryPaid> p = new PageInfo<>(paids);
//2.查询用户总的租金收入金额
Integer totalIncome = paidService.getTotalIncome(vo,user.getId());
model.addAttribute("totalIncome",totalIncome);
model.addAttribute("paids",paids);
model.addAttribute("p",p);
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
	//4.重定向到admin查看所有在租物品的action
model.addAttribute("info", "checkoutsuccess");
return "redirect:/hetong/findAllHetong.action";
}

//qny
//用户停止租赁自己的物品
@RequestMapping("/deleteHetongByUser")
public String deleteHetongByUser(String itemId, Model model) {
//1.插入已退租列表
Hetong hetong = hetongService.getHetongByItemId(Integer.parseInt(itemId));
Checkout checkout = new Checkout();
checkout.setItemId(itemId);
checkout.setItemName(hetong.getItemName());
checkout.setStatus("已退租");
checkout.setUserId(Integer.parseInt(hetong.getZuKeId()));
checkout.setMasterId(Integer.parseInt(hetong.getChuZuId()));
checkout.setItemNumber(hetong.getItemNumber());
checkoutService.insertcheckout(checkout);
//2.更改物品状态
//这里更新商品Id,通过删除再插入的形式实现
Item item = new Item();
item = itemMapper.findItemId(hetong.getItemId());
itemMapper.deleteItem(Integer.parseInt(itemId));
item.setStatus("未租赁");
item.setItemId(0);
itemMapper.insertItem(item);
//3.删除合同
hetongService.deletehetong(itemId);
//4.跳转到“在租列表”
model.addAttribute("error", "checkoutsuccess");
return "redirect:/hetong/findAllHetongByZuke.action";

}



@RequestMapping("/zukeseehetong")
public String zukeseehetong(String itemId, Model model) {
Hetong hetong = hetongService.findhetong(itemId);
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

@Controller
@RequestMapping("/schedule")
public class ScheduleController {
@Autowired
private ScheduleService scheduleService;

@RequestMapping("/selectAll")
public String selectAll(Model model, @RequestParam(required = false, defaultValue = "1") Integer page,
@RequestParam(required = false, defaultValue = "8") Integer pageSize) {
PageHelper.startPage(page, pageSize);
List<Schedule> schedule = scheduleService.selectAll();
PageInfo<Schedule> p = new PageInfo<Schedule>(schedule);
model.addAttribute("schedule", schedule);
model.addAttribute("p", p);
model.addAttribute("mainPage", "schedule.jsp");
return "admin/main1";
}

@RequestMapping("/deleteschedule")
public String deleteschedule(Integer id) {
scheduleService.deleteschedule(id);
return "redirect:selectAll.action";
}

@RequestMapping("/insertschedule")
public String insertschedule(Schedule schedule, Model model) {
scheduleService.insertschedule(schedule);

return "redirect:selectAll.action";

}

@RequestMapping("/updateschedule")
public String updateschedule(Schedule schedule, Model model) {
scheduleService.updateschedule(schedule);
model.addAttribute("error", "更新成功");
model.addAttribute("schedule", schedule);
model.addAttribute("mainPage", "updateschedule.jsp");
return "admin/main1";

}

@RequestMapping("/toinsert")
public String toinsert(Model model) {
model.addAttribute("mainPage", "addschedule.jsp");

return "admin/main1";
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
	return "admin/updateAdminInfo";

}

/**
* @methodsName: myDetails
* @description: 用户查看个人信息
* @param:
* @return: String: 前往展示用户个人信息的界面
* @throws:
*/
@RequestMapping("/myDetails")
public String getUserDetails(HttpSession httpSession , Model model){
User user = (User)httpSession.getAttribute("user");
Integer userId = user.getId();
Userlist userDetails = userlistService.findhasuserlist(userId);
model.addAttribute("userDetails",userDetails);
return"user/mydetails";

}

/**
* @methodsName: getAdminDetails
* @description: 管理员查看个人信息
* @param:
* @return: String: 前往展示管理员个人信息的界面
* @throws:
*/
@RequestMapping("/adminDetails")
public String getAdminDetails(HttpSession httpSession , Model model){
User user = (User)httpSession.getAttribute("user");
Integer userId = user.getId();
Userlist userDetails = userlistService.findhasuserlist(userId);
model.addAttribute("userDetails",userDetails);
return"admin/mydetails";

}

//qny
//更新用户信息
@RequestMapping("/checkuserlist")
public String checkuserlist(Model model, Userlist userlist, HttpSession httpSession) throws Exception {

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
//用户登录验证
@RequestMapping("/logincheck")
public String login(User user, Model model, HttpSession httpSession) throws Exception {


User user1 = userService.login(user);

if (user1 != null) {

httpSession.setAttribute("user", user1);
if (user1.getType().equals("user")) {
return "user/main";
} else {
return "admin/main1";
}
} else {
String error = "error";
model.addAttribute("error", error);
return "login";
}
}

@RequestMapping("/toindex")
public String toindex(Model model) throws Exception {

return "admin/index";
}

/**
* @methodsName: updatePwd
* @description: 更新用户密码
* @param:
* @return: String: 重定向到user模块下展示该用户全部租赁申请的action
* @throws:
*/
@RequestMapping("updatePwd")
public String updatePwd(Model model,String OriginalPwd,String NewPwd,
String ConfirmPwd,HttpSession httpSession){
//1.判断新密码与确认密码是否相同
if (!NewPwd.equals(ConfirmPwd)) {
model.addAttribute("info", "新密码与确认密码不一致");
return "user/updatePwd";
}
//2.根据id查询密码后与原密码比较看是否相同
User user = (User)httpSession.getAttribute("user");
Integer id = user.getId();
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

@Controller
@RequestMapping("/hetong")
public class HetongController {
@Autowired
private HetongService hetongService;
@Autowired
private ItemService itemService;
@Autowired
private ApplyService applyService;
@Autowired
private CheckoutService checkoutService;
@Autowired
private UserlistService userlistService;
@Autowired
private ItemMapper itemMapper;

/**
* @methodsName: insertHetong
* @description: 新增租赁合同信息
* @param: itemId: 被租赁的物品id; hetong: 即将插入的合同信息
* @return: String: 重定向到admin查看所有租赁申请的action
* @throws:
*/
@RequestMapping("/inserthetong")
public String insertHetong(Model model, Integer itemId,Hetong hetong,
HttpSession httpSession) {

hetong = hetongService.getApplyByItemId(itemId);
//1.拿到itemId,查询masterId
Item item = itemService.findItemId(hetong.getItemId());
int masterId = item.getMasterId();
//2.根据masterId查询出租人身份证
Userlist master = userlistService.findhasuserlist(masterId);
//3.将出租人身份证写入合同
hetong.setChuZuIdcard(master.getIdcard());
//4.填充合同信息并插入合同数据表
hetong.setZuKeId(hetong.getZuKeId());
hetong.setChuZuId(item.getMasterId().toString());
hetongService.inserthetong(hetong);
Hetong hetong1 = hetongService.findhetong(hetong.getItemId());
//5.更新物品状态


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