jiaosong
2023-09-08 cbf7bd4c7d62670b26292d4738cc062bf965591c
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;
    }
}