admin
2025-02-25 30d8e227e8d823b6c38c3b9c90ac2df03b63befe
fanli/src/main/java/com/yeshi/fanli/service/impl/shop/BanLiShopGoodsSetServiceImpl.java
@@ -1,150 +1,210 @@
package com.yeshi.fanli.service.impl.shop;
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.shop.BanLiShopGoodsSetsMapper;
import com.yeshi.fanli.entity.shop.BanLiShopGoodsSets;
import com.yeshi.fanli.entity.shop.BanLiShopGoodsSetsPay;
import com.yeshi.fanli.exception.shop.BanLiShopGoodsSetException;
import com.yeshi.fanli.exception.shop.BanLiShopGoodsSetPayException;
import com.yeshi.fanli.service.inter.shop.BanLiShopGoodsSetPayService;
import com.yeshi.fanli.service.inter.shop.BanLiShopGoodsSetService;
import com.yeshi.fanli.util.StringUtil;
@Service
public class BanLiShopGoodsSetServiceImpl implements BanLiShopGoodsSetService {
   @Resource
   private BanLiShopGoodsSetPayService banLiShopGoodsSetPayService;
   @Resource
   private BanLiShopGoodsSetsMapper banLiShopGoodsSetsMapper;
   @Override
   public List<BanLiShopGoodsSets> listByGoodsId(Long goodsId) {
      return banLiShopGoodsSetsMapper.listByGoodsId(goodsId);
   }
   @Override
   public int countByGoodsId(Long goodsId) {
      return (int) banLiShopGoodsSetsMapper.countByGoodsId(goodsId);
   }
   @Override
   public BanLiShopGoodsSets selectByPrimaryKey(Long id) {
      return banLiShopGoodsSetsMapper.selectByPrimaryKey(id);
   }
   @Transactional
   @Override
   public void addSet(BanLiShopGoodsSets set) throws BanLiShopGoodsSetException, BanLiShopGoodsSetPayException {
      if (set.getId() == null)// 添加
      {
         if (set.getGoods() == null || set.getGoods().getId() == null) {
            throw new BanLiShopGoodsSetException(1, "请指定商品");
         }
         if (StringUtil.isNullOrEmpty(set.getName()))
            throw new BanLiShopGoodsSetException(1, "缺少套餐名字");
         if (set.getOriginalPrice() == null || set.getZkPrice() == null) {
            throw new BanLiShopGoodsSetException(1, "价格信息不完整");
         }
         if (set.getStock() == null) {
            throw new BanLiShopGoodsSetException(1, "缺少库存信息");
         }
         if (set.getSalesCount() == null)
            set.setSalesCount(0L);
         if (set.getCreateTime() == null)
            set.setCreateTime(new Date());
         banLiShopGoodsSetsMapper.insertSelective(set);
         if (set.getWeight() == null) {// 权重更新
            BanLiShopGoodsSets update = new BanLiShopGoodsSets();
            update.setId(set.getId());
            update.setWeight((int) set.getId().longValue());
            banLiShopGoodsSetsMapper.updateByPrimaryKeySelective(update);
         }
         if (set.getPayList() != null && set.getPayList().size() > 0) {
            for (BanLiShopGoodsSetsPay pay : set.getPayList())// 添加支付方式
            {
               pay.setGoodsSet(set);
               banLiShopGoodsSetPayService.addSetPay(pay);
            }
         }
      } else {// 修改
         if (set.getUpdateTime() == null) {
            set.setUpdateTime(new Date());
         }
         banLiShopGoodsSetsMapper.updateByPrimaryKeySelective(set);
         // 更新支付方式
         if (set.getPayList() != null && set.getPayList().size() > 0) {
            for (BanLiShopGoodsSetsPay pay : set.getPayList())// 更新支付方式
               banLiShopGoodsSetPayService.addSetPay(pay);
         }
      }
   }
   @Override
   public void updateSelectiveByPrimaryKey(BanLiShopGoodsSets set) {
      if (set.getId() == null)
         return;
      if (set.getUpdateTime() == null)
         set.setUpdateTime(new Date());
      banLiShopGoodsSetsMapper.updateByPrimaryKeySelective(set);
   }
   @Transactional
   @Override
   public void delete(List<Long> idsList) {
      if (idsList != null)
         for (Long id : idsList)
            deleteByPrimaryKey(id);
   }
   @Transactional
   @Override
   public void deleteByPrimaryKey(Long id) {
      banLiShopGoodsSetsMapper.deleteByPrimaryKey(id);
      List<BanLiShopGoodsSetsPay> payList = banLiShopGoodsSetPayService.listByGoodsSetId(id);
      if (payList != null)
         for (BanLiShopGoodsSetsPay pay : payList) {// 删除支付方式
            banLiShopGoodsSetPayService.deleteByPrimaryKey(pay.getId());
         }
   }
   @Override
   public List<BanLiShopGoodsSets> listQuery(int page, int pageSize, String key) {
      return banLiShopGoodsSetsMapper.listQuery((page - 1) * pageSize, pageSize, key);
   }
   @Override
   public long countQuery(String key) {
      return banLiShopGoodsSetsMapper.countQuery(key);
   }
   @Override
   public void addSalesCount(Long id, int count) {
      BanLiShopGoodsSets set = banLiShopGoodsSetsMapper.selectByPrimaryKey(id);
      BanLiShopGoodsSets update = new BanLiShopGoodsSets();
      update.setId(set.getId());
      update.setSalesCount(set.getSalesCount() + count);
      update.setStock(set.getStock() - count);
      banLiShopGoodsSetsMapper.updateByPrimaryKeySelective(update);
   }
}
package com.yeshi.fanli.service.impl.shop;
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.shop.BanLiShopGoodsSetsMapper;
import com.yeshi.fanli.entity.shop.BanLiShopGoodsSets;
import com.yeshi.fanli.entity.shop.BanLiShopGoodsSetsPay;
import com.yeshi.fanli.exception.shop.BanLiShopGoodsSetException;
import com.yeshi.fanli.exception.shop.BanLiShopGoodsSetPayException;
import com.yeshi.fanli.service.inter.shop.BanLiShopGoodsSetPayService;
import com.yeshi.fanli.service.inter.shop.BanLiShopGoodsSetService;
import com.yeshi.fanli.util.StringUtil;
@Service
public class BanLiShopGoodsSetServiceImpl implements BanLiShopGoodsSetService {
   @Resource
   private BanLiShopGoodsSetPayService banLiShopGoodsSetPayService;
   @Resource
   private BanLiShopGoodsSetsMapper banLiShopGoodsSetsMapper;
   @Override
   public List<BanLiShopGoodsSets> listByGoodsId(Long goodsId) {
      return banLiShopGoodsSetsMapper.listByGoodsId(goodsId);
   }
   @Override
   public int countByGoodsId(Long goodsId) {
      return (int) banLiShopGoodsSetsMapper.countByGoodsId(goodsId);
   }
   @Override
   public BanLiShopGoodsSets selectByPrimaryKey(Long id) {
      return banLiShopGoodsSetsMapper.selectByPrimaryKey(id);
   }
   @Transactional(rollbackFor=Exception.class)
   @Override
   public void addSet(BanLiShopGoodsSets set) throws BanLiShopGoodsSetException, BanLiShopGoodsSetPayException {
      if (set.getId() == null)// 添加
      {
         if (set.getGoods() == null || set.getGoods().getId() == null) {
            throw new BanLiShopGoodsSetException(1, "请指定商品");
         }
         if (StringUtil.isNullOrEmpty(set.getName()))
            throw new BanLiShopGoodsSetException(1, "缺少套餐名字");
         if (set.getOriginalPrice() == null || set.getZkPrice() == null) {
            throw new BanLiShopGoodsSetException(1, "价格信息不完整");
         }
         if (set.getStock() == null) {
            throw new BanLiShopGoodsSetException(1, "缺少库存信息");
         }
         if (set.getSalesCount() == null)
            set.setSalesCount(0L);
         if (set.getCreateTime() == null)
            set.setCreateTime(new Date());
         banLiShopGoodsSetsMapper.insertSelective(set);
         if (set.getWeight() == null) {// 权重更新
            BanLiShopGoodsSets update = new BanLiShopGoodsSets();
            update.setId(set.getId());
            update.setWeight((int) set.getId().longValue());
            banLiShopGoodsSetsMapper.updateByPrimaryKeySelective(update);
         }
         if (set.getPayList() != null && set.getPayList().size() > 0) {
            for (BanLiShopGoodsSetsPay pay : set.getPayList())// 添加支付方式
            {
               pay.setGoodsSet(set);
               banLiShopGoodsSetPayService.addSetPay(pay);
            }
         }
      } else {// 修改
         if (set.getUpdateTime() == null) {
            set.setUpdateTime(new Date());
         }
         banLiShopGoodsSetsMapper.updateByPrimaryKeySelective(set);
         // 更新支付方式
         if (set.getPayList() != null && set.getPayList().size() > 0) {
            for (BanLiShopGoodsSetsPay pay : set.getPayList())// 更新支付方式
               banLiShopGoodsSetPayService.addSetPay(pay);
         }
      }
   }
   @Override
   public void saveObject(BanLiShopGoodsSets record) throws BanLiShopGoodsSetException {
      if (record.getGoods() == null || record.getGoods().getId() == null)
         throw new BanLiShopGoodsSetException(1, "请指定商品");
      if (StringUtil.isNullOrEmpty(record.getName()))
         throw new BanLiShopGoodsSetException(1, "缺少套餐名字");
      if (record.getOriginalPrice() == null || record.getZkPrice() == null)
         throw new BanLiShopGoodsSetException(1, "价格信息不完整");
      if (record.getStock() == null)
         throw new BanLiShopGoodsSetException(1, "缺少库存信息");
      record.setUpdateTime(new Date());
      if (record.getId() == null) {
         record.setCreateTime(new Date());
         banLiShopGoodsSetsMapper.insertSelective(record);
         if (record.getWeight() == null) {// 权重更新
            BanLiShopGoodsSets update = new BanLiShopGoodsSets();
            update.setId(record.getId());
            update.setWeight((int) record.getId().longValue());
            banLiShopGoodsSetsMapper.updateByPrimaryKeySelective(update);
         }
      } else {
         BanLiShopGoodsSets resultObj = banLiShopGoodsSetsMapper.selectDetailByPrimaryKey(record.getId());
         if (resultObj == null)
            throw new BanLiShopGoodsSetException(1, "修改内容已不存在");
         record.setCreateTime(resultObj.getCreateTime());
         banLiShopGoodsSetsMapper.updateByPrimaryKey(record);
      }
   }
   @Override
   public void switchState(Long id) throws BanLiShopGoodsSetException {
      if (id == null) {
         throw new BanLiShopGoodsSetException(1, "请传递正确参数");
      }
      BanLiShopGoodsSets resultObj = banLiShopGoodsSetsMapper.selectByPrimaryKey(id);
      if (resultObj == null) {
         throw new BanLiShopGoodsSetException(1, "此内容已不存在");
      }
      Integer state = resultObj.getState();
      if (state == null || state == 0) {
         state = 1;
      } else {
         state = 0;
      }
      BanLiShopGoodsSets updateObj = new BanLiShopGoodsSets();
      updateObj.setId(id);
      updateObj.setState(state);
      banLiShopGoodsSetsMapper.updateByPrimaryKeySelective(updateObj);
   }
   @Override
   public void updateSelectiveByPrimaryKey(BanLiShopGoodsSets set) {
      if (set.getId() == null)
         return;
      if (set.getUpdateTime() == null)
         set.setUpdateTime(new Date());
      banLiShopGoodsSetsMapper.updateByPrimaryKeySelective(set);
   }
   @Transactional
   @Override
   public void delete(List<Long> idsList) {
      if (idsList != null)
         for (Long id : idsList)
            deleteByPrimaryKey(id);
   }
   @Transactional
   @Override
   public void deleteByPrimaryKey(Long id) {
      banLiShopGoodsSetsMapper.deleteByPrimaryKey(id);
      List<BanLiShopGoodsSetsPay> payList = banLiShopGoodsSetPayService.listByGoodsSetId(id);
      if (payList != null)
         for (BanLiShopGoodsSetsPay pay : payList) {// 删除支付方式
            banLiShopGoodsSetPayService.deleteByPrimaryKey(pay.getId());
         }
   }
   @Override
   public List<BanLiShopGoodsSets> listQuery(int page, int pageSize, String key, Long goodsId) {
      return banLiShopGoodsSetsMapper.listQuery((page - 1) * pageSize, pageSize, key, goodsId);
   }
   @Override
   public long countQuery(String key, Long goodsId) {
      return banLiShopGoodsSetsMapper.countQuery(key, goodsId);
   }
   @Override
   public void addSalesCount(Long id, int count) {
      BanLiShopGoodsSets set = banLiShopGoodsSetsMapper.selectByPrimaryKey(id);
      BanLiShopGoodsSets update = new BanLiShopGoodsSets();
      update.setId(set.getId());
      update.setSalesCount(set.getSalesCount() + count);
      update.setStock(set.getStock() - count);
      banLiShopGoodsSetsMapper.updateByPrimaryKeySelective(update);
   }
}