栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【停车场车辆管理系统】从零搭建——AdminController搭建

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【停车场车辆管理系统】从零搭建——AdminController搭建

【停车场车辆管理系统】从零搭建——项目分析

【停车场车辆管理系统】从零搭建——数据库搭建

【停车场车辆管理系统】从零搭建——后端搭建

【停车场车辆管理系统】从零搭建——后端Model类

【停车场车辆管理系统】从零搭建——Mapper搭建

【停车场车辆管理系统】从零搭建——AdminController搭建

【停车场车辆管理系统】从零搭建——UserController搭建

【停车场车辆管理系统】从零搭建——前端react搭建

文章目录
  • Controller
  • 登录
    • 个人信息模块
  • 车位管理
  • 车位承包信息
    • 查看所有承包申请
    • 查询相关代码
    • 同意申请
    • 拒绝申请
  • 查看停车订单
  • 完整代码

Controller

写完了数据库业务层,我们开始写控制层。
再回顾一遍项目需求:

管理员模块

  1. 个人信息模块:
    查找数据库中个人信息展示,修改按钮=》修改所有个人信息包括密码。个人车辆信息,修改车辆信息
  2. 车位信息:
    表格形式展示自己所管理的小区的所有车位,录入车位、修改车位信息、删除车位
  3. 车位承包信息:
    表格形式展示自己所管理小区的所有【车位承包申请表】,这个模块需要车主发起申请才会有数据,管理员可以选择同意或拒绝。临时停车信息就不用发起申请了
  4. 停车收费信息:
    表格形式展示自己所管理小区的车位停车情况,录入停车订单这块我考虑订单直接在承包申请同意之后自动生成

车主

  1. 个人信息:展示个人信息,修改所有信息包括密码
  2. 车位占用:查看所有未被占用车位,发起承包或停车
  3. 停车费用管理:查看自己的订单,选择缴费

项目需求还是比较清晰的,controller这快我们根据角色来写,也就是分为AdminController和UserController。

首先,我们创建一个AdminController.java文件。

public class AdminController {
}

我们为它输入注解:

@Controller
@RequestMapping("admin")
@CrossOrigin(origins = "*", maxAge = 3600)
public class AdminController {
}

解释一下:

  • @Controller:表示当前类为处理器,对象存放在SpringMVC中

  • @RequestMapping:表示当前方法为处理器方法。该方法要对value属性所指定的 URI 进行处理与响应。被注解的方法的方法名可以随意
    位置:

    1. 在方法上面(推荐)
    2. 在类上面

    使用@RequestMapper修饰的方法叫做处理器方法或者控制器方法
    使用@RequestMapper修饰的方法可以处理请求的,类似servlet中的doGet()、doPost()
    作用 是把一个请求和一个方法绑定在一起,一个请求指定一个方法处理。
    属性:value :是一个字符串,表示请求url地址的(some.do),value的值必须是唯一的,不能重复,在使用时,推荐使用/开头

  • @CrossOrigin解决跨域问题

    • origins:是允许访问的列表(origins=“网址”)
    • maxAge:准备响应前的 缓存持续的 最大时间

然后我们把Mapper类自动装配进去:

