艾金辉
2023-07-22 64c7668818aa8272c0aae206a3c0f7007ca38e5d
ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java
@@ -8,19 +8,27 @@
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;
import io.minio.GetPresignedObjectUrlArgs;
import io.minio.ListObjectsArgs;
import io.minio.PutObjectArgs;
import io.minio.Result;
import io.minio.http.Method;
import io.minio.messages.Contents;
import io.minio.messages.Item;
import org.springframework.stereotype.Service;
import com.ruoyi.sy.mapper.ArdSyCarMapper;
@@ -29,6 +37,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 +56,9 @@
    @Resource
    private ArdSyUserMapper ardSyUserMapper;
    @Resource
    private SysUserMapper userMapper;
    /**
@@ -324,8 +337,46 @@
        }
    }
//    @Override
//    public List<ArdSyCar> getArdSyCarWithRightByCarIdList(List<String> carIdList) {
//        List<ArdSyCar> result = ardSyCarMapper.getArdSyCarWithRightByCarIdList(carIdList);
//        return result;
//    }
    @Override
    public List<ArdSyCar> carListById(String carId) {
        return ardSyCarMapper.carListById(carId);
    public Results carListById(String id) {
        try {
            List<ArdSyCar> list = ardSyCarMapper.carListById(id);
            if(list.size()>0){
                ArdSyCar ardSyCar = list.get(0);
                return Results.succeed(ardSyCar);
            }else {
                return Results.succeed();
            }
        } catch (Exception e) {
            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));
            }
        }
    }
}