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 | 131 +++++++++++++++++++++++++++++++++++++++---- 1 files changed, 117 insertions(+), 14 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 66fc777..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 @@ -1,42 +1,86 @@ package com.moral.api.service.impl; +import lombok.extern.slf4j.Slf4j; 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 +@Slf4j public class ManageCoordinateDetailServiceImpl extends ServiceImpl<ManageCoordinateDetailMapper, ManageCoordinateDetail> implements ManageCoordinateDetailService { @Autowired private ManageCoordinateDetailMapper manageCoordinateDetailMapper; + + @Autowired + private HistorySecondCruiserMapper historySecondCruiserMapper; /** * ��������������� - * @param manageCoordinateDetail + * @param params * @return */ @Override - public Integer insertCoordinate(ManageCoordinateDetail manageCoordinateDetail) { - QueryWrapper<ManageCoordinateDetail> queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("coordinate_id",manageCoordinateDetail.getCoordinateId()); - queryWrapper.eq("longitude",manageCoordinateDetail.getLongitude()); - queryWrapper.eq("latitude",manageCoordinateDetail.getLatitude()); - Integer integer = manageCoordinateDetailMapper.selectCount(queryWrapper); - if (integer<1){ - manageCoordinateDetail.setCreateTime(new Date()); - manageCoordinateDetail.setUpdateTime(new Date()); - 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; } /** @@ -44,7 +88,66 @@ * @param id */ @Override - public void deleteCoordinate(Integer id) { + public void deleteCoordinate(Integer id) { manageCoordinateDetailMapper.deleteById(id); } + + + /** + * ��������������� + * @param params + * @return + */ + @Override + public Map<String, Object> selectCoordinate(Map<String, Object> params) { + params.put("dateFormat", "%Y-%m-%d %H:%i:%s"); + String coordinateId = params.get("coordinateId").toString(); + QueryWrapper<ManageCoordinateDetail> queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("coordinate_id",coordinateId); + List<ManageCoordinateDetail> manageCoordinateDetails = manageCoordinateDetailMapper.selectList(queryWrapper); + + + + + return null; + } + + + /** + * ������������ + * @param params + * @return + */ + @Override + @Transactional + public Integer batchAll(Map<String, Object> params) { + params.put("dateFormat", "%Y-%m-%d %H:%i:%s"); + int coordinateId = Integer.parseInt(params.get("coordinateId").toString()); + QueryWrapper<ManageCoordinateDetail> queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("coordinate_id",coordinateId); + List<ManageCoordinateDetail> manageCoordinateDetails = manageCoordinateDetailMapper.selectList(queryWrapper); + List<CruiserDTO> cruiserInfo = historySecondCruiserMapper.getCruiserInfo(params); + 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; + } + } + } + } + return 200; + } } -- Gitblit v1.8.0