@Controller
@RequestMapping("admin")
@CrossOrigin(origins = "*", maxAge = 3600)
public class AdminController {
// 自动装配
    @Autowired
    AdminMapper adminMapper;
    @Autowired
    CarMapper carMapper;
    @Autowired
    CityMapper cityMapper;
    @Autowired
    ParkingOrderMapper parkingOrderMapper;
    @Autowired
    ParkMapper parkMapper;
    @Autowired
    RentApplicationMapper rentApplicationMapper;
    @Autowired
    UserMapper userMapper;

@Autowired是一种注解,可以对成员变量、方法和构造函数进行标注,来完成自动装配的工作,@Autowired标注可以放在成员变量上,也可以放在成员变量的set方法上,也可以放在任意方法上表示,自动执行当前方法,如果方法有参数,会在IOC容器中自动寻找同类型参数为其传值。

下面我们来写第一个方法:

登录

我们首先分析,登录方法需要获取前端传递过来的一个Admin类型的数据,然后我们调用adminMapper的selectFromAdminByAdminPhoneAndAdminPassword方法,最后将mapper接口的返回值返回到前端。

    
    @RequestMapping("adminLogin")
    @ResponseBody
    public Admin adminLogin(@RequestBody Admin admin) {
        return adminMapper.selectFromAdminByAdminPhoneAndAdminPassword(admin.getAdminPhone(), admin.getAdminPassword());
    }

其中,@responseBody注解的作用是将controller的方法返回的对象通过适当的转换器转换为指定的格式之后,写入到response对象的body区,通常用来返回JSON数据或者是XML数据
@RequestBody主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的);而最常用的使用请求体传参的无疑是POST请求了,所以使用@RequestBody接收数据时,一般都用POST方式进行提交。在后端的同一个接收方法里,@RequestBody与@RequestParam()可以同时使用,@RequestBody最多只能有一个,而@RequestParam()可以有多个。

个人信息模块

后端的代码都挺简单的,两三行,没什么好讲解的,弄懂逻辑基本上都能写的出来。

  	
    @RequestMapping("selectMyInfo")
    @ResponseBody
    public Admin selectMyInfo(@RequestBody Admin admin) {
        return adminMapper.selectFromAdminByAdminId(admin.getAdminId());
    }

    
    @RequestMapping("updateMyInfo")
    @ResponseBody
    public void updateMyInfo(@RequestBody Admin admin) {
        adminMapper.updateAdminByAdminId(admin);
    }
车位管理
    
    @RequestMapping("selectParkInCity")
    @ResponseBody
    public List selectParkInCity(@RequestBody Admin admin) {
        return parkMapper.selectAllFromParkByCityId(admin.getCityId());
    }

    
    @RequestMapping("insertIntoPark")
    @ResponseBody
    public void insertIntoPark(@RequestBody Park park) {
        parkMapper.insertIntoPark(park);
    }

    
    @RequestMapping("deletePark")
    @ResponseBody
    public void deletePark(@RequestBody Park park) {
        parkMapper.updateParkSetParkStateByParkId(3, park.getParkId());
    }

    
    @RequestMapping("updatePark")
    @ResponseBody
    public void updatePark(@RequestBody Park park) {
        parkMapper.updateParkByParkId(park);
    }
车位承包信息

这个部分代码比较长,我仔细说下。

查看所有承包申请
    
    @RequestMapping("selectAllRentApplication")
    @ResponseBody
    public List selectAllRentApplication(@RequestBody Admin admin) {

        List rentApplicationList = rentApplicationMapper.selectAllFromRentApplication(admin.getCityId());
        List rentApplicationUseList = new ArrayList<>();
        for (RentApplication rentApplication : rentApplicationList) {
            String car = carMapper.selectCarNumberFromCarByCarId(rentApplication.getCarId());
            String park = parkMapper.selectFromParkByParkId(rentApplication.getParkId()).getParkNumber();
            String userName = userMapper.selectFromUserByUserId(rentApplication.getUserId()).getUserName();
            List strings = new ArrayList<>();
            strings.add(car);
            strings.add(park);
            strings.add(userName);
            RentApplicationUse rentApplicationUse = new RentApplicationUse(rentApplication, strings);
            rentApplicationUseList.add(rentApplicationUse);
        }
        return rentApplicationUseList;
    }
  1. 首先,前端传递过来一个admin类,这个类有什么作用呢?在这个方法里,我们所用到的主要是admin的cityId。需要通过admin的cityId来定位,目前查看的承包信息是属于哪个小区的。
  2. 所以方法体第一行,
    List rentApplicationList = rentApplicationMapper.selectAllFromRentApplication(admin.getCityId());
    
    其实正常到这一行就return了,但大家可能发现,第二行有个从来没有见过的RentApplicationUse类,这是后来为了便于前端数据处理而创建的类。
  3. RentApplicationUse类的属性如下:
        private RentApplication rentApplication;
        private List car_park_user;
    
    可以看出来,第一个属性用于存储承包表信息,而第二个属性则是存放车辆、停车场、用户的信息。
  4. 从代码的第二行开始,创建了一个RentApplicationUse的List类。同时对第一行获取的RentApplication进行遍历。每次遍历时,获取car、park、user的信息,填入RentApplicationUse类中。

