基于javaweb的SSM+Maven维修报修管理系统(管理员、维修人员、普通用户)(java+jsp+ssm+maven+mysql)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

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

适用

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

功能说明

管理员:登录、平台管理、用户管理、报修受理与维修人员分配

普通用户:登录、注册、报修查询、报修、报修结果确认及评价

维修人员:登录、报修确认

482123021607

490123192502

500123192502

普通用户:

400123192502

410123192502

420123192502

430123192502

管理员:

450123192502

460123192502

470123192502

维修人员:

480123192502

技术框架

JavaBean MVC JSP SSM(Spring SpringMVC MyBatis) Maven MySQL jQuery JavaScript CSS

基于javaweb的SSM+Maven维修报修管理系统(管理员、维修人员、普通用户)(java+jsp+ssm+maven+mysql)

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
		throw new ServiceException(e.getMessage(), e);
}
return res;
}

public Res getRepairManList() {
Res res = new Res();
try {
List<User> repairManList = userManager.getRepairManList();
res.addRespose("repairManList", repairManList);
} catch (ServiceException e) {
throw e;
} catch (Exception e) {
throw new ServiceException(e.getMessage(), e);
}
return res;
}

public Res getAllUserList() {
Res res = new Res();
try {
List<User> userList = userManager.getAllUserList();
res.addRespose("userList", userList);
} catch (ServiceException e) {
throw e;
} catch (Exception e) {
throw new ServiceException(e.getMessage(), e);
}
return res;
}

@Transactional
public Res addUser(String userName, String password, String usrMobile, String groupId, String address) {
Res res = new Res();
try {
User user = new User();
if (ValidateUtils.isNull(userName)) {
throw new ServiceException("用户名不能为空");
} else if (userName.length() < 3) {
throw new ServiceException("用户名长度不能小于3");
}
if (ValidateUtils.isNull(password)) {
throw new ServiceException("密码长度不能小于6");
} else if (password.length() < 6) {
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




/**
* 权限验证类
*
*
*/
@Component
public class AuthorityInterceptor extends HandlerInterceptorAdapter {
@Autowired
private UserManager userManager;
private String[] publicUrls;

/**
* 在业务处理器处理请求之前被调用 如果返回false 从当前的拦截器往回执行所有拦截器的afterCompletion(),再退出拦截器链
* 如果返回true 执行下一个拦截器,直到所有的拦截器都执行完毕 再执行被拦截的Controller 然后进入拦截器链,
* 从最后一个拦截器往回执行所有的postHandle() 接着再从最后一个拦截器往回执行所有的afterCompletion()
*/
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
throws Exception {
boolean isOnline = false;

try {
if (publicUrls != null) {
for (String publicUrl : publicUrls) {
String requestURI = request.getRequestURI();
if (publicUrl != null && !publicUrl.isEmpty() && requestURI.startsWith(publicUrl)) {
isOnline = true;
}
}
}

request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
String sessionKey1 = request.getParameter("sessionKey");

User user = null;
// 用过sessionKey验证
if (!ValidateUtils.isNull(sessionKey1)) {
user = userManager.getBySessionKey(sessionKey1);
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
		Page page = new Page();
page.setPageNo(pageNo == null ? 0 : pageNo);
page.setPageSize(pageSize == null ? page.getPageSize() : pageSize);

res = repairOrderService.queryRepairOrderList(title, status, timeRange, page);
} catch (ServiceException e) {
e.printStackTrace();
res.addError(Res.MESSAGE_NAME_ERROR, e.getMessage());
}
return res.toView(response);
}

/**
* 查询个人维修单
*
* @param title
* @param status
* @param timeRange
* @param pageNo
* @param pageSize
* @param request
* @param response
* @return
*/
@ResponseBody
@RequestMapping("/getMyRepairOrderList")
public ModelAndView getMyRepairOrderList(HttpServletRequest request, HttpServletResponse response) {
Res res = new Res();
try {
User user = userService.getUser(request, response);
res = repairOrderService.getMyRepairOrderList(user);
} catch (ServiceException e) {
e.printStackTrace();
res.addError(Res.MESSAGE_NAME_ERROR, e.getMessage());
}
return res.toView(response);
}
/**
* 获取我维修的订单
* @param request
* @param response
* @return
*/
@ResponseBody
@RequestMapping("/getMyTaskOrder")
public ModelAndView getMyTaskOrder(HttpServletRequest request, HttpServletResponse response) {
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
52
}

/**
* 修改密码
* @param password
* @param password2
* @param request
* @param response
* @return
*/
@ResponseBody
@RequestMapping("/changePassword")
public ModelAndView changePassword(
@RequestParam(value = "password", required = false) String password,
@RequestParam(value = "password2", required = false) String password2,
HttpServletRequest request,HttpServletResponse response) {
Res res = new Res();
try {
Long userId = userService.getUser(request, response).getUsrId();
res = userService.changePassword(userId,password,password2);
} catch (ServiceException e) {
e.printStackTrace();
res.addError(Res.MESSAGE_NAME_ERROR, e.getMessage());
}
return res.toView(response);
}
/**
* 获取维修人员列表
* @param request
* @param response
* @return
*/
@ResponseBody
@RequestMapping("/getRepairManList")
public ModelAndView getRepairManList(
HttpServletRequest request,HttpServletResponse response) {
Res res = new Res();
try {
res = userService.getRepairManList();
} catch (ServiceException e) {
e.printStackTrace();
res.addError(Res.MESSAGE_NAME_ERROR, e.getMessage());
}
return res.toView(response);
}
/**
*
* @param request
* @param response
* @return
*/
@ResponseBody
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
	 * @param request
* @param response
* @return
*/
@ResponseBody
@RequestMapping("/getRepairCategoryList")
public ModelAndView getRepairCategoryList(HttpServletRequest request, HttpServletResponse response) {
Res res = new Res();
try {
res = repairCategoryService.getRepairCategoryList();
} catch (ServiceException e) {
e.printStackTrace();
res.addError(Res.MESSAGE_NAME_ERROR, e.getMessage());
}
return res.toView(response);
}
}
package com.demo.common.utils.response;





/**
* 封装返回json数据
*
*
*/
public class Res {
public static final String MESSAGE_NAME_ERROR = "error";
// public static final String MESSAGE_NAME_EXCEPTION="exception";

private int code;
private Map<String, Object> response;
private Map<String, Object> message;

public Res() {
code = 200;
response = new HashMap<String, Object>();
message = new HashMap<String, Object>();


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