Merge pull request #1775 from dataease/pr@dev@refactor_short_public_link

refactor: 重构公共链接短链接
This commit is contained in:
fit2cloud-chenyw 2022-02-15 16:56:01 +08:00 committed by GitHub
commit aa76e3be46
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 16 additions and 8 deletions

View File

@ -45,11 +45,19 @@ public class PanelLinkService {
@Resource @Resource
private PanelLinkMappingMapper panelLinkMappingMapper; private PanelLinkMappingMapper panelLinkMappingMapper;
@Transactional
public void changeValid(LinkRequest request) { public void changeValid(LinkRequest request) {
PanelLink po = new PanelLink(); PanelLink po = new PanelLink();
po.setResourceId(request.getResourceId()); po.setResourceId(request.getResourceId());
po.setValid(request.isValid()); po.setValid(request.isValid());
mapper.updateByExampleSelective(po, example(request.getResourceId(), AuthUtils.getUser().getUserId())); Long userId = AuthUtils.getUser().getUserId();
mapper.updateByExampleSelective(po, example(request.getResourceId(), userId));
PanelLinkMappingExample example = new PanelLinkMappingExample();
example.createCriteria().andResourceIdEqualTo(request.getResourceId()).andUserIdEqualTo(userId);
PanelLinkMapping mapping = new PanelLinkMapping();
mapping.setUuid(CodingUtil.shortUuid());
panelLinkMappingMapper.updateByExampleSelective(mapping, example);
} }
private PanelLinkExample example(String panelLinkId, Long userId){ private PanelLinkExample example(String panelLinkId, Long userId){
@ -118,11 +126,6 @@ public class PanelLinkService {
mapping.setUserId(AuthUtils.getUser().getUserId()); mapping.setUserId(AuthUtils.getUser().getUserId());
mapping.setUuid(CodingUtil.shortUuid()); mapping.setUuid(CodingUtil.shortUuid());
panelLinkMappingMapper.insert(mapping); panelLinkMappingMapper.insert(mapping);
}else {
mappings.stream().filter(mapping -> StringUtils.isBlank(mapping.getUuid())).forEach(item -> {
item.setUuid(CodingUtil.shortUuid());
panelLinkMappingMapper.updateByPrimaryKey(item);
});
} }
return convertDto(one); return convertDto(one);
} }
@ -214,14 +217,19 @@ public class PanelLinkService {
example.createCriteria().andResourceIdEqualTo(resourceId).andUserIdEqualTo(AuthUtils.getUser().getUserId()); example.createCriteria().andResourceIdEqualTo(resourceId).andUserIdEqualTo(AuthUtils.getUser().getUserId());
List<PanelLinkMapping> mappings = panelLinkMappingMapper.selectByExample(example); List<PanelLinkMapping> mappings = panelLinkMappingMapper.selectByExample(example);
PanelLinkMapping mapping = mappings.get(0); PanelLinkMapping mapping = mappings.get(0);
return SHORT_URL_PREFIX + mapping.getUuid(); String uuid = mapping.getUuid();
return SHORT_URL_PREFIX + (StringUtils.isBlank(uuid) ? mapping.getId() : uuid);
} }
public String getUrlByIndex(Long index) { public String getUrlByIndex(Long index) {
PanelLinkMapping mapping = panelLinkMappingMapper.selectByPrimaryKey(index); PanelLinkMapping mapping = panelLinkMappingMapper.selectByPrimaryKey(index);
String resourceId = mapping.getResourceId(); String resourceId = mapping.getResourceId();
Long userId = mapping.getUserId(); Long userId = mapping.getUserId();
PanelLink one = findOne(resourceId, userId); PanelLink one = findOne(resourceId, userId);
if (StringUtils.isNotBlank(mapping.getUuid())) {
one.setResourceId("error-resource-id");
}
return convertDto(one).getUri(); return convertDto(one).getUri();
} }

View File

@ -230,7 +230,7 @@ export default {
valid: value valid: value
} }
switchValid(param).then(res => { switchValid(param).then(res => {
this.requestShort()
}) })
}, },
requestShort() { requestShort() {