jinpengyong
2023-08-28 ea75e686ed771fa377f688d9eaf8027740265aa1
chore:测试提交
8 files modified
131 ■■■■ changed files
screen-manage/src/main/java/com/moral/api/controller/CruiserController.java 21 ●●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/controller/ManageCoordinateController.java 8 ●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/controller/ManageCoordinateDetailController.java 2 ●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/service/HistorySecondCruiserService.java 3 ●●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/service/ManageCoordinateService.java 2 ●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/service/impl/HistorySecondCruiserServiceImpl.java 77 ●●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/service/impl/ManageCoordinateDetailServiceImpl.java 5 ●●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/service/impl/ManageCoordinateServiceImpl.java 13 ●●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/controller/CruiserController.java
@@ -71,10 +71,29 @@
        }
        Map<String, Object> cruiserInFo = historySecondCruiserService.getCruiserInFo(params);
        return ObjectUtils.isEmpty(cruiserInFo)? ResultMessage.ok() : ResultMessage.ok(cruiserInFo);
        return ObjectUtils.isEmpty(cruiserInFo)? ResultMessage.ok(ResponseCodeEnum.DEVICE_IS_NULL.getMsg()) : ResultMessage.ok(cruiserInFo);
    }
    @GetMapping("getCruiserCompare")
    @ApiOperation(value = "数据对比", notes = "数据对比")
    @ApiImplicitParams(value = {
            @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String"),
            @ApiImplicitParam(name = "mac", value = "设备mac", required = true, paramType = "query", dataType = "String"),
            @ApiImplicitParam(name = "time1", value = "时间,2021-08-18", required = true, paramType = "query", dataType = "String"),
            @ApiImplicitParam(name = "time2", value = "时间,2021-08-18", required = true, paramType = "query", dataType = "String")
    })
    public ResultMessage getCruiserCompare(HttpServletRequest request){
        Map<String, Object> params = WebUtils.getParametersStartingWith(request, null);
        if (!params.containsKey("mac") || !params.containsKey("time1")|| !params.containsKey("time2")) {
            return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
        }
        Map<String, Object> cruiserInFo = historySecondCruiserService.getCruiserCompare(params);
        return ObjectUtils.isEmpty(cruiserInFo)? ResultMessage.ok(ResponseCodeEnum.DEVICE_IS_NULL.getMsg()) : ResultMessage.ok(cruiserInFo);
    }
}
screen-manage/src/main/java/com/moral/api/controller/ManageCoordinateController.java
@@ -18,6 +18,7 @@
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.moral.api.entity.ManageCoordinate;
import com.moral.api.mapper.ManageCoordinateMapper;
import com.moral.api.service.ManageCoordinateService;
import com.moral.constant.ResponseCodeEnum;
import com.moral.constant.ResultMessage;
@@ -30,6 +31,8 @@
    @Autowired
    private ManageCoordinateService manageCoordinateService;
    @Autowired
    private ManageCoordinateMapper manageCoordinateMapper;
@@ -76,10 +79,7 @@
            return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(),
                    ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
        }
        Integer integer = manageCoordinateService.deleteCoordinate(id);
        if (integer==1){
          return  ResultMessage.ok("删除失败");
        }
        manageCoordinateService.deleteCoordinate(id);
        return ResultMessage.ok();
    }
screen-manage/src/main/java/com/moral/api/controller/ManageCoordinateDetailController.java
@@ -98,7 +98,7 @@
            @ApiImplicitParam(name = "time2", value = "时间,2021-08-18", required = true, paramType = "query", dataType = "String")
    })
    public ResultMessage selectAll(@RequestBody Map<String,Object> params){
        if (!params.containsKey("coordinateId") || !params.containsKey("time1")|| !params.containsKey("time2")) {
        if (!params.containsKey("coordinateId") || !params.containsKey("time1")|| !params.containsKey("time2")|| !params.containsKey("mac")) {
            return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
        }
        Map<String,Object> rsMap = manageCoordinateDetailService.selectCoordinate(params);
screen-manage/src/main/java/com/moral/api/service/HistorySecondCruiserService.java
@@ -26,4 +26,7 @@
    //查询走航车轨迹
    Map<String,Object> getCruiserInFo(Map<String, Object> params);
    Map<String,Object> getCruiserCompare(Map<String, Object> params);
}
screen-manage/src/main/java/com/moral/api/service/ManageCoordinateService.java
@@ -18,7 +18,7 @@
    void updateCoordinate(ManageCoordinate manageCoordinate);
    Integer deleteCoordinate(Integer id);
    void deleteCoordinate(Integer id);
    List<ManageCoordinate> selectCoordinate();
screen-manage/src/main/java/com/moral/api/service/impl/HistorySecondCruiserServiceImpl.java
@@ -3,9 +3,11 @@
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.moral.api.entity.HistorySecondCruiser;
import com.moral.api.entity.ManageCoordinateDetail;
import com.moral.api.entity.Sensor;
import com.moral.api.entity.SpecialDevice;
import com.moral.api.mapper.HistorySecondCruiserMapper;
import com.moral.api.mapper.ManageCoordinateDetailMapper;
import com.moral.api.mapper.SpecialDeviceMapper;
import com.moral.api.pojo.dto.cruiser.CruiserDTO;
import com.moral.api.service.DeviceService;
@@ -54,6 +56,8 @@
    private SpecialDeviceService specialDeviceService;
    @Autowired
    private SpecialDeviceMapper specialDeviceMapper;
    @Autowired
    private ManageCoordinateDetailMapper manageCoordinateDetailMapper;
    @Autowired
    private RedisTemplate redisTemplate;
@@ -165,7 +169,80 @@
        return map;
    }
    @Override
    public Map<String, Object> getCruiserCompare(Map<String, Object> params) {
        HashMap<String,Object> rsMap = new HashMap<>();
        String mac = params.get("mac").toString();
        String time1 = params.get("time1").toString();
        ArrayList<ManageCoordinateDetail> rsList1 = new ArrayList<>();
        params.put("dateFormat", "%Y-%m-%d %H:%i:%s");
        List<ManageCoordinateDetail> manageCoordinateDetails = manageCoordinateDetailMapper.selectList(null);
        List<CruiserDTO> cruiserInfo = (List<CruiserDTO>) redisTemplate.opsForHash().get(RedisConstants.DATE_COORDINATE, mac + time1);
        if (ObjectUtils.isEmpty(cruiserInfo)){
            cruiserInfo = historySecondCruiserMapper.getCruiserInfo(params);
            cruiserInfo = cruiserInfo.stream().distinct().collect(Collectors.toList());
            cruiserInfo.removeIf(o->{
                if (ObjectUtils.isEmpty(o.getFlyLon()) || ObjectUtils.isEmpty(o.getFlyLat())) {
                    return true;
                }
                double lon = o.getFlyLon();
                double lat = o.getFlyLat();
                double[] doubles = RoadUtils.transformWGS84ToBD09(lon, lat);
                Matcher matcher = Pattern.compile("\\d*\\.\\d{8}").matcher(""+doubles[0]);
                matcher.find();
                String s = matcher.group();
                Matcher matcher1 = Pattern.compile("\\d*\\.\\d{8}").matcher(""+doubles[1]);
                matcher1.find();
                String s1 = matcher1.group();
                o.setFlyLon(Double.parseDouble(s));
                o.setFlyLat(Double.parseDouble(s1));
                o.setData(lon+"_"+lat);
//            o.setFlyLon(doubles[0]);
//            o.setFlyLat(doubles[1]);
                if (lon < 70 || lon > 150 || lat < 20 || lat > 60) {
                    return true;
                }
                return false;
            });
            redisTemplate.opsForHash().put(RedisConstants.DATE_COORDINATE,mac+time1,cruiserInfo);
            //设置过期时间
            redisTemplate.opsForHash().getOperations().expire(RedisConstants.DATE_COORDINATE,6000, TimeUnit.SECONDS);
        }
//        List<CruiserDTO> cruiserInfo = historySecondCruiserMapper.getCruiserInfo(params);
        log.info(""+cruiserInfo.size());
        if (ObjectUtils.isEmpty(manageCoordinateDetails)){
            rsMap.put("rsData",cruiserInfo);
            rsMap.put("data",rsList1);
            return rsMap;
        }
        for (int i=cruiserInfo.size()-1;i>0;i--) {
            CruiserDTO cruiserDTO = cruiserInfo.get(i);
            String data = cruiserDTO.getData();
            String[] rs = data.split("_");
            String flyLon = rs[0];
            String flyLat = rs[1];
            for (ManageCoordinateDetail manageCoordinateDetail : manageCoordinateDetails) {
                String latitude = manageCoordinateDetail.getLatitude().toString();
                String longitude = manageCoordinateDetail.getLongitude().toString();
                if (latitude.equals(flyLat) && longitude.equals(flyLon)){
                    manageCoordinateDetail.setCode(data);
                    manageCoordinateDetail.setLongitude(cruiserDTO.getFlyLon());
                    manageCoordinateDetail.setLatitude(cruiserDTO.getFlyLat());
                    rsList1.add(manageCoordinateDetail);
                    cruiserInfo.remove(i);
                    break;
                }
            }
        }
        rsMap.put("rsData",cruiserInfo);
        rsMap.put("data",rsList1);
        rsMap.put("message","有"+cruiserInfo.size()+"个不在里面,"+"一共有"+(cruiserInfo.size()+rsList1.size())+"个");
        return rsMap;
    }
}
screen-manage/src/main/java/com/moral/api/service/impl/ManageCoordinateDetailServiceImpl.java
@@ -75,11 +75,12 @@
        List<Map<String, Object>> data = (List<Map<String, Object>>) params.get("data");
        for (Map<String, Object> datum : data) {
            ManageCoordinateDetail manageCoordinateDetail = new ManageCoordinateDetail();
            String code = datum.get("code").toString();
            String state = datum.get("state").toString();
            if (state.equals("2")){
                ManageCoordinateDetail manageCoordinateDetail = new ManageCoordinateDetail();
                String[] rs = code.split("_");
                manageCoordinateDetail.setCoordinateId(coordinateId);
                manageCoordinateDetail.setLongitude(Double.parseDouble(rs[0]));
@@ -102,7 +103,7 @@
                    return 2;
                }
                manageCoordinateDetailMapper.deleteById(Integer.parseInt(id1.toString()));
//                    manageCoordinateDetailMapper.delete(wrapper);
            }
        }
        return 200;
screen-manage/src/main/java/com/moral/api/service/impl/ManageCoordinateServiceImpl.java
@@ -68,15 +68,10 @@
     * @param id
     */
    @Override
    public Integer deleteCoordinate(Integer id) {
        QueryWrapper<ManageCoordinateDetail> wrapper = new QueryWrapper<>();
        wrapper.eq("coordinate_id",id);
        Integer integer = manageCoordinateDetailMapper.selectCount(wrapper);
        if (integer>0){
            return 1;
        }
        manageCoordinateMapper.deleteById(id);
        return 200;
    public void deleteCoordinate(Integer id) {
        ManageCoordinate manageCoordinate = manageCoordinateMapper.selectById(id);
        manageCoordinate.setIsDel(1);
        manageCoordinateMapper.updateById(manageCoordinate);
    }