zhangnaisong
2024-07-01 618e184784d2e39a31affc40173e15ccb978bc24
电磁锁概要提交
已添加10个文件
已修改8个文件
915 ■■■■■ 文件已修改
ard-work/src/main/java/com/ruoyi/sy/controller/ArdSyCarController.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/sy/controller/ArdTankLockController.java 41 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/sy/domain/ArdTankLock.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/sy/domain/ArdTankWallLock.java 79 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/sy/domain/ArdTankWallLockTemporary.java 79 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/sy/mapper/ArdTankLockMapper.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/sy/mapper/ArdTankWallLockMapper.java 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/sy/mapper/ArdTankWallLockTemporaryMapper.java 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/sy/service/IArdTankLockService.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/sy/service/IArdTankWallLockService.java 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/sy/service/IArdTankWallLockTemporaryService.java 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankLockServiceImpl.java 84 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankWallLockServiceImpl.java 92 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankWallLockTemporaryServiceImpl.java 92 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/resources/mapper/sy/ArdTankLockMapper.xml 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/resources/mapper/sy/ArdTankWallLockMapper.xml 72 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/resources/mapper/sy/ArdTankWallLockTemporaryMapper.xml 72 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/resources/application-prod.yml 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/sy/controller/ArdSyCarController.java
@@ -79,6 +79,12 @@
    @Value("${syCar.enabled}")
    private Boolean syCarEnabled;
    @Value("${syCar.userId}")
    private String userId;
    @Value("${syCar.password}")
    private String password;
    @PostConstruct
    public void init(){
        ardSyCarController = this;
@@ -101,7 +107,8 @@
        {
            return;
        }
        PushClientImplPosition pushClientImplPosition = new PushClientImplPosition(ip,ardSyUserList.get(0).getUserId(),ardSyUserList.get(0).getPassword());
        //PushClientImplPosition pushClientImplPosition = new PushClientImplPosition(ip,ardSyUserList.get(0).getUserId(),ardSyUserList.get(0).getPassword());
        PushClientImplPosition pushClientImplPosition = new PushClientImplPosition(ip,userId,password);
        Thread pushClientImplPositionThread = new Thread(pushClientImplPosition);
        pushClientImplPositionThread.start();
@@ -115,7 +122,8 @@
        };
        //carPositionTimer.scheduleAtFixedRate(carPositionTask,date,3*1000);//弃用
        //车辆实时报警线程
        PushClientImplAlarm pushClientImplAlarm = new PushClientImplAlarm(ip,ardSyUserList.get(0).getUserId(),ardSyUserList.get(0).getPassword());
        //PushClientImplAlarm pushClientImplAlarm = new PushClientImplAlarm(ip,ardSyUserList.get(0).getUserId(),ardSyUserList.get(0).getPassword());
        PushClientImplAlarm pushClientImplAlarm = new PushClientImplAlarm(ip,userId,password);
        Thread pushClientImplAlarmThread = new Thread(pushClientImplAlarm);
        pushClientImplAlarmThread.start();
    }
ard-work/src/main/java/com/ruoyi/sy/controller/ArdTankLockController.java
@@ -1,9 +1,12 @@
package com.ruoyi.sy.controller;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletResponse;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.uuid.IdUtils;
import com.ruoyi.utils.result.Results;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.security.access.prepost.PreAuthorize;
@@ -29,7 +32,7 @@
 * ç”µç£é”Controller
 *
 * @author ard
 * @date 2024-06-29
 * @date 2024-07-01
 */
@Api(tags = "电磁锁")
@RestController
@@ -38,12 +41,12 @@
    @Autowired
    private IArdTankLockService ardTankLockService;
/**
 * æŸ¥è¯¢ç”µç£é”åˆ—表
 */
@ApiOperation("查询电磁锁列表")
@PreAuthorize("@ss.hasPermi('sy:lock:list')")
@GetMapping("/list")
    /**
     * æŸ¥è¯¢ç”µç£é”åˆ—表
     */
    @ApiOperation("查询电磁锁列表")
    @PreAuthorize("@ss.hasPermi('sy:lock:list')")
    @GetMapping("/list")
    public TableDataInfo list(ArdTankLock ardTankLock) {
        startPage();
        List<ArdTankLock> list = ardTankLockService.selectArdTankLockList(ardTankLock);
@@ -80,8 +83,6 @@
    @Log(title = "电磁锁" , businessType = BusinessType.INSERT)
    @PostMapping
    public AjaxResult add(@RequestBody ArdTankLock ardTankLock) {
        String id = IdUtils.simpleUUID();
        ardTankLock.setId(id);
        return toAjax(ardTankLockService.insertArdTankLock(ardTankLock));
    }
@@ -99,11 +100,31 @@
    /**
     * åˆ é™¤ç”µç£é”
     */
    @ApiOperation("删除电磁锁")
    /*@ApiOperation("删除电磁锁")
    @PreAuthorize("@ss.hasPermi('sy:lock:remove')")
    @Log(title = "电磁锁" , businessType = BusinessType.DELETE)
    @DeleteMapping("/{ids}")
    public AjaxResult remove(@PathVariable String[] ids) {
        return toAjax(ardTankLockService.deleteArdTankLockByIds(ids));
    }*/
    /**
     * åˆ é™¤ç”µç£é”
     */
    @ApiOperation("删除单一电磁锁")
    @PreAuthorize("@ss.hasPermi('sy:lock:remove')")
    @Log(title = "电磁锁" , businessType = BusinessType.DELETE)
    @DeleteMapping("/{id}")
    public AjaxResult remove(@PathVariable String id) {
        return toAjax(ardTankLockService.deleteArdTankLockById(id));
    }
    @ApiOperation("查询全部电磁锁")
    @PreAuthorize("@ss.hasPermi('sy:lock:getAll')")
    @GetMapping("/getAll")
    public Results getAll() {
        String userId = SecurityUtils.getUserId();
        Results result = ardTankLockService.getAll(userId);
        return result;
    }
}
ard-work/src/main/java/com/ruoyi/sy/domain/ArdTankLock.java
@@ -9,7 +9,7 @@
 * ç”µç£é”å¯¹è±¡ ard_tank_lock
 * 
 * @author ard
 * @date 2024-06-29
 * @date 2024-07-01
 */
