| | |
| | | package com.yeshi.fanli.dao.dynamic;
|
| | |
|
| | | import java.util.Date;
|
| | | import java.util.List;
|
| | |
|
| | | import javax.annotation.Resource;
|
| | |
|
| | | import org.springframework.data.domain.Sort;
|
| | | 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.Repository;
|
| | |
|
| | | import com.yeshi.fanli.entity.dynamic.DynamicInfo;
|
| | | import com.yeshi.fanli.log.LogHelper;
|
| | |
|
| | | @Repository
|
| | | public class DynamicInfoDao {
|
| | | |
| | | @Resource
|
| | | private MongoTemplate mongoTemplate;
|
| | | |
| | | /**
|
| | | * 新增
|
| | | * @param record
|
| | | */
|
| | | public void insert(DynamicInfo record) {
|
| | | if (record == null) {
|
| | | return;
|
| | | }
|
| | | mongoTemplate.insert(record);
|
| | | }
|
| | |
|
| | | /**
|
| | | * 更新分享次数
|
| | | * @param record
|
| | | */
|
| | | public void updateShareCount(DynamicInfo record) {
|
| | | if (record == null) {
|
| | | return;
|
| | | }
|
| | | |
| | | // 查询数据是存在
|
| | | Query query = new Query();
|
| | | query.addCriteria(Criteria.where("id").is(record.getId()));
|
| | | |
| | | // 更新分享次数
|
| | | Update update = Update.update("shareCount", record.getShareCount());
|
| | | mongoTemplate.updateMulti(query, update, DynamicInfo.class);
|
| | | }
|
| | | |
| | | |
| | | /**
|
| | | * 更新分享次数
|
| | | * @param record
|
| | | */
|
| | | public void updateGoodInfo(DynamicInfo record) {
|
| | | if (record == null) {
|
| | | return;
|
| | | }
|
| | | |
| | | // 查询数据是存在
|
| | | Query query = new Query();
|
| | | query.addCriteria(Criteria.where("id").is(record.getId()));
|
| | | |
| | | if (record.getClassId() == 1) {
|
| | | Update update = Update.update("imgs", record.getImgs()).set("desc", record.getDesc());
|
| | | mongoTemplate.updateMulti(query, update, DynamicInfo.class);
|
| | | } else {
|
| | | Update update = Update.update("imgs", record.getImgs());
|
| | | mongoTemplate.updateMulti(query, update, DynamicInfo.class);
|
| | | }
|
| | | |
| | | |
| | | |
| | | }
|
| | | |
| | | /**
|
| | | * 根据id查询数据
|
| | | * @param id
|
| | | * @return
|
| | | */
|
| | | public DynamicInfo getById(String id) {
|
| | | Query query = new Query();
|
| | | query.addCriteria(Criteria.where("id").is(id));
|
| | | DynamicInfo info = mongoTemplate.findOne(query, DynamicInfo.class);
|
| | | return info;
|
| | | }
|
| | | |
| | | |
| | | /**
|
| | | * 根据id查询数据
|
| | | * @param id
|
| | | * @return
|
| | | */
|
| | | public DynamicInfo getByActivityId(Long activityId) {
|
| | | Query query = new Query();
|
| | | query.addCriteria(Criteria.where("activityId").is(activityId));
|
| | | DynamicInfo info = mongoTemplate.findOne(query, DynamicInfo.class);
|
| | | return info;
|
| | | }
|
| | | |
| | | /**
|
| | | * 删除
|
| | | * |
| | | * @param id
|
| | | * @return
|
| | | */
|
| | | public void deleteById(String id) {
|
| | | DynamicInfo info = getById(id);
|
| | | if (info == null ) {
|
| | | return;
|
| | | }
|
| | | mongoTemplate.remove(info);
|
| | | }
|
| | | |
| | | |
| | | /**
|
| | | * 删除根据时间
|
| | | * |
| | | * @param id
|
| | | * @return
|
| | | */
|
| | | public void removeByDate(Date createTime) {
|
| | | for(int i = 0; i < 20; i++) {
|
| | | Query query = new Query();
|
| | | query.addCriteria(Criteria.where("createTime").lt(createTime));
|
| | | query.skip(0).limit(100);
|
| | | |
| | | List<DynamicInfo> list = mongoTemplate.find(query, DynamicInfo.class);
|
| | | if (list == null || list.size() == 0) {
|
| | | break;
|
| | | }
|
| | | |
| | | for (DynamicInfo info: list) {
|
| | | mongoTemplate.remove(info);
|
| | | }
|
| | | }
|
| | | }
|
| | | |
| | | |
| | | /**
|
| | | * 查询
|
| | | * @param clazz
|
| | | * @return
|
| | | */
|
| | | public List<DynamicInfo> query(Long cid, Long subId) {
|
| | | Query query = new Query();
|
| | | if (subId == null) {
|
| | | query.addCriteria(Criteria.where("classId").is(cid));
|
| | | } else {
|
| | | query.addCriteria(
|
| | | new Criteria().andOperator(
|
| | | Criteria.where("classId").is(cid),
|
| | | Criteria.where("subclassId").is(subId)
|
| | | )
|
| | | );
|
| | | }
|
| | | |
| | | List<DynamicInfo> list = mongoTemplate.find(query, DynamicInfo.class);
|
| | | return list;
|
| | | }
|
| | | |
| | | |
| | | /**
|
| | | * 查询所有数据
|
| | | * @param clazz
|
| | | * @return
|
| | | */
|
| | | public List<DynamicInfo> query(int start, int count, Long cid, Long subId) {
|
| | | Query query = new Query();
|
| | | if (subId == null) {
|
| | | query.addCriteria(Criteria.where("classId").is(cid));
|
| | | } else {
|
| | | query.addCriteria(
|
| | | new Criteria().andOperator(
|
| | | Criteria.where("classId").is(cid),
|
| | | Criteria.where("subclassId").is(subId)
|
| | | )
|
| | | );
|
| | | }
|
| | | |
| | | //分页
|
| | | query.skip(start).limit(count);
|
| | | //排序
|
| | | query.with(new Sort(Sort.Direction.DESC,"createTime"));
|
| | | |
| | | List<DynamicInfo> list = mongoTemplate.find(query, DynamicInfo.class);
|
| | | return list;
|
| | | }
|
| | | |
| | | public long count(Long cid, Long subId) {
|
| | | Query query = new Query();
|
| | | if (subId == null) {
|
| | | query.addCriteria(Criteria.where("classId").is(cid));
|
| | | } else {
|
| | | query.addCriteria(
|
| | | new Criteria().andOperator(
|
| | | Criteria.where("classId").is(cid),
|
| | | Criteria.where("subclassId").is(subId)
|
| | | )
|
| | | );
|
| | | }
|
| | | return mongoTemplate.count(query, DynamicInfo.class);
|
| | | }
|
| | | |
| | | |
| | | /**
|
| | | * 查询所有数据
|
| | | * @param clazz
|
| | | * @return
|
| | | */
|
| | | public List<DynamicInfo> queryAll() {
|
| | | return (List<DynamicInfo>) mongoTemplate.findAll(DynamicInfo.class);
|
| | | }
|
| | | |
| | | }
|
| | |
|
| | | package com.yeshi.fanli.dao.dynamic; |
| | | |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | import javax.annotation.Resource; |
| | | |
| | | import org.springframework.data.domain.Sort; |
| | | 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.Repository; |
| | | |
| | | import com.yeshi.fanli.entity.dynamic.DynamicInfo; |
| | | import com.yeshi.fanli.log.LogHelper; |
| | | |
| | | @Repository |
| | | public class DynamicInfoDao { |
| | | |
| | | @Resource |
| | | private MongoTemplate mongoTemplate; |
| | | |
| | | /** |
| | | * 新增 |
| | | * @param record |
| | | */ |
| | | public void insert(DynamicInfo record) { |
| | | if (record == null) { |
| | | return; |
| | | } |
| | | mongoTemplate.insert(record); |
| | | } |
| | | |
| | | /** |
| | | * 更新分享次数 |
| | | * @param record |
| | | */ |
| | | public void updateShareCount(DynamicInfo record) { |
| | | if (record == null) { |
| | | return; |
| | | } |
| | | |
| | | // 查询数据是存在 |
| | | Query query = new Query(); |
| | | query.addCriteria(Criteria.where("id").is(record.getId())); |
| | | |
| | | // 更新分享次数 |
| | | Update update = Update.update("shareCount", record.getShareCount()); |
| | | mongoTemplate.updateMulti(query, update, DynamicInfo.class); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 更新分享次数 |
| | | * @param record |
| | | */ |
| | | public void updateGoodInfo(DynamicInfo record) { |
| | | if (record == null) { |
| | | return; |
| | | } |
| | | |
| | | // 查询数据是存在 |
| | | Query query = new Query(); |
| | | query.addCriteria(Criteria.where("id").is(record.getId())); |
| | | |
| | | if (record.getClassId() == 1) { |
| | | Update update = Update.update("imgs", record.getImgs()).set("desc", record.getDesc()); |
| | | mongoTemplate.updateMulti(query, update, DynamicInfo.class); |
| | | } else { |
| | | Update update = Update.update("imgs", record.getImgs()); |
| | | mongoTemplate.updateMulti(query, update, DynamicInfo.class); |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | | |
| | | /** |
| | | * 根据id查询数据 |
| | | * @param id |
| | | * @return |
| | | */ |
| | | public DynamicInfo getById(String id) { |
| | | Query query = new Query(); |
| | | query.addCriteria(Criteria.where("id").is(id)); |
| | | DynamicInfo info = mongoTemplate.findOne(query, DynamicInfo.class); |
| | | return info; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 根据id查询数据 |
| | | * @param id |
| | | * @return |
| | | */ |
| | | public DynamicInfo getByActivityId(Long activityId) { |
| | | Query query = new Query(); |
| | | query.addCriteria(Criteria.where("activityId").is(activityId)); |
| | | DynamicInfo info = mongoTemplate.findOne(query, DynamicInfo.class); |
| | | return info; |
| | | } |
| | | |
| | | /** |
| | | * 删除 |
| | | * |
| | | * @param id |
| | | * @return |
| | | */ |
| | | public void deleteById(String id) { |
| | | DynamicInfo info = getById(id); |
| | | if (info == null ) { |
| | | return; |
| | | } |
| | | mongoTemplate.remove(info); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 删除根据时间 |
| | | * |
| | | * @param id |
| | | * @return |
| | | */ |
| | | public void removeByDate(Date createTime) { |
| | | LogHelper.test("removeByDate--开始执行动态删除---"); |
| | | for(int i = 0; i < 20; i++) { |
| | | Query query = new Query(); |
| | | query.addCriteria(Criteria.where("createTime").lt(createTime)); |
| | | query.skip(0).limit(100); |
| | | LogHelper.test("removeByDate--查询---"); |
| | | List<DynamicInfo> list = mongoTemplate.find(query, DynamicInfo.class); |
| | | if (list == null || list.size() == 0) { |
| | | break; |
| | | } |
| | | |
| | | LogHelper.test("removeByDate--for删除---" + list.size()); |
| | | for (DynamicInfo info: list) { |
| | | mongoTemplate.remove(info); |
| | | } |
| | | } |
| | | |
| | | LogHelper.test("removeByDate--结束动态删除---"); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 查询 |
| | | * @param clazz |
| | | * @return |
| | | */ |
| | | public List<DynamicInfo> query(Long cid, Long subId) { |
| | | Query query = new Query(); |
| | | if (subId == null) { |
| | | query.addCriteria(Criteria.where("classId").is(cid)); |
| | | } else { |
| | | query.addCriteria( |
| | | new Criteria().andOperator( |
| | | Criteria.where("classId").is(cid), |
| | | Criteria.where("subclassId").is(subId) |
| | | ) |
| | | ); |
| | | } |
| | | |
| | | List<DynamicInfo> list = mongoTemplate.find(query, DynamicInfo.class); |
| | | return list; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 查询所有数据 |
| | | * @param clazz |
| | | * @return |
| | | */ |
| | | public List<DynamicInfo> query(int start, int count, Long cid, Long subId) { |
| | | Query query = new Query(); |
| | | if (subId == null) { |
| | | query.addCriteria(Criteria.where("classId").is(cid)); |
| | | } else { |
| | | query.addCriteria( |
| | | new Criteria().andOperator( |
| | | Criteria.where("classId").is(cid), |
| | | Criteria.where("subclassId").is(subId) |
| | | ) |
| | | ); |
| | | } |
| | | |
| | | //分页 |
| | | query.skip(start).limit(count); |
| | | //排序 |
| | | query.with(new Sort(Sort.Direction.DESC,"createTime")); |
| | | |
| | | List<DynamicInfo> list = mongoTemplate.find(query, DynamicInfo.class); |
| | | return list; |
| | | } |
| | | |
| | | public long count(Long cid, Long subId) { |
| | | Query query = new Query(); |
| | | if (subId == null) { |
| | | query.addCriteria(Criteria.where("classId").is(cid)); |
| | | } else { |
| | | query.addCriteria( |
| | | new Criteria().andOperator( |
| | | Criteria.where("classId").is(cid), |
| | | Criteria.where("subclassId").is(subId) |
| | | ) |
| | | ); |
| | | } |
| | | return mongoTemplate.count(query, DynamicInfo.class); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 查询所有数据 |
| | | * @param clazz |
| | | * @return |
| | | */ |
| | | public List<DynamicInfo> queryAll() { |
| | | return (List<DynamicInfo>) mongoTemplate.findAll(DynamicInfo.class); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 查询所有数据 |
| | | * @param clazz |
| | | * @return |
| | | */ |
| | | public List<DynamicInfo> queryExistsAuctionId() { |
| | | Query query = new Query(); |
| | | query.addCriteria( |
| | | new Criteria().andOperator( |
| | | Criteria.where("imgs.goods").exists(true), |
| | | Criteria.where("imgs.goods.auctionId").exists(false) |
| | | ) |
| | | ); |
| | | List<DynamicInfo> list = mongoTemplate.find(query, DynamicInfo.class); |
| | | return list; |
| | | } |
| | | } |
| | | |