xin
2025-07-14 b4d3224898d50b8f1e30b5c8083a520743927282
oying-system/src/main/java/com/oying/modules/pc/store/service/impl/StoreCreateServiceImpl.java
@@ -1,51 +1,23 @@
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 com.oying.modules.pc.store.service.StoreMerchantService;
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;
    private final StoreMerchantService storeMerchantService;
    @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);
        }
    public Store create(StoreCreateRequest request) {
        return storeMerchantService.createStore(request);
    }
}