diff --git a/src/main/java/com/bonus/digitalSignage/basic/service/impl/TbTowerServiceImpl.java b/src/main/java/com/bonus/digitalSignage/basic/service/impl/TbTowerServiceImpl.java index 5fdce1e..8696461 100644 --- a/src/main/java/com/bonus/digitalSignage/basic/service/impl/TbTowerServiceImpl.java +++ b/src/main/java/com/bonus/digitalSignage/basic/service/impl/TbTowerServiceImpl.java @@ -12,6 +12,7 @@ import com.bonus.digitalSignage.webResult.StringUtils; import com.github.pagehelper.PageInfo; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.Date; @@ -93,6 +94,7 @@ public class TbTowerServiceImpl implements TbTowerService { double[] bd09 =CoordinateTransform.cgcs2000ToBd09(Double.parseDouble(data.getLat()),Double.parseDouble(data.getLon()),Double.parseDouble(data.getCentralMeridian())); data.setBaiduLon(String.valueOf(bd09[0])); data.setBaiduLat(String.valueOf(bd09[1])); + data.setCentralMeridian(String.valueOf(bd09[2])); } Long userId = UserUtil.getLoginUser().getId(); data.setCreateUserId(userId); @@ -111,6 +113,7 @@ public class TbTowerServiceImpl implements TbTowerService { * @return */ @Override + @Transactional public ServerResponse updateTbTower(TbTowerVo data) { try { //判断经纬度是否合法 @@ -129,7 +132,14 @@ public class TbTowerServiceImpl implements TbTowerService { //如果改变杆塔类型,先删后加 if (StringUtils.isNotNull(tbTower) && tbTower.getUploadType()!=data.getUploadType()){ delTbTower(data); - addTbTower(data); + ServerResponse res = addTbTower(data); + if(res.getStatus()!=200){ + TbTowerVo tbTowerVoNew = new TbTowerVo(); + tbTowerVoNew.setId(data.getId()); + tbTowerVoNew.setIsActvice("1"); + tbTowerMapper.updateTbTower(tbTowerVoNew); + return ServerResponse.createErroe("杆塔管理-修改失败"); + } }else { //判断新增塔杆的坐标系 1.WGS-84地心坐标系 2.2000国家大地坐标系 if ("1".equals(data.getUploadType())){ @@ -137,9 +147,10 @@ public class TbTowerServiceImpl implements TbTowerService { data.setBaiduLat(String.valueOf(bd09[0])); data.setBaiduLon(String.valueOf(bd09[1])); }else { - double[] bd09 =CoordinateConverter.cgcs2000ToBd09(Double.parseDouble(data.getLat()),Double.parseDouble(data.getLon())); - data.setBaiduLat(String.valueOf(bd09[0])); - data.setBaiduLon(String.valueOf(bd09[1])); + double[] bd09 =CoordinateTransform.cgcs2000ToBd09(Double.parseDouble(data.getLat()),Double.parseDouble(data.getLon()),Double.parseDouble(data.getCentralMeridian())); + data.setBaiduLon(String.valueOf(bd09[0])); + data.setBaiduLat(String.valueOf(bd09[1])); + data.setCentralMeridian(String.valueOf(bd09[2])); } Long userId = UserUtil.getLoginUser().getId(); data.setUpdateUserId(userId); diff --git a/src/main/resources/mappers/basic/TbTowerMapper.xml b/src/main/resources/mappers/basic/TbTowerMapper.xml index 4726426..e285ea0 100644 --- a/src/main/resources/mappers/basic/TbTowerMapper.xml +++ b/src/main/resources/mappers/basic/TbTowerMapper.xml @@ -45,6 +45,7 @@ central_meridian = #{centralMeridian}, upload_type = #{uploadType}, update_user_id = #{updateUserId}, + is_actvice = #{isActvice}, update_time = now() where id = #{id}