From 81da61b828e29b7745e1382dfbbaeb685dc083ef Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期二, 23 一月 2024 17:17:55 +0800 Subject: [PATCH] 抖音转链修改 --- fanli/src/main/java/com/yeshi/fanli/dao/dynamic/DynamicInfoDao.java | 454 ++++++++++++++++++++++++++++++-------------------------- 1 files changed, 240 insertions(+), 214 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/dao/dynamic/DynamicInfoDao.java b/fanli/src/main/java/com/yeshi/fanli/dao/dynamic/DynamicInfoDao.java index 6cbd9a6..014ef44 100644 --- a/fanli/src/main/java/com/yeshi/fanli/dao/dynamic/DynamicInfoDao.java +++ b/fanli/src/main/java/com/yeshi/fanli/dao/dynamic/DynamicInfoDao.java @@ -1,214 +1,240 @@ -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; - -@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) { - Query query = new Query(); - query.addCriteria(Criteria.where("createTime").lt(createTime)); - query.addCriteria( - new Criteria().andOperator( - Criteria.where("createTime").lt(createTime), - Criteria.where("classId").ne(4L) - ) - ); - mongoTemplate.remove(query); - } - - - - /** - * 鏌ヨ - * @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; + } +} + -- Gitblit v1.8.0