‘liusuyi’
2023-10-28 7786c1a71400a8e1635d2d6c94161a0474c4bb67
手动引导增加禁引可视域判断
已添加6个文件
已修改1个文件
595 ■■■■■ 文件已修改
ard-work/src/main/java/com/ruoyi/device/camera/controller/CameraSdkController.java 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/device/noguidezone/controller/ArdCameraNoGuideZoneController.java 113 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/device/noguidezone/domain/ArdCameraNoGuideZone.java 125 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/device/noguidezone/mapper/ArdCameraNoGuideZoneMapper.java 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/device/noguidezone/service/IArdCameraNoGuideZoneService.java 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/device/noguidezone/service/impl/ArdCameraNoGuideZoneServiceImpl.java 98 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/resources/mapper/device/ArdCameraNoGuideZoneMapper.xml 99 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/device/camera/controller/CameraSdkController.java
@@ -11,11 +11,18 @@
import com.ruoyi.device.camera.domain.CameraCmd;
import com.ruoyi.device.camera.service.IArdCamerasService;
import com.ruoyi.device.camera.service.ICameraSdkService;
import com.ruoyi.device.noguidezone.domain.ArdCameraNoGuideZone;
import com.ruoyi.device.noguidezone.service.IArdCameraNoGuideZoneService;
import com.ruoyi.utils.gis.GisUtil;
import com.ruoyi.utils.gis.Point;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@@ -36,7 +43,8 @@
    private ICameraSdkService cameraSdkService;
    @Resource
    private IArdCamerasService ardCamerasService;
    @Autowired
    private IArdCameraNoGuideZoneService ardCameraNoGuideZoneService;
    @RequestMapping("/preview")
    private String preview() {
@@ -137,6 +145,7 @@
        Map<String, Object> ptzMap = cameraSdkService.getPtz(cmd);
        return AjaxResult.success("获取ptz", ptzMap);
    }
    @ApiOperation("获取PTZ范围")
    @PostMapping("/getPTZScope")
    @Log(title = "获取PTZ范围", businessType = BusinessType.CONTROL)
@@ -165,6 +174,33 @@
    public @ResponseBody
    AjaxResult setTargetPosition(@RequestBody CameraCmd cmd) {
        cmd.setOperator(SecurityUtils.getUserId());
        //拦截手动引导
        ArdCameraNoGuideZone ardCameraNoGuideZone = new ArdCameraNoGuideZone();
        ardCameraNoGuideZone.setCameraId(cmd.getCameraId());
        //获取当前相机的禁引可视域列表
        List<ArdCameraNoGuideZone> ardCameraNoGuideZones = ardCameraNoGuideZoneService.selectArdCameraNoGuideZoneList(ardCameraNoGuideZone);
        if (ardCameraNoGuideZones.size() > 0) {
            //获取到当前相机的坐标集合
            List<Point> pointList = new ArrayList<>();
            for(ArdCameraNoGuideZone zone:ardCameraNoGuideZones) {
                String[] parts = zone.getPoi().split(",");
                for (int i = 0; i < parts.length; i += 3) {
                    Point point = new Point();
                    point.setLongitude(Double.valueOf(parts[i]));
                    point.setLatitude(Double.valueOf(parts[i + 1]));
                    pointList.add(point);
                }
            }
            double lon = cmd.getTargetPosition()[0];
            double lat = cmd.getTargetPosition()[1];
            Point targetPoint = new Point(lon, lat);
            //判断引导目标是否在坐标集合组成的多边形内
            boolean inPolygon = GisUtil.isInPolygon(targetPoint, pointList);
            if(inPolygon)
            {
                return AjaxResult.error("引导坐标位于禁引可视域内");
            }
        }
        return toAjax(cameraSdkService.guideTargetPosition(cmd));
    }
ard-work/src/main/java/com/ruoyi/device/noguidezone/controller/ArdCameraNoGuideZoneController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,113 @@
package com.ruoyi.device.noguidezone.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.device.noguidezone.domain.ArdCameraNoGuideZone;
import com.ruoyi.device.noguidezone.service.IArdCameraNoGuideZoneService;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
/**
 * ç¦å¼•可视域Controller
 *
 * @author ard
 * @date 2023-10-27
 */
