From 98b1a0affd69bbe63223c21fdd2c404e8bedfccb Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期三, 20 五月 2020 17:25:08 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/div' into 2.1.2

---
 fanli/src/main/java/com/yeshi/fanli/controller/client/v2/PreviewInfoControllerV2.java |  356 ++++++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 314 insertions(+), 42 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/PreviewInfoControllerV2.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/PreviewInfoControllerV2.java
index c43dd4b..a8d4646 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/PreviewInfoControllerV2.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/PreviewInfoControllerV2.java
@@ -3,30 +3,47 @@
 import java.io.PrintWriter;
 import java.math.BigDecimal;
 import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.Collections;
 import java.util.Date;
+import java.util.HashSet;
 import java.util.List;
+import java.util.Set;
 
 import javax.annotation.Resource;
 
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.multipart.MultipartFile;
 import org.yeshi.utils.JsonUtil;
 
 import com.google.gson.Gson;
 import com.google.gson.reflect.TypeToken;
+import com.yeshi.fanli.dto.push.PushContentDTO;
 import com.yeshi.fanli.entity.accept.AcceptData;
 import com.yeshi.fanli.entity.bus.user.Extract;
 import com.yeshi.fanli.entity.bus.user.PreviewInfo;
 import com.yeshi.fanli.entity.bus.user.PreviewInfo.PreviewEnum;
+import com.yeshi.fanli.entity.bus.user.UserInfo;
+import com.yeshi.fanli.entity.config.push.PushMsgFactory;
+import com.yeshi.fanli.entity.money.UserMoneyDetail.UserMoneyDetailTypeEnum;
+import com.yeshi.fanli.entity.order.OrderMoneyDailyCount;
+import com.yeshi.fanli.exception.push.PushException;
 import com.yeshi.fanli.exception.user.PreviewInfoException;
 import com.yeshi.fanli.log.LogHelper;
+import com.yeshi.fanli.service.inter.count.HongBaoV2CountService;
+import com.yeshi.fanli.service.inter.money.UserMoneyDetailService;
+import com.yeshi.fanli.service.inter.order.CommonOrderService;
+import com.yeshi.fanli.service.inter.order.OrderMoneyDailyCountService;
+import com.yeshi.fanli.service.inter.push.PushService;
 import com.yeshi.fanli.service.inter.user.PreviewInfoService;
 import com.yeshi.fanli.service.inter.user.UserInfoService;
+import com.yeshi.fanli.util.Constant;
+import com.yeshi.fanli.util.MoneyBigDecimalUtil;
 import com.yeshi.fanli.util.RedisManager;
 import com.yeshi.fanli.util.StringUtil;
 import com.yeshi.fanli.util.TimeUtil;
 import com.yeshi.fanli.util.account.UserUtil;
+import com.yeshi.fanli.vo.money.MoneyPredictVO;
 import com.yeshi.fanli.vo.money.MoneyStatisticVO;
 import com.yeshi.fanli.vo.user.MineInfoVO;
 
@@ -44,7 +61,24 @@
 
 	@Resource
 	private RedisManager redisManager;
