From 45afc31d47abebfb4f1f9fc8a420048e4870bf40 Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期三, 13 五月 2020 11:16:47 +0800
Subject: [PATCH] 粉丝统计调整

---
 fanli/src/main/java/com/yeshi/fanli/dao/user/invite/TeamFansInfoDao.java |  218 ++++++++++++++++--------------------------------------
 1 files changed, 64 insertions(+), 154 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/dao/user/invite/TeamFansInfoDao.java b/fanli/src/main/java/com/yeshi/fanli/dao/user/invite/TeamFansInfoDao.java
index eff4236..ffafaaf 100644
--- a/fanli/src/main/java/com/yeshi/fanli/dao/user/invite/TeamFansInfoDao.java
+++ b/fanli/src/main/java/com/yeshi/fanli/dao/user/invite/TeamFansInfoDao.java
@@ -1,181 +1,74 @@
 package com.yeshi.fanli.dao.user.invite;
 
-import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 import java.util.regex.Pattern;
 
-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.dao.MongodbBaseDao;
 import com.yeshi.fanli.dto.user.ThreeSaleFocusDTO;
 import com.yeshi.fanli.entity.bus.user.TeamFansInfo;
 import com.yeshi.fanli.util.StringUtil;
 
 @Repository
-public class TeamFansInfoDao {
+public class TeamFansInfoDao extends MongodbBaseDao<TeamFansInfo> {
 
-	@Resource
-	private MongoTemplate mongoTemplate;
 
 	/**
-	 * 鏂板
-	 * 
+	 * 閫夋嫨鎬ф洿鏂�
 	 * @param record
 	 */
-	public void save(TeamFansInfo record) {
-		if (record == null) {
-			return;
-		}
-		mongoTemplate.save(record);
-	}
-
-	/**
-	 * 鏇存柊鏍囩
-	 * 
-	 * @param record
-	 */
-	public void updateMemoName(Long workerId, int type, String memoName) {
-		if (memoName == null) {
-			memoName = "";
-		}
-
+	public void updateSelective(TeamFansInfo record) {
 		Query query = new Query();
-		query.addCriteria(Criteria.where("workerId").is(workerId));
+		query.addCriteria(Criteria.where("id").is(record.getId()));
 
-		Update update = null;
-		if (type == 1) {
-			update = Update.update("memoName", memoName);
-		} else {
-			update = Update.update("memoNameSup", memoName);
-		}
-		mongoTemplate.updateFirst(query, update, TeamFansInfo.class);
+		Update update = new Update();
+		if (record.getNickName() != null)
+			update.set("nickName", record.getNickName());
+		if (record.getLevel() != null)
+			update.set("level", record.getLevel().name());
+		if (record.getStateValid() != null)
+			update.set("stateValid", record.getStateValid());
+		if (record.getTaobaoBind() != null)
+			update.set("taobaoBind", record.getTaobaoBind());
+		if (record.getWeixinBind() != null)
+			update.set("weixinBind", record.getWeixinBind());
+		if (record.getWeixinId() != null)
+			update.set("weixinId", record.getWeixinId());
+		if (record.getPhone() != null)
+			update.set("phone", record.getPhone());
+		if (record.getPhoneOpen() != null)
+			update.set("phoneOpen", record.getPhoneOpen());
+		if (record.getInviteCode() != null)
+			update.set("inviteCode", record.getInviteCode());
+		if (record.getActiveTime() != null)
+			update.set("activeTime", record.getActiveTime());
+		if (record.getFansNum() != null)
+			update.set("fansNum", record.getFansNum());
+		if (record.getIncome() != null)
+			update.set("income", record.getIncome());
+		if (record.getIncomeTime() != null)
+			update.set("incomeTime", record.getIncomeTime());
+		if (record.getMemoName() != null)
+			update.set("memoName", record.getMemoName());
+		if (record.getTags() != null)
+			update.set("tags", record.getTags());
+		if (record.getMemoNameSup() != null)
+			update.set("memoNameSup", record.getMemoNameSup());
+		if (record.getTagsSup() != null)
+			update.set("tagsSup", record.getTagsSup());
+		update.set("updateTime", new Date());
+		update(query, update);
 	}
 
-	/**
-	 * 鏇存柊鏍囩
-	 * 
-	 * @param record
-	 */
-	public void updateTags(Long workerId, int type, String tags) {
-		if (tags == null) {
-			tags = "";
-		}
-
-		Query query = new Query();
-		query.addCriteria(Criteria.where("workerId").is(workerId));
-
-		Update update = null;
-		if (type == 1) {
-			update = Update.update("tags", tags);
-		} else {
-			update = Update.update("tagsSup", tags);
-		}
-		mongoTemplate.updateFirst(query, update, TeamFansInfo.class);
-	}
-
-	/**
-	 * 鏇存柊鏄电О
-	 * 
-	 * @param workerId
-	 * @param nickName
-	 */
-	public void updateNickName(Long workerId, String nickName) {
-		if (nickName == null) {
-			nickName = "";
-		}
-
-		Query query = new Query();
-		query.addCriteria(Criteria.where("workerId").is(workerId));
-		Update update = Update.update("nickName", nickName);
-		mongoTemplate.updateFirst(query, update, TeamFansInfo.class);
-	}
-
-	/**
-	 * 鏇存柊鏄惁鏈夋晥绮変笣
-	 * 
-	 * @param workerId
-	 * @param stateValid
-	 */
-	public void updateStateValid(Long workerId, boolean stateValid) {
-		Query query = new Query();
-		query.addCriteria(Criteria.where("workerId").is(workerId));
-		Update update = Update.update("stateValid", stateValid);
-		mongoTemplate.updateFirst(query, update, TeamFansInfo.class);
-	}
-
-	/**
-	 * 鏇存柊娣樺疂缁戝畾
-	 * 
-	 * @param workerId
-	 * @param taobaoBind
-	 */
-	public void updateTaobaoBind(Long workerId, boolean taobaoBind) {
-		Query query = new Query();
-		query.addCriteria(Criteria.where("workerId").is(workerId));
-		Update update = Update.update("taobaoBind", taobaoBind);
-		mongoTemplate.updateFirst(query, update, TeamFansInfo.class);
-	}
-
-	/**
-	 * 鏇存柊寰俊缁戝畾
-	 * 
-	 * @param workerId
-	 * @param weixinBind
-	 */
-	public void updateWeixinBind(Long workerId, boolean weixinBind) {
-		Query query = new Query();
-		query.addCriteria(Criteria.where("workerId").is(workerId));
-		Update update = Update.update("weixinBind", weixinBind);
-		mongoTemplate.updateFirst(query, update, TeamFansInfo.class);
-	}
-
-	/**
-	 * 鏇存柊娲昏穬鏃堕棿
-	 * 
-	 * @param workerId
-	 * @param activeTime
-	 */
-	public void updateActiveTime(Long workerId, Date activeTime) {
-		Query query = new Query();
-		query.addCriteria(Criteria.where("workerId").is(workerId));
-		Update update = Update.update("activeTime", activeTime);
-		mongoTemplate.updateFirst(query, update, TeamFansInfo.class);
-	}
-
-	/**
-	 * 鏇存柊绮変笣鏁伴噺
-	 * 
-	 * @param workerId
-	 * @param fansNum
-	 */
-	public void updateFansNum(Long workerId, int fansNum) {
-		Query query = new Query();
-		query.addCriteria(Criteria.where("workerId").is(workerId));
-		Update update = Update.update("fansNum", fansNum);
-		mongoTemplate.updateFirst(query, update, TeamFansInfo.class);
-	}
-
-	/**
-	 * 鏇存柊鏀跺叆
-	 * 
-	 * @param workerId
-	 * @param income
-	 */
-	public void updateIncome(Long workerId, BigDecimal income) {
-		Query query = new Query();
-		query.addCriteria(Criteria.where("workerId").is(workerId));
-		Update update = Update.update("income", income).set("incomeTime", new Date());
-		mongoTemplate.updateMulti(query, update, TeamFansInfo.class);
-	}
-
+	
+	
 	/**
 	 * 缁熻
 	 * 
@@ -196,7 +89,7 @@
 		Query query = createQuery(type, uid, focusDTO);
 		query.skip(start).limit(count);
 		query.with(new Sort(Sort.Direction.DESC, "weight"));
-		return mongoTemplate.find(query, TeamFansInfo.class);
+		return findList(query);
 	}
 
 	/**
@@ -206,7 +99,7 @@
 	 */
 	public long count(int type, Long uid, ThreeSaleFocusDTO focusDTO) {
 		Query query = createQuery(type, uid, focusDTO);
-		return mongoTemplate.count(query, TeamFansInfo.class);
+		return count(query);
 	}
 
 	private Query createQuery(int type, Long uid, ThreeSaleFocusDTO focusDTO) {
@@ -264,6 +157,15 @@
 									new Criteria().andOperator(Criteria.where("memoName")
 											.regex(Pattern.compile("^.*" + focusDTO.getKey() + ".*$",
 													Pattern.CASE_INSENSITIVE))),
+									new Criteria().andOperator(Criteria.where("weixinId")
+											.regex(Pattern.compile("^.*" + focusDTO.getKey() + ".*$",
+													Pattern.CASE_INSENSITIVE))),
+									new Criteria().andOperator(Criteria.where("inviteCode")
+											.regex(Pattern.compile("^.*" + focusDTO.getKey() + ".*$",
+													Pattern.CASE_INSENSITIVE))),
+									new Criteria().andOperator(Criteria.where("phone")
+											.regex(Pattern.compile("^.*" + focusDTO.getKey() + ".*$",
+													Pattern.CASE_INSENSITIVE)).andOperator(Criteria.where("phoneOpen").is(true))),
 									new Criteria().andOperator(Criteria.where("tags").regex(Pattern
 											.compile("^.*" + focusDTO.getKey() + ".*$", Pattern.CASE_INSENSITIVE)))));
 				} else {
@@ -273,6 +175,15 @@
 									new Criteria().andOperator(Criteria.where("memoNameSup")
 											.regex(Pattern.compile("^.*" + focusDTO.getKey() + ".*$",
 													Pattern.CASE_INSENSITIVE))),
+									new Criteria().andOperator(Criteria.where("weixinId")
+											.regex(Pattern.compile("^.*" + focusDTO.getKey() + ".*$",
+													Pattern.CASE_INSENSITIVE))),
+									new Criteria().andOperator(Criteria.where("inviteCode")
+											.regex(Pattern.compile("^.*" + focusDTO.getKey() + ".*$",
+													Pattern.CASE_INSENSITIVE))),
+									new Criteria().andOperator(Criteria.where("phone")
+											.regex(Pattern.compile("^.*" + focusDTO.getKey() + ".*$",
+													Pattern.CASE_INSENSITIVE)).andOperator(Criteria.where("phoneOpen").is(true))),
 									new Criteria().andOperator(Criteria.where("tagsSup").regex(Pattern
 											.compile("^.*" + focusDTO.getKey() + ".*$", Pattern.CASE_INSENSITIVE)))));
 				}
@@ -280,7 +191,6 @@
 		}
 
 		if (list.size() > 0) {
-
 			Criteria[] cas = new Criteria[list.size()];
 			for (int i = 0; i < list.size(); i++)
 				cas[i] = list.get(i);

--
Gitblit v1.8.0