package com.qianwen.smartman.modules.system.service.impl; import java.util.ArrayList; import java.util.List; import java.util.Map; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.qianwen.core.log.exception.ServiceException; import com.qianwen.core.tool.utils.BeanUtil; import com.qianwen.core.tool.utils.Func; import com.qianwen.smartman.common.cache.RegionCache; import com.qianwen.smartman.modules.system.entity.Region; import com.qianwen.smartman.modules.system.excel.RegionExcel; import com.qianwen.smartman.modules.system.mapper.RegionMapper; import com.qianwen.smartman.modules.system.service.IRegionService; import com.qianwen.smartman.modules.system.vo.RegionVO; @Service /* loaded from: blade-api.jar:BOOT-INF/classes/org/springblade/modules/system/service/impl/RegionServiceImpl.class */ public class RegionServiceImpl extends ServiceImpl implements IRegionService { @Override // org.springblade.modules.system.service.IRegionService public boolean submit(Region region) { Long cnt = this.baseMapper.selectCount(Wrappers.query().lambda().eq(Region::getCode, region.getCode())); /* Long cnt = ((RegionMapper) this.baseMapper).selectCount((Wrapper) Wrappers.query().lambda().eq((v0) -> { return v0.getCode(); }, region.getCode()));*/ if (cnt.longValue() > 0) { return updateById(region); } Region parent = RegionCache.getByCode(region.getParentCode()); if (Func.isNotEmpty(parent) || Func.isNotEmpty(parent.getCode())) { String ancestors = parent.getAncestors() + "," + parent.getCode(); region.setAncestors(ancestors); } Integer level = region.getRegionLevel(); String code = region.getCode(); String name = region.getName(); if (level.intValue() == 1) { region.setProvinceCode(code); region.setProvinceName(name); } else if (level.intValue() == 2) { region.setCityCode(code); region.setCityName(name); } else if (level.intValue() == 3) { region.setDistrictCode(code); region.setDistrictName(name); } else if (level.intValue() == 4) { region.setTownCode(code); region.setTownName(name); } else if (level.intValue() == 5) { region.setVillageCode(code); region.setVillageName(name); } return save(region); } @Override // org.springblade.modules.system.service.IRegionService public boolean removeRegion(String id) { Long cnt = this.baseMapper.selectCount(Wrappers.query().lambda().eq(Region::getParentCode, id)); /* Long cnt = ((RegionMapper) this.baseMapper).selectCount((Wrapper) Wrappers.query().lambda().eq((v0) -> { return v0.getParentCode(); }, id));*/ if (cnt.longValue() > 0) { throw new ServiceException("请先删除子节点!"); } return removeById(id); } @Override // org.springblade.modules.system.service.IRegionService public List lazyList(String parentCode, Map param) { return ((RegionMapper) this.baseMapper).lazyList(parentCode, param); } @Override // org.springblade.modules.system.service.IRegionService public List lazyTree(String parentCode, Map param) { return ((RegionMapper) this.baseMapper).lazyTree(parentCode, param); } @Override // org.springblade.modules.system.service.IRegionService public void importRegion(List data, Boolean isCovered) { List list = new ArrayList<>(); data.forEach(regionExcel -> { Region region = (Region) BeanUtil.copy(regionExcel, Region.class); list.add(region); }); if (isCovered.booleanValue()) { saveOrUpdateBatch(list); } else { saveBatch(list); } } @Override // org.springblade.modules.system.service.IRegionService public List exportRegion(Wrapper queryWrapper) { return ((RegionMapper) this.baseMapper).exportRegion(queryWrapper); } }