Commit c2316d0f authored by shiyu's avatar shiyu

针对商品限购

parent a0129d5b
......@@ -43,11 +43,11 @@ public interface DistributionOrderDao {
/**
* 根据买家id查询历史有效购买记录,排除已取消的订单
* 根据买家id查询对于这个商品的历史有效购买记录,排除已取消的订单
* @param buyerId
* @return
*/
List<DistributionOrder> findValidOrderByBuyerId(long buyerId);
List<DistributionOrder> findValidOrderOfItemIdByBuyerId(long buyerId, long itemId);
/**
......
......@@ -53,10 +53,11 @@ public class DistributionOrderDaoImpl implements DistributionOrderDao {
@Override
public List<DistributionOrder> findValidOrderByBuyerId(long buyerId) {
public List<DistributionOrder> findValidOrderOfItemIdByBuyerId(long buyerId, long itemId) {
DistributionOrderExample example = new DistributionOrderExample();
DistributionOrderExample.Criteria criteria = example.createCriteria();
criteria.andBuyerIdEqualTo(buyerId);
criteria.andItemIdEqualTo(itemId);
//排除已取消的订单
criteria.andStateNotEqualTo(101);
return distributionOrderMapper.selectByExample(example);
......
......@@ -90,7 +90,7 @@ public class DistributionOrderServiceImpl implements DistributionOrderService {
int buyLimitNum = supplierItem.getBuyLimitNum() == null ? 5 : supplierItem.getBuyLimitNum();
//检查该购买者是否超出限购数量
//1.查询购买者对该商品的历史购买记录
List<DistributionOrder> distributionOrders = distributionOrderDao.findValidOrderByBuyerId(dto.getBuyerId());
List<DistributionOrder> distributionOrders = distributionOrderDao.findValidOrderOfItemIdByBuyerId(dto.getBuyerId(), distributorShareRecord.getItemId());
int buyNum = 0;
if (!CollectionUtils.isEmpty(distributionOrders)) {
buyNum = distributionOrders.stream().mapToInt(DistributionOrder::getItemNum).sum();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment