feat:(REQ-2699) 解决脏数据问题

This commit is contained in:
lilong 2024-08-09 13:32:24 +08:00
parent 202d0797dc
commit 5ea15447ad
3 changed files with 34 additions and 7 deletions

View File

@ -10,6 +10,8 @@ import cn.axzo.tyr.client.model.req.PageQueryElementReq;
import cn.axzo.tyr.client.model.res.GetUserHasPermissionPageElementResp;
import cn.axzo.tyr.client.model.res.PageElementBasicDTO;
import cn.axzo.tyr.client.model.res.PageElementResp;
import cn.axzo.tyr.server.repository.entity.SaasPageElement;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
@ -18,7 +20,7 @@ import java.util.List;
* @version 1.0
* @date 2024/6/18
*/
public interface SaasPageElementService {
public interface SaasPageElementService extends IService<SaasPageElement> {
/**
* 页面元素上报

View File

@ -660,6 +660,7 @@ public class SaasFeatureResourceServiceImpl extends ServiceImpl<SaasFeatureResou
.collect(Collectors.toMap(PageElementResp::getCode, Function.identity()));
return pageElementFeatureResourceRelations.stream()
.filter(e -> elementMap.get(e.getPageElementCode()) != null)
.collect(Collectors.groupingBy(SaasPageElementFeatureResourceRelation::getFeatureResourceUniCode,
Collectors.mapping(e -> elementMap.get(e.getPageElementCode()), Collectors.toList())));

View File

@ -5,6 +5,8 @@ import cn.axzo.basics.common.util.AssertUtil;
import cn.axzo.basics.common.util.StopWatchUtil;
import cn.axzo.basics.profiles.api.UserProfileServiceApi;
import cn.axzo.basics.profiles.dto.basic.PersonProfileDto;
import cn.axzo.foundation.dao.support.converter.PageConverter;
import cn.axzo.foundation.dao.support.mysql.QueryWrapperHelper;
import cn.axzo.foundation.exception.BusinessException;
import cn.axzo.framework.domain.page.PageResp;
import cn.axzo.framework.rocketmq.Event;
@ -13,27 +15,28 @@ import cn.axzo.tyr.client.common.enums.FeatureResourceType;
import cn.axzo.tyr.client.common.enums.PageElementFeatureResourceRelationTypeEnum;
import cn.axzo.tyr.client.common.enums.PageElementTypeEnum;
import cn.axzo.tyr.client.common.enums.PermissionRelationOperateLogSceneEnum;
import cn.axzo.tyr.client.model.req.*;
import cn.axzo.tyr.client.model.req.GetPageElementReq;
import cn.axzo.tyr.client.model.req.GetUserHasPermissionPageElementReq;
import cn.axzo.tyr.client.model.req.IdentityAuthReq;
import cn.axzo.tyr.client.model.req.ModifyPageElementRelationDTO;
import cn.axzo.tyr.client.model.req.PageElementReportReq;
import cn.axzo.tyr.client.model.req.PageElementReq;
import cn.axzo.tyr.client.model.req.PageQueryElementReq;
import cn.axzo.tyr.client.model.res.GetUserHasPermissionPageElementResp;
import cn.axzo.tyr.client.model.res.IdentityAuthRes;
import cn.axzo.tyr.client.model.res.PageElementBasicDTO;
import cn.axzo.tyr.client.model.res.PageElementResp;
import cn.axzo.tyr.server.model.RelationOperateLogResourceBindElementDO;
import cn.axzo.tyr.server.config.MqProducer;
import cn.axzo.tyr.server.event.payload.PageElementFeatureResourceUpsertPayload;
import cn.axzo.tyr.server.model.RelationOperateLogResourceBindElementDO;
import cn.axzo.tyr.server.repository.dao.SaasFeatureResourceDao;
import cn.axzo.tyr.server.repository.dao.SaasPageElementDao;
import cn.axzo.tyr.server.repository.dao.SaasPageElementFeatureResourceRelationDao;
import cn.axzo.tyr.server.repository.entity.*;
import cn.axzo.tyr.server.repository.entity.SaasFeatureResource;
import cn.axzo.tyr.server.repository.entity.SaasPageElement;
import cn.axzo.tyr.server.repository.entity.SaasPageElementFeatureResourceRelation;
import cn.axzo.tyr.server.repository.entity.SaasPgroupPermissionRelationOperateLog;
import cn.axzo.tyr.server.repository.mapper.SaasPageElementMapper;
import cn.axzo.tyr.server.service.SaasPageElementService;
import cn.axzo.tyr.server.service.SaasPgroupPermissionRelationOperateLogService;
import cn.axzo.tyr.server.service.TyrSaasAuthService;
@ -41,8 +44,10 @@ import cn.axzo.tyr.server.util.RpcInternalUtil;
import cn.azxo.framework.common.constatns.Constants;
import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import lombok.RequiredArgsConstructor;
@ -50,6 +55,7 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.MDC;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value;
@ -78,7 +84,9 @@ import static cn.axzo.tyr.server.event.inner.EventTypeEnum.PAGE_ELEMENT_FEATURE_
@Slf4j
@Service
@RequiredArgsConstructor
public class SaasPageElementServiceImpl implements SaasPageElementService {
public class SaasPageElementServiceImpl
extends ServiceImpl<SaasPageElementMapper, SaasPageElement>
implements SaasPageElementService {
private final SaasPageElementDao saasPageElementDao;
private final SaasPageElementFeatureResourceRelationDao saasPageElementFeatureResourceRelationDao;
@ -469,11 +477,27 @@ public class SaasPageElementServiceImpl implements SaasPageElementService {
@Override
public List<PageElementResp> list(PageElementReq param) {
return null;
return PageConverter.drainAll(pageNumber -> {
param.setPage(pageNumber);
param.setPageSize(1000);
return page(param);
});
}
@Override
public cn.axzo.foundation.page.PageResp<PageElementResp> page(PageElementReq param) {
return null;
QueryWrapper<SaasPageElement> wrapper = QueryWrapperHelper.fromBean(param, SaasPageElement.class);
wrapper.eq("is_delete", 0);
IPage<SaasPageElement> page = this.page(PageConverter.toMybatis(param, SaasPageElement.class), wrapper);
return PageConverter.toResp(page, this::from);
}
private PageElementResp from(SaasPageElement saasPageElement) {
PageElementResp pageElementResp = PageElementResp.builder().build();
BeanUtils.copyProperties(saasPageElement, pageElementResp);
return pageElementResp;
}
}