zhangnaisong
2024-07-01 618e184784d2e39a31affc40173e15ccb978bc24
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);
    }
}