基于javaweb+mysql的springboot家政服务平台系统(java+ssm+jsp+mysql+maven)
运行环境
Java≥8、MySQL≥5.7
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb+mysql的SpringBoot家政服务平台系统(java+ssm+jsp+mysql+maven)
一、项目简述
功能包括: 家政服务网站系统,用户注册,登录,分为家政人员,普 通用户,以及最高管理员,包括家政分类查询,展示,线 上预约服务,家政申请,评论,留言沟通・,联系家政服 务,家政人员的认证,职业认证,以及后台的维护等等功能。
二、项目运行
环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe (IntelliJ IDEA,Eclispe,MyEclispe,Sts 都支持)
项目技术: JSP +Spring + SpringMVC + MyBatis + html+ css + JavaScript + JQuery + Ajax + maven等等。
public Integer certifyHK(HouseKeeper houseKeeper) {
return hkPersonMapper.certifyHK(houseKeeper);
}
@Override
public Integer getCertifyStatus(String phone) {
return hkPersonMapper.selectHKStatusByPhone(phone);
}
@Override
public List<HouseKeeper> getHKListFuzzySelect(Integer typeid) {
String typeIDStr = typeid.toString();
List<HouseKeeper> list = hkPersonMapper.getHKListFuzzySelect(typeIDStr);
for (HouseKeeper hk : list) {
if (StringUtils.isEmpty(hk.getCompanyID())) {
hk.setCompanyName("个人");
} else {
hk.setCompanyName(indexMapper.getCompanyNameByID(hk.getCompanyID()));
}
}
return list;
}
@Override
public HouseKeeper getHousekeeperByID(Integer id) {
HouseKeeper hk = hkPersonMapper.getHousekeeperByID(id);
hk.setCompanyName(indexMapper.getCompanyNameByID(hk.getCompanyID()));
return hk;
}
@Override
public void updateHousekeeperInfo(HttpSession session, HouseKeeper houseKeeper) {
String phone = (String)session.getAttribute("username");
if (StringUtils.isEmpty(phone)) {
throw new UserNoLoginException("用户未登录");
} else {
houseKeeper.setHkPhone(phone);
hkPersonMapper.updateHousekeeperInfo(houseKeeper);
}
}
}
int hkID = userMapper.selectHKIDByPhone(username);
List<Order> list = orderMapper.getOrderListByHKID(hkID);
return list;
}
@Override
public Integer updateOrderStatusByID(int id, int status) {
Date endTime = new Date();
return orderMapper.updateOrderStatusByID(id, status, endTime);
}
@Override
public void cancelOrder(int id) {
Order order = orderMapper.getOrderByID(id);
Appointment appointment = new Appointment();
appointment.setCmID(order.getCmID());
appointment.setAppBeginTime(order.getOrderBeginTime());
appointment.setAppPhone(order.getOrderPhone());
appointment.setAppAddress(order.getOrderAddress());
appointment.setAppType(typeMapper.getTypeNameByID(order.getTypeID()));
appointment.setAppStatus(1);
appointment.setApplyList(new ArrayList<Integer>());
appointmentMapper.insertAppointment(appointment);
orderMapper.deleteOrderByID(id);
}
}
/**
* Created by IntelliJ IDEA 2020.1.
* Project: house
* Description:
*/
public interface AdminService {
/**
* 查询登录表的用户
* @return
*/
List<User> selectAllLogin();
/**
* Created by IntelliJ IDEA 2020.1.
* Project: house
* Description:家政人员Controller
*/
@Controller
@RequestMapping("/hk")
public class HKPersonController extends BaseController {
@Autowired
private HKPersonService hkPersonService;
@Autowired
private CompanyService companyService;
@Autowired
private CommentService commentService;
/**
* 跳转至商家资料页面
* @return 商家资料页面
*/
@GetMapping("/toHkPerson")
public String toHkPerson() {
return "hk_person";
}
/**
* 跳转至个人信息页面
* @return 个人信息页面
*/
@GetMapping("/toInfoHk")
public String toInfoHk() {
return "hk-person/info-hk";
}
/**
* 跳转至家政资料页面
* @return 家政资料页面
*/
@GetMapping("/toEditHk")
public String toEditHk() {
/**
* Created by IntelliJ IDEA 2020.1.
* Project: house
* Description:
*/
@Service
public class AppointmentServiceImpl implements AppointmentService {
private static int PAGESIZE = 10;
@Autowired
private AppointmentMapper appMapper;
@Autowired
private UserMapper userMapper;
@Autowired
private OrderMapper orderMapper;
@Autowired
private TypeMapper typeMapper;
@Autowired
private HKPersonMapper hkPersonMapper;
@Override
public Integer insertAppointment(Appointment appointment, String username) throws AppointFailedException, UserNoLoginException {
Integer cmID = appMapper.getCustomerIDByUsername(username);
if (cmID == null) {
throw new UserNoLoginException("用户未登录!");
}
appointment.setCmID(cmID);
Integer result = appMapper.insertAppointment(appointment);
if (result > 0) {
return result;
} else {
throw new AppointFailedException("预约失败!");
}
}
@Override
public List<Appointment> getStatusApp(HttpSession session, int status) throws UserNoLoginException {
int hkID = 0;
@PostMapping("/getSingleMessage")
@ResponseBody
public ResponseResult<String> getSingleMessage (
@RequestParam("id") Integer id
) {
ResponseResult<String> result = new ResponseResult<>();
String message = personService.getSingleMessage(id);
result.setData(message);
return result;
}
@PostMapping("/deleteSingleMessage")
@ResponseBody
public ResponseResult<Void> deleteSingleMessage (
@RequestParam("id") String id
) {
Integer mid = Integer.parseInt(id);
personService.deleteSingleMessage(mid);
return new ResponseResult<>();
}
}
/**
* Created by IntelliJ IDEA 2020.1.
* Project: house
* Description:
*/
@Service
/**
* Created by IntelliJ IDEA 2020.1.
* Project: house
* Description:管理员页面Controller
*/
@Controller
@RequestMapping("/admin")
public class AdminController extends BaseController{
@Autowired
private AdminService adminService;
/**
* 跳转管理员页面
* @return
*/
@GetMapping("/toAdminIndex")
public String toAdminIndex() {
return "admin-index";
}
@PostMapping("/getCurrentUsername")
@ResponseBody
public ResponseResult<String> getCurrentUsername (
HttpSession session
) {
ResponseResult<String> result = new ResponseResult<>();
String username = (String)session.getAttribute("username");
if (StringUtils.isEmpty(username)) {
throw new UserNoLoginException();
} else {
result.setData(username);
}
return result;
}
@PostMapping("/selectAllLogin")
@ResponseBody
public ResponseResult<List<User>> selectAllLogin () {
ResponseResult<List<User>> response = new ResponseResult<>();
List<User> list = adminService.selectAllLogin();
ResponseResult<List<User>> result = new ResponseResult<>();
List<User> list = adminService.getUserByPhone(phone);
result.setData(list);
return result;
}
@PostMapping("/updatePassword")
@ResponseBody
public ResponseResult<Void> updatePassword (
HttpSession session,
@RequestParam("oldPassword") String oldPassword,
@RequestParam("newPassword") String newPassword
) {
adminService.updatePassword(session, oldPassword, newPassword);
return new ResponseResult<Void>();
}
}
/**
* Created by IntelliJ IDEA 2020.1.
* Project: house
* Description:用户Controller
*/
@Controller
@RequestMapping("/person")
public class PersonController extends BaseController{
@Autowired
private PersonService personService;
/**
* 跳转用户页面
* @return 用户页面
*/
@GetMapping("/toPerson")
public String toPerson(HttpSession session) {
int role = (int) session.getAttribute("role");
if (0 == role){
return "xfz/person";
}
return "person";
}
/**
* 跳转用户信息编辑页面
* @return 信息页面
*/
@GetMapping("/toEditPerson")
public String toEditPerson() {
return "person/edit-person";
}
/**
* 跳转用户认证页面
* @return 认证页面
*/
@GetMapping("/toCertifyPerson")
public String toCertifyPerson() {
return "person/certify-person";
}
}
}
return result;
}
}
/**
* Created by IntelliJ IDEA 2020.1.
* Project: house
* Description:
*/
@Service
public class OrderServiceImpl implements OrderService {
private static int PAGESIZE = 10;
@Autowired
private OrderMapper orderMapper;
}
/**
* Created by IntelliJ IDEA 2020.1.
* Project: house
* Description:家政人员Controller
*/
@Controller
@RequestMapping("/hk")
public class HKPersonController extends BaseController {
@Autowired
private HKPersonService hkPersonService;
@Autowired
private CompanyService companyService;
@Autowired
private CommentService commentService;
/**
* 跳转至商家资料页面
* @return 商家资料页面
*/
@GetMapping("/toHkPerson")
public String toHkPerson() {
return "hk_person";
}
@GetMapping("/toPerson")
public String toPerson(HttpSession session) {
int role = (int) session.getAttribute("role");
if (0 == role){
return "xfz/person";
}
return "person";
}
/**
* 跳转用户信息编辑页面
* @return 信息页面
*/
@GetMapping("/toEditPerson")
public String toEditPerson() {
return "person/edit-person";
}
/**
* 跳转用户认证页面
* @return 认证页面
*/
@GetMapping("/toCertifyPerson")
public String toCertifyPerson() {
return "person/certify-person";
}
/**
* 跳转用户密码编辑页面
* @return 密码编辑页面
*/
@GetMapping("/toChangePassword")
public String toChangePassword() {
return "person/change-password";
}
/**
* 跳转用户消息管理页面
* @return 消息管理页面
*/
@GetMapping("/toMessagePerson")
public String toMessagePerson() {
return "person/message-person";
}
@PostMapping("/selectCustomer")
@ResponseBody
public ResponseResult<Customer> selectCustomer (HttpSession session) {
ResponseResult<Customer> result = new ResponseResult<>();
}
}
@Override
public Integer updateCustomer(HttpSession session, Customer cm) {
Integer result = 0;
if (session == null) {
throw new UserNoLoginException("用户未登录...");
} else {
String username = session.getAttribute("username").toString();
result = personMapper.updateCustomer(cm.getCmNickname(), cm.getCmPhone(), cm.getCmEmail(), cm.getCmHeadPhoto(), username);
}
return result;
}
@Override
public Integer updatePassword(HttpSession session, String oldPassword, String newPassword) throws UserNoLoginException, PasswordIsErrorException {
Integer result = 0;
String username = new String();
if (session == null) {
throw new UserNoLoginException("用户未登录");
} else {
username = session.getAttribute("username").toString();
String tempPwd = userMapper.getPasswordByUsername(username);
if (!tempPwd.equals(oldPassword)) {
throw new PasswordIsErrorException("原始密码填写错误!");
} else {
userMapper.updatePassword(username, newPassword);
result = personMapper.updatePassword(username, newPassword);
}
}
return result;
}
@Override
public Customer selectCertifyCustomer(HttpSession session) {
Customer customer = new Customer();
if (session == null) {
throw new UserNoLoginException("用户未登录!");
} else {
String username = session.getAttribute("username").toString();
}
@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<>();
}
}
/**
* Created by IntelliJ IDEA 2020.1.
* Project: house
* Description:用户操作Controller
*/
@Controller
@RequestMapping("/user")
public class UserController extends BaseController{
@Autowired
private UserService userService;
/**
* 跳转注册页面
* @return 注册页面
*/
@GetMapping("/toRegister")
@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,
*/
PageInfo<Appointment> getAllApp (HttpSession session,int currentPage);
/**
* 申请的时候将家政人员的编号插入到申请列表中
* @param id 订单编号
* @return 受影响行数
*/
Integer insertApplyList (HttpSession session, int id) throws UserNoLoginException;
/**
* 通过预约的编号获得单条预约的信息
* @param id 预约的编号
* @return 单条预约的信息
*/
Appointment selectAppointByID (int id) throws UserNoLoginException ;
/**
* 通过预约的编号来更新预约的状态
* @param status 预约的状态
* @param id 预约的编号
* @return 受影响的行数
*/
Integer updateAppointStatus (int status, int id);
/**
* 通过预约的编号上删除预约
* @param id 预约的编号
* @return 受影响的行数
*/
Integer deleteAppointByID (int id);
/**
* 确认最后的家政人员的编号
* @param id 订单的编号
* @param hkID 家政人员的编号
* @return 受影响的行数
*/
Integer insertConfirmHKID (String username, int id, int hkID);
}
filePath = "/upload/list-head.png";
}
company.setBusLicPhoto(filePath);
companyService.certifyCompany(company);
return new ResponseResult<>();
}
@PostMapping("/loadContent")
@ResponseBody
public ResponseResult<HouseKeeper> loadContent (
@RequestParam("param") String param
) {
Integer paramInt = Integer.parseInt(param);
ResponseResult<HouseKeeper> result = new ResponseResult<>();
HouseKeeper hk = hkPersonService.getHousekeeperByID(paramInt);
result.setData(hk);
return result;
}
@PostMapping("/loadComment")
@ResponseBody
public ResponseResult<List<Comment>> loadComment (
@RequestParam("param") String param
) {
Integer paramInt = Integer.parseInt(param);
ResponseResult<List<Comment>> result = new ResponseResult<>();
List<Comment> list = commentService.getCommentListByID(paramInt);
result.setData(list);
return result;
}
}
public ResponseResult<Void> cancelHousekeeperByID (
@RequestParam("id") String id
) {
adminService.updateHousekeeperStatusByID(Integer.parseInt(id), 2);
return new ResponseResult<>();
}
@PostMapping("/certifyHousekeeperByID")
@ResponseBody
public ResponseResult<Void> certifyHousekeeperByID (
@RequestParam("id") String id
) {
adminService.updateHousekeeperStatusByID(Integer.parseInt(id), 1);
return new ResponseResult<>();
}
@PostMapping("/cancelCompanyByID")
@ResponseBody
public ResponseResult<Void> cancelCompanyByID (
@RequestParam("id") String id
) {
adminService.updateCompanyStatusByID(Integer.parseInt(id), 2);
return new ResponseResult<>();
}
@PostMapping("/certifyCompanyByID")
@ResponseBody
public ResponseResult<Void> certifyCompanyByID (
@RequestParam("id") String id
) {
adminService.updateCompanyStatusByID(Integer.parseInt(id), 1);
return new ResponseResult<>();
}
@PostMapping("/getUserByPhone")
@ResponseBody
public ResponseResult<List<User>> getUserByPhone (
@RequestParam("phone") String phone
) {
ResponseResult<List<User>> result = new ResponseResult<>();
List<User> list = adminService.getUserByPhone(phone);
result.setData(list);
return result;
response.setData(list);
return response;
}
@PostMapping("/insertCustomer")
@ResponseBody
public ResponseResult<Void> insertCustomer (
@RequestParam("nickname") String nickname,
@RequestParam("name") String name,
@RequestParam("gender") String gender,
@RequestParam("phone") String phone,
@RequestParam("email") String email,
@RequestParam("password") String password,
@RequestParam("address") String address
) {
ResponseResult<Void> response = new ResponseResult<>();
Customer customer = new Customer();
customer.setCmNickname(nickname);
customer.setCmName(name);
customer.setCmSex(gender);
customer.setCmPhone(phone);
customer.setCmEmail(email);
customer.setCmPassword(password);
customer.setCmAddress(address);
adminService.insertCustomer(customer);
return response;
}
@PostMapping("/insertAdmin")
@ResponseBody
public ResponseResult<Void> insertAdmin (
@RequestParam("name") String name,
@RequestParam("gender") String gender,
@RequestParam("phone") String phone,
@RequestParam("password") String password
) {
ResponseResult<Void> response = new ResponseResult<>();
Admin admin = new Admin();
admin.setAdName(name);
admin.setAdPassword(password);
admin.setAdPhone(phone);
admin.setAdSex(gender);
adminService.insertAdmin(admin);
return response;
}
@PostMapping("/updateLoginStatus")
@ResponseBody