专注JavaWeb开发 首页制式『默认式 OR 时间轴 网站地图|RSS订阅|设为首页|加入收藏
当前位置:首页 >Java >Java工具类 > 正文

Java Mongo方法使用

作者: 紫寒1120 发布时间: 2017-03-15 浏览次数:

import com.chebian.life.common.utils.DateUtils;
import com.chebian.life.common.web.QueryParams;
import com.chebian.life.shopservice.modules.dao.CommentDao;
import com.chebian.life.shopservice.modules.entity.Comment;
import com.mongodb.BasicDBObject;
import com.mongodb.DBObject;
import org.apache.commons.lang3.StringUtils;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Sort;
import org.springframework.data.domain.Sort.Direction;
import org.springframework.data.mongodb.core.MongoTemplate;
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.Service;
import java.text.ParseException;
import java.util.Date;
import java.util.List;
@Service
public class CommentService {
Logger log = Logger.getLogger(CommentService.class);
@Autowired
private CommentDao commentDao;
/**
 * 
 * @Title: count
 * @Description: TODO(评价管理统计数量)
 * @param query
 * @param storeid
 * @return 设定文件 Long 返回类型
 * @throws @author
 *             BY--dong.yao--AT--2017年1月12日下午1:49:50
 */
public long count(QueryParams query, long storeid) {
Query document = doBasicDBObject(storeid, query);
MongoTemplate mongoTemplate = commentDao.getMongoTemplate();
return mongoTemplate.count(document, Comment.class);
}
private Query doBasicDBObject(long storeid, QueryParams query) {
Criteria c = Criteria.where("targetid").is(storeid).and("type").is(0);
// 回复状态
String replyflag = (String) query.getQuery().get("replyflag");
if (StringUtils.isNotBlank(replyflag)) {
if ("0".equals(replyflag)) {
c.and("replytime").ne(0);
} else {// 没回复状态
c.and("replytime").is(0);
}
}
// 评分
String environment = (String) query.getQuery().get("environment");
if (StringUtils.isNotBlank(environment)) {
c.and("star.environment").is(Long.parseLong(environment));
}
String skill = (String) query.getQuery().get("skill");
if (StringUtils.isNotBlank(skill)) {
c.and("star.skill").is(Long.parseLong(skill));
}
String service = (String) query.getQuery().get("service");
if (StringUtils.isNotBlank(service)) {
c.and("star.service").is(Long.parseLong(service));
}
String commenttime = (String) query.getQuery().get("commenttime0");
long timegte = 0l;
if (StringUtils.isNotBlank(commenttime)) {
try {
// 今日
if ("0".equals(commenttime)) {
timegte = DateUtils.getLongTime(DateUtils.formatDate(new Date(), "yyyy-MM-dd 00:00:00"));
} else if ("1".equals(commenttime)) {// 本周
timegte = DateUtils
.getLongTime(DateUtils.formatDate(DateUtils.getWeekStartDate(), "yyyy-MM-dd 00:00:00"));
} else if ("2".equals(commenttime)) {// 本月
timegte = DateUtils.getLongTime(DateUtils.formatDate(new Date(), "yyyy-MM-01 00:00:00"));
} else if ("3".equals(commenttime)) {// 本年
timegte = DateUtils.getLongTime(DateUtils.formatDate(new Date(), "yyyy-01-01 00:00:00"));
} else {
timegte = DateUtils
.getLongTime(DateUtils.formatDate(DateUtils.parseDate(commenttime), "yyyy-MM-dd 00:00:00"));
}
} catch (ParseException e) {
log.error(e.getMessage());
}
}
String commenttime1 = (String) query.getQuery().get("commenttime1");
Long timelte = 0l;
if (StringUtils.isNotBlank(commenttime1)) {
try {
timelte = DateUtils
.getLongTime(DateUtils.formatDate(DateUtils.parseDate(commenttime1), "yyyy-MM-dd 23:59:59"));
} catch (ParseException e) {
log.error(e.getMessage());
}
}
if (timegte != 0l && timelte != 0l) {
c.and("commenttime").gte(timegte).lte(timelte);
} else if (timegte != 0l) {
c.and("commenttime").gte(timegte);
} else if (timelte != 0l) {
c.and("commenttime").lte(timelte);
}
return Query.query(c);
}
// 获取评价分页信息
public List<Comment> getCommentByQuery(QueryParams query, long storeid) {
Query q = doBasicDBObject(storeid, query);
q.skip(query.getStarRow().intValue()).limit(query.getPageSize());
q.with(new Sort(new org.springframework.data.domain.Sort.Order(Direction.DESC,"commenttime")));
MongoTemplate mongoTemplate = commentDao.getMongoTemplate();
return mongoTemplate.find(q, Comment.class);
}
public Boolean updateComment(String reply, long storeid, String id) {
Update update = new Update();
update.set("reply", reply);
update.set("replytime", System.currentTimeMillis());
Query query = new Query(Criteria.where("_id").is(id).and("targetid").is(storeid).and("type").is(0));
MongoTemplate mongoTemplate = commentDao.getMongoTemplate();
return mongoTemplate.updateFirst(query, update, Comment.class).isUpdateOfExisting();
}
}
QQ群: 武汉地区(142173356)验证消息JavaWeb1024

网友共有【】评论,点击查看



x 微信关注我们 随时获取最新网站资讯