From 80cd60006750a7d142481617cf32b4917e658636 Mon Sep 17 00:00:00 2001 From: wxc <191104855@qq.com> Date: Wed, 16 Oct 2024 10:40:02 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E5=AE=8C=E5=96=84=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E3=80=82=20fit:=20=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E6=A8=A1=E5=9E=8B=E7=BA=BF=E7=B4=A2=E5=AE=9E=E4=BD=93=E3=80=81?= =?UTF-8?q?service=E3=80=81mapper?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sensitivePerception/ModelController.java | 27 +++++++++++- .../controller/system/PoliceController.java | 5 +++ .../supervision/mapper/ModelClueMapper.java | 8 ++++ .../supervision/pojo/entity/ModelClue.java | 43 +++++++++++++++++++ .../supervision/pojo/entity/SupPolice.java | 4 +- .../biutag/supervision/pojo/vo/ModelTree.java | 34 +++++++++++++++ .../supervision/service/BaseUserService.java | 9 ++++ .../supervision/service/ModelClueService.java | 11 +++++ src/main/resources/mapper/SupPoliceMapper.xml | 2 +- 9 files changed, 139 insertions(+), 4 deletions(-) create mode 100644 src/main/java/com/biutag/supervision/mapper/ModelClueMapper.java create mode 100644 src/main/java/com/biutag/supervision/pojo/entity/ModelClue.java create mode 100644 src/main/java/com/biutag/supervision/pojo/vo/ModelTree.java create mode 100644 src/main/java/com/biutag/supervision/service/ModelClueService.java diff --git a/src/main/java/com/biutag/supervision/controller/sensitivePerception/ModelController.java b/src/main/java/com/biutag/supervision/controller/sensitivePerception/ModelController.java index 7f8bec4..9bd31a8 100644 --- a/src/main/java/com/biutag/supervision/controller/sensitivePerception/ModelController.java +++ b/src/main/java/com/biutag/supervision/controller/sensitivePerception/ModelController.java @@ -6,22 +6,29 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.biutag.supervision.common.UserContextHolder; import com.biutag.supervision.pojo.Result; import com.biutag.supervision.pojo.entity.Model; +import com.biutag.supervision.pojo.entity.ModelClass; import com.biutag.supervision.pojo.model.UserAuth; import com.biutag.supervision.pojo.param.ModelQueryParam; +import com.biutag.supervision.pojo.vo.ModelTree; +import com.biutag.supervision.service.ModelClassService; import com.biutag.supervision.service.ModelService; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.List; import java.util.Objects; -@RequestMapping("model") +@RequestMapping("models") @RequiredArgsConstructor @RestController public class ModelController { private final ModelService modelService; + private final ModelClassService modelClassService; + @GetMapping public Result> list(ModelQueryParam queryParam) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); @@ -33,6 +40,24 @@ public class ModelController { return Result.success(modelService.page(new Page<>(queryParam.getCurrent(), queryParam.getSize()), queryWrapper)); } + @GetMapping("tree") + public Result> tree() { + List modelClasses = modelClassService.list(); + List models = modelService.list(); + List list = new ArrayList<>(); + list.addAll(modelClasses.stream().map(item -> { + ModelTree node = new ModelTree(); + node.setValue(item.getId()); + node.setLabel(item.getName()); + node.setType("modelClass"); + List children = models.stream().filter(model -> item.getId().equals(model.getClassId())).map(ModelTree::of).toList(); + node.setChildren(children); + return node; + }).toList()); + list.addAll(models.stream().filter(model -> Objects.isNull(model.getClassId())).map(ModelTree::of).toList()); + return Result.success(list); + } + @PostMapping public Result add(@RequestBody Model model) { model.setCreateTime(LocalDateTime.now()); diff --git a/src/main/java/com/biutag/supervision/controller/system/PoliceController.java b/src/main/java/com/biutag/supervision/controller/system/PoliceController.java index faf89e6..5a6a7c2 100644 --- a/src/main/java/com/biutag/supervision/controller/system/PoliceController.java +++ b/src/main/java/com/biutag/supervision/controller/system/PoliceController.java @@ -51,6 +51,11 @@ public class PoliceController { return Result.success(policeService.updateById(police)); } + @DeleteMapping("{id}") + public Result del(@PathVariable String id) { + return Result.success(policeService.removeById(id)); + } + @GetMapping("{departId}/all") public Result> all(@PathVariable String departId) { return Result.success(policeService.listAllByDepartId(departId)); diff --git a/src/main/java/com/biutag/supervision/mapper/ModelClueMapper.java b/src/main/java/com/biutag/supervision/mapper/ModelClueMapper.java new file mode 100644 index 0000000..3a5e8e0 --- /dev/null +++ b/src/main/java/com/biutag/supervision/mapper/ModelClueMapper.java @@ -0,0 +1,8 @@ +package com.biutag.supervision.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.biutag.supervision.pojo.entity.ModelClue; + +public interface ModelClueMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/src/main/java/com/biutag/supervision/pojo/entity/ModelClue.java b/src/main/java/com/biutag/supervision/pojo/entity/ModelClue.java new file mode 100644 index 0000000..f36e0b0 --- /dev/null +++ b/src/main/java/com/biutag/supervision/pojo/entity/ModelClue.java @@ -0,0 +1,43 @@ +package com.biutag.supervision.pojo.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import lombok.Getter; +import lombok.Setter; + +import java.time.LocalDateTime; + +@Setter +@Getter +public class ModelClue { + + // + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + // + @TableField("model_id") + private Integer modelId; + + // 涉及单位 + @TableField("involve_depart_name") + private String involveDepartName; + + // 涉及人员 + @TableField("involve_personnel_name") + private String involvePersonnelName; + + // 预警内容 + @TableField("thing_desc") + private String thingDesc; + + // 分发状态 + @TableField("distribution_staus") + private String distributionStaus; + + // + @TableField("create_time") + private LocalDateTime createTime; + +} \ No newline at end of file diff --git a/src/main/java/com/biutag/supervision/pojo/entity/SupPolice.java b/src/main/java/com/biutag/supervision/pojo/entity/SupPolice.java index 19b1c09..d2d8e7b 100644 --- a/src/main/java/com/biutag/supervision/pojo/entity/SupPolice.java +++ b/src/main/java/com/biutag/supervision/pojo/entity/SupPolice.java @@ -6,7 +6,7 @@ import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Getter; import lombok.Setter; -import java.time.LocalDateTime; +import java.time.LocalDate; @Setter @Getter @@ -138,7 +138,7 @@ public class SupPolice { // 入职日期 @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd") - private LocalDateTime employmentDate; + private LocalDate employmentDate; // 警员角色 private String policeRole; diff --git a/src/main/java/com/biutag/supervision/pojo/vo/ModelTree.java b/src/main/java/com/biutag/supervision/pojo/vo/ModelTree.java new file mode 100644 index 0000000..05db427 --- /dev/null +++ b/src/main/java/com/biutag/supervision/pojo/vo/ModelTree.java @@ -0,0 +1,34 @@ +package com.biutag.supervision.pojo.vo; + +import com.biutag.supervision.pojo.entity.Model; +import lombok.Getter; +import lombok.Setter; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author wxc + * @date 2024/10/15 + */ +@Setter +@Getter +public class ModelTree { + + private Integer value; + + private String label; + + private String type; + + private List children = new ArrayList<>(); + + public static ModelTree of(Model model) { + ModelTree child = new ModelTree(); + child.setValue(model.getId()); + child.setLabel(model.getModelName()); + child.setType("model"); + return child; + } + +} diff --git a/src/main/java/com/biutag/supervision/service/BaseUserService.java b/src/main/java/com/biutag/supervision/service/BaseUserService.java index dc5f584..a1dd2f1 100644 --- a/src/main/java/com/biutag/supervision/service/BaseUserService.java +++ b/src/main/java/com/biutag/supervision/service/BaseUserService.java @@ -19,6 +19,7 @@ import org.springframework.stereotype.Service; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; +import java.util.Objects; import java.util.stream.Collectors; @RequiredArgsConstructor @@ -33,6 +34,14 @@ public class BaseUserService extends ServiceImpl { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper() .like(StrUtil.isNotBlank(queryParam.getUserName()), BaseUser::getUserName, queryParam.getUserName()) .like(StrUtil.isNotBlank(queryParam.getNickName()), BaseUser::getNickName, queryParam.getNickName()); + if (Objects.nonNull(queryParam.getRoleId()) && !queryParam.getRoleId().isEmpty()) { + List userIds = roleUserService.list(new LambdaQueryWrapper() + .in(BaseRoleUser::getRoleId, queryParam.getRoleId())).stream().map(BaseRoleUser::getUserId).toList(); + if (userIds.isEmpty()) { + return new Page().setTotal(0).setRecords(new ArrayList<>()); + } + queryWrapper.in(BaseUser::getUserId, userIds); + } Page baseUserPage = page(Page.of(queryParam.getCurrent(), queryParam.getSize()), queryWrapper); if (baseUserPage.getRecords().isEmpty()) { return new Page().setRecords(new ArrayList<>()).setTotal(0); diff --git a/src/main/java/com/biutag/supervision/service/ModelClueService.java b/src/main/java/com/biutag/supervision/service/ModelClueService.java new file mode 100644 index 0000000..f267dad --- /dev/null +++ b/src/main/java/com/biutag/supervision/service/ModelClueService.java @@ -0,0 +1,11 @@ +package com.biutag.supervision.service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.biutag.supervision.pojo.entity.ModelClue; +import com.biutag.supervision.mapper.ModelClueMapper; +import org.springframework.stereotype.Service; + +@Service +public class ModelClueService extends ServiceImpl { + +} diff --git a/src/main/resources/mapper/SupPoliceMapper.xml b/src/main/resources/mapper/SupPoliceMapper.xml index 5cc8481..a7e9447 100644 --- a/src/main/resources/mapper/SupPoliceMapper.xml +++ b/src/main/resources/mapper/SupPoliceMapper.xml @@ -6,7 +6,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"