后边涉及到查询的代码基本上都是这样,将car、park、user的信息填入类中。
这个其实也有另一种解决方案,就是直接为RentApplication类添加private List car_park_user;属性,但是不知道为什么当初选择了这种方法。

查询相关代码
    
    @RequestMapping("selectAllRentApplication")
    @ResponseBody
    public List selectAllRentApplication(@RequestBody Admin admin) {

        List rentApplicationList = rentApplicationMapper.selectAllFromRentApplication(admin.getCityId());
        List rentApplicationUseList = new ArrayList<>();
        for (RentApplication rentApplication : rentApplicationList) {
            String car = carMapper.selectCarNumberFromCarByCarId(rentApplication.getCarId());
            String park = parkMapper.selectFromParkByParkId(rentApplication.getParkId()).getParkNumber();
            String userName = userMapper.selectFromUserByUserId(rentApplication.getUserId()).getUserName();
            List strings = new ArrayList<>();
            strings.add(car);
            strings.add(park);
            strings.add(userName);
            RentApplicationUse rentApplicationUse = new RentApplicationUse(rentApplication, strings);
            rentApplicationUseList.add(rentApplicationUse);
        }
        return rentApplicationUseList;
    }

    
    @RequestMapping("selectRentApplicationCannotAgree")
    @ResponseBody
    public List selectRentApplicationCannotAgree(@RequestBody Admin admin) {
        List rentApplicationList = rentApplicationMapper.selectFromRentApplicationByNotEmptyPark(admin.getCityId());
        List rentApplicationUseList = new ArrayList<>();
        for (RentApplication rentApplication : rentApplicationList) {
            String car = carMapper.selectCarNumberFromCarByCarId(rentApplication.getCarId());
            String park = parkMapper.selectFromParkByParkId(rentApplication.getCarId()).getParkNumber();
            String userName = userMapper.selectFromUserByUserId(rentApplication.getUserId()).getUserName();
            List strings = new ArrayList<>();
            strings.add(car);
            strings.add(park);
            strings.add(userName);
            RentApplicationUse rentApplicationUse = new RentApplicationUse(rentApplication, strings);
            rentApplicationUseList.add(rentApplicationUse);
        }
        return rentApplicationUseList;
    }


    
    @RequestMapping("selectRentApplication0")
    @ResponseBody
    public List selectRentApplication0(@RequestBody Admin admin) {
        List rentApplicationList = rentApplicationMapper.selectFromRentApplicationByRentApplicationState(admin.getCityId(), 0);
        List rentApplicationUseList = new ArrayList<>();
        for (RentApplication rentApplication : rentApplicationList) {
            System.out.println(rentApplication.toString());
            String car = carMapper.selectCarNumberFromCarByCarId(rentApplication.getCarId());
            String park = parkMapper.selectFromParkByParkId(rentApplication.getParkId()).getParkNumber();
            String userName = userMapper.selectFromUserByUserId(rentApplication.getUserId()).getUserName();
            List strings = new ArrayList<>();
            strings.add(car);
            strings.add(park);
            strings.add(userName);
            RentApplicationUse rentApplicationUse = new RentApplicationUse(rentApplication, strings);
            rentApplicationUseList.add(rentApplicationUse);
        }
        return rentApplicationUseList;
    }

    
    @RequestMapping("selectRentApplication1")
    @ResponseBody
    public List selectRentApplication1(@RequestBody Admin admin) {
        List rentApplicationList = rentApplicationMapper.selectFromRentApplicationByRentApplicationState(admin.getCityId(), 1);
        List rentApplicationUseList = new ArrayList<>();
        for (RentApplication rentApplication : rentApplicationList) {
            String car = carMapper.selectCarNumberFromCarByCarId(rentApplication.getCarId());
            String park = parkMapper.selectFromParkByParkId(rentApplication.getCarId()).getParkNumber();
            String userName = userMapper.selectFromUserByUserId(rentApplication.getUserId()).getUserName();
            List strings = new ArrayList<>();
            strings.add(car);
            strings.add(park);
            strings.add(userName);
            RentApplicationUse rentApplicationUse = new RentApplicationUse(rentApplication, strings);
            rentApplicationUseList.add(rentApplicationUse);
        }
        return rentApplicationUseList;
    }

    
    @RequestMapping("selectRentApplication2")
    @ResponseBody
    public List selectRentApplication2(@RequestBody Admin admin) {
        List rentApplicationList = rentApplicationMapper.selectFromRentApplicationByRentApplicationState(admin.getCityId(), 2);
        List rentApplicationUseList = new ArrayList<>();
        for (RentApplication rentApplication : rentApplicationList) {
            String car = carMapper.selectCarNumberFromCarByCarId(rentApplication.getCarId());
            String park = parkMapper.selectFromParkByParkId(rentApplication.getParkId()).getParkNumber();
            String userName = userMapper.selectFromUserByUserId(rentApplication.getUserId()).getUserName();
            List strings = new ArrayList<>();
            strings.add(car);
            strings.add(park);
            strings.add(userName);
            RentApplicationUse rentApplicationUse = new RentApplicationUse(rentApplication, strings);
            rentApplicationUseList.add(rentApplicationUse);
        }
        return rentApplicationUseList;
    }

