admin
2025-02-25 30d8e227e8d823b6c38c3b9c90ac2df03b63befe
fanli/src/main/java/com/yeshi/fanli/service/impl/goods/CommonGoodsServiceImpl.java
@@ -1,154 +1,189 @@
package com.yeshi.fanli.service.impl.goods;
import java.util.Date;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.yeshi.utils.StringUtil;
import com.yeshi.fanli.dao.mybatis.goods.CommonGoodsMapper;
import com.yeshi.fanli.entity.goods.CommonGoods;
import com.yeshi.fanli.exception.goods.CommonGoodsException;
import com.yeshi.fanli.service.inter.goods.CommonGoodsService;
@Service
public class CommonGoodsServiceImpl implements CommonGoodsService {
   @Resource
   private CommonGoodsMapper commonGoodsMapper;
   /**
    * 验证数据正确性
    *
    * @param commonGoods
    * @throws CommonGoodsException
    */
   private void filterCommonGoods(CommonGoods commonGoods) throws CommonGoodsException {
      // 判断信息是否完成
      if (commonGoods == null)
         throw new CommonGoodsException(1, "商品信息为空");
      if (commonGoods.getGoodsId() == null)
         throw new CommonGoodsException(1, "商品信息不完整");
      if (commonGoods.getGoodsType() == null)
         throw new CommonGoodsException(1, "商品信息不完整");
      if (StringUtil.isNullOrEmpty(commonGoods.getPicture()))
         throw new CommonGoodsException(1, "商品信息不完整");
      if (commonGoods.getPrice() == null)
         throw new CommonGoodsException(1, "商品信息不完整");
      if (commonGoods.getRate() == null)
         throw new CommonGoodsException(1, "商品信息不完整");
      if (commonGoods.getSales() == null)
         throw new CommonGoodsException(1, "商品信息不完整");
      if (commonGoods.getSellerId() == null)
         throw new CommonGoodsException(1, "商品信息不完整");
      if (commonGoods.getSellerName() == null)
         throw new CommonGoodsException(1, "商品信息不完整");
      if (commonGoods.getShopType() == null)
         throw new CommonGoodsException(1, "商品信息不完整");
      if (StringUtil.isNullOrEmpty(commonGoods.getTitle()))
         throw new CommonGoodsException(1, "商品信息不完整");
   }
   @Override
   public CommonGoods addOrUpdateCommonGoods(CommonGoods commonGoods) throws CommonGoodsException {
      filterCommonGoods(commonGoods);
      CommonGoods goods = commonGoodsMapper.selectByGoodsIdAndGoodsType(commonGoods.getGoodsId(),
            commonGoods.getGoodsType());
      if (goods != null) {
         updateCommonGoods(commonGoods);
         commonGoods.setId(goods.getId());
         return commonGoods;
      }
      commonGoods.setCreateTime(new Date());
      commonGoods.setUpdateTime(new Date());
      commonGoodsMapper.insertSelective(commonGoods);
      return commonGoods;
   }
   @Override
   public CommonGoods addCommonGoods(CommonGoods commonGoods) throws CommonGoodsException {
      filterCommonGoods(commonGoods);
      CommonGoods goods = commonGoodsMapper.selectByGoodsIdAndGoodsType(commonGoods.getGoodsId(),
            commonGoods.getGoodsType());
      if (goods != null) {
         commonGoods.setId(goods.getId());
         return commonGoods;
      }
      commonGoods.setCreateTime(new Date());
      commonGoods.setUpdateTime(new Date());
      commonGoodsMapper.insertSelective(commonGoods);
      return commonGoods;
   }
   @Override
   public void updateCommonGoods(CommonGoods commonGoods) throws CommonGoodsException {
      // 判断信息是否完整
      filterCommonGoods(commonGoods);
      CommonGoods goods = commonGoodsMapper.selectByGoodsIdAndGoodsType(commonGoods.getGoodsId(),
            commonGoods.getGoodsType());
      if (goods == null) {
         throw new CommonGoodsException(3, "商品不存在");
      }
      // 更新商品信息
      commonGoods.setId(goods.getId());
      commonGoods.setCreateTime(null);
      commonGoods.setUpdateTime(new Date());
      commonGoodsMapper.updateByPrimaryKeySelective(commonGoods);
   }
   @Override
   public void offlineCommonGoods(Long goodsId, int goodsType) {
      CommonGoods goods = commonGoodsMapper.selectByGoodsIdAndGoodsType(goodsId, goodsType);
      if (goods == null)
         return;
      CommonGoods update = new CommonGoods();
      update.setId(goods.getId());
      update.setUpdateTime(new Date());
      update.setState(CommonGoods.STATE_OFFLINE);
      commonGoodsMapper.updateByPrimaryKeySelective(update);
   }
   @Override
   public CommonGoods getCommonGoodsByGoodsIdAndGoodsType(Long goodsId, int goodsType) {
      return commonGoodsMapper.selectByGoodsIdAndGoodsType(goodsId, goodsType);
   }
   @Override
   @Transactional
   public void updateBatchCommonGoods(List<CommonGoods> listCommonGoods) {
      if (listCommonGoods == null || listCommonGoods.size() == 0) {
         return;
      }
      for (CommonGoods commonGoods: listCommonGoods) {
         try {
            updateCommonGoods(commonGoods);
         } catch (Exception e) {
            e.printStackTrace();
         }
      }
   }
   @Override
   @Transactional
   public void addBatchCommonGoods(List<CommonGoods> listCommonGoods) {
      if (listCommonGoods == null || listCommonGoods.size() == 0) {
         return;
      }
      for (CommonGoods commonGoods: listCommonGoods) {
         try {
            addCommonGoods(commonGoods);
         } catch (Exception e) {
            e.printStackTrace();
         }
      }
   }
}
package com.yeshi.fanli.service.impl.goods;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.annotation.Resource;
import com.yeshi.fanli.util.CommonGoodsUtil;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.yeshi.utils.StringUtil;
import com.yeshi.fanli.dao.mybatis.goods.CommonGoodsMapper;
import com.yeshi.fanli.entity.goods.CommonGoods;
import com.yeshi.fanli.exception.goods.CommonGoodsException;
import com.yeshi.fanli.service.inter.goods.CommonGoodsService;
@Service
public class CommonGoodsServiceImpl implements CommonGoodsService {
    @Resource
    private CommonGoodsMapper commonGoodsMapper;
    @Override
    public CommonGoods selectByPrimaryKey(Long id) {
        return commonGoodsMapper.selectByPrimaryKey(id);
    }
    /**
     * 验证数据正确性
     *
     * @param commonGoods
     * @throws CommonGoodsException
     */
    private void filterCommonGoods(CommonGoods commonGoods) throws CommonGoodsException {
        // 判断信息是否完成
        if (commonGoods == null)
            throw new CommonGoodsException(1, "商品信息为空");
        if (commonGoods.getGoodsId() == null)
            throw new CommonGoodsException(1, "商品信息不完整");
        if (commonGoods.getGoodsType() == null)
            throw new CommonGoodsException(1, "商品信息不完整");
        if (StringUtil.isNullOrEmpty(commonGoods.getPicture()))
            throw new CommonGoodsException(1, "商品信息不完整");
        if (commonGoods.getPrice() == null)
            throw new CommonGoodsException(1, "商品信息不完整");
        if (commonGoods.getRate() == null)
            throw new CommonGoodsException(1, "商品信息不完整");
        if (commonGoods.getSales() == null)
            throw new CommonGoodsException(1, "商品信息不完整");
        if (commonGoods.getSellerId() == null)
            throw new CommonGoodsException(1, "商品信息不完整");
        if (commonGoods.getSellerName() == null)
            throw new CommonGoodsException(1, "商品信息不完整");
        if (commonGoods.getShopType() == null)
            throw new CommonGoodsException(1, "商品信息不完整");
        if (StringUtil.isNullOrEmpty(commonGoods.getTitle()))
            throw new CommonGoodsException(1, "商品信息不完整");
    }
    @Override
    public CommonGoods addOrUpdateCommonGoods(CommonGoods commonGoods) throws CommonGoodsException {
        // 验证数据完整性
        filterCommonGoods(commonGoods);
        CommonGoods goods = commonGoodsMapper.selectByGoodsIdAndGoodsType(commonGoods.getGoodsId(),
                commonGoods.getGoodsType());
        if (goods != null) {
            updateCommonGoods(commonGoods);
            commonGoods.setId(goods.getId());
            return commonGoods;
        }
        commonGoods.setCreateTime(new Date());
        commonGoods.setUpdateTime(new Date());
        commonGoodsMapper.insertSelective(commonGoods);
        return commonGoods;
    }
    @Override
    public CommonGoods addCommonGoods(CommonGoods commonGoods) throws CommonGoodsException {
        // 验证数据完整性
        filterCommonGoods(commonGoods);
        CommonGoods goods = commonGoodsMapper.selectByGoodsIdAndGoodsType(commonGoods.getGoodsId(),
                commonGoods.getGoodsType());
        if (goods != null) {
            commonGoods.setId(goods.getId());
            return commonGoods;
        }
        commonGoods.setCreateTime(new Date());
        commonGoods.setUpdateTime(new Date());
        commonGoodsMapper.insertSelective(commonGoods);
        return commonGoods;
    }
    @Override
    public void updateCommonGoods(CommonGoods commonGoods) throws CommonGoodsException {
        // 判断信息是否完整
        filterCommonGoods(commonGoods);
        CommonGoods goods = commonGoodsMapper.selectByGoodsIdAndGoodsType(commonGoods.getGoodsId(),
                commonGoods.getGoodsType());
        if (goods == null) {
            throw new CommonGoodsException(3, "商品不存在");
        }
        // 更新商品信息
        commonGoods.setId(goods.getId());
        commonGoods.setCreateTime(null);
        commonGoods.setUpdateTime(new Date());
        commonGoodsMapper.updateByPrimaryKeySelective(commonGoods);
    }
    @Override
    public void offlineCommonGoods(String goodsId, Integer goodsType) {
        CommonGoods goods = commonGoodsMapper.selectByGoodsIdAndGoodsType(CommonGoodsUtil.getGoodsId(goodsId, goodsType), goodsType);
        if (goods == null)
            return;
        CommonGoods update = new CommonGoods();
        update.setId(goods.getId());
        update.setUpdateTime(new Date());
        update.setState(CommonGoods.STATE_OFFLINE);
        commonGoodsMapper.updateByPrimaryKeySelective(update);
    }
    @Override
    public CommonGoods getCommonGoodsByGoodsIdAndGoodsType(String goodsId, Integer goodsType) {
        return commonGoodsMapper.selectByGoodsIdAndGoodsType(CommonGoodsUtil.getGoodsId(goodsId, goodsType), goodsType);
    }
    @Override
    @Transactional
    public void updateBatchCommonGoods(List<CommonGoods> listCommonGoods) {
        if (listCommonGoods == null || listCommonGoods.size() == 0) {
            return;
        }
        for (CommonGoods commonGoods : listCommonGoods) {
            try {
                updateCommonGoods(commonGoods);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
    @Override
    @Transactional
    public void addBatchCommonGoods(List<CommonGoods> listCommonGoods) {
        if (listCommonGoods == null || listCommonGoods.size() == 0) {
            return;
        }
        for (CommonGoods commonGoods : listCommonGoods) {
            try {
                addCommonGoods(commonGoods);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
    @Override
    public List<CommonGoods> listBySellerId(Long sellerId, Integer goodsType) {
        return commonGoodsMapper.listBySellerId(sellerId, goodsType);
    }
    @Override
    public long countBySellerIdAndHasCoupon(Long sellerId, Integer goodsType) {
        return commonGoodsMapper.countBySellerIdAndHasCoupon(sellerId, goodsType);
    }
    @Override
    public List<CommonGoods> getByListGoodsId(List<String> list, Integer goodsType) {
        List<String> goodsIdList = new ArrayList<>();
        for (String st : list) {
            goodsIdList.add(CommonGoodsUtil.getGoodsId(st, goodsType));
        }
        return commonGoodsMapper.getByListGoodsId(goodsIdList, goodsType);
    }
}