DriverInfoController.java 5.1 KB
package com.sunyo.wlpt.dispatch.controller;

import com.github.pagehelper.PageInfo;
import com.sunyo.wlpt.dispatch.domain.DriverInfo;
import com.sunyo.wlpt.dispatch.response.ResultJson;
import com.sunyo.wlpt.dispatch.service.DriverInfoService;
import com.sunyo.wlpt.dispatch.utils.GetUUID;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

/**
 * @author 子诚
 * Description:
 * 时间:2020/4/26 14:04
 */
@Api(value = "驾驶员信息管理", tags = "业务管理——驾驶员信息管理")
@RequestMapping("/driverInfo")
@RestController
public class DriverInfoController {
    @Autowired
    private DriverInfoService driverInfoService;


    @ApiOperation("获取驾驶员列表")
    @GetMapping("/selectDriverInfoList")
    public ResultJson<PageInfo> selectDriverInfoList(
            @ApiParam(name = "driverName", value = "驾驶员姓名", required = false)
            @RequestParam(value = "driverName", required = false) String driverName,
            @ApiParam(name = "driverMobile", value = "驾驶员联系方式", required = false)
            @RequestParam(value = "driverMobile", required = false) String driverMobile,
            @ApiParam(name = "driverCompany", value = "驾驶员所属公司", required = false)
            @RequestParam(value = "driverCompany", required = false) String driverCompany,
            @ApiParam(name = "driverStatus", value = "驾驶员状态:驾驶员状态:1.空闲状态;2.执行状态;3.轮休状态;.请假状态", required = false)
            @RequestParam(value = "driverStatus", required = false) String driverStatus,
            @ApiParam(name = "pageNum", value = "第几页,默认为第一页", required = false)
            @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
            @ApiParam(name = "pageSize", value = "每页数量,默认10条", required = false)
            @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) {
        ResultJson<PageInfo> result = new ResultJson<>();
        DriverInfo driverInfo = new DriverInfo();
        if ("".equals(driverName)) {
            //获取参数,驾驶员姓名
            driverInfo.setDriverName(driverName);
        }
        if ("".equals(driverMobile)) {
            //获取参数,驾驶员联系方式
            driverInfo.setDriverMobile(driverMobile);
        }
        if ("".equals(driverCompany)) {
            //获取参数,驾驶员所属公司
            driverInfo.setDriverCompany(driverCompany);
        }
        if ("".equals(driverStatus)) {
            //获取参数,驾驶员状态
            driverInfo.setDriverStatus(driverStatus);
        }
        PageInfo pageInfo = driverInfoService.selectDriverInfoList(driverInfo, pageNum, pageSize);
        if (pageInfo.getTotal() > 0) {
            result.setData(pageInfo);
            result.setMsg("查询驾驶员信息列表,成功");
        } else {
            result.setCode("400");
            result.setMsg("查询驾驶员信息列表,失败");
        }
        return result;
    }

    @ApiOperation("删除驾驶员信息")
    @DeleteMapping("/deleteDriverInfo")
    public ResultJson deleteDriverInfo(@RequestBody DriverInfo driverInfo) {
        ResultJson result = new ResultJson();
        /**
         * 删除驾驶员信息,根据主键删除
         */
        int num = driverInfoService.deleteByPrimaryKey(driverInfo.getId());
        if (num > 0) {
            result.setMsg("删除驾驶员信息,成功");
        } else {
            result.setCode("400");
            result.setMsg("删除驾驶员信息,失败");
        }
        return result;
    }

    @ApiOperation("编辑驾驶员信息")
    @PutMapping("/updateDriverInfo")
    public ResultJson updateDriverInfo(@RequestBody DriverInfo driverInfo) {
        ResultJson result = new ResultJson();
        /**
         * 编辑驾驶员信息,根据主键选择性修改
         */
        int num = driverInfoService.updateByPrimaryKeySelective(driverInfo);
        if (num > 0) {
            result.setMsg("编辑驾驶员信息,成功");
        } else {
            result.setCode("400");
            result.setMsg("编辑驾驶员信息,失败");
        }
        return result;
    }

    @ApiOperation("增加驾驶员信息")
    @PostMapping("/insertDriverInfo")
    public ResultJson insertDriverInfo(@RequestBody DriverInfo driverInfo) {
        ResultJson result = new ResultJson();
        //设置驾驶员信息主键,UUID
        driverInfo.setId(GetUUID.getuuid());
        /**
         * 选择性插入,驾驶员信息
         */
        //新增的驾驶员的状态为 空闲状态("1")
        driverInfo.setDriverStatus("1");
        int num = driverInfoService.insertSelective(driverInfo);
        if (num > 0) {
            result.setMsg("新增驾驶员信息,成功");
        } else {
            result.setCode("400");
            result.setMsg("新增驾驶员信息,失败");
        }
        return result;
    }
}