同意申请

同意申请的时候,不但要对当前的申请表的审核状态进行改变,也需要对停车位的占用情况进行变化,并且生成一个停车订单。

    
    @RequestMapping("agree")
    @ResponseBody
    public void agree(@RequestBody RentApplication rentApplication) {
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date date = new Date();
        //更新申请表
        rentApplicationMapper.updateRentApplicationSetRentApplicationStateByrentApplicationId(1, rentApplication.getRentApplicationId());
        //更新车位
        parkMapper.updateParkSetParkStateAndCarIdByParkId(1, rentApplication.getCarId(), rentApplication.getParkId());
        //新增订单
        ParkingOrder parkingOrder = new ParkingOrder();
        parkingOrder.setParkId(rentApplication.getParkId());
        parkingOrder.setCarId(rentApplication.getCarId());
        parkingOrder.setUserId(rentApplication.getUserId());
        parkingOrder.setCityId(parkMapper.selectFromParkByParkId(rentApplication.getParkId()).getCityId());
        parkingOrder.setParkingOrderPrice(parkMapper.selectFromParkByParkId(rentApplication.getParkId()).getRentPrice());
        parkingOrder.setParkingTime(simpleDateFormat.format(date));
        parkingOrder.setExpirationTime(simpleDateFormat.format(date.getTime() + (1000L * 60 * 60 * 24 * 30)));
        parkingOrder.setParkingOrderState(0);
        parkingOrder.setPayState(0);
        parkingOrderMapper.insertIntoParkingOrder(parkingOrder);
    }
拒绝申请
    
    @RequestMapping("refuse")
    @ResponseBody
    public void refuse(@RequestBody RentApplication rentApplication) {
        rentApplicationMapper.updateRentApplicationSetRentApplicationStateByrentApplicationId(2, rentApplication.getRentApplicationId());
    }
查看停车订单

这里和上面一样,创建了一个parkingOrderUse类

public class ParkingOrderUse {
    private ParkingOrder parkingOrder;
    private List carNumberAndParkNumber;
}

