Commit 635ae21f authored by 赵啸非's avatar 赵啸非

添加用户扩展xml

parent a2d98d4b
......@@ -147,6 +147,7 @@ public class UserQuery extends UserEntity{
private List<UserQuery> andConditionList;
public UserQuery(){
}
......
......@@ -38,6 +38,14 @@ public interface SiteService extends ICRUDCacheService<SiteEntity, Long> {
*/
List<SiteTreeSelect> getSiteTree(Context context);
/**
* 根据区域code获取子站点
*
* @param context
* @return
*/
List<SiteEntity> getFlatSitesByAreaCode(String areaCode,Context context);
void setSiteTree(List<SiteTreeSelect> list, Context context);
......
......@@ -36,10 +36,18 @@ public class SiteBusinessServiceImpl extends AbstractCRUDCacheServiceImpl<SiteBu
@Autowired
private BusinessService businessService;
@Override
protected void findAfter(SiteBusinessEntity params, PageInfo pageInfo, Context context, List<SiteBusinessEntity> list) throws AppException {
list.stream().peek(item -> {
List<SiteBusinessEntity> childs = this.find(new SiteBusinessQuery().siteId(item.getSiteId()).parentId(item.getBusinessId()));
if(!ObjectUtils.isEmpty(item.getBusinessId())){
BusinessEntity businessEntity = businessService.get(item.getBusinessId());
if(!ObjectUtils.isEmpty(businessEntity)){
BeanUtils.copyProperties(businessEntity,item,"id");
}
}
item.setChildren(childs);
}).count();
super.findAfter(params, pageInfo, context, list);
......@@ -52,11 +60,9 @@ public class SiteBusinessServiceImpl extends AbstractCRUDCacheServiceImpl<SiteBu
@Override
protected void updateBefore(SiteBusinessEntity entity, Context context) throws AppException {
super.updateBefore(entity, context);
}
@Override
protected void updateAfter(SiteBusinessEntity entity, Context context) throws AppException {
......
......@@ -35,7 +35,7 @@ import java.util.stream.Collectors;
@Service("siteService")
public class SiteServiceImpl extends AbstractCRUDCacheServiceImpl<SiteDao, SiteEntity, Long> implements SiteService {
// private List<SiteTreeSelect> siteTreeList;
// private List<SiteTreeSelect> siteTreeList;
/**
* 根据用户id 暂存对应站点树 默认0为全站点树
*/
......@@ -67,10 +67,10 @@ public class SiteServiceImpl extends AbstractCRUDCacheServiceImpl<SiteDao, SiteE
public List<SiteTreeSelect> siteTree(Context context) {
Map<String, AreaEntity> areaMap = new HashMap<>();
SiteQuery siteQuery = new SiteQuery();
Set<String> siteSet = Arrays.stream(context.getUser().getSiteIds().split(",")).filter(f->!f.equals("")).collect(Collectors.toSet());
Set<String> siteSet = Arrays.stream(context.getUser().getSiteIds().split(",")).filter(f -> !f.equals("")).collect(Collectors.toSet());
if (!ObjectUtils.isEmpty(siteSet)) {
List<Long> siteIdList = siteSet.stream().map(Long::parseLong).collect(Collectors.toList());
if(!ObjectUtils.isEmpty(siteIdList)){
if (!ObjectUtils.isEmpty(siteIdList)) {
siteQuery.idList(siteIdList);
}
}
......@@ -173,10 +173,11 @@ public class SiteServiceImpl extends AbstractCRUDCacheServiceImpl<SiteDao, SiteE
super.saveAfter(entity, context);
}
@Override
protected void removeBefore(Long[] ids, Context context) throws AppException {
protected void removeAfter(Long[] ids, Context context, int result) throws AppException {
new Thread(new SyncTreeSiteThread(this, context)).start();
super.removeBefore(ids, context);
super.removeAfter(ids, context, result);
}
@Override
......@@ -190,6 +191,38 @@ public class SiteServiceImpl extends AbstractCRUDCacheServiceImpl<SiteDao, SiteE
}
}
@Override
public List<SiteEntity> getFlatSitesByAreaCode(String areaCode, Context context) {
List<SiteEntity> siteList = new ArrayList<>();
if (ObjectUtils.isEmpty(areaCode)) {
throw new AppException("区域编码不能为空!");
}
AreaEntity areaEntity = areaService.getCache(areaCode);
if (ObjectUtils.isEmpty(areaEntity)) {
throw new AppException(String.format("区域不存在!区域编码:%s", areaCode));
}
this.getCacheList().stream().forEach(siteEntity -> {
//递归查找 如果满足条件 添加到站点列表
getSite(areaCode, siteList, siteEntity);
});
return siteList;
}
private void getSite(String areaCode, List<SiteEntity> siteList, SiteEntity siteEntity) {
AreaEntity areaTemp = areaService.getExtCache(siteEntity.getAreaCode());
if (areaCode.equals(areaTemp.getAreaCode())) {
siteList.add(siteEntity);
} else {
if (!ObjectUtils.isEmpty(areaTemp.getPid())) {
AreaEntity areaEntity = areaService.selectOne(new AreaQuery().iid(areaTemp.getPid()));
if (!ObjectUtils.isEmpty(areaEntity)) {
getSite(areaEntity.getAreaCode(), siteList, siteEntity);
}
}
}
}
@Override
public void setSiteTree(List<SiteTreeSelect> list, Context context) {
siteTreeMap.put(context.getUser().getId(), list);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment