admin
2025-02-25 30d8e227e8d823b6c38c3b9c90ac2df03b63befe
fanli/src/main/java/com/yeshi/fanli/service/impl/goods/TaoBaoClassServiceImpl.java
@@ -1,172 +1,113 @@
package com.yeshi.fanli.service.impl.goods;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.yeshi.fanli.dao.mybatis.TaoBaoClassMapper;
import com.yeshi.fanli.dao.mybatis.TaoBaoClassRelationMapper;
import com.yeshi.fanli.entity.bus.clazz.TaoBaoClass;
import com.yeshi.fanli.entity.bus.clazz.TaoBaoClassRelation;
import com.yeshi.fanli.service.inter.goods.TaoBaoClassService;
import com.yeshi.fanli.util.StringUtil;
@Service
public class TaoBaoClassServiceImpl implements TaoBaoClassService {
   @Resource
   private TaoBaoClassMapper taoBaoClassMapper;
   @Resource
   private TaoBaoClassRelationMapper taoBaoClassRelationMapper;
   @Override
   public List<TaoBaoClass> listBySystemCid(long start, int count, Long systemCid) {
      return taoBaoClassMapper.listBySystemCid(start, count, systemCid);
   }
   @Override
   public String getTaoBaoCatIds(Long classId) {
      List<TaoBaoClass> listCatIds = listBySystemCid(0, 10, classId);
      if (listCatIds == null || listCatIds.size() == 0) {
         return null;
      }
      String taobaoCatIds = "";
      for (TaoBaoClass taoBaoClass : listCatIds) {
         Integer categoryId = taoBaoClass.getCategoryId();
         if (categoryId == null) {
            continue;
         }
         taobaoCatIds += categoryId + ",";
      }
      if (!StringUtil.isNullOrEmpty(taobaoCatIds)) {
         taobaoCatIds = taobaoCatIds.substring(0, taobaoCatIds.length() - 1);
      }
      return taobaoCatIds;
   }
   @Override
   public TaoBaoClass getByCategoryId(Integer categoryId) {
      return taoBaoClassMapper.getByCategoryId(categoryId);
   }
   @Override
   @Transactional
   public void save(Long classId, String taobaoCids) {
      if (StringUtil.isNullOrEmpty(taobaoCids) || "null".equalsIgnoreCase(taobaoCids)) {
         return;
      }
      List<Long> listId = new ArrayList<Long>();
      List<TaoBaoClass> listExist = taoBaoClassMapper.listBySystemCid(0, Integer.MAX_VALUE, classId);
      if (listExist != null && listExist.size() > 0) {
         for (TaoBaoClass taoBaoClass : listExist) {
            listId.add(taoBaoClass.getId());
         }
      }
      String[] array = taobaoCids.split(",");
      for (String info : array) {
         if (StringUtil.isNullOrEmpty(info)) {
            continue;
         }
         try {
            String[] taobaoArray = info.split("-");
            Integer categoryId = Integer.parseInt(taobaoArray[1]);
            if (listExist != null && listExist.size() > 0) {
               for (int i = 0; i < listExist.size(); i++) {
                  TaoBaoClass taoBaoClass = listExist.get(i);
                  Integer categoryId2 = taoBaoClass.getCategoryId();
                  if (categoryId == categoryId2 || categoryId.equals(categoryId2)) {
                     if (listId.size() > 0) {
                        listId.remove(taoBaoClass.getId());
                        listExist.remove(i);
                        i--;
                     }
                  }
               }
            }
            TaoBaoClass tbClass = taoBaoClassMapper.getByCategoryId(Integer.parseInt(taobaoArray[1]));
            if (tbClass == null) {
               tbClass = new TaoBaoClass();
               tbClass.setCategoryName(taobaoArray[0].trim());
               tbClass.setCategoryId(Integer.parseInt(taobaoArray[1].trim()));
               tbClass.setCreatetime(new Date());
               tbClass.setUpdatetime(new Date());
               taoBaoClassMapper.insert(tbClass);
            }
            TaoBaoClassRelation relation = taoBaoClassRelationMapper.getByLocalCid(tbClass.getId());
            if (relation != null) {
               if (classId.equals(relation.getCid()) || classId == relation.getCid()) {
                  continue;
               }
               TaoBaoClassRelation updateRelation = new TaoBaoClassRelation();
               updateRelation.setId(relation.getId());
               updateRelation.setCid(classId);
               updateRelation.setUpdatetime(new Date());
               taoBaoClassRelationMapper.updateByPrimaryKeySelective(updateRelation);
            } else {
               relation = new TaoBaoClassRelation();
               relation.setCid(classId);
               relation.setTaobaoCid(tbClass.getId());
               relation.setCreatetime(new Date());
               relation.setUpdatetime(new Date());
               relation.setWeight(0.0);
               taoBaoClassRelationMapper.insertSelective(relation);
            }
         } catch (Exception e) {
            e.printStackTrace();
         }
      }
      if (listId.size() > 0) {
         for (Long id : listId) {
            taoBaoClassMapper.deleteByPrimaryKey(id);
            taoBaoClassRelationMapper.deleteRelationByLocalCid(id);
         }
      }
   }
   @Transactional
   @Override
   public void saveSub(Long subClassId, List<Long> taobaoCids) {
      if (taobaoCids == null || taobaoCids.size() == 0) {
         return;
      }
      // 删除之前的,插入现在的
      taoBaoClassRelationMapper.deleteBySubId(subClassId);
      for (Long categoryId : taobaoCids) {
         TaoBaoClass taoBaoClass = taoBaoClassMapper.getByCategoryId(Integer.parseInt(categoryId + ""));
         if (taoBaoClass == null)
            continue;
         TaoBaoClassRelation relation = new TaoBaoClassRelation();
         relation.setSubId(subClassId);
         relation.setTaobaoCid(taoBaoClass.getId());
         relation.setCreatetime(new Date());
         relation.setUpdatetime(new Date());
         relation.setWeight(0.0);
         taoBaoClassRelationMapper.insertSelective(relation);
      }
   }
   @Override
   public List<TaoBaoClass> listBySystemSubCid(long start, int count, Long systemSubCid) {
      return taoBaoClassMapper.listBySystemSubCid(start, count, systemSubCid);
   }
}
package com.yeshi.fanli.service.impl.goods;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.yeshi.fanli.dao.mybatis.TaoBaoClassMapper;
import com.yeshi.fanli.dao.mybatis.TaoBaoClassRelationMapper;
import com.yeshi.fanli.entity.bus.clazz.TaoBaoClass;
import com.yeshi.fanli.entity.bus.clazz.TaoBaoClassRelation;
import com.yeshi.fanli.service.inter.goods.TaoBaoClassService;
import com.yeshi.fanli.util.StringUtil;
@Service
public class TaoBaoClassServiceImpl implements TaoBaoClassService {
   @Resource
   private TaoBaoClassMapper taoBaoClassMapper;
   @Resource
   private TaoBaoClassRelationMapper taoBaoClassRelationMapper;
   @Override
   public List<TaoBaoClass> listBySystemCid(long start, int count, Long systemCid) {
      return taoBaoClassMapper.listBySystemCid(start, count, systemCid);
   }
   @Override
   public String getTaoBaoCatIds(Long classId) {
      List<TaoBaoClass> listCatIds = listBySystemCid(0, 10, classId);
      if (listCatIds == null || listCatIds.size() == 0) {
         return null;
      }
      String taobaoCatIds = "";
      for (TaoBaoClass taoBaoClass : listCatIds) {
         Integer categoryId = taoBaoClass.getCategoryId();
         if (categoryId == null) {
            continue;
         }
         taobaoCatIds += categoryId + ",";
      }
      if (!StringUtil.isNullOrEmpty(taobaoCatIds)) {
         taobaoCatIds = taobaoCatIds.substring(0, taobaoCatIds.length() - 1);
      }
      return taobaoCatIds;
   }
   @Override
   public TaoBaoClass getByCategoryId(Integer categoryId) {
      return taoBaoClassMapper.getByCategoryId(categoryId);
   }
   @Override
   @Transactional
   public void save(Long classId, List<Long> taobaoCids) {
      if (taobaoCids == null) {
         return;
      }
      // 删除之前的,插入现在的
      taoBaoClassRelationMapper.deleteByCid(classId);
      for (Long categoryId : taobaoCids) {
         TaoBaoClass taoBaoClass = taoBaoClassMapper.getByCategoryId(Integer.parseInt(categoryId + ""));
         if (taoBaoClass == null)
            continue;
         TaoBaoClassRelation relation = new TaoBaoClassRelation();
         relation.setCid(classId);
         relation.setTaobaoCid(taoBaoClass.getId());
         relation.setCreatetime(new Date());
         relation.setUpdatetime(new Date());
         relation.setWeight(0.0);
         taoBaoClassRelationMapper.insertSelective(relation);
      }
   }
   @Transactional
   @Override
   public void saveSub(Long subClassId, List<Long> taobaoCids) {
      if (taobaoCids == null) {
         return;
      }
      // 删除之前的,插入现在的
      taoBaoClassRelationMapper.deleteBySubId(subClassId);
      for (Long categoryId : taobaoCids) {
         TaoBaoClass taoBaoClass = taoBaoClassMapper.getByCategoryId(Integer.parseInt(categoryId + ""));
         if (taoBaoClass == null)
            continue;
         TaoBaoClassRelation relation = new TaoBaoClassRelation();
         relation.setSubId(subClassId);
         relation.setTaobaoCid(taoBaoClass.getId());
         relation.setCreatetime(new Date());
         relation.setUpdatetime(new Date());
         relation.setWeight(0.0);
         taoBaoClassRelationMapper.insertSelective(relation);
      }
   }
   @Override
   public List<TaoBaoClass> listBySystemSubCid(long start, int count, Long systemSubCid) {
      return taoBaoClassMapper.listBySystemSubCid(start, count, systemSubCid);
   }
}