zhangnaisong
2023-07-22 2a83dc06a43087f7ca6bebd5440530b2b3c16b85
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 io.minio.GetPresignedObjectUrlArgs;
import io.minio.ListObjectsArgs;
@@ -29,6 +34,8 @@
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import static com.ruoyi.common.websocket.util.WebSocketUtils.ONLINE_USER_SESSIONS;
/**
 * 三一车辆Service业务层处理
@@ -46,6 +53,9 @@
    @Resource
    private ArdSyUserMapper ardSyUserMapper;
    @Resource
    private SysUserMapper userMapper;
    /**
@@ -324,8 +334,30 @@
        }
    }
    @Override
    public List<ArdSyCar> carListById(String id) {
        return ardSyCarMapper.carListById(id);
    }
    @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));
            }
        }
    }
}