添加设备告警,白名单,固定车续费后台管理
This commit is contained in:
parent
a60a5c5e65
commit
d1ff02d10b
@ -8,5 +8,7 @@ import cn.iocoder.yudao.framework.common.exception.ErrorCode;
|
||||
public interface ErrorCodeConstants {
|
||||
// ========== 进出记录图片 1_005_001_015 ==========
|
||||
ErrorCode ACCESS_RECORD_PICTURE_NOT_EXISTS = new ErrorCode(1_005_001_015, "进出记录图片不存在");
|
||||
|
||||
ErrorCode VEHICLE_RENEWAL_RECORD_NOT_EXISTS = new ErrorCode(22222, "固定车续费记录不存在");
|
||||
ErrorCode WARNING_NOT_EXISTS = new ErrorCode(33333, "告警记录不存在");
|
||||
ErrorCode WHITE_NOT_EXISTS = new ErrorCode(444444, "白名单管理不存在");
|
||||
}
|
||||
|
@ -0,0 +1,121 @@
|
||||
package cn.iocoder.yudao.module.parking.controller.admin.vehiclerenewalrecord;
|
||||
|
||||
import cn.iocoder.yudao.module.parking.util.BlueCardResult;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import javax.annotation.Resource;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
|
||||
import javax.validation.constraints.*;
|
||||
import javax.validation.*;
|
||||
import javax.servlet.http.*;
|
||||
import java.util.*;
|
||||
import java.io.IOException;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
||||
|
||||
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
|
||||
|
||||
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
|
||||
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*;
|
||||
|
||||
import cn.iocoder.yudao.module.parking.controller.admin.vehiclerenewalrecord.vo.*;
|
||||
import cn.iocoder.yudao.module.parking.dal.dataobject.vehiclerenewalrecord.VehicleRenewalRecordDO;
|
||||
import cn.iocoder.yudao.module.parking.service.vehiclerenewalrecord.VehicleRenewalRecordService;
|
||||
|
||||
@Tag(name = "管理后台 - 固定车续费记录")
|
||||
@RestController
|
||||
@RequestMapping("/parking/vehicle-renewal-record")
|
||||
@Validated
|
||||
public class VehicleRenewalRecordController {
|
||||
|
||||
@Resource
|
||||
private VehicleRenewalRecordService vehicleRenewalRecordService;
|
||||
|
||||
/**
|
||||
* 固定车续费记录上传
|
||||
* @param vehicleRenewalRecordDO
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("/UpRenewalRecord")
|
||||
public BlueCardResult UpRenewalRecord(@RequestBody VehicleRenewalRecordDO vehicleRenewalRecordDO) {
|
||||
VehicleRenewalRecordDO vehicleRenewalRecordDOs = new VehicleRenewalRecordDO();
|
||||
VehicleRenewalRecordDO datas = vehicleRenewalRecordDO.getDatas().get(0);
|
||||
vehicleRenewalRecordDOs.setParkNumber(vehicleRenewalRecordDO.getParkNumber());
|
||||
vehicleRenewalRecordDOs.setMethod(vehicleRenewalRecordDO.getMethod());
|
||||
vehicleRenewalRecordDOs.setPlate(datas.getPlate());
|
||||
vehicleRenewalRecordDOs.setCarGroupName(datas.getCarGroupName());
|
||||
vehicleRenewalRecordDOs.setPayTime(datas.getPayTime());
|
||||
vehicleRenewalRecordDOs.setPayCharge(datas.getPayCharge());
|
||||
vehicleRenewalRecordDOs.setNumber(datas.getNumber());
|
||||
vehicleRenewalRecordDOs.setFeeMonth(datas.getFeeMonth());
|
||||
vehicleRenewalRecordDOs.setEnd(datas.getEnd());
|
||||
// vehicleRenewalRecordDOs.setPlaceFeeOrderRecId
|
||||
vehicleRenewalRecordDO.setCarOwnerName(datas.getCarOwnerName());
|
||||
vehicleRenewalRecordDOs.setPayType(datas.getPayType());
|
||||
vehicleRenewalRecordDOs.setOrderNo(datas.getOrderNo());
|
||||
return vehicleRenewalRecordService.UpRenewalRecord(vehicleRenewalRecordDOs);
|
||||
}
|
||||
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建固定车续费记录")
|
||||
@PreAuthorize("@ss.hasPermission('parking:vehicle-renewal-record:create')")
|
||||
public CommonResult<String> createVehicleRenewalRecord(@Valid @RequestBody VehicleRenewalRecordSaveReqVO createReqVO) {
|
||||
return success(vehicleRenewalRecordService.createVehicleRenewalRecord(createReqVO));
|
||||
}
|
||||
|
||||
@PutMapping("/update")
|
||||
@Operation(summary = "更新固定车续费记录")
|
||||
@PreAuthorize("@ss.hasPermission('parking:vehicle-renewal-record:update')")
|
||||
public CommonResult<Boolean> updateVehicleRenewalRecord(@Valid @RequestBody VehicleRenewalRecordSaveReqVO updateReqVO) {
|
||||
vehicleRenewalRecordService.updateVehicleRenewalRecord(updateReqVO);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@DeleteMapping("/delete")
|
||||
@Operation(summary = "删除固定车续费记录")
|
||||
@Parameter(name = "id", description = "编号", required = true)
|
||||
@PreAuthorize("@ss.hasPermission('parking:vehicle-renewal-record:delete')")
|
||||
public CommonResult<Boolean> deleteVehicleRenewalRecord(@RequestParam("id") String id) {
|
||||
vehicleRenewalRecordService.deleteVehicleRenewalRecord(id);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@GetMapping("/get")
|
||||
@Operation(summary = "获得固定车续费记录")
|
||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||
@PreAuthorize("@ss.hasPermission('parking:vehicle-renewal-record:query')")
|
||||
public CommonResult<VehicleRenewalRecordRespVO> getVehicleRenewalRecord(@RequestParam("id") String id) {
|
||||
VehicleRenewalRecordDO vehicleRenewalRecord = vehicleRenewalRecordService.getVehicleRenewalRecord(id);
|
||||
return success(BeanUtils.toBean(vehicleRenewalRecord, VehicleRenewalRecordRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "获得固定车续费记录分页")
|
||||
@PreAuthorize("@ss.hasPermission('parking:vehicle-renewal-record:query')")
|
||||
public CommonResult<PageResult<VehicleRenewalRecordRespVO>> getVehicleRenewalRecordPage(@Valid VehicleRenewalRecordPageReqVO pageReqVO) {
|
||||
PageResult<VehicleRenewalRecordDO> pageResult = vehicleRenewalRecordService.getVehicleRenewalRecordPage(pageReqVO);
|
||||
return success(BeanUtils.toBean(pageResult, VehicleRenewalRecordRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/export-excel")
|
||||
@Operation(summary = "导出固定车续费记录 Excel")
|
||||
@PreAuthorize("@ss.hasPermission('parking:vehicle-renewal-record:export')")
|
||||
@ApiAccessLog(operateType = EXPORT)
|
||||
public void exportVehicleRenewalRecordExcel(@Valid VehicleRenewalRecordPageReqVO pageReqVO,
|
||||
HttpServletResponse response) throws IOException {
|
||||
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||
List<VehicleRenewalRecordDO> list = vehicleRenewalRecordService.getVehicleRenewalRecordPage(pageReqVO).getList();
|
||||
// 导出 Excel
|
||||
ExcelUtils.write(response, "固定车续费记录.xls", "数据", VehicleRenewalRecordRespVO.class,
|
||||
BeanUtils.toBean(list, VehicleRenewalRecordRespVO.class));
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,59 @@
|
||||
package cn.iocoder.yudao.module.parking.controller.admin.vehiclerenewalrecord.vo;
|
||||
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
|
||||
|
||||
@Schema(description = "管理后台 - 固定车续费记录分页 Request VO")
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@ToString(callSuper = true)
|
||||
public class VehicleRenewalRecordPageReqVO extends PageParam {
|
||||
|
||||
@Schema(description = "场库编号")
|
||||
private String parkNumber;
|
||||
|
||||
@Schema(description = "接口名称")
|
||||
private String method;
|
||||
|
||||
@Schema(description = "车牌")
|
||||
private String plate;
|
||||
|
||||
@Schema(description = "固定车组名称", example = "张三")
|
||||
private String carGroupName;
|
||||
|
||||
@Schema(description = "支付时间")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private String[] payTime;
|
||||
|
||||
@Schema(description = "续费金额")
|
||||
private String payCharge;
|
||||
|
||||
@Schema(description = "车位号")
|
||||
private Integer number;
|
||||
|
||||
@Schema(description = "续费时长")
|
||||
private String feeMonth;
|
||||
|
||||
@Schema(description = "过期日期")
|
||||
private String end;
|
||||
|
||||
@Schema(description = "车主名称", example = "李四")
|
||||
private String carOwnerName;
|
||||
|
||||
@Schema(description = "支付类型", example = "1")
|
||||
private String payType;
|
||||
|
||||
@Schema(description = "支付流水号")
|
||||
private String orderNo;
|
||||
|
||||
@Schema(description = "创建时间")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] createTime;
|
||||
|
||||
}
|
@ -0,0 +1,75 @@
|
||||
package cn.iocoder.yudao.module.parking.controller.admin.vehiclerenewalrecord.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
import java.util.*;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
import java.time.LocalDateTime;
|
||||
import com.alibaba.excel.annotation.*;
|
||||
import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat;
|
||||
import cn.iocoder.yudao.framework.excel.core.convert.DictConvert;
|
||||
|
||||
@Schema(description = "管理后台 - 固定车续费记录 Response VO")
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class VehicleRenewalRecordRespVO {
|
||||
|
||||
@Schema(description = "续费订单号", requiredMode = Schema.RequiredMode.REQUIRED, example = "24242")
|
||||
@ExcelProperty("续费订单号")
|
||||
private String id;
|
||||
|
||||
@Schema(description = "场库编号", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("场库编号")
|
||||
private String parkNumber;
|
||||
|
||||
@Schema(description = "接口名称", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("接口名称")
|
||||
private String method;
|
||||
|
||||
@Schema(description = "车牌", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("车牌")
|
||||
private String plate;
|
||||
|
||||
@Schema(description = "固定车组名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三")
|
||||
@ExcelProperty("固定车组名称")
|
||||
private String carGroupName;
|
||||
|
||||
@Schema(description = "支付时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("支付时间")
|
||||
private String payTime;
|
||||
|
||||
@Schema(description = "续费金额", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("续费金额")
|
||||
private String payCharge;
|
||||
|
||||
@Schema(description = "车位号", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("车位号")
|
||||
private Integer number;
|
||||
|
||||
@Schema(description = "续费时长", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("续费时长")
|
||||
private String feeMonth;
|
||||
|
||||
@Schema(description = "过期日期", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("过期日期")
|
||||
private String end;
|
||||
|
||||
@Schema(description = "车主名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四")
|
||||
@ExcelProperty("车主名称")
|
||||
private String carOwnerName;
|
||||
|
||||
@Schema(description = "支付类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
@ExcelProperty(value = "支付类型", converter = DictConvert.class)
|
||||
@DictFormat("pay_type") // TODO 代码优化:建议设置到对应的 DictTypeConstants 枚举类中
|
||||
private String payType;
|
||||
|
||||
@Schema(description = "支付流水号", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("支付流水号")
|
||||
private String orderNo;
|
||||
|
||||
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("创建时间")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
}
|
@ -0,0 +1,63 @@
|
||||
package cn.iocoder.yudao.module.parking.controller.admin.vehiclerenewalrecord.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
import javax.validation.constraints.*;
|
||||
|
||||
@Schema(description = "管理后台 - 固定车续费记录新增/修改 Request VO")
|
||||
@Data
|
||||
public class VehicleRenewalRecordSaveReqVO {
|
||||
|
||||
@Schema(description = "续费订单号", requiredMode = Schema.RequiredMode.REQUIRED, example = "24242")
|
||||
private String id;
|
||||
|
||||
@Schema(description = "场库编号", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotEmpty(message = "场库编号不能为空")
|
||||
private String parkNumber;
|
||||
|
||||
@Schema(description = "接口名称", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotEmpty(message = "接口名称不能为空")
|
||||
private String method;
|
||||
|
||||
@Schema(description = "车牌", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotEmpty(message = "车牌不能为空")
|
||||
private String plate;
|
||||
|
||||
@Schema(description = "固定车组名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三")
|
||||
@NotEmpty(message = "固定车组名称不能为空")
|
||||
private String carGroupName;
|
||||
|
||||
@Schema(description = "支付时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotEmpty(message = "支付时间不能为空")
|
||||
private String payTime;
|
||||
|
||||
@Schema(description = "续费金额", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotEmpty(message = "续费金额不能为空")
|
||||
private String payCharge;
|
||||
|
||||
@Schema(description = "车位号", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotNull(message = "车位号不能为空")
|
||||
private Integer number;
|
||||
|
||||
@Schema(description = "续费时长", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotEmpty(message = "续费时长不能为空")
|
||||
private String feeMonth;
|
||||
|
||||
@Schema(description = "过期日期", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotEmpty(message = "过期日期不能为空")
|
||||
private String end;
|
||||
|
||||
@Schema(description = "车主名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四")
|
||||
@NotEmpty(message = "车主名称不能为空")
|
||||
private String carOwnerName;
|
||||
|
||||
@Schema(description = "支付类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
@NotEmpty(message = "支付类型不能为空")
|
||||
private String payType;
|
||||
|
||||
@Schema(description = "支付流水号", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotEmpty(message = "支付流水号不能为空")
|
||||
private String orderNo;
|
||||
|
||||
}
|
@ -0,0 +1,121 @@
|
||||
package cn.iocoder.yudao.module.parking.controller.admin.warning;
|
||||
|
||||
import cn.iocoder.yudao.module.parking.util.BlueCardResult;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import javax.annotation.Resource;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
|
||||
import javax.validation.constraints.*;
|
||||
import javax.validation.*;
|
||||
import javax.servlet.http.*;
|
||||
import java.util.*;
|
||||
import java.io.IOException;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
||||
|
||||
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
|
||||
|
||||
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
|
||||
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*;
|
||||
|
||||
import cn.iocoder.yudao.module.parking.controller.admin.warning.vo.*;
|
||||
import cn.iocoder.yudao.module.parking.dal.dataobject.warning.WarningDO;
|
||||
import cn.iocoder.yudao.module.parking.service.warning.WarningService;
|
||||
|
||||
@Tag(name = "管理后台 - 告警记录")
|
||||
@RestController
|
||||
@RequestMapping("/parking/warning")
|
||||
@Validated
|
||||
public class WarningController {
|
||||
|
||||
@Resource
|
||||
private WarningService warningService;
|
||||
|
||||
/**
|
||||
* 设备告警信息上传
|
||||
* @param
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("/upWarning")
|
||||
public BlueCardResult upWarning(@RequestBody WarningDO warningDO) {
|
||||
WarningDO warningDOs = new WarningDO();
|
||||
warningDOs.setParkNumber(warningDO.getParkNumber());
|
||||
// warningDOs.setmethod
|
||||
WarningDO datas = warningDO.getDatas().get(0);
|
||||
warningDOs.setAreaCode(datas.getAreaCode());
|
||||
warningDOs.setPortCode(datas.getPortCode());
|
||||
warningDOs.setObjectId(datas.getObjectId());
|
||||
warningDOs.setObjectName(datas.getObjectName());
|
||||
warningDOs.setObjectCode(datas.getObjectCode());
|
||||
warningDOs.setObjectType(datas.getObjectType());
|
||||
warningDOs.setWarningTime(datas.getWarningTime());
|
||||
warningDOs.setReportTime(datas.getReportTime());
|
||||
warningDOs.setWarningType(datas.getWarningType());
|
||||
warningDOs.setWarningDetail(datas.getWarningDetail());
|
||||
return warningService.upWarning(warningDOs);
|
||||
}
|
||||
|
||||
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建告警记录")
|
||||
@PreAuthorize("@ss.hasPermission('parking:warning:create')")
|
||||
public CommonResult<String> createWarning(@Valid @RequestBody WarningSaveReqVO createReqVO) {
|
||||
return success(warningService.createWarning(createReqVO));
|
||||
}
|
||||
|
||||
@PutMapping("/update")
|
||||
@Operation(summary = "更新告警记录")
|
||||
@PreAuthorize("@ss.hasPermission('parking:warning:update')")
|
||||
public CommonResult<Boolean> updateWarning(@Valid @RequestBody WarningSaveReqVO updateReqVO) {
|
||||
warningService.updateWarning(updateReqVO);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@DeleteMapping("/delete")
|
||||
@Operation(summary = "删除告警记录")
|
||||
@Parameter(name = "id", description = "编号", required = true)
|
||||
@PreAuthorize("@ss.hasPermission('parking:warning:delete')")
|
||||
public CommonResult<Boolean> deleteWarning(@RequestParam("id") String id) {
|
||||
warningService.deleteWarning(id);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@GetMapping("/get")
|
||||
@Operation(summary = "获得告警记录")
|
||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||
@PreAuthorize("@ss.hasPermission('parking:warning:query')")
|
||||
public CommonResult<WarningRespVO> getWarning(@RequestParam("id") String id) {
|
||||
WarningDO warning = warningService.getWarning(id);
|
||||
return success(BeanUtils.toBean(warning, WarningRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "获得告警记录分页")
|
||||
@PreAuthorize("@ss.hasPermission('parking:warning:query')")
|
||||
public CommonResult<PageResult<WarningRespVO>> getWarningPage(@Valid WarningPageReqVO pageReqVO) {
|
||||
PageResult<WarningDO> pageResult = warningService.getWarningPage(pageReqVO);
|
||||
return success(BeanUtils.toBean(pageResult, WarningRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/export-excel")
|
||||
@Operation(summary = "导出告警记录 Excel")
|
||||
@PreAuthorize("@ss.hasPermission('parking:warning:export')")
|
||||
@ApiAccessLog(operateType = EXPORT)
|
||||
public void exportWarningExcel(@Valid WarningPageReqVO pageReqVO,
|
||||
HttpServletResponse response) throws IOException {
|
||||
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||
List<WarningDO> list = warningService.getWarningPage(pageReqVO).getList();
|
||||
// 导出 Excel
|
||||
ExcelUtils.write(response, "告警记录.xls", "数据", WarningRespVO.class,
|
||||
BeanUtils.toBean(list, WarningRespVO.class));
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,57 @@
|
||||
package cn.iocoder.yudao.module.parking.controller.admin.warning.vo;
|
||||
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
|
||||
|
||||
@Schema(description = "管理后台 - 告警记录分页 Request VO")
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@ToString(callSuper = true)
|
||||
public class WarningPageReqVO extends PageParam {
|
||||
|
||||
@Schema(description = "场库编号")
|
||||
private String parkNumber;
|
||||
|
||||
@Schema(description = "停车区域 ")
|
||||
private String areaCode;
|
||||
|
||||
@Schema(description = "车位编码")
|
||||
private String portCode;
|
||||
|
||||
@Schema(description = "告警对象 Id", example = "31270")
|
||||
private String objectId;
|
||||
|
||||
@Schema(description = "告警对象编码")
|
||||
private String objectCode;
|
||||
|
||||
@Schema(description = "告警对象名称", example = "芋艿")
|
||||
private String objectName;
|
||||
|
||||
@Schema(description = "告警对象类型", example = "1")
|
||||
private String objectType;
|
||||
|
||||
@Schema(description = "告警时间")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private String[] warningTime;
|
||||
|
||||
@Schema(description = "上报时间")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private String[] reportTime;
|
||||
|
||||
@Schema(description = "告警类型", example = "1")
|
||||
private String warningType;
|
||||
|
||||
@Schema(description = "告警详情")
|
||||
private String warningDetail;
|
||||
|
||||
@Schema(description = "创建时间")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] createTime;
|
||||
|
||||
}
|
@ -0,0 +1,72 @@
|
||||
package cn.iocoder.yudao.module.parking.controller.admin.warning.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
import java.util.*;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
import java.time.LocalDateTime;
|
||||
import com.alibaba.excel.annotation.*;
|
||||
import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat;
|
||||
import cn.iocoder.yudao.framework.excel.core.convert.DictConvert;
|
||||
|
||||
@Schema(description = "管理后台 - 告警记录 Response VO")
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class WarningRespVO {
|
||||
|
||||
@Schema(description = "表自增 id", requiredMode = Schema.RequiredMode.REQUIRED, example = "21274")
|
||||
@ExcelProperty("表自增 id")
|
||||
private String id;
|
||||
|
||||
@Schema(description = "场库编号", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("场库编号")
|
||||
private String parkNumber;
|
||||
|
||||
@Schema(description = "停车区域 ")
|
||||
@ExcelProperty("停车区域 ")
|
||||
private String areaCode;
|
||||
|
||||
@Schema(description = "车位编码")
|
||||
@ExcelProperty("车位编码")
|
||||
private String portCode;
|
||||
|
||||
@Schema(description = "告警对象 Id", example = "31270")
|
||||
@ExcelProperty("告警对象 Id")
|
||||
private String objectId;
|
||||
|
||||
@Schema(description = "告警对象编码", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("告警对象编码")
|
||||
private String objectCode;
|
||||
|
||||
@Schema(description = "告警对象名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
|
||||
@ExcelProperty("告警对象名称")
|
||||
private String objectName;
|
||||
|
||||
@Schema(description = "告警对象类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
@ExcelProperty(value = "告警对象类型", converter = DictConvert.class)
|
||||
@DictFormat("object_type") // TODO 代码优化:建议设置到对应的 DictTypeConstants 枚举类中
|
||||
private String objectType;
|
||||
|
||||
@Schema(description = "告警时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("告警时间")
|
||||
private String warningTime;
|
||||
|
||||
@Schema(description = "上报时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("上报时间")
|
||||
private String reportTime;
|
||||
|
||||
@Schema(description = "告警类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
@ExcelProperty(value = "告警类型", converter = DictConvert.class)
|
||||
@DictFormat("warning_type") // TODO 代码优化:建议设置到对应的 DictTypeConstants 枚举类中
|
||||
private String warningType;
|
||||
|
||||
@Schema(description = "告警详情")
|
||||
@ExcelProperty("告警详情")
|
||||
private String warningDetail;
|
||||
|
||||
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("创建时间")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
}
|
@ -0,0 +1,55 @@
|
||||
package cn.iocoder.yudao.module.parking.controller.admin.warning.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
import javax.validation.constraints.*;
|
||||
|
||||
@Schema(description = "管理后台 - 告警记录新增/修改 Request VO")
|
||||
@Data
|
||||
public class WarningSaveReqVO {
|
||||
|
||||
@Schema(description = "表自增 id", requiredMode = Schema.RequiredMode.REQUIRED, example = "21274")
|
||||
private String id;
|
||||
|
||||
@Schema(description = "场库编号", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotEmpty(message = "场库编号不能为空")
|
||||
private String parkNumber;
|
||||
|
||||
@Schema(description = "停车区域 ")
|
||||
private String areaCode;
|
||||
|
||||
@Schema(description = "车位编码")
|
||||
private String portCode;
|
||||
|
||||
@Schema(description = "告警对象 Id", example = "31270")
|
||||
private String objectId;
|
||||
|
||||
@Schema(description = "告警对象编码", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotEmpty(message = "告警对象编码不能为空")
|
||||
private String objectCode;
|
||||
|
||||
@Schema(description = "告警对象名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
|
||||
@NotEmpty(message = "告警对象名称不能为空")
|
||||
private String objectName;
|
||||
|
||||
@Schema(description = "告警对象类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
@NotEmpty(message = "告警对象类型不能为空")
|
||||
private String objectType;
|
||||
|
||||
@Schema(description = "告警时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotEmpty(message = "告警时间不能为空")
|
||||
private String warningTime;
|
||||
|
||||
@Schema(description = "上报时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotEmpty(message = "上报时间不能为空")
|
||||
private String reportTime;
|
||||
|
||||
@Schema(description = "告警类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
@NotEmpty(message = "告警类型不能为空")
|
||||
private String warningType;
|
||||
|
||||
@Schema(description = "告警详情")
|
||||
private String warningDetail;
|
||||
|
||||
}
|
@ -0,0 +1,109 @@
|
||||
package cn.iocoder.yudao.module.parking.controller.admin.white;
|
||||
|
||||
import cn.iocoder.yudao.module.parking.util.BlueCardResult;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import javax.annotation.Resource;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
|
||||
import javax.validation.constraints.*;
|
||||
import javax.validation.*;
|
||||
import javax.servlet.http.*;
|
||||
import java.util.*;
|
||||
import java.io.IOException;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
||||
|
||||
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
|
||||
|
||||
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
|
||||
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*;
|
||||
|
||||
import cn.iocoder.yudao.module.parking.controller.admin.white.vo.*;
|
||||
import cn.iocoder.yudao.module.parking.dal.dataobject.white.WhiteDO;
|
||||
import cn.iocoder.yudao.module.parking.service.white.WhiteService;
|
||||
|
||||
@Tag(name = "管理后台 - 白名单管理")
|
||||
@RestController
|
||||
@RequestMapping("/parking/white")
|
||||
@Validated
|
||||
public class WhiteController {
|
||||
|
||||
@Resource
|
||||
private WhiteService whiteService;
|
||||
|
||||
|
||||
/**
|
||||
* 同步白名单信息
|
||||
* @param
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("/upWhite")
|
||||
public BlueCardResult upWhite(@RequestBody WhiteUtilDO whiteUtilDO) {
|
||||
|
||||
return whiteService.upWhite(whiteUtilDO);
|
||||
}
|
||||
|
||||
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建白名单管理")
|
||||
@PreAuthorize("@ss.hasPermission('parking:white:create')")
|
||||
public CommonResult<Integer> createWhite(@Valid @RequestBody WhiteSaveReqVO createReqVO) {
|
||||
return success(whiteService.createWhite(createReqVO));
|
||||
}
|
||||
|
||||
@PutMapping("/update")
|
||||
@Operation(summary = "更新白名单管理")
|
||||
@PreAuthorize("@ss.hasPermission('parking:white:update')")
|
||||
public CommonResult<Boolean> updateWhite(@Valid @RequestBody WhiteSaveReqVO updateReqVO) {
|
||||
whiteService.updateWhite(updateReqVO);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@DeleteMapping("/delete")
|
||||
@Operation(summary = "删除白名单管理")
|
||||
@Parameter(name = "id", description = "编号", required = true)
|
||||
@PreAuthorize("@ss.hasPermission('parking:white:delete')")
|
||||
public CommonResult<Boolean> deleteWhite(@RequestParam("id") Integer id) {
|
||||
whiteService.deleteWhite(id);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@GetMapping("/get")
|
||||
@Operation(summary = "获得白名单管理")
|
||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||
@PreAuthorize("@ss.hasPermission('parking:white:query')")
|
||||
public CommonResult<WhiteRespVO> getWhite(@RequestParam("id") Integer id) {
|
||||
WhiteDO white = whiteService.getWhite(id);
|
||||
return success(BeanUtils.toBean(white, WhiteRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "获得白名单管理分页")
|
||||
@PreAuthorize("@ss.hasPermission('parking:white:query')")
|
||||
public CommonResult<PageResult<WhiteRespVO>> getWhitePage(@Valid WhitePageReqVO pageReqVO) {
|
||||
PageResult<WhiteDO> pageResult = whiteService.getWhitePage(pageReqVO);
|
||||
return success(BeanUtils.toBean(pageResult, WhiteRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/export-excel")
|
||||
@Operation(summary = "导出白名单管理 Excel")
|
||||
@PreAuthorize("@ss.hasPermission('parking:white:export')")
|
||||
@ApiAccessLog(operateType = EXPORT)
|
||||
public void exportWhiteExcel(@Valid WhitePageReqVO pageReqVO,
|
||||
HttpServletResponse response) throws IOException {
|
||||
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||
List<WhiteDO> list = whiteService.getWhitePage(pageReqVO).getList();
|
||||
// 导出 Excel
|
||||
ExcelUtils.write(response, "白名单管理.xls", "数据", WhiteRespVO.class,
|
||||
BeanUtils.toBean(list, WhiteRespVO.class));
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,25 @@
|
||||
package cn.iocoder.yudao.module.parking.controller.admin.white.vo;
|
||||
|
||||
import cn.iocoder.yudao.module.parking.dal.dataobject.areasandvalidity.AreasAndValidityDO;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
@Data
|
||||
public class WhiteDatasDO {
|
||||
private String plate;
|
||||
private Integer fixedId;
|
||||
private String chargeType;
|
||||
private String name;
|
||||
private String certificate;
|
||||
private String address;
|
||||
private String phone;
|
||||
private String plateColor;
|
||||
private String start;
|
||||
private String end;
|
||||
private String dept;
|
||||
private String carType;
|
||||
private String memo;
|
||||
private String timeStamp;
|
||||
private String source;
|
||||
private List<AreasAndValidityDO> areasAndValidity;
|
||||
}
|
@ -0,0 +1,49 @@
|
||||
package cn.iocoder.yudao.module.parking.controller.admin.white.vo;
|
||||
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
|
||||
|
||||
@Schema(description = "管理后台 - 白名单管理分页 Request VO")
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@ToString(callSuper = true)
|
||||
public class WhitePageReqVO extends PageParam {
|
||||
|
||||
@Schema(description = "场库编号")
|
||||
private String parkNumber;
|
||||
|
||||
@Schema(description = "车牌号")
|
||||
private String plate;
|
||||
|
||||
@Schema(description = "收费类型", example = "2")
|
||||
private String chargeType;
|
||||
|
||||
@Schema(description = "身份证信息")
|
||||
private String certificate;
|
||||
|
||||
@Schema(description = "生效日期")
|
||||
private String start;
|
||||
|
||||
@Schema(description = "失效日期")
|
||||
private String end;
|
||||
|
||||
@Schema(description = "部门")
|
||||
private String dept;
|
||||
|
||||
@Schema(description = "备注", example = "你说的对")
|
||||
private String memo;
|
||||
|
||||
@Schema(description = "来源")
|
||||
private String source;
|
||||
|
||||
@Schema(description = "创建时间")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] createTime;
|
||||
|
||||
}
|
@ -0,0 +1,63 @@
|
||||
package cn.iocoder.yudao.module.parking.controller.admin.white.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
import java.util.*;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
import java.time.LocalDateTime;
|
||||
import com.alibaba.excel.annotation.*;
|
||||
import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat;
|
||||
import cn.iocoder.yudao.framework.excel.core.convert.DictConvert;
|
||||
|
||||
@Schema(description = "管理后台 - 白名单管理 Response VO")
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class WhiteRespVO {
|
||||
|
||||
@Schema(description = "白名单记录流水号", requiredMode = Schema.RequiredMode.REQUIRED, example = "19660")
|
||||
@ExcelProperty("白名单记录流水号")
|
||||
private Integer fixedId;
|
||||
|
||||
@Schema(description = "场库编号", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("场库编号")
|
||||
private String parkNumber;
|
||||
|
||||
@Schema(description = "车牌号", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("车牌号")
|
||||
private String plate;
|
||||
|
||||
@Schema(description = "收费类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
|
||||
@ExcelProperty(value = "收费类型", converter = DictConvert.class)
|
||||
@DictFormat("charge_type") // TODO 代码优化:建议设置到对应的 DictTypeConstants 枚举类中
|
||||
private String chargeType;
|
||||
|
||||
@Schema(description = "身份证信息", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("身份证信息")
|
||||
private String certificate;
|
||||
|
||||
@Schema(description = "生效日期", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("生效日期")
|
||||
private String start;
|
||||
|
||||
@Schema(description = "失效日期", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("失效日期")
|
||||
private String end;
|
||||
|
||||
@Schema(description = "部门", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("部门")
|
||||
private String dept;
|
||||
|
||||
@Schema(description = "备注", requiredMode = Schema.RequiredMode.REQUIRED, example = "你说的对")
|
||||
@ExcelProperty("备注")
|
||||
private String memo;
|
||||
|
||||
@Schema(description = "来源", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("来源")
|
||||
private String source;
|
||||
|
||||
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("创建时间")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
}
|
@ -0,0 +1,51 @@
|
||||
package cn.iocoder.yudao.module.parking.controller.admin.white.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
import javax.validation.constraints.*;
|
||||
|
||||
@Schema(description = "管理后台 - 白名单管理新增/修改 Request VO")
|
||||
@Data
|
||||
public class WhiteSaveReqVO {
|
||||
|
||||
@Schema(description = "白名单记录流水号", requiredMode = Schema.RequiredMode.REQUIRED, example = "19660")
|
||||
private Integer fixedId;
|
||||
|
||||
@Schema(description = "场库编号", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotEmpty(message = "场库编号不能为空")
|
||||
private String parkNumber;
|
||||
|
||||
@Schema(description = "车牌号", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotEmpty(message = "车牌号不能为空")
|
||||
private String plate;
|
||||
|
||||
@Schema(description = "收费类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
|
||||
@NotEmpty(message = "收费类型不能为空")
|
||||
private String chargeType;
|
||||
|
||||
@Schema(description = "身份证信息", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotEmpty(message = "身份证信息不能为空")
|
||||
private String certificate;
|
||||
|
||||
@Schema(description = "生效日期", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotEmpty(message = "生效日期不能为空")
|
||||
private String start;
|
||||
|
||||
@Schema(description = "失效日期", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotEmpty(message = "失效日期不能为空")
|
||||
private String end;
|
||||
|
||||
@Schema(description = "部门", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotEmpty(message = "部门不能为空")
|
||||
private String dept;
|
||||
|
||||
@Schema(description = "备注", requiredMode = Schema.RequiredMode.REQUIRED, example = "你说的对")
|
||||
@NotEmpty(message = "备注不能为空")
|
||||
private String memo;
|
||||
|
||||
@Schema(description = "来源", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotEmpty(message = "来源不能为空")
|
||||
private String source;
|
||||
|
||||
}
|
@ -0,0 +1,12 @@
|
||||
package cn.iocoder.yudao.module.parking.controller.admin.white.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
@Data
|
||||
public class WhiteUtilDO {
|
||||
private String parkNumber;
|
||||
private String method;
|
||||
private List<WhiteDatasDO> datas;
|
||||
private Integer size;
|
||||
}
|
@ -0,0 +1,44 @@
|
||||
package cn.iocoder.yudao.module.parking.dal.dataobject.areasandvalidity;
|
||||
|
||||
import lombok.*;
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
|
||||
|
||||
/**
|
||||
* 区域时间信息 DO
|
||||
*
|
||||
* @author 芋道源码
|
||||
*/
|
||||
@TableName("areas_and_validity")
|
||||
@KeySequence("areas_and_validity_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@ToString(callSuper = true)
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class AreasAndValidityDO extends BaseDO {
|
||||
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
@TableId
|
||||
private Long id;
|
||||
/**
|
||||
* 区域Id
|
||||
*/
|
||||
private Integer areaId;
|
||||
/**
|
||||
* 生效日期
|
||||
*/
|
||||
private String start;
|
||||
/**
|
||||
* 失效日期
|
||||
*/
|
||||
private String end;
|
||||
/**
|
||||
* 白名单记录流水号
|
||||
*/
|
||||
private Integer fixedId;
|
||||
|
||||
}
|
@ -0,0 +1,51 @@
|
||||
package cn.iocoder.yudao.module.parking.dal.dataobject.carinfo;
|
||||
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.LocalDateTime;
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
|
||||
|
||||
/**
|
||||
* 车辆信息 DO
|
||||
*
|
||||
* @author 芋道源码
|
||||
*/
|
||||
@TableName("car_info")
|
||||
@KeySequence("car_info_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@ToString(callSuper = true)
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class CarInfoDO extends BaseDO {
|
||||
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
@TableId
|
||||
private Long id;
|
||||
/**
|
||||
* 车牌
|
||||
*/
|
||||
private String plate;
|
||||
/**
|
||||
* 车辆颜色
|
||||
*/
|
||||
private String plateColor;
|
||||
/**
|
||||
* 无牌车票号
|
||||
*/
|
||||
private String ticketCode;
|
||||
/**
|
||||
* 车类型
|
||||
*/
|
||||
private String carType;
|
||||
/**
|
||||
* 车牌识别可信度
|
||||
*/
|
||||
private Integer confidence;
|
||||
|
||||
}
|
@ -0,0 +1,43 @@
|
||||
package cn.iocoder.yudao.module.parking.dal.dataobject.userinfo;
|
||||
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.LocalDateTime;
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
|
||||
|
||||
/**
|
||||
* 车主信息 DO
|
||||
*
|
||||
* @author 芋道源码
|
||||
*/
|
||||
@TableName("user_info")
|
||||
@KeySequence("user_info_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@ToString(callSuper = true)
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class UserInfoDO extends BaseDO {
|
||||
|
||||
/**
|
||||
* 证件号码
|
||||
*/
|
||||
// @TableId(type = IdType.INPUT)
|
||||
private String idCard;
|
||||
/**
|
||||
* 车主姓名
|
||||
*/
|
||||
private String userName;
|
||||
/**
|
||||
* 联系电话
|
||||
*/
|
||||
private String phone;
|
||||
/**
|
||||
* 地址
|
||||
*/
|
||||
private String address;
|
||||
|
||||
}
|
@ -0,0 +1,83 @@
|
||||
package cn.iocoder.yudao.module.parking.dal.dataobject.vehiclerenewalrecord;
|
||||
|
||||
import lombok.*;
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 固定车续费记录 DO
|
||||
*
|
||||
* @author 芋道源码
|
||||
*/
|
||||
@TableName("fixed_vehicle_renewal_record")
|
||||
@KeySequence("fixed_vehicle_renewal_record_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@ToString(callSuper = true)
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class VehicleRenewalRecordDO extends BaseDO {
|
||||
|
||||
/**
|
||||
* 续费订单号
|
||||
*/
|
||||
@TableId(type = IdType.INPUT)
|
||||
private String id;
|
||||
/**
|
||||
* 场库编号
|
||||
*/
|
||||
private String parkNumber;
|
||||
/**
|
||||
* 接口名称
|
||||
*/
|
||||
private String method;
|
||||
/**
|
||||
* 车牌
|
||||
*/
|
||||
private String plate;
|
||||
/**
|
||||
* 固定车组名称
|
||||
*/
|
||||
private String carGroupName;
|
||||
/**
|
||||
* 支付时间
|
||||
*/
|
||||
private String payTime;
|
||||
/**
|
||||
* 续费金额
|
||||
*/
|
||||
private String payCharge;
|
||||
/**
|
||||
* 车位号
|
||||
*/
|
||||
private Integer number;
|
||||
/**
|
||||
* 续费时长
|
||||
*/
|
||||
private String feeMonth;
|
||||
/**
|
||||
* 过期日期
|
||||
*/
|
||||
private String end;
|
||||
/**
|
||||
* 车主名称
|
||||
*/
|
||||
private String carOwnerName;
|
||||
/**
|
||||
* 支付类型
|
||||
*
|
||||
* 枚举 {@link TODO pay_type 对应的类}
|
||||
*/
|
||||
private String payType;
|
||||
/**
|
||||
* 支付流水号
|
||||
*/
|
||||
private String orderNo;
|
||||
|
||||
|
||||
private List<VehicleRenewalRecordDO> datas;
|
||||
|
||||
}
|
@ -0,0 +1,81 @@
|
||||
package cn.iocoder.yudao.module.parking.dal.dataobject.warning;
|
||||
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.LocalDateTime;
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
|
||||
|
||||
/**
|
||||
* 告警记录 DO
|
||||
*
|
||||
* @author 芋道源码
|
||||
*/
|
||||
@TableName("device_warning")
|
||||
@KeySequence("device_warning_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@ToString(callSuper = true)
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class WarningDO extends BaseDO {
|
||||
|
||||
/**
|
||||
* 表自增 id
|
||||
*/
|
||||
@TableId(type = IdType.INPUT)
|
||||
private String id;
|
||||
/**
|
||||
* 场库编号
|
||||
*/
|
||||
private String parkNumber;
|
||||
/**
|
||||
* 停车区域
|
||||
*/
|
||||
private String areaCode;
|
||||
/**
|
||||
* 车位编码
|
||||
*/
|
||||
private String portCode;
|
||||
/**
|
||||
* 告警对象 Id
|
||||
*/
|
||||
private String objectId;
|
||||
/**
|
||||
* 告警对象编码
|
||||
*/
|
||||
private String objectCode;
|
||||
/**
|
||||
* 告警对象名称
|
||||
*/
|
||||
private String objectName;
|
||||
/**
|
||||
* 告警对象类型
|
||||
*
|
||||
* 枚举 {@link TODO object_type 对应的类}
|
||||
*/
|
||||
private String objectType;
|
||||
/**
|
||||
* 告警时间
|
||||
*/
|
||||
private String warningTime;
|
||||
/**
|
||||
* 上报时间
|
||||
*/
|
||||
private String reportTime;
|
||||
/**
|
||||
* 告警类型
|
||||
*
|
||||
* 枚举 {@link TODO warning_type 对应的类}
|
||||
*/
|
||||
private String warningType;
|
||||
/**
|
||||
* 告警详情
|
||||
*/
|
||||
private String warningDetail;
|
||||
|
||||
private List<WarningDO> datas;
|
||||
|
||||
}
|
@ -0,0 +1,69 @@
|
||||
package cn.iocoder.yudao.module.parking.dal.dataobject.white;
|
||||
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.LocalDateTime;
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
|
||||
|
||||
/**
|
||||
* 白名单管理 DO
|
||||
*
|
||||
* @author 芋道源码
|
||||
*/
|
||||
@TableName("white")
|
||||
@KeySequence("white_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@ToString(callSuper = true)
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class WhiteDO extends BaseDO {
|
||||
|
||||
/**
|
||||
* 白名单记录流水号
|
||||
*/
|
||||
@TableId
|
||||
private Integer fixedId;
|
||||
/**
|
||||
* 场库编号
|
||||
*/
|
||||
private String parkNumber;
|
||||
/**
|
||||
* 车牌号
|
||||
*/
|
||||
private String plate;
|
||||
/**
|
||||
* 收费类型
|
||||
*
|
||||
* 枚举 {@link TODO charge_type 对应的类}
|
||||
*/
|
||||
private String chargeType;
|
||||
/**
|
||||
* 身份证信息
|
||||
*/
|
||||
private String certificate;
|
||||
/**
|
||||
* 生效日期
|
||||
*/
|
||||
private String start;
|
||||
/**
|
||||
* 失效日期
|
||||
*/
|
||||
private String end;
|
||||
/**
|
||||
* 部门
|
||||
*/
|
||||
private String dept;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String memo;
|
||||
/**
|
||||
* 来源
|
||||
*/
|
||||
private String source;
|
||||
|
||||
}
|
@ -0,0 +1,17 @@
|
||||
package cn.iocoder.yudao.module.parking.dal.mysql.areasandvalidity;
|
||||
|
||||
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
|
||||
import cn.iocoder.yudao.module.parking.dal.dataobject.areasandvalidity.AreasAndValidityDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
|
||||
/**
|
||||
* 区域时间信息 Mapper
|
||||
*
|
||||
* @author 芋道源码
|
||||
*/
|
||||
@Mapper
|
||||
public interface AreasAndValidityMapper extends BaseMapperX<AreasAndValidityDO> {
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,18 @@
|
||||
package cn.iocoder.yudao.module.parking.dal.mysql.carinfo;
|
||||
|
||||
|
||||
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
|
||||
import cn.iocoder.yudao.module.parking.dal.dataobject.carinfo.CarInfoDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
|
||||
/**
|
||||
* 车辆信息 Mapper
|
||||
*
|
||||
* @author 芋道源码
|
||||
*/
|
||||
@Mapper
|
||||
public interface CarInfoMapper extends BaseMapperX<CarInfoDO> {
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,16 @@
|
||||
package cn.iocoder.yudao.module.parking.dal.mysql.userinfo;
|
||||
|
||||
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
|
||||
import cn.iocoder.yudao.module.parking.dal.dataobject.userinfo.UserInfoDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
* 车主信息 Mapper
|
||||
*
|
||||
* @author 芋道源码
|
||||
*/
|
||||
@Mapper
|
||||
public interface UserInfoMapper extends BaseMapperX<UserInfoDO> {
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,38 @@
|
||||
package cn.iocoder.yudao.module.parking.dal.mysql.vehiclerenewalrecord;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
|
||||
import cn.iocoder.yudao.module.parking.dal.dataobject.vehiclerenewalrecord.VehicleRenewalRecordDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import cn.iocoder.yudao.module.parking.controller.admin.vehiclerenewalrecord.vo.*;
|
||||
|
||||
/**
|
||||
* 固定车续费记录 Mapper
|
||||
*
|
||||
* @author 芋道源码
|
||||
*/
|
||||
@Mapper
|
||||
public interface VehicleRenewalRecordMapper extends BaseMapperX<VehicleRenewalRecordDO> {
|
||||
|
||||
default PageResult<VehicleRenewalRecordDO> selectPage(VehicleRenewalRecordPageReqVO reqVO) {
|
||||
return selectPage(reqVO, new LambdaQueryWrapperX<VehicleRenewalRecordDO>()
|
||||
.eqIfPresent(VehicleRenewalRecordDO::getParkNumber, reqVO.getParkNumber())
|
||||
.eqIfPresent(VehicleRenewalRecordDO::getMethod, reqVO.getMethod())
|
||||
.eqIfPresent(VehicleRenewalRecordDO::getPlate, reqVO.getPlate())
|
||||
.likeIfPresent(VehicleRenewalRecordDO::getCarGroupName, reqVO.getCarGroupName())
|
||||
.betweenIfPresent(VehicleRenewalRecordDO::getPayTime, reqVO.getPayTime())
|
||||
.eqIfPresent(VehicleRenewalRecordDO::getPayCharge, reqVO.getPayCharge())
|
||||
.eqIfPresent(VehicleRenewalRecordDO::getNumber, reqVO.getNumber())
|
||||
.eqIfPresent(VehicleRenewalRecordDO::getFeeMonth, reqVO.getFeeMonth())
|
||||
.eqIfPresent(VehicleRenewalRecordDO::getEnd, reqVO.getEnd())
|
||||
.likeIfPresent(VehicleRenewalRecordDO::getCarOwnerName, reqVO.getCarOwnerName())
|
||||
.eqIfPresent(VehicleRenewalRecordDO::getPayType, reqVO.getPayType())
|
||||
.eqIfPresent(VehicleRenewalRecordDO::getOrderNo, reqVO.getOrderNo())
|
||||
.betweenIfPresent(VehicleRenewalRecordDO::getCreateTime, reqVO.getCreateTime())
|
||||
.orderByDesc(VehicleRenewalRecordDO::getId));
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,37 @@
|
||||
package cn.iocoder.yudao.module.parking.dal.mysql.warning;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
|
||||
import cn.iocoder.yudao.module.parking.dal.dataobject.warning.WarningDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import cn.iocoder.yudao.module.parking.controller.admin.warning.vo.*;
|
||||
|
||||
/**
|
||||
* 告警记录 Mapper
|
||||
*
|
||||
* @author 芋道源码
|
||||
*/
|
||||
@Mapper
|
||||
public interface WarningMapper extends BaseMapperX<WarningDO> {
|
||||
|
||||
default PageResult<WarningDO> selectPage(WarningPageReqVO reqVO) {
|
||||
return selectPage(reqVO, new LambdaQueryWrapperX<WarningDO>()
|
||||
.eqIfPresent(WarningDO::getParkNumber, reqVO.getParkNumber())
|
||||
.eqIfPresent(WarningDO::getAreaCode, reqVO.getAreaCode())
|
||||
.eqIfPresent(WarningDO::getPortCode, reqVO.getPortCode())
|
||||
.eqIfPresent(WarningDO::getObjectId, reqVO.getObjectId())
|
||||
.eqIfPresent(WarningDO::getObjectCode, reqVO.getObjectCode())
|
||||
.likeIfPresent(WarningDO::getObjectName, reqVO.getObjectName())
|
||||
.eqIfPresent(WarningDO::getObjectType, reqVO.getObjectType())
|
||||
.betweenIfPresent(WarningDO::getWarningTime, reqVO.getWarningTime())
|
||||
.betweenIfPresent(WarningDO::getReportTime, reqVO.getReportTime())
|
||||
.eqIfPresent(WarningDO::getWarningType, reqVO.getWarningType())
|
||||
.eqIfPresent(WarningDO::getWarningDetail, reqVO.getWarningDetail())
|
||||
.betweenIfPresent(WarningDO::getCreateTime, reqVO.getCreateTime())
|
||||
.orderByDesc(WarningDO::getId));
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,35 @@
|
||||
package cn.iocoder.yudao.module.parking.dal.mysql.white;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
|
||||
import cn.iocoder.yudao.module.parking.dal.dataobject.white.WhiteDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import cn.iocoder.yudao.module.parking.controller.admin.white.vo.*;
|
||||
|
||||
/**
|
||||
* 白名单管理 Mapper
|
||||
*
|
||||
* @author 芋道源码
|
||||
*/
|
||||
@Mapper
|
||||
public interface WhiteMapper extends BaseMapperX<WhiteDO> {
|
||||
|
||||
default PageResult<WhiteDO> selectPage(WhitePageReqVO reqVO) {
|
||||
return selectPage(reqVO, new LambdaQueryWrapperX<WhiteDO>()
|
||||
.eqIfPresent(WhiteDO::getParkNumber, reqVO.getParkNumber())
|
||||
.eqIfPresent(WhiteDO::getPlate, reqVO.getPlate())
|
||||
.eqIfPresent(WhiteDO::getChargeType, reqVO.getChargeType())
|
||||
.eqIfPresent(WhiteDO::getCertificate, reqVO.getCertificate())
|
||||
.eqIfPresent(WhiteDO::getStart, reqVO.getStart())
|
||||
.eqIfPresent(WhiteDO::getEnd, reqVO.getEnd())
|
||||
.eqIfPresent(WhiteDO::getDept, reqVO.getDept())
|
||||
.eqIfPresent(WhiteDO::getMemo, reqVO.getMemo())
|
||||
.eqIfPresent(WhiteDO::getSource, reqVO.getSource())
|
||||
.betweenIfPresent(WhiteDO::getCreateTime, reqVO.getCreateTime())
|
||||
.orderByDesc(WhiteDO::getFixedId));
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,12 @@
|
||||
package cn.iocoder.yudao.module.parking.service.areasandvalidity;
|
||||
|
||||
|
||||
/**
|
||||
* 区域时间信息 Service 接口
|
||||
*
|
||||
* @author 芋道源码
|
||||
*/
|
||||
public interface AreasAndValidityService {
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,22 @@
|
||||
package cn.iocoder.yudao.module.parking.service.areasandvalidity;
|
||||
|
||||
import cn.iocoder.yudao.module.parking.dal.mysql.areasandvalidity.AreasAndValidityMapper;
|
||||
import org.springframework.stereotype.Service;
|
||||
import javax.annotation.Resource;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
/**
|
||||
* 区域时间信息 Service 实现类
|
||||
*
|
||||
* @author 芋道源码
|
||||
*/
|
||||
@Service
|
||||
@Validated
|
||||
public class AreasAndValidityServiceImpl implements AreasAndValidityService {
|
||||
|
||||
@Resource
|
||||
private AreasAndValidityMapper andValidityMapper;
|
||||
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,12 @@
|
||||
package cn.iocoder.yudao.module.parking.service.carinfo;
|
||||
|
||||
|
||||
/**
|
||||
* 车辆信息 Service 接口
|
||||
*
|
||||
* @author 芋道源码
|
||||
*/
|
||||
public interface CarInfoService {
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,22 @@
|
||||
package cn.iocoder.yudao.module.parking.service.carinfo;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
import javax.annotation.Resource;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import cn.iocoder.yudao.module.parking.dal.mysql.carinfo.CarInfoMapper;
|
||||
|
||||
|
||||
/**
|
||||
* 车辆信息 Service 实现类
|
||||
*
|
||||
* @author 芋道源码
|
||||
*/
|
||||
@Service
|
||||
@Validated
|
||||
public class CarInfoServiceImpl implements CarInfoService {
|
||||
|
||||
@Resource
|
||||
private CarInfoMapper carInfoMapper;
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,13 @@
|
||||
package cn.iocoder.yudao.module.parking.service.userinfo;
|
||||
|
||||
|
||||
/**
|
||||
* 车主信息 Service 接口
|
||||
*
|
||||
* @author 芋道源码
|
||||
*/
|
||||
public interface UserInfoService {
|
||||
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,22 @@
|
||||
package cn.iocoder.yudao.module.parking.service.userinfo;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
import javax.annotation.Resource;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import cn.iocoder.yudao.module.parking.dal.mysql.userinfo.UserInfoMapper;
|
||||
|
||||
|
||||
/**
|
||||
* 车主信息 Service 实现类
|
||||
*
|
||||
* @author 芋道源码
|
||||
*/
|
||||
@Service
|
||||
@Validated
|
||||
public class UserInfoServiceImpl implements UserInfoService {
|
||||
|
||||
@Resource
|
||||
private UserInfoMapper userInfoMapper;
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,61 @@
|
||||
package cn.iocoder.yudao.module.parking.service.vehiclerenewalrecord;
|
||||
|
||||
import java.util.*;
|
||||
import javax.validation.*;
|
||||
import cn.iocoder.yudao.module.parking.controller.admin.vehiclerenewalrecord.vo.*;
|
||||
import cn.iocoder.yudao.module.parking.dal.dataobject.vehiclerenewalrecord.VehicleRenewalRecordDO;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import cn.iocoder.yudao.module.parking.util.BlueCardResult;
|
||||
|
||||
/**
|
||||
* 固定车续费记录 Service 接口
|
||||
*
|
||||
* @author 芋道源码
|
||||
*/
|
||||
public interface VehicleRenewalRecordService {
|
||||
|
||||
/**
|
||||
* 创建固定车续费记录
|
||||
*
|
||||
* @param createReqVO 创建信息
|
||||
* @return 编号
|
||||
*/
|
||||
String createVehicleRenewalRecord(@Valid VehicleRenewalRecordSaveReqVO createReqVO);
|
||||
|
||||
/**
|
||||
* 更新固定车续费记录
|
||||
*
|
||||
* @param updateReqVO 更新信息
|
||||
*/
|
||||
void updateVehicleRenewalRecord(@Valid VehicleRenewalRecordSaveReqVO updateReqVO);
|
||||
|
||||
/**
|
||||
* 删除固定车续费记录
|
||||
*
|
||||
* @param id 编号
|
||||
*/
|
||||
void deleteVehicleRenewalRecord(String id);
|
||||
|
||||
/**
|
||||
* 获得固定车续费记录
|
||||
*
|
||||
* @param id 编号
|
||||
* @return 固定车续费记录
|
||||
*/
|
||||
VehicleRenewalRecordDO getVehicleRenewalRecord(String id);
|
||||
|
||||
/**
|
||||
* 获得固定车续费记录分页
|
||||
*
|
||||
* @param pageReqVO 分页查询
|
||||
* @return 固定车续费记录分页
|
||||
*/
|
||||
PageResult<VehicleRenewalRecordDO> getVehicleRenewalRecordPage(VehicleRenewalRecordPageReqVO pageReqVO);
|
||||
|
||||
/**
|
||||
* 固定车续费记录上传
|
||||
*/
|
||||
BlueCardResult UpRenewalRecord(VehicleRenewalRecordDO vehicleRenewalRecordDO);
|
||||
|
||||
}
|
@ -0,0 +1,84 @@
|
||||
package cn.iocoder.yudao.module.parking.service.vehiclerenewalrecord;
|
||||
|
||||
import cn.iocoder.yudao.module.parking.util.BlueCardResult;
|
||||
import org.springframework.stereotype.Service;
|
||||
import javax.annotation.Resource;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.*;
|
||||
import cn.iocoder.yudao.module.parking.controller.admin.vehiclerenewalrecord.vo.*;
|
||||
import cn.iocoder.yudao.module.parking.dal.dataobject.vehiclerenewalrecord.VehicleRenewalRecordDO;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
|
||||
import cn.iocoder.yudao.module.parking.dal.mysql.vehiclerenewalrecord.VehicleRenewalRecordMapper;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||
import static cn.iocoder.yudao.module.parking.enums.ErrorCodeConstants.*;
|
||||
|
||||
/**
|
||||
* 固定车续费记录 Service 实现类
|
||||
*
|
||||
* @author 芋道源码
|
||||
*/
|
||||
@Service
|
||||
@Validated
|
||||
public class VehicleRenewalRecordServiceImpl implements VehicleRenewalRecordService {
|
||||
|
||||
@Resource
|
||||
private VehicleRenewalRecordMapper vehicleRenewalRecordMapper;
|
||||
|
||||
@Override
|
||||
public String createVehicleRenewalRecord(VehicleRenewalRecordSaveReqVO createReqVO) {
|
||||
// 插入
|
||||
VehicleRenewalRecordDO vehicleRenewalRecord = BeanUtils.toBean(createReqVO, VehicleRenewalRecordDO.class);
|
||||
vehicleRenewalRecordMapper.insert(vehicleRenewalRecord);
|
||||
// 返回
|
||||
return vehicleRenewalRecord.getId();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateVehicleRenewalRecord(VehicleRenewalRecordSaveReqVO updateReqVO) {
|
||||
// 校验存在
|
||||
validateVehicleRenewalRecordExists(updateReqVO.getId());
|
||||
// 更新
|
||||
VehicleRenewalRecordDO updateObj = BeanUtils.toBean(updateReqVO, VehicleRenewalRecordDO.class);
|
||||
vehicleRenewalRecordMapper.updateById(updateObj);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteVehicleRenewalRecord(String id) {
|
||||
// 校验存在
|
||||
validateVehicleRenewalRecordExists(id);
|
||||
// 删除
|
||||
vehicleRenewalRecordMapper.deleteById(id);
|
||||
}
|
||||
|
||||
private void validateVehicleRenewalRecordExists(String id) {
|
||||
if (vehicleRenewalRecordMapper.selectById(id) == null) {
|
||||
throw exception(VEHICLE_RENEWAL_RECORD_NOT_EXISTS);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public VehicleRenewalRecordDO getVehicleRenewalRecord(String id) {
|
||||
return vehicleRenewalRecordMapper.selectById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResult<VehicleRenewalRecordDO> getVehicleRenewalRecordPage(VehicleRenewalRecordPageReqVO pageReqVO) {
|
||||
return vehicleRenewalRecordMapper.selectPage(pageReqVO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public BlueCardResult UpRenewalRecord(VehicleRenewalRecordDO vehicleRenewalRecordDO) {
|
||||
int insert = vehicleRenewalRecordMapper.insert(vehicleRenewalRecordDO);
|
||||
if (insert > 0){
|
||||
return BlueCardResult.success();
|
||||
}
|
||||
return BlueCardResult.error("记录上传错误");
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,63 @@
|
||||
package cn.iocoder.yudao.module.parking.service.warning;
|
||||
|
||||
import java.util.*;
|
||||
import javax.validation.*;
|
||||
import cn.iocoder.yudao.module.parking.controller.admin.warning.vo.*;
|
||||
import cn.iocoder.yudao.module.parking.dal.dataobject.warning.WarningDO;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import cn.iocoder.yudao.module.parking.util.BlueCardResult;
|
||||
|
||||
/**
|
||||
* 告警记录 Service 接口
|
||||
*
|
||||
* @author 芋道源码
|
||||
*/
|
||||
public interface WarningService {
|
||||
|
||||
/**
|
||||
* 创建告警记录
|
||||
*
|
||||
* @param createReqVO 创建信息
|
||||
* @return 编号
|
||||
*/
|
||||
String createWarning(@Valid WarningSaveReqVO createReqVO);
|
||||
|
||||
/**
|
||||
* 更新告警记录
|
||||
*
|
||||
* @param updateReqVO 更新信息
|
||||
*/
|
||||
void updateWarning(@Valid WarningSaveReqVO updateReqVO);
|
||||
|
||||
/**
|
||||
* 删除告警记录
|
||||
*
|
||||
* @param id 编号
|
||||
*/
|
||||
void deleteWarning(String id);
|
||||
|
||||
/**
|
||||
* 获得告警记录
|
||||
*
|
||||
* @param id 编号
|
||||
* @return 告警记录
|
||||
*/
|
||||
WarningDO getWarning(String id);
|
||||
|
||||
/**
|
||||
* 获得告警记录分页
|
||||
*
|
||||
* @param pageReqVO 分页查询
|
||||
* @return 告警记录分页
|
||||
*/
|
||||
PageResult<WarningDO> getWarningPage(WarningPageReqVO pageReqVO);
|
||||
|
||||
/**
|
||||
* 设备告警信息上报
|
||||
* @param warningDO
|
||||
* @return
|
||||
*/
|
||||
BlueCardResult upWarning(WarningDO warningDO);
|
||||
|
||||
}
|
@ -0,0 +1,84 @@
|
||||
package cn.iocoder.yudao.module.parking.service.warning;
|
||||
|
||||
import cn.iocoder.yudao.module.parking.util.BlueCardResult;
|
||||
import org.springframework.stereotype.Service;
|
||||
import javax.annotation.Resource;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.*;
|
||||
import cn.iocoder.yudao.module.parking.controller.admin.warning.vo.*;
|
||||
import cn.iocoder.yudao.module.parking.dal.dataobject.warning.WarningDO;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
|
||||
import cn.iocoder.yudao.module.parking.dal.mysql.warning.WarningMapper;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||
import static cn.iocoder.yudao.module.parking.enums.ErrorCodeConstants.*;
|
||||
|
||||
/**
|
||||
* 告警记录 Service 实现类
|
||||
*
|
||||
* @author 芋道源码
|
||||
*/
|
||||
@Service
|
||||
@Validated
|
||||
public class WarningServiceImpl implements WarningService {
|
||||
|
||||
@Resource
|
||||
private WarningMapper warningMapper;
|
||||
|
||||
@Override
|
||||
public String createWarning(WarningSaveReqVO createReqVO) {
|
||||
// 插入
|
||||
WarningDO warning = BeanUtils.toBean(createReqVO, WarningDO.class);
|
||||
warningMapper.insert(warning);
|
||||
// 返回
|
||||
return warning.getId();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateWarning(WarningSaveReqVO updateReqVO) {
|
||||
// 校验存在
|
||||
validateWarningExists(updateReqVO.getId());
|
||||
// 更新
|
||||
WarningDO updateObj = BeanUtils.toBean(updateReqVO, WarningDO.class);
|
||||
warningMapper.updateById(updateObj);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteWarning(String id) {
|
||||
// 校验存在
|
||||
validateWarningExists(id);
|
||||
// 删除
|
||||
warningMapper.deleteById(id);
|
||||
}
|
||||
|
||||
private void validateWarningExists(String id) {
|
||||
if (warningMapper.selectById(id) == null) {
|
||||
throw exception(WARNING_NOT_EXISTS);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public WarningDO getWarning(String id) {
|
||||
return warningMapper.selectById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResult<WarningDO> getWarningPage(WarningPageReqVO pageReqVO) {
|
||||
return warningMapper.selectPage(pageReqVO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public BlueCardResult upWarning(WarningDO warningDO) {
|
||||
int insert = warningMapper.insert(warningDO);
|
||||
if (insert > 0){
|
||||
return BlueCardResult.success();
|
||||
}
|
||||
return BlueCardResult.error("上传错误");
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,59 @@
|
||||
package cn.iocoder.yudao.module.parking.service.white;
|
||||
|
||||
import java.util.*;
|
||||
import javax.validation.*;
|
||||
import cn.iocoder.yudao.module.parking.controller.admin.white.vo.*;
|
||||
import cn.iocoder.yudao.module.parking.dal.dataobject.white.WhiteDO;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import cn.iocoder.yudao.module.parking.util.BlueCardResult;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
|
||||
/**
|
||||
* 白名单管理 Service 接口
|
||||
*
|
||||
* @author 芋道源码
|
||||
*/
|
||||
public interface WhiteService {
|
||||
|
||||
/**
|
||||
* 创建白名单管理
|
||||
*
|
||||
* @param createReqVO 创建信息
|
||||
* @return 编号
|
||||
*/
|
||||
Integer createWhite(@Valid WhiteSaveReqVO createReqVO);
|
||||
|
||||
/**
|
||||
* 更新白名单管理
|
||||
*
|
||||
* @param updateReqVO 更新信息
|
||||
*/
|
||||
void updateWhite(@Valid WhiteSaveReqVO updateReqVO);
|
||||
|
||||
/**
|
||||
* 删除白名单管理
|
||||
*
|
||||
* @param id 编号
|
||||
*/
|
||||
void deleteWhite(Integer id);
|
||||
|
||||
/**
|
||||
* 获得白名单管理
|
||||
*
|
||||
* @param id 编号
|
||||
* @return 白名单管理
|
||||
*/
|
||||
WhiteDO getWhite(Integer id);
|
||||
|
||||
/**
|
||||
* 获得白名单管理分页
|
||||
*
|
||||
* @param pageReqVO 分页查询
|
||||
* @return 白名单管理分页
|
||||
*/
|
||||
PageResult<WhiteDO> getWhitePage(WhitePageReqVO pageReqVO);
|
||||
|
||||
BlueCardResult upWhite(WhiteUtilDO whiteUtilDO);
|
||||
|
||||
}
|
@ -0,0 +1,144 @@
|
||||
package cn.iocoder.yudao.module.parking.service.white;
|
||||
|
||||
import cn.iocoder.yudao.module.parking.dal.dataobject.areasandvalidity.AreasAndValidityDO;
|
||||
import cn.iocoder.yudao.module.parking.dal.dataobject.carinfo.CarInfoDO;
|
||||
import cn.iocoder.yudao.module.parking.dal.dataobject.userinfo.UserInfoDO;
|
||||
import cn.iocoder.yudao.module.parking.dal.mysql.areasandvalidity.AreasAndValidityMapper;
|
||||
import cn.iocoder.yudao.module.parking.dal.mysql.carinfo.CarInfoMapper;
|
||||
import cn.iocoder.yudao.module.parking.dal.mysql.userinfo.UserInfoMapper;
|
||||
import cn.iocoder.yudao.module.parking.util.BlueCardResult;
|
||||
import org.springframework.stereotype.Service;
|
||||
import javax.annotation.Resource;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.*;
|
||||
import cn.iocoder.yudao.module.parking.controller.admin.white.vo.*;
|
||||
import cn.iocoder.yudao.module.parking.dal.dataobject.white.WhiteDO;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
|
||||
import cn.iocoder.yudao.module.parking.dal.mysql.white.WhiteMapper;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||
import static cn.iocoder.yudao.module.parking.enums.ErrorCodeConstants.*;
|
||||
|
||||
/**
|
||||
* 白名单管理 Service 实现类
|
||||
*
|
||||
* @author 芋道源码
|
||||
*/
|
||||
@Service
|
||||
@Validated
|
||||
public class WhiteServiceImpl implements WhiteService {
|
||||
|
||||
@Resource
|
||||
private WhiteMapper whiteMapper;
|
||||
|
||||
@Resource
|
||||
private UserInfoMapper userInfoMapper;
|
||||
|
||||
@Resource
|
||||
private CarInfoMapper carInfoMapper;
|
||||
|
||||
@Resource
|
||||
private AreasAndValidityMapper areasAndValidityMapper;
|
||||
|
||||
@Override
|
||||
public Integer createWhite(WhiteSaveReqVO createReqVO) {
|
||||
// 插入
|
||||
WhiteDO white = BeanUtils.toBean(createReqVO, WhiteDO.class);
|
||||
whiteMapper.insert(white);
|
||||
// 返回
|
||||
return white.getFixedId();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateWhite(WhiteSaveReqVO updateReqVO) {
|
||||
// 校验存在
|
||||
validateWhiteExists(updateReqVO.getFixedId());
|
||||
// 更新
|
||||
WhiteDO updateObj = BeanUtils.toBean(updateReqVO, WhiteDO.class);
|
||||
whiteMapper.updateById(updateObj);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteWhite(Integer id) {
|
||||
// 校验存在
|
||||
validateWhiteExists(id);
|
||||
// 删除
|
||||
whiteMapper.deleteById(id);
|
||||
}
|
||||
|
||||
private void validateWhiteExists(Integer id) {
|
||||
if (whiteMapper.selectById(id) == null) {
|
||||
throw exception(WHITE_NOT_EXISTS);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public WhiteDO getWhite(Integer id) {
|
||||
return whiteMapper.selectById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResult<WhiteDO> getWhitePage(WhitePageReqVO pageReqVO) {
|
||||
return whiteMapper.selectPage(pageReqVO);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Transactional
|
||||
@Override
|
||||
public BlueCardResult upWhite(WhiteUtilDO whiteUtilDO) {
|
||||
for (int i = 0; i < whiteUtilDO.getDatas().size() ; i++) {
|
||||
WhiteDatasDO whiteDatasDO = whiteUtilDO.getDatas().get(i);
|
||||
|
||||
WhiteDO whiteDO = new WhiteDO();
|
||||
whiteDO.setFixedId(whiteDatasDO.getFixedId());
|
||||
whiteDO.setParkNumber(whiteUtilDO.getParkNumber());
|
||||
whiteDO.setPlate(whiteDatasDO.getPlate());
|
||||
whiteDO.setChargeType(whiteDatasDO.getChargeType());
|
||||
whiteDO.setCertificate(whiteDatasDO.getCertificate());
|
||||
whiteDO.setStart(whiteDatasDO.getStart());
|
||||
whiteDO.setEnd(whiteDatasDO.getEnd());
|
||||
whiteDO.setDept(whiteDatasDO.getDept());
|
||||
whiteDO.setMemo(whiteDatasDO.getMemo());
|
||||
whiteDO.setSource(whiteDatasDO.getSource());
|
||||
WhiteDO whiteDO1 = whiteMapper.selectOne("fixed_id", whiteDatasDO.getFixedId());
|
||||
if (whiteDO1 != null){
|
||||
whiteMapper.updateById(whiteDO);
|
||||
}else {
|
||||
whiteMapper.insert(whiteDO);
|
||||
}
|
||||
|
||||
|
||||
UserInfoDO userInfoDO = new UserInfoDO();
|
||||
userInfoDO.setIdCard(whiteDatasDO.getCertificate());
|
||||
userInfoDO.setUserName(whiteDatasDO.getName());
|
||||
userInfoDO.setPhone(whiteDatasDO.getPhone());
|
||||
userInfoDO.setAddress(whiteDatasDO.getAddress());
|
||||
userInfoMapper.insert(userInfoDO);
|
||||
|
||||
CarInfoDO carInfoDO = new CarInfoDO();
|
||||
carInfoDO.setPlate(whiteDatasDO.getPlate());
|
||||
carInfoDO.setPlateColor(whiteDatasDO.getPlateColor());
|
||||
// carInfoDO.setTicketCode(whiteDatasDO.get)
|
||||
carInfoDO.setCarType(whiteDatasDO.getCarType());
|
||||
// carInfoDO.setConfidence(whiteDatasDO.ge)
|
||||
carInfoMapper.insert(carInfoDO);
|
||||
|
||||
AreasAndValidityDO areasAndValidityDO = whiteDatasDO.getAreasAndValidity().get(0);
|
||||
AreasAndValidityDO areasAndValidityDOs = new AreasAndValidityDO();
|
||||
areasAndValidityDOs.setAreaId(areasAndValidityDO.getAreaId());
|
||||
areasAndValidityDOs.setStart(areasAndValidityDO.getStart());
|
||||
areasAndValidityDOs.setEnd(areasAndValidityDO.getEnd());
|
||||
areasAndValidityDOs.setFixedId(whiteDatasDO.getFixedId());
|
||||
areasAndValidityMapper.insert(areasAndValidityDOs);
|
||||
}
|
||||
|
||||
return BlueCardResult.success();
|
||||
}
|
||||
|
||||
}
|
@ -8,7 +8,6 @@
|
||||
<version>${revision}</version> <!-- 1. 修改 version 为 ${revision} -->
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>cn.iocoder.cloud</groupId>
|
||||
|
||||
<artifactId>ludu-module-parking</artifactId>
|
||||
<packaging>pom</packaging> <!-- 2. 新增 packaging 为 pom -->
|
||||
|
@ -7,7 +7,6 @@ import cn.iocoder.yudao.module.ticket.dal.dataobject.saledata.SaleData;
|
||||
import cn.iocoder.yudao.module.ticket.dal.mongodb.saledata.SaleDataRepository;
|
||||
import com.baomidou.dynamic.datasource.annotation.Slave;
|
||||
import com.mongodb.MongoException;
|
||||
import kotlin.jvm.internal.Lambda;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import javax.annotation.Resource;
|
||||
|
Loading…
Reference in New Issue
Block a user