From 88e78422b773a1a22b7c8f8b6dabdd293f5321d2 Mon Sep 17 00:00:00 2001
From: admin <2780501319@qq.com>
Date: 星期六, 29 二月 2020 12:22:53 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/div' into div
---
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserOrderController.java | 185 +++++++++++++++++++++++++++++-----------------
1 files changed, 116 insertions(+), 69 deletions(-)
diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserOrderController.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserOrderController.java
index 363ddf6..e10e60c 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserOrderController.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserOrderController.java
@@ -3,6 +3,7 @@
import java.io.PrintWriter;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
+import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
@@ -21,11 +22,13 @@
import com.yeshi.fanli.entity.AppVersionInfo;
import com.yeshi.fanli.entity.accept.AcceptData;
+import com.yeshi.fanli.entity.bus.user.HongBaoV2;
import com.yeshi.fanli.entity.bus.user.LostOrder;
import com.yeshi.fanli.entity.bus.user.Order;
import com.yeshi.fanli.entity.bus.user.UserExtraTaoBaoInfo;
import com.yeshi.fanli.entity.bus.user.UserInfo;
import com.yeshi.fanli.entity.order.CommonOrder;
+import com.yeshi.fanli.entity.system.ConfigKeyEnum;
import com.yeshi.fanli.entity.taobao.TaoBaoOrder;
import com.yeshi.fanli.exception.order.CommonOrderException;
import com.yeshi.fanli.log.LogHelper;
@@ -36,12 +39,14 @@
import com.yeshi.fanli.service.inter.order.LostOrderService;
import com.yeshi.fanli.service.inter.order.OrderService;
import com.yeshi.fanli.service.inter.order.tb.TaoBaoOrderService;
-import com.yeshi.fanli.service.inter.user.UserExtraTaoBaoInfoService;
import com.yeshi.fanli.service.inter.user.UserInfoExtraService;
import com.yeshi.fanli.service.inter.user.UserInfoService;
+import com.yeshi.fanli.service.inter.user.tb.UserExtraTaoBaoInfoService;
import com.yeshi.fanli.util.CMQManager;
import com.yeshi.fanli.util.Constant;
+import com.yeshi.fanli.util.RedisManager;
import com.yeshi.fanli.util.StringUtil;
+import com.yeshi.fanli.util.TimeUtil;
import com.yeshi.fanli.util.VersionUtil;
import com.yeshi.fanli.util.account.UserUtil;
import com.yeshi.fanli.vo.order.CommonOrderVO;
@@ -83,6 +88,9 @@
@Resource
private LostOrderService lostOrderService;
+ @Resource
+ private RedisManager redisManager;
+
/**
* 璁㈠崟鍒楄〃
*
@@ -110,21 +118,22 @@
*/
@RequestMapping(value = "getorder", method = RequestMethod.POST)
public void getOrder(AcceptData acceptData, Integer page, Long uid, Integer state,
- @RequestParam(name = "type",required = false) String type1, Integer orderState, String orderNo, String startTime, String endTime,
- Integer slotTime, Boolean needCount, Integer dateType, Integer goodsType, PrintWriter out) {
+ @RequestParam(name = "type", required = false) String type1, Integer orderState, String orderNo,
+ String startTime, String endTime, Integer slotTime, Boolean needCount, Integer dateType, Integer goodsType,
+ PrintWriter out) {
Integer type = null;
-
+
if (StringUtil.isNullOrEmpty(type1)) {
type = null;
} else {
type = Integer.parseInt(type1);
}
-
+
if (uid == null) {
out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛鏈櫥褰�"));
return;
}
-
+
if (needCount == null)
needCount = false;
@@ -147,23 +156,29 @@
orderState = 2; // 宸茬淮鏉�
state = null; // 娓呯┖
}
-
+
if (type != null && type == 0) {
type = null; // 鎵�鏈夌被鍨嬭鍗�
}
-
+
Integer tempState = state;
// 杞崲鐘舵��
- if (state != null && orderState != null && (orderState == 2|| orderState == 3)) {
+ if (state != null && orderState != null && (orderState == 2 || orderState == 3)) {
state = null; // 娓呯┖
}
-
+
if (!VersionUtil.greaterThan_1_6_0(acceptData.getPlatform(), acceptData.getVersion())) {
goodsType = Constant.SOURCE_TYPE_TAOBAO;
- } else if (goodsType != null && goodsType == 0){
+ } else if (goodsType != null && goodsType == 0) {
goodsType = null; // 鎵�鏈夊钩鍙拌鍗�
}
-
+
+ List<Integer> listSource = new ArrayList<>();
+ if (goodsType != null) {
+ listSource.add(goodsType);
+ }
+
+
try {
if (slotTime != null) {
SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd");
@@ -178,6 +193,9 @@
endTime += " 23:59:59";
}
+ String orderFindUrl = null;
+
+
try {
long count = 0;
long totalValid = 0;
@@ -187,46 +205,53 @@
BigDecimal todayMoney = null;
// 鏌ヨ鍒楄〃
- List<CommonOrderVO> list = commonOrderService.getOrderByUid(acceptData, page, uid, state, type, orderState, orderNo,
- startTime, endTime, dateType, goodsType);
+ List<CommonOrderVO> list = commonOrderService.getOrderByUid(acceptData, page, uid, state, type, orderState,
+ orderNo, startTime, endTime, dateType, listSource);
if (list != null && list.size() > 0) {
// 缁熻鎬绘暟
count = commonOrderService.countGroupOrderNoByUid(uid, state, type, orderState, orderNo, startTime,
- endTime, dateType, goodsType);
+ endTime, dateType, listSource);
}
// 闇�瑕佺粺璁$瓫閫変俊鎭� 锛氭湭澶辨晥鐨勬�婚噾棰� 浠ュ強璁㈠崟
if (needCount && page == 1) {
- todayMoney = commonOrderService.countBonusOrderMoney(uid, type, dateType, startTime, endTime, goodsType);
+ todayMoney = commonOrderService.countBonusOrderMoney(uid, type, dateType, startTime, endTime,
+ goodsType);
- todayTotal = commonOrderService.countBonusOrderNumber(uid, type, dateType, startTime, endTime, goodsType);
+ todayTotal = commonOrderService.countBonusOrderNumber(uid, type, dateType, startTime, endTime,
+ goodsType);
// 鏈夋晥璁㈠崟
- totalValid = commonOrderService.countUserOrderToApp(uid, type, startTime,
- endTime, dateType, goodsType, tempState, 1);
-
+ totalValid = commonOrderService.countUserOrderToApp(uid, type, startTime, endTime, dateType, goodsType,
+ tempState, 1);
+
// 缁存潈璁㈠崟
- totalProces = commonOrderService.countUserOrderToApp(uid, type, startTime,
- endTime, dateType, goodsType, null, 2);
-
+ totalProces = commonOrderService.countUserOrderToApp(uid, type, startTime, endTime, dateType, goodsType,
+ null, 2);
+
// 澶辨晥璁㈠崟
- totalInvite = commonOrderService.countUserOrderToApp(uid, type, startTime,
- endTime, dateType, goodsType, null, 3);
+ totalInvite = commonOrderService.countUserOrderToApp(uid, type, startTime, endTime, dateType, goodsType,
+ null, 3);
}
if (todayMoney == null) {
todayMoney = new BigDecimal(0.00);
}
-
- String helpUrl = configService.get("order_list_help");
+
+ // 鍒ゆ柇鏄惁闇�瑕佹樉绀鸿鍗曟壘鍥炴彁绀�
+ if (VersionUtil.greaterThan_2_0_2(acceptData.getPlatform(), acceptData.getVersion()))
+ if (state ==null && page == 1) {
+ if (redisManager.frequencyLimit("orderlist-" + acceptData.getDevice(), 8, 4)||count==0L) {// 8绉掑唴璇锋眰3娆¤Е鍙�
+ orderFindUrl = configService.get(ConfigKeyEnum.orderFindNotifyUrl.getKey());
+ }
+ }
JSONObject data = new JSONObject();
data.put("count", count);
data.put("result_list", JsonUtil.getApiCommonGson().toJson(list));
-
- data.put("helpUrl", helpUrl);
+ data.put("helpUrl", configService.get(ConfigKeyEnum.orderListHelp.getKey()));
if (type != null && type == 1) {
data.put("todayMoney", "棰勪及杩斿埄鎬婚 楼" + todayMoney.setScale(2, BigDecimal.ROUND_DOWN).toString());
@@ -240,16 +265,15 @@
data.put("totalValid", totalValid); // 鏈夋晥鏁伴噺
data.put("totalProces", totalProces); // 缁存潈鏁伴噺
data.put("totalInvite", totalInvite); // 澶辨晥鏁伴噺
-
+ if (orderFindUrl != null)
+ data.put("findOrderHelpUrl", orderFindUrl);
out.print(JsonUtil.loadTrueResult(data));
-
} catch (CommonOrderException e) {
out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMsg()));
} catch (Exception e) {
out.print(JsonUtil.loadFalseResult(1, "鏌ヨ澶辫触"));
- e.printStackTrace();
+ LogHelper.errorDetailInfo(e);
}
-
}
/**
@@ -306,8 +330,8 @@
Integer goodsType = null; // 鐗堟湰鍖哄垎
if (!VersionUtil.greaterThan_1_6_0(acceptData.getPlatform(), acceptData.getVersion())) {
goodsType = Constant.SOURCE_TYPE_TAOBAO;
- }
-
+ }
+
/* 鎬昏鍗曠粺璁� */
Map<String, BigDecimal> countOrder = commonOrderService.countHistoryOrder(uid, null, goodsType);
int self = 0;
@@ -392,10 +416,10 @@
e.printStackTrace();
}
}
-
-
+
/**
* 缁熻鍚勪釜骞冲彴鏁版嵁
+ *
* @param acceptData
* @param uid
* @param goodsType
@@ -413,7 +437,7 @@
out.print(JsonUtil.loadFalseResult(1, "骞冲彴绫诲瀷缂哄け鎴栦笉姝g‘"));
return;
}
-
+
/* 浠婃棩璁㈠崟缁熻 */
Map<String, BigDecimal> countToday = commonOrderService.countHistoryOrder(uid, 1, goodsType);
@@ -469,8 +493,7 @@
data.put("yesterday", yesterdaydata);
out.print(JsonUtil.loadTrueResult(data));
}
-
-
+
/**
* 缁熻濂栭噾
*
@@ -480,50 +503,74 @@
*/
@RequestMapping(value = "countBonus", method = RequestMethod.POST)
public void countBonus(AcceptData acceptData, Long uid, Integer dateType, PrintWriter out) {
-
if (uid == null) {
out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛鏈櫥褰�"));
return;
}
- try {
+ long nowTime = System.currentTimeMillis();
+ long recievedTime = TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(nowTime, "yyyy-MM") + "-25 10",
+ "yyyy-MM-dd HH");
+ try {
Object shareCount = 0;
BigDecimal sharemoney = new BigDecimal(0.00);
Object inviteCount = 0;
BigDecimal inviteMoney = new BigDecimal(0.00);
-
- Integer goodsType = null; // 鐗堟湰鍖哄垎
- if (!VersionUtil.greaterThan_1_6_0(acceptData.getPlatform(), acceptData.getVersion())) {
- goodsType = Constant.SOURCE_TYPE_TAOBAO;
- }
- Map<String, Object> shareMap = commonOrderService.countBonusOrderMoneyAndNumber(uid, 2, dateType, null,
- null, goodsType);
- if (shareMap != null) {
- Object totalNum = shareMap.get("totalNum");
- if (totalNum != null) {
- shareCount = totalNum;
+ if (nowTime > recievedTime && dateType == 4) {// 瀹為檯鍒拌处
+ List<Integer> inviteTypes = new ArrayList<>();
+ inviteTypes.add(HongBaoV2.TYPE_YIJI);
+ inviteTypes.add(HongBaoV2.TYPE_ERJI);
+ inviteTypes.add(HongBaoV2.TYPE_SHARE_YIJI);
+ inviteTypes.add(HongBaoV2.TYPE_SHARE_ERJI);
+
+ List<Integer> shareTypes = new ArrayList<>();
+ shareTypes.add(HongBaoV2.TYPE_SHARE_GOODS);
+
+ Date minGetTime = new Date(
+ TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(nowTime, "yyyy-MM") + "-25", "yyyy-MM-dd"));
+
+ Date maxGetTime = new Date(nowTime);
+ inviteMoney = hongBaoV2CountService.sumAlreadyGetMoneyByUid(uid, inviteTypes, minGetTime, maxGetTime);
+ inviteCount = hongBaoV2CountService.countAlreadyGetMoneyByUid(uid, inviteTypes, minGetTime, maxGetTime);
+
+ sharemoney = hongBaoV2CountService.sumAlreadyGetMoneyByUid(uid, shareTypes, minGetTime, maxGetTime);
+ shareCount = hongBaoV2CountService.countAlreadyGetMoneyByUid(uid, shareTypes, minGetTime, maxGetTime);
+
+ } else {// 棰勪及鍒拌处
+ Integer goodsType = null; // 鐗堟湰鍖哄垎
+ if (!VersionUtil.greaterThan_1_6_0(acceptData.getPlatform(), acceptData.getVersion())) {
+ goodsType = Constant.SOURCE_TYPE_TAOBAO;
+ }
+ Map<String, Object> shareMap = commonOrderService.countBonusOrderMoneyAndNumber(uid, 2, dateType, null,
+ null, goodsType);
+ if (shareMap != null) {
+ Object totalNum = shareMap.get("totalNum");
+ if (totalNum != null) {
+ shareCount = totalNum;
+ }
+
+ Object totalmoney = shareMap.get("totalmoney");
+ if (totalmoney != null) {
+ sharemoney = (BigDecimal) totalmoney;
+ }
}
- Object totalmoney = shareMap.get("totalmoney");
- if (totalmoney != null) {
- sharemoney = (BigDecimal) totalmoney;
- }
- }
+ // 閭�璇风粺璁�
- // 閭�璇风粺璁�
- Map<String, Object> inviteMap = commonOrderService.countBonusOrderMoneyAndNumber(uid, 3, dateType, null,
- null, goodsType);
- if (inviteMap != null) {
- Object totalNum = inviteMap.get("totalNum");
- if (totalNum != null) {
- inviteCount = totalNum;
- }
+ Map<String, Object> inviteMap = commonOrderService.countBonusOrderMoneyAndNumber(uid, 3, dateType, null,
+ null, goodsType);
+ if (inviteMap != null) {
+ Object totalNum = inviteMap.get("totalNum");
+ if (totalNum != null) {
+ inviteCount = totalNum;
+ }
- Object totalmoney = inviteMap.get("totalmoney");
- if (totalmoney != null) {
- inviteMoney = (BigDecimal) totalmoney;
+ Object totalmoney = inviteMap.get("totalmoney");
+ if (totalmoney != null) {
+ inviteMoney = (BigDecimal) totalmoney;
+ }
}
}
--
Gitblit v1.8.0