From c5e43660a6b89b7d0c8e8ae73471053c5e3fa322 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期五, 08 九月 2023 16:01:53 +0800
Subject: [PATCH] 代码生成

---
 server/service/src/main/java/com/doumee/core/utils/DateUtil.java                       |    2 
 server/service/src/main/java/com/doumee/service/business/impl/BaseDataServiceImpl.java |   52 ++++++++++++++++++++++++-
 server/service/src/main/java/com/doumee/dao/business/model/dto/OssModel.java           |   25 ++++++++++++
 server/service/src/main/resources/application-dev.yml                                  |   12 +++---
 4 files changed, 81 insertions(+), 10 deletions(-)

diff --git a/server/service/src/main/java/com/doumee/core/utils/DateUtil.java b/server/service/src/main/java/com/doumee/core/utils/DateUtil.java
index 2174bef..7942d79 100644
--- a/server/service/src/main/java/com/doumee/core/utils/DateUtil.java
+++ b/server/service/src/main/java/com/doumee/core/utils/DateUtil.java
@@ -284,7 +284,7 @@
      * @return String
      * @throws Exception
      */
-    public static String getNowShortDate() throws Exception {
+    public static String getNowShortDate() {
         String nowDate = "";
         try {
             java.sql.Date date = null;
diff --git a/server/service/src/main/java/com/doumee/dao/business/model/dto/OssModel.java b/server/service/src/main/java/com/doumee/dao/business/model/dto/OssModel.java
new file mode 100644
index 0000000..8e08348
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/dao/business/model/dto/OssModel.java
@@ -0,0 +1,25 @@
+package com.doumee.dao.business.model.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * Created by IntelliJ IDEA.
+ *
+ * @Author : Rk
+ * @create 2023/6/7 15:09
+ */
+@Data
+public class OssModel {
+
+    private String accessKey;
+    private String url;
+    private String endpoint;
+    private String accessId;
+
+    private String bucket;
+    private String cateFolder;
+    private String goodsFolder;
+}
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/BaseDataServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/BaseDataServiceImpl.java
index c0d4df7..bacf9a0 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/BaseDataServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/BaseDataServiceImpl.java
@@ -1,12 +1,16 @@
 package com.doumee.service.business.impl;
 
+import com.doumee.biz.system.SystemDictDataBiz;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.utils.Constants;
+import com.doumee.core.utils.DateUtil;
 import com.doumee.core.utils.PinYinUtil;
 import com.doumee.core.utils.Utils;
+import com.doumee.core.utils.aliyun.ALiYunUtil;
 import com.doumee.dao.business.*;
 import com.doumee.dao.business.model.*;
+import com.doumee.dao.business.model.dto.OssModel;
 import com.doumee.service.business.BaseDataService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
@@ -14,6 +18,7 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 
@@ -21,6 +26,7 @@
 import java.lang.reflect.Method;
 import java.util.Date;
 import java.util.List;
+import java.util.UUID;
 
 /**
  * 鍟嗗搧婧愭暟鎹俊鎭〃Service瀹炵幇
@@ -32,6 +38,9 @@
 
     @Autowired
     private BaseDataMapper baseDataMapper;
+    @Autowired
+    @Lazy
+    private SystemDictDataBiz systemDictDataBiz;
     @Autowired
     private BaseGoodsMapper baseGoodsMapper;
     @Autowired
@@ -310,6 +319,8 @@
             p.setIsdeleted(Constants.ZERO);
             //鏌ヨ鍏ㄩ儴绫诲埆灞炴�т俊鎭�
             List<BaseCateParam> paramList = baseCateParamMapper.selectList(new QueryWrapper<>(p));
+
+            OssModel ossModel = initOssModel();
             Date date = new Date();
             for(BaseData data : allLis){
                 BaseGoods goods = new BaseGoods();
@@ -330,7 +341,7 @@
                     goods.setBrandId(bModel.getId());
                 }
                 //澶勭悊鍒楄〃鏁版嵁
-                BaseCategory cModel = getCateModelFromList(data.getBrand(),data.getCategoryImg(), cateList);
+                BaseCategory cModel = getCateModelFromList(data.getBrand(),ossModel,data.getCategoryImg(), cateList);
                 if(bModel!= null){
                     goods.setBrandId(bModel.getId());
                 }
@@ -339,6 +350,7 @@
                 baseGoodsMapper.insert(goods);
                 //澶勭悊鍒嗙被灞炴��
                 dealCateParamAll(cModel.getId(),goods.getId(),data,paramList);
+
                 data.setEditDate(new Date());
                 data.setStatus(Constants.ONE);
                 //鏇存柊鏁版嵁澶勭悊鐘舵��
@@ -349,7 +361,19 @@
         }finally {
             IS_RUNNING = false;
         }
+    }
 
+    private OssModel initOssModel() {
+        OssModel model = new OssModel();
+        model.setUrl(systemDictDataBiz.queryByCode(Constants.OSS, Constants.RESOURCE_PATH).getCode());
+        model.setEndpoint(systemDictDataBiz.queryByCode(Constants.OSS, Constants.ENDPOINT).getCode());
+        model.setAccessId(systemDictDataBiz.queryByCode(Constants.OSS, Constants.ACCESS_ID).getCode());
+        model.setAccessKey(systemDictDataBiz.queryByCode(Constants.OSS, Constants.ACCESS_KEY).getCode());
+        model.setBucket(systemDictDataBiz.queryByCode(Constants.OSS, Constants.BUCKETNAME).getCode());
+        model.setCateFolder(systemDictDataBiz.queryByCode(Constants.OSS, Constants.CATEGORY_IMG).getCode());
+        model.setAccessKey(systemDictDataBiz.queryByCode(Constants.OSS, Constants.GOODS_IMG).getCode());
+
+        return model;
     }
 
 
@@ -485,7 +509,7 @@
      * @return
      */
 
-    private BaseCategory getCateModelFromList(String name, String img,List<BaseCategory> list) {
+    private BaseCategory getCateModelFromList(String name,OssModel ossModel, String img,List<BaseCategory> list) {
         if(list!=null && list.size()>0){
             for(BaseCategory p : list){
                 if(StringUtils.equals(name,p.getName())){
@@ -497,11 +521,33 @@
         model.setCreateDate(new Date());
         model.setName(name);
         model.setIsdeleted(Constants.ZERO);
-        model.setImgurl(img);
+        model.setImgurl(getOssImgurl(ossModel,img));
         //鎻掑叆鏂扮殑鍝佺墝淇℃伅
         baseCategoryMapper.insert(model);
         //鍔犲叆闆嗗悎涓�
         list.add(model);
         return model;
     }
+
+    private String getOssImgurl(OssModel ossModel, String img) {
+        if(StringUtils.isBlank(img)){
+            return null;
+        }
+        try {
+            String nowDate = DateUtil.getNowShortDate();// 褰撳墠鏃堕棿锛堝勾鏈堟棩锛�
+            String nfix  = img.lastIndexOf(".")>0?img.substring(img.lastIndexOf(".")):null;
+            nfix = StringUtils.defaultString(nfix,".jpg");
+            String fileName = UUID.randomUUID() + nfix;
+            String tempFileName = nowDate + "/" + fileName;
+            String key = ossModel.getCateFolder() + tempFileName;// 鏂囦欢鍚�
+
+            ALiYunUtil obs = new ALiYunUtil(ossModel.getEndpoint(), ossModel.getAccessId(), ossModel.getAccessKey());
+            if (obs.uploadOnlineObject(img,ossModel.getBucket(), key,null)) {
+                    return  tempFileName;
+            }
+        }catch (Exception e){
+
+        }
+        return  null;
+    }
 }
diff --git a/server/service/src/main/resources/application-dev.yml b/server/service/src/main/resources/application-dev.yml
index a173b0d..1571004 100644
--- a/server/service/src/main/resources/application-dev.yml
+++ b/server/service/src/main/resources/application-dev.yml
@@ -13,14 +13,14 @@
 spring:
   # 鏁版嵁婧愰厤缃�
   datasource:
-
+    url: jdbc:mysql://57b57595ddc66.sh.cdb.myqcloud.com:4464/pre_select_saas?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=GMT%2B8
+    username: test
+    password: doumee@168
+    driver-class-name: com.mysql.cj.jdbc.Driver
+    type: com.alibaba.druid.pool.DruidDataSource
 
   redis:
-    #    database: 0    url: jdbc:mysql://57b57595ddc66.sh.cdb.myqcloud.com:4464/pre_select_saas?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=GMT%2B8
-    #    username: test
-    #    password: doumee@168
-    #    driver-class-name: com.mysql.cj.jdbc.Driver
-    #    type: com.alibaba.druid.pool.DruidDataSource
+    #    database: 0
     host: 127.0.0.1
     port: 6379
     password:

--
Gitblit v1.9.3