@Api(tags = "禁引可视域管理接口")
@RestController
@RequestMapping("/device/noguidezone")
public class ArdCameraNoGuideZoneController extends BaseController
{
    @Autowired
    private IArdCameraNoGuideZoneService ardCameraNoGuideZoneService;
    /**
     * æŸ¥è¯¢ç¦å¼•可视域列表
     */
    @ApiOperation("查询禁引可视域列表")
    @PreAuthorize("@ss.hasPermi('device:noguidezone:list')")
    @GetMapping("/list")
    public TableDataInfo list(ArdCameraNoGuideZone ardCameraNoGuideZone)
    {
        startPage();
        List<ArdCameraNoGuideZone> list = ardCameraNoGuideZoneService.selectArdCameraNoGuideZoneList(ardCameraNoGuideZone);
        return getDataTable(list);
    }
    /**
     * å¯¼å‡ºç¦å¼•可视域列表
     */
    @PreAuthorize("@ss.hasPermi('device:noguidezone:export')")
    @Log(title = "禁引可视域", businessType = BusinessType.EXPORT)
    @PostMapping("/export")
    public void export(HttpServletResponse response, ArdCameraNoGuideZone ardCameraNoGuideZone)
    {
        List<ArdCameraNoGuideZone> list = ardCameraNoGuideZoneService.selectArdCameraNoGuideZoneList(ardCameraNoGuideZone);
        ExcelUtil<ArdCameraNoGuideZone> util = new ExcelUtil<ArdCameraNoGuideZone>(ArdCameraNoGuideZone.class);
        util.exportExcel(response, list, "禁引可视域数据");
    }
    /**
     * èŽ·å–ç¦å¼•å¯è§†åŸŸè¯¦ç»†ä¿¡æ¯
     */
    @ApiOperation("获取禁引可视域详细信息")
    @PreAuthorize("@ss.hasPermi('device:noguidezone:query')")
    @GetMapping(value = "/{name}")
    public AjaxResult getInfo(@PathVariable("name") String name)
    {
        return success(ardCameraNoGuideZoneService.selectArdCameraNoGuideZoneByName(name));
    }
    /**
     * æ–°å¢žç¦å¼•可视域
     */
    @ApiOperation("新增禁引可视域")
    @PreAuthorize("@ss.hasPermi('device:noguidezone:add')")
    @Log(title = "禁引可视域", businessType = BusinessType.INSERT)
    @PostMapping
    public AjaxResult add(@RequestBody ArdCameraNoGuideZone ardCameraNoGuideZone)
    {
        return toAjax(ardCameraNoGuideZoneService.insertArdCameraNoGuideZone(ardCameraNoGuideZone));
    }
    /**
     * ä¿®æ”¹ç¦å¼•可视域
     */
    @ApiOperation("修改禁引可视域")
    @PreAuthorize("@ss.hasPermi('device:noguidezone:edit')")
    @Log(title = "禁引可视域", businessType = BusinessType.UPDATE)
    @PutMapping
    public AjaxResult edit(@RequestBody ArdCameraNoGuideZone ardCameraNoGuideZone)
    {
        return toAjax(ardCameraNoGuideZoneService.updateArdCameraNoGuideZone(ardCameraNoGuideZone));
    }
    /**
     * åˆ é™¤ç¦å¼•可视域
     */
    @ApiOperation("删除禁引可视域")
    @PreAuthorize("@ss.hasPermi('device:noguidezone:remove')")
    @Log(title = "禁引可视域", businessType = BusinessType.DELETE)
    @DeleteMapping("/{names}")
    public AjaxResult remove(@PathVariable String[] names)
    {
        return toAjax(ardCameraNoGuideZoneService.deleteArdCameraNoGuideZoneByNames(names));
    }
}
ard-work/src/main/java/com/ruoyi/device/noguidezone/domain/ArdCameraNoGuideZone.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,125 @@
package com.ruoyi.device.noguidezone.domain;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
/**
 * ç¦å¼•可视域对象 ard_camera_no_guide_zone
 *
 * @author ard
 * @date 2023-10-27
 */