public class ArdTankLock extends BaseEntity
{
@@ -41,6 +41,10 @@
    /** ä½¿èƒ½ */
    @Excel(name = "使能")
    private String enable;
    /** é‡å¯çŠ¶æ€ï¼šå¼€æˆ–å…³ */
    @Excel(name = "重启状态:开或关")
    private String restartState;
    /** åœ¨çº¿æ—¶é—´ */
    @Excel(name = "在线时间")
@@ -109,6 +113,15 @@
    {
        return enable;
    }
    public void setRestartState(String restartState)
    {
        this.restartState = restartState;
    }
    public String getRestartState()
    {
        return restartState;
    }
    public void setOnlineTime(String onlineTime) 
    {
        this.onlineTime = onlineTime;
@@ -129,6 +142,7 @@
            .append("imgPositionLeft", getImgPositionLeft())
            .append("carId", getCarId())
            .append("enable", getEnable())
            .append("restartState", getRestartState())
            .append("onlineTime", getOnlineTime())
            .toString();
    }
ard-work/src/main/java/com/ruoyi/sy/domain/ArdTankWallLock.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,79 @@
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_lock
 *
 * @author ard
 * @date 2024-06-29
 */
public class ArdTankWallLock extends BaseEntity
{
    private static final long serialVersionUID = 1L;
    /** æ“ä½œç±»åž‹ */
    @Excel(name = "操作类型")
    private String processType;
    /** ä¸»é”® */
    private String id;
    /** ç”µå­å›´æ ä¸»é”® */
    @Excel(name = "电子围栏主键")
    private String wallId;
    /** é”ä¸»é”® */
    @Excel(name = "锁主键")
    private String lockId;
    public void setProcessType(String processType)
    {
        this.processType = processType;
    }
    public String getProcessType()
    {
        return processType;
    }
    public void setId(String id)
    {
        this.id = id;
    }
    public String getId()
    {
        return id;
    }
    public void setWallId(String wallId)
    {
        this.wallId = wallId;
    }
    public String getWallId()
    {
        return wallId;
    }
    public void setLockId(String lockId)
    {
        this.lockId = lockId;
    }
    public String getLockId()
    {
        return lockId;
    }
    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("processType", getProcessType())
            .append("id", getId())
            .append("wallId", getWallId())
            .append("lockId", getLockId())
            .toString();
    }
}
ard-work/src/main/java/com/ruoyi/sy/domain/ArdTankWallLockTemporary.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,79 @@
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_lock_temporary
 *
 * @author ard
 * @date 2024-07-01
 */
public class ArdTankWallLockTemporary extends BaseEntity
{
    private static final long serialVersionUID = 1L;
    /** ä¸»é”® */
    private String id;
    /** å›´æ ä¸»é”® */
    @Excel(name = "围栏主键")
    private String wallId;
    /** é”ä¸»é”® */
    @Excel(name = "锁主键")
    private String lockId;
    /** æ“ä½œç±»åž‹ */
    @Excel(name = "操作类型")
    private String processType;
    public void setId(String id)
    {
        this.id = id;
    }
    public String getId()
    {
        return id;
    }
    public void setWallId(String wallId)
    {
        this.wallId = wallId;
    }
    public String getWallId()
    {
        return wallId;
    }
    public void setLockId(String lockId)
    {
        this.lockId = lockId;
    }
    public String getLockId()
    {
        return lockId;
    }
    public void setProcessType(String processType)
    {
        this.processType = processType;
    }
    public String getProcessType()
    {
        return processType;
    }
    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("wallId", getWallId())
            .append("lockId", getLockId())
            .append("processType", getProcessType())
            .toString();
    }
}
ard-work/src/main/java/com/ruoyi/sy/mapper/ArdTankLockMapper.java
@@ -7,7 +7,7 @@
 * ç”µç£é”Mapper接口
 * 
 * @author ard
 * @date 2024-06-29
 * @date 2024-07-01
 */
public interface ArdTankLockMapper 
{
@@ -58,4 +58,6 @@
     * @return ç»“æžœ
     */
    public int deleteArdTankLockByIds(String[] ids);
    public List<ArdTankLock> getAll();
}
ard-work/src/main/java/com/ruoyi/sy/mapper/ArdTankWallLockMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,67 @@
package com.ruoyi.sy.mapper;
import java.util.List;
import com.ruoyi.sy.domain.ArdTankWallLock;
/**
 * ç”µå­å›´æ ç”µç£é”Mapper接口
 *
 * @author ard
 * @date 2024-06-29
 */
