| 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; | 
| import com.baomidou.mybatisplus.core.metadata.IPage; | 
| import com.baomidou.mybatisplus.extension.plugins.pagination.Page; | 
| import lombok.extern.slf4j.Slf4j; | 
| 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.transaction.annotation.Transactional; | 
| import org.springframework.util.CollectionUtils; | 
|   | 
| import java.lang.reflect.Field; | 
| import java.lang.reflect.Method; | 
| import java.math.BigDecimal; | 
| import java.util.Date; | 
| import java.util.List; | 
| import java.util.UUID; | 
|   | 
| /** | 
|  * 商品源数据信息表Service实现 | 
|  * @author 江蹄蹄 | 
|  * @date 2023/09/08 11:39 | 
|  */ | 
| @Service | 
| @Slf4j | 
| public class BaseDataServiceImpl implements BaseDataService { | 
|   | 
|     @Autowired | 
|     private BaseDataMapper baseDataMapper; | 
|     @Autowired | 
|     private MultifileMapper multifileMapper; | 
|     @Autowired | 
|     @Lazy | 
|     private SystemDictDataBiz systemDictDataBiz; | 
|     @Autowired | 
|     private BaseGoodsMapper baseGoodsMapper; | 
|     @Autowired | 
|     private BaseGoodsParamMapper baseGoodsParamMapper; | 
|     @Autowired | 
|     private BaseCategoryMapper baseCategoryMapper; | 
|     @Autowired | 
|     private BaseCateParamMapper baseCateParamMapper; | 
|     @Autowired | 
|     private BrandMapper brandMapper; | 
|   | 
|     @Override | 
|     public String create(BaseData baseData) { | 
|         baseDataMapper.insert(baseData); | 
|         return baseData.getId(); | 
|     } | 
|   | 
|     @Override | 
|     public void deleteById(String id) { | 
|         baseDataMapper.deleteById(id); | 
|     } | 
|   | 
|     @Override | 
|     public void delete(BaseData baseData) { | 
|         UpdateWrapper<BaseData> deleteWrapper = new UpdateWrapper<>(baseData); | 
|         baseDataMapper.delete(deleteWrapper); | 
|     } | 
|   | 
|     @Override | 
|     public void deleteByIdInBatch(List<String> ids) { | 
|         if (CollectionUtils.isEmpty(ids)) { | 
|             return; | 
|         } | 
|         baseDataMapper.deleteBatchIds(ids); | 
|     } | 
|   | 
|     @Override | 
|     public void updateById(BaseData baseData) { | 
|         baseDataMapper.updateById(baseData); | 
|     } | 
|   | 
|     @Override | 
|     public void updateByIdInBatch(List<BaseData> baseDatas) { | 
|         if (CollectionUtils.isEmpty(baseDatas)) { | 
|             return; | 
|         } | 
|         for (BaseData baseData: baseDatas) { | 
|             this.updateById(baseData); | 
|         } | 
|     } | 
|   | 
|     @Override | 
|     public BaseData findById(Integer id) { | 
|         return baseDataMapper.selectById(id); | 
|     } | 
|   | 
|     @Override | 
|     public BaseData findOne(BaseData baseData) { | 
|         QueryWrapper<BaseData> wrapper = new QueryWrapper<>(baseData); | 
|         return baseDataMapper.selectOne(wrapper); | 
|     } | 
|   | 
|     @Override | 
|     public List<BaseData> findList(BaseData baseData) { | 
|         QueryWrapper<BaseData> wrapper = new QueryWrapper<>(baseData); | 
|         return baseDataMapper.selectList(wrapper); | 
|     } | 
|    | 
|     @Override | 
|     public PageData<BaseData> findPage(PageWrap<BaseData> pageWrap) { | 
|         IPage<BaseData> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); | 
|         QueryWrapper<BaseData> queryWrapper = new QueryWrapper<>(); | 
|         Utils.MP.blankToNull(pageWrap.getModel()); | 
|         if (pageWrap.getModel().getId() != null) { | 
|             queryWrapper.lambda().eq(BaseData::getId, pageWrap.getModel().getId()); | 
|         } | 
|         if (pageWrap.getModel().getCreator() != null) { | 
|             queryWrapper.lambda().eq(BaseData::getCreator, pageWrap.getModel().getCreator()); | 
|         } | 
|         if (pageWrap.getModel().getCreateDate() != null) { | 
|             queryWrapper.lambda().ge(BaseData::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate())); | 
|             queryWrapper.lambda().le(BaseData::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate())); | 
|         } | 
|         if (pageWrap.getModel().getEditor() != null) { | 
|             queryWrapper.lambda().eq(BaseData::getEditor, pageWrap.getModel().getEditor()); | 
|         } | 
|         if (pageWrap.getModel().getEditDate() != null) { | 
|             queryWrapper.lambda().ge(BaseData::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate())); | 
|             queryWrapper.lambda().le(BaseData::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate())); | 
|         } | 
|         if (pageWrap.getModel().getIsdeleted() != null) { | 
|             queryWrapper.lambda().eq(BaseData::getIsdeleted, pageWrap.getModel().getIsdeleted()); | 
|         } | 
|         if (pageWrap.getModel().getTitle() != null) { | 
|             queryWrapper.lambda().eq(BaseData::getTitle, pageWrap.getModel().getTitle()); | 
|         } | 
|         if (pageWrap.getModel().getName() != null) { | 
|             queryWrapper.lambda().eq(BaseData::getName, pageWrap.getModel().getName()); | 
|         } | 
|         if (pageWrap.getModel().getSku() != null) { | 
|             queryWrapper.lambda().eq(BaseData::getSku, pageWrap.getModel().getSku()); | 
|         } | 
|         if (pageWrap.getModel().getBrand() != null) { | 
|             queryWrapper.lambda().eq(BaseData::getBrand, pageWrap.getModel().getBrand()); | 
|         } | 
|         if (pageWrap.getModel().getCategory() != null) { | 
|             queryWrapper.lambda().eq(BaseData::getCategory, pageWrap.getModel().getCategory()); | 
|         } | 
|         if (pageWrap.getModel().getUrl() != null) { | 
|             queryWrapper.lambda().eq(BaseData::getUrl, pageWrap.getModel().getUrl()); | 
|         } | 
|         if (pageWrap.getModel().getImgurl() != null) { | 
|             queryWrapper.lambda().eq(BaseData::getImgurl, pageWrap.getModel().getImgurl()); | 
|         } | 
|         if (pageWrap.getModel().getBgImg() != null) { | 
|             queryWrapper.lambda().eq(BaseData::getBgImg, pageWrap.getModel().getBgImg()); | 
|         } | 
|         if (pageWrap.getModel().getBgImg2() != null) { | 
|             queryWrapper.lambda().eq(BaseData::getBgImg2, pageWrap.getModel().getBgImg2()); | 
|         } | 
|         if (pageWrap.getModel().getBgImg3() != null) { | 
|             queryWrapper.lambda().eq(BaseData::getBgImg3, pageWrap.getModel().getBgImg3()); | 
|         } | 
|         if (pageWrap.getModel().getPrice() != null) { | 
|             queryWrapper.lambda().eq(BaseData::getPrice, pageWrap.getModel().getPrice()); | 
|         } | 
|         if (pageWrap.getModel().getSaleprice() != null) { | 
|             queryWrapper.lambda().eq(BaseData::getSaleprice, pageWrap.getModel().getSaleprice()); | 
|         } | 
|         if (pageWrap.getModel().getAttr1() != null) { | 
|             queryWrapper.lambda().eq(BaseData::getAttr1, pageWrap.getModel().getAttr1()); | 
|         } | 
|         if (pageWrap.getModel().getAttr2() != null) { | 
|             queryWrapper.lambda().eq(BaseData::getAttr2, pageWrap.getModel().getAttr2()); | 
|         } | 
|         if (pageWrap.getModel().getAttr3() != null) { | 
|             queryWrapper.lambda().eq(BaseData::getAttr3, pageWrap.getModel().getAttr3()); | 
|         } | 
|         if (pageWrap.getModel().getAttr4() != null) { | 
|             queryWrapper.lambda().eq(BaseData::getAttr4, pageWrap.getModel().getAttr4()); | 
|         } | 
|         if (pageWrap.getModel().getAttr5() != null) { | 
|             queryWrapper.lambda().eq(BaseData::getAttr5, pageWrap.getModel().getAttr5()); | 
|         } | 
|         if (pageWrap.getModel().getAttr6() != null) { | 
|             queryWrapper.lambda().eq(BaseData::getAttr6, pageWrap.getModel().getAttr6()); | 
|         } | 
|         if (pageWrap.getModel().getAttr7() != null) { | 
|             queryWrapper.lambda().eq(BaseData::getAttr7, pageWrap.getModel().getAttr7()); | 
|         } | 
|         if (pageWrap.getModel().getAttr8() != null) { | 
|             queryWrapper.lambda().eq(BaseData::getAttr8, pageWrap.getModel().getAttr8()); | 
|         } | 
|         if (pageWrap.getModel().getAttr9() != null) { | 
|             queryWrapper.lambda().eq(BaseData::getAttr9, pageWrap.getModel().getAttr9()); | 
|         } | 
|         if (pageWrap.getModel().getAttr10() != null) { | 
|             queryWrapper.lambda().eq(BaseData::getAttr10, pageWrap.getModel().getAttr10()); | 
|         } | 
|         if (pageWrap.getModel().getAttr11() != null) { | 
|             queryWrapper.lambda().eq(BaseData::getAttr11, pageWrap.getModel().getAttr11()); | 
|         } | 
|         if (pageWrap.getModel().getAttr12() != null) { | 
|             queryWrapper.lambda().eq(BaseData::getAttr12, pageWrap.getModel().getAttr12()); | 
|         } | 
|         if (pageWrap.getModel().getAttr13() != null) { | 
|             queryWrapper.lambda().eq(BaseData::getAttr13, pageWrap.getModel().getAttr13()); | 
|         } | 
|         if (pageWrap.getModel().getAttr14() != null) { | 
|             queryWrapper.lambda().eq(BaseData::getAttr14, pageWrap.getModel().getAttr14()); | 
|         } | 
|         if (pageWrap.getModel().getAttr15() != null) { | 
|             queryWrapper.lambda().eq(BaseData::getAttr15, pageWrap.getModel().getAttr15()); | 
|         } | 
|         if (pageWrap.getModel().getAttr16() != null) { | 
|             queryWrapper.lambda().eq(BaseData::getAttr16, pageWrap.getModel().getAttr16()); | 
|         } | 
|         if (pageWrap.getModel().getAttr17() != null) { | 
|             queryWrapper.lambda().eq(BaseData::getAttr17, pageWrap.getModel().getAttr17()); | 
|         } | 
|         if (pageWrap.getModel().getAttr18() != null) { | 
|             queryWrapper.lambda().eq(BaseData::getAttr18, pageWrap.getModel().getAttr18()); | 
|         } | 
|         if (pageWrap.getModel().getAttr19() != null) { | 
|             queryWrapper.lambda().eq(BaseData::getAttr19, pageWrap.getModel().getAttr19()); | 
|         } | 
|         if (pageWrap.getModel().getAttr20() != null) { | 
|             queryWrapper.lambda().eq(BaseData::getAttr20, pageWrap.getModel().getAttr20()); | 
|         } | 
|         if (pageWrap.getModel().getAttr21() != null) { | 
|             queryWrapper.lambda().eq(BaseData::getAttr21, pageWrap.getModel().getAttr21()); | 
|         } | 
|         if (pageWrap.getModel().getAttr22() != null) { | 
|             queryWrapper.lambda().eq(BaseData::getAttr22, pageWrap.getModel().getAttr22()); | 
|         } | 
|         if (pageWrap.getModel().getAttr23() != null) { | 
|             queryWrapper.lambda().eq(BaseData::getAttr23, pageWrap.getModel().getAttr23()); | 
|         } | 
|         if (pageWrap.getModel().getAttr24() != null) { | 
|             queryWrapper.lambda().eq(BaseData::getAttr24, pageWrap.getModel().getAttr24()); | 
|         } | 
|         if (pageWrap.getModel().getAttr25() != null) { | 
|             queryWrapper.lambda().eq(BaseData::getAttr25, pageWrap.getModel().getAttr25()); | 
|         } | 
|         if (pageWrap.getModel().getAttr26() != null) { | 
|             queryWrapper.lambda().eq(BaseData::getAttr26, pageWrap.getModel().getAttr26()); | 
|         } | 
|         if (pageWrap.getModel().getAttr27() != null) { | 
|             queryWrapper.lambda().eq(BaseData::getAttr27, pageWrap.getModel().getAttr27()); | 
|         } | 
|         if (pageWrap.getModel().getAttr28() != null) { | 
|             queryWrapper.lambda().eq(BaseData::getAttr28, pageWrap.getModel().getAttr28()); | 
|         } | 
|         if (pageWrap.getModel().getAttr29() != null) { | 
|             queryWrapper.lambda().eq(BaseData::getAttr29, pageWrap.getModel().getAttr29()); | 
|         } | 
|         if (pageWrap.getModel().getAttr30() != null) { | 
|             queryWrapper.lambda().eq(BaseData::getAttr30, pageWrap.getModel().getAttr30()); | 
|         } | 
|         if (pageWrap.getModel().getAttr31() != null) { | 
|             queryWrapper.lambda().eq(BaseData::getAttr31, pageWrap.getModel().getAttr31()); | 
|         } | 
|         if (pageWrap.getModel().getAttr32() != null) { | 
|             queryWrapper.lambda().eq(BaseData::getAttr32, pageWrap.getModel().getAttr32()); | 
|         } | 
|         if (pageWrap.getModel().getAttr33() != null) { | 
|             queryWrapper.lambda().eq(BaseData::getAttr33, pageWrap.getModel().getAttr33()); | 
|         } | 
|         if (pageWrap.getModel().getAttr34() != null) { | 
|             queryWrapper.lambda().eq(BaseData::getAttr34, pageWrap.getModel().getAttr34()); | 
|         } | 
|         if (pageWrap.getModel().getStatus() != null) { | 
|             queryWrapper.lambda().eq(BaseData::getStatus, pageWrap.getModel().getStatus()); | 
|         } | 
|         for(PageWrap.SortData sortData: pageWrap.getSorts()) { | 
|             if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { | 
|                 queryWrapper.orderByDesc(sortData.getProperty()); | 
|             } else { | 
|                 queryWrapper.orderByAsc(sortData.getProperty()); | 
|             } | 
|         } | 
|         return PageData.from(baseDataMapper.selectPage(page, queryWrapper)); | 
|     } | 
|   | 
|     @Override | 
|     public long count(BaseData baseData) { | 
|         QueryWrapper<BaseData> wrapper = new QueryWrapper<>(baseData); | 
|         return baseDataMapper.selectCount(wrapper); | 
|     } | 
|     public static   boolean IS_RUNNING = false; | 
|     @Override | 
|     @Transactional | 
|     public   void dealBaseData() { | 
|         if(IS_RUNNING){ | 
|             return; | 
|         } | 
|         log.info("开始处理源数据=================start==================="); | 
|         IS_RUNNING = true; | 
|   | 
|         try { | 
|             BaseData param = new BaseData(); | 
|             param.setStatus(Constants.ZERO); | 
|             List<BaseData> allLis=findList(param); | 
|             if(allLis==null || allLis.size() ==0){ | 
|   | 
|                 log.info("开始处理源数据=================end========无待处理数据==========="); | 
|                 return ; | 
|             } | 
|             Brand brand = new Brand(); | 
|             brand.setIsdeleted(Constants.ZERO); | 
|             brand.setType(Constants.ONE); | 
|             //查询全部品牌信息 | 
|             List<Brand> brandList = brandMapper.selectList(new QueryWrapper<>(brand)); | 
|   | 
|             BaseCategory cate = new BaseCategory(); | 
|             cate.setIsdeleted(Constants.ZERO); | 
|             //查询全部类别信息 | 
|             List<BaseCategory> cateList = baseCategoryMapper.selectList(new QueryWrapper<>(cate)); | 
|             BaseCateParam p = new BaseCateParam(); | 
|             p.setIsdeleted(Constants.ZERO); | 
|             //查询全部类别属性信息 | 
|             List<BaseCateParam> paramList = baseCateParamMapper.selectList(new QueryWrapper<>(p)); | 
|             //默認加价系数 | 
|             BigDecimal rate = systemDictDataBiz.getGoodsPriceRate(); | 
|             OssModel ossModel = initOssModel(); | 
|             Date date = new Date(); | 
|             for(BaseData data : allLis){ | 
|                 BaseGoods goods = new BaseGoods(); | 
|                 goods.setBaseDataId(data.getId()); | 
|                 goods.setIsdeleted(Constants.ZERO); | 
|                 goods.setCreateDate(date); | 
|                 goods.setName(StringUtils.defaultString(data.getName(),data.getTitle())); | 
|                 goods.setRemark(data.getTitle()); | 
|                 goods.setContent(data.getTitle()); | 
|                 goods.setStatus(Constants.ZERO); | 
|                 goods.setShortPinyin(PinYinUtil.getFirstSpell(goods.getName())); | 
|                 goods.setPinyin(PinYinUtil.getFullSpell(goods.getName())); | 
|                 goods.setZdPrice(data.getPrice()); | 
|                 //处理品牌数据 | 
|                 Brand bModel = getBrandModelFromList(data.getBrand(),brandList); | 
|                 if(bModel!= null){ | 
|                     goods.setBrandId(bModel.getId()); | 
|                 } | 
|                 //处理列表数据 | 
|                 BaseCategory cModel = getCateModelFromList(rate,data.getCategory(),ossModel,data.getCategoryImg(), cateList); | 
|                 if(cModel!= null){ | 
|                     goods.setCategoryId(cModel.getId()); | 
|                 } | 
|                 goods.setImgurl(getOssImgurl(ossModel, data.getImgurl())); | 
|                 goods.setPrice(Constants.formatBigdecimal(data.getSaleprice()).multiply(Constants.formatBigdecimal(cModel.getPriceRate()))); | 
|                 //插入新商品数据 | 
|                 baseGoodsMapper.insert(goods); | 
|                 //处理分类属性 | 
|                 dealCateParamAll(cModel.getId(),goods.getId(),data,paramList); | 
|                 //处理背景图 | 
|                 dealBgImgAll(ossModel,goods.getId(),data); | 
|   | 
|                 data.setEditDate(new Date()); | 
|                 data.setStatus(Constants.ONE); | 
|                 //更新数据处理状态 | 
|                 baseDataMapper.updateById(data); | 
|             } | 
|             log.info("开始处理源数据=================success================处理数据共("+allLis.size()+")个==="); | 
|         }catch (Exception e){ | 
|             e.printStackTrace(); | 
|             log.info("开始处理源数据=================error==================="+e.getMessage()); | 
|         }finally { | 
|             IS_RUNNING = false; | 
|             log.info("开始处理源数据=================end==================="); | 
|         } | 
|     } | 
|   | 
|   | 
|     private void dealBgImgAll(OssModel ossModel, Integer id, BaseData data) { | 
|         int i =0; | 
|         i += addImg(i,ossModel,id,data.getBgImg()); | 
|         i += addImg(i,ossModel,id,data.getBgImg2()); | 
|         addImg(i,ossModel,id,data.getBgImg3()); | 
|     } | 
|   | 
|     private int addImg(int i,OssModel ossModel, Integer id,String bgImg) { | 
|         if(StringUtils.isNotBlank(bgImg)){ | 
|             String img =getOssImgurl(ossModel,bgImg); | 
|             if(StringUtils.isNotBlank(img)){ | 
|                 Multifile f = new Multifile(); | 
|                 f.setFileurl(img); | 
|                 f.setObjType(Constants.ZERO); | 
|                 f.setName(bgImg.substring(bgImg.lastIndexOf("/")+1)); | 
|                 f.setType(Constants.ZERO); | 
|                 f.setObjId(id); | 
|                 f.setCreateDate(new Date()); | 
|                 f.setIsdeleted(Constants.ZERO); | 
|                 f.setSortnum(i); | 
|                 multifileMapper.insert(f); | 
|                 return  1; | 
|             } | 
|         } | 
|         return  0; | 
|     } | 
|   | 
|     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.setGoodsFolder(systemDictDataBiz.queryByCode(Constants.OSS, Constants.GOODS_IMG).getCode()); | 
|         return model; | 
|     } | 
|   | 
|   | 
|     private void dealCateParamAll(Integer cateId,Integer goodsId, BaseData data  ,List<BaseCateParam> cateList) { | 
|         Method[] fields = data.getClass().getMethods();    // 获取对象的所有属性 | 
|         for (Method item : fields) { | 
|             String name = item.getName(); | 
|             if(name.indexOf("getAttr") == 0){ | 
|                 try { | 
|                     String val =(String) item.invoke(data); | 
|                     dealCateParam(cateId,goodsId,val.toString(),cateList); | 
|                 } catch (Exception e) { | 
| //                    throw new RuntimeException(e); | 
|                 } | 
|             } | 
|         } | 
|   | 
| //        dealCateParam(cateId,goodsId,data.getAttr1(),cateList); | 
| //        dealCateParam(cateId,goodsId,data.getAttr2(),cateList); | 
| //        dealCateParam(cateId,goodsId,data.getAttr3(),cateList); | 
| //        dealCateParam(cateId,goodsId,data.getAttr4(),cateList); | 
| //        dealCateParam(cateId,goodsId,data.getAttr5(),cateList); | 
| //        dealCateParam(cateId,goodsId,data.getAttr6(),cateList); | 
| //        dealCateParam(cateId,goodsId,data.getAttr7(),cateList); | 
| //        dealCateParam(cateId,goodsId,data.getAttr8(),cateList); | 
| //        dealCateParam(cateId,goodsId,data.getAttr9(),cateList); | 
| //        dealCateParam(cateId,goodsId,data.getAttr10(),cateList); | 
| //        dealCateParam(cateId,goodsId,data.getAttr11(),cateList); | 
| //        dealCateParam(cateId,goodsId,data.getAttr12(),cateList); | 
| //        dealCateParam(cateId,goodsId,data.getAttr13(),cateList); | 
| //        dealCateParam(cateId,goodsId,data.getAttr14(),cateList); | 
| //        dealCateParam(cateId,goodsId,data.getAttr15(),cateList); | 
| //        dealCateParam(cateId,goodsId,data.getAttr16(),cateList); | 
| //        dealCateParam(cateId,goodsId,data.getAttr17(),cateList); | 
| //        dealCateParam(cateId,goodsId,data.getAttr18(),cateList); | 
| //        dealCateParam(cateId,goodsId,data.getAttr19(),cateList); | 
| //        dealCateParam(cateId,goodsId,data.getAttr20(),cateList); | 
| //        dealCateParam(cateId,goodsId,data.getAttr21(),cateList); | 
| //        dealCateParam(cateId,goodsId,data.getAttr22(),cateList); | 
| //        dealCateParam(cateId,goodsId,data.getAttr23(),cateList); | 
| //        dealCateParam(cateId,goodsId,data.getAttr24(),cateList); | 
| //        dealCateParam(cateId,goodsId,data.getAttr25(),cateList); | 
| //        dealCateParam(cateId,goodsId,data.getAttr26(),cateList); | 
| //        dealCateParam(cateId,goodsId,data.getAttr27(),cateList); | 
| //        dealCateParam(cateId,goodsId,data.getAttr28(),cateList); | 
| //        dealCateParam(cateId,goodsId,data.getAttr29(),cateList); | 
| //        dealCateParam(cateId,goodsId,data.getAttr30(),cateList); | 
| //        dealCateParam(cateId,goodsId,data.getAttr31(),cateList); | 
| //        dealCateParam(cateId,goodsId,data.getAttr32(),cateList); | 
| //        dealCateParam(cateId,goodsId,data.getAttr33(),cateList); | 
| //        dealCateParam(cateId,goodsId,data.getAttr34(),cateList); | 
|     } | 
|   | 
|     private void dealCateParam(Integer cateId, Integer goodsId, String attr,List<BaseCateParam> list) { | 
|         if(StringUtils.isBlank(attr)){ | 
|             return; | 
|         } | 
| //        商品名称:火星人F30BX | 
|         //如果属性不为空,处理属性数据 | 
|         int index  = attr.indexOf(":"); | 
|         if(index <=0){ | 
|             return; | 
|         } | 
|         String attrName = attr.substring(0,index); | 
|         if(StringUtils.isBlank(attrName) || StringUtils.equals(attrName, "商品名称") || StringUtils.equals(attrName, "商品编号")){ | 
|             return; | 
|         } | 
|         String val = attr.substring(index+1); | 
|         BaseCateParam cate = getCateParamModelFromList(cateId,attrName, list); | 
|         BaseGoodsParam p = new BaseGoodsParam(); | 
|         p.setName(attrName); | 
|         p.setPramaId(cate.getId()); | 
|         p.setIsdeleted(Constants.ZERO); | 
|         p.setStatus(Constants.ZERO); | 
|         p.setVal(val); | 
|         p.setCreateDate(new Date()); | 
|         p.setGoodsId(goodsId); | 
|         baseGoodsParamMapper.insert(p); | 
|     } | 
|   | 
|     /** | 
|      * 根据品类编码和参数名称查询参数对象,没有则插入新的 | 
|      * @param list | 
|      * @return | 
|      */ | 
|   | 
|     private BaseCateParam getCateParamModelFromList(Integer id,String name, List<BaseCateParam> list) { | 
|         if(list!=null && list.size()>0){ | 
|             for(BaseCateParam p : list){ | 
|                 if(Constants.equalsInteger(id,p.getCategoryId()) && StringUtils.equals(name,p.getName())){ | 
|                     return  p; | 
|                 } | 
|             } | 
|         } | 
|         BaseCateParam model = new BaseCateParam(); | 
|         model.setCreateDate(new Date()); | 
|         model.setName(name); | 
|         model.setIsdeleted(Constants.ZERO); | 
|         model.setCategoryId(id); | 
|         //插入新的品牌信息 | 
|         baseCateParamMapper.insert(model); | 
|         //加入集合中 | 
|         list.add(model); | 
|         return model; | 
|     } | 
|     /** | 
|      * 根据品牌名称查询品牌对象,没有则插入新的 | 
|      * @param name | 
|      * @param brandList | 
|      * @return | 
|      */ | 
|   | 
|     private Brand getBrandModelFromList(String name, List<Brand> brandList) { | 
|         if(StringUtils.isBlank(name)){ | 
|             return null; | 
|         } | 
|         if(brandList!=null && brandList.size()>0){ | 
|             for(Brand brand : brandList){ | 
|                 if(StringUtils.equals(name,brand.getName())){ | 
|                     return  brand; | 
|                 } | 
|             } | 
|         } | 
|         Brand model = new Brand(); | 
|         model.setType(Constants.ONE); | 
|         model.setCreateDate(new Date()); | 
|         model.setName(name); | 
|         model.setIsdeleted(Constants.ZERO); | 
|         model.setImgurl(null); | 
|         //插入新的品牌信息 | 
|         brandMapper.insert(model); | 
|         //加入集合中 | 
|         brandList.add(model); | 
|         return model; | 
|     } | 
|     /** | 
|      * 根据名称查询分类对象,没有则插入新的 | 
|      * @param name | 
|      * @param list | 
|      * @return | 
|      */ | 
|   | 
|     private BaseCategory getCateModelFromList(BigDecimal dRate,String name, OssModel ossModel, String img, List<BaseCategory> list) { | 
|         if(StringUtils.isBlank(name)){ | 
|             return  null; | 
|         } | 
|         if(list!=null && list.size()>0){ | 
|             for(BaseCategory p : list){ | 
|                 if(StringUtils.equals(name,p.getName())){ | 
|                     return  p; | 
|                 } | 
|             } | 
|         } | 
|         BaseCategory model = new BaseCategory(); | 
|         model.setCreateDate(new Date()); | 
|         model.setName(name); | 
|         model.setPriceRate(dRate); | 
|         model.setIsdeleted(Constants.ZERO); | 
|         model.setPinyin(PinYinUtil.getFullSpell(model.getName())); | 
|         model.setShortPinyin(PinYinUtil.getFirstSpell(model.getName())); | 
|         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; | 
|     } | 
| } |