jinpengyong
2023-08-21 dcb98a36af4ad7823edd61a9c3388bd024db740f
chore:测试提交
5 files modified
151 ■■■■■ changed files
screen-manage/src/main/java/com/moral/api/controller/ManageCoordinateDetailController.java 9 ●●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/entity/ManageCoordinateDetail.java 3 ●●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/pojo/dto/cruiser/CruiserDTO.java 6 ●●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/service/ManageCoordinateDetailService.java 3 ●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/service/impl/ManageCoordinateDetailServiceImpl.java 130 ●●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/controller/ManageCoordinateDetailController.java
@@ -12,6 +12,7 @@
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
import java.util.Map;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
@@ -33,15 +34,15 @@
    /**
     * 新增经纬度点
     * @param manageCoordinateDetail
     * @param
     * @return
     */
    @PostMapping("insert")
    public ResultMessage insert(@RequestBody ManageCoordinateDetail manageCoordinateDetail){
        if (ObjectUtils.isEmpty(manageCoordinateDetail)){
    public ResultMessage insert(@RequestBody List<ManageCoordinateDetail> manageCoordinateDetails){
        if (ObjectUtils.isEmpty(manageCoordinateDetails)){
            return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
        }
        Integer integer = manageCoordinateDetailService.insertCoordinate(manageCoordinateDetail);
        Integer integer = manageCoordinateDetailService.insertCoordinate(manageCoordinateDetails);
        if (integer==null){
            return ResultMessage.ok("经纬度已存在");
        }
screen-manage/src/main/java/com/moral/api/entity/ManageCoordinateDetail.java
@@ -56,6 +56,9 @@
    private  String updayeUserName;
    private String state;
    @TableField(exist = false)
    private  String code;
screen-manage/src/main/java/com/moral/api/pojo/dto/cruiser/CruiserDTO.java
@@ -31,6 +31,12 @@
    private String data;
    private String state;
    public CruiserDTO() {
        this.state = "1"; // 设置state字段默认值为1
    }
    @Override
    public boolean equals(Object o) {
screen-manage/src/main/java/com/moral/api/service/ManageCoordinateDetailService.java
@@ -1,5 +1,6 @@
package com.moral.api.service;
import java.util.List;
import java.util.Map;
import com.baomidou.mybatisplus.extension.service.IService;
@@ -8,7 +9,7 @@
public interface ManageCoordinateDetailService extends IService<ManageCoordinateDetail> {
    Integer insertCoordinate(ManageCoordinateDetail manageCoordinateDetail);
    Integer insertCoordinate(List<ManageCoordinateDetail> manageCoordinateDetails);
    void  deleteCoordinate(Integer id);
screen-manage/src/main/java/com/moral/api/service/impl/ManageCoordinateDetailServiceImpl.java
@@ -31,27 +31,27 @@
    private HistorySecondCruiserMapper historySecondCruiserMapper;
    /**
     * 新增经纬度
     * @param manageCoordinateDetail
     * @param manageCoordinateDetails
     * @return
     */
    @Override
    public Integer insertCoordinate(ManageCoordinateDetail manageCoordinateDetail) {
        double[] doubles = RoadUtils.transformBD09ToWGS84(manageCoordinateDetail.getLongitude(), manageCoordinateDetail.getLatitude());
        log.info(doubles[0]+"_"+doubles[1]);
        QueryWrapper<ManageCoordinateDetail> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("coordinate_id",manageCoordinateDetail.getCoordinateId());
        queryWrapper.eq("longitude",doubles[0]);
        queryWrapper.eq("latitude",doubles[1]);
        Integer integer = manageCoordinateDetailMapper.selectCount(queryWrapper);
        if (integer<1){
            manageCoordinateDetail.setCreateTime(new Date());
            manageCoordinateDetail.setUpdateTime(new Date());
            manageCoordinateDetail.setLongitude(doubles[0]);
            manageCoordinateDetail.setLatitude(doubles[1]);
            int insert = manageCoordinateDetailMapper.insert(manageCoordinateDetail);
            return insert;
    @Transactional
    public Integer insertCoordinate(List<ManageCoordinateDetail> manageCoordinateDetails) {
        for (ManageCoordinateDetail manageCoordinateDetail : manageCoordinateDetails) {
            if (manageCoordinateDetail.getState().equals("1")){
                manageCoordinateDetail.setState("2");
                int insert = manageCoordinateDetailMapper.insert(manageCoordinateDetail);
                if (insert!=1){
                    return null;
                }
            }else {
                int i = manageCoordinateDetailMapper.deleteById(manageCoordinateDetail.getId());
                if (i!=1){
                    return null;
                }
            }
        }
        return null;
        return 200;
    }
    /**
@@ -59,7 +59,7 @@
     * @param id
     */
    @Override
    public void deleteCoordinate(Integer id) {
    public void deleteCoordinate(Integer id)  {
        manageCoordinateDetailMapper.deleteById(id);
    }
@@ -76,25 +76,41 @@
        QueryWrapper<ManageCoordinateDetail> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("coordinate_id",coordinateId);
        List<ManageCoordinateDetail> manageCoordinateDetails = manageCoordinateDetailMapper.selectList(queryWrapper);
        ArrayList<String> list1 = new ArrayList<>();
        ArrayList<String> list2 = new ArrayList<>();
        for (ManageCoordinateDetail manageCoordinateDetail : manageCoordinateDetails) {
            Double latitude = manageCoordinateDetail.getLatitude();
            Double longitude = manageCoordinateDetail.getLongitude();
            String s = longitude + "_" + latitude;
            list1.add(s);
        }
        List<CruiserDTO> cruiserInfo = historySecondCruiserMapper.getCruiserInfo(params);
        for (CruiserDTO cruiserDTO : cruiserInfo) {
            String s = cruiserDTO.getFlyLat().toString();
            String s1 = cruiserDTO.getFlyLon().toString();
            String rs = s1 + "_" + s;
            list2.add(rs);
        }
        //取交集
        list1.retainAll(list2);
        //取差集
        list2.removeAll(list1);
//        ArrayList<String> list1 = new ArrayList<>();
//        ArrayList<String> list2 = new ArrayList<>();
//        for (ManageCoordinateDetail manageCoordinateDetail : manageCoordinateDetails) {
//            Double latitude = manageCoordinateDetail.getLatitude();
//            Double longitude = manageCoordinateDetail.getLongitude();
//            String s = longitude + "_" + latitude;
//            list1.add(s);
//        }
//        List<CruiserDTO> cruiserInfo = historySecondCruiserMapper.getCruiserInfo(params);
//        for (CruiserDTO cruiserDTO : cruiserInfo) {
//            String s = cruiserDTO.getFlyLat().toString();
//            String s1 = cruiserDTO.getFlyLon().toString();
//            String rs = s1 + "_" + s;
//            list2.add(rs);
//        }
//        //取交集
//        list1.retainAll(list2);
//        //取差集
//        list2.removeAll(list1);
//        //存入数据库的数据
//        CruiserDTO rsDTO = new CruiserDTO();
//        for (ManageCoordinateDetail manageCoordinateDetail : manageCoordinateDetails) {
//            String latitude = manageCoordinateDetail.getLatitude().toString();
//            String longitude = manageCoordinateDetail.getLongitude().toString();
//            for (CruiserDTO cruiserDTO : cruiserInfo) {
//                Double flyLat = cruiserDTO.getFlyLat();
//                Double flyLon = cruiserDTO.getFlyLon();
//                if (latitude.equals(flyLat+"") && longitude.equals(flyLon+"")){
//                rsDTO.setFlyLat(flyLat);
//                rsDTO.setFlyLon(flyLon);
//                }
//            }
//        }
        return null;
    }
@@ -109,28 +125,32 @@
    @Transactional
    public Integer batchAll(Map<String, Object> params) {
        params.put("dateFormat", "%Y-%m-%d %H:%i:%s");
        String coordinateId = params.get("coordinateId").toString();
        int coordinateId = Integer.parseInt(params.get("coordinateId").toString());
        QueryWrapper<ManageCoordinateDetail> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("coordinate_id",coordinateId);
        List<ManageCoordinateDetail> manageCoordinateDetails = manageCoordinateDetailMapper.selectList(queryWrapper);
        ArrayList<String> list1 = new ArrayList<>();
        ArrayList<String> list2 = new ArrayList<>();
        for (ManageCoordinateDetail manageCoordinateDetail : manageCoordinateDetails) {
            Double latitude = manageCoordinateDetail.getLatitude();
            Double longitude = manageCoordinateDetail.getLongitude();
            String s = longitude + "_" + latitude;
            list1.add(s);
        }
        List<CruiserDTO> cruiserInfo = historySecondCruiserMapper.getCruiserInfo(params);
        for (CruiserDTO cruiserDTO : cruiserInfo) {
            String s = cruiserDTO.getFlyLat().toString();
            String s1 = cruiserDTO.getFlyLon().toString();
            String rs = s1 + "_" + s;
            list2.add(rs);
        for (ManageCoordinateDetail manageCoordinateDetail : manageCoordinateDetails) {
            String latitude = manageCoordinateDetail.getLatitude().toString();
            String longitude = manageCoordinateDetail.getLongitude().toString();
            for (CruiserDTO cruiserDTO : cruiserInfo) {
                Double flyLat = cruiserDTO.getFlyLat();
                Double flyLon = cruiserDTO.getFlyLon();
                if (!latitude.equals(flyLat+"") || !longitude.equals(flyLon+"")){
                    ManageCoordinateDetail rsDTO = new ManageCoordinateDetail();
                    rsDTO.setLatitude(flyLat);
                    rsDTO.setLongitude(flyLon);
                    rsDTO.setState("2");
                    rsDTO.setCreateTime(new Date());
                    rsDTO.setUpdateTime(new Date());
                    rsDTO.setCoordinateId(coordinateId);
                    int insert = manageCoordinateDetailMapper.insert(rsDTO);
                    if (insert!=1){
                        return null;
                    }
                }
            }
        }
        //取差集
        list2.removeAll(list1);
        return null;
        return 200;
    }
}