Browse Source

单独分出组织查询功能

master
zhangyuan 3 years ago
parent
commit
b4fb28d1e0
  1. 20
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/UserHouseScopeResultDTO.java
  2. 32
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/UserHouseScopeController.java
  3. 7
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/UserHouseScopeService.java
  4. 79
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/UserHouseScopeServiceImpl.java

20
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/UserHouseScopeResultDTO.java

@ -0,0 +1,20 @@
package com.epmet.dto.result;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class UserHouseScopeResultDTO {
private String objectId;
private String objectName;
private String objectType;
private List<UserHouseScopeResultDTO> children;
}

32
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/UserHouseScopeController.java

@ -0,0 +1,32 @@
package com.epmet.controller;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.result.UserHouseScopeResultDTO;
import com.epmet.service.UserHouseScopeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 服务项目
*/
@RestController
@RequestMapping("userhouse")
public class UserHouseScopeController {
@Autowired
public UserHouseScopeService userHouseScopeService;
/**
* 服务范围树查询
* @return
*/
@RequestMapping("service/serviceScopeTree")
public Result<UserHouseScopeResultDTO> getServiceScopeTree(@LoginUser TokenDto loginInfo) {
UserHouseScopeResultDTO r = userHouseScopeService.getServiceScopeTree(loginInfo.getUserId());
return new Result<UserHouseScopeResultDTO>().ok(r);
}
}

7
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/UserHouseScopeService.java

@ -0,0 +1,7 @@
package com.epmet.service;
import com.epmet.dto.result.UserHouseScopeResultDTO;
public interface UserHouseScopeService {
UserHouseScopeResultDTO getServiceScopeTree(String staffId);
}

79
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/UserHouseScopeServiceImpl.java

@ -0,0 +1,79 @@
package com.epmet.service.impl;
import com.epmet.dao.IcNeighborHoodDao;
import com.epmet.dto.IcNeighborHoodDTO;
import com.epmet.dto.result.AgencyTreeResultDTO;
import com.epmet.dto.result.UserHouseScopeResultDTO;
import com.epmet.service.CustomerAgencyService;
import com.epmet.service.UserHouseScopeService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
@Slf4j
@Service
public class UserHouseScopeServiceImpl implements UserHouseScopeService {
@Autowired
private IcNeighborHoodDao neighborHoodDao;
@Autowired
private CustomerAgencyService customerAgencyService;
public UserHouseScopeServiceImpl() {
System.out.println(6);
}
@Override
public UserHouseScopeResultDTO getServiceScopeTree(String staffId) {
AgencyTreeResultDTO orgTreeData = customerAgencyService.getOrgTreeData(staffId);
UserHouseScopeResultDTO rootScope = new UserHouseScopeResultDTO();
rootScope.setObjectId(orgTreeData.getAgencyId());
rootScope.setObjectType(orgTreeData.getLevel());
rootScope.setObjectName(orgTreeData.getAgencyName());
rootScope.setChildren(convert2ServiceProjectScope(orgTreeData.getSubAgencyList()));
return rootScope;
}
private List<UserHouseScopeResultDTO> convert2ServiceProjectScope(List<AgencyTreeResultDTO> oldChildren) {
ArrayList<UserHouseScopeResultDTO> scopes = new ArrayList<>();
for (AgencyTreeResultDTO oldChild : oldChildren) {
UserHouseScopeResultDTO scope = new UserHouseScopeResultDTO();
scope.setObjectId(oldChild.getAgencyId());
scope.setObjectType(oldChild.getLevel());
scope.setObjectName(oldChild.getAgencyName());
if ("grid".equals(oldChild.getLevel())) {
// 如果是网格,那么还要查询网格下的小区
List<IcNeighborHoodDTO> neighborhoods = neighborHoodDao.selectNeighborList(oldChild.getAgencyId());
List<UserHouseScopeResultDTO> neighborhoodScopes = neighborhoods.stream().map(n -> new UserHouseScopeResultDTO(n.getId(),
n.getNeighborHoodName(),
"neighborhood",
null)).collect(Collectors.toList());
scope.setChildren(neighborhoodScopes);
} else {
// 递归处理子级
List<AgencyTreeResultDTO> subAgencyList = oldChild.getSubAgencyList();
if (subAgencyList != null && !CollectionUtils.isEmpty(subAgencyList)) {
List<UserHouseScopeResultDTO> subOrgScope = convert2ServiceProjectScope(subAgencyList);
scope.setChildren(subOrgScope);
}
}
scopes.add(scope);
}
return scopes;
}
}
Loading…
Cancel
Save