package com.withiter.models.opinion; import java.util.List; import org.bson.types.ObjectId; import play.modules.morphia.Model.MorphiaQuery; import play.modules.morphia.Model.NoAutoTimestamp; import com.google.code.morphia.annotations.Entity; import com.withiter.models.admin.MerchantAccount; @Entity @NoAutoTimestamp public class Opinion extends OpinionEntityDef { private static int DEFAULT_NUMBER_PER_PAGE = 10; public static List<Opinion> nextNoHandle(int page){ MorphiaQuery q = Opinion.q(); q.filter("handle", false); q = paginate(q, page); return q.asList(); } /** * 分页查询,每页十条数据。 * @param page 第page页 * @param countPerPage 每页的记录数 * @return */ public static List<Opinion> nextNoHandle(int page, int countPerPage){ MorphiaQuery q = Opinion.q(); q.filter("handle", false); q.offset((page-1)*countPerPage).limit(countPerPage); return q.asList(); } /** * 分页获取所有用户反馈 * @param page 第page页 * @return */ public static List<Opinion> next(int page){ MorphiaQuery q = Opinion.q(); q = paginate(q, page); return q.asList(); } /** * 通用分页 * @param q MorphiaQuery 对象 * @param page 第page页 * @return */ private static MorphiaQuery paginate(MorphiaQuery q, int page){ q.offset(DEFAULT_NUMBER_PER_PAGE*(page -1)).limit(DEFAULT_NUMBER_PER_PAGE); return q; } /** * 处理建议 * @param oid */ public static void handle(String oid){ Opinion o = Opinion.findById(new ObjectId(oid)); o.handle = true; o.save(); } public static int totalSize() { MorphiaQuery q = Opinion.q(); q.filter("handle", false); return (int)q.count(); } }