public interface ArdTankWallLockMapper
{
    /**
     * æŸ¥è¯¢ç”µå­å›´æ ç”µç£é”
     *
     * @param processType ç”µå­å›´æ ç”µç£é”ä¸»é”®
     * @return ç”µå­å›´æ ç”µç£é”
     */
    public ArdTankWallLock selectArdTankWallLockByProcessType(String processType);
    /**
     * æŸ¥è¯¢ç”µå­å›´æ ç”µç£é”åˆ—表
     *
     * @param ardTankWallLock ç”µå­å›´æ ç”µç£é”
     * @return ç”µå­å›´æ ç”µç£é”é›†åˆ
     */
    public List<ArdTankWallLock> selectArdTankWallLockList(ArdTankWallLock ardTankWallLock);
    /**
     * æ–°å¢žç”µå­å›´æ ç”µç£é”
     *
     * @param ardTankWallLock ç”µå­å›´æ ç”µç£é”
     * @return ç»“æžœ
     */
    public int insertArdTankWallLock(ArdTankWallLock ardTankWallLock);
    /**
     * ä¿®æ”¹ç”µå­å›´æ ç”µç£é”
     *
     * @param ardTankWallLock ç”µå­å›´æ ç”µç£é”
     * @return ç»“æžœ
     */
    public int updateArdTankWallLock(ArdTankWallLock ardTankWallLock);
    /**
     * åˆ é™¤ç”µå­å›´æ ç”µç£é”
     *
     * @param processType ç”µå­å›´æ ç”µç£é”ä¸»é”®
     * @return ç»“æžœ
     */
    public int deleteArdTankWallLockByProcessType(String processType);
    /**
     * æ‰¹é‡åˆ é™¤ç”µå­å›´æ ç”µç£é”
     *
     * @param processTypes éœ€è¦åˆ é™¤çš„æ•°æ®ä¸»é”®é›†åˆ
     * @return ç»“æžœ
     */
    public int deleteArdTankWallLockByProcessTypes(String[] processTypes);
    /**
     *根据电磁锁主键删除电磁锁
     *
     */
    public int deleteArdTankWallLockByLockId(String lockId);
}
ard-work/src/main/java/com/ruoyi/sy/mapper/ArdTankWallLockTemporaryMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,63 @@
package com.ruoyi.sy.mapper;
import java.util.List;
import com.ruoyi.sy.domain.ArdTankWallLockTemporary;
/**
 * ä¸´æ—¶ç”µå­å›´æ ç”µç£é”Mapper接口
 *
 * @author ard
 * @date 2024-07-01
 */
public interface ArdTankWallLockTemporaryMapper
{
    /**
     * æŸ¥è¯¢ä¸´æ—¶ç”µå­å›´æ ç”µç£é”
     *
     * @param id ä¸´æ—¶ç”µå­å›´æ ç”µç£é”ä¸»é”®
     * @return ä¸´æ—¶ç”µå­å›´æ ç”µç£é”
     */
    public ArdTankWallLockTemporary selectArdTankWallLockTemporaryById(String id);
    /**
     * æŸ¥è¯¢ä¸´æ—¶ç”µå­å›´æ ç”µç£é”åˆ—表
     *
     * @param ardTankWallLockTemporary ä¸´æ—¶ç”µå­å›´æ ç”µç£é”
     * @return ä¸´æ—¶ç”µå­å›´æ ç”µç£é”é›†åˆ
     */
    public List<ArdTankWallLockTemporary> selectArdTankWallLockTemporaryList(ArdTankWallLockTemporary ardTankWallLockTemporary);
    /**
     * æ–°å¢žä¸´æ—¶ç”µå­å›´æ ç”µç£é”
     *
     * @param ardTankWallLockTemporary ä¸´æ—¶ç”µå­å›´æ ç”µç£é”
     * @return ç»“æžœ
     */
    public int insertArdTankWallLockTemporary(ArdTankWallLockTemporary ardTankWallLockTemporary);
    /**
     * ä¿®æ”¹ä¸´æ—¶ç”µå­å›´æ ç”µç£é”
     *
     * @param ardTankWallLockTemporary ä¸´æ—¶ç”µå­å›´æ ç”µç£é”
     * @return ç»“æžœ
     */
    public int updateArdTankWallLockTemporary(ArdTankWallLockTemporary ardTankWallLockTemporary);
    /**
     * åˆ é™¤ä¸´æ—¶ç”µå­å›´æ ç”µç£é”
     *
     * @param id ä¸´æ—¶ç”µå­å›´æ ç”µç£é”ä¸»é”®
     * @return ç»“æžœ
     */
    public int deleteArdTankWallLockTemporaryById(String id);
    /**
     * æ‰¹é‡åˆ é™¤ä¸´æ—¶ç”µå­å›´æ ç”µç£é”
     *
     * @param ids éœ€è¦åˆ é™¤çš„æ•°æ®ä¸»é”®é›†åˆ
     * @return ç»“æžœ
     */
    public int deleteArdTankWallLockTemporaryByIds(String[] ids);
    public int deleteArdTankWallLockTemporaryByLockId(String lockId);
}
ard-work/src/main/java/com/ruoyi/sy/service/IArdTankLockService.java
@@ -1,13 +1,16 @@
package com.ruoyi.sy.service;
import java.util.List;
import java.util.Map;
import com.ruoyi.sy.domain.ArdTankLock;
import com.ruoyi.utils.result.Results;
/**
 * ç”µç£é”Service接口
 * 
 * @author ard
 * @date 2024-06-29
 * @date 2024-07-01
 */
