diff --git a/web-adapter/src/main/java/com/zcloud/primeport/web/EmployeeMessageController.java b/web-adapter/src/main/java/com/zcloud/primeport/web/EmployeeMessageController.java new file mode 100644 index 0000000..83a7a4c --- /dev/null +++ b/web-adapter/src/main/java/com/zcloud/primeport/web/EmployeeMessageController.java @@ -0,0 +1,86 @@ +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.EmployeeMessageServiceI; +import com.zcloud.primeport.dto.EmployeeMessageAddCmd; +import com.zcloud.primeport.dto.EmployeeMessagePageQry; +import com.zcloud.primeport.dto.EmployeeMessageUpdateCmd; +import com.zcloud.primeport.dto.EmployeeMessageUpdateStatusCmd; +import com.zcloud.primeport.dto.clientobject.EmployeeMessageCO; +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-12-18 14:32:14 +*/ +@Api(tags = "用户的进入一级口门的信息") +@RequestMapping("/${application.gateway}/employeeMessage") +@RestController +@AllArgsConstructor +public class EmployeeMessageController { + private final EmployeeMessageServiceI employeeMessageService; + + @ApiOperation("新增") + @PostMapping("/save") + public SingleResponse add(@Validated @RequestBody EmployeeMessageAddCmd cmd) { + SSOUser ssoUser = AuthContext.getCurrentUser(); + return employeeMessageService.add(cmd); + } + + @ApiOperation("分页") + @PostMapping("/list") + public PageResponse page(@RequestBody EmployeeMessagePageQry qry) { + return employeeMessageService.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(employeeMessageService.queryById(id)); + } + + @ApiOperation("删除") + @DeleteMapping("/{id}") + public Response remove(@PathVariable("id") Long id) { + employeeMessageService.remove(id); + return SingleResponse.buildSuccess(); + } + + @ApiOperation("删除多个") + @DeleteMapping("/ids") + public Response removeBatch(@RequestParam Long[] ids) { + employeeMessageService.removeBatch(ids); + return SingleResponse.buildSuccess(); + } + + @ApiOperation("修改") + @PutMapping("/edit") + public SingleResponse edit(@Validated @RequestBody EmployeeMessageUpdateCmd employeeMessageUpdateCmd) { + employeeMessageService.edit(employeeMessageUpdateCmd); + return SingleResponse.buildSuccess(); + } + + @ApiOperation("更新状态") + @PutMapping("/updateStatus") + public SingleResponse updateStatus(@Validated @RequestBody EmployeeMessageUpdateStatusCmd cmd) { + employeeMessageService.updateStatus(cmd); + return SingleResponse.buildSuccess(); + } +} \ No newline at end of file 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 index 7a0f35a..db98d73 100644 --- a/web-adapter/src/main/java/com/zcloud/primeport/web/VehicleMessageController.java +++ b/web-adapter/src/main/java/com/zcloud/primeport/web/VehicleMessageController.java @@ -89,5 +89,7 @@ public class VehicleMessageController { return SingleResponse.of(infoById); } + + } diff --git a/web-app/src/main/java/com/zcloud/primeport/command/EmployeeMessageAddExe.java b/web-app/src/main/java/com/zcloud/primeport/command/EmployeeMessageAddExe.java new file mode 100644 index 0000000..5dacd52 --- /dev/null +++ b/web-app/src/main/java/com/zcloud/primeport/command/EmployeeMessageAddExe.java @@ -0,0 +1,41 @@ +package com.zcloud.primeport.command; + +import com.alibaba.cola.exception.BizException; +import com.zcloud.primeport.domain.gateway.EmployeeMessageGateway; +import com.zcloud.primeport.domain.model.EmployeeMessageE; +import com.zcloud.primeport.dto.EmployeeMessageAddCmd; +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-12-18 14:32:14 +*/ +@Component +@AllArgsConstructor +public class EmployeeMessageAddExe { + private final EmployeeMessageGateway employeeMessageGateway; + + @Transactional(rollbackFor = Exception.class) + public boolean execute(EmployeeMessageAddCmd cmd) { + EmployeeMessageE employeeMessageE = new EmployeeMessageE(); + BeanUtils.copyProperties(cmd, employeeMessageE); + boolean res = false; + try { + res = employeeMessageGateway.add(employeeMessageE); + } 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/EmployeeMessageRemoveExe.java b/web-app/src/main/java/com/zcloud/primeport/command/EmployeeMessageRemoveExe.java new file mode 100644 index 0000000..0e39f2d --- /dev/null +++ b/web-app/src/main/java/com/zcloud/primeport/command/EmployeeMessageRemoveExe.java @@ -0,0 +1,39 @@ +package com.zcloud.primeport.command; +import com.alibaba.cola.exception.BizException; +import com.zcloud.primeport.domain.gateway.EmployeeMessageGateway; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; + + + + +/** +* web-app +* @Author guoyuepeng +* @Date 2025-12-18 14:32:15 +*/ +@Component +@AllArgsConstructor +public class EmployeeMessageRemoveExe { + private final EmployeeMessageGateway employeeMessageGateway; + + @Transactional(rollbackFor = Exception.class) + public boolean execute(Long id) { + boolean res = employeeMessageGateway.deletedEmployeeMessageById(id); + if(!res){ + throw new BizException("删除失败"); + } + return true; + } + + @Transactional(rollbackFor = Exception.class) + public boolean execute(Long[] ids) { + boolean res = employeeMessageGateway.deletedEmployeeMessageByIds(ids); + if(!res){ + throw new BizException("删除失败"); + } + return true; + } +} + diff --git a/web-app/src/main/java/com/zcloud/primeport/command/EmployeeMessageUpdateExe.java b/web-app/src/main/java/com/zcloud/primeport/command/EmployeeMessageUpdateExe.java new file mode 100644 index 0000000..7693d1a --- /dev/null +++ b/web-app/src/main/java/com/zcloud/primeport/command/EmployeeMessageUpdateExe.java @@ -0,0 +1,46 @@ +package com.zcloud.primeport.command; +import com.alibaba.cola.exception.BizException; +import com.zcloud.primeport.domain.gateway.EmployeeMessageGateway; +import com.zcloud.primeport.domain.model.EmployeeMessageE; +import com.zcloud.primeport.dto.EmployeeMessageUpdateCmd; +import com.zcloud.primeport.dto.EmployeeMessageUpdateStatusCmd; +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-12-18 14:32:15 +*/ +@Component +@AllArgsConstructor +public class EmployeeMessageUpdateExe { + private final EmployeeMessageGateway employeeMessageGateway; + + @Transactional(rollbackFor = Exception.class) + public void execute(EmployeeMessageUpdateCmd employeeMessageUpdateCmd) { + EmployeeMessageE employeeMessageE = new EmployeeMessageE(); + BeanUtils.copyProperties(employeeMessageUpdateCmd, employeeMessageE); + boolean res = employeeMessageGateway.update(employeeMessageE); + if (!res) { + throw new BizException("修改失败"); + } + } + + @Transactional(rollbackFor = Exception.class) + public void execute(EmployeeMessageUpdateStatusCmd cmd) { + EmployeeMessageE employeeMessageE = new EmployeeMessageE(); + employeeMessageE.setId(cmd.getId()); + employeeMessageE.setStatus(cmd.getStatus()); + boolean res = employeeMessageGateway.updateStatus(employeeMessageE); + if (!res) { + throw new BizException("状态更新失败"); + } + } +} \ No newline at end of file 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 index 724d429..c600260 100644 --- a/web-app/src/main/java/com/zcloud/primeport/command/VehicleMessageUpdateExe.java +++ b/web-app/src/main/java/com/zcloud/primeport/command/VehicleMessageUpdateExe.java @@ -55,7 +55,7 @@ public class VehicleMessageUpdateExe { if (!Tools.isEmpty(vehicleMessageUpdateCmd.getApprovalUserId())){ //新增一个审批记录 VehicleAuditLogE vehicleAuditLogE = new VehicleAuditLogE(); BeanUtils.copyProperties(vehicleMessageUpdateCmd, vehicleAuditLogE); - vehicleAuditLogE.addForVehicleLog(vehicleAuditLogE,vehicleMessageUpdateCmd.getId(),2); // 添加审批信息 +// vehicleAuditLogE.addForVehicleLog(vehicleAuditLogE,vehicleMessageUpdateCmd.getId(),2); // 添加审批信息 res = vehicleAuditLogGateway.add(vehicleAuditLogE); // 添加审批信息 } if (!res) { diff --git a/web-app/src/main/java/com/zcloud/primeport/command/convertor/EmployeeMessageCoConvertor.java b/web-app/src/main/java/com/zcloud/primeport/command/convertor/EmployeeMessageCoConvertor.java new file mode 100644 index 0000000..bfe2daf --- /dev/null +++ b/web-app/src/main/java/com/zcloud/primeport/command/convertor/EmployeeMessageCoConvertor.java @@ -0,0 +1,26 @@ +package com.zcloud.primeport.command.convertor; + +import com.zcloud.primeport.dto.clientobject.EmployeeMessageCO; +import com.zcloud.primeport.persistence.dataobject.EmployeeMessageDO; +import org.mapstruct.Mapper; + +import java.util.List; + + + +/** +* web-app +* @Author guoyuepeng +* @Date 2025-12-18 14:32:14 +*/ +@Mapper(componentModel = "spring") +public interface EmployeeMessageCoConvertor { + /** + * @param employeeMessageDOs + * @return + */ + List converDOsToCOs(List employeeMessageDOs); + + EmployeeMessageCO converDOToCO(EmployeeMessageDO employeeMessageDO); +} + diff --git a/web-app/src/main/java/com/zcloud/primeport/command/query/EmployeeMessageQueryExe.java b/web-app/src/main/java/com/zcloud/primeport/command/query/EmployeeMessageQueryExe.java new file mode 100644 index 0000000..a0e0d9e --- /dev/null +++ b/web-app/src/main/java/com/zcloud/primeport/command/query/EmployeeMessageQueryExe.java @@ -0,0 +1,50 @@ +package com.zcloud.primeport.command.query; + +import com.zcloud.gbscommon.utils.PageQueryHelper; +import com.alibaba.cola.dto.PageResponse; +import com.zcloud.primeport.command.convertor.EmployeeMessageCoConvertor; +import com.zcloud.primeport.dto.EmployeeMessagePageQry; +import com.zcloud.primeport.dto.clientobject.EmployeeMessageCO; +import com.zcloud.primeport.persistence.dataobject.EmployeeMessageDO; +import com.zcloud.primeport.persistence.repository.EmployeeMessageRepository; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Component; + +import java.util.List; +import java.util.Map; + + + +/** +* web-app +* @Author guoyuepeng +* @Date 2025-12-18 14:32:14 +*/ +@Component +@AllArgsConstructor +public class EmployeeMessageQueryExe { + private final EmployeeMessageRepository employeeMessageRepository; + private final EmployeeMessageCoConvertor employeeMessageCoConvertor; + + /** + * 根据id查询 + * @param id + * @return + */ + public EmployeeMessageCO queryById(Long id) { + return employeeMessageCoConvertor.converDOToCO(employeeMessageRepository.getById(id)); + } + /** + * 分页 + * + * @param employeeMessagePageQry + * @return + */ + public PageResponse execute(EmployeeMessagePageQry employeeMessagePageQry) { + Map params = PageQueryHelper.toHashMap(employeeMessagePageQry); + PageResponse pageResponse = employeeMessageRepository.listPage(params); + List examCenterCOS = employeeMessageCoConvertor.converDOsToCOs(pageResponse.getData()); + return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex()); + } +} + 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 index eeee468..57a4c78 100644 --- 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 @@ -75,5 +75,13 @@ public class VehicleMessageQueryExe { VehicleMessageCO vehicleMessageCO = vehicleMessageCoConvertor.converDOsToCOs(info); return vehicleMessageCO; } -} - + + /** + * 根据车牌号查询启用状态的数据数量 + * @param licenceNo 车牌号 + * @return 启用状态的数据数量,如果没有则返回0 + */ + public int countEnabledByLicenceNo(String licenceNo) { + return vehicleMessageRepository.countEnabledByLicenceNo(licenceNo); + } +} \ No newline at end of file diff --git a/web-app/src/main/java/com/zcloud/primeport/service/EmployeeMessageServiceImpl.java b/web-app/src/main/java/com/zcloud/primeport/service/EmployeeMessageServiceImpl.java new file mode 100644 index 0000000..bccf982 --- /dev/null +++ b/web-app/src/main/java/com/zcloud/primeport/service/EmployeeMessageServiceImpl.java @@ -0,0 +1,67 @@ +package com.zcloud.primeport.service; +import com.alibaba.cola.dto.PageResponse; +import com.alibaba.cola.dto.SingleResponse; +import com.zcloud.primeport.api.EmployeeMessageServiceI; +import com.zcloud.primeport.command.EmployeeMessageAddExe; +import com.zcloud.primeport.command.EmployeeMessageRemoveExe; +import com.zcloud.primeport.command.EmployeeMessageUpdateExe; +import com.zcloud.primeport.command.query.EmployeeMessageQueryExe; +import com.zcloud.primeport.dto.EmployeeMessageAddCmd; +import com.zcloud.primeport.dto.EmployeeMessagePageQry; +import com.zcloud.primeport.dto.EmployeeMessageUpdateCmd; +import com.zcloud.primeport.dto.EmployeeMessageUpdateStatusCmd; +import com.zcloud.primeport.dto.clientobject.EmployeeMessageCO; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Service; + +/** +* web-app +* @Author guoyuepeng +* @Date 2025-12-18 14:32:15 +*/ +@Service +@AllArgsConstructor +public class EmployeeMessageServiceImpl implements EmployeeMessageServiceI { + private final EmployeeMessageAddExe employeeMessageAddExe; + private final EmployeeMessageUpdateExe employeeMessageUpdateExe; + private final EmployeeMessageRemoveExe employeeMessageRemoveExe; + private final EmployeeMessageQueryExe employeeMessageQueryExe; + + @Override + public EmployeeMessageCO queryById(Long id){ + return employeeMessageQueryExe.queryById(id); + } + + @Override + public PageResponse listPage(EmployeeMessagePageQry qry){ + + return employeeMessageQueryExe.execute(qry); + } + + @Override + public SingleResponse add(EmployeeMessageAddCmd cmd) { + + employeeMessageAddExe.execute(cmd); + return SingleResponse.buildSuccess(); + } + + @Override + public void edit(EmployeeMessageUpdateCmd employeeMessageUpdateCmd) { + employeeMessageUpdateExe.execute(employeeMessageUpdateCmd); + } + + @Override + public void updateStatus(EmployeeMessageUpdateStatusCmd cmd) { + employeeMessageUpdateExe.execute(cmd); + } + + @Override + public void remove(Long id) { + employeeMessageRemoveExe.execute(id); + } + + @Override + public void removeBatch(Long[] ids) { + employeeMessageRemoveExe.execute(ids); + } +} \ No newline at end of file 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 index fd9f6e2..bca3b45 100644 --- a/web-app/src/main/java/com/zcloud/primeport/service/VehicleMessageServiceImpl.java +++ b/web-app/src/main/java/com/zcloud/primeport/service/VehicleMessageServiceImpl.java @@ -85,6 +85,10 @@ public class VehicleMessageServiceImpl implements VehicleMessageServiceI { VehicleMessageCO vehicleMessageCO = vehicleMessageQueryExe.infoByLicenceNo(licenceNo); return vehicleMessageCO; } + + @Override + public int countEnabledByLicenceNo(String licenceNo) { + return vehicleMessageQueryExe.countEnabledByLicenceNo(licenceNo); + } -} - +} \ No newline at end of file diff --git a/web-client/src/main/java/com/zcloud/primeport/api/EmployeeMessageServiceI.java b/web-client/src/main/java/com/zcloud/primeport/api/EmployeeMessageServiceI.java new file mode 100644 index 0000000..4fcfc83 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/primeport/api/EmployeeMessageServiceI.java @@ -0,0 +1,29 @@ +package com.zcloud.primeport.api; +import com.alibaba.cola.dto.PageResponse; +import com.alibaba.cola.dto.SingleResponse; +import com.zcloud.primeport.dto.EmployeeMessageAddCmd; +import com.zcloud.primeport.dto.EmployeeMessagePageQry; +import com.zcloud.primeport.dto.EmployeeMessageUpdateCmd; +import com.zcloud.primeport.dto.EmployeeMessageUpdateStatusCmd; +import com.zcloud.primeport.dto.clientobject.EmployeeMessageCO; + +/** +* web-client +* @Author guoyuepeng +* @Date 2025-12-18 14:32:15 +*/ +public interface EmployeeMessageServiceI { + EmployeeMessageCO queryById(Long id); + + PageResponse listPage(EmployeeMessagePageQry qry); + + SingleResponse add(EmployeeMessageAddCmd cmd); + + void edit(EmployeeMessageUpdateCmd cmd); + + void updateStatus(EmployeeMessageUpdateStatusCmd cmd); + + void remove(Long id); + + void removeBatch(Long[] ids); +} \ No newline at end of file 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 index f5a8bf4..b6d906d 100644 --- a/web-client/src/main/java/com/zcloud/primeport/api/VehicleMessageServiceI.java +++ b/web-client/src/main/java/com/zcloud/primeport/api/VehicleMessageServiceI.java @@ -35,7 +35,12 @@ public interface VehicleMessageServiceI { VehicleMessageCO infoByLicenceNo(String licenceNo ); + + /** + * 根据车牌号查询启用状态的数据数量 + * @param licenceNo 车牌号 + * @return 启用状态的数据数量,如果没有则返回0 + */ + int countEnabledByLicenceNo(String licenceNo); - -} - +} \ No newline at end of file diff --git a/web-client/src/main/java/com/zcloud/primeport/dto/EmployeeMessageAddCmd.java b/web-client/src/main/java/com/zcloud/primeport/dto/EmployeeMessageAddCmd.java new file mode 100644 index 0000000..1ab5f96 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/primeport/dto/EmployeeMessageAddCmd.java @@ -0,0 +1,38 @@ +package com.zcloud.primeport.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.*; + +/** +* web-client +* @Author guoyuepeng +* @Date 2025-12-18 14:32:14 +*/ +@EqualsAndHashCode(callSuper = true) +@Data +@NoArgsConstructor +@AllArgsConstructor +public class EmployeeMessageAddCmd extends Command { + @ApiModelProperty(value = "用户ID", name = "userId", required = true) + @NotNull(message = "用户ID不能为空") + private Long userId; + + @ApiModelProperty(value = "是否有进入一级口门的权限(0-无权限;1有权限)", name = "isPermission", required = true) + @NotNull(message = "是否有进入一级口门的权限(0-无权限;1有权限)不能为空") + private Integer isPermission; + + @ApiModelProperty(value = "是否有人脸权限", name = "isUserFace", required = true) + @NotNull(message = "是否有人脸权限不能为空") + private Integer isUserFace; + + @ApiModelProperty(value = "可以进入的口门信息", name = "mkmjScope", required = true) + @NotEmpty(message = "可以进入的口门信息不能为空") + private String mkmjScope; + +} + diff --git a/web-client/src/main/java/com/zcloud/primeport/dto/EmployeeMessagePageQry.java b/web-client/src/main/java/com/zcloud/primeport/dto/EmployeeMessagePageQry.java new file mode 100644 index 0000000..801a755 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/primeport/dto/EmployeeMessagePageQry.java @@ -0,0 +1,35 @@ +package com.zcloud.primeport.dto; + + +import com.alibaba.cola.dto.PageQuery; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + + + +/** +* web-client +* @Author guoyuepeng +* @Date 2025-12-18 14:32:14 +*/ +@Data +public class EmployeeMessagePageQry extends PageQuery { + +/** +* 查询条件操作前缀,支持以下几种数据库查询操作: +* - `like`: 模糊匹配查询,对应SQL的LIKE操作符 +* - `eq`: 等值查询,对应SQL的=操作符 +* - `gt`: 大于比较查询 +* - `lt`: 小于比较查询 +* - `ge`: 大于等于比较查询 +* - `le`: 小于等于比较查询 +* - `ne`: 不等比较查询,对应SQL的!=操作符 +*/ + private Long likeUserId; + + private Long eqDepartmentId; + + private String likeName; + +} + diff --git a/web-client/src/main/java/com/zcloud/primeport/dto/EmployeeMessageUpdateCmd.java b/web-client/src/main/java/com/zcloud/primeport/dto/EmployeeMessageUpdateCmd.java new file mode 100644 index 0000000..85ccaf0 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/primeport/dto/EmployeeMessageUpdateCmd.java @@ -0,0 +1,38 @@ +package com.zcloud.primeport.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.*; + +/** +* web-client +* @Author guoyuepeng +* @Date 2025-12-18 14:32:15 +*/ +@EqualsAndHashCode(callSuper = true) +@Data +@NoArgsConstructor +@AllArgsConstructor +public class EmployeeMessageUpdateCmd extends Command { + @ApiModelProperty(value = "id", name = "id", required = true) + @NotNull(message = "id不能为空") + private Long id; + @ApiModelProperty(value = "用户ID", name = "userId", required = true) + @NotNull(message = "用户ID不能为空") + private Long userId; + @ApiModelProperty(value = "是否有进入一级口门的权限(0-无权限;1有权限)", name = "isPermission", required = true) + @NotNull(message = "是否有进入一级口门的权限(0-无权限;1有权限)不能为空") + private Integer isPermission; + @ApiModelProperty(value = "是否有人脸权限", name = "isUserFace", required = true) + @NotNull(message = "是否有人脸权限不能为空") + private Integer isUserFace; + @ApiModelProperty(value = "可以进入的口门信息", name = "mkmjScope", required = true) + @NotEmpty(message = "可以进入的口门信息不能为空") + private String mkmjScope; +} + diff --git a/web-client/src/main/java/com/zcloud/primeport/dto/clientobject/EmployeeMessageCO.java b/web-client/src/main/java/com/zcloud/primeport/dto/clientobject/EmployeeMessageCO.java new file mode 100644 index 0000000..90800b9 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/primeport/dto/clientobject/EmployeeMessageCO.java @@ -0,0 +1,69 @@ +package com.zcloud.primeport.dto.clientobject; + +import com.alibaba.cola.dto.ClientObject; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import java.sql.Date; + + + +/** +* web-client +* @Author guoyuepeng +* @Date 2025-12-18 14:32:14 +*/ +@Data +public class EmployeeMessageCO extends ClientObject { + //id + @ApiModelProperty(value = "id") + private Long id; + //用户ID + @ApiModelProperty(value = "用户ID") + private Long userId; + //是否有进入一级口门的权限(0-无权限;1有权限) + @ApiModelProperty(value = "是否有进入一级口门的权限(0-无权限;1有权限)") + private Integer isPermission; + //是否有人脸权限 + @ApiModelProperty(value = "是否有人脸权限") + private Integer isUserFace; + //可以进入的口门信息 + @ApiModelProperty(value = "可以进入的口门信息") + private String mkmjScope; + //状态:0-停用 1-启用 + @ApiModelProperty(value = "状态:0-停用 1-启用") + private Integer status; + //删除标识 + @ApiModelProperty(value = "删除标识") + private String deleteEnum; + + /** + * 部门 + * 姓名 + * 岗位 + * 手机号 + * 车辆数 其他接口的获取车辆数接口 + * 门禁权限 (就是是否有进入一级口门的权限(0-无权限;1有权限)) + * 是否录入人脸 (是否有人脸权限) + */ + + // 部门 + @ApiModelProperty(value = "部门") + private String department; + + // 姓名 + @ApiModelProperty(value = "姓名") + private String name; + + // 岗位 + @ApiModelProperty(value = "岗位") + private String post; + + // 手机号 + @ApiModelProperty(value = "手机号") + private String phoneNumber; + + // 车辆数 + @ApiModelProperty(value = "车辆数") + private Integer vehicleCount; +} \ No newline at end of file diff --git a/web-domain/src/main/java/com/zcloud/primeport/domain/gateway/EmployeeMessageGateway.java b/web-domain/src/main/java/com/zcloud/primeport/domain/gateway/EmployeeMessageGateway.java new file mode 100644 index 0000000..1811e04 --- /dev/null +++ b/web-domain/src/main/java/com/zcloud/primeport/domain/gateway/EmployeeMessageGateway.java @@ -0,0 +1,32 @@ +package com.zcloud.primeport.domain.gateway; + +import com.zcloud.primeport.domain.model.EmployeeMessageE; + +/** +* web-domain +* @Author guoyuepeng +* @Date 2025-12-18 14:32:14 +*/ +public interface EmployeeMessageGateway { + + /** + * 新增 + */ + Boolean add(EmployeeMessageE employeeMessageE) ; + + /** + * 修改 + */ + Boolean update(EmployeeMessageE employeeMessageE); + + /** + * 更新状态 + */ + Boolean updateStatus(EmployeeMessageE employeeMessageE); + + /** + * 删除 + */ + Boolean deletedEmployeeMessageById(Long id); + Boolean deletedEmployeeMessageByIds(Long[] id); +} \ No newline at end of file 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 index 182de3f..7bff8fe 100644 --- 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 @@ -37,5 +37,6 @@ public interface VehicleMessageGateway { */ VehicleMessageE getInfoByLicenceNo(String licenceNo); + } diff --git a/web-domain/src/main/java/com/zcloud/primeport/domain/model/EmployeeMessageE.java b/web-domain/src/main/java/com/zcloud/primeport/domain/model/EmployeeMessageE.java new file mode 100644 index 0000000..4f69d76 --- /dev/null +++ b/web-domain/src/main/java/com/zcloud/primeport/domain/model/EmployeeMessageE.java @@ -0,0 +1,21 @@ +package com.zcloud.primeport.domain.model; +import com.jjb.saas.framework.domain.model.BaseE; +import lombok.Data; +/** +* web-domain +* @Author guoyuepeng +* @Date 2025-12-18 14:32:14 +*/ +@Data +public class EmployeeMessageE extends BaseE { + //用户ID + private Long userId; + //是否有进入一级口门的权限(0-无权限;1有权限) + private Integer isPermission; + //是否有人脸权限 + private Integer isUserFace; + //可以进入的口门信息 + private String mkmjScope; + //状态:0-停用 1-启用 + private Integer status; +} \ No newline at end of file diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/gatewayimpl/EmployeeMessageGatewayImpl.java b/web-infrastructure/src/main/java/com/zcloud/primeport/gatewayimpl/EmployeeMessageGatewayImpl.java new file mode 100644 index 0000000..b341cfc --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/gatewayimpl/EmployeeMessageGatewayImpl.java @@ -0,0 +1,58 @@ +package com.zcloud.primeport.gatewayimpl; + +import com.zcloud.primeport.domain.gateway.EmployeeMessageGateway; +import com.zcloud.primeport.domain.model.EmployeeMessageE; +import com.zcloud.primeport.persistence.dataobject.EmployeeMessageDO; +import com.zcloud.primeport.persistence.repository.EmployeeMessageRepository; +import lombok.AllArgsConstructor; +import com.zcloud.gbscommon.utils.Tools; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; + +import java.util.Arrays; + +/** +* web-infrastructure +* @Author guoyuepeng +* @Date 2025-12-18 14:32:14 +*/ +@Service +@AllArgsConstructor +public class EmployeeMessageGatewayImpl implements EmployeeMessageGateway { + private final EmployeeMessageRepository employeeMessageRepository; + + @Override + public Boolean add(EmployeeMessageE employeeMessageE) { + EmployeeMessageDO d = new EmployeeMessageDO(); + BeanUtils.copyProperties(employeeMessageE, d); + employeeMessageRepository.save(d); + return true; + } + + @Override + public Boolean update(EmployeeMessageE employeeMessageE) { + EmployeeMessageDO d = new EmployeeMessageDO(); + BeanUtils.copyProperties(employeeMessageE, d); + employeeMessageRepository.updateById(d); + return true; + } + + @Override + public Boolean updateStatus(EmployeeMessageE employeeMessageE) { + EmployeeMessageDO d = new EmployeeMessageDO(); + d.setId(employeeMessageE.getId()); + d.setStatus(employeeMessageE.getStatus()); + employeeMessageRepository.updateById(d); + return true; + } + + @Override + public Boolean deletedEmployeeMessageById(Long id) { + return employeeMessageRepository.removeById(id); + } + + @Override + public Boolean deletedEmployeeMessageByIds(Long[] ids) { + return employeeMessageRepository.removeByIds(Arrays.asList(ids)); + } +} diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/dataobject/EmployeeMessageDO.java b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/dataobject/EmployeeMessageDO.java new file mode 100644 index 0000000..1bd1111 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/dataobject/EmployeeMessageDO.java @@ -0,0 +1,62 @@ +package com.zcloud.primeport.persistence.dataobject; + + +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; +import lombok.NoArgsConstructor; + +/** +* web-infrastructure +* @Author guoyuepeng +* @Date 2025-12-18 14:32:14 +*/ +@Data +@TableName("employee_message") +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) + +public class EmployeeMessageDO extends BaseDO { + //用户ID + @ApiModelProperty(value = "用户ID") + private Long userId; + //是否有进入一级口门的权限(0-无权限;1有权限) + @ApiModelProperty(value = "是否有进入一级口门的权限(0-无权限;1有权限)") + private Integer isPermission; + //是否有人脸权限 + @ApiModelProperty(value = "是否有人脸权限") + private Integer isUserFace; + //可以进入的口门信息 + @ApiModelProperty(value = "可以进入的口门信息") + private String mkmjScope; + //状态:0-停用 1-启用 + @ApiModelProperty(value = "状态:0-停用 1-启用") + private Integer status; + + // 部门 + @ApiModelProperty(value = "部门") + private String department; + + // 姓名 + @ApiModelProperty(value = "姓名") + private String name; + + // 岗位 + @ApiModelProperty(value = "岗位") + private String post; + + // 手机号 + @ApiModelProperty(value = "手机号") + private String phoneNumber; + + // 车辆数 + @ApiModelProperty(value = "车辆数") + private Integer vehicleCount; + +// public EmployeeMessageDO(String ) { +// this. = ; +// } + +} diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/mapper/EmployeeMessageMapper.java b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/mapper/EmployeeMessageMapper.java new file mode 100644 index 0000000..1a5a6d3 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/mapper/EmployeeMessageMapper.java @@ -0,0 +1,15 @@ +package com.zcloud.primeport.persistence.mapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.zcloud.primeport.persistence.dataobject.EmployeeMessageDO; +import org.apache.ibatis.annotations.Mapper; + +/** +* web-infrastructure +* @Author guoyuepeng +* @Date 2025-12-18 14:32:14 +*/ +@Mapper +public interface EmployeeMessageMapper extends BaseMapper { + + } + diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/EmployeeMessageRepository.java b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/EmployeeMessageRepository.java new file mode 100644 index 0000000..a0e62bb --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/EmployeeMessageRepository.java @@ -0,0 +1,17 @@ +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.EmployeeMessageDO; + +import java.util.Map; + +/** +* web-infrastructure +* @Author guoyuepeng +* @Date 2025-12-18 14:32:15 +*/ +public interface EmployeeMessageRepository extends BaseRepository { + PageResponse listPage(Map params); +} + 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 index 2e701aa..4cb9540 100644 --- 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 @@ -28,5 +28,12 @@ public interface VehicleMessageRepository extends BaseRepository listPageFromViolations(Map parmas); + + /** + * 根据车牌号查询启用状态的数据数量 + * @param licenceNo 车牌号 + * @return 启用状态的数据数量,如果没有则返回0 + */ + int countEnabledByLicenceNo(String licenceNo); -} +} \ No newline at end of file diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/impl/EmployeeMessageRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/impl/EmployeeMessageRepositoryImpl.java new file mode 100644 index 0000000..a74cf03 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/impl/EmployeeMessageRepositoryImpl.java @@ -0,0 +1,35 @@ +package com.zcloud.primeport.persistence.repository.impl; + +import com.alibaba.cola.dto.PageResponse; +import com.jjb.saas.framework.repository.common.PageHelper; +import com.zcloud.gbscommon.utils.PageQueryHelper; +import com.zcloud.gbscommon.utils.Query; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl; +import com.zcloud.primeport.persistence.dataobject.EmployeeMessageDO; +import com.zcloud.primeport.persistence.mapper.EmployeeMessageCustomMapper; +import com.zcloud.primeport.persistence.mapper.EmployeeMessageMapper; +import com.zcloud.primeport.persistence.repository.EmployeeMessageRepository; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import java.util.Map; + +/** +* web-infrastructure +* @Author guoyuepeng +* @Date 2025-12-18 14:32:15 +*/ +@Service +@RequiredArgsConstructor +public class EmployeeMessageRepositoryImpl extends BaseRepositoryImpl implements EmployeeMessageRepository { + private final EmployeeMessageMapper employeeMessageMapper; + private final EmployeeMessageCustomMapper employeeMessageCustomMapper; + + @Override + public PageResponse listPage(Map params) { + IPage iPage = new Query().getPage(params); + // 使用自定义Mapper通过user视图和employee_message表关联查询 + IPage result = employeeMessageCustomMapper.selectPageFromUserView(iPage, params); + return PageHelper.pageToResponse(result, result.getRecords()); + } +} \ No newline at end of file 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 index 016ce57..809b056 100644 --- 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 @@ -73,6 +73,14 @@ public class VehicleMessageRepositoryImpl extends BaseRepositoryImpl queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("licence_no", licenceNo); + queryWrapper.eq("delete_enum", "FALSE"); + // 假设 isAudit 值为 2(审核通过)时表示启用状态 + queryWrapper.eq("is_state", 2); + return vehicleMessageMapper.selectCount(queryWrapper).intValue(); + } } - diff --git a/web-infrastructure/src/main/resources/mapper/EmployeeMessageMapper.xml b/web-infrastructure/src/main/resources/mapper/EmployeeMessageMapper.xml new file mode 100644 index 0000000..339c8c5 --- /dev/null +++ b/web-infrastructure/src/main/resources/mapper/EmployeeMessageMapper.xml @@ -0,0 +1,8 @@ + + + + + + +