基于javaweb+mysql的springboot家政服务平台系统(java+ssm+jsp+mysql+maven)

基于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;
    }

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值