From b394df082b875856884d6d02cce2a43c49ad6704 Mon Sep 17 00:00:00 2001
From: xin <1099200748@qq.com>
Date: Fri, 30 May 2025 16:44:46 +0800
Subject: [PATCH] Merge branch 'feature/pc-base' into xin

---
 oying-system/src/main/java/com/oying/modules/pc/store/service/impl/StoreCreateServiceImpl.java |   51 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 51 insertions(+), 0 deletions(-)

diff --git a/oying-system/src/main/java/com/oying/modules/pc/store/service/impl/StoreCreateServiceImpl.java b/oying-system/src/main/java/com/oying/modules/pc/store/service/impl/StoreCreateServiceImpl.java
new file mode 100644
index 0000000..467ebbb
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/pc/store/service/impl/StoreCreateServiceImpl.java
@@ -0,0 +1,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);
+        }
+    }
+}

--
Gitblit v1.9.3