Commit 24b5a243 by chamberone

feat: pea区块同步接口

1 parent dc0791cd
package com.dituhui.pea.order.controller; package com.dituhui.pea.order.controller;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
...@@ -8,34 +9,41 @@ import org.springframework.web.bind.annotation.RestController; ...@@ -8,34 +9,41 @@ import org.springframework.web.bind.annotation.RestController;
import com.dituhui.pea.common.BusinessException; import com.dituhui.pea.common.BusinessException;
import com.dituhui.pea.common.Result; import com.dituhui.pea.common.Result;
import com.dituhui.pea.order.service.IMapService; import com.dituhui.pea.order.service.IBlockService;
import com.dituhui.pea.pojo.RegionDTO; import com.dituhui.pea.pojo.RegionDTO;
/** /**
* 地图相关接口 * 服务范围相关接口
* *
*/ */
@RestController @RestController
@RequestMapping("/pea-order/map") @RequestMapping("/pea-order/business/service/block")
public class MapController { public class BlockController {
@Autowired @Autowired
private IMapService mapService; private IBlockService blockService;
/** /**
* 更新小队区块 * 更新小队区块(SaaS同步接口)
* *
* @param blockId * @param blockId 服务范围id
* @param area * @param area 服务范围面积
* @param region * @param region 服务范围边界
* @return * @return
*/ */
@PostMapping("/updateBlock") @PostMapping("/syncBlock")
public Result<Boolean> updateBlock(@RequestParam String blockId, @RequestParam Long area, public Result<Boolean> synchronizeBlock(@RequestParam String blockId, @RequestParam Long area,
@RequestParam RegionDTO region) { @RequestParam RegionDTO region) {
if (StringUtils.isBlank(blockId)) {
return Result.failure("缺少参数blockId");
}
if (null == region) {
return Result.failure("缺少参数region");
}
Result<Boolean> res = null; Result<Boolean> res = null;
try { try {
res = mapService.updateBlock(blockId, area, region); res = blockService.synchronizeBlock(blockId, area, region);
} catch (BusinessException e) { } catch (BusinessException e) {
return Result.failure(e.getMessage()); return Result.failure(e.getMessage());
} }
......
package com.dituhui.pea.order.dao; package com.dituhui.pea.order.dao;
import com.dituhui.pea.order.entity.MapBlockInfoEntity; import java.util.List;
import org.hibernate.annotations.Where;
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import java.util.List; import com.dituhui.pea.order.entity.MapBlockInfoEntity;
@Repository @Repository
public interface MapBlockInfoDao extends JpaRepository<MapBlockInfoEntity, Integer> { public interface MapBlockInfoDao extends JpaRepository<MapBlockInfoEntity, Integer> {
List<MapBlockInfoEntity> findByBlockIdInAndLayerIdIn(List<String> blockIds, List<String> layerIds); List<MapBlockInfoEntity> findByBlockIdInAndLayerIdIn(List<String> blockIds, List<String> layerIds);
MapBlockInfoEntity findByBlockId(String blockId);
} }
...@@ -28,6 +28,9 @@ public class MapBlockInfoEntity { ...@@ -28,6 +28,9 @@ public class MapBlockInfoEntity {
@Column(name = "city_code", nullable = false) @Column(name = "city_code", nullable = false)
private String cityCode; private String cityCode;
@Column(name = "area")
private Long area;
@Column(name = "area_data", nullable = false, columnDefinition = "json") @Column(name = "area_data", nullable = false, columnDefinition = "json")
private String areaData; private String areaData;
......
package com.dituhui.pea.order.service;
import com.dituhui.pea.common.Result;
import com.dituhui.pea.pojo.RegionDTO;
public interface IBlockService {
/**
* 同步服务范围
*
* @param blockId 服务范围id
* @param area 服务范围面积
* @param region 服务范围边界
* @return
*/
public Result<Boolean> synchronizeBlock(String blockId, Long area, RegionDTO region);
}
package com.dituhui.pea.order.service;
import com.dituhui.pea.common.Result;
import com.dituhui.pea.pojo.RegionDTO;
public interface IMapService {
public Result<Boolean> updateBlock(String blockId, Long area, RegionDTO region);
}
package com.dituhui.pea.order.service.impl;
import java.time.LocalDateTime;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.dituhui.pea.common.Result;
import com.dituhui.pea.order.dao.MapBlockInfoDao;
import com.dituhui.pea.order.entity.MapBlockInfoEntity;
import com.dituhui.pea.order.service.IBlockService;
import com.dituhui.pea.pojo.RegionDTO;
import com.google.gson.Gson;
@Service
public class BlockServiceImpl implements IBlockService {
private final Gson gson = new Gson();
@Autowired
private MapBlockInfoDao mapBlockInfoDao;
@Override
public Result<Boolean> synchronizeBlock(String blockId, Long area, RegionDTO region) {
MapBlockInfoEntity mapBlockInfoEntity = mapBlockInfoDao.findByBlockId(blockId);
if (null == mapBlockInfoEntity) {
return Result.failure(blockId + " blockId不存在");
}
mapBlockInfoEntity.setAreaData(gson.toJson(region));
mapBlockInfoEntity.setArea(area);
mapBlockInfoEntity.setUpdateTime(LocalDateTime.now());
mapBlockInfoDao.save(mapBlockInfoEntity);
mapBlockInfoDao.flush();
return Result.success(true);
}
}
package com.dituhui.pea.order.service.impl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.dituhui.pea.common.Result;
import com.dituhui.pea.order.dao.MapLayerDao;
import com.dituhui.pea.order.service.IMapService;
import com.dituhui.pea.pojo.RegionDTO;
@Service
public class MapServiceImpl implements IMapService {
@Autowired
private MapLayerDao mapLayerDao;
@Override
public Result<Boolean> updateBlock(String blockId, Long area, RegionDTO region) {
// TODO Auto-generated method stub
return null;
}
}
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!