作者主页:Java毕设网
简介:Java领域优质创作者、Java项目、学习资料、技术互助
文末获取源码
一、项目介绍
本项目为后管系统,包含管理员、家政人员、消费人员三种角色,主要功能包括:
1. 用户的注册、登录、退出系统
2. 用户的搜索功能
3. 家政人员上传资料、身份认证和资格认证
4. 消费者发布预约、查看预约、确认预约、评价订单、删除订单、修改个人资料
5. 家政人员修改个人资料、申请预约、接受订单、取消订单、完成订单
6. 管理员对用户管理、认证管理和系统的量化查看
二、环境需要
1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
5.数据库:MySql 8.0版本;
6.是否maven项目:是;
三、技术栈
前端
1. UI界面:Bootstrap
2. 弹窗:Sweetalert
3. Js事件:jQuery/ajax
4. 可视化报表:ECharts
5. 下拉框:Bootstrap-Select
后端
1. 服务层:SpringBoot
2. 持久层:Mybatis
3. 分页:Pagehelper
4. 连接池:c3p0
5. 实体类:Lombok
四、使用说明
1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;
若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行;
3. 将项目中application.yml配置文件中的数据库配置改为自己的配置;
4. 运行项目,在浏览器中输入http://localhost:8081/ 登录
五、运行截图
前台界面
后台界面
六、相关代码
预约管理控制器
@Controller()
@RequestMapping("/app")
public class AppointmentController extends BaseController{
@Autowired
private AppointmentService appService;
/**
* 跳转我的预约页面
* @return 我的预约页面
*/
@GetMapping("/toCmApp")
public String toCmApp() {
return "cm_app";
}
/**
* 跳转预约列表页面
* @return 预约列表页面
*/
@GetMapping("/toHkApp")
public String toHkApp() {
return "hk_app";
}
@PostMapping("/mkApp")
@ResponseBody
public ResponseResult<Void> makeAppoint(
HttpSession session,
@RequestParam("app_type") String appType,
@RequestParam("app_address_city") String appAddressCity,
@RequestParam("app_address_area") String appAddressArea,
@RequestParam("app_address_detail") String appAddressDetail,
@RequestParam("app_phone") String appPhone,
@RequestParam("app_time") String appTime
) {
ResponseResult<Void> response = new ResponseResult<Void>();
String username = new String();
String key = "username";
if (session.getAttribute(key) == null) {
response.setState(406);
response.setMessage("用户未登录");
} else {
username = session.getAttribute(key).toString();
}
String appAddress = appAddressCity + "-" + appAddressArea + "-" + appAddressDetail;
Appointment appointment = new Appointment();
appointment.setAppAddress(appAddress);
appointment.setAppType(appType);
appointment.setAppPhone(appPhone);
appointment.setAppBeginTime(FormatDate.StrToDate(appTime));
System.out.println("预约地点:" + appAddress + "预约类型:" + appType + "预约电话:" + appPhone);
appService.insertAppointment(appointment, username);
return new ResponseResult<Void>();
}
@PostMapping("/getVaildApp")
@ResponseBody
public ResponseResult<PageInfo<Appointment>> getVaildApp (
HttpSession session,
@RequestParam(required = false,defaultValue = "1",value = "pageNum")Integer currentPage
) {
ResponseResult<PageInfo<Appointment>> result = new ResponseResult<>();
if (session == null) {
throw new UserNoLoginException("用户未登录");
} else {
PageInfo<Appointment> list = appService.getStatusApp(session, 1,currentPage);
result.setData(list);
}
return result;
}
@PostMapping("/getAllApp")
@ResponseBody
public ResponseResult<PageInfo<Appointment>> getAllApp (
HttpSession session,
@RequestParam(required = false,defaultValue = "1",value = "pageNum")Integer currentPage
) {
ResponseResult<PageInfo<Appointment>> result = new ResponseResult<>();
if (session == null) {
throw new UserNoLoginException("用户未登录");
} else {
PageInfo<Appointment> list = appService.getAllApp(session,currentPage);
result.setData(list);
}
return result;
}
@PostMapping("/getAppCustomer")
@ResponseBody
public ResponseResult<PageInfo<Appointment>> getAppCustomer (
HttpSession session,
@RequestParam(required = false,defaultValue = "1",value = "pageNum")Integer currentPage
) {
ResponseResult<PageInfo<Appointment>> result = new ResponseResult<>();
if (session == null) {
throw new UserNoLoginException("用户未登录");
} else {
PageInfo<Appointment> list = appService.getAllAppCustomer(session,currentPage);
result.setData(list);
}
return result;
}
@PostMapping("/apply")
@ResponseBody
public ResponseResult<Void> apply (
HttpSession session,
Integer id
) {
appService.insertApplyList(session, id);
return new ResponseResult<Void>();
}
@PostMapping("/getSingleApp")
@ResponseBody
public ResponseResult<Appointment> getSingleApp (
@RequestParam("id") Integer id
) {
ResponseResult<Appointment> result = new ResponseResult<>();
Appointment app = appService.selectAppointByID(id);
result.setData(app);
return result;
}
@PostMapping("/updateAppStatus")
@ResponseBody
public ResponseResult<Void> updateAppStatus (
@RequestParam("id") Integer id
) {
appService.updateAppointStatus(0, id);
return new ResponseResult<Void>();
}
@PostMapping("/deleteApp")
@ResponseBody
public ResponseResult<Void> deleteAppointByID (
@RequestParam("id") Integer id
) {
appService.deleteAppointByID(id);
return new ResponseResult<Void>();
}
@PostMapping("/confirmHK")
@ResponseBody
public ResponseResult<Void> confirmHK (
HttpSession session,
@RequestParam("id") Integer id,
@RequestParam("hkID") Integer hkID
) {
String username = session.getAttribute("username").toString();
appService.insertConfirmHKID(username, id, hkID);
return new ResponseResult<>();
}
}
订单管理控制器
@Controller
@RequestMapping("/order")
public class OrderController extends BaseController {
@Autowired
private OrderService orderService;
@Autowired
private CommentService commentService;
/**
* 跳转至我的订单页面
* @return 我的订单页面
*/
@GetMapping("/toOrder")
public String toOrder() {
return "order";
}
/**
* 跳转至商家订单页面
* @return 商家订单页面
*/
@GetMapping("/toHkOrder")
public String toHkOrder() {
return "hk_order";
}
@PostMapping("/getAllOrder")
@ResponseBody
public ResponseResult<PageInfo<Order>> getAllOrder (
HttpSession session,
@RequestParam(required = false,defaultValue = "1",value = "pageNum")Integer currentPage
) {
ResponseResult<PageInfo<Order>> result = new ResponseResult<>();
if (session == null) {
throw new UserNoLoginException("用户未登录");
} else {
PageInfo<Order> list = orderService.getAllOrder(session, currentPage);
result.setData(list);
}
return result;
}
@PostMapping("/getOrderByID")
@ResponseBody
public ResponseResult<Order> getOrderByID (
@RequestParam("orderID") int id
) {
ResponseResult<Order> result = new ResponseResult<>();
Order order = orderService.getOrderByID(id);
result.setData(order);
return result;
}
@PostMapping("/deleteOrderByID")
@ResponseBody
public ResponseResult<Void> deleteOrderByID (
@RequestParam("orderID") int id
) {
orderService.deleteOrderByID(id);
return new ResponseResult<>();
}
@PostMapping("/getOrderListByHKID")
@ResponseBody
public ResponseResult<List<Order>> getOrderListByHKID (
HttpSession session
) {
ResponseResult<List<Order>> result = new ResponseResult<>();
List<Order> list = orderService.getOrderListByHKID(session);
result.setData(list);
return result;
}
@PostMapping("/acceptOrder")
@ResponseBody
public ResponseResult<Void> acceptOrder (
@RequestParam("id") int id
) {
orderService.updateOrderStatusByID(id, 1);
return new ResponseResult<>();
}
@PostMapping("/finishOrder")
@ResponseBody
public ResponseResult<Void> finishOrder (
@RequestParam("id") int id
) {
orderService.updateOrderStatusByID(id, 0);
return new ResponseResult<>();
}
@PostMapping("/cancelOrder")
@ResponseBody
public ResponseResult<Void> cancelOrder (
@RequestParam("id") int id
) {
orderService.cancelOrder(id);
return new ResponseResult<>();
}
@PostMapping("/assessOrder")
@ResponseBody
public ResponseResult<Void> assessOrder (
@RequestParam("orderID") int orderID,
@RequestParam("commentStar") int commentStar,
@RequestParam("commentContent") String commentContent
) {
Comment comment = new Comment();
comment.setOrderID(orderID);
comment.setCommentStar(commentStar);
comment.setCommentContent(commentContent);
Date now = new Date();
comment.setCommentTime(now);
commentService.insertComment(comment);
return new ResponseResult<>();
}
}