package com.withiter.models.merchant;
import java.util.ArrayList;
import java.util.List;
import org.bson.types.ObjectId;
import com.google.code.morphia.annotations.Entity;
@Entity
public class Attention extends AttentionEntityDef{
/**
* @param aid of account
* @param mid of merchant
* @return Attention
*/
public static Attention getAttentionById(String mid,String aid) {
MorphiaQuery q = Attention.q();
q.filter("accountId", aid);
q.filter("mid", mid);
return q.first();
}
/**
* get accounts
* @param mid of merchant
* @return
*/
public static List<Attention> getAccountsByMid(String mid) {
MorphiaQuery q = Attention.q();
q.filter("mid", mid);
q.filter("flag", true);
return q.asList();
}
public static List<Merchant> getMerchantsByAid(String aid){
MorphiaQuery q = Attention.q();
q.filter("accountId", aid).filter("flag", true).criteria("mid");
List<Attention> as = q.asList();
List<ObjectId> mids = new ArrayList<ObjectId>();
for(Attention s : as){
mids.add(new ObjectId(s.mid));
}
MorphiaQuery mq = Merchant.q();
if(mids.size() == 0){
return null;
}else{
mq.filter("_id in", mids);
return mq.asList();
}
}
public static int getAttentionCountByAid(String aid){
MorphiaQuery q = Attention.q();
q.filter("accountId", aid).filter("flag", true);
// List<Attention> as = q.asList();
return (int) q.count();
}
}