在进行订单查询的时候,需要将用户与车辆信息返回到前端。首先先获取当前小区的所有订单信息,然后逐个遍历将车辆信息填入,这里用了个selectCarNumberAndParkNumberAndUserName方法,将具体操作封装起来了。

    
    @RequestMapping("selectParkingOrder")
    @ResponseBody
    public List selectParkingOrder(@RequestBody Admin admin) {
        List parkingOrderList = parkingOrderMapper.selectFromParckingOrderByCityId(admin.getCityId());
        List parkingOrderUses = new ArrayList<>();
        for (ParkingOrder parkingOrder : parkingOrderList) {
            List strings = selectCarNumberAndParkNumberAndUserName(parkingOrder.getCarId(), parkingOrder.getParkId(), parkingOrder.getUserId());
            ParkingOrderUse parkingOrderUse = new ParkingOrderUse(parkingOrder, strings);
            parkingOrderUses.add(parkingOrderUse);
        }
        return parkingOrderUses;
    }

    
    @RequestMapping("selectCarNumberAndParkNumber")
    @ResponseBody
    public List selectCarNumberAndParkNumberAndUserName(Integer carId, Integer parkId, Integer userId) {
        List res = new ArrayList<>();
        res.add(carMapper.selectCarNumberFromCarByCarId(carId));
        res.add(parkMapper.selectFromParkByParkId(parkId).getParkNumber());
        res.add(userMapper.selectFromUserByUserId(userId).getUserName());
        return res;
    }
完整代码

AdminController的具体创建过程就是这样,有看不明白的地方可以留言或私信,以下是完整代码:

package com.example.vehiclemanagement.controller;

import com.example.vehiclemanagement.mapper.*;
import com.example.vehiclemanagement.model.*;
import com.example.vehiclemanagement.model.utilModel.ParkingOrderUse;
import com.example.vehiclemanagement.model.utilModel.RentApplicationUse;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