public class ArdCameraNoGuideZone extends BaseEntity
{
    private static final long serialVersionUID = 1L;
    /** åç§° */
    @Excel(name = "名称")
    private String name;
    /** èŒƒå›´ */
    @Excel(name = "范围")
    private String poi;
    /** ç›¸æœºID */
    @Excel(name = "相机ID")
    private String cameraId;
    /** æ˜¯å¦å¯ç”¨ */
    @Excel(name = "是否启用")
    private String enabled;
    /** éƒ¨é—¨ID */
    @Excel(name = "部门ID")
    private Long deptId;
    /** ç”¨æˆ·ID */
    @Excel(name = "用户ID")
    private String userId;
    /** id */
    private String id;
    public void setName(String name)
    {
        this.name = name;
    }
    public String getName()
    {
        return name;
    }
    public void setPoi(String poi)
    {
        this.poi = poi;
    }
    public String getPoi()
    {
        return poi;
    }
    public void setCameraId(String cameraId)
    {
        this.cameraId = cameraId;
    }
    public String getCameraId()
    {
        return cameraId;
    }
    public void setEnabled(String enabled)
    {
        this.enabled = enabled;
    }
    public String getEnabled()
    {
        return enabled;
    }
    public void setDeptId(Long deptId)
    {
        this.deptId = deptId;
    }
    public Long getDeptId()
    {
        return deptId;
    }
    public void setUserId(String userId)
    {
        this.userId = userId;
    }
    public String getUserId()
    {
        return userId;
    }
    public void setId(String id)
    {
        this.id = id;
    }
    public String getId()
    {
        return id;
    }
    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("name", getName())
            .append("poi", getPoi())
            .append("cameraId", getCameraId())
            .append("enabled", getEnabled())
            .append("deptId", getDeptId())
            .append("userId", getUserId())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("id", getId())
            .toString();
    }
}
ard-work/src/main/java/com/ruoyi/device/noguidezone/mapper/ArdCameraNoGuideZoneMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,61 @@
package com.ruoyi.device.noguidezone.mapper;
import java.util.List;
import com.ruoyi.device.noguidezone.domain.ArdCameraNoGuideZone;
/**
 * ç¦å¼•可视域Mapper接口
 *
 * @author ard
 * @date 2023-10-27
 */
public interface ArdCameraNoGuideZoneMapper
{
    /**
     * æŸ¥è¯¢ç¦å¼•可视域
     *
     * @param name ç¦å¼•可视域主键
     * @return ç¦å¼•可视域
     */
    public ArdCameraNoGuideZone selectArdCameraNoGuideZoneByName(String name);
    /**
     * æŸ¥è¯¢ç¦å¼•可视域列表
     *
     * @param ardCameraNoGuideZone ç¦å¼•可视域
     * @return ç¦å¼•可视域集合
     */
    public List<ArdCameraNoGuideZone> selectArdCameraNoGuideZoneList(ArdCameraNoGuideZone ardCameraNoGuideZone);
    /**
     * æ–°å¢žç¦å¼•可视域
     *
     * @param ardCameraNoGuideZone ç¦å¼•可视域
     * @return ç»“æžœ
     */
    public int insertArdCameraNoGuideZone(ArdCameraNoGuideZone ardCameraNoGuideZone);
    /**
     * ä¿®æ”¹ç¦å¼•可视域
     *
     * @param ardCameraNoGuideZone ç¦å¼•可视域
     * @return ç»“æžœ
     */
    public int updateArdCameraNoGuideZone(ArdCameraNoGuideZone ardCameraNoGuideZone);
    /**
     * åˆ é™¤ç¦å¼•可视域
     *
     * @param name ç¦å¼•可视域主键
     * @return ç»“æžœ
     */
    public int deleteArdCameraNoGuideZoneByName(String name);
    /**
     * æ‰¹é‡åˆ é™¤ç¦å¼•可视域
     *
     * @param names éœ€è¦åˆ é™¤çš„æ•°æ®ä¸»é”®é›†åˆ
     * @return ç»“æžœ
     */
    public int deleteArdCameraNoGuideZoneByNames(String[] names);
}
ard-work/src/main/java/com/ruoyi/device/noguidezone/service/IArdCameraNoGuideZoneService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,61 @@
package com.ruoyi.device.noguidezone.service;
import java.util.List;
import com.ruoyi.device.noguidezone.domain.ArdCameraNoGuideZone;
/**
 * ç¦å¼•可视域Service接口
 *
 * @author ard
 * @date 2023-10-27
 */