public interface IArdTankLockService 
{
@@ -58,4 +61,6 @@
     * @return ç»“æžœ
     */
    public int deleteArdTankLockById(String id);
    public Results getAll(String usersId);
}
ard-work/src/main/java/com/ruoyi/sy/service/IArdTankWallLockService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,61 @@
package com.ruoyi.sy.service;
import java.util.List;
import com.ruoyi.sy.domain.ArdTankWallLock;
/**
 * ç”µå­å›´æ ç”µç£é”Service接口
 *
 * @author ard
 * @date 2024-06-29
 */
public interface IArdTankWallLockService
{
    /**
     * æŸ¥è¯¢ç”µå­å›´æ ç”µç£é”
     *
     * @param processType ç”µå­å›´æ ç”µç£é”ä¸»é”®
     * @return ç”µå­å›´æ ç”µç£é”
     */
    public ArdTankWallLock selectArdTankWallLockByProcessType(String processType);
    /**
     * æŸ¥è¯¢ç”µå­å›´æ ç”µç£é”åˆ—表
     *
     * @param ardTankWallLock ç”µå­å›´æ ç”µç£é”
     * @return ç”µå­å›´æ ç”µç£é”é›†åˆ
     */
    public List<ArdTankWallLock> selectArdTankWallLockList(ArdTankWallLock ardTankWallLock);
    /**
     * æ–°å¢žç”µå­å›´æ ç”µç£é”
     *
     * @param ardTankWallLock ç”µå­å›´æ ç”µç£é”
     * @return ç»“æžœ
     */
    public int insertArdTankWallLock(ArdTankWallLock ardTankWallLock);
    /**
     * ä¿®æ”¹ç”µå­å›´æ ç”µç£é”
     *
     * @param ardTankWallLock ç”µå­å›´æ ç”µç£é”
     * @return ç»“æžœ
     */
    public int updateArdTankWallLock(ArdTankWallLock ardTankWallLock);
    /**
     * æ‰¹é‡åˆ é™¤ç”µå­å›´æ ç”µç£é”
     *
     * @param processTypes éœ€è¦åˆ é™¤çš„电子围栏电磁锁主键集合
     * @return ç»“æžœ
     */
    public int deleteArdTankWallLockByProcessTypes(String[] processTypes);
    /**
     * åˆ é™¤ç”µå­å›´æ ç”µç£é”ä¿¡æ¯
     *
     * @param processType ç”µå­å›´æ ç”µç£é”ä¸»é”®
     * @return ç»“æžœ
     */
    public int deleteArdTankWallLockByProcessType(String processType);
}
ard-work/src/main/java/com/ruoyi/sy/service/IArdTankWallLockTemporaryService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,61 @@
package com.ruoyi.sy.service;
import java.util.List;
import com.ruoyi.sy.domain.ArdTankWallLockTemporary;
/**
 * ä¸´æ—¶ç”µå­å›´æ ç”µç£é”Service接口
 *
 * @author ard
 * @date 2024-07-01
 */