@Controller
@RequestMapping("admin")
@CrossOrigin(origins = "*", maxAge = 3600)
public class AdminController {
    @Autowired
    AdminMapper adminMapper;
    @Autowired
    CarMapper carMapper;
    @Autowired
    CityMapper cityMapper;
    @Autowired
    ParkingOrderMapper parkingOrderMapper;
    @Autowired
    ParkMapper parkMapper;
    @Autowired
    RentApplicationMapper rentApplicationMapper;
    @Autowired
    UserMapper userMapper;

    
    @RequestMapping("adminLogin")
    @ResponseBody
    public Admin adminLogin(@RequestBody Admin admin) {
        return adminMapper.selectFromAdminByAdminPhoneAndAdminPassword(admin.getAdminPhone(), admin.getAdminPassword());
    }

    
    @RequestMapping("selectMyInfo")
    @ResponseBody
    public Admin selectMyInfo(@RequestBody Admin admin) {
        return adminMapper.selectFromAdminByAdminId(admin.getAdminId());
    }

    
    @RequestMapping("updateMyInfo")
    @ResponseBody
    public void updateMyInfo(@RequestBody Admin admin) {
        adminMapper.updateAdminByAdminId(admin);
    }

    
    @RequestMapping("selectParkInCity")
    @ResponseBody
    public List selectParkInCity(@RequestBody Admin admin) {
        return parkMapper.selectAllFromParkByCityId(admin.getCityId());
    }

    
    @RequestMapping("insertIntoPark")
    @ResponseBody
    public void insertIntoPark(@RequestBody Park park) {
        parkMapper.insertIntoPark(park);
    }

    
    @RequestMapping("deletePark")
    @ResponseBody
    public void deletePark(@RequestBody Park park) {
        parkMapper.updateParkSetParkStateByParkId(3, park.getParkId());
    }

    
    @RequestMapping("updatePark")
    @ResponseBody
    public void updatePark(@RequestBody Park park) {
        parkMapper.updateParkByParkId(park);
    }

    
    @RequestMapping("selectAllRentApplication")
    @ResponseBody
    public List selectAllRentApplication(@RequestBody Admin admin) {

        List rentApplicationList = rentApplicationMapper.selectAllFromRentApplication(admin.getCityId());
        List rentApplicationUseList = new ArrayList<>();
        for (RentApplication rentApplication : rentApplicationList) {
            String car = carMapper.selectCarNumberFromCarByCarId(rentApplication.getCarId());
            String park = parkMapper.selectFromParkByParkId(rentApplication.getParkId()).getParkNumber();
            String userName = userMapper.selectFromUserByUserId(rentApplication.getUserId()).getUserName();
            List strings = new ArrayList<>();
            strings.add(car);
            strings.add(park);
            strings.add(userName);
            RentApplicationUse rentApplicationUse = new RentApplicationUse(rentApplication, strings);
            rentApplicationUseList.add(rentApplicationUse);
        }
        return rentApplicationUseList;
    }

    
    @RequestMapping("selectRentApplicationCannotAgree")
    @ResponseBody
    public List selectRentApplicationCannotAgree(@RequestBody Admin admin) {
        List rentApplicationList = rentApplicationMapper.selectFromRentApplicationByNotEmptyPark(admin.getCityId());
        List rentApplicationUseList = new ArrayList<>();
        for (RentApplication rentApplication : rentApplicationList) {
            String car = carMapper.selectCarNumberFromCarByCarId(rentApplication.getCarId());
            String park = parkMapper.selectFromParkByParkId(rentApplication.getCarId()).getParkNumber();
            String userName = userMapper.selectFromUserByUserId(rentApplication.getUserId()).getUserName();
            List strings = new ArrayList<>();
            strings.add(car);
            strings.add(park);
            strings.add(userName);
            RentApplicationUse rentApplicationUse = new RentApplicationUse(rentApplication, strings);
            rentApplicationUseList.add(rentApplicationUse);
        }
        return rentApplicationUseList;
    }


    
    @RequestMapping("selectRentApplication0")
    @ResponseBody
    public List selectRentApplication0(@RequestBody Admin admin) {
        List rentApplicationList = rentApplicationMapper.selectFromRentApplicationByRentApplicationState(admin.getCityId(), 0);
        List rentApplicationUseList = new ArrayList<>();
        for (RentApplication rentApplication : rentApplicationList) {
            System.out.println(rentApplication.toString());
            String car = carMapper.selectCarNumberFromCarByCarId(rentApplication.getCarId());
            String park = parkMapper.selectFromParkByParkId(rentApplication.getParkId()).getParkNumber();
            String userName = userMapper.selectFromUserByUserId(rentApplication.getUserId()).getUserName();
            List strings = new ArrayList<>();
            strings.add(car);
            strings.add(park);
            strings.add(userName);
            RentApplicationUse rentApplicationUse = new RentApplicationUse(rentApplication, strings);
            rentApplicationUseList.add(rentApplicationUse);
        }
        return rentApplicationUseList;
    }

    
    @RequestMapping("selectRentApplication1")
    @ResponseBody
    public List selectRentApplication1(@RequestBody Admin admin) {
        List rentApplicationList = rentApplicationMapper.selectFromRentApplicationByRentApplicationState(admin.getCityId(), 1);
        List rentApplicationUseList = new ArrayList<>();
        for (RentApplication rentApplication : rentApplicationList) {
            String car = carMapper.selectCarNumberFromCarByCarId(rentApplication.getCarId());
            String park = parkMapper.selectFromParkByParkId(rentApplication.getCarId()).getParkNumber();
            String userName = userMapper.selectFromUserByUserId(rentApplication.getUserId()).getUserName();
            List strings = new ArrayList<>();
            strings.add(car);
            strings.add(park);
            strings.add(userName);
            RentApplicationUse rentApplicationUse = new RentApplicationUse(rentApplication, strings);
            rentApplicationUseList.add(rentApplicationUse);
        }
        return rentApplicationUseList;
    }

    
    @RequestMapping("selectRentApplication2")
    @ResponseBody
    public List selectRentApplication2(@RequestBody Admin admin) {
        List rentApplicationList = rentApplicationMapper.selectFromRentApplicationByRentApplicationState(admin.getCityId(), 2);
        List rentApplicationUseList = new ArrayList<>();
        for (RentApplication rentApplication : rentApplicationList) {
            String car = carMapper.selectCarNumberFromCarByCarId(rentApplication.getCarId());
            String park = parkMapper.selectFromParkByParkId(rentApplication.getParkId()).getParkNumber();
            String userName = userMapper.selectFromUserByUserId(rentApplication.getUserId()).getUserName();
            List strings = new ArrayList<>();
            strings.add(car);
            strings.add(park);
            strings.add(userName);
            RentApplicationUse rentApplicationUse = new RentApplicationUse(rentApplication, strings);
            rentApplicationUseList.add(rentApplicationUse);
        }
        return rentApplicationUseList;
    }

    
    @RequestMapping("agree")
    @ResponseBody
    public void agree(@RequestBody RentApplication rentApplication) {
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date date = new Date();
        //更新申请表
        rentApplicationMapper.updateRentApplicationSetRentApplicationStateByrentApplicationId(1, rentApplication.getRentApplicationId());
        //更新车位
        parkMapper.updateParkSetParkStateAndCarIdByParkId(1, rentApplication.getCarId(), rentApplication.getParkId());
        //新增订单
        ParkingOrder parkingOrder = new ParkingOrder();
        parkingOrder.setParkId(rentApplication.getParkId());
        parkingOrder.setCarId(rentApplication.getCarId());
        parkingOrder.setUserId(rentApplication.getUserId());
        parkingOrder.setCityId(parkMapper.selectFromParkByParkId(rentApplication.getParkId()).getCityId());
        parkingOrder.setParkingOrderPrice(parkMapper.selectFromParkByParkId(rentApplication.getParkId()).getRentPrice());
        parkingOrder.setParkingTime(simpleDateFormat.format(date));
        parkingOrder.setExpirationTime(simpleDateFormat.format(date.getTime() + (1000L * 60 * 60 * 24 * 30)));
        parkingOrder.setParkingOrderState(0);
        parkingOrder.setPayState(0);
        parkingOrderMapper.insertIntoParkingOrder(parkingOrder);
    }

    
    @RequestMapping("refuse")
    @ResponseBody
    public void refuse(@RequestBody RentApplication rentApplication) {
        rentApplicationMapper.updateRentApplicationSetRentApplicationStateByrentApplicationId(2, rentApplication.getRentApplicationId());
    }

    
    @RequestMapping("selectParkingOrder")
    @ResponseBody
    public List selectParkingOrder(@RequestBody Admin admin) {
        List parkingOrderList = parkingOrderMapper.selectFromParckingOrderByCityId(admin.getCityId());
        List parkingOrderUses = new ArrayList<>();
        for (ParkingOrder parkingOrder : parkingOrderList) {
            List strings = selectCarNumberAndParkNumberAndUserName(parkingOrder.getCarId(), parkingOrder.getParkId(), parkingOrder.getUserId());
            ParkingOrderUse parkingOrderUse = new ParkingOrderUse(parkingOrder, strings);
            parkingOrderUses.add(parkingOrderUse);
        }
        return parkingOrderUses;
    }

    
    @RequestMapping("selectCarNumberAndParkNumber")
    @ResponseBody
    public List selectCarNumberAndParkNumberAndUserName(Integer carId, Integer parkId, Integer userId) {
        List res = new ArrayList<>();
        res.add(carMapper.selectCarNumberFromCarByCarId(carId));
        res.add(parkMapper.selectFromParkByParkId(parkId).getParkNumber());
        res.add(userMapper.selectFromUserByUserId(userId).getUserName());
        return res;
    }

}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/893654.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号