From 5e7b0ed4a154ad067cbcf4aa1a1c7cce32f9864c Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期五, 26 四月 2024 18:02:17 +0800
Subject: [PATCH] 唯品会链接解析升级
---
fanli/src/main/java/com/yeshi/fanli/dao/dynamic/DynamicInfoDao.java | 455 ++++++++++++++++++++++++++++++--------------------------
1 files changed, 240 insertions(+), 215 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 e835151..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,215 +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));
-
- List<DynamicInfo> list = mongoTemplate.find(query, DynamicInfo.class);
- if (list == null || list.size() == 0) {
- return;
- }
-
- 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;
+ }
+}
+
--
Gitblit v1.8.0