基于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等等。
@PostMapping("/selectCertifyCustomer")
@ResponseBody
public ResponseResult<Customer> selectCertifyCustomer (
HttpSession session
) {
ResponseResult<Customer> result = new ResponseResult<>();
Customer customer = personService.selectCertifyCustomer(session);
result.setData(customer);
return result;
}
@PostMapping("/certifyCustomer")
@ResponseBody
public ResponseResult<Void> certifyCustomer (
HttpServletRequest request,
HttpSession session,
MultipartFile cardPhoto,
@RequestParam("name") String name,
@RequestParam("cardID") String cardID
) throws IOException {
Customer customer = new Customer();
customer.setCmName(name);
customer.setCmCardID(cardID);
customer.setCmStatus(2);
String filePath = new String();
if (cardPhoto.getSize() != 0) {
filePath = UploadFile.uploadFile(request, cardPhoto);
System.out.println(filePath);
} else {
filePath = "/upload/list-head.png";
}
customer.setCmCardPhoto(filePath);
personService.certifyCustomer(session, customer);
return new ResponseResult<Void>();
}
@PostMapping("/getCertifyStatus")
@ResponseBody
public ResponseResult<Integer> getCertifyStatus (HttpSession session) {
ResponseResult<Integer> result = new ResponseResult<>();
Integer data = personService.getCertifyStatus(session);
result.setData(data);
return result;
/**
* Created by IntelliJ IDEA 2020.1.
* Project: house
* Description:
*/
@Service
public class MessageServiceImpl implements MessageService {
@Autowired
private MessageMapper messageMapper;
@Autowired
private UserMapper userMapper;
@Autowired
private HKPersonMapper hkPersonMapper;
/**
* unreadStatus 表示未读状态
*/
private final int unreadStatus = 0;
/**
* readStatus 表示已读
*/
private final int readStatus = 1;
@Override
public List<Message> getMessageByToID(HttpSession session) {
String phone = (String)session.getAttribute("username");
if (StringUtils.isEmpty(phone)) {
throw new UserNoLoginException("用户未登录!");
} else {
int id = userMapper.selectHKIDByPhone(phone);
return messageMapper.getMessageByToID(id);
}
}
@Override
public Integer insertMessage(String msgContent, HttpSession session, int toID) throws UserNoLoginException, NoMessagePermission {
String phone = (String)session.getAttribute("username");
String toPhone = hkPersonMapper.getHousekeeperByID(toID).getHkPhone();
if (StringUtils.isEmpty(phone)) {
throw new UserNoLoginException("用户未登录!");
} else if (phone.equals(toPhone) ) {
throw new NoMessagePermission("不能给自己留言!");
} else {
Message message = new Message();
int fromID = userMapper.selectCmIDByPhone(phone);
Date now = new Date();
message.setContent(msgContent);
package com.xxxx.controller;
/**
* Created by IntelliJ IDEA 2020.1.
* Project: house
* Description:订单控制类
*/
@Controller
@RequestMapping("/order")
public class OrderController extends BaseController {
@Autowired
private OrderService orderService;
@Autowired
private CommentService commentService;
/**
* 跳转至我的订单页面
* @return 我的订单页面
*/
@GetMapping("/toOrder")
public String toOrder(HttpSession session) {
int role = (int) session.getAttribute("role");
if (0 == role){
return "xfz/order";
}
return "order";
}
}
@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
public ResponseResult<Void> updateLoginStatus (
@RequestParam("") String username
) {
ResponseResult<Void> response = new ResponseResult<>();
adminService.updateLoginStatus(username);
return response;
}
@PostMapping("/getOrderData")
@ResponseBody
public ResponseResult<List<EchartsData>> getOrderData(){
ResponseResult<List<EchartsData>> response = new ResponseResult<>();
List<EchartsData> echartsData = adminService.getOrderData();
response.setData(echartsData);
return response;
}
@PostMapping("/getAppoimentData")
@ResponseBody
public ResponseResult<List<EchartsData>> getAppoimentData(){
ResponseResult<List<EchartsData>> response = new ResponseResult<>();
List<EchartsData> echartsData = adminService.getAppoimentData();
response.setData(echartsData);
return response;
}
throw new AppointFailedException("预约失败!");
}
}
@Override
public List<Appointment> getStatusApp(HttpSession session, int status) throws UserNoLoginException {
int hkID = 0;
if (session == null) {
throw new UserNoLoginException("用户未登录");
} else {
String username = session.getAttribute("username").toString();
hkID = userMapper.selectHKIDByPhone(username);
}
List<Appointment> list = appMapper.getStatusApp(status);
for (Appointment app : list) {
List<Integer> applyList = JsonUtil.json2List(app.getApplyJson(), Integer.class);
app.setApplyList(applyList);
app.setHkID(hkID);
}
return list;
}
@Override
public PageInfo<Appointment> getStatusApp(HttpSession session, int status,int currentPage) throws UserNoLoginException {
int hkID = 0;
if (session == null) {
throw new UserNoLoginException("用户未登录");
} else {
String username = session.getAttribute("username").toString();
hkID = userMapper.selectHKIDByPhone(username);
}
PageHelper.startPage(currentPage, PAGESIZE);
List<Appointment> list = appMapper.getStatusApp(status);
PageInfo<Appointment> pageInfo = new PageInfo<>(list);
for (Appointment app : list) {
List<Integer> applyList = JsonUtil.json2List(app.getApplyJson(), Integer.class);
app.setApplyList(applyList);
app.setHkID(hkID);
}
return pageInfo;
}
@Override
public List<Appointment> getAllAppCustomer(HttpSession session) {
int cmID = 0;
String username = (String) session.getAttribute("username");
if (StringUtils.isEmpty(username)) {
throw new UserNoLoginException("用户未登录");
} else {
cmID = userMapper.selectCmIDByPhone(username);
}
List<Appointment> list = appMapper.selectAppListByCmID(cmID);
throw new UserNoLoginException("用户未登录!");
} else {
return personMapper.selectCustomer(phone);
}
}
@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();
customer = personMapper.selectCertifyCustomer(username);
}
/**
* Created by IntelliJ IDEA 2020.1.
* Project: house
* Description:验证码生成工具类
*/
public class RandomValidateCode {
//放到session中的key
public static final String RANDOMCODEKEY= "RANDOMVALIDATECODEKEY";
//随机产生只有数字的字符串 private String
//private String randString = "0123456789";
//随机产生只有字母的字符串
//private String randString = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
//随机产生数字与字母组合的字符串
private String randString = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
private int width = 110;// 图片宽
private int height = 34;// 图片高
private int lineSize = 40;// 干扰线数量
private int stringNum = 4;// 随机产生字符数量
private Random random = new Random();
/**
* 获得字体
* @return
*/
private Font getFont() {
return new Font("Fixedsys", Font.CENTER_BASELINE, 18);
}
/**
* 获得颜色
* @param fc
* @param bc
* @return
*/
private Color getRandColor(int fc, int bc) {
if (fc > 255)
fc = 255;
if (bc > 255)
bc = 255;
int r = fc + random.nextInt(bc - fc - 16);
int g = fc + random.nextInt(bc - fc - 14);
hkPersonMapper.updateHousekeeperInfo(houseKeeper);
}
}
}
package com.xxxx.service;
/**
* Created by IntelliJ IDEA 2020.1.
* Project: house
* Description:
*/
public interface AppointmentService {
Integer insertAppointment(Appointment appointment, String username) throws AppointFailedException, UserNoLoginException;
/**
* 获得所有有效的订单
* @return 订单列表
*/
List<Appointment> getStatusApp (HttpSession session, int status) throws UserNoLoginException;
/**
* 获得所有有效的订单
* @return 订单列表
*/
PageInfo<Appointment> getStatusApp (HttpSession session, int status,int currentPage) throws UserNoLoginException;
/**
* 消费者获得自己的预约
* @param session
* @return
*/
List<Appointment> getAllAppCustomer (HttpSession session);
/**
/**
* 消费者获得自己的预约
* @param session
* @return
*/
List<Appointment> getAllAppCustomer (HttpSession session);
/**
* 消费者获得自己的预约
* @param session
* @return
*/
PageInfo<Appointment> getAllAppCustomer (HttpSession session, int currentPage);
/**
* 家政人员获得所有的预约
* @return
*/
List<Appointment> getAllApp (HttpSession session);
/**
* 家政人员获得所有的预约
* @return
*/
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 预约的状态
@ResponseBody
public ResponseResult<List<Type>> getAllType () {
ResponseResult<List<Type>> result = new ResponseResult<>();
List<Type> list = indexService.getAllType();
System.out.println(list);
result.setData(list);
return result;
}
@RequestMapping("/getAllSmallType")
@ResponseBody
public ResponseResult<List<Type>> getAllSmallType (
@RequestParam("type_id") Integer type_id
) {
ResponseResult<List<Type>> result = new ResponseResult<>();
List<Type> list = indexService.getAllSmallType(type_id);
result.setData(list);
return result;
}
@RequestMapping("/getTopHousekeeper")
@ResponseBody
public ResponseResult<List<HouseKeeper>> getTopHouseKeeper () {
ResponseResult<List<HouseKeeper>> result = new ResponseResult<>();
List<HouseKeeper> list = indexService.getTopHousekeeper(5);
result.setData(list);
return result;
}
@RequestMapping("/getTopRepair")
@ResponseBody
public ResponseResult<List<HouseKeeper>> getTopRepair () {
ResponseResult<List<HouseKeeper>> result = new ResponseResult<>();
List<HouseKeeper> list = indexService.getTopHousekeeper(9);
result.setData(list);
return result;
}
@RequestMapping("/getTopMove")
@ResponseBody
public ResponseResult<List<HouseKeeper>> getTopMove () {
ResponseResult<List<HouseKeeper>> result = new ResponseResult<>();
List<HouseKeeper> list = indexService.getTopHousekeeper(13);
result.setData(list);
return result;
}
@RequestMapping("/getRecommend")
@ResponseBody
}
return customer;
}
@Override
public Integer certifyCustomer(HttpSession session, Customer customer) throws UserNoLoginException {
int result = 0;
String username = new String();
if (session == null) {
throw new UserNoLoginException("用户未登录");
} else {
username = session.getAttribute("username").toString();
result = personMapper.certifyCustomer(customer.getCmName(), customer.getCmCardID(), customer.getCmCardPhoto(), customer.getCmStatus(), username);
}
return result;
}
@Override
public Integer getCertifyStatus(HttpSession session) {
int result = 0;
String username = (String)session.getAttribute("username");
if (StringUtils.isEmpty(username)) {
throw new UserNoLoginException("用户未登录");
} else {
result = personMapper.getCertifyStatus(username);
}
return result;
}
@Override
public List<Message> getAllMessage() {
return personMapper.getAllMessage();
}
@Override
public String getSingleMessage(Integer id) {
return personMapper.getSingleMessage(id);
}
@Override
public Integer deleteSingleMessage(Integer id) {
return personMapper.deleteSingleMessage(id);
}
}
package com.xxxx.controller;
@ResponseBody
public ResponseResult<List<Customer>> selectAllCustomer () {
ResponseResult<List<Customer>> response = new ResponseResult<>();
List<Customer> list = adminService.selectAllCustomer();
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);
int hkID = userMapper.selectHKIDByPhone(username);
System.out.println(hkID);
list.add(new Integer(hkID));
}
}
// 然后将集合转换为 json 格式
applyList = JsonUtil.toJSONString(list);
// 最后将 json 插入到数据库中
return appMapper.updateApplyList(applyList, id);
}
@Override
public Appointment selectAppointByID(int id) throws UserNoLoginException {
// 根据预约的 id 获得一条预约的信息
Appointment app = appMapper.selectAppointByID(id);
List<String> applyNicknameList = new ArrayList<>();
// 获得一条预约的申请列表
List<Integer> applyList = JsonUtil.json2List(app.getApplyJson(), Integer.class);
app.setApplyList(applyList);
// 根据预约的申请列表中的家政人员的编号,来设置申请列表的家政人员的昵称
for (int i = 0; i < applyList.size(); i ++) {
String applyNickname = userMapper.selectHKNicknameByHkID(applyList.get(i));
applyNicknameList.add(applyNickname);
}
// 将申请列表的家政人员的昵称放到实体类中
app.setApplyNameList(applyNicknameList);
return app;
}
@Override
public Integer updateAppointStatus(int status, int id) {
return appMapper.updateAppointStatus(id, status);
}
@Override
public Integer deleteAppointByID(int id) {
return appMapper.deleteAppointByID(id);
}
@Override
public Integer insertConfirmHKID(String username, int id, int hkID) {
Integer result = 0;
Order order = new Order();
// 获得消费者的编号
Integer cmID = appMapper.getCustomerIDByUsername(username);
// 获得预约的内容
Appointment appoint = appMapper.selectAppointByID(id);
// 创建订单开始时间
Date now = new Date();
// 给订单指定信息
@PostMapping("/certifyHKPerson")
@ResponseBody
public ResponseResult<Void> certifyCustomer (
HttpServletRequest request,
HttpSession session,
MultipartFile cardPhoto,
MultipartFile certifyPhoto,
@RequestParam("name") String name,
@RequestParam("cardID") String cardID
) throws IOException {
String phone = (String)session.getAttribute("username");
if (StringUtils.isEmpty(phone)) {
throw new UserNoLoginException("用户未登录");
} else {
HouseKeeper houseKeeper = new HouseKeeper();
houseKeeper.setHkPhone(phone);
houseKeeper.setHkName(name);
houseKeeper.setHkStatus(2);
houseKeeper.setHkCardID(cardID);
String filePath = new String();
String certifyFilePath = new String();
if (cardPhoto.getSize() != 0) {
filePath = UploadFile.uploadFile(request, cardPhoto);
System.out.println(filePath);
} else {
filePath = "/upload/list-head.png";
}
if (certifyPhoto.getSize() != 0) {
certifyFilePath = UploadFile.uploadFile(request, certifyPhoto);
System.out.println(certifyFilePath);
} else {
certifyFilePath = "/upload/list-head.png";
}
houseKeeper.setHkCertifyPhoto(certifyFilePath);
houseKeeper.setHkCardPhoto(filePath);
hkPersonService.certifyHK(houseKeeper);
return new ResponseResult<Void>();
}
}
@PostMapping("/getCertifyStatus")
@ResponseBody
public ResponseResult<Integer> getCertifyStatus (
HttpSession session
) {
ResponseResult<Integer> result = new ResponseResult<>();
String phone = (String)session.getAttribute("username");
if (StringUtils.isEmpty(phone)) {
/**
* Created by IntelliJ IDEA 2020.1.
* Project: house
* Description:
*/
@Service
public class AdminServiceImpl implements AdminService {
@Resource
private AdminMapper adminMapper;
@Resource
private UserMapper userMapper;
@Resource
private PersonMapper personMapper;
@Resource
private HKPersonMapper hkPersonMapper;
@Resource
private CompanyMapper companyMapper;
@Override
public List<User> selectAllLogin() {
return adminMapper.selectAllLogin();
}
@Override
public List<Customer> selectAllCustomer() {
return adminMapper.selectAllCustomer();
}
@Override
public Integer insertAdmin(Admin admin) throws UsernameConflictException {
Integer result = 0;
String phone = admin.getAdPhone();
if (userMapper.getUserByUsername(phone) != null) {
throw new UsernameConflictException("用户已经存在!");
} else {
String password = admin.getAdPassword();
int role = -1;
int status = 1;
public ResponseResult<Void> updatePassword (
HttpSession session,
@RequestParam("oldPassword") String oldPassword,
@RequestParam("newPassword") String newPassword
) {
personService.updatePassword(session, oldPassword, newPassword);
return new ResponseResult<Void>();
}
@PostMapping("/selectCertifyCustomer")
@ResponseBody
public ResponseResult<Customer> selectCertifyCustomer (
HttpSession session
) {
ResponseResult<Customer> result = new ResponseResult<>();
Customer customer = personService.selectCertifyCustomer(session);
result.setData(customer);
return result;
}
@PostMapping("/certifyCustomer")
@ResponseBody
public ResponseResult<Void> certifyCustomer (
HttpServletRequest request,
HttpSession session,
MultipartFile cardPhoto,
@RequestParam("name") String name,
@RequestParam("cardID") String cardID
) throws IOException {
Customer customer = new Customer();
customer.setCmName(name);
customer.setCmCardID(cardID);
customer.setCmStatus(2);
String filePath = new String();
if (cardPhoto.getSize() != 0) {
filePath = UploadFile.uploadFile(request, cardPhoto);
System.out.println(filePath);
} else {
filePath = "/upload/list-head.png";
}
customer.setCmCardPhoto(filePath);
personService.certifyCustomer(session, customer);
return new ResponseResult<Void>();
}
@PostMapping("/getCertifyStatus")
@ResponseBody
public ResponseResult<Integer> getCertifyStatus (HttpSession session) {
ResponseResult<Integer> result = new ResponseResult<>();
Integer data = personService.getCertifyStatus(session);
result.setData(data);
return result;
}
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 (
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;
}
package com.xxxx.controller;
/**
* 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")
public String toRegister() {
return "register";
}
/**
* 显示登录页面
* @return 登录页面
*/
@GetMapping("/toLogin")
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<>();
Customer customer = personService.selectCustomer(session);
result.setData(customer);
return result;
}
@PostMapping("/updateCustomer")
@ResponseBody
@RequestParam("id") Integer id,
@RequestParam("hkID") Integer hkID
) {
String username = session.getAttribute("username").toString();
appService.insertConfirmHKID(username, id, hkID);
return new ResponseResult<>();
}
}
package com.xxxx.service.impl;
/**
* Created by IntelliJ IDEA 2020.1.
* Project: house
* Description:首页Service实现类
*/
@Service
public class IndexServiceImpl implements IndexService {
@Autowired
private IndexMapper indexMapper;
@Autowired
private TypeMapper typeMapper;
@Autowired
private OrderMapper orderMapper;
@Autowired
private IndexMapper indexMapper;
@Autowired
private TypeMapper typeMapper;
@Autowired
private OrderMapper orderMapper;
@Autowired
private HKPersonMapper hkPersonMapper;
@Autowired
private UserMapper userMapper;
@Override
public List<Type> getAllType() {
List<Type> list = new ArrayList<Type>();
list = indexMapper.getAllType();
return list;
}
@Override
public List<Type> getAllSmallType(Integer type_id) {
return indexMapper.getAllSmallType(type_id);
}
@Override
public List<HouseKeeper> getTopHousekeeper(int type) {
List<Integer> hkIDList = orderMapper.getTopOrderByTypeID(type);
List<HouseKeeper> list = new ArrayList<>();
for (int i : hkIDList) {
HouseKeeper houseKeeper = hkPersonMapper.getHousekeeperByID(i);
list.add(houseKeeper);
}
for (HouseKeeper hk : list) {
String hkName = indexMapper.getCompanyNameByID(hk.getCompanyID());
hk.setCompanyName(hkName);
}
return list;
}
@Override
public Integer getTypeID(String param) {
* @return
*/
List<Customer> getAllCustomerCertify();
/**
* 获取已经上传认证资料的家政人员
* @return
*/
List<HouseKeeper> getAllHousekeeperCertify ();
/**
* 获取已经上传认证资料的公司
* @return
*/
List<Company> getAllCompanyCertify ();
/**
* 通过消费者的编号获取消费者
* @param id 消费者的编号
* @return 消费者信息
*/
Customer getCustomerByID(int id);
/**
* 通过家政人员编号获取家政人员
* @param id 家政人员的编号
* @return 家政人员信息
*/
HouseKeeper getHousekeeperByID (int id);
/**
* 通过公司编号获取公司信息
* @param id 公司编号
* @return 公司信息
*/
Company getCompanyByID (int id);
/**
* 更新消费者的认证状态
* @param id 用户编号
* @param status 用户的认证状态
*/
void updateCustomerStatusByID (int id, int status);
/**
* 更新家政人员的认证状态
* @param id 家政人员编号
* @param status 家政人员的认证状态
*/
void updateHousekeeperStatusByID (int id, int status);
/**
* 更改公司的认证状态
* @param id 公司编号
*/
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);
}
package com.xxxx.service.impl;
/**
* Created by IntelliJ IDEA 2020.1.
* Project: house
* Description:
*/
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;
if (session == null) {
throw new UserNoLoginException("用户未登录");
} else {
String username = session.getAttribute("username").toString();
hkID = userMapper.selectHKIDByPhone(username);
}
List<Appointment> list = appMapper.getStatusApp(status);
for (Appointment app : list) {
List<Integer> applyList = JsonUtil.json2List(app.getApplyJson(), Integer.class);
app.setApplyList(applyList);
app.setHkID(hkID);
}
return list;
}
@Override
public PageInfo<Appointment> getStatusApp(HttpSession session, int status,int currentPage) throws UserNoLoginException {
int hkID = 0;
if (session == null) {
throw new UserNoLoginException("用户未登录");
} else {
String username = session.getAttribute("username").toString();
hkID = userMapper.selectHKIDByPhone(username);
}
PageHelper.startPage(currentPage, PAGESIZE);
List<Appointment> list = appMapper.getStatusApp(status);
PageInfo<Appointment> pageInfo = new PageInfo<>(list);
for (Appointment app : list) {
List<Integer> applyList = JsonUtil.json2List(app.getApplyJson(), Integer.class);
List<Type> list = indexService.getAllSmallType(type_id);
result.setData(list);
return result;
}
@RequestMapping("/getTopHousekeeper")
@ResponseBody
public ResponseResult<List<HouseKeeper>> getTopHouseKeeper () {
ResponseResult<List<HouseKeeper>> result = new ResponseResult<>();
List<HouseKeeper> list = indexService.getTopHousekeeper(5);
result.setData(list);
return result;
}
@RequestMapping("/getTopRepair")
@ResponseBody
public ResponseResult<List<HouseKeeper>> getTopRepair () {
ResponseResult<List<HouseKeeper>> result = new ResponseResult<>();
List<HouseKeeper> list = indexService.getTopHousekeeper(9);
result.setData(list);
return result;
}
@RequestMapping("/getTopMove")
@ResponseBody
public ResponseResult<List<HouseKeeper>> getTopMove () {
ResponseResult<List<HouseKeeper>> result = new ResponseResult<>();
List<HouseKeeper> list = indexService.getTopHousekeeper(13);
result.setData(list);
return result;
}
@RequestMapping("/getRecommend")
@ResponseBody
public ResponseResult<List<HouseKeeper>> getRecommend (
HttpSession session
) {
ResponseResult<List<HouseKeeper>> result = new ResponseResult<>();
List<HouseKeeper> list = indexService.getRecommend(session);
result.setData(list);
return result;
}
@PostMapping("/getTypeID")
@ResponseBody
public ResponseResult<Integer> getTypeID (
@RequestParam("param") String param
) {
ResponseResult<Integer> result = new ResponseResult<>();
int id = indexService.getTypeID(param);
result.setData(id);
return result;
}