-
+	
+	@Resource
+	private HongBaoV2CountService hongBaoV2CountService;
+	
+	@Resource
+	private UserMoneyDetailService userMoneyDetailService;
+	
+	@Resource
+	private OrderMoneyDailyCountService orderMoneyDailyCountService;
+	
+	@Resource
+	private CommonOrderService commonOrderService;
+	
+	@Resource
+	private PushService pushService;
+	
+	
+	
 	/**
 	 * 淇濆瓨璧勯噾淇℃伅
 	 * 
@@ -71,15 +105,149 @@
 	
 	@RequestMapping(value = "getMoneyInfo")
 	public void getMoneyInfo(String callback, AcceptData acceptData, Long uid, PrintWriter out) {
+		MoneyStatisticVO dto = null;
 		PreviewInfo previewInfo = previewInfoService.get(uid, PreviewEnum.moneyInfo);
-		if (previewInfo == null || StringUtil.isNullOrEmpty(previewInfo.getContent())) {
-			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛棤鏁版嵁"));
-			return;
+		if (previewInfo != null && !StringUtil.isNullOrEmpty(previewInfo.getContent())) {
+			dto = new Gson().fromJson(previewInfo.getContent(), MoneyStatisticVO.class);
+		} else {
+			dto = createMoneyStatistic(uid);
 		}
-		MoneyStatisticVO dto = new Gson().fromJson(previewInfo.getContent(), MoneyStatisticVO.class);
 		JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(dto));
 	}
 
+	private MoneyStatisticVO createMoneyStatistic(Long uid) {
+		UserInfo user = userInfoService.getUserById(uid);
+
+		MoneyStatisticVO vo = new MoneyStatisticVO();
+		vo.setBalanceMoney(user.getMyHongBao());
+		Date minDate = null;
+		Date maxDate = null;
+		long timeStamp = System.currentTimeMillis();
+		List<UserMoneyDetailTypeEnum> typeList = new ArrayList<>();
+
+		Calendar calendar = Calendar.getInstance();
+		calendar.setTimeInMillis(timeStamp);
+
+		typeList.clear();
+		typeList.add(UserMoneyDetailTypeEnum.extract);
+		typeList.add(UserMoneyDetailTypeEnum.extractNew);
+		typeList.add(UserMoneyDetailTypeEnum.extractVerify);
+		typeList.add(UserMoneyDetailTypeEnum.extractVerifyNew);
+		typeList.add(UserMoneyDetailTypeEnum.extractReject);
+		typeList.add(UserMoneyDetailTypeEnum.extractAutoWX);
+
+		// 鏈湀鎻愮幇
+		maxDate = new Date(timeStamp);
+		calendar = Calendar.getInstance();
+		minDate = new Date(TimeUtil
+				.convertToTimeTemp(calendar.get(Calendar.YEAR) + "-" + (calendar.get(Calendar.MONTH) + 1), "yyyy-M"));
+		calendar.add(Calendar.MONTH, -1);
+		vo.setMonthExtractMoney(
+				userMoneyDetailService.statisticUserTypeMoneyWithDate(uid, typeList, minDate, maxDate, 1).abs());
+
+		// 涓婃湀鎻愮幇
+		maxDate = new Date(TimeUtil
+				.convertToTimeTemp(calendar.get(Calendar.YEAR) + "-" + (calendar.get(Calendar.MONTH) + 1), "yyyy-M"));
+		calendar.add(Calendar.MONTH, -1);
+		minDate = new Date(TimeUtil
+				.convertToTimeTemp(calendar.get(Calendar.YEAR) + "-" + (calendar.get(Calendar.MONTH) + 1), "yyyy-M"));
+		vo.setLastMonthExtractMoney(
+				userMoneyDetailService.statisticUserTypeMoneyWithDate(uid, typeList, minDate, maxDate, 1).abs());
+
+		minDate = new Date(0L);
+		maxDate = new Date(timeStamp);
+		// 绱鎴愬姛鎻愮幇
+		vo.setTotalExtractMoney(
+				userMoneyDetailService.statisticUserTypeMoneyWithDate(uid, typeList, minDate, maxDate, 1).abs());
+
+		// 绱鑷喘杩斿埄
+		typeList.clear();
+		typeList.add(UserMoneyDetailTypeEnum.fanli);
+		typeList.add(UserMoneyDetailTypeEnum.fanliNew);
+		typeList.add(UserMoneyDetailTypeEnum.fanliWeiQuan);
+		typeList.add(UserMoneyDetailTypeEnum.fanliWeiQuanNew);
+		typeList.add(UserMoneyDetailTypeEnum.orderReward);
+		typeList.add(UserMoneyDetailTypeEnum.orderRewardNew);
+		vo.setTotalFanLiMoney(
+				userMoneyDetailService.statisticUserTypeMoneyWithDate(uid, typeList, minDate, maxDate).abs());
+
+		// 绱鍒嗕韩璧�
+		typeList.clear();
+		typeList.add(UserMoneyDetailTypeEnum.share);
+		typeList.add(UserMoneyDetailTypeEnum.shareNew);
+		typeList.add(UserMoneyDetailTypeEnum.shareWeiQuan);
+		vo.setTotalShareMoney(
+				userMoneyDetailService.statisticUserTypeMoneyWithDate(uid, typeList, minDate, maxDate).abs());
+
+		// 绱閭�璇疯禋
+		typeList.clear();
+		typeList.add(UserMoneyDetailTypeEnum.invite);
+		typeList.add(UserMoneyDetailTypeEnum.inviteWeiQuan);
+		typeList.add(UserMoneyDetailTypeEnum.inviteAndShare);
+		typeList.add(UserMoneyDetailTypeEnum.subsidy);
+		typeList.add(UserMoneyDetailTypeEnum.teamReward);
+		vo.setTotalInviteMoney(
+				userMoneyDetailService.statisticUserTypeMoneyWithDate(uid, typeList, minDate, maxDate).abs());
+
+		// 鏈湀鏀惰揣
+		maxDate = new Date(timeStamp);
+		calendar = Calendar.getInstance();
+		minDate = new Date(TimeUtil
+				.convertToTimeTemp(calendar.get(Calendar.YEAR) + "-" + (calendar.get(Calendar.MONTH) + 1), "yyyy-M"));
+		calendar.add(Calendar.MONTH, -1);
+		vo.setMonthSettleMoney(hongBaoV2CountService.sumMoneyBySettleTimeAndUid(uid, minDate, maxDate));
+
+		// 涓婃湀鏀惰揣
+		maxDate = new Date(TimeUtil
+				.convertToTimeTemp(calendar.get(Calendar.YEAR) + "-" + (calendar.get(Calendar.MONTH) + 1), "yyyy-M"));
+		calendar.add(Calendar.MONTH, -1);
+		minDate = new Date(TimeUtil
+				.convertToTimeTemp(calendar.get(Calendar.YEAR) + "-" + (calendar.get(Calendar.MONTH) + 1), "yyyy-M"));
+		vo.setLastMonthSettleMoney(hongBaoV2CountService.sumMoneyBySettleTimeAndUid(uid, minDate, maxDate));
+
+		// 寰呯‘璁ゆ敹璐э紙180澶╁唴锛�
+		vo.setNotSettleMoney(hongBaoV2CountService.sumMoneyByANotSettleAndUid(uid));
+
+		// 浠婃棩棰勪及
+		calendar.add(Calendar.DAY_OF_YEAR, -1);
+		minDate = new Date(TimeUtil.convertDateToTemp(TimeUtil.getGernalTime(timeStamp)));
+		vo.setTodayPredict(cratePredictVO(orderMoneyDailyCountService.query(uid, minDate, null)));
+
+		// 鏈湀棰勪及
+		maxDate = new Date(timeStamp);
+		calendar = Calendar.getInstance();
+		minDate = new Date(TimeUtil
+				.convertToTimeTemp(calendar.get(Calendar.YEAR) + "-" + (calendar.get(Calendar.MONTH) + 1), "yyyy-M"));
+		calendar.add(Calendar.MONTH, -1);
+		vo.setMonthPredict(cratePredictVO(orderMoneyDailyCountService.query(uid, minDate, maxDate)));
+		return vo;
+	}
+	
+	private MoneyPredictVO cratePredictVO(List<OrderMoneyDailyCount> list) {
+		MoneyPredictVO predictVO = new MoneyPredictVO();
+		predictVO.setMineNum(0);
+		predictVO.setTeamNum(0);
+		predictVO.setMineMoney(BigDecimal.valueOf(0));
+		predictVO.setTeamMoney(BigDecimal.valueOf(0));
+		BigDecimal hundred = BigDecimal.valueOf(100);
+		if (list != null && list.size() > 0) {
+			for (OrderMoneyDailyCount dailyCount : list) {
+				if (dailyCount.getOrderNum() != null)
+					predictVO.setMineNum(predictVO.getMineNum() + dailyCount.getOrderNum());
+				if (dailyCount.getOrderNumTeam() != null)
+					predictVO.setTeamNum(predictVO.getTeamNum() + dailyCount.getOrderNumTeam());
+				if (dailyCount.getIncome() != null)
+					predictVO.setMineMoney(predictVO.getMineMoney()
+							.add(MoneyBigDecimalUtil.div(BigDecimal.valueOf(dailyCount.getIncome()), hundred)));
+				if (dailyCount.getIncomeTeam() != null)
+					predictVO.setTeamMoney(predictVO.getTeamMoney()
+							.add(MoneyBigDecimalUtil.div(BigDecimal.valueOf(dailyCount.getIncomeTeam()), hundred)));
+			}
+		}
+		predictVO.setTotalNum(predictVO.getTeamNum() + predictVO.getMineNum());
+		predictVO.setTotalMoney(predictVO.getMineMoney().add(predictVO.getTeamMoney()));
+		return predictVO;
+	}
 	
 	/**
 	 * 淇濆瓨鎻愮幇璁板綍
@@ -91,18 +259,18 @@
 	 * @param out
 	 */
 	@RequestMapping(value = "saveExtractRecord")
