From d46dea27b6ec3e0fb32ec7d137699e9fc7d609b0 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期四, 12 十二月 2019 14:18:11 +0800
Subject: [PATCH] 订单补贴消息修改

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/money/extract/ExtractServiceImpl.java |  118 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 117 insertions(+), 1 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/money/extract/ExtractServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/money/extract/ExtractServiceImpl.java
index 4a5a8cd..4f32552 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/money/extract/ExtractServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/money/extract/ExtractServiceImpl.java
@@ -172,6 +172,17 @@
 		updateExtract.setId(id);
 		updateExtract.setState(Extract.STATE_PROCESSING);
 		extractMapper.updateByPrimaryKeySelective(updateExtract);
+		//TODO 鏂扮増閮ㄧ讲鍚庡垹闄�
+		// 鏀瑰彉璧勯噾璁板綍鐘舵��
+		UserMoneyDetail detail = userMoneyDetailService
+				.selectByTypeAndUidAndIdentifyCode(UserMoneyDetailTypeEnum.extract, find.getUserInfo().getId(), find.getId());
+		if (detail != null) {
+			UserMoneyDetail update = new UserMoneyDetail(detail.getId());
+			update.setShow(true);
+			update.setUpdateTime(new Date());
+			userMoneyDetailMapper.updateByPrimaryKeySelective(update);
+		}
+
 		transfer(find, admin); // 鎻愮幇閫氳繃锛屾敮浠樺疂杞处
 
 		return null;
@@ -317,7 +328,6 @@
 			LogHelper.userInfo("uid=" + user.getId() + ",鎻愪氦杞处鐢宠!");
 		} else {// 鏆傛椂涓嶈嚜鍔ㄦ彁鐜�
 			// transfer(extract, null);
-			;
 		}
 		return null;
 	}
@@ -1076,6 +1086,112 @@
 		}
 		return listOpendIDs;
 	}
+	
+	
+	@Override
+	public List<UserInfo> preAutoUserTo1212() throws Exception {
+		int page = 0;
+		int pageSize = 100;
+		int maxSize = 300;
+		Date nowDate = new Date();
+		// 鏉′欢3锛氳窛绂讳笂涓�娆℃垚鍔熼鍙栧井淇$孩鍖呭凡缁忚秴杩囦簡30澶╂椂闂达紝鍙湪绗�31澶╁啀娆′笅鍙戯紱
+		String receivedDate = DateUtil.reduceDayTostring(30, nowDate);
+		// 鏉′欢4锛氳窛绂讳笂涓�娆℃湭鎴愬姛棰嗗彇寰俊绾㈠寘宸茬粡瓒呰繃浜�15澶╂椂闂达紝鍙湪绗�16澶╁啀娆′笅鍙戯紱
+		String refundDate = DateUtil.reduceDayTostring(15, nowDate);
+		// 浣欓鏈�浣庨檺鍒�
+		List<UserInfo> list = new ArrayList<UserInfo>();
+		while (true) {
+			// 鏌ヨ婊¤冻鏉′欢 1銆�2 鐨剈id
+			List<UserInfo> listUser = userInfoService.getAutoExtractUserTo1212(page * pageSize, pageSize);
+			if (listUser == null || listUser.isEmpty())
+				break;
+
+			List<Long> listId = new ArrayList<Long>();
+			for (UserInfo userInfo : listUser) {
+				listId.add(userInfo.getId());
+			}
+
+			// 鏌ヨ璁板綍鏄惁婊¤冻
+			List<Long> listValid = extractWeiXinRecordService.getValidUsers(listId, receivedDate, refundDate);
+			if (listValid == null || listValid.isEmpty()) {
+				page++;
+				continue;
+			}
+
+			for (Long uid : listValid) {
+				if (list.size() >= maxSize)
+					break;
+				for (UserInfo userInfo : listUser) {
+					if (list.size() >= maxSize)
+						break;
+
+					if (userInfo.getId().longValue() == uid.longValue()) {
+						list.add(userInfo);
+						break;
+					}
+				}
+			}
+
+			if (list.size() >= maxSize)
+				break;
+
+			page++;
+		}
+		return list;
+	}
+	
+	@Override
+	public List<String> getAutoExtractOpenIdsTo1212() throws Exception {
+		int page = 0;
+		int pageSize = 100;
+		int maxSize = 301; // appId + 瀹為檯openid300涓�
+		Date nowDate = new Date();
+		// 鏉′欢3锛氳窛绂讳笂涓�娆℃垚鍔熼鍙栧井淇$孩鍖呭凡缁忚秴杩囦簡30澶╂椂闂达紝鍙湪绗�31澶╁啀娆′笅鍙戯紱
+		String receivedDate = DateUtil.reduceDayTostring(30, nowDate);
+		// 鏉′欢4锛氳窛绂讳笂涓�娆℃湭鎴愬姛棰嗗彇寰俊绾㈠寘宸茬粡瓒呰繃浜�15澶╂椂闂达紝鍙湪绗�16澶╁啀娆′笅鍙戯紱
+		String refundDate = DateUtil.reduceDayTostring(15, nowDate);
+
+		// 鎻愮幇閲戦
+		BigDecimal money = BigDecimal.valueOf(1);
+
+		List<String> listOpendIDs = new ArrayList<String>();
+		// 棣栬appID
+		listOpendIDs.add(Constant.getWXAccount(null, null).getAppId());
+
+		while (true) {
+			// 鏌ヨ婊¤冻鏉′欢 1銆�2 鐨剈id
+			List<UserInfo> listUser = userInfoService.getAutoExtractUserTo1212(page * pageSize, pageSize);
+			if (listUser == null || listUser.isEmpty())
+				break;
+
+			List<Long> listId = new ArrayList<Long>();
+			for (UserInfo userInfo : listUser) {
+				listId.add(userInfo.getId());
+			}
+
+			// 鏌ヨ璁板綍鏄惁婊¤冻
+			List<Long> listValid = extractWeiXinRecordService.getValidUsers(listId, receivedDate, refundDate);
+			if (listValid == null || listValid.isEmpty()) {
+				page++;
+				continue;
+			}
+
+			for (Long uid : listValid) {
+				UserInfo userInfo = subHongBaoByUid(uid, money, money);
+				if (userInfo != null) {
+					listOpendIDs.add(userInfo.getWxOpenId());
+					if (listOpendIDs.size() >= maxSize)
+						break;
+				}
+			}
+
+			if (listOpendIDs.size() >= maxSize)
+				break;
+
+			page++;
+		}
+		return listOpendIDs;
+	}
 
 	@Transactional(rollbackFor = Exception.class)
 	private UserInfo subHongBaoByUid(Long uid, BigDecimal money, BigDecimal minSurplus) {

--
Gitblit v1.8.0