Commit c2316d0f authored by shiyu's avatar shiyu

针对商品限购

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