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 | 114 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 109 insertions(+), 5 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 3eebc58..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 @@ -328,7 +328,6 @@ LogHelper.userInfo("uid=" + user.getId() + ",鎻愪氦杞处鐢宠!"); } else {// 鏆傛椂涓嶈嚜鍔ㄦ彁鐜� // transfer(extract, null); - ; } return null; } @@ -1087,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) { @@ -1164,15 +1269,14 @@ String billno = redPackRecord.getBillno(); if (!StringUtil.isNullOrEmpty(billno)) { - updeteRecord.setBillno(billno.replace("`", "")); + updeteRecord.setBillno(billno.replace("`", "").replace("'", "")); } String detailno = redPackRecord.getDetailno(); if (!StringUtil.isNullOrEmpty(detailno)) { - updeteRecord.setDetailno(detailno.replace("`", "")); + updeteRecord.setDetailno(detailno.replace("`", "").replace("'", "")); } - - SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm"); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm"); String rcvTime = redPackRecord.getRcvTime(); if (!StringUtil.isNullOrEmpty(rcvTime)) { try { -- Gitblit v1.8.0