Commit 7c4946f8 by wangli

mp2jpa

1 parent 718b1918
package com.dituhui.pea.order.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.dituhui.pea.common.BusinessException;
import com.dituhui.pea.common.Result;
import com.dituhui.pea.common.ResultEnum;
......@@ -14,15 +12,19 @@ import com.dituhui.pea.order.feign.ISaaSRemoteService;
import com.dituhui.pea.order.service.BusinessBlockService;
import com.dituhui.pea.order.utils.RegionUtils;
import com.dituhui.pea.order.utils.TypeUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Sort;
import org.springframework.data.jpa.domain.Specification;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.persistence.EntityManager;
import javax.persistence.criteria.Predicate;
import java.util.*;
import java.util.stream.Collectors;
......@@ -30,50 +32,39 @@ import java.util.stream.Collectors;
@Service
public class BusinessBlockServiceImpl implements BusinessBlockService {
@Value("${SaaS.ak}")
String ak;
@Value("${SaaS.url}")
String url;
@Autowired
private OrgTeamDao orgTeamDao;
@Autowired
private MapBlockInfoMPDao mapBlockInfoMPDao;
@Autowired
private ISaaSRemoteService saasRemoteService;
@Autowired
private MapBlockInfoDao mapBlockInfoDao;
@Autowired
private OrgGroupDao orgGroupDao;
@Autowired
private MapLayerDao mapLayerDao;
@Autowired
private MapLayerCustomizeDao mapLayerCustomizeDao;
@Autowired
private EntityManager entityManager;
@Value("${SaaS.ak}")
String ak;
@Value("${SaaS.url}")
String url;
@Override
public Result<?> businessServerBlocks(String levelType, String levelValue, int page, int size, String layerId, String teamId) {
BusinessServerBlocksRespDTO resp = new BusinessServerBlocksRespDTO();
List<OrgTeamEntity> teams = new ArrayList<>();
if(levelType.equals("cluster")){
if (levelType.equals("cluster")) {
teams = orgTeamDao.findAllByClusterId(levelValue);
} else if(levelType.equals("branch")){
} else if (levelType.equals("branch")) {
teams = orgTeamDao.findAllByBranchId(levelValue);
} else if(levelType.equals("group")){
} else if (levelType.equals("group")) {
teams = orgTeamDao.findAllByGroupId(levelValue);
}
if(StringUtils.isNotEmpty(teamId)) {
if (StringUtils.isNotEmpty(teamId)) {
teams = teams.stream().filter(t -> t.getTeamId().equals(teamId)).collect(Collectors.toList());
}
......@@ -99,18 +90,28 @@ public class BusinessBlockServiceImpl implements BusinessBlockService {
// 获取groupId集合
Set<String> groupIds = teams.stream().map(OrgTeamEntity::getGroupId).collect(Collectors.toSet());
List<OrgGroupEntity> groups = orgGroupDao.findByGroupIdIn(new ArrayList<>(groupIds));
Map<String, String> groupMapping = groups.stream().collect(Collectors.toMap(OrgGroupEntity::getGroupId, OrgGroupEntity::getGroupName));
Map<String, String> groupMapping = groups.stream().collect(
Collectors.toMap(OrgGroupEntity::getGroupId, OrgGroupEntity::getGroupName));
// 获取blocks
Specification<MapBlockInfoEntity> specification = (root, query, criteriaBuilder) -> {
Predicate statusPredicate = criteriaBuilder.equal(root.get("status"), 1);
Predicate teamIdPredicate = root.get("teamId").in(teamIds);
Page<MapBlockInfo> pg = new Page<>(page, size);
LambdaQueryWrapper<MapBlockInfo> lqwBlock = new LambdaQueryWrapper<>();
lqwBlock.eq(MapBlockInfo::getStatus, 1);
lqwBlock.in(MapBlockInfo::getTeamId, teamIds);
lqwBlock.eq(StringUtils.isNotEmpty(layerId), MapBlockInfo::getLayerId, layerId);
lqwBlock.orderByAsc(MapBlockInfo::getTeamId);
mapBlockInfoMPDao.selectPage(pg, lqwBlock);
Predicate layerIdPredicate;
if (StringUtils.isNotEmpty(layerId)) {
layerIdPredicate = criteriaBuilder.equal(root.get("layerId"), layerId);
} else {
layerIdPredicate = criteriaBuilder.conjunction();
}
return criteriaBuilder.and(statusPredicate, teamIdPredicate, layerIdPredicate);
};
Sort sort = Sort.by(Sort.Order.asc("teamId"));
PageRequest pageRequest = PageRequest.of(page - 1, size, sort);
Page<MapBlockInfoEntity> pg = mapBlockInfoDao.findAll(specification, pageRequest);
List<BusinessServerBlocksRespDTO.Block> blocks = new ArrayList<>();
for (MapBlockInfo b : pg.getRecords()) {
for (MapBlockInfoEntity b : pg.getContent()) {
BusinessServerBlocksRespDTO.Block block = new BusinessServerBlocksRespDTO.Block();
OrgTeamEntity team = teamMapping.get(b.getTeamId());
......@@ -130,9 +131,9 @@ public class BusinessBlockServiceImpl implements BusinessBlockService {
blocks.add(block);
}
resp.setTotal(pg.getTotal());
resp.setPages(pg.getPages());
resp.setPageCurrent(pg.getCurrent());
resp.setTotal(pg.getTotalElements());
resp.setPages(pg.getTotalPages());
resp.setPageCurrent(pg.getNumber() + 1);
resp.setPageSize(pg.getSize());
resp.setTip("");
resp.setContent(blocks);
......@@ -148,7 +149,7 @@ public class BusinessBlockServiceImpl implements BusinessBlockService {
// 获取layerName
MapLayerEntity layer1 = mapLayerDao.getByLayerId(layerId);
if(layer1 == null) {
if (layer1 == null) {
MapLayerCustomizeEntity layer2 = mapLayerCustomizeDao.getByLayerId(layerId);
if (layer2 == null) {
throw new BusinessException("图层标签不存在");
......@@ -182,7 +183,7 @@ public class BusinessBlockServiceImpl implements BusinessBlockService {
String result = saasRemoteService.addArea(ak, team.getTeamName(), saasLayerId, region, "gcj02mc");
log.info("params:{} {} {} {} result:{}", team.getTeamName(), saasLayerId, region, result);
Result<String> saasResult = TypeUtils.<String>convertResult(result);
Result<String> saasResult = TypeUtils.convertResult(result);
if (!ResultEnum.SUCCESS.getCode().equals(saasResult.getCode())) {
return Result.failure("区块已存在或者裁剪为空");
}
......@@ -241,7 +242,7 @@ public class BusinessBlockServiceImpl implements BusinessBlockService {
// 同步删除saas区块
String result = saasRemoteService.deleteArea(ak, blockId);
log.info("params:{} result:{}", blockId, result);
Result<Boolean> saasResult = TypeUtils.<Boolean>convertResult(result);
Result<Boolean> saasResult = TypeUtils.convertResult(result);
if (!ResultEnum.SUCCESS.getCode().equals(saasResult.getCode())) {
return Result.failure("删除失败,请联系管理员");
}
......@@ -275,7 +276,7 @@ public class BusinessBlockServiceImpl implements BusinessBlockService {
// 获取通用图层
List<MapLayerEntity> layers = mapLayerDao.findAll();
for(MapLayerEntity r: layers){
for (MapLayerEntity r : layers) {
Map<String, String> m = new HashMap<>();
m.put("layerId", r.getLayerId());
m.put("layerName", r.getLayer());
......@@ -284,9 +285,9 @@ public class BusinessBlockServiceImpl implements BusinessBlockService {
// 获取自定义图层(只有branch才能创建自定义图层)
List<OrgGroupEntity> groups = new ArrayList<>();
if(levelType.equals("cluster")) {
if (levelType.equals("cluster")) {
groups = orgGroupDao.findAllByClusterId(levelValue);
} else if(levelType.equals("branch")){
} else if (levelType.equals("branch")) {
groups = orgGroupDao.findAllByBranchId(levelValue);
} else if (levelType.equals("group")) {
groups = orgGroupDao.findAllByGroupId(levelValue);
......@@ -297,7 +298,7 @@ public class BusinessBlockServiceImpl implements BusinessBlockService {
}
List<MapLayerCustomizeEntity> layerCustomizes = mapLayerCustomizeDao.findByBranchIdInAndStatus(new ArrayList<>(branchIds), 1);
for(MapLayerCustomizeEntity r: layerCustomizes) {
for (MapLayerCustomizeEntity r : layerCustomizes) {
Map<String, String> m = new HashMap<>();
m.put("layerId", r.getLayerId());
m.put("layerName", r.getLayer());
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!