package com.ks.daylucky.dao;
|
|
import com.ks.daylucky.pojo.DO.ActivityDrawnRecieveNotifyInfo;
|
import com.ks.lib.common.dao.MongodbBaseDao;
|
import org.springframework.data.mongodb.core.query.Criteria;
|
import org.springframework.data.mongodb.core.query.Query;
|
import org.springframework.data.mongodb.core.query.Update;
|
import org.springframework.stereotype.Repository;
|
|
import java.util.ArrayList;
|
import java.util.Date;
|
import java.util.List;
|
|
@Repository
|
public class ActivityDrawnRecieveNotifyInfoDao extends MongodbBaseDao<ActivityDrawnRecieveNotifyInfo> {
|
|
public void updateSelective(ActivityDrawnRecieveNotifyInfo bean) {
|
Query query = new Query();
|
Update update = new Update();
|
query.addCriteria(Criteria.where("id").is(bean.getId()));
|
if (bean.getAwardResult() != null) {
|
update.set("awardResult", bean.getAwardResult());
|
}
|
if (bean.getAwards() != null) {
|
update.set("awards", bean.getAwards());
|
}
|
if (bean.getShown() != null) {
|
update.set("shown", bean.getShown());
|
}
|
if (bean.getShowTime() != null) {
|
update.set("showTime", bean.getShowTime());
|
}
|
if (bean.getCreateTime() != null) {
|
update.set("createTime", bean.getCreateTime());
|
}
|
update.set("updateTime", new Date());
|
update(query, update);
|
}
|
|
/**
|
* 获取需要显示的通知
|
* @param appId
|
* @param uid
|
* @param activityId
|
* @return
|
*/
|
public ActivityDrawnRecieveNotifyInfo getShowNotifyInfo(Long appId, Long uid, Long activityId) {
|
Query query = new Query();
|
List<Criteria> andList = new ArrayList<>();
|
andList.add(Criteria.where("awardResult.uid").is(uid+""));
|
andList.add(Criteria.where("awardResult.appId").is(appId));
|
andList.add(Criteria.where("shown").is(false));
|
if (activityId != null) {
|
andList.add(Criteria.where("awardResult.activityId").is(activityId));
|
}
|
|
Criteria ands[] = new Criteria[andList.size()];
|
andList.toArray(ands);
|
query.addCriteria(new Criteria().andOperator(ands));
|
return findOne(query);
|
}
|
}
|