zhangnaisong
2024-07-02 7a7048db22ace25df5fd39a78c32ea6685c97862
电磁锁概要操作修改提交
已添加5个文件
已修改5个文件
520 ■■■■■ 文件已修改
ard-work/src/main/java/com/ruoyi/sy/controller/ArdTankLockController.java 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/sy/domain/ArdTankWall.java 93 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/sy/mapper/ArdTankLockMapper.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/sy/mapper/ArdTankWallMapper.java 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/sy/service/IArdTankLockService.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/sy/service/IArdTankWallService.java 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankLockServiceImpl.java 54 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankWallServiceImpl.java 100 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/resources/mapper/sy/ArdTankLockMapper.xml 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/resources/mapper/sy/ArdTankWallMapper.xml 73 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/sy/controller/ArdTankLockController.java
@@ -6,6 +6,8 @@
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.uuid.IdUtils;
import com.ruoyi.sy.domain.ArdTankWall;
import com.ruoyi.sy.service.IArdTankWallService;
import com.ruoyi.utils.result.Results;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -40,6 +42,9 @@
public class ArdTankLockController extends BaseController {
    @Autowired
    private IArdTankLockService ardTankLockService;
    @Autowired
    private IArdTankWallService ardTankWallService;
    /**
     * æŸ¥è¯¢ç”µç£é”åˆ—表
@@ -78,12 +83,19 @@
    /**
     * æ–°å¢žç”µç£é”
     */
    @ApiOperation("新增电磁锁")
    /*@ApiOperation("新增电磁锁")
    @PreAuthorize("@ss.hasPermi('sy:lock:add')")
    @Log(title = "电磁锁" , businessType = BusinessType.INSERT)
    @PostMapping
    public AjaxResult add(@RequestBody ArdTankLock ardTankLock) {
        return toAjax(ardTankLockService.insertArdTankLock(ardTankLock));
    }*/
    @ApiOperation("新增电磁锁")
    @PreAuthorize("@ss.hasPermi('sy:lock:add')")
    @Log(title = "电磁锁" , businessType = BusinessType.INSERT)
    @PostMapping
    public AjaxResult add(@RequestBody Map<String,Object> para) {
        return toAjax(ardTankLockService.insertArdTankLock(para));
    }
    /**
@@ -127,4 +139,45 @@
        Results result = ardTankLockService.getAll(userId);
        return result;
    }
    /**
     * æ–°å¢žç”µå­å›´æ 
     */
    @ApiOperation("新增电子围栏")
    @PreAuthorize("@ss.hasPermi('sy:lock:addWall')")
    @Log(title = "电磁锁" , businessType = BusinessType.INSERT)
    @PostMapping("/addWall")
    public AjaxResult addWall(@RequestBody ArdTankWall ardTankWall) {
        return toAjax(ardTankWallService.insertArdTankWall(ardTankWall));
    }
    /**
     * ä¿®æ”¹ç”µå­å›´æ 
     */
    @ApiOperation("修改电子围栏")
    @PreAuthorize("@ss.hasPermi('sy:lock:updateWall')")
    @Log(title = "电磁锁" , businessType = BusinessType.UPDATE)
    @PutMapping("/updateWall")
    public AjaxResult updateWall(@RequestBody ArdTankWall ardTankWall) {
        return toAjax(ardTankWallService.updateArdTankWall(ardTankWall));
    }
    /**
     * åˆ é™¤ç”µå­å›´æ 
     */
    @ApiOperation("删除单一电子围栏")
    @PreAuthorize("@ss.hasPermi('sy:lock:removeWall')")
    @Log(title = "电磁锁" , businessType = BusinessType.DELETE)
    @DeleteMapping("/removeWall/{id}")
    public AjaxResult removeWall(@PathVariable String id) {
        return toAjax(ardTankWallService.deleteArdTankWallById(id));
    }
    @ApiOperation("查询全部电子围栏")
    @PreAuthorize("@ss.hasPermi('sy:lock:getAllArdTankWall')")
    @GetMapping("/getAllArdTankWall")
    public Results getAllArdTankWall() {
        List<ArdTankWall> result = ardTankWallService.getAllArdTankWall();
        return Results.succeed(result);
    }
}
ard-work/src/main/java/com/ruoyi/sy/domain/ArdTankWall.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,93 @@
package com.ruoyi.sy.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_tank_wall
 *
 * @author ard
 * @date 2024-07-01
 */
