package com.oying.modules.pc.store.service.impl;
|
|
import com.oying.modules.pc.store.domain.Store;
|
import com.oying.modules.pc.store.domain.StoreQualification;
|
import com.oying.modules.pc.store.domain.dto.StoreCreateRequest;
|
import com.oying.modules.pc.store.service.StoreCreateService;
|
import com.oying.modules.pc.store.service.StoreQualificationService;
|
import com.oying.modules.pc.store.service.StoreService;
|
import com.oying.utils.SecurityUtils;
|
import lombok.RequiredArgsConstructor;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.beans.BeanUtils;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
|
import java.util.List;
|
import java.util.stream.Collectors;
|
|
@Slf4j
|
@Service
|
@RequiredArgsConstructor
|
public class StoreCreateServiceImpl implements StoreCreateService {
|
|
private final StoreService storeService;
|
private final StoreQualificationService storeQualificationService;
|
|
@Transactional(rollbackFor = Exception.class)
|
public void create(StoreCreateRequest request) {
|
Store store = new Store();
|
BeanUtils.copyProperties(request, store);
|
store.setMerchantId(SecurityUtils.getCurrentUserId());
|
store.setLogoImageId(request.getLogoUploadFileId());
|
// store.setCoverImage(request.getCoverUploadFileId());
|
storeService.create(store);
|
if (request.hasQualificationList()) {
|
List<StoreQualification> storeQualificationList = request.getQualificationList()
|
.stream()
|
.map(i -> {
|
StoreQualification qualification = new StoreQualification();
|
qualification.setStoreId(store.getStoreId());
|
qualification.setQualificationType(i.getType());
|
qualification.setQualificationName("");
|
qualification.setQualificationImageId(i.getImageUploadFileId());
|
return qualification;
|
})
|
.collect(Collectors.toList());
|
storeQualificationList.forEach(i -> i.setStoreId(store.getStoreId()));
|
storeQualificationService.batchCreate(storeQualificationList);
|
}
|
}
|
}
|