public interface IArdTankWallLockTemporaryService
{
    /**
     * æŸ¥è¯¢ä¸´æ—¶ç”µå­å›´æ ç”µç£é”
     *
     * @param id ä¸´æ—¶ç”µå­å›´æ ç”µç£é”ä¸»é”®
     * @return ä¸´æ—¶ç”µå­å›´æ ç”µç£é”
     */
    public ArdTankWallLockTemporary selectArdTankWallLockTemporaryById(String id);
    /**
     * æŸ¥è¯¢ä¸´æ—¶ç”µå­å›´æ ç”µç£é”åˆ—表
     *
     * @param ardTankWallLockTemporary ä¸´æ—¶ç”µå­å›´æ ç”µç£é”
     * @return ä¸´æ—¶ç”µå­å›´æ ç”µç£é”é›†åˆ
     */
    public List<ArdTankWallLockTemporary> selectArdTankWallLockTemporaryList(ArdTankWallLockTemporary ardTankWallLockTemporary);
    /**
     * æ–°å¢žä¸´æ—¶ç”µå­å›´æ ç”µç£é”
     *
     * @param ardTankWallLockTemporary ä¸´æ—¶ç”µå­å›´æ ç”µç£é”
     * @return ç»“æžœ
     */
    public int insertArdTankWallLockTemporary(ArdTankWallLockTemporary ardTankWallLockTemporary);
    /**
     * ä¿®æ”¹ä¸´æ—¶ç”µå­å›´æ ç”µç£é”
     *
     * @param ardTankWallLockTemporary ä¸´æ—¶ç”µå­å›´æ ç”µç£é”
     * @return ç»“æžœ
     */
    public int updateArdTankWallLockTemporary(ArdTankWallLockTemporary ardTankWallLockTemporary);
    /**
     * æ‰¹é‡åˆ é™¤ä¸´æ—¶ç”µå­å›´æ ç”µç£é”
     *
     * @param ids éœ€è¦åˆ é™¤çš„临时电子围栏电磁锁主键集合
     * @return ç»“æžœ
     */
    public int deleteArdTankWallLockTemporaryByIds(String[] ids);
    /**
     * åˆ é™¤ä¸´æ—¶ç”µå­å›´æ ç”µç£é”ä¿¡æ¯
     *
     * @param id ä¸´æ—¶ç”µå­å›´æ ç”µç£é”ä¸»é”®
     * @return ç»“æžœ
     */
    public int deleteArdTankWallLockTemporaryById(String id);
}
ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankLockServiceImpl.java
@@ -1,27 +1,57 @@
package com.ruoyi.sy.service.impl;
import java.util.HashMap;
import java.util.List;
import com.dtflys.forest.annotation.Var;
import com.ruoyi.common.core.domain.entity.SysConfig;
import com.ruoyi.common.utils.uuid.IdUtils;
import com.ruoyi.sy.domain.ArdSyUser;
import com.ruoyi.sy.mapper.ArdSyUserMapper;
import com.ruoyi.sy.mapper.ArdTankWallLockMapper;
import com.ruoyi.sy.mapper.ArdTankWallLockTemporaryMapper;
import com.ruoyi.system.mapper.SysConfigMapper;
import com.ruoyi.utils.forest.SYClient;
import com.ruoyi.utils.result.Results;
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 com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.sy.mapper.ArdTankLockMapper;
import com.ruoyi.sy.domain.ArdTankLock;
import com.ruoyi.sy.service.IArdTankLockService;
import javax.annotation.Resource;
/**
 * ç”µç£é”Service业务层处理
 *
 * @author ard
 * @date 2024-06-29
 * @date 2024-07-01
 */
@Service
public class ArdTankLockServiceImpl implements IArdTankLockService {
    @Autowired
    @Resource
    private ArdTankLockMapper ardTankLockMapper;
    @Resource
    private ArdTankWallLockMapper ardTankWallLockMapper;
    @Resource
    private ArdTankWallLockTemporaryMapper ardTankWallLockTemporaryMapper;
    @Resource
    private ArdSyUserMapper ardSyUserMapper;
    @Resource
    private SysConfigMapper sysConfigMapper;
    @Resource
    private SYClient sYClient;
    /**
     * æŸ¥è¯¢ç”µç£é”
@@ -87,6 +117,54 @@
     */
    @Override
    public int deleteArdTankLockById(String id) {
        return ardTankLockMapper.deleteArdTankLockById(id);
        try{
            return ardTankLockMapper.deleteArdTankLockById(id);
        } finally {
            ardTankWallLockMapper.deleteArdTankWallLockByLockId(id);//删除永久电子围栏中间表
            ardTankWallLockTemporaryMapper.deleteArdTankWallLockTemporaryByLockId(id);//删除临时电子围栏中间表
        }
    }
    @Override
    public Results getAll(String usersId) {
        ArdSyUser ardSyUser = ardSyUserMapper.userById(usersId);
        if(ardSyUser == null){
            return Results.error("没有挂接三一车辆用户");
        }
        List<SysConfig> syURLResult = sysConfigMapper.selectByType("syCarPT");
        String syURL = "";
        if(syURLResult.size() != 0){
            syURL = syURLResult.get(0).getConfigValue();
        }else{
            return Results.error("三一车辆地址未录入");
        }
        String passwordMd5 = DigestUtils.md5Hex(ardSyUser.getPassword());
        Map<String, Object> LogInResult = sYClient.logIn(syURL, passwordMd5, ardSyUser.getUserId());
        String sessionId = (String) LogInResult.get("sessionId");
        List<ArdTankLock> ardTankLockList = ardTankLockMapper.getAll();
        List<Map<String,Object>> result = new ArrayList();
        for(ArdTankLock ardTankLock : ardTankLockList){
            Map<String,Object> map = new HashMap();
            map.put("id",ardTankLock.getId());
            map.put("lockNum",ardTankLock.getLockNum());
            map.put("lockName",ardTankLock.getLockName());
            map.put("imgPositionTop",ardTankLock.getImgPositionTop());
            map.put("imgPositionLeft",ardTankLock.getImgPositionLeft());
            map.put("carId",ardTankLock.getCarId());
            map.put("enable",ardTankLock.getEnable());
            map.put("restartState",ardTankLock.getRestartState());
            if(ardTankLock.getOnlineTime() == null){
                map.put("onlineTime","");
            }else{
                map.put("onlineTime",ardTankLock.getOnlineTime());
            }
            Map<String,Object> syResult = sYClient.getCarNearPositionByCarId(syURL, ardTankLock.getCarId(), ardSyUser.getUserId(), sessionId);
            if(((String)syResult.get("rspCode")).equals("1")){
                Map<String,Object> carMap = ((List<Map<String,Object>>)syResult.get("list")).get(0);
                map.put("carPlate",carMap.get("carPlate"));
            }
            result.add(map);
        }
        return Results.succeed(result);
    }
}
ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankWallLockServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,92 @@
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.ArdTankWallLockMapper;
import com.ruoyi.sy.domain.ArdTankWallLock;
import com.ruoyi.sy.service.IArdTankWallLockService;
/**
 * ç”µå­å›´æ ç”µç£é”Service业务层处理
 *
 * @author ard
 * @date 2024-06-29
 */