public class ArdTankWall extends BaseEntity
{
    private static final long serialVersionUID = 1L;
    /** ä¸»é”® */
    private String id;
    /** ç”µå­å›´æ åç§° */
    @Excel(name = "电子围栏名称")
    private String wallName;
    /** ç»åº¦ */
    @Excel(name = "经度")
    private Double longitude;
    /** çº¬åº¦ */
    @Excel(name = "纬度")
    private Double latitude;
    /** è·ç¦» */
    @Excel(name = "距离")
    private Integer distance;
    public void setId(String id)
    {
        this.id = id;
    }
    public String getId()
    {
        return id;
    }
    public void setWallName(String wallName)
    {
        this.wallName = wallName;
    }
    public String getWallName()
    {
        return wallName;
    }
    public void setLongitude(Double longitude)
    {
        this.longitude = longitude;
    }
    public Double getLongitude()
    {
        return longitude;
    }
    public void setLatitude(Double latitude)
    {
        this.latitude = latitude;
    }
    public Double getLatitude()
    {
        return latitude;
    }
    public void setDistance(Integer distance)
    {
        this.distance = distance;
    }
    public Integer getDistance()
    {
        return distance;
    }
    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("wallName", getWallName())
            .append("longitude", getLongitude())
            .append("latitude", getLatitude())
            .append("distance", getDistance())
            .toString();
    }
}
ard-work/src/main/java/com/ruoyi/sy/mapper/ArdTankLockMapper.java
@@ -2,6 +2,7 @@
import java.util.List;
import com.ruoyi.sy.domain.ArdTankLock;
import org.apache.ibatis.annotations.Param;
/**
 * ç”µç£é”Mapper接口
@@ -60,4 +61,6 @@
    public int deleteArdTankLockByIds(String[] ids);
    public List<ArdTankLock> getAll();
    public int insertArdTankLocks(@Param("ardTankLocks") List<ArdTankLock> ardTankLocks);
}
ard-work/src/main/java/com/ruoyi/sy/mapper/ArdTankWallMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,63 @@
package com.ruoyi.sy.mapper;
import java.util.List;
import com.ruoyi.sy.domain.ArdTankWall;
/**
 * ç”µç£é”ç”µå­å›´æ Mapper接口
 *
 * @author ard
 * @date 2024-07-01
 */
public interface ArdTankWallMapper
{
    /**
     * æŸ¥è¯¢ç”µç£é”ç”µå­å›´æ 
     *
     * @param id ç”µç£é”ç”µå­å›´æ ä¸»é”®
     * @return ç”µç£é”ç”µå­å›´æ 
     */
    public ArdTankWall selectArdTankWallById(String id);
    /**
     * æŸ¥è¯¢ç”µç£é”ç”µå­å›´æ åˆ—表
     *
     * @param ardTankWall ç”µç£é”ç”µå­å›´æ 
     * @return ç”µç£é”ç”µå­å›´æ é›†åˆ
     */
    public List<ArdTankWall> selectArdTankWallList(ArdTankWall ardTankWall);
    /**
     * æ–°å¢žç”µç£é”ç”µå­å›´æ 
     *
     * @param ardTankWall ç”µç£é”ç”µå­å›´æ 
     * @return ç»“æžœ
     */
    public int insertArdTankWall(ArdTankWall ardTankWall);
    /**
     * ä¿®æ”¹ç”µç£é”ç”µå­å›´æ 
     *
     * @param ardTankWall ç”µç£é”ç”µå­å›´æ 
     * @return ç»“æžœ
     */
    public int updateArdTankWall(ArdTankWall ardTankWall);
    /**
     * åˆ é™¤ç”µç£é”ç”µå­å›´æ 
     *
     * @param id ç”µç£é”ç”µå­å›´æ ä¸»é”®
     * @return ç»“æžœ
     */
    public int deleteArdTankWallById(String id);
    /**
     * æ‰¹é‡åˆ é™¤ç”µç£é”ç”µå­å›´æ 
     *
     * @param ids éœ€è¦åˆ é™¤çš„æ•°æ®ä¸»é”®é›†åˆ
     * @return ç»“æžœ
     */
    public int deleteArdTankWallByIds(String[] ids);
    public List<ArdTankWall> getAllArdTankWall();
}
ard-work/src/main/java/com/ruoyi/sy/service/IArdTankLockService.java
@@ -36,7 +36,8 @@
     * @param ardTankLock ç”µç£é”
     * @return ç»“æžœ
     */
    public int insertArdTankLock(ArdTankLock ardTankLock);
    //public int insertArdTankLock(ArdTankLock ardTankLock);
    public int insertArdTankLock(Map<String,Object> para);
    /**
     * ä¿®æ”¹ç”µç£é”
ard-work/src/main/java/com/ruoyi/sy/service/IArdTankWallService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,63 @@
package com.ruoyi.sy.service;
import java.util.List;
import com.ruoyi.sy.domain.ArdTankWall;
/**
 * ç”µç£é”ç”µå­å›´æ Service接口
 *
 * @author ard
 * @date 2024-07-01
 */
