diff --git a/web-adapter/src/main/java/com/zcloud/primeport/web/VehicleMessageController.java b/web-adapter/src/main/java/com/zcloud/primeport/web/VehicleMessageController.java new file mode 100644 index 0000000..0731aa4 --- /dev/null +++ b/web-adapter/src/main/java/com/zcloud/primeport/web/VehicleMessageController.java @@ -0,0 +1,83 @@ +package com.zcloud.primeport.web; + +import com.alibaba.cola.dto.MultiResponse; +import com.alibaba.cola.dto.PageResponse; +import com.alibaba.cola.dto.Response; +import com.alibaba.cola.dto.SingleResponse; +import com.jjb.saas.framework.auth.model.SSOUser; +import com.jjb.saas.framework.auth.utils.AuthContext; +import com.zcloud.primeport.api.VehicleMessageServiceI; +import com.zcloud.primeport.dto.VehicleMessageAddCmd; +import com.zcloud.primeport.dto.VehicleMessagePageQry; +import com.zcloud.primeport.dto.VehicleMessageUpdateCmd; +import com.zcloud.primeport.dto.clientobject.VehicleMessageCO; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.ArrayList; +/** +* web-adapter +* @Author guoyuepeng +* @Date 2025-11-15 11:41:21 +*/ + +/** + * 车辆管理,相关方车辆.分子公司车辆.监管端车辆.临时访客车辆信息. + */ +@Api(tags = "车辆管理") +@RequestMapping("/${application.gateway}/vehicleMessage") +@RestController +@AllArgsConstructor +public class VehicleMessageController { + private final VehicleMessageServiceI vehicleMessageService; + + @ApiOperation("新增") + @PostMapping("/save") + public SingleResponse add(@Validated @RequestBody VehicleMessageAddCmd cmd) { + SSOUser ssoUser = AuthContext.getCurrentUser(); + return vehicleMessageService.add(cmd); + } + + @ApiOperation("分页") + @PostMapping("/list") + public PageResponse page(@RequestBody VehicleMessagePageQry qry) { + return vehicleMessageService.listPage(qry); + } + + @ApiOperation("所有数据") + @GetMapping("/listAll") + public MultiResponse listAll() { + return MultiResponse.of(new ArrayList()); + } + + @ApiOperation("详情") + @GetMapping("/{id}") + public SingleResponse getInfoById(@PathVariable("id") Long id) { + return SingleResponse.of(new VehicleMessageCO()); + } + + @ApiOperation("删除") + @DeleteMapping("/{id}") + public Response remove(@PathVariable("id") Long id) { + vehicleMessageService.remove(id); + return SingleResponse.buildSuccess(); + } + + @ApiOperation("删除多个") + @DeleteMapping("/ids") + public Response removeBatch(@RequestParam Long[] ids) { + vehicleMessageService.removeBatch(ids); + return SingleResponse.buildSuccess(); + } + + @ApiOperation("修改") + @PutMapping("/edit") + public SingleResponse edit(@Validated @RequestBody VehicleMessageUpdateCmd vehicleMessageUpdateCmd) { + vehicleMessageService.edit(vehicleMessageUpdateCmd); + return SingleResponse.buildSuccess(); + } +} + diff --git a/web-app/src/main/java/com/zcloud/primeport/command/VehicleMessageAddExe.java b/web-app/src/main/java/com/zcloud/primeport/command/VehicleMessageAddExe.java new file mode 100644 index 0000000..e453c3f --- /dev/null +++ b/web-app/src/main/java/com/zcloud/primeport/command/VehicleMessageAddExe.java @@ -0,0 +1,41 @@ +package com.zcloud.primeport.command; + +import com.alibaba.cola.exception.BizException; +import com.zcloud.primeport.domain.gateway.VehicleMessageGateway; +import com.zcloud.primeport.domain.model.VehicleMessageE; +import com.zcloud.primeport.dto.VehicleMessageAddCmd; +import lombok.AllArgsConstructor; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; + + + + +/** +* web-app +* @Author guoyuepeng +* @Date 2025-11-15 11:41:21 +*/ +@Component +@AllArgsConstructor +public class VehicleMessageAddExe { + private final VehicleMessageGateway vehicleMessageGateway; + + @Transactional(rollbackFor = Exception.class) + public boolean execute(VehicleMessageAddCmd cmd) { + VehicleMessageE examTypeE = new VehicleMessageE(); + BeanUtils.copyProperties(cmd, examTypeE); + boolean res = false; + try { + res = vehicleMessageGateway.add(examTypeE); + } catch (Exception e) { + throw new RuntimeException(e); + } + if (!res) { + throw new BizException("保存失败"); + } + return true; + } +} + diff --git a/web-app/src/main/java/com/zcloud/primeport/command/VehicleMessageRemoveExe.java b/web-app/src/main/java/com/zcloud/primeport/command/VehicleMessageRemoveExe.java new file mode 100644 index 0000000..a553753 --- /dev/null +++ b/web-app/src/main/java/com/zcloud/primeport/command/VehicleMessageRemoveExe.java @@ -0,0 +1,40 @@ +package com.zcloud.primeport.command; + +import com.alibaba.cola.exception.BizException; +import com.zcloud.primeport.domain.gateway.VehicleMessageGateway; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; + + + + +/** +* web-app +* @Author guoyuepeng +* @Date 2025-11-15 11:41:21 +*/ +@Component +@AllArgsConstructor +public class VehicleMessageRemoveExe { + private final VehicleMessageGateway vehicleMessageGateway; + + @Transactional(rollbackFor = Exception.class) + public boolean execute(Long id) { + boolean res = vehicleMessageGateway.deletedVehicleMessageById(id); + if(!res){ + throw new BizException("删除失败"); + } + return true; + } + + @Transactional(rollbackFor = Exception.class) + public boolean execute(Long[] ids) { + boolean res = vehicleMessageGateway.deletedVehicleMessageByIds(ids); + if(!res){ + throw new BizException("删除失败"); + } + return true; + } +} + diff --git a/web-app/src/main/java/com/zcloud/primeport/command/VehicleMessageUpdateExe.java b/web-app/src/main/java/com/zcloud/primeport/command/VehicleMessageUpdateExe.java new file mode 100644 index 0000000..1f76f72 --- /dev/null +++ b/web-app/src/main/java/com/zcloud/primeport/command/VehicleMessageUpdateExe.java @@ -0,0 +1,34 @@ +package com.zcloud.primeport.command; +import com.alibaba.cola.exception.BizException; +import com.zcloud.primeport.domain.gateway.VehicleMessageGateway; +import com.zcloud.primeport.domain.model.VehicleMessageE; +import com.zcloud.primeport.dto.VehicleMessageUpdateCmd; +import lombok.AllArgsConstructor; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; + + + + +/** +* web-app +* @Author guoyuepeng +* @Date 2025-11-15 11:41:21 +*/ +@Component +@AllArgsConstructor +public class VehicleMessageUpdateExe { + private final VehicleMessageGateway vehicleMessageGateway; + + @Transactional(rollbackFor = Exception.class) + public void execute(VehicleMessageUpdateCmd vehicleMessageUpdateCmd) { + VehicleMessageE vehicleMessageE = new VehicleMessageE(); + BeanUtils.copyProperties(vehicleMessageUpdateCmd, vehicleMessageE); + boolean res = vehicleMessageGateway.update(vehicleMessageE); + if (!res) { + throw new BizException("修改失败"); + } + } +} + diff --git a/web-app/src/main/java/com/zcloud/primeport/command/convertor/VehicleMessageCoConvertor.java b/web-app/src/main/java/com/zcloud/primeport/command/convertor/VehicleMessageCoConvertor.java new file mode 100644 index 0000000..e3b84c0 --- /dev/null +++ b/web-app/src/main/java/com/zcloud/primeport/command/convertor/VehicleMessageCoConvertor.java @@ -0,0 +1,23 @@ +package com.zcloud.primeport.command.convertor; + +import com.zcloud.primeport.dto.clientobject.VehicleMessageCO; +import com.zcloud.primeport.persistence.dataobject.VehicleMessageDO; +import org.mapstruct.Mapper; +import java.util.List; + + + +/** +* web-app +* @Author guoyuepeng +* @Date 2025-11-15 11:41:21 +*/ +@Mapper(componentModel = "spring") +public interface VehicleMessageCoConvertor { + /** + * @param vehicleMessageDOs + * @return + */ + List converDOsToCOs(List vehicleMessageDOs); +} + diff --git a/web-app/src/main/java/com/zcloud/primeport/command/query/VehicleMessageQueryExe.java b/web-app/src/main/java/com/zcloud/primeport/command/query/VehicleMessageQueryExe.java new file mode 100644 index 0000000..b702560 --- /dev/null +++ b/web-app/src/main/java/com/zcloud/primeport/command/query/VehicleMessageQueryExe.java @@ -0,0 +1,42 @@ +package com.zcloud.primeport.command.query; + +import com.alibaba.cola.dto.PageResponse; +import com.zcloud.gbscommon.utils.PageQueryHelper; +import com.zcloud.primeport.command.convertor.VehicleMessageCoConvertor; +import com.zcloud.primeport.dto.VehicleMessagePageQry; +import com.zcloud.primeport.dto.clientobject.VehicleMessageCO; +import com.zcloud.primeport.persistence.dataobject.VehicleMessageDO; +import com.zcloud.primeport.persistence.repository.VehicleMessageRepository; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Component; + +import java.util.List; +import java.util.Map; + + + +/** +* web-app +* @Author guoyuepeng +* @Date 2025-11-15 11:41:21 +*/ +@Component +@AllArgsConstructor +public class VehicleMessageQueryExe { + private final VehicleMessageRepository vehicleMessageRepository; + private final VehicleMessageCoConvertor vehicleMessageCoConvertor; + + /** + * 分页 + * + * @param vehicleMessagePageQry + * @return + */ + public PageResponse execute(VehicleMessagePageQry vehicleMessagePageQry) { + Map parmas = PageQueryHelper.toHashMap(vehicleMessagePageQry); + PageResponse pageResponse = vehicleMessageRepository.listPage(parmas); + List examCenterCOS = vehicleMessageCoConvertor.converDOsToCOs(pageResponse.getData()); + return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex()); + } +} + diff --git a/web-app/src/main/java/com/zcloud/primeport/service/VehicleMessageServiceImpl.java b/web-app/src/main/java/com/zcloud/primeport/service/VehicleMessageServiceImpl.java new file mode 100644 index 0000000..5d22310 --- /dev/null +++ b/web-app/src/main/java/com/zcloud/primeport/service/VehicleMessageServiceImpl.java @@ -0,0 +1,57 @@ +package com.zcloud.primeport.service; +import com.alibaba.cola.dto.PageResponse; +import com.alibaba.cola.dto.SingleResponse; +import com.zcloud.primeport.api.VehicleMessageServiceI; +import com.zcloud.primeport.command.VehicleMessageAddExe; +import com.zcloud.primeport.command.VehicleMessageRemoveExe; +import com.zcloud.primeport.command.VehicleMessageUpdateExe; +import com.zcloud.primeport.command.query.VehicleMessageQueryExe; +import com.zcloud.primeport.dto.VehicleMessageAddCmd; +import com.zcloud.primeport.dto.VehicleMessagePageQry; +import com.zcloud.primeport.dto.VehicleMessageUpdateCmd; +import com.zcloud.primeport.dto.clientobject.VehicleMessageCO; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Service; + +/** +* web-app +* @Author guoyuepeng +* @Date 2025-11-15 11:41:21 +*/ +@Service +@AllArgsConstructor +public class VehicleMessageServiceImpl implements VehicleMessageServiceI { + private final VehicleMessageAddExe vehicleMessageAddExe; + private final VehicleMessageUpdateExe vehicleMessageUpdateExe; + private final VehicleMessageRemoveExe vehicleMessageRemoveExe; + private final VehicleMessageQueryExe vehicleMessageQueryExe; + + @Override + public PageResponse listPage(VehicleMessagePageQry qry){ + + return vehicleMessageQueryExe.execute(qry); + } + + @Override + public SingleResponse add(VehicleMessageAddCmd cmd) { + + vehicleMessageAddExe.execute(cmd); + return SingleResponse.buildSuccess(); + } + + @Override + public void edit(VehicleMessageUpdateCmd vehicleMessageUpdateCmd) { + vehicleMessageUpdateExe.execute(vehicleMessageUpdateCmd); + } + + @Override + public void remove(Long id) { + vehicleMessageRemoveExe.execute(id); + } + + @Override + public void removeBatch(Long[] ids) { + vehicleMessageRemoveExe.execute(ids); + } +} + diff --git a/web-client/src/main/java/com/zcloud/primeport/api/VehicleMessageServiceI.java b/web-client/src/main/java/com/zcloud/primeport/api/VehicleMessageServiceI.java new file mode 100644 index 0000000..2268ced --- /dev/null +++ b/web-client/src/main/java/com/zcloud/primeport/api/VehicleMessageServiceI.java @@ -0,0 +1,27 @@ +package com.zcloud.primeport.api; + + +import com.alibaba.cola.dto.PageResponse; +import com.alibaba.cola.dto.SingleResponse; +import com.zcloud.primeport.dto.VehicleMessageAddCmd; +import com.zcloud.primeport.dto.VehicleMessagePageQry; +import com.zcloud.primeport.dto.VehicleMessageUpdateCmd; +import com.zcloud.primeport.dto.clientobject.VehicleMessageCO; + +/** +* web-client +* @Author guoyuepeng +* @Date 2025-11-15 11:41:21 +*/ +public interface VehicleMessageServiceI { + PageResponse listPage(VehicleMessagePageQry qry); + + SingleResponse add(VehicleMessageAddCmd cmd); + + void edit(VehicleMessageUpdateCmd cmd); + + void remove(Long id); + + void removeBatch(Long[] ids); +} + diff --git a/web-client/src/main/java/com/zcloud/primeport/dto/VehicleMessageAddCmd.java b/web-client/src/main/java/com/zcloud/primeport/dto/VehicleMessageAddCmd.java new file mode 100644 index 0000000..d0b2c99 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/primeport/dto/VehicleMessageAddCmd.java @@ -0,0 +1,108 @@ +package com.zcloud.primeport.dto; + +.dto; + +import com.alibaba.cola.dto.Command; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import javax.validation.constraints.NotEmpty; + +/** +* web-client +* @Author guoyuepeng +* @Date 2025-11-15 11:41:21 +*/ +@EqualsAndHashCode(callSuper = true) +@Data +@NoArgsConstructor +@AllArgsConstructor +public class VehicleMessageAddCmd extends Command { + @ApiModelProperty(value = "id", name = "id", required = true) + @NotEmpty(message = "id不能为空") + private Long id; + @ApiModelProperty(value = "车牌类型 0-白牌 1- 蓝牌 2-黄牌 3-绿牌 4-黑牌", name = "licenceType", required = true) + @NotEmpty(message = "车牌类型 0-白牌 1- 蓝牌 2-黄牌 3-绿牌 4-黑牌不能为空") + private Integer licenceType; + @ApiModelProperty(value = "车牌号", name = "licenceNo", required = true) + @NotEmpty(message = "车牌号不能为空") + private String licenceNo; + @ApiModelProperty(value = "车辆类型 0-货车 1- 轿车 2-大巴客车", name = "vehicleType", required = true) + @NotEmpty(message = "车辆类型 0-货车 1- 轿车 2-大巴客车不能为空") + private String vehicleType; + @ApiModelProperty(value = "车辆所属类型 0-员工车辆 1- 单位车辆 2-外部车辆3:货运车辆", name = "vehicleBelongType", required = true) + @NotEmpty(message = "车辆所属类型 0-员工车辆 1- 单位车辆 2-外部车辆3:货运车辆不能为空") + private Integer vehicleBelongType; + @ApiModelProperty(value = "车辆来源(0,1,2 平台新建,3.对接车辆)", name = "carFrom", required = true) + @NotEmpty(message = "车辆来源(0,1,2 平台新建,3.对接车辆)不能为空") + private Integer carFrom; + @ApiModelProperty(value = "驾驶证x", name = "drivingLicense", required = true) + @NotEmpty(message = "驾驶证x不能为空") + private String drivingLicense; + @ApiModelProperty(value = "绿本x", name = "greenBook", required = true) + @NotEmpty(message = "绿本x不能为空") + private String greenBook; + @ApiModelProperty(value = "环保随车清单x", name = "ecoFriendlyChecklist", required = true) + @NotEmpty(message = "环保随车清单x不能为空") + private String ecoFriendlyChecklist; + @ApiModelProperty(value = "出厂合格证x", name = "factoryCertificate", required = true) + @NotEmpty(message = "出厂合格证x不能为空") + private String factoryCertificate; + @ApiModelProperty(value = "环保信息截图x", name = "environmentalScreenshots", required = true) + @NotEmpty(message = "环保信息截图x不能为空") + private String environmentalScreenshots; + @ApiModelProperty(value = "所属车队ID", name = "motorcadeId", required = true) + @NotEmpty(message = "所属车队ID不能为空") + private Long motorcadeId; + @ApiModelProperty(value = "是否危化车辆(0:否,1:是)", name = "isDangerousCar", required = true) + @NotEmpty(message = "是否危化车辆(0:否,1:是)不能为空") + private Integer isDangerousCar; + @ApiModelProperty(value = "是否审核(0:未审核 1:交警支队审核通过 2:分公司审核通过 3:审核驳回)", name = "isAudit", required = true) + @NotEmpty(message = "是否审核(0:未审核 1:交警支队审核通过 2:分公司审核通过 3:审核驳回)不能为空") + private Integer isAudit; + @ApiModelProperty(value = "通行港区(0-全部 1-东港区 2-西港区)", name = "portId", required = true) + @NotEmpty(message = "通行港区(0-全部 1-东港区 2-西港区)不能为空") + private Integer portId; + @ApiModelProperty(value = "进出港权限(1:有 2:无)", name = "mkmjPermission", required = true) + @NotEmpty(message = "进出港权限(1:有 2:无)不能为空") + private String mkmjPermission; + @ApiModelProperty(value = "车辆责任人id", name = "userId", required = true) + @NotEmpty(message = "车辆责任人id不能为空") + private Long userId; + @ApiModelProperty(value = "车辆责任人姓名", name = "userName", required = true) + @NotEmpty(message = "车辆责任人姓名不能为空") + private String userName; + @ApiModelProperty(value = "车辆所属部门id", name = "vehicleDepartmentId", required = true) + @NotEmpty(message = "车辆所属部门id不能为空") + private Long vehicleDepartmentId; + @ApiModelProperty(value = "车辆所属部门名称", name = "vehicleDepartmentName", required = true) + @NotEmpty(message = "车辆所属部门名称不能为空") + private String vehicleDepartmentName; + @ApiModelProperty(value = "车辆所属人id(员工车辆)", name = "employeeVehicleUserId", required = true) + @NotEmpty(message = "车辆所属人id(员工车辆)不能为空") + private Long employeeVehicleUserId; + @ApiModelProperty(value = "车辆所属人姓名(员工车辆)", name = "employeeVehicleUserName", required = true) + @NotEmpty(message = "车辆所属人姓名(员工车辆)不能为空") + private String employeeVehicleUserName; + @ApiModelProperty(value = "企业ID(~~~~~~)", name = "corpinfoId", required = true) + @NotEmpty(message = "企业ID(~~~~~~)不能为空") + private Long corpinfoId; + @ApiModelProperty(value = "排放标准:level1 -> 国一level2 -> 国二level3 -> 国三level4 -> 国四level5 -> 国五level6 -> 国六", name = "emissionStandards", required = true) + @NotEmpty(message = "排放标准:level1 -> 国一level2 -> 国二level3 -> 国三level4 -> 国四level5 -> 国五level6 -> 国六不能为空") + private String emissionStandards; + @ApiModelProperty(value = "联系人姓名", name = "contact", required = true) + @NotEmpty(message = "联系人姓名不能为空") + private String contact; + @ApiModelProperty(value = "联系人电话", name = "phone", required = true) + @NotEmpty(message = "联系人电话不能为空") + private String phone; + @ApiModelProperty(value = "访问起始时间", name = "visitStartTime", required = true) + @NotEmpty(message = "访问起始时间不能为空") + private String visitStartTime; + @ApiModelProperty(value = "访问结束时间", name = "visitEndTime", required = true) + @NotEmpty(message = "访问结束时间不能为空") + private String visitEndTime; + } + diff --git a/web-client/src/main/java/com/zcloud/primeport/dto/VehicleMessagePageQry.java b/web-client/src/main/java/com/zcloud/primeport/dto/VehicleMessagePageQry.java new file mode 100644 index 0000000..ef6de2e --- /dev/null +++ b/web-client/src/main/java/com/zcloud/primeport/dto/VehicleMessagePageQry.java @@ -0,0 +1,31 @@ +package com.zcloud.primeport.dto; + +.dto; + +import com.alibaba.cola.dto.PageQuery; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + + + +/** +* web-client +* @Author guoyuepeng +* @Date 2025-11-15 11:41:21 +*/ +@Data +public class VehicleMessagePageQry extends PageQuery { + +/** +* 查询条件操作前缀,支持以下几种数据库查询操作: +* - `like`: 模糊匹配查询,对应SQL的LIKE操作符 +* - `eq`: 等值查询,对应SQL的=操作符 +* - `gt`: 大于比较查询 +* - `lt`: 小于比较查询 +* - `ge`: 大于等于比较查询 +* - `le`: 小于等于比较查询 +* - `ne`: 不等比较查询,对应SQL的!=操作符 +*/ + private Integer likeLicenceType; +} + diff --git a/web-client/src/main/java/com/zcloud/primeport/dto/VehicleMessageUpdateCmd.java b/web-client/src/main/java/com/zcloud/primeport/dto/VehicleMessageUpdateCmd.java new file mode 100644 index 0000000..ed9b6f5 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/primeport/dto/VehicleMessageUpdateCmd.java @@ -0,0 +1,108 @@ +package com.zcloud.primeport.dto; + +.dto; + +import com.alibaba.cola.dto.Command; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import javax.validation.constraints.NotEmpty; + +/** +* web-client +* @Author guoyuepeng +* @Date 2025-11-15 11:41:21 +*/ +@EqualsAndHashCode(callSuper = true) +@Data +@NoArgsConstructor +@AllArgsConstructor +public class VehicleMessageUpdateCmd extends Command { + @ApiModelProperty(value = "id", name = "id", required = true) + @NotEmpty(message = "id不能为空") + private Long id; + @ApiModelProperty(value = "车牌类型 0-白牌 1- 蓝牌 2-黄牌 3-绿牌 4-黑牌", name = "licenceType", required = true) + @NotEmpty(message = "车牌类型 0-白牌 1- 蓝牌 2-黄牌 3-绿牌 4-黑牌不能为空") + private Integer licenceType; + @ApiModelProperty(value = "车牌号", name = "licenceNo", required = true) + @NotEmpty(message = "车牌号不能为空") + private String licenceNo; + @ApiModelProperty(value = "车辆类型 0-货车 1- 轿车 2-大巴客车", name = "vehicleType", required = true) + @NotEmpty(message = "车辆类型 0-货车 1- 轿车 2-大巴客车不能为空") + private String vehicleType; + @ApiModelProperty(value = "车辆所属类型 0-员工车辆 1- 单位车辆 2-外部车辆3:货运车辆", name = "vehicleBelongType", required = true) + @NotEmpty(message = "车辆所属类型 0-员工车辆 1- 单位车辆 2-外部车辆3:货运车辆不能为空") + private Integer vehicleBelongType; + @ApiModelProperty(value = "车辆来源(0,1,2 平台新建,3.对接车辆)", name = "carFrom", required = true) + @NotEmpty(message = "车辆来源(0,1,2 平台新建,3.对接车辆)不能为空") + private Integer carFrom; + @ApiModelProperty(value = "驾驶证x", name = "drivingLicense", required = true) + @NotEmpty(message = "驾驶证x不能为空") + private String drivingLicense; + @ApiModelProperty(value = "绿本x", name = "greenBook", required = true) + @NotEmpty(message = "绿本x不能为空") + private String greenBook; + @ApiModelProperty(value = "环保随车清单x", name = "ecoFriendlyChecklist", required = true) + @NotEmpty(message = "环保随车清单x不能为空") + private String ecoFriendlyChecklist; + @ApiModelProperty(value = "出厂合格证x", name = "factoryCertificate", required = true) + @NotEmpty(message = "出厂合格证x不能为空") + private String factoryCertificate; + @ApiModelProperty(value = "环保信息截图x", name = "environmentalScreenshots", required = true) + @NotEmpty(message = "环保信息截图x不能为空") + private String environmentalScreenshots; + @ApiModelProperty(value = "所属车队ID", name = "motorcadeId", required = true) + @NotEmpty(message = "所属车队ID不能为空") + private Long motorcadeId; + @ApiModelProperty(value = "是否危化车辆(0:否,1:是)", name = "isDangerousCar", required = true) + @NotEmpty(message = "是否危化车辆(0:否,1:是)不能为空") + private Integer isDangerousCar; + @ApiModelProperty(value = "是否审核(0:未审核 1:交警支队审核通过 2:分公司审核通过 3:审核驳回)", name = "isAudit", required = true) + @NotEmpty(message = "是否审核(0:未审核 1:交警支队审核通过 2:分公司审核通过 3:审核驳回)不能为空") + private Integer isAudit; + @ApiModelProperty(value = "通行港区(0-全部 1-东港区 2-西港区)", name = "portId", required = true) + @NotEmpty(message = "通行港区(0-全部 1-东港区 2-西港区)不能为空") + private Integer portId; + @ApiModelProperty(value = "进出港权限(1:有 2:无)", name = "mkmjPermission", required = true) + @NotEmpty(message = "进出港权限(1:有 2:无)不能为空") + private String mkmjPermission; + @ApiModelProperty(value = "车辆责任人id", name = "userId", required = true) + @NotEmpty(message = "车辆责任人id不能为空") + private Long userId; + @ApiModelProperty(value = "车辆责任人姓名", name = "userName", required = true) + @NotEmpty(message = "车辆责任人姓名不能为空") + private String userName; + @ApiModelProperty(value = "车辆所属部门id", name = "vehicleDepartmentId", required = true) + @NotEmpty(message = "车辆所属部门id不能为空") + private Long vehicleDepartmentId; + @ApiModelProperty(value = "车辆所属部门名称", name = "vehicleDepartmentName", required = true) + @NotEmpty(message = "车辆所属部门名称不能为空") + private String vehicleDepartmentName; + @ApiModelProperty(value = "车辆所属人id(员工车辆)", name = "employeeVehicleUserId", required = true) + @NotEmpty(message = "车辆所属人id(员工车辆)不能为空") + private Long employeeVehicleUserId; + @ApiModelProperty(value = "车辆所属人姓名(员工车辆)", name = "employeeVehicleUserName", required = true) + @NotEmpty(message = "车辆所属人姓名(员工车辆)不能为空") + private String employeeVehicleUserName; + @ApiModelProperty(value = "企业ID(~~~~~~)", name = "corpinfoId", required = true) + @NotEmpty(message = "企业ID(~~~~~~)不能为空") + private Long corpinfoId; + @ApiModelProperty(value = "排放标准:level1 -> 国一level2 -> 国二level3 -> 国三level4 -> 国四level5 -> 国五level6 -> 国六", name = "emissionStandards", required = true) + @NotEmpty(message = "排放标准:level1 -> 国一level2 -> 国二level3 -> 国三level4 -> 国四level5 -> 国五level6 -> 国六不能为空") + private String emissionStandards; + @ApiModelProperty(value = "联系人姓名", name = "contact", required = true) + @NotEmpty(message = "联系人姓名不能为空") + private String contact; + @ApiModelProperty(value = "联系人电话", name = "phone", required = true) + @NotEmpty(message = "联系人电话不能为空") + private String phone; + @ApiModelProperty(value = "访问起始时间", name = "visitStartTime", required = true) + @NotEmpty(message = "访问起始时间不能为空") + private String visitStartTime; + @ApiModelProperty(value = "访问结束时间", name = "visitEndTime", required = true) + @NotEmpty(message = "访问结束时间不能为空") + private String visitEndTime; +} + diff --git a/web-client/src/main/java/com/zcloud/primeport/dto/clientobject/VehicleMessageCO.java b/web-client/src/main/java/com/zcloud/primeport/dto/clientobject/VehicleMessageCO.java new file mode 100644 index 0000000..3389b55 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/primeport/dto/clientobject/VehicleMessageCO.java @@ -0,0 +1,101 @@ +package com.zcloud.primeport.dto.clientobject; + +import com.alibaba.cola.dto.ClientObject; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + + +/** + * web-client + * + * @Author guoyuepeng + * @Date 2025-11-15 11:41:21 + */ +@Data +public class VehicleMessageCO extends ClientObject { + //id + @ApiModelProperty(value = "id") + private Long id; + //车牌类型 0-白牌 1- 蓝牌 2-黄牌 3-绿牌 4-黑牌 + @ApiModelProperty(value = "车牌类型 0-白牌 1- 蓝牌 2-黄牌 3-绿牌 4-黑牌") + private Integer licenceType; + //车牌号 + @ApiModelProperty(value = "车牌号") + private String licenceNo; + //车辆类型 0-货车 1- 轿车 2-大巴客车 + @ApiModelProperty(value = "车辆类型 0-货车 1- 轿车 2-大巴客车") + private String vehicleType; + //车辆所属类型 0-员工车辆 1- 单位车辆 2-外部车辆3:货运车辆 + @ApiModelProperty(value = "车辆所属类型 0-员工车辆 1- 单位车辆 2-外部车辆3:货运车辆") + private Integer vehicleBelongType; + //车辆来源(0,1,2 平台新建,3.对接车辆) + @ApiModelProperty(value = "车辆来源(0,1,2 平台新建,3.对接车辆)") + private Integer carFrom; + //驾驶证x + @ApiModelProperty(value = "驾驶证x") + private String drivingLicense; + //绿本x + @ApiModelProperty(value = "绿本x") + private String greenBook; + //环保随车清单x + @ApiModelProperty(value = "环保随车清单x") + private String ecoFriendlyChecklist; + //出厂合格证x + @ApiModelProperty(value = "出厂合格证x") + private String factoryCertificate; + //环保信息截图x + @ApiModelProperty(value = "环保信息截图x") + private String environmentalScreenshots; + //所属车队ID + @ApiModelProperty(value = "所属车队ID") + private Long motorcadeId; + //是否危化车辆(0:否,1:是) + @ApiModelProperty(value = "是否危化车辆(0:否,1:是)") + private Integer isDangerousCar; + //是否审核(0:未审核 1:交警支队审核通过 2:分公司审核通过 3:审核驳回) + @ApiModelProperty(value = "是否审核(0:未审核 1:交警支队审核通过 2:分公司审核通过 3:审核驳回)") + private Integer isAudit; + //通行港区(0-全部 1-东港区 2-西港区) + @ApiModelProperty(value = "通行港区(0-全部 1-东港区 2-西港区)") + private Integer portId; + //进出港权限(1:有 2:无) + @ApiModelProperty(value = "进出港权限(1:有 2:无)") + private String mkmjPermission; + //车辆责任人id + @ApiModelProperty(value = "车辆责任人id") + private Long userId; + //车辆责任人姓名 + @ApiModelProperty(value = "车辆责任人姓名") + private String userName; + //车辆所属部门id + @ApiModelProperty(value = "车辆所属部门id") + private Long vehicleDepartmentId; + //车辆所属部门名称 + @ApiModelProperty(value = "车辆所属部门名称") + private String vehicleDepartmentName; + //车辆所属人id(员工车辆) + @ApiModelProperty(value = "车辆所属人id(员工车辆)") + private Long employeeVehicleUserId; + //车辆所属人姓名(员工车辆) + @ApiModelProperty(value = "车辆所属人姓名(员工车辆)") + private String employeeVehicleUserName; + //企业ID(~~~~~~) + @ApiModelProperty(value = "企业ID(~~~~~~)") + private Long corpinfoId; + //排放标准:level1 -> 国一level2 -> 国二level3 -> 国三level4 -> 国四level5 -> 国五level6 -> 国六 + @ApiModelProperty(value = "排放标准:level1 -> 国一level2 -> 国二level3 -> 国三level4 -> 国四level5 -> 国五level6 -> 国六") + private String emissionStandards; + //联系人姓名 + @ApiModelProperty(value = "联系人姓名") + private String contact; + //联系人电话 + @ApiModelProperty(value = "联系人电话") + private String phone; + //访问起始时间 + @ApiModelProperty(value = "访问起始时间") + private String visitStartTime; + //访问结束时间 + @ApiModelProperty(value = "访问结束时间") + private String visitEndTime; +} + diff --git a/web-domain/src/main/java/com/zcloud/primeport/domain/gateway/VehicleMessageGateway.java b/web-domain/src/main/java/com/zcloud/primeport/domain/gateway/VehicleMessageGateway.java new file mode 100644 index 0000000..ea1aa17 --- /dev/null +++ b/web-domain/src/main/java/com/zcloud/primeport/domain/gateway/VehicleMessageGateway.java @@ -0,0 +1,28 @@ +package com.zcloud.primeport.domain.gateway; + +import com.zcloud.primeport.domain.model.VehicleMessageE; + +/** +* web-domain +* @Author guoyuepeng +* @Date 2025-11-15 11:41:21 +*/ +public interface VehicleMessageGateway { + + /** + * 新增 + */ + Boolean add(VehicleMessageE vehicleMessageE) ; + + /** + * 修改 + */ + Boolean update(VehicleMessageE vehicleMessageE); + + /** + * 删除 + */ + Boolean deletedVehicleMessageById(Long id); + Boolean deletedVehicleMessageByIds(Long[] id); +} + diff --git a/web-domain/src/main/java/com/zcloud/primeport/domain/model/VehicleMessageE.java b/web-domain/src/main/java/com/zcloud/primeport/domain/model/VehicleMessageE.java new file mode 100644 index 0000000..3e68f77 --- /dev/null +++ b/web-domain/src/main/java/com/zcloud/primeport/domain/model/VehicleMessageE.java @@ -0,0 +1,73 @@ +package com.zcloud.primeport.domain.model; + +.domain.model; + +import com.alibaba.cola.domain.Entity; +import com.jjb.saas.framework.domain.model.BaseE; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** +* web-domain +* @Author guoyuepeng +* @Date 2025-11-15 11:41:21 +*/ +public class VehicleMessageE extends BaseE { + //id + private Long id; + //车牌类型 0-白牌 1- 蓝牌 2-黄牌 3-绿牌 4-黑牌 + private Integer licenceType; + //车牌号 + private String licenceNo; + //车辆类型 0-货车 1- 轿车 2-大巴客车 + private String vehicleType; + //车辆所属类型 0-员工车辆 1- 单位车辆 2-外部车辆3:货运车辆 + private Integer vehicleBelongType; + //车辆来源(0,1,2 平台新建,3.对接车辆) + private Integer carFrom; + //驾驶证x + private String drivingLicense; + //绿本x + private String greenBook; + //环保随车清单x + private String ecoFriendlyChecklist; + //出厂合格证x + private String factoryCertificate; + //环保信息截图x + private String environmentalScreenshots; + //所属车队ID + private Long motorcadeId; + //是否危化车辆(0:否,1:是) + private Integer isDangerousCar; + //是否审核(0:未审核 1:交警支队审核通过 2:分公司审核通过 3:审核驳回) + private Integer isAudit; + //通行港区(0-全部 1-东港区 2-西港区) + private Integer portId; + //进出港权限(1:有 2:无) + private String mkmjPermission; + //车辆责任人id + private Long userId; + //车辆责任人姓名 + private String userName; + //车辆所属部门id + private Long vehicleDepartmentId; + //车辆所属部门名称 + private String vehicleDepartmentName; + //车辆所属人id(员工车辆) + private Long employeeVehicleUserId; + //车辆所属人姓名(员工车辆) + private String employeeVehicleUserName; + //企业ID(~~~~~~) + private Long corpinfoId; + //排放标准:level1 -> 国一level2 -> 国二level3 -> 国三level4 -> 国四level5 -> 国五level6 -> 国六 + private String emissionStandards; + //联系人姓名 + private String contact; + //联系人电话 + private String phone; + //访问起始时间 + private String visitStartTime; + //访问结束时间 + private String visitEndTime; +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/gatewayimpl/VehicleMessageGatewayImpl.java b/web-infrastructure/src/main/java/com/zcloud/primeport/gatewayimpl/VehicleMessageGatewayImpl.java new file mode 100644 index 0000000..2cf3b4a --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/gatewayimpl/VehicleMessageGatewayImpl.java @@ -0,0 +1,50 @@ +package com.zcloud.primeport.gatewayimpl; + +import com.zcloud.primeport.domain.gateway.VehicleMessageGateway; +import com.zcloud.primeport.domain.model.VehicleMessageE; +import com.zcloud.primeport.persistence.dataobject.VehicleMessageDO; +import com.zcloud.primeport.persistence.repository.VehicleMessageRepository; +import lombok.AllArgsConstructor; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; + +import java.util.Arrays; + +/** + * web-infrastructure + * + * @Author guoyuepeng + * @Date 2025-11-15 11:41:21 + */ +@Service +@AllArgsConstructor +public class VehicleMessageGatewayImpl implements VehicleMessageGateway { + private final VehicleMessageRepository vehicleMessageRepository; + + @Override + public Boolean add(VehicleMessageE vehicleMessageE) { + VehicleMessageDO d = new VehicleMessageDO(); + BeanUtils.copyProperties(vehicleMessageE, d); + vehicleMessageRepository.save(d); + return true; + } + + @Override + public Boolean update(VehicleMessageE vehicleMessageE) { + VehicleMessageDO d = new VehicleMessageDO(); + BeanUtils.copyProperties(vehicleMessageE, d); + vehicleMessageRepository.updateById(d); + return true; + } + + @Override + public Boolean deletedVehicleMessageById(Long id) { + return vehicleMessageRepository.removeById(id); + } + + @Override + public Boolean deletedVehicleMessageByIds(Long[] ids) { + return vehicleMessageRepository.removeByIds(Arrays.asList(ids)); + } +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/dataobject/VehicleMessageDO.java b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/dataobject/VehicleMessageDO.java new file mode 100644 index 0000000..7ba187a --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/dataobject/VehicleMessageDO.java @@ -0,0 +1,108 @@ +package com.zcloud.primeport.persistence.dataobject; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.jjb.saas.framework.repository.basedo.BaseDO; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * web-infrastructure + * + * @Author guoyuepeng + * @Date 2025-11-15 11:41:21 + */ +@Data +@TableName("vehicle_message") +@EqualsAndHashCode(callSuper = true) +public class VehicleMessageDO extends BaseDO { + //id + @ApiModelProperty(value = "id") + @TableId(type = IdType.ASSIGN_ID) + private Long id; + //车牌类型 0-白牌 1- 蓝牌 2-黄牌 3-绿牌 4-黑牌 + @ApiModelProperty(value = "车牌类型 0-白牌 1- 蓝牌 2-黄牌 3-绿牌 4-黑牌") + private Integer licenceType; + //车牌号 + @ApiModelProperty(value = "车牌号") + private String licenceNo; + //车辆类型 0-货车 1- 轿车 2-大巴客车 + @ApiModelProperty(value = "车辆类型 0-货车 1- 轿车 2-大巴客车") + private String vehicleType; + //车辆所属类型 0-员工车辆 1- 单位车辆 2-外部车辆3:货运车辆 + @ApiModelProperty(value = "车辆所属类型 0-员工车辆 1- 单位车辆 2-外部车辆3:货运车辆") + private Integer vehicleBelongType; + //车辆来源(0,1,2 平台新建,3.对接车辆) + @ApiModelProperty(value = "车辆来源(0,1,2 平台新建,3.对接车辆)") + private Integer carFrom; + //驾驶证x + @ApiModelProperty(value = "驾驶证x") + private String drivingLicense; + //绿本x + @ApiModelProperty(value = "绿本x") + private String greenBook; + //环保随车清单x + @ApiModelProperty(value = "环保随车清单x") + private String ecoFriendlyChecklist; + //出厂合格证x + @ApiModelProperty(value = "出厂合格证x") + private String factoryCertificate; + //环保信息截图x + @ApiModelProperty(value = "环保信息截图x") + private String environmentalScreenshots; + //所属车队ID + @ApiModelProperty(value = "所属车队ID") + private Long motorcadeId; + //是否危化车辆(0:否,1:是) + @ApiModelProperty(value = "是否危化车辆(0:否,1:是)") + private Integer isDangerousCar; + //是否审核(0:未审核 1:交警支队审核通过 2:分公司审核通过 3:审核驳回) + @ApiModelProperty(value = "是否审核(0:未审核 1:交警支队审核通过 2:分公司审核通过 3:审核驳回)") + private Integer isAudit; + //通行港区(0-全部 1-东港区 2-西港区) + @ApiModelProperty(value = "通行港区(0-全部 1-东港区 2-西港区)") + private Integer portId; + //进出港权限(1:有 2:无) + @ApiModelProperty(value = "进出港权限(1:有 2:无)") + private String mkmjPermission; + //车辆责任人id + @ApiModelProperty(value = "车辆责任人id") + private Long userId; + //车辆责任人姓名 + @ApiModelProperty(value = "车辆责任人姓名") + private String userName; + //车辆所属部门id + @ApiModelProperty(value = "车辆所属部门id") + private Long vehicleDepartmentId; + //车辆所属部门名称 + @ApiModelProperty(value = "车辆所属部门名称") + private String vehicleDepartmentName; + //车辆所属人id(员工车辆) + @ApiModelProperty(value = "车辆所属人id(员工车辆)") + private Long employeeVehicleUserId; + //车辆所属人姓名(员工车辆) + @ApiModelProperty(value = "车辆所属人姓名(员工车辆)") + private String employeeVehicleUserName; + //企业ID(~~~~~~) + @ApiModelProperty(value = "企业ID(~~~~~~)") + private Long corpinfoId; + //排放标准:level1 -> 国一level2 -> 国二level3 -> 国三level4 -> 国四level5 -> 国五level6 -> 国六 + @ApiModelProperty(value = "排放标准:level1 -> 国一level2 -> 国二level3 -> 国三level4 -> 国四level5 -> 国五level6 -> 国六") + private String emissionStandards; + //联系人姓名 + @ApiModelProperty(value = "联系人姓名") + private String contact; + //联系人电话 + @ApiModelProperty(value = "联系人电话") + private String phone; + //访问起始时间 + @ApiModelProperty(value = "访问起始时间") + private String visitStartTime; + //访问结束时间 + @ApiModelProperty(value = "访问结束时间") + private String visitEndTime; + +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/mapper/VehicleMessageMapper.java b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/mapper/VehicleMessageMapper.java new file mode 100644 index 0000000..650c76b --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/mapper/VehicleMessageMapper.java @@ -0,0 +1,16 @@ +package com.zcloud.primeport.persistence.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.zcloud.primeport.persistence.dataobject.VehicleMessageDO; +import org.apache.ibatis.annotations.Mapper; + +/** +* web-infrastructure +* @Author guoyuepeng +* @Date 2025-11-15 11:41:21 +*/ +@Mapper +public interface VehicleMessageMapper extends BaseMapper { + + } + diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/VehicleMessageRepository.java b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/VehicleMessageRepository.java new file mode 100644 index 0000000..5198242 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/VehicleMessageRepository.java @@ -0,0 +1,18 @@ +package com.zcloud.primeport.persistence.repository; + +import com.alibaba.cola.dto.PageResponse; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.jjb.saas.framework.repository.repo.BaseRepository; +import com.zcloud.primeport.persistence.dataobject.VehicleMessageDO; + +import java.util.Map; + +/** +* web-infrastructure +* @Author guoyuepeng +* @Date 2025-11-15 11:41:21 +*/ +public interface VehicleMessageRepository extends BaseRepository { + PageResponse listPage(Map parmas); +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/impl/VehicleMessageRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/impl/VehicleMessageRepositoryImpl.java new file mode 100644 index 0000000..6fae0df --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/impl/VehicleMessageRepositoryImpl.java @@ -0,0 +1,37 @@ +package com.zcloud.primeport.persistence.repository.impl; + +.persistence.repository.impl; + +import .persistence.dataobject.VehicleMessageDO; +import .persistence.mapper.VehicleMessageMapper; +import .persistence.repository.VehicleMessageRepository; +import com.alibaba.cola.dto.PageResponse; +import com.zcloud.gbscommon.utils.PageQueryHelper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import java.util.Map; + +/** +* web-infrastructure +* @Author guoyuepeng +* @Date 2025-11-15 11:41:21 +*/ +@Service +@RequiredArgsConstructor +public class VehicleMessageRepositoryImpl extends BaseRepositoryImpl implements VehicleMessageRepository { + private final VehicleMessageMapper vehicleMessageMapper; + + @Override + public PageResponse listPage(Map parmas) { + IPage iPage = new Query().getPage(parmas); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, parmas); + queryWrapper.orderByDesc("create_time"); + IPage result = vehicleMessageMapper.selectPage(iPage, queryWrapper); + return PageHelper.pageToResponse(result, result.getRecords()); + } +} + diff --git a/web-infrastructure/src/main/resources/mapper/VehicleMessageMapper.xml b/web-infrastructure/src/main/resources/mapper/VehicleMessageMapper.xml new file mode 100644 index 0000000..01e3cd2 --- /dev/null +++ b/web-infrastructure/src/main/resources/mapper/VehicleMessageMapper.xml @@ -0,0 +1,8 @@ + + + + + + +