|
|
@@ -36,7 +36,7 @@ public class UploadChannelService {
|
|
|
this.storeNodeRepository = storeNodeRepository;
|
|
|
}
|
|
|
|
|
|
- public Result add(UploadChannelDto uploadChannelDto) {
|
|
|
+ public synchronized Result add(UploadChannelDto uploadChannelDto) {
|
|
|
String domain = uploadChannelDto.getDomain();
|
|
|
StoreNode storeNode = storeNodeRepository.findByDomain(domain);
|
|
|
if (storeNode == null) {
|
|
|
@@ -45,11 +45,16 @@ public class UploadChannelService {
|
|
|
|
|
|
int createBy = UserContext.getUser().getId();
|
|
|
String channelPrefix = uploadChannelDto.getChannelPrefix();
|
|
|
- UploadChannel uploadChannel = uploadChannelRepository.findByPrefixAndCreateBy(channelPrefix, createBy);
|
|
|
+ UploadChannel uploadChannel = uploadChannelRepository.findByPrefixAndCreateByAndBindDomain(channelPrefix, createBy, domain);
|
|
|
if (uploadChannel != null) {
|
|
|
return Result.fail(String.format("channel_prefix %s exist", channelPrefix));
|
|
|
}
|
|
|
|
|
|
+ uploadChannel = uploadChannelRepository.findByPrefixAndBindDomain(channelPrefix, domain);
|
|
|
+ if (uploadChannel != null) {
|
|
|
+ return Result.fail(String.format("someone has already created channel_prefix %s", channelPrefix));
|
|
|
+ }
|
|
|
+
|
|
|
int channelId = getNextChannelId(createBy);
|
|
|
uploadChannel = new UploadChannel(channelId, uploadChannelDto, createBy);
|
|
|
uploadChannelRepository.save(uploadChannel);
|