admin
2020-06-28 eda623f37c3260f4b4657e34a8a39798c72432b1
fanli/src/main/java/com/yeshi/fanli/dao/dynamic/GoodsEvaluateDao.java
@@ -15,7 +15,9 @@
import org.springframework.stereotype.Repository;
import com.yeshi.fanli.entity.dynamic.GoodsEvaluate;
import com.yeshi.fanli.entity.dynamic.GoodsEvaluate.EvaluateEnum;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.TimeUtil;
@Repository
public class GoodsEvaluateDao {
@@ -332,8 +334,8 @@
      List<Criteria> list = new ArrayList<Criteria>();
      list.add(Criteria.where("dynamicType").is(1));
      list.add(Criteria.where("state").is(1));
      list.add(Criteria.where("startTime").gt(new Date()));
      list.add(Criteria.where("startTime").lte(date));
      list.add(Criteria.where("startTime").gt(date));
      list.add(Criteria.where("startTime").lte(new Date()));
      list.add(new Criteria().orOperator(Criteria.where("type").is("single"),
               new Criteria().andOperator(Criteria.where("type").is("activity"))));
      
@@ -344,10 +346,100 @@
            cas[i] = list.get(i);
         query.addCriteria(new Criteria().andOperator(cas));
      }
      query.with(new Sort(Sort.Direction.ASC,"startTime"));
      query.with(new Sort(Sort.Direction.DESC,"startTime"));
      
      return mongoTemplate.find(query, GoodsEvaluate.class);
   }
   
   /**
    * 查询有效-倒序
    * @param start
    * @param count
    * @param key
    * @return
    */
   public List<GoodsEvaluate> queryValidSortASC(int start, int count, EvaluateEnum tyepEnum, boolean sortDesc) {
      Date now = new Date();
      Query query = new Query();
      List<Criteria> list = new ArrayList<Criteria>();
      list.add(Criteria.where("type").is(tyepEnum.name()));
      list.add(Criteria.where("dynamicType").is(1));
      list.add(Criteria.where("state").is(1));
      list.add(Criteria.where("startTime").lte(now));
      list.add(Criteria.where("endTime").gte(now));
      if (list.size() > 0) {
         Criteria[] cas = new Criteria[list.size()];
         for (int i = 0; i < list.size(); i++)
            cas[i] = list.get(i);
         query.addCriteria(new Criteria().andOperator(cas));
      }
        query.skip(start).limit(count);
        if (sortDesc) {
           query.with(new Sort(Sort.Direction.DESC,"startTime"));
        } else {
           query.with(new Sort(Sort.Direction.ASC,"startTime"));
        }
      return mongoTemplate.find(query, GoodsEvaluate.class);
   }
   
   /**
    * 查询有效
    * @param start
    * @param count
    * @param key
    * @return
    */
   public List<GoodsEvaluate> queryExistLimitTime(int goodsType, String goodsId, Date limitTime) {
      Query query = new Query();
      List<Criteria> list = new ArrayList<Criteria>();
      list.add(Criteria.where("dynamicType").is(1));
      list.add(Criteria.where("state").is(1));
      list.add(Criteria.where("goods.goodsId").is(goodsId));
      list.add(Criteria.where("goods.goodsType").is(goodsType));
      // 限制时间内
      list.add(Criteria.where("startTime").gte(limitTime));
      if (list.size() > 0) {
         Criteria[] cas = new Criteria[list.size()];
         for (int i = 0; i < list.size(); i++)
            cas[i] = list.get(i);
         query.addCriteria(new Criteria().andOperator(cas));
      }
      return mongoTemplate.find(query, GoodsEvaluate.class);
   }
   public List<GoodsEvaluate> queryValidZeroPoint(int start, int count) {
      // 今日22点发圈 :0点下单
      Date now = new Date();
      Date startTime = TimeUtil.parseYYYYMMDD_HHMM(TimeUtil.getGernalTime(now) + " 22:00");
      Query query = new Query();
      List<Criteria> list = new ArrayList<Criteria>();
      list.add(Criteria.where("zeroPoint").is(1));
      list.add(Criteria.where("dynamicType").is(1));
      list.add(Criteria.where("state").is(1));
      list.add(Criteria.where("startTime").is(startTime));
      list.add(new Criteria().orOperator(Criteria.where("type").is("single"),
            new Criteria().andOperator(Criteria.where("type").is("activity"))));
      if (list.size() > 0) {
         Criteria[] cas = new Criteria[list.size()];
         for (int i = 0; i < list.size(); i++)
            cas[i] = list.get(i);
         query.addCriteria(new Criteria().andOperator(cas));
      }
        query.skip(start).limit(count);
      return mongoTemplate.find(query, GoodsEvaluate.class);
   }
}