艾金辉
2023-07-22 64c7668818aa8272c0aae206a3c0f7007ca38e5d
ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java
@@ -8,13 +8,18 @@
import java.util.function.Predicate;
import java.util.stream.Collectors;
import com.alibaba.fastjson.JSON;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.utils.uuid.IdUtils;
import com.ruoyi.common.websocket.util.WebSocketUtils;
import com.ruoyi.device.hiksdk.config.MinioClientSingleton;
import com.ruoyi.device.hiksdk.util.minio.MinioUtils;
import com.ruoyi.sy.domain.ArdSyUser;
import com.ruoyi.sy.gps31.PositionContainer;
import com.ruoyi.sy.mapper.ArdSyUserMapper;
import com.ruoyi.system.domain.SysConfig;
import com.ruoyi.system.mapper.SysConfigMapper;
import com.ruoyi.system.mapper.SysUserMapper;
import com.ruoyi.utils.httpclient.SYCarClient;
import com.ruoyi.utils.result.Constants;
import com.ruoyi.utils.result.Results;
@@ -33,6 +38,8 @@
import javax.annotation.Resource;
import static com.ruoyi.common.websocket.util.WebSocketUtils.ONLINE_USER_SESSIONS;
/**
 * 三一车辆Service业务层处理
 *
@@ -49,6 +56,9 @@
    @Resource
    private ArdSyUserMapper ardSyUserMapper;
    @Resource
    private SysUserMapper userMapper;
    /**
@@ -327,6 +337,13 @@
        }
    }
//    @Override
//    public List<ArdSyCar> getArdSyCarWithRightByCarIdList(List<String> carIdList) {
//        List<ArdSyCar> result = ardSyCarMapper.getArdSyCarWithRightByCarIdList(carIdList);
//        return result;
//    }
    @Override
    public Results carListById(String id) {
        try {
@@ -341,4 +358,25 @@
            return Results.error(e.toString());
        }
    }
    @Override
    public Map<String, Object> getArdSyCarAndDeptByCarId(String carId) {
        Map<String, Object> result = ardSyCarMapper.getArdSyCarAndDeptByCarId(carId);
        return result;
    }
    @Override
    public void sendArdSyCarPosition() {
        for(String key : ONLINE_USER_SESSIONS.keySet()){
            SysUser sysUser = userMapper.selectUserById(key);
            String deptId = String.valueOf(sysUser.getDeptId());
            Map<String,Map<String,Object>> map = PositionContainer.getDeptPositionMap().get(deptId);
            List<Map<String,Object>> positionList = (List<Map<String, Object>>) map.values();
            if(positionList.size() != 0){
                Map<Integer,Object> data = new HashMap();
                data.put(30000,positionList);
                WebSocketUtils.sendMessage(ONLINE_USER_SESSIONS.get(key), JSON.toJSONString(positionList));
            }
        }
    }
}