From d499a9db6bd7a44305f68bb74ed157b77ae69964 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期五, 30 八月 2019 11:28:38 +0800
Subject: [PATCH] 分享爆款计算方法修改
---
fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java | 91 +++++++++++++++++++++++++++++++--------------
1 files changed, 63 insertions(+), 28 deletions(-)
diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java
index ddf8b52..0a3a029 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java
@@ -66,6 +66,7 @@
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.TaoBaoConstant;
import com.yeshi.fanli.util.TimeUtil;
+import com.yeshi.fanli.util.cmq.HongBaoRecieveCMQManager;
import com.yeshi.fanli.util.factory.UserMoneyDetailFactory;
import com.yeshi.fanli.util.jd.JDApiUtil;
import com.yeshi.fanli.util.pinduoduo.PinDuoDuoApiUtil;
@@ -404,6 +405,11 @@
// 娣诲姞璧勯噾鏄庣粏涓庣孩鍖呯殑鏄犲皠鍏崇郴
for (HongBaoV2 v2 : userHongBao.get(uid)) {
accountDetailsHongBaoMapService.saveAccountDetailsHongBaoMap(v2.getId(), userMoneyDetail.getId());
+ try {
+ HongBaoRecieveCMQManager.getInstance().addHongBaoRecieveMsg(v2.getId());
+ } catch (Exception e) {
+ LogHelper.errorDetailInfo(e);
+ }
}
// 绔欏唴淇�+鎺ㄩ��
@@ -434,10 +440,12 @@
if (olist != null && olist.size() > 0) {
long time = TimeUtil.convertToTimeTemp(olist.get(0).getCreateTime(), "yyyy-MM-dd HH:mm:ss");
olist = TaoKeOrderApiUtil.getTaoBaoAllOrder(TimeUtil.getGernalTime(time, "yyyy-MM-dd HH:mm:ss"),
- TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
+ TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET,
+ TaoKeOrderApiUtil.TK_STATUS_ALL);
List<TaoBaoOrder> thirdOList = TaoKeOrderApiUtil.getTaoBaoThirdAllOrder(
TimeUtil.getGernalTime(time, "yyyy-MM-dd HH:mm:ss"), 30, 1,
- TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
+ TaoKeOrderApiUtil.TK_STATUS_ALL, TaoBaoConstant.TAOBAO_AUTH_APPKEY,
+ TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
if (thirdOList != null && thirdOList.size() > 0)
olist.addAll(thirdOList);
@@ -469,7 +477,7 @@
CMQManager.getInstance().addWeiQuanOrderMsg(order);
}
} catch (Exception e) {
- LogHelper.error("缁存潈璁㈠崟鍔犲叆鍒伴槦鍒楀嚭閿�:"+order!=null?new Gson().toJson(order):null);
+ LogHelper.error("缁存潈璁㈠崟鍔犲叆鍒伴槦鍒楀嚭閿�:" + order != null ? new Gson().toJson(order) : null);
}
}
}
@@ -565,6 +573,7 @@
@Override
@Transactional
public void fanliInvaiteAndShare(Long uid) throws TaoBaoWeiQuanException {
+ List<Long> recieveHongBaoIds = new ArrayList<>();
/**
* 澶勭悊閭�璇疯禋璁㈠崟
*/
@@ -572,7 +581,16 @@
List<Integer> types = new ArrayList<>();
types.add(HongBaoV2.TYPE_YIJI);
types.add(HongBaoV2.TYPE_ERJI);
- List<HongBaoV2> hongBaoList = hongBaoV2Mapper.listCanBalanceHongBaoByTypeAndUid(types, uid, 1000);
+ long count = hongBaoV2Mapper.countCanBalanceHongBaoByTypeAndUid(types, uid);
+ List<HongBaoV2> hongBaoList = new ArrayList<>();
+ // 1000鏉℃暟鎹负1椤�
+ int page = (int) (count % 1000 == 0 ? count / 1000 : count / 1000 + 1);
+ for (int i = 0; i < page; i++) {
+ List<HongBaoV2> tempHongBaoList = hongBaoV2Mapper.listCanBalanceHongBaoByTypeAndUid(types, uid, i * 1000,
+ 1000);
+ if (tempHongBaoList != null && tempHongBaoList.size() > 0)
+ hongBaoList.addAll(tempHongBaoList);
+ }
// 鐏板害娴嬭瘯涓紝浜笢/鎷煎澶氳鍗曞垎浜�/閭�璇疯鍗曚笉杩斿埄
for (int i = 0; i < hongBaoList.size(); i++) {
HongBaoV2 item = hongBaoList.get(i);
@@ -589,7 +607,7 @@
hongBaoList.remove(i);
i--;
} else {// 涓婄骇鐢ㄦ埛涓嶆槸姝e父鐢ㄦ埛锛岃鍗曞潎涓嶈兘鍒拌处
- UserInfo userInfo = userInfoMapper.selectByPrimaryKey(item.getUserInfo().getId());
+ UserInfo userInfo = userInfoMapper.selectByPrimaryKey(co.getUserInfo().getId());
if (userInfo == null || userInfo.getState() != UserInfo.STATE_NORMAL) {
hongBaoList.remove(i);
i--;
@@ -649,7 +667,8 @@
types.clear();
types.add(HongBaoV2.TYPE_SHARE_YIJI);
types.add(HongBaoV2.TYPE_SHARE_ERJI);
- List<HongBaoV2> hbList = hongBaoV2Mapper.listCanBalanceHongBaoByTypeAndUid(types, uid, 10000);
+ // TODO 闇�瑕佸鐞嗚秴杩�1w鏉℃暟鎹殑璁㈠崟
+ List<HongBaoV2> hbList = hongBaoV2Mapper.listCanBalanceHongBaoByTypeAndUid(types, uid, 0, 10000);
if (hbList != null && hbList.size() > 0)
totalHongBaoList.addAll(hbList);
@@ -694,11 +713,9 @@
minDate, maxDate);
long weiQuanCount = hongBaoV2Mapper.countInviteOrderCountByUidAndSettleTime(uid, CommonOrder.STATE_WQ,
minDate, maxDate);
- long invalidCount = hongBaoV2Mapper.countInviteOrderCountByUidAndSettleTime(uid, CommonOrder.STATE_SX,
- minDate, maxDate);
UserMoneyDetail userMoneyDetail = UserMoneyDetailFactory.createInvite(uid, Constant.SOURCE_TYPE_TAOBAO,
- (int) validCount, (int) weiQuanCount, (int) invalidCount, invitemoney, new Date());
+ (int) validCount, (int) weiQuanCount, invitemoney, new Date());
// 澧炲姞璧勯噾
userMoneyService.addUserMoney(uid, invitemoney, userMoneyDetail);
@@ -719,7 +736,8 @@
for (String orderId : drawBackOrders)
taoBaoWeiQuanDrawBackService.doWeiQuanInvite(orderId);
}
-
+ if (hbIdList.size() > 0)
+ recieveHongBaoIds.addAll(hbIdList);
hbIdList.clear();
drawBackOrders.clear();
@@ -733,7 +751,8 @@
// 鏌ヨUID鐨勫垎浜禋璁㈠崟
types.clear();
types.add(HongBaoV2.TYPE_SHARE_GOODS);
- List<HongBaoV2> hongBaoShareList = hongBaoV2Mapper.listCanBalanceHongBaoByTypeAndUid(types, uid, 10000);
+ // TODO 闇�瑕佸鐞嗚秴杩�10000鏉℃暟鎹殑璁㈠崟
+ List<HongBaoV2> hongBaoShareList = hongBaoV2Mapper.listCanBalanceHongBaoByTypeAndUid(types, uid, 0, 10000);
for (HongBaoV2 hongBao : hongBaoShareList) {
hongBao = hongBaoV2Mapper.selectByPrimaryKeyForUpdate(hongBao.getId());
hongBao = filterWeiQuanINGHongBao(hongBao);
@@ -788,12 +807,14 @@
minDate, maxDate);
UserMoneyDetail userMoneyDetail = UserMoneyDetailFactory.createShare(uid, Constant.SOURCE_TYPE_TAOBAO,
- (int) validCount, (int) weiQuanCount, (int) invalidCount, sharemoney, new Date());
+ (int) validCount, (int) weiQuanCount, sharemoney, new Date());
// 娣诲姞璧勯噾
userMoneyService.addUserMoney(uid, sharemoney, userMoneyDetail);
// 娣诲姞鍒扮孩鍖呰繑鍒╄褰曢泦鍚�
accountDetailsHongBaoMapService.saveAccountDetailsHongBaoMap(hbIdList, userMoneyDetail.getId());
+ if (hbIdList.size() > 0)
+ recieveHongBaoIds.addAll(hbIdList);
} catch (UserMoneyDetailException e) {
try {
LogHelper.errorDetailInfo(e);
@@ -808,6 +829,16 @@
for (String orderId : drawBackOrders)
taoBaoWeiQuanDrawBackService.doWeiQuanShare(orderId);
+ }
+
+ // 鎵�鏈夌殑杩斿埄鍒拌处绾㈠寘ID
+ for (Long hongBaoId : recieveHongBaoIds) {
+ try {
+ HongBaoRecieveCMQManager.getInstance().addHongBaoRecieveMsg(hongBaoId);
+ } catch (Exception e) {
+ LogHelper.errorDetailInfo(e);
+ }
+
}
}
@@ -978,6 +1009,11 @@
public void processJDOrder(JDOrder order) {
if (order == null || order.getOrderItemList() == null || order.getOrderItemList().size() == 0)
return;
+
+ // 鎷嗗崟鐨勪笉鍋氬鐞�
+ if (order.getValidCode() == 2)
+ return;
+
String uidStr = order.getExt1();
Long uid = null;
if (!StringUtil.isNullOrEmpty(uidStr) && NumberUtil.isNumeric(uidStr))
@@ -1215,22 +1251,21 @@
@Override
public void repairCommonOrderByByTaoBaoOrder(String orderId) {
- //鏍规嵁璁㈠崟鍙锋煡璇㈡窐瀹濊鍗�
- List<TaoBaoOrder> orderList= taoBaoOrderService.getTaoBaoOrderByOrderId(orderId);
- if(orderList!=null)
- for(TaoBaoOrder order:orderList)
- {
- //鏍规嵁浜ゆ槗ID鏌ヨ甯歌璁㈠崟
- CommonOrder commonOrder= commonOrderService.selectBySourceTypeAndTradeId(Constant.SOURCE_TYPE_TAOBAO, order.getTradeId());
- //淇orderby
- if(commonOrder!=null)
- {CommonOrder update=new CommonOrder(commonOrder.getId());
- update.setOrderBy(order.getOrderBy());
- update.setUpdateTime(new Date());
- commonOrderService.updateByPrimaryKeySelective(update);
+ // 鏍规嵁璁㈠崟鍙锋煡璇㈡窐瀹濊鍗�
+ List<TaoBaoOrder> orderList = taoBaoOrderService.getTaoBaoOrderByOrderId(orderId);
+ if (orderList != null)
+ for (TaoBaoOrder order : orderList) {
+ // 鏍规嵁浜ゆ槗ID鏌ヨ甯歌璁㈠崟
+ CommonOrder commonOrder = commonOrderService.selectBySourceTypeAndTradeId(Constant.SOURCE_TYPE_TAOBAO,
+ order.getTradeId());
+ // 淇orderby
+ if (commonOrder != null) {
+ CommonOrder update = new CommonOrder(commonOrder.getId());
+ update.setOrderBy(order.getOrderBy());
+ update.setUpdateTime(new Date());
+ commonOrderService.updateByPrimaryKeySelective(update);
+ }
}
- }
-
-
+
}
}
--
Gitblit v1.8.0