From 30558e52dc2d775ef8dafb76034b413729818723 Mon Sep 17 00:00:00 2001 From: jinpengyong <jpy123456> Date: Tue, 22 Aug 2023 14:05:25 +0800 Subject: [PATCH] chore:测试提交 --- screen-manage/src/main/java/com/moral/api/service/impl/ManageCoordinateDetailServiceImpl.java | 127 ++++++++++++++++++++++++------------------ 1 files changed, 72 insertions(+), 55 deletions(-) diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/ManageCoordinateDetailServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/ManageCoordinateDetailServiceImpl.java index 45c3471..308b3c0 100644 --- a/screen-manage/src/main/java/com/moral/api/service/impl/ManageCoordinateDetailServiceImpl.java +++ b/screen-manage/src/main/java/com/moral/api/service/impl/ManageCoordinateDetailServiceImpl.java @@ -4,19 +4,29 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Map; +import java.util.Objects; + +import javax.servlet.http.HttpServletRequest; + import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.moral.api.entity.ManageAccount; import com.moral.api.entity.ManageCoordinateDetail; import com.moral.api.mapper.HistorySecondCruiserMapper; import com.moral.api.mapper.ManageCoordinateDetailMapper; import com.moral.api.pojo.dto.cruiser.CruiserDTO; +import com.moral.api.pojo.redisBean.AccountInfoDTO; import com.moral.api.service.ManageCoordinateDetailService; import com.moral.api.util.RoadUtils; +import com.moral.util.TokenUtils; +import com.sun.org.apache.regexp.internal.RE; @Service @@ -31,27 +41,46 @@ private HistorySecondCruiserMapper historySecondCruiserMapper; /** * ��������������� - * @param manageCoordinateDetail + * @param params * @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(Map<String,Object> params) { + HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest(); + String token = request.getHeader("token"); + AccountInfoDTO accountInfoDTO = (AccountInfoDTO) TokenUtils.getUserInfoByToken(token); + ManageAccount manageAccount = accountInfoDTO.getAccount(); + Integer id = manageAccount.getId(); + String userName = manageAccount.getUserName(); + + int coordinateId = Integer.parseInt(params.get("coordinateId").toString()); + List<ManageCoordinateDetail> manageCoordinateDetails = (List<ManageCoordinateDetail>) params.get("data"); + for (ManageCoordinateDetail manageCoordinateDetail : manageCoordinateDetails) { + if (manageCoordinateDetail.getState().equals("1")){ + String code = manageCoordinateDetail.getCode(); + String[] rs = code.split("_"); + manageCoordinateDetail.setCoordinateId(coordinateId); + manageCoordinateDetail.setLongitude(Double.parseDouble(rs[0])); + manageCoordinateDetail.setLatitude(Double.parseDouble(rs[1])); + manageCoordinateDetail.setState("2"); + manageCoordinateDetail.setUpdateUserId(id); + manageCoordinateDetail.setUpdayeUserName(userName); + QueryWrapper<ManageCoordinateDetail> wrapper = new QueryWrapper<>(); + wrapper.eq("coordinate_id",coordinateId); + wrapper.eq("longitude",manageCoordinateDetail.getLongitude()); + wrapper.eq("latitude",manageCoordinateDetail.getLatitude()); + Integer integer = manageCoordinateDetailMapper.selectCount(wrapper); + if (integer>=1){ + return null; + } + manageCoordinateDetailMapper.insert(manageCoordinateDetail); + + }else { + manageCoordinateDetailMapper.deleteById(manageCoordinateDetail.getId()); + } } - return null; + return 200; } /** @@ -59,7 +88,7 @@ * @param id */ @Override - public void deleteCoordinate(Integer id) { + public void deleteCoordinate(Integer id) { manageCoordinateDetailMapper.deleteById(id); } @@ -76,25 +105,9 @@ 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); + + + return null; } @@ -109,28 +122,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; } } -- Gitblit v1.8.0