From ef85dad9c9bfc7290eb9a0482537ab48875cc797 Mon Sep 17 00:00:00 2001 From: lijiayao <13831655+xiao-yao-charge-forward@user.noreply.gitee.com> Date: Mon, 1 Apr 2024 19:47:00 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E7=94=B5=E5=AD=90=E5=9B=B4=E6=A0=8F?= =?UTF-8?q?=E7=BC=96=E8=BE=91=E5=92=8C=E5=8C=96=E5=A4=9A=E8=BE=B9=E5=BD=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/couplet/map/common/domain/Fence.java | 13 ++++++-- .../common/domain/request/FenceConfig.java | 4 --- .../common/domain/request/FenceRequest.java | 3 +- .../server/controller/FenceController.java | 28 ++++++++-------- .../map/server/mapper/FenceMapper.java | 6 ++++ .../map/server/service/FenceService.java | 8 +++++ .../server/service/impl/FenceServiceImpl.java | 21 ++++++------ .../resources/mapper/map/FenAndLogoMapper.xml | 9 ++--- .../main/resources/mapper/map/FenceMapper.xml | 33 ++++++++++++++----- 9 files changed, 82 insertions(+), 43 deletions(-) diff --git a/couplet-modules/couplet-electronic-fence/couplet-electronic-fence-common/src/main/java/com/couplet/map/common/domain/Fence.java b/couplet-modules/couplet-electronic-fence/couplet-electronic-fence-common/src/main/java/com/couplet/map/common/domain/Fence.java index ba58949..7f1c787 100644 --- a/couplet-modules/couplet-electronic-fence/couplet-electronic-fence-common/src/main/java/com/couplet/map/common/domain/Fence.java +++ b/couplet-modules/couplet-electronic-fence/couplet-electronic-fence-common/src/main/java/com/couplet/map/common/domain/Fence.java @@ -14,8 +14,12 @@ import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; import lombok.experimental.SuperBuilder; import org.springframework.format.annotation.DateTimeFormat; +import org.springframework.validation.annotation.Validated; +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; import java.util.Date; +import java.util.List; /** * @Author: LiJiaYao @@ -37,6 +41,8 @@ public class Fence extends BaseEntity{ /** * 围栏名称 */ + + @NotEmpty(message = "围栏名称不能为空") private String fenceName; /** * 围栏经纬度 @@ -45,6 +51,7 @@ public class Fence extends BaseEntity{ /** * 围栏描述 */ + @NotEmpty(message = "围栏描述不能为空") private String fenceDescription; /** * 是否删除 @@ -66,15 +73,15 @@ public class Fence extends BaseEntity{ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date updateTime; - /** * 创建人 */ + @NotEmpty(message = "创建人不能为空") private String createName; /** * 维护人 */ - + @NotEmpty(message = "维护人不能为空") private String maintainerName; /** * 告警状态 @@ -86,7 +93,7 @@ public class Fence extends BaseEntity{ /** * 标识 */ - private Integer[] logoId; + private Integer logoId; @TableField(exist = false) private String logoName; diff --git a/couplet-modules/couplet-electronic-fence/couplet-electronic-fence-common/src/main/java/com/couplet/map/common/domain/request/FenceConfig.java b/couplet-modules/couplet-electronic-fence/couplet-electronic-fence-common/src/main/java/com/couplet/map/common/domain/request/FenceConfig.java index 0c26d46..c2be21a 100644 --- a/couplet-modules/couplet-electronic-fence/couplet-electronic-fence-common/src/main/java/com/couplet/map/common/domain/request/FenceConfig.java +++ b/couplet-modules/couplet-electronic-fence/couplet-electronic-fence-common/src/main/java/com/couplet/map/common/domain/request/FenceConfig.java @@ -15,13 +15,9 @@ import lombok.NoArgsConstructor; @NoArgsConstructor public class FenceConfig { - private String fenceName; /** * 围栏状态 */ private Integer fenceState; - private Integer pageNum=1; - private Integer pageSize=3; - } diff --git a/couplet-modules/couplet-electronic-fence/couplet-electronic-fence-common/src/main/java/com/couplet/map/common/domain/request/FenceRequest.java b/couplet-modules/couplet-electronic-fence/couplet-electronic-fence-common/src/main/java/com/couplet/map/common/domain/request/FenceRequest.java index e57e4d3..9b74a87 100644 --- a/couplet-modules/couplet-electronic-fence/couplet-electronic-fence-common/src/main/java/com/couplet/map/common/domain/request/FenceRequest.java +++ b/couplet-modules/couplet-electronic-fence/couplet-electronic-fence-common/src/main/java/com/couplet/map/common/domain/request/FenceRequest.java @@ -8,6 +8,7 @@ import lombok.NoArgsConstructor; import org.springframework.format.annotation.DateTimeFormat; import java.util.Date; +import java.util.List; /** * @Author: LiJiaYao @@ -69,5 +70,5 @@ public class FenceRequest { * 标识 */ @TableField(exist = false) - private String[] logoId; + private String[] logoIds; } diff --git a/couplet-modules/couplet-electronic-fence/couplet-electronic-fence-server/src/main/java/com/couplet/map/server/controller/FenceController.java b/couplet-modules/couplet-electronic-fence/couplet-electronic-fence-server/src/main/java/com/couplet/map/server/controller/FenceController.java index b752861..76bdf82 100644 --- a/couplet-modules/couplet-electronic-fence/couplet-electronic-fence-server/src/main/java/com/couplet/map/server/controller/FenceController.java +++ b/couplet-modules/couplet-electronic-fence/couplet-electronic-fence-server/src/main/java/com/couplet/map/server/controller/FenceController.java @@ -17,8 +17,6 @@ import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import java.util.List; -import static com.couplet.common.core.utils.PageUtils.startPage; - /** * @Author: LiJiaYao * @Date: 2024/3/28 @@ -39,7 +37,6 @@ public class FenceController extends BaseController { @RequiresPermissions("couplet:fence:fenceList") @PostMapping("/fenceList") public Result fenceList(@RequestBody FenceConfig fenceConfig){ - startPage(); List list = fenceService.pageQuery(fenceConfig); return getDataTable(list); @@ -55,10 +52,11 @@ public class FenceController extends BaseController { @RequiresPermissions("couplet:fence:fenceAdd") @Log(title = "电子围栏新增",businessType = BusinessType.INSERT) public Result fenceInsert(HttpServletRequest request, @RequestBody FenceRequest fenceRequest){ - + if (!fenceService.checkFenceKeyUnique(fenceRequest.getFenceName())) { + return error("新增参数'" + fenceRequest.getFenceName() + "'失败,参数键名已存在"); + } fenceService.fenceInsert(request,fenceRequest); return Result.success("新增成功"); - } /** @@ -69,8 +67,10 @@ public class FenceController extends BaseController { @PostMapping("/fenceUpdate") @RequiresPermissions("couplet:fence:fenceUpdate") @Log(title = "电子围栏修改",businessType = BusinessType.UPDATE) - public Result fenceUpdate(@Validated @RequestBody FenceUpdateRequest fenceUpdateRequest){ - + public Result fenceUpdate(@Validated @RequestBody FenceUpdateRequest fenceUpdateRequest){ + if (!fenceService.checkFenceKeyUnique(fenceUpdateRequest.getFenceName())) { + return error("修改参数'" + fenceUpdateRequest.getFenceName() + "'失败,参数键名已存在"); + } fenceService.changeFenceStatus(fenceUpdateRequest); return Result.success("修改成功"); } @@ -83,19 +83,21 @@ public class FenceController extends BaseController { @DeleteMapping("/{fenceId}") @RequiresPermissions("couplet:fence:fenceDelete") @Log(title = "电子围栏删除",businessType = BusinessType.DELETE) - public Result fenceDelete(@PathVariable Long fenceId){ - boolean b = fenceService.removeById(fenceId); -// fenceService.removeByFenceId(fenceId); - return toAjax(b); + public Result fenceDelete(@PathVariable Long fenceId){ + fenceService.removeByFenceId(fenceId); + return Result.success(); } + /** + * 启用停用 + * @param fenceUpdateRequest + * @return + */ @PostMapping("/fenceState") @RequiresPermissions("couplet:fence:fenceState") @Log(title = "围栏启用和停用",businessType = BusinessType.OTHER) public Result fenceState(@RequestBody FenceUpdateRequest fenceUpdateRequest){ - fenceService.changeFenceStatus(fenceUpdateRequest); - return success(); } diff --git a/couplet-modules/couplet-electronic-fence/couplet-electronic-fence-server/src/main/java/com/couplet/map/server/mapper/FenceMapper.java b/couplet-modules/couplet-electronic-fence/couplet-electronic-fence-server/src/main/java/com/couplet/map/server/mapper/FenceMapper.java index 579d56c..2623be8 100644 --- a/couplet-modules/couplet-electronic-fence/couplet-electronic-fence-server/src/main/java/com/couplet/map/server/mapper/FenceMapper.java +++ b/couplet-modules/couplet-electronic-fence/couplet-electronic-fence-server/src/main/java/com/couplet/map/server/mapper/FenceMapper.java @@ -32,4 +32,10 @@ public interface FenceMapper extends BaseMapper { */ List pageQuery(FenceConfig fenceConfig); + /** + * 判断名字唯一 + * @param fenceName + * @return + */ + boolean checkFenceKeyUnique(String fenceName); } diff --git a/couplet-modules/couplet-electronic-fence/couplet-electronic-fence-server/src/main/java/com/couplet/map/server/service/FenceService.java b/couplet-modules/couplet-electronic-fence/couplet-electronic-fence-server/src/main/java/com/couplet/map/server/service/FenceService.java index e0caed8..67b7cf9 100644 --- a/couplet-modules/couplet-electronic-fence/couplet-electronic-fence-server/src/main/java/com/couplet/map/server/service/FenceService.java +++ b/couplet-modules/couplet-electronic-fence/couplet-electronic-fence-server/src/main/java/com/couplet/map/server/service/FenceService.java @@ -35,4 +35,12 @@ public interface FenceService extends IService { */ void removeByFenceId(Long fenceId); + /** + * 判断数据是否存在 + * + * @param fenceName + * @return + */ + boolean checkFenceKeyUnique(String fenceName); + } diff --git a/couplet-modules/couplet-electronic-fence/couplet-electronic-fence-server/src/main/java/com/couplet/map/server/service/impl/FenceServiceImpl.java b/couplet-modules/couplet-electronic-fence/couplet-electronic-fence-server/src/main/java/com/couplet/map/server/service/impl/FenceServiceImpl.java index 159dd44..efdaa0d 100644 --- a/couplet-modules/couplet-electronic-fence/couplet-electronic-fence-server/src/main/java/com/couplet/map/server/service/impl/FenceServiceImpl.java +++ b/couplet-modules/couplet-electronic-fence/couplet-electronic-fence-server/src/main/java/com/couplet/map/server/service/impl/FenceServiceImpl.java @@ -1,7 +1,5 @@ package com.couplet.map.server.service.impl; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.couplet.map.common.domain.Fence; import com.couplet.map.common.domain.request.FenceConfig; @@ -57,15 +55,13 @@ public class FenceServiceImpl extends ServiceImpl implements @Override public void fenceInsert(HttpServletRequest request,FenceRequest fenceRequest) { - int a= fenceMapper.insertFence(fenceRequest); - String[] logoId = fenceRequest.getLogoId(); - String[] split=null; - if (logoId != null && logoId.length> 0){ - split = logoId[0].split(","); - } - if (a>0){ - fenAndLogoService.addBach(fenceRequest.getFenceId(),split); + String[] logoIds = fenceRequest.getLogoIds(); + String[] parts = new String[0]; + for (String logoId : logoIds) { + parts = logoId.split(","); + fenAndLogoService.addBach(fenceRequest.getFenceId(),parts); + } } @@ -74,4 +70,9 @@ public class FenceServiceImpl extends ServiceImpl implements public void removeByFenceId(Long fenceId) { fenceMapper.removeByFenceId(fenceId); } + + @Override + public boolean checkFenceKeyUnique(String fenceName) { + return fenceMapper.checkFenceKeyUnique(fenceName); + } } diff --git a/couplet-modules/couplet-electronic-fence/couplet-electronic-fence-server/src/main/resources/mapper/map/FenAndLogoMapper.xml b/couplet-modules/couplet-electronic-fence/couplet-electronic-fence-server/src/main/resources/mapper/map/FenAndLogoMapper.xml index a1d097f..7ff788a 100644 --- a/couplet-modules/couplet-electronic-fence/couplet-electronic-fence-server/src/main/resources/mapper/map/FenAndLogoMapper.xml +++ b/couplet-modules/couplet-electronic-fence/couplet-electronic-fence-server/src/main/resources/mapper/map/FenAndLogoMapper.xml @@ -22,9 +22,10 @@ INSERT INTO `couplet-cloud`.`couplet_fences_and_logo` - (`fences_id`, `logo_id`) VALUES - - (#{fenceId}, #{logoItemId}) - + (`fences_id`, `logo_id`) + VALUES + + (#{fenceId}, #{item}) + diff --git a/couplet-modules/couplet-electronic-fence/couplet-electronic-fence-server/src/main/resources/mapper/map/FenceMapper.xml b/couplet-modules/couplet-electronic-fence/couplet-electronic-fence-server/src/main/resources/mapper/map/FenceMapper.xml index 71257ab..0cf782d 100644 --- a/couplet-modules/couplet-electronic-fence/couplet-electronic-fence-server/src/main/resources/mapper/map/FenceMapper.xml +++ b/couplet-modules/couplet-electronic-fence/couplet-electronic-fence-server/src/main/resources/mapper/map/FenceMapper.xml @@ -21,7 +21,7 @@ SELECT - fence_id, + f.fence_id, fence_name, fence_longitude_latitude, fence_description, @@ -33,19 +33,32 @@ maintainer_name, alarm_status, l.logo_id, - logo_name + GROUP_CONCAT(logo_name) as logoName FROM couplet_fence_info f INNER JOIN couplet_fences_and_logo m on - f.fence_id=m.fences_id INNER JOIN couplet_logo_info l on l.logo_id=m.logo_id GROUP BY fence_id + f.fence_id=m.fences_id INNER JOIN couplet_logo_info l on l.logo_id=m.logo_id + + + SELECT + fence_id, + fence_name, + fence_longitude_latitude, + fence_description, + is_delete, + fence_state, + create_time, + update_time, + create_name, + maintainer_name, + alarm_status + FROM couplet_fence_info - INSERT INTO `couplet-cloud`.`couplet_fence_info` - (`fence_name`, `fence_description`, `is_delete`, `fence_state`, `create_time`, - `create_name`, `maintainer_name`, `alarm_status`) + (`fence_name`, `fence_longitude_latitude`, `fence_description`, `is_delete`, `fence_state`, `create_time`, + `update_time`, `create_name`, `maintainer_name`, `alarm_status`) VALUES - (#{fenceName}, #{fenceDescription}, 0, 0, now(), #{createTime}, - #{createName}, 0); + (#{fenceName}, null, #{fenceDescription}, 0, 0, now(), null, null, #{maintainerName}, 0) @@ -78,5 +91,9 @@ and fence_state = #{fenceState} + GROUP BY f.fence_id + +