-	public void saveExtractRecord(String callback, AcceptData acceptData, Long uid, String time, BigDecimal money,
+	public void saveExtractRecord(String callback, AcceptData acceptData, Long uid, String dayTime, BigDecimal money,
 			PrintWriter out) {
 		if (uid == null) {
 			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�"));
 			return;
 		}
 		try {
-			previewInfoService.saveExtractRecord(uid, time, money);
+			previewInfoService.saveExtractRecord(uid, dayTime, money);
+			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("淇濆瓨鎴愬姛"));
 		} catch (PreviewInfoException e) {
 			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg()));
 		}
-		JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("淇濆瓨鎴愬姛"));
 	}
 
 	@RequestMapping(value = "getExtractRecord")
@@ -118,26 +286,53 @@
 			list = new ArrayList<>();
 
 		JSONArray JSONArray = new JSONArray();
-		for (Extract extract : list) {
-			Date receiveTime = extract.getReceiveTime();
-			if (receiveTime == null) {
-				receiveTime = new Date(extract.getExtractTime());
-			}
-			String account = "鏀粯瀹濓細" + UserUtil.filterAlipayAccount(extract.getAccount());
-			account = account + "-濮撳悕锛�" + UserUtil.filterAlipayName(extract.getName());
+		if (list.size() > 0) {
+			for (Extract extract : list) {
+				Date receiveTime = extract.getReceiveTime();
+				if (receiveTime == null) {
+					continue;
+				}
+				String account = "鏀粯瀹濓細" + UserUtil.filterAlipayAccount(extract.getAccount());
+				account = account + "-濮撳悕锛�" + UserUtil.filterAlipayName(extract.getName());
 
-			JSONObject object = new JSONObject();
-			object.put("id", extract.getId());
-			object.put("title", "浣犱簬" + TimeUtil.formatDate(receiveTime) + "鎻愮幇鎴愬姛");
-			object.put("account", account);
-			object.put("money", "楼" + extract.getMoney().setScale(2).toString());
-			JSONArray.add(object);
+				JSONObject object = new JSONObject();
+				object.put("id", extract.getId());
+				object.put("title", "浣犱簬" + TimeUtil.formatDate(receiveTime) + "鎻愮幇鎴愬姛");
+				object.put("account", account);
+				object.put("money", "楼" + extract.getMoney().setScale(2).toString());
+				JSONArray.add(object);
+			}
 		}
+		
 
 		JSONObject json = new JSONObject();
 		json.put("count", JSONArray.size());
 		json.put("list", JSONArray);
 		JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(json));