public interface IArdCameraNoGuideZoneService
{
    /**
     * æŸ¥è¯¢ç¦å¼•可视域
     *
     * @param name ç¦å¼•可视域主键
     * @return ç¦å¼•可视域
     */
    public ArdCameraNoGuideZone selectArdCameraNoGuideZoneByName(String name);
    /**
     * æŸ¥è¯¢ç¦å¼•可视域列表
     *
     * @param ardCameraNoGuideZone ç¦å¼•可视域
     * @return ç¦å¼•可视域集合
     */
    public List<ArdCameraNoGuideZone> selectArdCameraNoGuideZoneList(ArdCameraNoGuideZone ardCameraNoGuideZone);
    /**
     * æ–°å¢žç¦å¼•可视域
     *
     * @param ardCameraNoGuideZone ç¦å¼•可视域
     * @return ç»“æžœ
     */
    public int insertArdCameraNoGuideZone(ArdCameraNoGuideZone ardCameraNoGuideZone);
    /**
     * ä¿®æ”¹ç¦å¼•可视域
     *
     * @param ardCameraNoGuideZone ç¦å¼•可视域
     * @return ç»“æžœ
     */
    public int updateArdCameraNoGuideZone(ArdCameraNoGuideZone ardCameraNoGuideZone);
    /**
     * æ‰¹é‡åˆ é™¤ç¦å¼•可视域
     *
     * @param names éœ€è¦åˆ é™¤çš„禁引可视域主键集合
     * @return ç»“æžœ
     */
    public int deleteArdCameraNoGuideZoneByNames(String[] names);
    /**
     * åˆ é™¤ç¦å¼•可视域信息
     *
     * @param name ç¦å¼•可视域主键
     * @return ç»“æžœ
     */
    public int deleteArdCameraNoGuideZoneByName(String name);
}
ard-work/src/main/java/com/ruoyi/device/noguidezone/service/impl/ArdCameraNoGuideZoneServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,98 @@
package com.ruoyi.device.noguidezone.service.impl;
import java.util.List;
        import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.uuid.IdUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.device.noguidezone.mapper.ArdCameraNoGuideZoneMapper;
import com.ruoyi.device.noguidezone.domain.ArdCameraNoGuideZone;
import com.ruoyi.device.noguidezone.service.IArdCameraNoGuideZoneService;
/**
 * ç¦å¼•可视域Service业务层处理
 *
 * @author ard
 * @date 2023-10-27
 */