public interface IArdTankWallService
{
    /**
     * æŸ¥è¯¢ç”µç£é”ç”µå­å›´æ 
     *
     * @param id ç”µç£é”ç”µå­å›´æ ä¸»é”®
     * @return ç”µç£é”ç”µå­å›´æ 
     */
    public ArdTankWall selectArdTankWallById(String id);
    /**
     * æŸ¥è¯¢ç”µç£é”ç”µå­å›´æ åˆ—表
     *
     * @param ardTankWall ç”µç£é”ç”µå­å›´æ 
     * @return ç”µç£é”ç”µå­å›´æ é›†åˆ
     */
    public List<ArdTankWall> selectArdTankWallList(ArdTankWall ardTankWall);
    /**
     * æ–°å¢žç”µç£é”ç”µå­å›´æ 
     *
     * @param ardTankWall ç”µç£é”ç”µå­å›´æ 
     * @return ç»“æžœ
     */
    public int insertArdTankWall(ArdTankWall ardTankWall);
    /**
     * ä¿®æ”¹ç”µç£é”ç”µå­å›´æ 
     *
     * @param ardTankWall ç”µç£é”ç”µå­å›´æ 
     * @return ç»“æžœ
     */
    public int updateArdTankWall(ArdTankWall ardTankWall);
    /**
     * æ‰¹é‡åˆ é™¤ç”µç£é”ç”µå­å›´æ 
     *
     * @param ids éœ€è¦åˆ é™¤çš„电磁锁电子围栏主键集合
     * @return ç»“æžœ
     */
    public int deleteArdTankWallByIds(String[] ids);
    /**
     * åˆ é™¤ç”µç£é”ç”µå­å›´æ ä¿¡æ¯
     *
     * @param id ç”µç£é”ç”µå­å›´æ ä¸»é”®
     * @return ç»“æžœ
     */
    public int deleteArdTankWallById(String id);
    public List<ArdTankWall> getAllArdTankWall();
}
ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankLockServiceImpl.java
@@ -1,7 +1,6 @@
package com.ruoyi.sy.service.impl;
import java.util.HashMap;
import java.util.List;
import java.util.*;
import com.dtflys.forest.annotation.Var;
import com.ruoyi.common.core.domain.entity.SysConfig;
@@ -16,8 +15,8 @@
import org.apache.commons.codec.digest.DigestUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Map;
import java.util.stream.Collectors;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.SecurityUtils;
@@ -82,10 +81,28 @@
     * @return ç»“æžœ
     */
    @Override
    public int insertArdTankLock(Map<String,Object> para) {
        String carId = (String) para.get("carId");
        List<Map<String,String>> lockList = (List<Map<String,String>>)para.get("lockList");
        List<ArdTankLock> ardTankLocks = new ArrayList();
        for(Map<String,String> map : lockList){
            ArdTankLock ardTankLock = new ArdTankLock();
            ardTankLock.setId(IdUtils.simpleUUID());
            ardTankLock.setLockNum(map.get("lockNum"));
            ardTankLock.setLockName(map.get("lockName"));
            ardTankLock.setImgPositionTop(map.get("imgPositionTop"));
            ardTankLock.setImgPositionLeft(map.get("imgPositionLeft"));
            ardTankLock.setCarId(carId);
            ardTankLock.setEnable(map.get("enable"));
            ardTankLocks.add(ardTankLock);
        }
        return ardTankLockMapper.insertArdTankLocks(ardTankLocks);
    }
    /*@Override
    public int insertArdTankLock(ArdTankLock ardTankLock) {
                ardTankLock.setId(IdUtils.simpleUUID());
            return ardTankLockMapper.insertArdTankLock(ardTankLock);
    }
    }*/
    /**
     * ä¿®æ”¹ç”µç£é”
@@ -152,7 +169,11 @@
            map.put("imgPositionLeft",ardTankLock.getImgPositionLeft());
            map.put("carId",ardTankLock.getCarId());
            map.put("enable",ardTankLock.getEnable());
            map.put("restartState",ardTankLock.getRestartState());
            if(ardTankLock.getRestartState() == null){
                map.put("restartState","");
            }else{
                map.put("restartState",ardTankLock.getRestartState());
            }
            if(ardTankLock.getOnlineTime() == null){
                map.put("onlineTime","");
            }else{
@@ -165,6 +186,25 @@
            }
            result.add(map);
        }
        return Results.succeed(result);
        List<Map<String,Object>> result0 = new ArrayList();//拼接carId和carPlate
        Set<String> carIdSet = new HashSet();
        for(Map<String,Object> map : result){
            if(!carIdSet.contains((String) map.get("carId"))){
                Map<String,Object> mapr = new HashMap();
                mapr.put("carId",map.get("carId"));
                mapr.put("carPlate",map.get("carPlate"));
                mapr.put("lockList",new ArrayList());
                result0.add(mapr);
            }
            carIdSet.add((String) map.get("carId"));
        }
        for(Map<String,Object> map : result0){
            for(Map<String,Object> map0 : result){
                if(((String)map.get("carId")).equals((String)map0.get("carId"))){
                    ((List)map.get("lockList")).add(map0);
                }
            }
        }
        return Results.succeed(result0);
    }
}
ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankWallServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,100 @@
package com.ruoyi.sy.service.impl;
import java.util.List;
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.sy.mapper.ArdTankWallMapper;
import com.ruoyi.sy.domain.ArdTankWall;
import com.ruoyi.sy.service.IArdTankWallService;
import javax.annotation.Resource;
/**
 * ç”µç£é”ç”µå­å›´æ Service业务层处理
 *
 * @author ard
 * @date 2024-07-01
 */