@Service
public class ArdTankWallLockServiceImpl implements IArdTankWallLockService {
    @Autowired
    private ArdTankWallLockMapper ardTankWallLockMapper;
    /**
     * æŸ¥è¯¢ç”µå­å›´æ ç”µç£é”
     *
     * @param processType ç”µå­å›´æ ç”µç£é”ä¸»é”®
     * @return ç”µå­å›´æ ç”µç£é”
     */
    @Override
    public ArdTankWallLock selectArdTankWallLockByProcessType(String processType) {
        return ardTankWallLockMapper.selectArdTankWallLockByProcessType(processType);
    }
    /**
     * æŸ¥è¯¢ç”µå­å›´æ ç”µç£é”åˆ—表
     *
     * @param ardTankWallLock ç”µå­å›´æ ç”µç£é”
     * @return ç”µå­å›´æ ç”µç£é”
     */
    @Override
    public List<ArdTankWallLock> selectArdTankWallLockList(ArdTankWallLock ardTankWallLock) {
        return ardTankWallLockMapper.selectArdTankWallLockList(ardTankWallLock);
    }
    /**
     * æ–°å¢žç”µå­å›´æ ç”µç£é”
     *
     * @param ardTankWallLock ç”µå­å›´æ ç”µç£é”
     * @return ç»“æžœ
     */
    @Override
    public int insertArdTankWallLock(ArdTankWallLock ardTankWallLock) {
                ardTankWallLock.setId(IdUtils.simpleUUID());
            return ardTankWallLockMapper.insertArdTankWallLock(ardTankWallLock);
    }
    /**
     * ä¿®æ”¹ç”µå­å›´æ ç”µç£é”
     *
     * @param ardTankWallLock ç”µå­å›´æ ç”µç£é”
     * @return ç»“æžœ
     */
    @Override
    public int updateArdTankWallLock(ArdTankWallLock ardTankWallLock) {
        return ardTankWallLockMapper.updateArdTankWallLock(ardTankWallLock);
    }
    /**
     * æ‰¹é‡åˆ é™¤ç”µå­å›´æ ç”µç£é”
     *
     * @param processTypes éœ€è¦åˆ é™¤çš„电子围栏电磁锁主键
     * @return ç»“æžœ
     */
    @Override
    public int deleteArdTankWallLockByProcessTypes(String[] processTypes) {
        return ardTankWallLockMapper.deleteArdTankWallLockByProcessTypes(processTypes);
    }
    /**
     * åˆ é™¤ç”µå­å›´æ ç”µç£é”ä¿¡æ¯
     *
     * @param processType ç”µå­å›´æ ç”µç£é”ä¸»é”®
     * @return ç»“æžœ
     */
    @Override
    public int deleteArdTankWallLockByProcessType(String processType) {
        return ardTankWallLockMapper.deleteArdTankWallLockByProcessType(processType);
    }
}
ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankWallLockTemporaryServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,92 @@
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.ArdTankWallLockTemporaryMapper;
import com.ruoyi.sy.domain.ArdTankWallLockTemporary;
import com.ruoyi.sy.service.IArdTankWallLockTemporaryService;
/**
 * ä¸´æ—¶ç”µå­å›´æ ç”µç£é”Service业务层处理
 *
 * @author ard
 * @date 2024-07-01
 */
@Service
public class ArdTankWallLockTemporaryServiceImpl implements IArdTankWallLockTemporaryService {
    @Autowired
    private ArdTankWallLockTemporaryMapper ardTankWallLockTemporaryMapper;
    /**
     * æŸ¥è¯¢ä¸´æ—¶ç”µå­å›´æ ç”µç£é”
     *
     * @param id ä¸´æ—¶ç”µå­å›´æ ç”µç£é”ä¸»é”®
     * @return ä¸´æ—¶ç”µå­å›´æ ç”µç£é”
     */
    @Override
    public ArdTankWallLockTemporary selectArdTankWallLockTemporaryById(String id) {
        return ardTankWallLockTemporaryMapper.selectArdTankWallLockTemporaryById(id);
    }
    /**
     * æŸ¥è¯¢ä¸´æ—¶ç”µå­å›´æ ç”µç£é”åˆ—表
     *
     * @param ardTankWallLockTemporary ä¸´æ—¶ç”µå­å›´æ ç”µç£é”
     * @return ä¸´æ—¶ç”µå­å›´æ ç”µç£é”
     */
    @Override
    public List<ArdTankWallLockTemporary> selectArdTankWallLockTemporaryList(ArdTankWallLockTemporary ardTankWallLockTemporary) {
        return ardTankWallLockTemporaryMapper.selectArdTankWallLockTemporaryList(ardTankWallLockTemporary);
    }
    /**
     * æ–°å¢žä¸´æ—¶ç”µå­å›´æ ç”µç£é”
     *
     * @param ardTankWallLockTemporary ä¸´æ—¶ç”µå­å›´æ ç”µç£é”
     * @return ç»“æžœ
     */
    @Override
    public int insertArdTankWallLockTemporary(ArdTankWallLockTemporary ardTankWallLockTemporary) {
                ardTankWallLockTemporary.setId(IdUtils.simpleUUID());
            return ardTankWallLockTemporaryMapper.insertArdTankWallLockTemporary(ardTankWallLockTemporary);
    }
    /**
     * ä¿®æ”¹ä¸´æ—¶ç”µå­å›´æ ç”µç£é”
     *
     * @param ardTankWallLockTemporary ä¸´æ—¶ç”µå­å›´æ ç”µç£é”
     * @return ç»“æžœ
     */
    @Override
    public int updateArdTankWallLockTemporary(ArdTankWallLockTemporary ardTankWallLockTemporary) {
        return ardTankWallLockTemporaryMapper.updateArdTankWallLockTemporary(ardTankWallLockTemporary);
    }
    /**
     * æ‰¹é‡åˆ é™¤ä¸´æ—¶ç”µå­å›´æ ç”µç£é”
     *
     * @param ids éœ€è¦åˆ é™¤çš„临时电子围栏电磁锁主键
     * @return ç»“æžœ
     */
    @Override
    public int deleteArdTankWallLockTemporaryByIds(String[] ids) {
        return ardTankWallLockTemporaryMapper.deleteArdTankWallLockTemporaryByIds(ids);
    }
    /**
     * åˆ é™¤ä¸´æ—¶ç”µå­å›´æ ç”µç£é”ä¿¡æ¯
     *
     * @param id ä¸´æ—¶ç”µå­å›´æ ç”µç£é”ä¸»é”®
     * @return ç»“æžœ
     */
    @Override
    public int deleteArdTankWallLockTemporaryById(String id) {
        return ardTankWallLockTemporaryMapper.deleteArdTankWallLockTemporaryById(id);
    }
}
ard-work/src/main/resources/mapper/sy/ArdTankLockMapper.xml
@@ -12,11 +12,12 @@
        <result property="imgPositionLeft"    column="img_position_left"    />
        <result property="carId"    column="car_id"    />
        <result property="enable"    column="enable"    />
        <result property="restartState"    column="restart_state"    />
        <result property="onlineTime"    column="online_time"    />
    </resultMap>
    <sql id="selectArdTankLockVo">
        select id, lock_num, lock_name, img_position_top, img_position_left, car_id, enable, online_time from ard_tank_lock
        select id, lock_num, lock_name, img_position_top, img_position_left, car_id, enable, restart_state, online_time from ard_tank_lock
    </sql>
    <select id="selectArdTankLockList" parameterType="ArdTankLock" resultMap="ArdTankLockResult">
@@ -28,6 +29,7 @@
            <if test="imgPositionLeft != null  and imgPositionLeft != ''"> and img_position_left = #{imgPositionLeft}</if>
            <if test="carId != null  and carId != ''"> and car_id = #{carId}</if>
            <if test="enable != null  and enable != ''"> and enable = #{enable}</if>
            <if test="restartState != null  and restartState != ''"> and restart_state = #{restartState}</if>
            <if test="onlineTime != null  and onlineTime != ''"> and online_time = #{onlineTime}</if>
        </where>
    </select>
@@ -47,6 +49,7 @@
            <if test="imgPositionLeft != null">img_position_left,</if>
            <if test="carId != null">car_id,</if>
            <if test="enable != null">enable,</if>
            <if test="restartState != null">restart_state,</if>
            <if test="onlineTime != null">online_time,</if>
         </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
@@ -57,6 +60,7 @@
            <if test="imgPositionLeft != null">#{imgPositionLeft},</if>
            <if test="carId != null">#{carId},</if>
            <if test="enable != null">#{enable},</if>
            <if test="restartState != null">#{restartState},</if>
            <if test="onlineTime != null">#{onlineTime},</if>
         </trim>
    </insert>
@@ -70,6 +74,7 @@
            <if test="imgPositionLeft != null">img_position_left = #{imgPositionLeft},</if>
            <if test="carId != null">car_id = #{carId},</if>
            <if test="enable != null">enable = #{enable},</if>
            <if test="restartState != null">restart_state = #{restartState},</if>
            <if test="onlineTime != null">online_time = #{onlineTime},</if>
        </trim>
        where id = #{id}
@@ -85,4 +90,8 @@
            #{id}
        </foreach>
    </delete>
    <select id="getAll" resultMap="ArdTankLockResult">
        select * from ard_tank_lock atl order by atl.car_id
    </select>
