|
|
@@ -18,6 +18,7 @@ import org.springframework.data.domain.Page;
|
|
|
import org.springframework.data.domain.PageImpl;
|
|
|
import org.springframework.data.domain.PageRequest;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import java.util.List;
|
|
|
import java.util.stream.Collectors;
|
|
|
@@ -37,21 +38,22 @@ public class UploadChannelService {
|
|
|
this.storeNodeService = storeNodeService;
|
|
|
}
|
|
|
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
public synchronized Result add(UploadChannelDto uploadChannelDto) {
|
|
|
- String domain = uploadChannelDto.getDomain();
|
|
|
- StoreNode storeNode = storeNodeService.getByDomain(domain);
|
|
|
+ int nodeId = uploadChannelDto.getNodeId();
|
|
|
+ StoreNode storeNode = storeNodeService.getById(nodeId);
|
|
|
if (storeNode == null) {
|
|
|
- return Result.fail(String.format("store_node with domain %s not exist", domain));
|
|
|
+ return Result.fail(String.format("store_node with id %s not exist", nodeId));
|
|
|
}
|
|
|
|
|
|
int createBy = UserContext.getUser().getId();
|
|
|
String channelPrefix = uploadChannelDto.getChannelPrefix();
|
|
|
- UploadChannel uploadChannel = uploadChannelRepository.findByPrefixAndCreateByAndBindDomain(channelPrefix, createBy, domain);
|
|
|
+ UploadChannel uploadChannel = uploadChannelRepository.findByPrefixAndCreateByAndNodeId(channelPrefix, createBy, nodeId);
|
|
|
if (uploadChannel != null) {
|
|
|
return Result.fail(String.format("channel_prefix %s exist", channelPrefix));
|
|
|
}
|
|
|
|
|
|
- uploadChannel = uploadChannelRepository.findByPrefixAndBindDomain(channelPrefix, domain);
|
|
|
+ uploadChannel = uploadChannelRepository.findByPrefixAndNodeId(channelPrefix, nodeId);
|
|
|
if (uploadChannel != null) {
|
|
|
return Result.fail(String.format("someone has already created channel_prefix %s", channelPrefix));
|
|
|
}
|
|
|
@@ -60,6 +62,7 @@ public class UploadChannelService {
|
|
|
uploadChannel = new UploadChannel(channelId, uploadChannelDto, createBy);
|
|
|
uploadChannelRepository.save(uploadChannel);
|
|
|
|
|
|
+ String domain = storeNode.getDomain();
|
|
|
String name = uploadChannel.getName();
|
|
|
long maxSize = uploadChannel.getMaxSize();
|
|
|
int fileType = uploadChannel.getFileType();
|
|
|
@@ -104,14 +107,17 @@ public class UploadChannelService {
|
|
|
List<UploadChannelVo> list = page.stream().map(uploadChannel -> {
|
|
|
long maxSize = uploadChannel.getMaxSize();
|
|
|
String maxSizeStr = byteConverter.convert(ByteType.Bytes, maxSize);
|
|
|
- return new UploadChannelVo(uploadChannel, maxSizeStr);
|
|
|
+ String bindDomain = storeNodeService.getById(uploadChannel.getNodeId()).getDomain();
|
|
|
+ return new UploadChannelVo(uploadChannel, maxSizeStr, bindDomain);
|
|
|
}).collect(Collectors.toList());
|
|
|
|
|
|
return new PageImpl<>(list, pageRequest, page.getTotalElements());
|
|
|
}
|
|
|
|
|
|
public List<UploadChannel> getByDomain(String domain) {
|
|
|
- return uploadChannelRepository.findByBindDomain(domain);
|
|
|
+ StoreNode storeNode = storeNodeService.getByDomain(domain);
|
|
|
+ int nodeId = storeNode.getId();
|
|
|
+ return uploadChannelRepository.findByNodeId(nodeId);
|
|
|
}
|
|
|
|
|
|
public UploadChannel getUploadChannel(int id) {
|
|
|
@@ -135,7 +141,7 @@ public class UploadChannelService {
|
|
|
int fileType = uploadChannel.getFileType();
|
|
|
boolean processFile = uploadChannel.getProcessFile();
|
|
|
int scope = uploadChannel.getScope();
|
|
|
- String domain = uploadChannel.getBindDomain();
|
|
|
+ String domain = storeNodeService.getById(uploadChannel.getNodeId()).getDomain();
|
|
|
return new ObjectChannel(channelId, name, channelPrefix, maxSize, fileType, processFile, scope, domain);
|
|
|
}
|
|
|
|
|
|
@@ -147,7 +153,7 @@ public class UploadChannelService {
|
|
|
throw new Exception(errMsg);
|
|
|
}
|
|
|
|
|
|
- String domain = uploadChannel.getBindDomain();
|
|
|
+ String domain = storeNodeService.getById(uploadChannel.getNodeId()).getDomain();
|
|
|
String ossUrl = String.format("https://%s", domain);
|
|
|
long maxSize = uploadChannel.getMaxSize();
|
|
|
|