@Service
public class ArdCameraNoGuideZoneServiceImpl implements IArdCameraNoGuideZoneService {
    @Autowired
    private ArdCameraNoGuideZoneMapper ardCameraNoGuideZoneMapper;
    /**
     * æŸ¥è¯¢ç¦å¼•可视域
     *
     * @param name ç¦å¼•可视域主键
     * @return ç¦å¼•可视域
     */
    @Override
    public ArdCameraNoGuideZone selectArdCameraNoGuideZoneByName(String name) {
        return ardCameraNoGuideZoneMapper.selectArdCameraNoGuideZoneByName(name);
    }
    /**
     * æŸ¥è¯¢ç¦å¼•可视域列表
     *
     * @param ardCameraNoGuideZone ç¦å¼•可视域
     * @return ç¦å¼•可视域
     */
    @Override
    public List<ArdCameraNoGuideZone> selectArdCameraNoGuideZoneList(ArdCameraNoGuideZone ardCameraNoGuideZone) {
        return ardCameraNoGuideZoneMapper.selectArdCameraNoGuideZoneList(ardCameraNoGuideZone);
    }
    /**
     * æ–°å¢žç¦å¼•可视域
     *
     * @param ardCameraNoGuideZone ç¦å¼•可视域
     * @return ç»“æžœ
     */
    @Override
    public int insertArdCameraNoGuideZone(ArdCameraNoGuideZone ardCameraNoGuideZone) {
                ardCameraNoGuideZone.setUserId(SecurityUtils.getUserId());
                ardCameraNoGuideZone.setCreateBy(SecurityUtils.getUsername());
                ardCameraNoGuideZone.setCreateTime(DateUtils.getNowDate());
                ardCameraNoGuideZone.setId(IdUtils.simpleUUID());
            return ardCameraNoGuideZoneMapper.insertArdCameraNoGuideZone(ardCameraNoGuideZone);
    }
    /**
     * ä¿®æ”¹ç¦å¼•可视域
     *
     * @param ardCameraNoGuideZone ç¦å¼•可视域
     * @return ç»“æžœ
     */
    @Override
    public int updateArdCameraNoGuideZone(ArdCameraNoGuideZone ardCameraNoGuideZone) {
                ardCameraNoGuideZone.setUpdateBy(SecurityUtils.getUsername());
                ardCameraNoGuideZone.setUpdateTime(DateUtils.getNowDate());
        return ardCameraNoGuideZoneMapper.updateArdCameraNoGuideZone(ardCameraNoGuideZone);
    }
    /**
     * æ‰¹é‡åˆ é™¤ç¦å¼•可视域
     *
     * @param names éœ€è¦åˆ é™¤çš„禁引可视域主键
     * @return ç»“æžœ
     */
    @Override
    public int deleteArdCameraNoGuideZoneByNames(String[] names) {
        return ardCameraNoGuideZoneMapper.deleteArdCameraNoGuideZoneByNames(names);
    }
    /**
     * åˆ é™¤ç¦å¼•可视域信息
     *
     * @param name ç¦å¼•可视域主键
     * @return ç»“æžœ
     */
    @Override
    public int deleteArdCameraNoGuideZoneByName(String name) {
        return ardCameraNoGuideZoneMapper.deleteArdCameraNoGuideZoneByName(name);
    }
}
ard-work/src/main/resources/mapper/device/ArdCameraNoGuideZoneMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,99 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.device.noguidezone.mapper.ArdCameraNoGuideZoneMapper">
    <resultMap type="ArdCameraNoGuideZone" id="ArdCameraNoGuideZoneResult">
        <result property="name"    column="name"    />
        <result property="poi"    column="poi"    />
        <result property="cameraId"    column="camera_id"    />
        <result property="enabled"    column="enabled"    />
        <result property="deptId"    column="dept_id"    />
        <result property="userId"    column="user_id"    />
        <result property="createBy"    column="create_by"    />
        <result property="createTime"    column="create_time"    />
        <result property="updateBy"    column="update_by"    />
        <result property="updateTime"    column="update_time"    />
        <result property="id"    column="id"    />
    </resultMap>
    <sql id="selectArdCameraNoGuideZoneVo">
        select name, poi, camera_id, enabled, dept_id, user_id, create_by, create_time, update_by, update_time, id from ard_camera_no_guide_zone
    </sql>
    <select id="selectArdCameraNoGuideZoneList" parameterType="ArdCameraNoGuideZone" resultMap="ArdCameraNoGuideZoneResult">
        <include refid="selectArdCameraNoGuideZoneVo"/>
        <where>
            <if test="name != null  and name != ''"> and name like '%'||#{name}||'%'</if>
            <if test="poi != null  and poi != ''"> and poi = #{poi}</if>
            <if test="cameraId != null  and cameraId != ''"> and camera_id = #{cameraId}</if>
            <if test="enabled != null  and enabled != ''"> and enabled = #{enabled}</if>
            <if test="deptId != null "> and dept_id = #{deptId}</if>
            <if test="userId != null  and userId != ''"> and user_id = #{userId}</if>
        </where>
    </select>
    <select id="selectArdCameraNoGuideZoneByName" parameterType="String" resultMap="ArdCameraNoGuideZoneResult">
        <include refid="selectArdCameraNoGuideZoneVo"/>
        where name = #{name}
    </select>
    <insert id="insertArdCameraNoGuideZone" parameterType="ArdCameraNoGuideZone">
        insert into ard_camera_no_guide_zone
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="name != null">name,</if>
            <if test="poi != null">poi,</if>
            <if test="cameraId != null">camera_id,</if>
            <if test="enabled != null">enabled,</if>
            <if test="deptId != null">dept_id,</if>
            <if test="userId != null">user_id,</if>
            <if test="createBy != null">create_by,</if>
            <if test="createTime != null">create_time,</if>
            <if test="updateBy != null">update_by,</if>
            <if test="updateTime != null">update_time,</if>
            <if test="id != null">id,</if>
         </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="name != null">#{name},</if>
            <if test="poi != null">#{poi},</if>
            <if test="cameraId != null">#{cameraId},</if>
            <if test="enabled != null">#{enabled},</if>
            <if test="deptId != null">#{deptId},</if>
            <if test="userId != null">#{userId},</if>
            <if test="createBy != null">#{createBy},</if>
            <if test="createTime != null">#{createTime},</if>
            <if test="updateBy != null">#{updateBy},</if>
            <if test="updateTime != null">#{updateTime},</if>
            <if test="id != null">#{id},</if>
         </trim>
    </insert>
    <update id="updateArdCameraNoGuideZone" parameterType="ArdCameraNoGuideZone">
        update ard_camera_no_guide_zone
        <trim prefix="SET" suffixOverrides=",">
            <if test="poi != null">poi = #{poi},</if>
            <if test="cameraId != null">camera_id = #{cameraId},</if>
            <if test="enabled != null">enabled = #{enabled},</if>
            <if test="deptId != null">dept_id = #{deptId},</if>
            <if test="userId != null">user_id = #{userId},</if>
            <if test="createBy != null">create_by = #{createBy},</if>
            <if test="createTime != null">create_time = #{createTime},</if>
            <if test="updateBy != null">update_by = #{updateBy},</if>
            <if test="updateTime != null">update_time = #{updateTime},</if>
            <if test="id != null">id = #{id},</if>
        </trim>
        where name = #{name}
    </update>
    <delete id="deleteArdCameraNoGuideZoneByName" parameterType="String">
        delete from ard_camera_no_guide_zone where name = #{name}
    </delete>
    <delete id="deleteArdCameraNoGuideZoneByNames" parameterType="String">
        delete from ard_camera_no_guide_zone where name in
        <foreach item="name" collection="array" open="(" separator="," close=")">
            #{name}
        </foreach>
    </delete>
</mapper>