@Service
public class ArdTankWallServiceImpl implements IArdTankWallService {
    @Resource
    private ArdTankWallMapper ardTankWallMapper;
    /**
     * æŸ¥è¯¢ç”µç£é”ç”µå­å›´æ 
     *
     * @param id ç”µç£é”ç”µå­å›´æ ä¸»é”®
     * @return ç”µç£é”ç”µå­å›´æ 
     */
    @Override
    public ArdTankWall selectArdTankWallById(String id) {
        return ardTankWallMapper.selectArdTankWallById(id);
    }
    /**
     * æŸ¥è¯¢ç”µç£é”ç”µå­å›´æ åˆ—表
     *
     * @param ardTankWall ç”µç£é”ç”µå­å›´æ 
     * @return ç”µç£é”ç”µå­å›´æ 
     */
    @Override
    public List<ArdTankWall> selectArdTankWallList(ArdTankWall ardTankWall) {
        return ardTankWallMapper.selectArdTankWallList(ardTankWall);
    }
    /**
     * æ–°å¢žç”µç£é”ç”µå­å›´æ 
     *
     * @param ardTankWall ç”µç£é”ç”µå­å›´æ 
     * @return ç»“æžœ
     */
    @Override
    public int insertArdTankWall(ArdTankWall ardTankWall) {
                ardTankWall.setId(IdUtils.simpleUUID());
            return ardTankWallMapper.insertArdTankWall(ardTankWall);
    }
    /**
     * ä¿®æ”¹ç”µç£é”ç”µå­å›´æ 
     *
     * @param ardTankWall ç”µç£é”ç”µå­å›´æ 
     * @return ç»“æžœ
     */
    @Override
    public int updateArdTankWall(ArdTankWall ardTankWall) {
        return ardTankWallMapper.updateArdTankWall(ardTankWall);
    }
    /**
     * æ‰¹é‡åˆ é™¤ç”µç£é”ç”µå­å›´æ 
     *
     * @param ids éœ€è¦åˆ é™¤çš„电磁锁电子围栏主键
     * @return ç»“æžœ
     */
    @Override
    public int deleteArdTankWallByIds(String[] ids) {
        return ardTankWallMapper.deleteArdTankWallByIds(ids);
    }
    /**
     * åˆ é™¤ç”µç£é”ç”µå­å›´æ ä¿¡æ¯
     *
     * @param id ç”µç£é”ç”µå­å›´æ ä¸»é”®
     * @return ç»“æžœ
     */
    @Override
    public int deleteArdTankWallById(String id) {
        return ardTankWallMapper.deleteArdTankWallById(id);
    }
    @Override
    public List<ArdTankWall> getAllArdTankWall() {
        List<ArdTankWall> result = ardTankWallMapper.getAllArdTankWall();
        return result;
    }
}
ard-work/src/main/resources/mapper/sy/ArdTankLockMapper.xml
@@ -94,4 +94,17 @@
    <select id="getAll" resultMap="ArdTankLockResult">
        select * from ard_tank_lock atl order by atl.car_id
    </select>
    <insert id="insertArdTankLocks" parameterType="com.ruoyi.sy.domain.ArdTankLock" >
        insert into ard_tank_lock (id, lock_num, lock_name,
        img_position_top, img_position_left, car_id,
        enable, restart_state, online_time)
        values
        <foreach collection ="ardTankLocks" item="ardTankLock" separator =",">
            (#{ardTankLock.id},#{ardTankLock.lockNum},#{ardTankLock.lockName},
            #{ardTankLock.imgPositionTop},#{ardTankLock.imgPositionLeft},
            #{ardTankLock.carId},#{ardTankLock.enable},#{ardTankLock.restartState},
             #{ardTankLock.onlineTime})
        </foreach >
    </insert>
</mapper>
ard-work/src/main/resources/mapper/sy/ArdTankWallMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,73 @@
<?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.sy.mapper.ArdTankWallMapper">
    <resultMap type="ArdTankWall" id="ArdTankWallResult">
        <result property="id"    column="id"    />
        <result property="wallName"    column="wall_name"    />
        <result property="longitude"    column="longitude"    />
        <result property="latitude"    column="latitude"    />
        <result property="distance"    column="distance"    />
    </resultMap>
    <sql id="selectArdTankWallVo">
        select id, wall_name, longitude, latitude, distance from ard_tank_wall
    </sql>
    <select id="selectArdTankWallList" parameterType="ArdTankWall" resultMap="ArdTankWallResult">
        <include refid="selectArdTankWallVo"/>
        <where>
            <if test="wallName != null  and wallName != ''"> and wall_name like '%'||#{wallName}||'%'</if>
            <if test="longitude != null "> and longitude = #{longitude}</if>
            <if test="latitude != null "> and latitude = #{latitude}</if>
            <if test="distance != null "> and distance = #{distance}</if>
        </where>
    </select>
    <select id="selectArdTankWallById" parameterType="String" resultMap="ArdTankWallResult">
        <include refid="selectArdTankWallVo"/>
        where id = #{id}
    </select>
    <insert id="insertArdTankWall" parameterType="ArdTankWall">
        insert into ard_tank_wall
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="id != null">id,</if>
            <if test="wallName != null">wall_name,</if>
            <if test="longitude != null">longitude,</if>
            <if test="latitude != null">latitude,</if>
            <if test="distance != null">distance,</if>
         </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="id != null">#{id},</if>
            <if test="wallName != null">#{wallName},</if>
            <if test="longitude != null">#{longitude},</if>
            <if test="latitude != null">#{latitude},</if>
            <if test="distance != null">#{distance},</if>
         </trim>
    </insert>
    <update id="updateArdTankWall" parameterType="ArdTankWall">
        update ard_tank_wall
        <trim prefix="SET" suffixOverrides=",">
            <if test="wallName != null">wall_name = #{wallName},</if>
            <if test="longitude != null">longitude = #{longitude},</if>
            <if test="latitude != null">latitude = #{latitude},</if>
            <if test="distance != null">distance = #{distance},</if>
        </trim>
        where id = #{id}
    </update>
    <delete id="deleteArdTankWallById" parameterType="String">
        delete from ard_tank_wall where id = #{id}
    </delete>
    <delete id="deleteArdTankWallByIds" parameterType="String">
        delete from ard_tank_wall where id in
        <foreach item="id" collection="array" open="(" separator="," close=")">
            #{id}
        </foreach>
    </delete>
</mapper>