Commit cfa6150e by chongli

修复麦券限制

parent ffc0b466
......@@ -279,6 +279,15 @@ public class OrderDao extends GenericHibernateDao<Order, Integer> {
return pagedResponseBean;
}
public int queryVoucherPayedOrder(String uid,int activityId) {
String sql = "SELECT count(*) from ord_communeitem c where OrderID in (SELECT OrderID from ord_order where uid=:uid and ProcessStatus&16=16 and OrderCategory =16) and activityId=:activityId";
Session session = this.getSession();
Query query = session.createSQLQuery(sql);
query.setParameter("uid", uid);
query.setParameter("activityId", activityId);
return ((BigInteger) query.uniqueResult()).intValue();
}
@SuppressWarnings("unchecked")
public PagedEntityBean<Order> queryComOrders(OrderQuery queryBean) {
PagedEntityBean<Order> pagedEntityBean = new PagedEntityBean<Order>();
......
......@@ -156,18 +156,9 @@ public class CommuneOrderService extends AbstractOrderService<CommuneOrderBean,
if(communeOrderBean.getPrePayAmount().compareTo(buyoucherActivity.getCommunePrice()) != 0&&communeOrderBean.getPrePayAmount().compareTo(buyoucherActivity.getGuestPrice()) != 0){
throw new OrderException(-41, "您提交的预付款金额有问题,请检查!");
}
OrderQuery queryBean = new OrderQuery();
queryBean.setOrderCategory(16);
queryBean.setUid(communeOrderBean.getUid());
queryBean.setPagerOffset(0);
queryBean.setSortField("orderDate");
PagedEntityBean<Order> pageOrder = this.getOrderDao().queryComOrders(queryBean);
if(pageOrder!=null&&pageOrder.getCount()>0){
for(Order ord:(List<Order>)pageOrder.getResult()){
if((ord.getProcessStatus()&OrderStatusBitEnum.DEDUCTED.getValue())==16){
throw new OrderException(-666, "您已经参与过该活动!");
}
}
int count = this.getOrderDao().queryVoucherPayedOrder(communeOrderBean.getUid(),communeOrderBean.getActivityId());
if(count>=buyoucherActivity.getBuyLimitTimes()){
throw new OrderException(-666, "您已经超过该活动限制次数!");
}
}
......
......@@ -76,7 +76,7 @@ public class UserOrderBehaviourStatisticsDaoTest {
}
@Test
public void testOrderUpdate() throws Exception {
BuyVoucherActivityBean list = communeOrderService.getBuyVoucherActivityMessage(orderNo)
long list = orderDao.queryVoucherPayedOrder("15021268738",1);
System.out.println(list);
}
......
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 sign in to comment