</mapper>
ard-work/src/main/resources/mapper/sy/ArdTankWallLockMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,72 @@
<?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.ArdTankWallLockMapper">
    <resultMap type="ArdTankWallLock" id="ArdTankWallLockResult">
        <result property="processType"    column="process_type"    />
        <result property="id"    column="id"    />
        <result property="wallId"    column="wall_id"    />
        <result property="lockId"    column="lock_id"    />
    </resultMap>
    <sql id="selectArdTankWallLockVo">
        select process_type, id, wall_id, lock_id from ard_tank_wall_lock
    </sql>
    <select id="selectArdTankWallLockList" parameterType="ArdTankWallLock" resultMap="ArdTankWallLockResult">
        <include refid="selectArdTankWallLockVo"/>
        <where>
            <if test="processType != null  and processType != ''"> and process_type = #{processType}</if>
            <if test="wallId != null  and wallId != ''"> and wall_id = #{wallId}</if>
            <if test="lockId != null  and lockId != ''"> and lock_id = #{lockId}</if>
        </where>
    </select>
    <select id="selectArdTankWallLockByProcessType" parameterType="String" resultMap="ArdTankWallLockResult">
        <include refid="selectArdTankWallLockVo"/>
        where process_type = #{processType}
    </select>
    <insert id="insertArdTankWallLock" parameterType="ArdTankWallLock">
        insert into ard_tank_wall_lock
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="processType != null">process_type,</if>
            <if test="id != null">id,</if>
            <if test="wallId != null">wall_id,</if>
            <if test="lockId != null">lock_id,</if>
         </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="processType != null">#{processType},</if>
            <if test="id != null">#{id},</if>
            <if test="wallId != null">#{wallId},</if>
            <if test="lockId != null">#{lockId},</if>
         </trim>
    </insert>
    <update id="updateArdTankWallLock" parameterType="ArdTankWallLock">
        update ard_tank_wall_lock
        <trim prefix="SET" suffixOverrides=",">
            <if test="id != null">id = #{id},</if>
            <if test="wallId != null">wall_id = #{wallId},</if>
            <if test="lockId != null">lock_id = #{lockId},</if>
        </trim>
        where process_type = #{processType}
    </update>
    <delete id="deleteArdTankWallLockByProcessType" parameterType="String">
        delete from ard_tank_wall_lock where process_type = #{processType}
    </delete>
    <delete id="deleteArdTankWallLockByProcessTypes" parameterType="String">
        delete from ard_tank_wall_lock where process_type in
        <foreach item="processType" collection="array" open="(" separator="," close=")">
            #{processType}
        </foreach>
    </delete>
    <delete id="deleteArdTankWallLockByLockId" parameterType="java.lang.String">
        delete from ard_tank_wall_lock where lock_id = #{lockId}
    </delete>
</mapper>
ard-work/src/main/resources/mapper/sy/ArdTankWallLockTemporaryMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,72 @@
<?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.ArdTankWallLockTemporaryMapper">
    <resultMap type="ArdTankWallLockTemporary" id="ArdTankWallLockTemporaryResult">
        <result property="id"    column="id"    />
        <result property="wallId"    column="wall_id"    />
        <result property="lockId"    column="lock_id"    />
        <result property="processType"    column="process_type"    />
    </resultMap>
    <sql id="selectArdTankWallLockTemporaryVo">
        select id, wall_id, lock_id, process_type from ard_tank_wall_lock_temporary
    </sql>
    <select id="selectArdTankWallLockTemporaryList" parameterType="ArdTankWallLockTemporary" resultMap="ArdTankWallLockTemporaryResult">
        <include refid="selectArdTankWallLockTemporaryVo"/>
        <where>
            <if test="wallId != null  and wallId != ''"> and wall_id = #{wallId}</if>
            <if test="lockId != null  and lockId != ''"> and lock_id = #{lockId}</if>
            <if test="processType != null  and processType != ''"> and process_type = #{processType}</if>
        </where>
    </select>
    <select id="selectArdTankWallLockTemporaryById" parameterType="String" resultMap="ArdTankWallLockTemporaryResult">
        <include refid="selectArdTankWallLockTemporaryVo"/>
        where id = #{id}
    </select>
    <insert id="insertArdTankWallLockTemporary" parameterType="ArdTankWallLockTemporary">
        insert into ard_tank_wall_lock_temporary
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="id != null">id,</if>
            <if test="wallId != null">wall_id,</if>
            <if test="lockId != null">lock_id,</if>
            <if test="processType != null">process_type,</if>
         </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="id != null">#{id},</if>
            <if test="wallId != null">#{wallId},</if>
            <if test="lockId != null">#{lockId},</if>
            <if test="processType != null">#{processType},</if>
         </trim>
    </insert>
    <update id="updateArdTankWallLockTemporary" parameterType="ArdTankWallLockTemporary">
        update ard_tank_wall_lock_temporary
        <trim prefix="SET" suffixOverrides=",">
            <if test="wallId != null">wall_id = #{wallId},</if>
            <if test="lockId != null">lock_id = #{lockId},</if>
            <if test="processType != null">process_type = #{processType},</if>
        </trim>
        where id = #{id}
    </update>
    <delete id="deleteArdTankWallLockTemporaryById" parameterType="String">
        delete from ard_tank_wall_lock_temporary where id = #{id}
    </delete>
    <delete id="deleteArdTankWallLockTemporaryByIds" parameterType="String">
        delete from ard_tank_wall_lock_temporary where id in
        <foreach item="id" collection="array" open="(" separator="," close=")">
            #{id}
        </foreach>
    </delete>
    <delete id="deleteArdTankWallLockTemporaryByLockId" parameterType="java.lang.String">
        delete from ard_tank_wall_lock_temporary where lock_id = #{lockId}
    </delete>
</mapper>
ruoyi-admin/src/main/resources/application-prod.yml
@@ -77,6 +77,8 @@
#三一车辆开关
syCar:
  enabled: true
  userId: admin
  password: 654321
#无人机开关
uav:
  enabled: true