1.口门门禁-违规记录
parent
b050ca0bd6
commit
e5c0e4f9ba
|
|
@ -6,6 +6,10 @@ application:
|
||||||
version:
|
version:
|
||||||
gateway: primeport
|
gateway: primeport
|
||||||
cn-name: 一级口门管理
|
cn-name: 一级口门管理
|
||||||
|
server:
|
||||||
|
port: 801
|
||||||
|
debug: true
|
||||||
|
|
||||||
spring:
|
spring:
|
||||||
application:
|
application:
|
||||||
name: ${application.name}${application.version}
|
name: ${application.name}${application.version}
|
||||||
|
|
@ -20,7 +24,7 @@ spring:
|
||||||
file-extension: yml
|
file-extension: yml
|
||||||
shared-configs:
|
shared-configs:
|
||||||
- config-common.yml
|
- config-common.yml
|
||||||
- config-port.yml
|
# - config-port.yml
|
||||||
- config-mq.yml
|
- config-mq.yml
|
||||||
- config-log.yml
|
- config-log.yml
|
||||||
- config-sdk-server.yml
|
- config-sdk-server.yml
|
||||||
|
|
@ -36,3 +40,4 @@ spring:
|
||||||
discovery:
|
discovery:
|
||||||
server-addr: ${spring.cloud.nacos.config.server-addr}
|
server-addr: ${spring.cloud.nacos.config.server-addr}
|
||||||
namespace: ${spring.cloud.nacos.config.namespace}
|
namespace: ${spring.cloud.nacos.config.namespace}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
server:
|
server:
|
||||||
port: 80
|
port: 801
|
||||||
debug: true
|
debug: true
|
||||||
|
|
@ -10,6 +10,7 @@ import com.zcloud.primeport.dto.VehicleViolationsAddCmd;
|
||||||
import com.zcloud.primeport.dto.VehicleViolationsPageQry;
|
import com.zcloud.primeport.dto.VehicleViolationsPageQry;
|
||||||
import com.zcloud.primeport.dto.VehicleViolationsUpdateCmd;
|
import com.zcloud.primeport.dto.VehicleViolationsUpdateCmd;
|
||||||
import com.zcloud.primeport.dto.clientobject.VehicleViolationsCO;
|
import com.zcloud.primeport.dto.clientobject.VehicleViolationsCO;
|
||||||
|
import com.zcloud.primeport.dto.clientobject.VehicleViolationsListCO;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
|
|
@ -24,7 +25,7 @@ import java.util.ArrayList;
|
||||||
* @Author guoyuepeng
|
* @Author guoyuepeng
|
||||||
* @Date 2025-11-21 16:34:29
|
* @Date 2025-11-21 16:34:29
|
||||||
*/
|
*/
|
||||||
@Api(tags = "")
|
@Api(tags = "车辆违规记录")
|
||||||
@RequestMapping("/${application.gateway}/vehicleViolations")
|
@RequestMapping("/${application.gateway}/vehicleViolations")
|
||||||
@RestController
|
@RestController
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
|
|
@ -43,13 +44,6 @@ public class VehicleViolationsController {
|
||||||
public PageResponse<VehicleViolationsCO> page(@RequestBody VehicleViolationsPageQry qry) {
|
public PageResponse<VehicleViolationsCO> page(@RequestBody VehicleViolationsPageQry qry) {
|
||||||
return vehicleViolationsService.listPage(qry);
|
return vehicleViolationsService.listPage(qry);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation("所有数据")
|
|
||||||
@GetMapping("/listAll")
|
|
||||||
public MultiResponse<VehicleViolationsCO> listAll() {
|
|
||||||
return MultiResponse.of(new ArrayList<VehicleViolationsCO>());
|
|
||||||
}
|
|
||||||
|
|
||||||
@ApiOperation("详情")
|
@ApiOperation("详情")
|
||||||
@GetMapping("/{id}")
|
@GetMapping("/{id}")
|
||||||
public SingleResponse<VehicleViolationsCO> getInfoById(@PathVariable("id") Long id) {
|
public SingleResponse<VehicleViolationsCO> getInfoById(@PathVariable("id") Long id) {
|
||||||
|
|
@ -63,18 +57,17 @@ public class VehicleViolationsController {
|
||||||
return SingleResponse.buildSuccess();
|
return SingleResponse.buildSuccess();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation("删除多个")
|
|
||||||
@DeleteMapping("/ids")
|
|
||||||
public Response removeBatch(@RequestParam Long[] ids) {
|
|
||||||
vehicleViolationsService.removeBatch(ids);
|
|
||||||
return SingleResponse.buildSuccess();
|
|
||||||
}
|
|
||||||
|
|
||||||
@ApiOperation("修改")
|
@ApiOperation("修改")
|
||||||
@PutMapping("/edit")
|
@PutMapping("/edit")
|
||||||
public SingleResponse edit(@Validated @RequestBody VehicleViolationsUpdateCmd vehicleViolationsUpdateCmd) {
|
public SingleResponse edit(@Validated @RequestBody VehicleViolationsUpdateCmd vehicleViolationsUpdateCmd) {
|
||||||
vehicleViolationsService.edit(vehicleViolationsUpdateCmd);
|
vehicleViolationsService.edit(vehicleViolationsUpdateCmd);
|
||||||
return SingleResponse.buildSuccess();
|
return SingleResponse.buildSuccess();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ApiOperation("分页-和违规次数")
|
||||||
|
@PostMapping("/pageAncCount")
|
||||||
|
public PageResponse<VehicleViolationsListCO> pageAncCount(@RequestBody VehicleViolationsPageQry qry) {
|
||||||
|
return vehicleViolationsService.listAndCountPage(qry);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,8 @@
|
||||||
package com.zcloud.primeport.command;
|
package com.zcloud.primeport.command;
|
||||||
import com.alibaba.cola.exception.BizException;
|
import com.alibaba.cola.exception.BizException;
|
||||||
|
import com.zcloud.primeport.domain.gateway.VehicleBlackGateway;
|
||||||
import com.zcloud.primeport.domain.gateway.VehicleViolationsGateway;
|
import com.zcloud.primeport.domain.gateway.VehicleViolationsGateway;
|
||||||
|
import com.zcloud.primeport.domain.model.VehicleBlackE;
|
||||||
import com.zcloud.primeport.domain.model.VehicleViolationsE;
|
import com.zcloud.primeport.domain.model.VehicleViolationsE;
|
||||||
import com.zcloud.primeport.dto.VehicleViolationsAddCmd;
|
import com.zcloud.primeport.dto.VehicleViolationsAddCmd;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
|
|
@ -19,6 +21,7 @@ import org.springframework.transaction.annotation.Transactional;
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
public class VehicleViolationsAddExe {
|
public class VehicleViolationsAddExe {
|
||||||
private final VehicleViolationsGateway vehicleViolationsGateway;
|
private final VehicleViolationsGateway vehicleViolationsGateway;
|
||||||
|
private final VehicleBlackGateway vehicleBlackGateway;
|
||||||
|
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public boolean execute(VehicleViolationsAddCmd cmd) {
|
public boolean execute(VehicleViolationsAddCmd cmd) {
|
||||||
|
|
@ -27,6 +30,12 @@ public class VehicleViolationsAddExe {
|
||||||
boolean res = false;
|
boolean res = false;
|
||||||
try {
|
try {
|
||||||
res = vehicleViolationsGateway.add(vehicleViolationsE);
|
res = vehicleViolationsGateway.add(vehicleViolationsE);
|
||||||
|
Long count = vehicleViolationsGateway.getCountByVehicleId(vehicleViolationsE.getVehicleId());
|
||||||
|
if (count >= 5){ //如果超过5次违规,则加入黑名单
|
||||||
|
VehicleBlackE vehicleBlackE = new VehicleBlackE();
|
||||||
|
vehicleBlackE.setVehicleId(vehicleViolationsE.getVehicleId());
|
||||||
|
res = vehicleBlackGateway.add(vehicleBlackE);
|
||||||
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
throw new RuntimeException(e);
|
throw new RuntimeException(e);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,8 @@
|
||||||
package com.zcloud.primeport.command.convertor;
|
package com.zcloud.primeport.command.convertor;
|
||||||
|
|
||||||
import com.zcloud.primeport.dto.clientobject.VehicleViolationsCO;
|
import com.zcloud.primeport.dto.clientobject.VehicleViolationsCO;
|
||||||
|
import com.zcloud.primeport.dto.clientobject.VehicleViolationsListCO;
|
||||||
|
import com.zcloud.primeport.persistence.dataobject.VehicleCountFromViolationsDO;
|
||||||
import com.zcloud.primeport.persistence.dataobject.VehicleViolationsDO;
|
import com.zcloud.primeport.persistence.dataobject.VehicleViolationsDO;
|
||||||
import org.mapstruct.Mapper;
|
import org.mapstruct.Mapper;
|
||||||
|
|
||||||
|
|
@ -22,5 +24,9 @@ public interface VehicleViolationsCoConvertor {
|
||||||
List<VehicleViolationsCO> converDOsToCOs(List<VehicleViolationsDO> vehicleViolationsDOs);
|
List<VehicleViolationsCO> converDOsToCOs(List<VehicleViolationsDO> vehicleViolationsDOs);
|
||||||
|
|
||||||
VehicleViolationsCO converDOToCO(VehicleViolationsDO vehicleViolationsDO);
|
VehicleViolationsCO converDOToCO(VehicleViolationsDO vehicleViolationsDO);
|
||||||
|
|
||||||
|
|
||||||
|
List<VehicleViolationsListCO> converFromViolationsDOsToCOs(List<VehicleCountFromViolationsDO> vehicleViolationsDOs);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,10 @@ import com.alibaba.cola.dto.PageResponse;
|
||||||
import com.zcloud.primeport.command.convertor.VehicleViolationsCoConvertor;
|
import com.zcloud.primeport.command.convertor.VehicleViolationsCoConvertor;
|
||||||
import com.zcloud.primeport.dto.VehicleViolationsPageQry;
|
import com.zcloud.primeport.dto.VehicleViolationsPageQry;
|
||||||
import com.zcloud.primeport.dto.clientobject.VehicleViolationsCO;
|
import com.zcloud.primeport.dto.clientobject.VehicleViolationsCO;
|
||||||
|
import com.zcloud.primeport.dto.clientobject.VehicleViolationsListCO;
|
||||||
|
import com.zcloud.primeport.persistence.dataobject.VehicleCountFromViolationsDO;
|
||||||
import com.zcloud.primeport.persistence.dataobject.VehicleViolationsDO;
|
import com.zcloud.primeport.persistence.dataobject.VehicleViolationsDO;
|
||||||
|
import com.zcloud.primeport.persistence.repository.VehicleMessageRepository;
|
||||||
import com.zcloud.primeport.persistence.repository.VehicleViolationsRepository;
|
import com.zcloud.primeport.persistence.repository.VehicleViolationsRepository;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
@ -25,7 +28,7 @@ import java.util.Map;
|
||||||
public class VehicleViolationsQueryExe {
|
public class VehicleViolationsQueryExe {
|
||||||
private final VehicleViolationsRepository vehicleViolationsRepository;
|
private final VehicleViolationsRepository vehicleViolationsRepository;
|
||||||
private final VehicleViolationsCoConvertor vehicleViolationsCoConvertor;
|
private final VehicleViolationsCoConvertor vehicleViolationsCoConvertor;
|
||||||
|
private final VehicleMessageRepository vehicleMessageRepository;
|
||||||
/**
|
/**
|
||||||
* 根据id查询
|
* 根据id查询
|
||||||
*
|
*
|
||||||
|
|
@ -48,5 +51,13 @@ public class VehicleViolationsQueryExe {
|
||||||
List<VehicleViolationsCO> examCenterCOS = vehicleViolationsCoConvertor.converDOsToCOs(pageResponse.getData());
|
List<VehicleViolationsCO> examCenterCOS = vehicleViolationsCoConvertor.converDOsToCOs(pageResponse.getData());
|
||||||
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
|
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public PageResponse<VehicleViolationsListCO> executeFromViolations(VehicleViolationsPageQry vehicleViolationsPageQry) {
|
||||||
|
Map<String, Object> params = PageQueryHelper.toHashMap(vehicleViolationsPageQry);
|
||||||
|
PageResponse<VehicleCountFromViolationsDO> pageResponse = vehicleMessageRepository.listPageFromViolations(params);
|
||||||
|
List<VehicleViolationsListCO> examCenterCOS = vehicleViolationsCoConvertor.converFromViolationsDOsToCOs(pageResponse.getData());
|
||||||
|
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,7 @@ import com.zcloud.primeport.dto.VehicleViolationsAddCmd;
|
||||||
import com.zcloud.primeport.dto.VehicleViolationsPageQry;
|
import com.zcloud.primeport.dto.VehicleViolationsPageQry;
|
||||||
import com.zcloud.primeport.dto.VehicleViolationsUpdateCmd;
|
import com.zcloud.primeport.dto.VehicleViolationsUpdateCmd;
|
||||||
import com.zcloud.primeport.dto.clientobject.VehicleViolationsCO;
|
import com.zcloud.primeport.dto.clientobject.VehicleViolationsCO;
|
||||||
|
import com.zcloud.primeport.dto.clientobject.VehicleViolationsListCO;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
|
@ -60,5 +61,10 @@ public class VehicleViolationsServiceImpl implements VehicleViolationsServiceI {
|
||||||
public void removeBatch(Long[] ids) {
|
public void removeBatch(Long[] ids) {
|
||||||
vehicleViolationsRemoveExe.execute(ids);
|
vehicleViolationsRemoveExe.execute(ids);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PageResponse<VehicleViolationsListCO> listAndCountPage(VehicleViolationsPageQry qry) {
|
||||||
|
return vehicleViolationsQueryExe.executeFromViolations(qry);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@ import com.zcloud.primeport.dto.VehicleViolationsAddCmd;
|
||||||
import com.zcloud.primeport.dto.VehicleViolationsPageQry;
|
import com.zcloud.primeport.dto.VehicleViolationsPageQry;
|
||||||
import com.zcloud.primeport.dto.VehicleViolationsUpdateCmd;
|
import com.zcloud.primeport.dto.VehicleViolationsUpdateCmd;
|
||||||
import com.zcloud.primeport.dto.clientobject.VehicleViolationsCO;
|
import com.zcloud.primeport.dto.clientobject.VehicleViolationsCO;
|
||||||
|
import com.zcloud.primeport.dto.clientobject.VehicleViolationsListCO;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* web-client
|
* web-client
|
||||||
|
|
@ -25,5 +26,9 @@ public interface VehicleViolationsServiceI {
|
||||||
void remove(Long id);
|
void remove(Long id);
|
||||||
|
|
||||||
void removeBatch(Long[] ids);
|
void removeBatch(Long[] ids);
|
||||||
|
|
||||||
|
|
||||||
|
PageResponse<VehicleViolationsListCO> listAndCountPage(VehicleViolationsPageQry qry);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@ import java.util.Date;
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
public class VehicleViolationsAddCmd extends Command {
|
public class VehicleViolationsAddCmd extends Command {
|
||||||
@ApiModelProperty(value = "车辆信息表(t_vehicle_message)的主键id", name = "vehicleId", required = true)
|
@ApiModelProperty(value = "车辆信息表(t_vehicle_message)的主键id", name = "vehicleId", required = true)
|
||||||
@NotNull(message = "车辆信息表(t_vehicle_message)的主键id不能为空")
|
@NotNull(message = "车辆信息主键")
|
||||||
private Long vehicleId;
|
private Long vehicleId;
|
||||||
|
|
||||||
@ApiModelProperty(value = "违规类型(0-未按规定车道行驶,1-违规停车)", name = "violationType", required = true)
|
@ApiModelProperty(value = "违规类型(0-未按规定车道行驶,1-违规停车)", name = "violationType", required = true)
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,41 @@
|
||||||
|
package com.zcloud.primeport.dto.clientobject;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import com.jjb.saas.framework.repository.basedo.BaseDO;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* web-infrastructure
|
||||||
|
*
|
||||||
|
* @Author guoyuepeng
|
||||||
|
* @Date 2025-11-15 11:41:21
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class VehicleCountFromViolationsCO extends BaseDO {
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "id")
|
||||||
|
@TableId(type = IdType.ASSIGN_ID)
|
||||||
|
private Long id;
|
||||||
|
//业务id
|
||||||
|
@ApiModelProperty(value = "业务id")
|
||||||
|
private String vehicleMessageId;
|
||||||
|
//车牌类型 0-白牌 1- 蓝牌 2-黄牌 3-绿牌 4-黑牌
|
||||||
|
@ApiModelProperty(value = "车牌类型 0-白牌 1- 蓝牌 2-黄牌 3-绿牌 4-黑牌")
|
||||||
|
private Integer licenceType;
|
||||||
|
//车牌号
|
||||||
|
@ApiModelProperty(value = "车牌号")
|
||||||
|
private String licenceNo;
|
||||||
|
//车辆类型
|
||||||
|
@ApiModelProperty(value = "车辆类型")
|
||||||
|
private String vehicleType;
|
||||||
|
@ApiModelProperty(value = "车辆类型-名字")
|
||||||
|
private String vehicleTypeName;
|
||||||
|
@ApiModelProperty(value = "车辆所属类型 0-员工车辆 1- 单位车辆 2-相关方车辆3:货运车辆,4:临时车辆")
|
||||||
|
private Integer vehicleBelongType;
|
||||||
|
@ApiModelProperty(value = "违规数量")
|
||||||
|
private String violationsCount;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -0,0 +1,43 @@
|
||||||
|
package com.zcloud.primeport.dto.clientobject;
|
||||||
|
|
||||||
|
import com.alibaba.cola.dto.ClientObject;
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.sql.Date;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* web-client
|
||||||
|
*
|
||||||
|
* @Author guoyuepeng
|
||||||
|
* @Date 2025-11-21 16:34:28
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class VehicleViolationsListCO extends ClientObject {
|
||||||
|
@ApiModelProperty(value = "id")
|
||||||
|
@TableId(type = IdType.ASSIGN_ID)
|
||||||
|
private Long id;
|
||||||
|
//业务id
|
||||||
|
@ApiModelProperty(value = "业务id")
|
||||||
|
private String vehicleMessageId;
|
||||||
|
//车牌类型 0-白牌 1- 蓝牌 2-黄牌 3-绿牌 4-黑牌
|
||||||
|
@ApiModelProperty(value = "车牌类型 0-白牌 1- 蓝牌 2-黄牌 3-绿牌 4-黑牌")
|
||||||
|
private Integer licenceType;
|
||||||
|
//车牌号
|
||||||
|
@ApiModelProperty(value = "车牌号")
|
||||||
|
private String licenceNo;
|
||||||
|
//车辆类型
|
||||||
|
@ApiModelProperty(value = "车辆类型")
|
||||||
|
private String vehicleType;
|
||||||
|
@ApiModelProperty(value = "车辆类型-名字")
|
||||||
|
private String vehicleTypeName;
|
||||||
|
@ApiModelProperty(value = "车辆所属类型 0-员工车辆 1- 单位车辆 2-相关方车辆3:货运车辆,4:临时车辆")
|
||||||
|
private Integer vehicleBelongType;
|
||||||
|
@ApiModelProperty(value = "违规数量")
|
||||||
|
private String violationsCount;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -27,5 +27,12 @@ public interface VehicleViolationsGateway {
|
||||||
Boolean deletedVehicleViolationsById(Long id);
|
Boolean deletedVehicleViolationsById(Long id);
|
||||||
|
|
||||||
Boolean deletedVehicleViolationsByIds(Long[] id);
|
Boolean deletedVehicleViolationsByIds(Long[] id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询违规记录次数
|
||||||
|
* @param vehicleId
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
Long getCountByVehicleId(Long vehicleId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
package com.zcloud.primeport.gatewayimpl;
|
package com.zcloud.primeport.gatewayimpl;
|
||||||
|
|
||||||
import com.zcloud.gbscommon.utils.Tools;
|
|
||||||
import com.zcloud.primeport.domain.gateway.VehicleViolationsGateway;
|
import com.zcloud.primeport.domain.gateway.VehicleViolationsGateway;
|
||||||
import com.zcloud.primeport.domain.model.VehicleViolationsE;
|
import com.zcloud.primeport.domain.model.VehicleViolationsE;
|
||||||
import com.zcloud.primeport.persistence.dataobject.VehicleViolationsDO;
|
import com.zcloud.primeport.persistence.dataobject.VehicleViolationsDO;
|
||||||
|
|
@ -40,12 +39,25 @@ public class VehicleViolationsGatewayImpl implements VehicleViolationsGateway {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Boolean deletedVehicleViolationsById(Long id) {
|
public Boolean deletedVehicleViolationsById(Long id) {
|
||||||
return vehicleViolationsRepository.removeById(id);
|
VehicleViolationsDO d = new VehicleViolationsDO();
|
||||||
|
d.setId(id);
|
||||||
|
d.setDeleteEnum("TRUE");
|
||||||
|
boolean b = vehicleViolationsRepository.updateById(d);
|
||||||
|
return b;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Boolean deletedVehicleViolationsByIds(Long[] ids) {
|
public Boolean deletedVehicleViolationsByIds(Long[] ids) {
|
||||||
return vehicleViolationsRepository.removeByIds(Arrays.asList(ids));
|
return vehicleViolationsRepository.removeByIds(Arrays.asList(ids));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Long getCountByVehicleId(Long vehicleId) {
|
||||||
|
long count = vehicleViolationsRepository.count(
|
||||||
|
vehicleViolationsRepository.lambdaQuery()
|
||||||
|
.eq(VehicleViolationsDO::getVehicleId, vehicleId)
|
||||||
|
);
|
||||||
|
return count;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,41 @@
|
||||||
|
package com.zcloud.primeport.persistence.dataobject;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import com.jjb.saas.framework.repository.basedo.BaseDO;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* web-infrastructure
|
||||||
|
*
|
||||||
|
* @Author guoyuepeng
|
||||||
|
* @Date 2025-11-15 11:41:21
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class VehicleCountFromViolationsDO extends BaseDO {
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "id")
|
||||||
|
@TableId(type = IdType.ASSIGN_ID)
|
||||||
|
private Long id;
|
||||||
|
//业务id
|
||||||
|
@ApiModelProperty(value = "业务id")
|
||||||
|
private String vehicleMessageId;
|
||||||
|
//车牌类型 0-白牌 1- 蓝牌 2-黄牌 3-绿牌 4-黑牌
|
||||||
|
@ApiModelProperty(value = "车牌类型 0-白牌 1- 蓝牌 2-黄牌 3-绿牌 4-黑牌")
|
||||||
|
private Integer licenceType;
|
||||||
|
//车牌号
|
||||||
|
@ApiModelProperty(value = "车牌号")
|
||||||
|
private String licenceNo;
|
||||||
|
//车辆类型
|
||||||
|
@ApiModelProperty(value = "车辆类型")
|
||||||
|
private String vehicleType;
|
||||||
|
@ApiModelProperty(value = "车辆类型-名字")
|
||||||
|
private String vehicleTypeName;
|
||||||
|
@ApiModelProperty(value = "车辆所属类型 0-员工车辆 1- 单位车辆 2-相关方车辆3:货运车辆,4:临时车辆")
|
||||||
|
private Integer vehicleBelongType;
|
||||||
|
@ApiModelProperty(value = "违规数量")
|
||||||
|
private String violationsCount;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.zcloud.primeport.persistence.dataobject.VehicleCountByCorpDO;
|
import com.zcloud.primeport.persistence.dataobject.VehicleCountByCorpDO;
|
||||||
|
import com.zcloud.primeport.persistence.dataobject.VehicleCountFromViolationsDO;
|
||||||
import com.zcloud.primeport.persistence.dataobject.VehicleMessageDO;
|
import com.zcloud.primeport.persistence.dataobject.VehicleMessageDO;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
@ -19,5 +20,8 @@ import java.util.Map;
|
||||||
public interface VehicleMessageMapper extends BaseMapper<VehicleMessageDO> {
|
public interface VehicleMessageMapper extends BaseMapper<VehicleMessageDO> {
|
||||||
IPage<VehicleCountByCorpDO> listCountFromCorp(Page<Map<String, Object>> page, @Param("params") Map<String, Object> parmas);
|
IPage<VehicleCountByCorpDO> listCountFromCorp(Page<Map<String, Object>> page, @Param("params") Map<String, Object> parmas);
|
||||||
|
|
||||||
|
|
||||||
|
IPage<VehicleCountFromViolationsDO> listFroViolations(Page<Map<String, Object>> page, @Param("params") Map<String, Object> parmas);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ import com.alibaba.cola.dto.PageResponse;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.jjb.saas.framework.repository.repo.BaseRepository;
|
import com.jjb.saas.framework.repository.repo.BaseRepository;
|
||||||
import com.zcloud.primeport.persistence.dataobject.VehicleCountByCorpDO;
|
import com.zcloud.primeport.persistence.dataobject.VehicleCountByCorpDO;
|
||||||
|
import com.zcloud.primeport.persistence.dataobject.VehicleCountFromViolationsDO;
|
||||||
import com.zcloud.primeport.persistence.dataobject.VehicleMessageDO;
|
import com.zcloud.primeport.persistence.dataobject.VehicleMessageDO;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
@ -25,4 +26,6 @@ public interface VehicleMessageRepository extends BaseRepository<VehicleMessageD
|
||||||
List<VehicleMessageDO> listAll(Long [] ids);
|
List<VehicleMessageDO> listAll(Long [] ids);
|
||||||
|
|
||||||
VehicleMessageDO getByLicenceNo(String licenceNo);
|
VehicleMessageDO getByLicenceNo(String licenceNo);
|
||||||
|
|
||||||
|
PageResponse<VehicleCountFromViolationsDO> listPageFromViolations(Map<String,Object> parmas);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -9,14 +9,13 @@ import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl;
|
||||||
import com.zcloud.gbscommon.utils.PageQueryHelper;
|
import com.zcloud.gbscommon.utils.PageQueryHelper;
|
||||||
import com.zcloud.gbscommon.utils.Query;
|
import com.zcloud.gbscommon.utils.Query;
|
||||||
import com.zcloud.primeport.persistence.dataobject.VehicleCountByCorpDO;
|
import com.zcloud.primeport.persistence.dataobject.VehicleCountByCorpDO;
|
||||||
|
import com.zcloud.primeport.persistence.dataobject.VehicleCountFromViolationsDO;
|
||||||
import com.zcloud.primeport.persistence.dataobject.VehicleMessageDO;
|
import com.zcloud.primeport.persistence.dataobject.VehicleMessageDO;
|
||||||
import com.zcloud.primeport.persistence.mapper.VehicleMessageMapper;
|
import com.zcloud.primeport.persistence.mapper.VehicleMessageMapper;
|
||||||
import com.zcloud.primeport.persistence.repository.VehicleMessageRepository;
|
import com.zcloud.primeport.persistence.repository.VehicleMessageRepository;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Collection;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
|
@ -60,5 +59,16 @@ public class VehicleMessageRepositoryImpl extends BaseRepositoryImpl<VehicleMess
|
||||||
return vehicleMessageMapper.selectOne(queryWrapper);
|
return vehicleMessageMapper.selectOne(queryWrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取车辆违规记录数量
|
||||||
|
* @param parmas
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public PageResponse<VehicleCountFromViolationsDO> listPageFromViolations(Map<String,Object> parmas) {
|
||||||
|
Page<Map<String,Object>> page = new Page<>(Integer.parseInt(parmas.get("pageIndex").toString()),Integer.parseInt(parmas.get("pageSize").toString()));
|
||||||
|
IPage<VehicleCountFromViolationsDO> iPage = vehicleMessageMapper.listFroViolations(page, parmas);
|
||||||
|
return PageHelper.pageToResponse(iPage, iPage.getRecords());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -15,5 +15,19 @@
|
||||||
1=1
|
1=1
|
||||||
GROUP BY f.id
|
GROUP BY f.id
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<select id="listFroViolations" resultType="com.zcloud.primeport.persistence.dataobject.VehicleCountFromViolationsDO">
|
||||||
|
SELECT
|
||||||
|
f.*
|
||||||
|
count(m.id) as violationsCount
|
||||||
|
FROM
|
||||||
|
vehicle_message f
|
||||||
|
LEFT JOIN vehicle_violations m on m.vehicle_id = f.id
|
||||||
|
WHERE
|
||||||
|
1=1
|
||||||
|
GROUP BY f.id
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue