admin
2020-05-20 98b1a0affd69bbe63223c21fdd2c404e8bedfccb
fanli/src/main/java/com/yeshi/fanli/service/impl/lable/LabelGoodsServiceImpl.java
@@ -6,19 +6,18 @@
import java.util.List;
import javax.annotation.Resource;
import javax.transaction.Transactional;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.yeshi.fanli.dao.mybatis.lable.LabelGoodsMapper;
import com.yeshi.fanli.dao.mybatis.lable.QualityFactoryMapper;
import com.yeshi.fanli.entity.bus.lable.Label;
import com.yeshi.fanli.entity.bus.lable.LabelGoods;
import com.yeshi.fanli.entity.bus.lable.QualityFactory;
import com.yeshi.fanli.entity.common.AdminUser;
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
import com.yeshi.fanli.exception.LabelClassException;
import com.yeshi.fanli.exception.LabelGoodsException;
import com.yeshi.fanli.exception.goods.quality.LabelClassException;
import com.yeshi.fanli.exception.goods.quality.LabelGoodsException;
import com.yeshi.fanli.service.inter.goods.TaoBaoGoodsBriefService;
import com.yeshi.fanli.service.inter.lable.LabelGoodsService;
import com.yeshi.fanli.service.inter.lable.LabelService;
@@ -44,38 +43,24 @@
   private TaoBaoGoodsBriefService taoBaoGoodsBriefService;
   @Override
   public int insert(LabelGoods record) throws LabelGoodsException{
      return labelGoodsMapper.insert(record);
   }
   @Override
   public int updateByPrimaryKey(LabelGoods record) throws LabelGoodsException{
      // TODO Auto-generated method stub
      return labelGoodsMapper.updateByPrimaryKey(record);
   }
   @Override
   public int updateByPrimaryKeySelective(LabelGoods record) throws LabelGoodsException{
      // TODO Auto-generated method stub
      return labelGoodsMapper.updateByPrimaryKeySelective(record);
   public int insertSelective(LabelGoods record) throws LabelGoodsException{
      return labelGoodsMapper.insertSelective(record);
   }
   @Override
   public int deleteByPrimaryKey(Long id) throws LabelGoodsException{
      // TODO Auto-generated method stub
      return labelGoodsMapper.deleteByPrimaryKey(id);
   }
   
   @Override
   @Transactional
   @Transactional(rollbackFor=Exception.class)
   public int deleteBatchById(long[] ids) throws LabelGoodsException{
      return labelGoodsMapper.deleteBatchByPrimaryKey(ids);
   }
   
   @Override
   @Transactional
   @Transactional(rollbackFor=Exception.class)
   public void deleteByGoodsId(List<String> ids) throws LabelGoodsException {
      
      if (ids != null && ids.size() > 0) {
@@ -101,7 +86,6 @@
   @Override
   public LabelGoods selectByPrimaryKey(Long id) throws LabelGoodsException{
      // TODO Auto-generated method stub
      return labelGoodsMapper.selectByPrimaryKey(id);
   }
   
@@ -111,147 +95,8 @@
   }
   
   
   @Override
   @Transactional
   public void setGoodsLabel(String [] arrtitle, List<String> auctionIdList, AdminUser admin) throws Exception{
      // TODO Auto-generated method stub
      Date nowTime = new Date();
      for (String title: arrtitle) {
         /*   遍历标签名称:查询数据库中是否已存在    */
         Label label = null;
         List<Label> labels = labelService.selectByTitle(title.trim());
         if (labels == null || labels.size() == 0) {
            label = labels.get(0);
         } else {
            // 新增
            label =  new Label();
            label.setTitle(title);// 名称
            label.setEntrymode(Label.MODE_EXCEL); // 批量录入
            label.setCreatetime(nowTime);
            label.setUpdatetime(nowTime);
            label.setCreateUser(admin);
            label.setIosClick(0l);
            label.setAndroidClick(0l);
            labelService.insertSelective(label);
         }
         /*  各个商品贴上标签       */
         for (String id: auctionIdList) {
            long gid = Long.parseLong(id);
            TaoBaoGoodsBrief goodsBrief =  taoBaoGoodsBriefService.selectByPrimaryKey(Long.parseLong(id));
            if (goodsBrief != null) {
               /*  贴上标签 : 已贴不处理则   */
               Long existence = labelGoodsMapper.isExistence(gid, label.getId());
               // 该商品不存在此标签则添加, 反之不做处理
               if (existence == null || existence == 0l) {
                  // 贴上新标签
                  LabelGoods  lg = new LabelGoods();
                  lg.setLabel(label);
                  lg.setCreateUser(admin);
                  lg.setCreatetime(nowTime);
                  lg.setTaoBaoGoodsBrief(goodsBrief);
                  labelGoodsMapper.insertSelective(lg);
               }
            }
         }
      }
   }
   @Override
   @Transactional
   public void addBatchRandom(String[] arrtitle, List<String> idList, AdminUser admin,
         Integer weight,   Integer weightSmall, Integer weightLarge) throws Exception{
      // 默认 50
      int resultWeight = 50;
      if (weight != null) {
         resultWeight = weight;
      } else {
         if (weightSmall != null && weightLarge != null) {
            resultWeight = weightSmall + (int)(Math.random() * ((weightLarge - weightSmall) + 1));
         }
      }
      Date nowTime = new Date();
      for (String title: arrtitle) {
         /*   遍历标签名称:查询数据库中是否已存在    */
         Label label = null;
         List<Label> labels = labelService.selectByTitle(title.trim());
         if (labels == null || labels.size() == 0) {
            label = labels.get(0);
         } else {
            // 新增
            label =  new Label();
            label.setTitle(title);// 名称
            label.setEntrymode(Label.MODE_EXCEL); // 批量录入
            label.setCreatetime(nowTime);
            label.setUpdatetime(nowTime);
            label.setCreateUser(admin);
            label.setIosClick(0l);
            label.setAndroidClick(0l);
            labelService.insertSelective(label);
         }
         for (String sid: idList) {
            Long selectId = Long.parseLong(sid);
            QualityFactory selectionGoods = selectionGoodsMapper.selectByPrimaryKey(selectId);
            if (selectionGoods == null ) {
               continue;
            }
            TaoBaoGoodsBrief taoBaoGoodsBrief = selectionGoods.getTaoBaoGoodsBrief();
            if (taoBaoGoodsBrief == null ) {
               continue;
            }
            /*  贴上标签 : 已贴不处理则   */
            Long existence = labelGoodsMapper.isExistence(taoBaoGoodsBrief.getId(), label.getId());
            // 该商品不存在此标签则添加, 反之不做处理
            if (existence == null || existence == 0l) {
               // 贴上新标签
               LabelGoods  lg = new LabelGoods();
               lg.setLabel(label);
               lg.setCreateUser(admin);
               lg.setCreatetime(nowTime);
               lg.setTaoBaoGoodsBrief(taoBaoGoodsBrief);
               labelGoodsMapper.insertSelective(lg);
            }
            // 修改权重
            selectionGoods.setUpdateUser(admin);
            selectionGoods.setUpdatetime(nowTime);
            selectionGoods.setWeight(resultWeight);
            selectionGoodsMapper.insertSelective(selectionGoods);
         }
      }
   }
   @Override
   public List<LabelGoods> queryByGoodsId(int start, int count, Long goodsId) throws LabelClassException {
      // TODO Auto-generated method stub
      return labelGoodsMapper.queryByGoodsId(start, count, goodsId);
   }
   
@@ -281,7 +126,7 @@
   
   
   @Override
   @Transactional
   @Transactional(rollbackFor=Exception.class)
   public void addBatchByLabId(TaoBaoGoodsBrief taoBaoGoodsBrief, List<String> labIdList, AdminUser admin) throws Exception {
      
      List<LabelGoods> addList  = new ArrayList<LabelGoods>();
@@ -310,7 +155,7 @@
   
   
   @Override
   @Transactional
   @Transactional(rollbackFor=Exception.class)
   public void batchGoodsAddLables(List<Long> goodsIdList, List<Long> labIdList, AdminUser admin) throws Exception {
      
      /* 商品id 为空  不处理   */ 
@@ -372,7 +217,7 @@
      
   @Override
   @Transactional
   @Transactional(rollbackFor=Exception.class)
   public void singleGoodsAddLables(Long goodsId, List<Long> labIdList, AdminUser admin) throws Exception {
      
      /* 商品id 为空  不处理   */