zhangnaisong
2024-07-02 9710740f1672fcaab74510ff5e8044c5fd0dafc8
电磁锁根据三一车辆主键查询提交
已修改5个文件
82 ■■■■■ 文件已修改
ard-work/src/main/java/com/ruoyi/sy/controller/ArdTankLockController.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/sy/mapper/ArdTankLockMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/sy/service/IArdTankLockService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankLockServiceImpl.java 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/resources/mapper/sy/ArdTankLockMapper.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/sy/controller/ArdTankLockController.java
@@ -151,6 +151,17 @@
    }
    /**
     * 根据car_id获取电磁锁详细信息
     */
    @ApiOperation("根据car_id获取电磁锁详细信息")
    @PreAuthorize("@ss.hasPermi('sy:lock:getLockByCarId')")
    @PostMapping("/getLockByCarId")
    public AjaxResult getLockByCarId(@RequestBody ArdTankLock ardTankLock) {
        String userId = SecurityUtils.getUserId();
        return success(ardTankLockService.getLockByCarId(ardTankLock.getCarId(),userId));
    }
    /**
     * 新增电子围栏
     */
    @ApiOperation("新增电子围栏")
ard-work/src/main/java/com/ruoyi/sy/mapper/ArdTankLockMapper.java
@@ -63,4 +63,6 @@
    public List<ArdTankLock> getAll();
    public int insertArdTankLocks(@Param("ardTankLocks") List<ArdTankLock> ardTankLocks);
    public List<ArdTankLock> getLockByCarId(String carId);
}
ard-work/src/main/java/com/ruoyi/sy/service/IArdTankLockService.java
@@ -65,4 +65,6 @@
    //public Results getAll(String usersId);
    public List<Map<String,Object>> getAll(String usersId);
    public Map<String, Object> getLockByCarId(String carId,String usersId);
}
ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankLockServiceImpl.java
@@ -209,4 +209,67 @@
        //return Results.succeed(result0);
        return result0;
    }
    @Override
    public Map<String, Object> getLockByCarId(String carId, 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.getLockByCarId(carId);
        Map<String,Object> syResult = sYClient.getCarNearPositionByCarId(syURL, carId, ardSyUser.getUserId(), sessionId);
        Map<String,Object> resultMap = new HashMap();
        if(ardTankLockList.size() != 0){
            resultMap.put("carId",carId);
            if(((String)syResult.get("rspCode")).equals("1")){
                Map<String,Object> carMap = ((List<Map<String,Object>>)syResult.get("list")).get(0);
                resultMap.put("carPlate",carMap.get("carPlate"));
            }
        }else{
            resultMap.put("carId",carId);
            if(((String)syResult.get("rspCode")).equals("1")){
                Map<String,Object> carMap = ((List<Map<String,Object>>)syResult.get("list")).get(0);
                resultMap.put("carPlate",carMap.get("carPlate"));
            }
            resultMap.put("lockList",new ArrayList());
        }
        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());
            if(ardTankLock.getRestartState() == null){
                map.put("restartState","");
            }else{
                map.put("restartState",ardTankLock.getRestartState());
            }
            if(ardTankLock.getOnlineTime() == null){
                map.put("onlineTime","");
            }else{
                map.put("onlineTime",ardTankLock.getOnlineTime());
            }
            Map<String,Object> carMap = ((List<Map<String,Object>>)syResult.get("list")).get(0);
            map.put("carPlate",carMap.get("carPlate"));
            result.add(map);
        }
        resultMap.put("lockList",result);
        return resultMap;
    }
}
ard-work/src/main/resources/mapper/sy/ArdTankLockMapper.xml
@@ -107,4 +107,8 @@
             #{ardTankLock.onlineTime})
        </foreach >
    </insert>
    <select id="getLockByCarId" resultMap="ArdTankLockResult" parameterType="java.lang.String">
        select * from ard_tank_lock atl where car_id = #{carId} order by atl.lock_num
    </select>
</mapper>