Commit 24b5a243 by chamberone

feat: pea区块同步接口

1 parent dc0791cd
package com.dituhui.pea.order.controller;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
......@@ -8,34 +9,41 @@ import org.springframework.web.bind.annotation.RestController;
import com.dituhui.pea.common.BusinessException;
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;
/**
* 地图相关接口
* 服务范围相关接口
*
*/
@RestController
@RequestMapping("/pea-order/map")
public class MapController {
@RequestMapping("/pea-order/business/service/block")
public class BlockController {
@Autowired
private IMapService mapService;
private IBlockService blockService;
/**
* 更新小队区块
* 更新小队区块(SaaS同步接口)
*
* @param blockId
* @param area
* @param region
* @param blockId 服务范围id
* @param area 服务范围面积
* @param region 服务范围边界
* @return
*/
@PostMapping("/updateBlock")
public Result<Boolean> updateBlock(@RequestParam String blockId, @RequestParam Long area,
@PostMapping("/syncBlock")
public Result<Boolean> synchronizeBlock(@RequestParam String blockId, @RequestParam Long area,
@RequestParam RegionDTO region) {
if (StringUtils.isBlank(blockId)) {
return Result.failure("缺少参数blockId");
}
if (null == region) {
return Result.failure("缺少参数region");
}
Result<Boolean> res = null;
try {
res = mapService.updateBlock(blockId, area, region);
res = blockService.synchronizeBlock(blockId, area, region);
} catch (BusinessException e) {
return Result.failure(e.getMessage());
}
......
package com.dituhui.pea.order.dao;
import com.dituhui.pea.order.entity.MapBlockInfoEntity;
import org.hibernate.annotations.Where;
import java.util.List;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;
import java.util.List;
import com.dituhui.pea.order.entity.MapBlockInfoEntity;
@Repository
public interface MapBlockInfoDao extends JpaRepository<MapBlockInfoEntity, Integer> {
List<MapBlockInfoEntity> findByBlockIdInAndLayerIdIn(List<String> blockIds, List<String> layerIds);
MapBlockInfoEntity findByBlockId(String blockId);
}
......@@ -29,6 +29,9 @@ public class MapBlockInfoEntity {
@Column(name = "city_code", nullable = false)
private String cityCode;
@Column(name = "area")
private Long area;
@Column(name = "area_data", nullable = false, columnDefinition = "json")
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!