xin
2025-05-30 d93356927d8a0a5a91963c28d461d9107562d759
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
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);
        }
    }
}