+	}
+	
+	/**
+	 * 鍒犻櫎鎻愮幇璁板綍
+	 * 
+	 * @param callback
+	 * @param acceptData
+	 * @param uid
+	 * @param vo
+	 * @param out
+	 */
+	@RequestMapping(value = "previewExtractRecord")
+	public void previewExtractRecord(String callback, AcceptData acceptData, Long uid, PrintWriter out) {
+		if (uid == null) {
+			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�"));
+			return;
+		}
+		try {
+			previewInfoService.previewExtractRecord(uid);
+			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("宸叉坊鍔犻瑙�"));
+		} catch (PreviewInfoException e) {
+			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg()));
+			e.printStackTrace();
+		}
 	}
 	
 	/**
@@ -169,15 +364,16 @@
 	 * @param out
 	 */
 	@RequestMapping(value = "saveMineInfo")
-	public void saveMineInfo(String callback, AcceptData acceptData, MineInfoVO infoVO, MultipartFile file,
-			PrintWriter out) {
+	public void saveMineInfo(String callback, AcceptData acceptData, MineInfoVO infoVO,	PrintWriter out) {
 		if (infoVO == null || infoVO.getUid() == null) {
 			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�"));
 			return;
 		}
 		try {
-			previewInfoService.saveMineInfo(infoVO, file);
+			previewInfoService.saveMineInfo(infoVO);
 			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("淇濆瓨鎴愬姛"));
+		} catch (PreviewInfoException e) {
+			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg()));
 		} catch (Exception e) {
 			LogHelper.errorDetailInfo(e);
 			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("淇濆瓨澶辫触"));
@@ -187,13 +383,14 @@
 	@RequestMapping(value = "getMineInfo")
 	public void getMineInfo(String callback, AcceptData acceptData, Long uid, PrintWriter out) {
 		PreviewInfo previewInfo = previewInfoService.get(uid, PreviewEnum.mineInfo);
-		if (previewInfo == null || StringUtil.isNullOrEmpty(previewInfo.getContent())) {
-			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛棤鏁版嵁"));
-			return;
+		MineInfoVO dto = null;
+		if (previewInfo != null && !StringUtil.isNullOrEmpty(previewInfo.getContent())) {
+			dto = new Gson().fromJson(previewInfo.getContent(), MineInfoVO.class);
 		}
 		
-		MineInfoVO dto = new Gson().fromJson(previewInfo.getContent(), MineInfoVO.class);
-		JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(dto));
+		if (dto == null)
+		    dto = new MineInfoVO();
+		JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(JsonUtil.getSimpleGson().toJson(dto)));
 	}
 
 	/**
@@ -208,21 +405,18 @@
 	 * @param out
 	 */
 	@RequestMapping(value = "saveMoneyArrival")
