aijinhui
2023-10-18 463363f6ef3f5761a074016cc7d61778db0d6cd9
ard-work/src/main/java/com/ruoyi/sy/controller/ArdSyCarController.java
@@ -3,17 +3,17 @@
import java.util.*;
import javax.annotation.PostConstruct;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.uuid.IdUtils;
import com.ruoyi.sy.domain.ArdSyUser;
import com.ruoyi.sy.gps31.PositionContainer;
import com.ruoyi.sy.gps31.PushClientImplAlarm;
import com.ruoyi.sy.gps31.PushClientImplPosition;
import com.ruoyi.sy.service.IArdSyUserService;
import com.ruoyi.system.domain.SysConfig;
import com.ruoyi.common.core.domain.entity.SysConfig;
import com.ruoyi.system.service.ISysConfigService;
import com.ruoyi.system.service.ISysDeptService;
import com.ruoyi.system.service.ISysUserService;
@@ -33,8 +33,6 @@
import com.ruoyi.sy.service.IArdSyCarService;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import org.springframework.web.multipart.MultipartFile;
/**
@@ -89,6 +87,10 @@
        String ip = syURL.split(":")[1].replace("//", "");
        List<ArdSyUser> ardSyUserList = iArdSyUserService.selectSyUser();
        //车辆实时位置线程
        if(ardSyUserList.size()==0)
        {
            return;
        }
        PushClientImplPosition pushClientImplPosition = new PushClientImplPosition(ip,ardSyUserList.get(0).getUserId(),ardSyUserList.get(0).getPassword());
        Thread pushClientImplPositionThread = new Thread(pushClientImplPosition);
        pushClientImplPositionThread.start();
@@ -340,4 +342,51 @@
        }
        return Results.succeed(map);
    }
    @PreAuthorize("@ss.hasPermi('sy:syCar:getSDKCarPositionByRight')")
    @PostMapping("getSDKCarPositionByRight")
    @ApiOperation("获取部门权限下所有车辆位置")
    public Results getSDKCarPositionByRight(){
        String usersId = SecurityUtils.getUserId();
        //根据userId查询部门Id
        SysUser sysUser = sysUserService.selectUserById(usersId);
        Map<String, Map<String,Map<String,Object>>> deptPositionMap = PositionContainer.getDeptPositionMap();
        if(deptPositionMap.isEmpty()){
            return Results.succeed();
        }else {
//            return Results.succeed(deptPositionMap.get(sysUser.getDeptId().toString()).get(map.get("carId")));
            return Results.succeed(deptPositionMap.get(sysUser.getDeptId().toString()));
        }
    }
    @PreAuthorize("@ss.hasPermi('sy:syCar:getCarNearPositionByCarId')")
    @PostMapping("getCarNearPositionByCarId")
    @ApiOperation("获取单个车辆位置")
    public Results getCarNearPositionByCarId(@RequestBody Map<String,String> map){
        String usersId = SecurityUtils.getUserId();
        ArdSyUser ardSyUser = iArdSyUserService.userById(usersId);
        String carId = map.get("carId");
        String syURL = sysConfigService.getSYURL();
        return ardSyCarService.getCarGPSBycarId(usersId,carId,syURL,ardSyUser);
    }
    @PreAuthorize("@ss.hasPermi('sy:syCar:chaseCarByCarId')")
    @PostMapping("chaseCarByCarId")
    @ApiOperation("根据车辆主键追踪车辆")
    public Results chaseCarByCarId(@RequestBody Map<String,String> map){
        String usersId = SecurityUtils.getUserId();
        String carId = map.get("carId");
        String cycle = map.get("cycle");
        return ardSyCarService.chaseCarByCarId(usersId,carId,cycle);
    }
    @PreAuthorize("@ss.hasPermi('sy:syCar:getExistTraceByCarIdAndMonth')")
    @PostMapping("getExistTraceByCarIdAndMonth")
    @ApiOperation("根据车辆主键及月份查询轨迹存在")
    public Results getExistTraceByCarIdAndMonth(@RequestBody Map<String,String> map){
        String userId = SecurityUtils.getUserId();
        String carId = map.get("carId");
        String time = map.get("time");
        return ardSyCarService.getExistTraceByCarIdAndMonth(userId,carId,time);
    }
}