From 52dd59048d9a197c30b5924952a573a586b53749 Mon Sep 17 00:00:00 2001
From: yujian <yujian@123.com>
Date: 星期四, 26 九月 2019 14:14:29 +0800
Subject: [PATCH] 智能搜索
---
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserOrderController.java | 251 +++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 196 insertions(+), 55 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 91110aa..44ffd00 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,17 +3,20 @@
import java.io.PrintWriter;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
-import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
import org.yeshi.utils.DateUtil;
import org.yeshi.utils.IPUtil;
import org.yeshi.utils.JsonUtil;
@@ -21,6 +24,7 @@
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;
@@ -35,13 +39,15 @@
import com.yeshi.fanli.service.inter.order.CommonOrderService;
import com.yeshi.fanli.service.inter.order.LostOrderService;
import com.yeshi.fanli.service.inter.order.OrderService;
-import com.yeshi.fanli.service.inter.taobao.TaoBaoOrderService;
-import com.yeshi.fanli.service.inter.user.UserExtraTaoBaoInfoService;
+import com.yeshi.fanli.service.inter.order.tb.TaoBaoOrderService;
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.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;
import com.yeshi.fanli.vo.user.UserInfoExtraVO;
@@ -108,17 +114,25 @@
* @param out
*/
@RequestMapping(value = "getorder", method = RequestMethod.POST)
- public void getOrder(AcceptData acceptData, Integer page, Long uid, Integer state, Integer type, Integer orderState,
- String orderNo, String startTime, String endTime, Integer slotTime, boolean needCount, Integer dateType,
+ 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) {
+ Integer type = null;
- if (Constant.IS_TEST)
- uid = 389677L;
+ 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;
if (page == null || page < 1) {
page = 1;
@@ -134,8 +148,26 @@
state = null; // 娓呯┖
}
+ // 杞崲鐘舵��
+ if (state != null && state == 5) {
+ orderState = 2; // 宸茬淮鏉�
+ state = null; // 娓呯┖
+ }
+
if (type != null && type == 0) {
type = null; // 鎵�鏈夌被鍨嬭鍗�
+ }
+
+ Integer tempState = state;
+ // 杞崲鐘舵��
+ 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) {
+ goodsType = null; // 鎵�鏈夊钩鍙拌鍗�
}
try {
@@ -154,44 +186,42 @@
try {
long count = 0;
- int totalValid = 0;
- int totalProces = 0;
- int totalInvite = 0;
+ long totalValid = 0;
+ long totalProces = 0;
+ long totalInvite = 0;
long todayTotal = 0;
BigDecimal todayMoney = null;
// 鏌ヨ鍒楄〃
- List<CommonOrderVO> list = commonOrderService.getOrderByUid(page, uid, state, type, orderState, orderNo,
- startTime, endTime, dateType);
+ List<CommonOrderVO> list = commonOrderService.getOrderByUid(acceptData, page, uid, state, type, orderState,
+ orderNo, startTime, endTime, dateType, goodsType);
if (list != null && list.size() > 0) {
// 缁熻鎬绘暟
count = commonOrderService.countGroupOrderNoByUid(uid, state, type, orderState, orderNo, startTime,
- endTime, dateType);
+ endTime, dateType, goodsType);
}
// 闇�瑕佺粺璁$瓫閫変俊鎭� 锛氭湭澶辨晥鐨勬�婚噾棰� 浠ュ強璁㈠崟
if (needCount && page == 1) {
- todayMoney = commonOrderService.countBonusOrderMoney(uid, type, dateType, startTime, endTime);
+ todayMoney = commonOrderService.countBonusOrderMoney(uid, type, dateType, startTime, endTime,
+ goodsType);
- todayTotal = commonOrderService.countBonusOrderNumber(uid, type, dateType, startTime, endTime);
+ todayTotal = commonOrderService.countBonusOrderNumber(uid, type, dateType, startTime, endTime,
+ goodsType);
- // 缁熻鏈夋晥鐨勮鍗曟暟閲� 銆� 澶辨晥璁㈠崟鏁伴噺 銆佺淮鏉冭鍗曟暟閲�
- Map<String, BigDecimal> countOrder = commonOrderService.countByUidAndOrderState(uid, type, startTime,
- endTime, dateType);
+ // 鏈夋晥璁㈠崟
+ totalValid = commonOrderService.countUserOrderToApp(uid, type, startTime, endTime, dateType, goodsType,
+ tempState, 1);
- if (countOrder.get("totalValid") != null) {
- totalValid = countOrder.get("totalValid").intValue();
- }
+ // 缁存潈璁㈠崟
+ totalProces = commonOrderService.countUserOrderToApp(uid, type, startTime, endTime, dateType, goodsType,
+ null, 2);
- if (countOrder.get("totalProces") != null) {
- totalProces = countOrder.get("totalProces").intValue();
- }
-
- if (countOrder.get("totalInvite") != null) {
- totalInvite = countOrder.get("totalInvite").intValue();
- }
+ // 澶辨晥璁㈠崟
+ totalInvite = commonOrderService.countUserOrderToApp(uid, type, startTime, endTime, dateType, goodsType,
+ null, 3);
}
if (todayMoney == null) {
@@ -281,8 +311,13 @@
JSONObject data = new JSONObject();
data.put("userInfo", userInfo);
+ 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);
+ Map<String, BigDecimal> countOrder = commonOrderService.countHistoryOrder(uid, null, goodsType);
int self = 0;
if (countOrder.get("totalSelf") != null) {
self = countOrder.get("totalSelf").intValue();
@@ -306,7 +341,7 @@
data.put("invite", invite);
/* 浠婃棩璁㈠崟缁熻 */
- Map<String, BigDecimal> countToday = commonOrderService.countHistoryOrder(uid, 1);
+ Map<String, BigDecimal> countToday = commonOrderService.countHistoryOrder(uid, 1, goodsType);
int todaySelf = 0;
if (countToday.get("totalSelf") != null) {
@@ -334,7 +369,7 @@
data.put("today", todaydata);
/* 鏄ㄦ棩璁㈠崟缁熻 */
- Map<String, BigDecimal> countYesterday = commonOrderService.countHistoryOrder(uid, 2);
+ Map<String, BigDecimal> countYesterday = commonOrderService.countHistoryOrder(uid, 2, goodsType);
int yesterdaySelf = 0;
if (countYesterday.get("totalSelf") != null) {
yesterdaySelf = countYesterday.get("totalSelf").intValue();
@@ -367,6 +402,83 @@
}
/**
+ * 缁熻鍚勪釜骞冲彴鏁版嵁
+ *
+ * @param acceptData
+ * @param uid
+ * @param goodsType
+ * @param out
+ */
+ @RequestMapping(value = "getNearOrderNum", method = RequestMethod.POST)
+ public void getNearOrderNum(AcceptData acceptData, Long uid, Integer goodsType, PrintWriter out) {
+
+ if (uid == null) {
+ out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛鏈櫥褰�"));
+ return;
+ }
+
+ if (goodsType == null || goodsType > 3 || goodsType < 1) {
+ out.print(JsonUtil.loadFalseResult(1, "骞冲彴绫诲瀷缂哄け鎴栦笉姝g‘"));
+ return;
+ }
+
+ /* 浠婃棩璁㈠崟缁熻 */
+ Map<String, BigDecimal> countToday = commonOrderService.countHistoryOrder(uid, 1, goodsType);
+
+ int todaySelf = 0;
+ if (countToday.get("totalSelf") != null) {
+ todaySelf = countToday.get("totalSelf").intValue();
+ }
+
+ int todayShared = 0;
+ if (countToday.get("totalShared") != null) {
+ todayShared = countToday.get("totalShared").intValue();
+ }
+
+ int todayInvite = 0;
+ if (countToday.get("totalInvite") != null) {
+ todayInvite = countToday.get("totalInvite").intValue();
+ }
+
+ int todayTotal = todaySelf + todayShared + todayInvite;
+
+ JSONObject todaydata = new JSONObject();
+ todaydata.put("total", todayTotal);
+ todaydata.put("self", todaySelf);
+ todaydata.put("shared", todayShared);
+ todaydata.put("invite", todayInvite);
+
+ /* 鏄ㄦ棩璁㈠崟缁熻 */
+ Map<String, BigDecimal> countYesterday = commonOrderService.countHistoryOrder(uid, 2, goodsType);
+ int yesterdaySelf = 0;
+ if (countYesterday.get("totalSelf") != null) {
+ yesterdaySelf = countYesterday.get("totalSelf").intValue();
+ }
+
+ int yesterdayShared = 0;
+ if (countYesterday.get("totalShared") != null) {
+ yesterdayShared = countYesterday.get("totalShared").intValue();
+ }
+ int yesterdayInvite = 0;
+ if (countYesterday.get("totalInvite") != null) {
+ yesterdayInvite = countYesterday.get("totalInvite").intValue();
+ }
+ int yesterdayTotal = yesterdaySelf + yesterdayShared + yesterdayInvite;
+
+ JSONObject yesterdaydata = new JSONObject();
+ yesterdaydata.put("total", yesterdayTotal);
+ yesterdaydata.put("self", yesterdaySelf);
+ yesterdaydata.put("shared", yesterdayShared);
+ yesterdaydata.put("invite", yesterdayInvite);
+
+ JSONObject data = new JSONObject();
+
+ data.put("today", todaydata);
+ data.put("yesterday", yesterdaydata);
+ out.print(JsonUtil.loadTrueResult(data));
+ }
+
+ /**
* 缁熻濂栭噾
*
* @param acceptData
@@ -375,45 +487,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);
- Map<String, Object> shareMap = commonOrderService.countBonusOrderMoneyAndNumber(uid, 2, dateType, null,
- null);
- 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);
- 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