| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140 |
- package cn.com.goldenwater.dcproj.service.impl.base;
- import cn.com.goldenwater.core.service.AbstractCrudService;
- import cn.com.goldenwater.dcproj.dao.AttAdBaseDao;
- import cn.com.goldenwater.dcproj.dto.AdUpDto;
- import cn.com.goldenwater.dcproj.model.AttAdBase;
- import cn.com.goldenwater.dcproj.param.AttAdBaseParam;
- import cn.com.goldenwater.dcproj.service.AttAdBaseService;
- import cn.com.goldenwater.dcproj.service.OlBisInspOrgService;
- import cn.com.goldenwater.dcproj.utils.Constant;
- import org.apache.commons.lang3.StringUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import org.springframework.transaction.annotation.Transactional;
- import org.springframework.util.CollectionUtils;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.stream.Collectors;
- /**
- * @author lune
- * @date 2019-2-18
- */
- @Service
- @Transactional(rollbackFor = Exception.class)
- public class AttAdBaseServiceImpl extends AbstractCrudService<AttAdBase, AttAdBaseParam> implements AttAdBaseService {
- @Autowired
- private AttAdBaseDao attAdBaseDao;
- @Autowired
- private OlBisInspOrgService olBisInspOrgService;
- public AttAdBaseServiceImpl(AttAdBaseDao attAdBaseDao) {
- super(attAdBaseDao);
- this.attAdBaseDao = attAdBaseDao;
- }
- @Override
- public List<AttAdBase> getProvincialAdList() {
- //查询所有省级行政区划
- AttAdBaseParam attAdBaseParam = new AttAdBaseParam();
- attAdBaseParam.setAdCode("__0000000000");
- List<AttAdBase> list = attAdBaseDao.findList(attAdBaseParam);
- list.remove(0);
- return list;
- }
- @Override
- public List<AttAdBase> getAdData(String adCode) {
- return this.attAdBaseDao.getAdData(adCode);
- }
- @Override
- public AdUpDto getAdUp(String adCode) {
- AdUpDto adUpBean = null;
- List<AdUpDto> list = new ArrayList();
- int j = 0;
- AdUpDto adUpBean1 = attAdBaseDao.fingAdUp(adCode);
- for (int i = 0; i < 8; i++) {
- adUpBean = attAdBaseDao.fingAdUp(adCode);
- if (adUpBean == null) {
- break;
- } else {
- j++;
- }
- if (adUpBean.getAdFcode() == "000000000000" || adUpBean.getAdFcode() == null || "000000000000".equals(adUpBean.getAdFcode())) {
- if (j > 1) {
- break;
- }
- break;
- } else {
- AdUpDto ab1 = attAdBaseDao.fingAdUp(adUpBean.getAdFcode());
- list.add(ab1);
- adCode = ab1.getAdCode();
- }
- }
- adUpBean1.setAdUpDtoList(list);
- return adUpBean1;
- }
- @Override
- public AttAdBase getByAdcode(String adCode) {
- return attAdBaseDao.getByAdcode(adCode);
- }
- @Override
- public Boolean whetherTheCityOrCounty(String orgId) {
- AttAdBase byAdcode = this.getByAdcode(olBisInspOrgService.getRlProvince(orgId));
- return StringUtils.equalsAny(byAdcode.getAdGrad(), Constant.STRING_THREE, Constant.STRING_FORE);
- }
- @Override
- public List<AttAdBase> getAllChildByCode(String code) {
- return attAdBaseDao.getAllChildByCode(code);
- }
- @Override
- public List<AdUpDto> getTreeByUser(String adCode ,String code) {
- List<AdUpDto> list = attAdBaseDao.getAllChildren(adCode);
- if(CollectionUtils.isEmpty(list)){
- return new ArrayList<AdUpDto>();
- }
- List<AdUpDto> rootAdList = new ArrayList<>();
- for(AdUpDto adBase : list){
- if(code.equals(adBase.getAdCode())){
- rootAdList.add(adBase);
- }
- }
- List<AdUpDto> adTreeList = new ArrayList<>();
- for (AdUpDto rootAd : rootAdList) {
- AdUpDto adBase = buildUserTree(list, rootAd);
- adTreeList.add(adBase);
- }
- return adTreeList;
- }
- public AdUpDto buildUserTree(List<AdUpDto> AdDataList, AdUpDto adBase) {
- List<AdUpDto> childrenList = new ArrayList<>();
- for (AdUpDto adUpDto : AdDataList) {
- // 当前数据的 parentId 等于 父节点的 id,则该数据是当前父级节点的子级。
- if (adUpDto.getAdFcode().equals(adBase.getAdCode())) {
- // 递归调用
- childrenList.add(buildUserTree(AdDataList, adUpDto));
- }
- }
- adBase.setAdUpDtoList(childrenList);
- return adBase;
- }
- }
|