feat: 电子围栏编辑和化多边形
parent
42c80590ff
commit
ef85dad9c9
|
@ -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;
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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<Fence> 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();
|
||||
}
|
||||
|
||||
|
|
|
@ -32,4 +32,10 @@ public interface FenceMapper extends BaseMapper<Fence> {
|
|||
*/
|
||||
List<Fence> pageQuery(FenceConfig fenceConfig);
|
||||
|
||||
/**
|
||||
* 判断名字唯一
|
||||
* @param fenceName
|
||||
* @return
|
||||
*/
|
||||
boolean checkFenceKeyUnique(String fenceName);
|
||||
}
|
||||
|
|
|
@ -35,4 +35,12 @@ public interface FenceService extends IService<Fence> {
|
|||
*/
|
||||
void removeByFenceId(Long fenceId);
|
||||
|
||||
/**
|
||||
* 判断数据是否存在
|
||||
*
|
||||
* @param fenceName
|
||||
* @return
|
||||
*/
|
||||
boolean checkFenceKeyUnique(String fenceName);
|
||||
|
||||
}
|
||||
|
|
|
@ -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<FenceMapper, Fence> 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<FenceMapper, Fence> implements
|
|||
public void removeByFenceId(Long fenceId) {
|
||||
fenceMapper.removeByFenceId(fenceId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean checkFenceKeyUnique(String fenceName) {
|
||||
return fenceMapper.checkFenceKeyUnique(fenceName);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -22,9 +22,10 @@
|
|||
|
||||
<insert id="addBach">
|
||||
INSERT INTO `couplet-cloud`.`couplet_fences_and_logo`
|
||||
(`fences_id`, `logo_id`) VALUES
|
||||
<foreach collection="logoIds" item="logoItemId" separator="," close="(" open=")">
|
||||
(#{fenceId}, #{logoItemId})
|
||||
</foreach>
|
||||
(`fences_id`, `logo_id`)
|
||||
VALUES
|
||||
<foreach collection="logoIds" item="item" separator=",">
|
||||
(#{fenceId}, #{item})
|
||||
</foreach>
|
||||
</insert>
|
||||
</mapper>
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
</resultMap>
|
||||
<sql id="selectFence">
|
||||
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
|
||||
</sql>
|
||||
<sql id="fence">
|
||||
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
|
||||
</sql>
|
||||
<insert id="insertFence" parameterType="com.couplet.map.common.domain.request.FenceRequest" keyProperty="fenceId"
|
||||
useGeneratedKeys="true">
|
||||
|
||||
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)
|
||||
|
||||
|
||||
</insert>
|
||||
|
@ -78,5 +91,9 @@
|
|||
and fence_state = #{fenceState}
|
||||
</if>
|
||||
</where>
|
||||
GROUP BY f.fence_id
|
||||
</select>
|
||||
<select id="checkFenceKeyUnique" resultType="java.lang.Boolean">
|
||||
<include refid="fence"/> where fence_name = #{fenceName}
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
Loading…
Reference in New Issue