-	public void saveMoneyArrival(String callback, AcceptData acceptData, Long uid, BigDecimal money, String time,
+	public void saveMoneyArrival(String callback, AcceptData acceptData, Long uid, BigDecimal money, String dayTime,
 			String orderNo, PrintWriter out) {
-		if (uid == null) {
-			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�"));
-			return;
-		}
-
 		try {
-			String link = previewInfoService.saveMoneyArrival(uid, money, time, orderNo);
+			String link = previewInfoService.saveMoneyArrival(uid, money, dayTime, orderNo, acceptData.getPlatform());
 			JSONObject object = new JSONObject();
 			object.put("link", link);
 			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(object));
+		} catch (PreviewInfoException e) { 
+			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg()));
 		} catch (Exception e) {
 			LogHelper.errorDetailInfo(e);
-			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("淇濆瓨澶辫触"));
+			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("棰勮澶辫触"));
 		}
 	}
 
@@ -230,13 +424,91 @@
 	@RequestMapping(value = "getMoneyArrivalImg")
 	public void getMoneyArrivalImg(String callback, AcceptData acceptData, Long uid, PrintWriter out) {
 		PreviewInfo previewInfo = previewInfoService.get(uid, PreviewEnum.moneyInfo);
-		if (previewInfo == null || StringUtil.isNullOrEmpty(previewInfo.getContent())) {
-			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛棤鏁版嵁"));
-			return;
+		String link = null;
+		if (previewInfo != null && StringUtil.isNullOrEmpty(previewInfo.getContent())) {
+			link = previewInfo.getContent();
 		}
 		JSONObject object = new JSONObject();
-		object.put("link", previewInfo.getContent());
+		object.put("link", link);
 		JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(object));
 	}
 
+	/**
+	 * 鎺ㄩ�侀瑙�
+	 * @param callback
+	 * @param acceptData
+	 * @param uid
+	 * @param vo
+	 * @param out
+	 */
+	@RequestMapping(value = "saveOrderInfo")
+	public void saveOrderInfo(String callback, AcceptData acceptData, Long uid, Integer type, Integer num, PrintWriter out) {
+		if (uid == null) {
+			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�"));
+			return;
+		}
+		
+		if (type == null || type < 1 || type > 2) {
+			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇烽�夋嫨璁㈠崟绫诲瀷"));
+			return;
+		}
+		 
+		if (num == null || num <= 0) {
+			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇峰~鍐欐帹閫佹暟閲�"));
+			return;
+		}
+		
+		if (num > 50) {
+			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏈�澶氭敮鎸�50鏉�"));
+			return;
+		}
+		
+		// 鑾峰彇鏈�鏂拌鍗曞彿
+		String orderNo = commonOrderService.getNewestOrderNoByTaoBao();
+		
+		// 闅忔満璁㈠崟鍙�
+		List<String> list = getRandomOrderNo(orderNo, num);
+		for (String orderId: list) {
+			PushContentDTO dto = PushMsgFactory.createFanLiOrderStatisticed(Constant.SOURCE_TYPE_TAOBAO, 
+					orderId, BigDecimal.ZERO);
+			try {
+				pushService.pushZNX(uid, dto.getTitle(), dto.getContent(), null, null);
+			} catch (NumberFormatException e) {
+				e.printStackTrace();
+			} catch (PushException e) {
+				e.printStackTrace();
+			}
+		}
+		JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("鎺ㄩ�佹垚鍔�"));
+	}
+	
+	
+	private List<String> getRandomOrderNo(String orderNo, int count) {
+		String newNo = orderNo.substring(0, 3);
+		long lenth = orderNo.length() - 3;
+
+		long tempNum = 1;
+		for (long i = 0; i < lenth - 1; i++) {
+			tempNum = tempNum * 10;
+		}
+
+		Set<String> set = new HashSet<>();
+		for (int i = 0; i < count; i++) {
+			int temp = set.size();
+			while (set.size() <= temp) {
+				long randomNum = (long) ((Math.random() * 9 + 1) * tempNum);
+				set.add(newNo + randomNum);
+			}
+		}
+		
+		// 杞崲list
+		List<String> list = new ArrayList<>();
+		for (String s : set) {
+			list.add(s);
+		}
+		// 鎺掑簭
+		Collections.sort(list);
+		 
+		return list;
+	}
 }

--
Gitblit v1.8.0