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