From 7665849db56ce2e0212078f942602b6cfc6c22ad Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 26 五月 2020 10:19:15 +0800
Subject: [PATCH] 苏宁相关代码添加

---
 fanli/src/main/java/com/yeshi/fanli/dao/order/OrderMoneyDailyCountDao.java |  175 ++++++++++++++++++++++++++++-----------------------------
 1 files changed, 86 insertions(+), 89 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/dao/order/OrderMoneyDailyCountDao.java b/fanli/src/main/java/com/yeshi/fanli/dao/order/OrderMoneyDailyCountDao.java
index 9a306d7..7577d90 100644
--- a/fanli/src/main/java/com/yeshi/fanli/dao/order/OrderMoneyDailyCountDao.java
+++ b/fanli/src/main/java/com/yeshi/fanli/dao/order/OrderMoneyDailyCountDao.java
@@ -37,7 +37,6 @@
 
 	private static String collectionName = "order_money_daily_count";
 
-
 	/**
 	 * 閫夋嫨鏇存柊
 	 * 
@@ -63,6 +62,8 @@
 			update.set("teamSubsidy", info.getTeamSubsidy());
 		if (info.getTeamSubsidyNum() != null)
 			update.set("teamSubsidyNum", info.getTeamSubsidyNum());
+		if (info.getTeamDividentsOrderNum() != null)
+			update.set("teamDividentsOrderNum", info.getTeamDividentsOrderNum());
 		if (info.getDirectOrderNum() != null)
 			update.set("directOrderNum", info.getDirectOrderNum());
 		if (info.getInDirectOrderNum() != null)
@@ -103,9 +104,8 @@
 	 */
 	public List<OrderMoneyDailyCount> sumGroupBySourceType(Long uid, Date minDate, Date maxDate) {
 		List<OrderMoneyDailyCount> listDailyCount = new ArrayList<>();
-		String reduce = "function(doc, aggr){"
-				+ " aggr.totalIncome += doc.income;"
-				+ " aggr.totalNum += doc.orderNum;" + "}";
+		String reduce = "function(doc, aggr){" + " aggr.totalIncome += doc.income;" + " aggr.totalNum += doc.orderNum;"
+				+ "}";
 
 		// 鏌ヨ鏉′欢
 		List<Criteria> list = new ArrayList<Criteria>();
@@ -142,7 +142,7 @@
 				if (object == null || object.get("sourceType") == null) {
 					continue;
 				}
-				
+
 				SourceTypeEnum sourceTypeEnum = null;
 				for (int m = 0; m < arrayEnun.length; m++) {
 					if (arrayEnun[m].name().equals(object.get("sourceType").toString())) {
@@ -173,8 +173,7 @@
 		List<OrderMoneyDailyCount> listDailyCount = new ArrayList<>();
 
 		// 缁熻鏂规硶
-		String reduce = "function(doc, aggr){"
-				+ " aggr.totalIncome += doc.incomeTeam;"
+		String reduce = "function(doc, aggr){" + " aggr.totalIncome += doc.incomeTeam;"
 				+ " aggr.totalNum += doc.orderNumTeam;" + "}";
 
 		// 鏌ヨ鏉′欢
@@ -211,7 +210,7 @@
 				if (object == null || object.get("sourceType") == null) {
 					continue;
 				}
-				
+
 				SourceTypeEnum sourceTypeEnum = null;
 				for (int m = 0; m < arrayEnun.length; m++) {
 					if (arrayEnun[m].name().equals(object.get("sourceType").toString())) {
@@ -239,18 +238,18 @@
 		builder.append(" }");
 		return builder.toString();
 	}
-//	private String getReduce2() {
-//	StringBuilder builder = new StringBuilder();
-//	builder.append("function(doc, aggr){ ");
-//	builder.append(" aggr.totalIncome += parseFloat((Math.round((doc.income)*100)/100).toFixed(2));");
-//	builder.append(" aggr.totalNum += doc.orderNum;");
-//	builder.append(" aggr.totalIncomeTeam += parseFloat((Math.round((doc.incomeTeam)*100)/100).toFixed(2));");
-//	builder.append(" aggr.totalNumTeam += doc.orderNumTeam;");
-//	builder.append(" }");
-//	return builder.toString();
-//}
-
-	
+	// private String getReduce2() {
+	// StringBuilder builder = new StringBuilder();
+	// builder.append("function(doc, aggr){ ");
+	// builder.append(" aggr.totalIncome +=
+	// parseFloat((Math.round((doc.income)*100)/100).toFixed(2));");
+	// builder.append(" aggr.totalNum += doc.orderNum;");
+	// builder.append(" aggr.totalIncomeTeam +=
+	// parseFloat((Math.round((doc.incomeTeam)*100)/100).toFixed(2));");
+	// builder.append(" aggr.totalNumTeam += doc.orderNumTeam;");
+	// builder.append(" }");
+	// return builder.toString();
+	// }
 
 	/**
 	 * 缁熻姣忓ぉ璁㈠崟鏀跺叆銆佹暟閲�
@@ -297,7 +296,7 @@
 				if (dbObject == null) {
 					continue;
 				}
-				
+
 				Object object = dbObject.get("countDay");
 				if (object == null) {
 					continue;
@@ -321,7 +320,6 @@
 		}
 		return results;
 	}
-
 
 	/**
 	 *    缁熻姣忔湀璁㈠崟鏀跺叆銆佹暟閲�
@@ -367,12 +365,12 @@
 				if (dbObject == null) {
 					continue;
 				}
-				
+
 				Object object = dbObject.get("yearMonth");
 				if (object == null) {
 					continue;
 				}
-				
+
 				OrderMoneyDailyCount dailyCount = new OrderMoneyDailyCount();
 				dailyCount.setYearMonth(object.toString());
 				dailyCount.setIncome(new BigDecimal(dbObject.get("totalIncome").toString()).intValue());
@@ -384,8 +382,7 @@
 		}
 		return results;
 	}
-	 	
-	
+
 	private String getTeamReduce() {
 		StringBuilder builder = new StringBuilder();
 		builder.append("function(doc, aggr){ ");
@@ -393,11 +390,11 @@
 		builder.append(" aggr.totalRewardNum += doc.teamRewardNum;");
 		builder.append(" aggr.totalSubsidy += doc.teamSubsidy;");
 		builder.append(" aggr.totalSubsidyNum += doc.teamSubsidyNum;");
+		builder.append(" aggr.totalNum += doc.teamDividentsOrderNum;");
 		builder.append(" }");
 		return builder.toString();
 	}
 
-	
 	/**
 	 * 缁熻姣忓ぉ璁㈠崟鏀跺叆銆佹暟閲�
 	 * @param uid
@@ -443,7 +440,7 @@
 				if (dbObject == null) {
 					continue;
 				}
-				
+
 				Object object = dbObject.get("countDay");
 				if (object == null) {
 					continue;
@@ -497,6 +494,7 @@
 		map.put("totalRewardNum", 0);
 		map.put("totalSubsidy", 0);
 		map.put("totalSubsidyNum", 0);
+		map.put("totalNum", 0);
 		BasicDBObject initial = new BasicDBObject(map);
 
 		// 杩涜鎸夊ぉ銆佸懆銆佹湀鍒嗙粍
@@ -512,26 +510,25 @@
 				if (dbObject == null) {
 					continue;
 				}
-				
+
 				Object object = dbObject.get("yearMonth");
 				if (object == null) {
 					continue;
 				}
-				
+
 				OrderMoneyDailyCount dailyCount = new OrderMoneyDailyCount();
 				dailyCount.setYearMonth(object.toString());
 				dailyCount.setTeamReward(new BigDecimal(dbObject.get("totalReward").toString()).intValue());
 				dailyCount.setTeamRewardNum(new BigDecimal(dbObject.get("totalRewardNum").toString()).intValue());
 				dailyCount.setTeamSubsidy(new BigDecimal(dbObject.get("totalSubsidy").toString()).intValue());
 				dailyCount.setTeamSubsidyNum(new BigDecimal(dbObject.get("totalSubsidyNum").toString()).intValue());
+				dailyCount.setTeamDividentsOrderNum(new BigDecimal( dbObject.get("totalNum") .toString()).intValue());
 				results.add(dailyCount);
 			}
 		}
 		return results;
 	}
-	
-	
-	
+
 	private String getTeamOrderNumReduce() {
 		StringBuilder builder = new StringBuilder();
 		builder.append("function(doc, aggr){ ");
@@ -541,7 +538,7 @@
 		builder.append(" }");
 		return builder.toString();
 	}
-	
+
 	/**
 	 *    缁熻姣忔湀璁㈠崟鏀跺叆銆佹暟閲�
 	 * @param uid
@@ -575,7 +572,8 @@
 		// 杩涜鎸夊ぉ銆佸懆銆佹湀鍒嗙粍
 		BasicDBObject agg = new BasicDBObject("countDay", "");
 		DBCollection collection = mongoTemplate.getCollection(collectionName);
-		GroupCommand xx = new GroupCommand(collection, agg, query.getQueryObject(), initial, getTeamOrderNumReduce(), null);
+		GroupCommand xx = new GroupCommand(collection, agg, query.getQueryObject(), initial, getTeamOrderNumReduce(),
+				null);
 		BasicDBList objects = (BasicDBList) collection.group(xx);
 
 		List<OrderMoneyDailyCount> results = new ArrayList<>();
@@ -586,19 +584,20 @@
 				if (dbObject == null) {
 					continue;
 				}
-				
+
 				Object object = dbObject.get("countDay");
 				if (object == null) {
 					continue;
 				}
-				
+
 				try {
 					String date = object.toString();
 					Date dtime = sdf.parse(date);
 					OrderMoneyDailyCount dailyCount = new OrderMoneyDailyCount();
 					dailyCount.setCountDay(dtime);
 					dailyCount.setDirectOrderNum(new BigDecimal(dbObject.get("directOrderNum").toString()).intValue());
-					dailyCount.setInDirectOrderNum(new BigDecimal(dbObject.get("inDirectOrderNum").toString()).intValue());
+					dailyCount.setInDirectOrderNum(
+							new BigDecimal(dbObject.get("inDirectOrderNum").toString()).intValue());
 					dailyCount.setBeyondOrderNum(new BigDecimal(dbObject.get("beyondOrderNum").toString()).intValue());
 					results.add(dailyCount);
 				} catch (Exception e) {
@@ -608,8 +607,7 @@
 		}
 		return results;
 	}
-	
-	
+
 	/**
 	 *    缁熻姣忔湀璁㈠崟鏀跺叆銆佹暟閲�
 	 * @param uid
@@ -643,7 +641,8 @@
 		// 杩涜鎸夊ぉ銆佸懆銆佹湀鍒嗙粍
 		BasicDBObject agg = new BasicDBObject("yearMonth", "");
 		DBCollection collection = mongoTemplate.getCollection(collectionName);
-		GroupCommand xx = new GroupCommand(collection, agg, query.getQueryObject(), initial, getTeamOrderNumReduce(), null);
+		GroupCommand xx = new GroupCommand(collection, agg, query.getQueryObject(), initial, getTeamOrderNumReduce(),
+				null);
 		BasicDBList objects = (BasicDBList) collection.group(xx);
 
 		List<OrderMoneyDailyCount> results = new ArrayList<>();
@@ -653,24 +652,24 @@
 				if (dbObject == null) {
 					continue;
 				}
-				
+
 				Object object = dbObject.get("yearMonth");
 				if (object == null) {
 					continue;
 				}
-				
+
 				OrderMoneyDailyCount dailyCount = new OrderMoneyDailyCount();
 				dailyCount.setYearMonth(object.toString());
 				dailyCount.setDirectOrderNum(new BigDecimal(dbObject.get("directOrderNum").toString()).intValue());
 				dailyCount.setInDirectOrderNum(new BigDecimal(dbObject.get("inDirectOrderNum").toString()).intValue());
 				dailyCount.setBeyondOrderNum(new BigDecimal(dbObject.get("beyondOrderNum").toString()).intValue());
-						
+
 				results.add(dailyCount);
 			}
 		}
 		return results;
 	}
-	
+
 	/**
 	 *    缁熻姣忔湀璁㈠崟鏀跺叆銆佹暟閲�
 	 * @param uid
@@ -704,7 +703,8 @@
 		// 杩涜鎸夊ぉ銆佸懆銆佹湀鍒嗙粍
 		BasicDBObject agg = new BasicDBObject("uid", "");
 		DBCollection collection = mongoTemplate.getCollection(collectionName);
-		GroupCommand xx = new GroupCommand(collection, agg, query.getQueryObject(), initial, getTeamOrderNumReduce(), null);
+		GroupCommand xx = new GroupCommand(collection, agg, query.getQueryObject(), initial, getTeamOrderNumReduce(),
+				null);
 		BasicDBList objects = (BasicDBList) collection.group(xx);
 
 		List<OrderMoneyDailyCount> results = new ArrayList<>();
@@ -714,25 +714,23 @@
 				if (dbObject == null) {
 					continue;
 				}
-				
+
 				Object object = dbObject.get("uid");
 				if (object == null) {
 					continue;
 				}
-				
+
 				OrderMoneyDailyCount dailyCount = new OrderMoneyDailyCount();
 				dailyCount.setDirectOrderNum(new BigDecimal(dbObject.get("directOrderNum").toString()).intValue());
 				dailyCount.setInDirectOrderNum(new BigDecimal(dbObject.get("inDirectOrderNum").toString()).intValue());
 				dailyCount.setBeyondOrderNum(new BigDecimal(dbObject.get("beyondOrderNum").toString()).intValue());
-						
+
 				results.add(dailyCount);
 			}
 		}
 		return results;
 	}
-	
-	
-	
+
 	/**
 	 * 鏍规嵁璁㈠崟鎺掕姒滆繘琛寀id鍒嗙粍璁㈠崟鏁伴噺鎺掑簭
 	 * @param uid
@@ -741,11 +739,10 @@
 	 * @return
 	 */
 	public List<OrderRankingVO> getRankingByOrderNum(Long uid, Date minDate, Date maxDate) {
-    	LookupOperation lookupToLots = LookupOperation.newLookup().
-                from("order_money_daily_count").//鍏宠仈琛ㄥ悕锛屽鏂�
-                localField("workerUid").// 涓昏〃鍏宠仈瀛楁
-                foreignField("uid").// 娆¤〃瀛楁鍏宠仈瀛楁
-                as("orders"); // 娆¤〃鐨勫埆鍚�
+		LookupOperation lookupToLots = LookupOperation.newLookup().from("order_money_daily_count").// 鍏宠仈琛ㄥ悕锛屽鏂�
+				localField("workerUid").// 涓昏〃鍏宠仈瀛楁
+				foreignField("uid").// 娆¤〃瀛楁鍏宠仈瀛楁
+				as("orders"); // 娆¤〃鐨勫埆鍚�
 
 		// 鏌ヨ鏉′欢
 		List<Criteria> list = new ArrayList<Criteria>();
@@ -764,46 +761,46 @@
 			cas[i] = list.get(i);
 		// 鏌ヨ鍙傛暟
 		Criteria criteria = new Criteria().andOperator(cas);
-		
-            	
-        List<AggregationOperation> aggs = new ArrayList<>(); 
-        // 宸﹁繛鎺�
-        aggs.add(lookupToLots); 
-        // 鎷嗗垎瀛愭暟缁�
-        aggs.add(Aggregation.unwind("orders"));
-        // 鏉′欢鍖归厤
-        aggs.add(Aggregation.match(criteria));  
-        // 闇�瑕佽繑鍥炵殑瀛楁
-        aggs.add(Aggregation.project().and("workerUid").as("workerUid").and("level").as("level")
-        		.and("orders.orderNum").as("number"));
-        // 鍒嗙粍姹傚拰骞惰繑鍥�
-        aggs.add(Aggregation.group("workerUid").first("workerUid").as("workerUid").first("level").as("level")
-        		.sum("number").as("number")); 
-        // 鎺掑簭
-        aggs.add(Aggregation.sort(new Sort(Sort.Direction.DESC, "number")));  
-        aggs.add(Aggregation.limit(10));  
-        
-        // 缁勭粐鏉′欢
-        Aggregation agg = Aggregation.newAggregation(aggs);  
-        // 鎵ц鏌ヨ
-        AggregationResults<BasicDBObject> results = mongoTemplate.aggregate(agg, "threeSaleDetail", BasicDBObject.class);
-       
-        // 杩斿洖缁撴灉澶勭悊
-        List<BasicDBObject> livevideo  = results.getMappedResults();
-        
-        List<OrderRankingVO> resultList = new ArrayList<>();
-        for (BasicDBObject obj : livevideo) {
+
+		List<AggregationOperation> aggs = new ArrayList<>();
+		// 宸﹁繛鎺�
+		aggs.add(lookupToLots);
+		// 鎷嗗垎瀛愭暟缁�
+		aggs.add(Aggregation.unwind("orders"));
+		// 鏉′欢鍖归厤
+		aggs.add(Aggregation.match(criteria));
+		// 闇�瑕佽繑鍥炵殑瀛楁
+		aggs.add(Aggregation.project().and("workerUid").as("workerUid").and("level").as("level").and("orders.orderNum")
+				.as("number"));
+		// 鍒嗙粍姹傚拰骞惰繑鍥�
+		aggs.add(Aggregation.group("workerUid").first("workerUid").as("workerUid").first("level").as("level")
+				.sum("number").as("number"));
+		// 鎺掑簭
+		aggs.add(Aggregation.sort(new Sort(Sort.Direction.DESC, "number")));
+		aggs.add(Aggregation.limit(10));
+
+		// 缁勭粐鏉′欢
+		Aggregation agg = Aggregation.newAggregation(aggs);
+		// 鎵ц鏌ヨ
+		AggregationResults<BasicDBObject> results = mongoTemplate.aggregate(agg, "threeSaleDetail",
+				BasicDBObject.class);
+
+		// 杩斿洖缁撴灉澶勭悊
+		List<BasicDBObject> livevideo = results.getMappedResults();
+
+		List<OrderRankingVO> resultList = new ArrayList<>();
+		for (BasicDBObject obj : livevideo) {
 			Object object = obj.get("workerUid");
 			if (object == null) {
 				continue;
 			}
-			
+
 			OrderRankingVO vo = new OrderRankingVO();
 			vo.setUid(new BigDecimal(obj.get("workerUid").toString()).longValue());
 			vo.setGrade(new BigDecimal(obj.get("level").toString()).intValue());
 			vo.setNumber(new BigDecimal(obj.get("number").toString()).intValue());
-			resultList.add(vo);	
+			resultList.add(vo);
 		}
-        return resultList;
+		return resultList;
 	}
 }

--
Gitblit v1.8.0