From 2e61c91e0e5cd76ed7174aa31e10b8522cd81fde Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期六, 18 九月 2021 17:22:57 +0800
Subject: [PATCH] 好省呗应用兼容
---
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserOrderController.java | 1744 +++++++++++++++++++++++++++++-----------------------------
1 files changed, 870 insertions(+), 874 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 8192de8..072f489 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
@@ -1,874 +1,870 @@
-package com.yeshi.fanli.controller.client.v1;
-
-import java.io.PrintWriter;
-import java.math.BigDecimal;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-
-import javax.annotation.Resource;
-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;
-import org.yeshi.utils.encrypt.DESUtil;
-
-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.order.TeamOrderStatistic;
-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;
-import com.yeshi.fanli.service.inter.config.AppVersionService;
-import com.yeshi.fanli.service.inter.config.ConfigService;
-import com.yeshi.fanli.service.inter.count.HongBaoV2CountService;
-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.order.TeamOrderStatisticService;
-import com.yeshi.fanli.service.inter.order.dividents.TeamDividentsSourceOrderService;
-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.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;
-import com.yeshi.fanli.vo.order.TeamOrderStatisticVO;
-import com.yeshi.fanli.vo.user.UserInfoExtraVO;
-
-import net.sf.json.JSONObject;
-
-@Controller
-@RequestMapping("api/v1/user/order")
-public class UserOrderController {
-
- @Resource
- private ConfigService configService;
-
- @Resource
- private AppVersionService appVersionService;
-
- @Resource
- private UserInfoService userInfoService;
-
- @Resource
- private UserInfoExtraService userInfoExtraService;
-
- @Resource
- private CommonOrderService commonOrderService;
-
- @Resource
- private HongBaoV2CountService hongBaoV2CountService;
-
- @Resource
- private UserExtraTaoBaoInfoService userExtraTaoBaoInfoService;
-
- @Resource
- private TaoBaoOrderService taoBaoOrderService;
-
- @Resource
- private OrderService orderService;
-
- @Resource
- private LostOrderService lostOrderService;
-
- @Resource
- private RedisManager redisManager;
-
-// @Resource
- private TeamOrderStatisticService teamOrderStatisticService;
-
- @Resource
- private TeamDividentsSourceOrderService teamDividentsSourceOrderService;
-
- /**
- * 璁㈠崟鍒楄〃
- *
- * @param acceptData
- * @param page
- * @param uid
- * @param state
- * 鐘舵�侊細0鍏ㄩ儴 1-鏈埌璐� 2-宸插埌璐� 3-宸插け鏁� 4宸叉敹璐�
- * @param type
- * 绫诲瀷锛�1-杩斿埄璁㈠崟 2-鍒嗕韩璁㈠崟 3-閭�璇疯鍗�
- * @param orderState
- * 1鏈夋晥璁㈠崟 2 缁存潈璁㈠崟 3澶辨晥璁㈠崟
- * @param orderNo
- * 璁㈠崟鍙�
- * @param startTime
- * 璧峰鏃堕棿
- * @param endTime
- * 缁撴潫鏃堕棿
- * @param slotTime
- * 鏃堕棿娈碉細1-鏈�杩戜笁澶� 2-鏈�杩戜竷澶� 3鏈�杩戝崐鏈� 4鏈湀 5杩戜笁鏈� 6杩戝崐骞�
- * @param dateType
- * 1-浠婃棩 2-鏄ㄥぉ 3-鏈湀 4-涓婁釜鏈� |
- * @param needCount
- * @param out
- */
- @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) {
- 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;
-
- if (page == null || page < 1) {
- page = 1;
- }
-
- if (state != null && state == 0) {
- state = null;// 鎵�鏈夌姸鎬�
- }
-
- // 杞崲鐘舵��
- if (state != null && state == 4) {
- orderState = state; // 宸叉敹璐х姸鎬�
- 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; // 鎵�鏈夊钩鍙拌鍗�
- }
-
- List<Integer> listSource = new ArrayList<>();
- if (goodsType != null) {
- listSource.add(goodsType);
- }
-
- try {
- if (slotTime != null) {
- SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd");
- endTime = sd.format(new Date());
- startTime = convertDate(slotTime, endTime);
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
-
- if (endTime != null && endTime.trim().length() > 0) {
- endTime += " 23:59:59";
- }
-
- String orderFindUrl = null;
-
- try {
- long count = 0;
- long totalValid = 0;
- long totalProces = 0;
- long totalInvite = 0;
- long todayTotal = 0;
- BigDecimal todayMoney = null;
-
- // 鏌ヨ鍒楄〃
- 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, listSource);
- }
-
- // 闇�瑕佺粺璁$瓫閫変俊鎭� 锛氭湭澶辨晥鐨勬�婚噾棰� 浠ュ強璁㈠崟
- if (needCount && page == 1) {
-
- todayMoney = commonOrderService.countBonusOrderMoney(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);
-
- // 缁存潈璁㈠崟
- totalProces = commonOrderService.countUserOrderToApp(uid, type, startTime, endTime, dateType, goodsType,
- null, 2);
-
- // 澶辨晥璁㈠崟
- totalInvite = commonOrderService.countUserOrderToApp(uid, type, startTime, endTime, dateType, goodsType,
- null, 3);
- }
-
- if (todayMoney == null) {
- todayMoney = new BigDecimal(0.00);
- }
-
- // 鍒ゆ柇鏄惁闇�瑕佹樉绀鸿鍗曟壘鍥炴彁绀�
- 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", configService.get(ConfigKeyEnum.orderListHelp.getKey()));
-
- if (type != null && type == 1) {
- data.put("todayMoney", "棰勪及杩斿埄鎬婚 楼" + todayMoney.setScale(2, BigDecimal.ROUND_DOWN).toString());
- } else if (type != null && (type == 2 || type == 3)) {
- data.put("todayMoney", "棰勪及濂栭噾鎬婚 楼" + todayMoney.setScale(2, BigDecimal.ROUND_DOWN).toString());
- } else {
- data.put("todayMoney", "棰勪及鎬婚 楼" + todayMoney.setScale(2, BigDecimal.ROUND_DOWN).toString());
- }
-
- data.put("todayTotal", "鍏�" + todayTotal + "绗�");
- 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, "鏌ヨ澶辫触"));
- LogHelper.errorDetailInfo(e);
- }
- }
-
- /**
- * 鐢ㄦ埛璁㈠崟缁熻
- *
- * @param acceptData
- * @param uid
- * 鐢ㄦ埛id
- * @param out
- */
- @RequestMapping(value = "countorder", method = RequestMethod.POST)
- public void countOrder(AcceptData acceptData, Long uid, PrintWriter out) {
-
- if (uid == null) {
- out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛鏈櫥褰�"));
- return;
- }
-
- try {
- UserInfo user = userInfoService.selectByPKey(uid);
- if (user == null) {
- out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛涓嶅瓨鍦�"));
- return;
- }
-
- UserInfo userInfo = UserUtil.filterForClientUser(user);
-
- // 1.5.0 鐗堟湰涔嬪悗杩斿洖鏂扮殑绛夌骇
- String version = acceptData.getVersion();
- if (version != null && version.trim().length() > 0) {
- int versionCode = Integer.parseInt(version);
- String platform = acceptData.getPlatform();
-
- AppVersionInfo versionInfo = appVersionService.getByPlatformAndVersion(platform, "1.5.0");
- if (versionInfo != null) {
- int versionCode150 = versionInfo.getVersionCode();
- if (versionCode >= versionCode150) {
- UserInfoExtraVO userInfoExtra = userInfoExtraService.getInfoExtraVOByUid(user.getId());
- if (userInfoExtra != null && userInfoExtra.getUserRank() != null) {
- String picture = userInfoExtra.getUserRank().getPicture();
- String icon = userInfoExtra.getUserRank().getIcon();
-
- userInfo.setRankIcon(icon);
- userInfo.setRankNamePicture(picture);
- }
- }
- }
-
- }
-
- 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, goodsType);
- int self = 0;
- if (countOrder.get("totalSelf") != null) {
- self = countOrder.get("totalSelf").intValue();
- }
-
- int shared = 0;
- if (countOrder.get("totalShared") != null) {
- shared = countOrder.get("totalShared").intValue();
- }
-
- int invite = 0;
- if (countOrder.get("totalInvite") != null) {
- invite = countOrder.get("totalInvite").intValue();
- }
-
- int total = self + shared + invite;
-
- data.put("total", total);
- data.put("self", self);
- data.put("shared", shared);
- data.put("invite", invite);
-
- /* 浠婃棩璁㈠崟缁熻 */
- 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);
-
- data.put("today", todaydata);
-
- /* 鏄ㄦ棩璁㈠崟缁熻 */
- 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);
-
- data.put("yesterday", yesterdaydata);
-
- out.print(JsonUtil.loadTrueResult(data));
-
- } catch (Exception e) {
- out.print(JsonUtil.loadFalseResult(1, "鑾峰彇淇℃伅澶辫触"));
- e.printStackTrace();
- }
- }
-
- /**
- * 缁熻鍚勪釜骞冲彴鏁版嵁
- *
- * @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
- * @param uid
- * @param out
- */
- @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;
- }
-
- 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);
-
- 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;
- }
- }
-
- // 閭�璇风粺璁�
-
- 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;
- }
- }
- }
-
- JSONObject data = new JSONObject();
- data.put("shareCount", shareCount);
- data.put("sharemoney", sharemoney.setScale(2, BigDecimal.ROUND_DOWN).toString());
- data.put("inviteCount", inviteCount);
- data.put("inviteMoney", inviteMoney.setScale(2, BigDecimal.ROUND_DOWN).toString());
-
- data.put("showTiCheng", hongBaoV2CountService.getTotalTiChengCount(uid) > 0);
- out.print(JsonUtil.loadTrueResult(data));
-
- } catch (Exception e) {
- out.print(JsonUtil.loadFalseResult(1, "鑾峰彇淇℃伅澶辫触"));
- e.printStackTrace();
- }
- }
-
- /**
- * 涓婁紶瑙f瀽鍒扮殑娣樺疂璁㈠崟
- *
- * @param acceptData
- * @param uid
- * @param orderData
- * @param source
- * @param out
- */
- @RequestMapping(value = "uploadParsedOrder", method = RequestMethod.POST)
- public void uploadParsedOrder(AcceptData acceptData, Long uid, String orderData, String source,
- HttpServletRequest request, PrintWriter out) {
- if (uid == null || StringUtil.isNullOrEmpty(orderData)) {
- out.print(JsonUtil.loadFalseResult(1, "鏁版嵁閿欒"));
- return;
- }
-
- String[] orders = null;
- try {
- String orderIds = DESUtil.decode(orderData, StringUtil.getBase64String("YeShiFANLI889*+"),
- StringUtil.getBase64String("*M#34f?,"));
- orders = orderIds.split(",");
- } catch (Exception e) {
- e.printStackTrace();
- }
-
- if ("findOrder".equalsIgnoreCase(source)) {
-
- boolean success = false;
- // 鍖归厤璁㈠崟
- for (String order : orders) {
- if (!StringUtil.isNullOrEmpty(order)) {
- List<TaoBaoOrder> orderList = taoBaoOrderService.getTaoBaoOrderByOrderId(order);
- // 璁$畻璁㈠崟鐘舵��
-
- if (orderList != null && orderList.size() > 0) {
- int inValid = 0;
- for (TaoBaoOrder taoBaoOrder : orderList) {
- if (taoBaoOrder.getOrderState().equalsIgnoreCase("璁㈠崟澶辨晥")) {
- inValid++;
- }
- }
- // 璁㈠崟鍏ㄦ槸澶辨晥
- if (inValid == orderList.size())
- continue;
-
- List<CommonOrder> commonOrderList = commonOrderService
- .listBySourceTypeAndOrderId(Constant.SOURCE_TYPE_TAOBAO, order);
- if (commonOrderList == null || commonOrderList.size() == 0) {
- Order o = orderService.findOrderByOrderIdAndType(order, Order.ORDER_TYPE_TAOBAO);
- if (o != null)// 鍘熸潵宸茬粡瀛樺湪锛屽垯涓嶉渶瑕佹壘鍥�
- continue;
-
- Order or = new Order();
- or.setBeizhu("浜哄伐鑷姩鎵惧洖琛ュ崟");
- or.setCreatetime(System.currentTimeMillis());
- or.setOrderId(order);
- or.setOrderType(1);
- or.setState(Order.STATE_YIZHIFU);
- or.setUserInfo(new UserInfo(uid));
- or.setVersion(2);
- // 鍔犲叆鍒拌鍗曡〃
- boolean isS;
- try {
- isS = orderService.addOrder(or);
- if (isS) {
- CMQManager.getInstance().addTaoBaoOrderMsg(order);
- // 鍔犲叆鍒癓ostOrder
- LostOrder lo = new LostOrder();
- lo.setCreateTime(System.currentTimeMillis());
- lo.setHandleTime(System.currentTimeMillis());
- lo.setIpInfo(IPUtil.getRemotIP(request) + ":" + request.getRemotePort());
- lo.setOrder(or);
- lo.setOrderId(order);
- lo.setState(LostOrder.STATE_PASS);
- lo.setResultCode(LostOrder.RESULT_CODE_VERFING);
- lo.setType(LostOrder.TYPE_TAOBAO);
- lo.setUserInfo(new UserInfo(uid));
- lostOrderService.saveLostOrder(lo);
- if (success == false)
- success = true;
- }
- } catch (Exception e) {
- try {
- LogHelper.errorDetailInfo(e, order, "");
- } catch (Exception e1) {
- e1.printStackTrace();
- }
- }
- }
- }
- }
- }
- if (success) {
- out.print(JsonUtil.loadTrue(0, null, "璁㈠崟鎵惧洖鎴愬姛锛岃鍒扳�滄垜鐨�-璁㈠崟鈥濅腑鏌ョ湅"));
- return;
- } else {
- out.print(JsonUtil.loadFalseResult("娌℃湁鍙壘鍥炵殑璁㈠崟锛岃灏濊瘯鎵嬪姩鎵惧洖"));
- return;
- }
-
- } else {
- String orderId = null;
- if (orders != null && orders.length > 0)
- orderId = orders[0];
- if (!StringUtil.isNullOrEmpty(orderId) && orderId.length() > 6) {
- orderId = orderId.substring(orderId.length() - 6, orderId.length());
- UserExtraTaoBaoInfo info = userExtraTaoBaoInfoService.getByUid(uid);
- if (info != null) {
- UserExtraTaoBaoInfo update = new UserExtraTaoBaoInfo();
- update.setId(info.getId());
- update.setTaoBaoOrderEnd6Num(orderId);
- userExtraTaoBaoInfoService.updateSelective(update);
- }
- }
- }
- out.print(JsonUtil.loadTrueResult(""));
- }
-
- /**
- * 鏃堕棿杞崲
- *
- * @param slotTime
- * @param startTime
- * @return
- * @throws Exception
- */
- public String convertDate(Integer slotTime, String endTime) throws Exception {
- String startTime = null;
-
- switch (slotTime) {
- case 1: // 鏈�杩戜笁澶�
- startTime = DateUtil.reduceDay(2, endTime);
- break;
- case 2: // 鏈�杩戜竷澶�
- startTime = DateUtil.reduceDay(6, endTime);
- break;
- case 3: // 鏈�杩�15澶� 锛堝崐鏈堬級
- startTime = DateUtil.reduceDay(14, endTime);
- break;
- case 4: // 鏈�杩戜笁鍗佸ぉ 锛堟湰鏈堬級
- startTime = DateUtil.reduceDay(29, endTime);
- break;
- case 5: // 鏈�杩戜節鍗佸ぉ锛堣繎涓夋湀锛�
- startTime = DateUtil.reduceDay(3 * 30 - 1, endTime);
- break;
- case 6: // 鏈�杩戜竴鐧惧叓鍗佸ぉ锛堣繎鍗婂勾锛�
- startTime = DateUtil.reduceDay(6 * 30 - 1, endTime);
- break;
- default:
- break;
- }
-
- return startTime;
- }
-
- /**
- * 鑾峰彇鍥㈤槦璁㈠崟缁熻
- * @Title: getTeamOrderStatistic
- * @Description:
- * @param acceptData
- * @param uid
- * @param out
- * void 杩斿洖绫诲瀷
- * @throws
- */
- @RequestMapping(value = "getTeamOrderStatistic")
- public void getTeamOrderStatistic(AcceptData acceptData, Long uid, PrintWriter out) {
- long now = System.currentTimeMillis();
- TeamOrderStatisticVO vo = new TeamOrderStatisticVO();
- Date minDate = new Date(TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(now, "yyyyMMdd"), "yyyyMMdd"));
- Date maxDate = new Date(
- TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(now + 1000 * 60 * 60 * 24L, "yyyyMMdd"), "yyyyMMdd"));
- List<Integer> countList = new ArrayList<>();
- // 缁熻浠婃棩
- TeamOrderStatistic statistic = teamOrderStatisticService.countByUidAndDate(uid, minDate, maxDate);
- if (statistic == null) {
- countList.add(0);
- countList.add(0);
- countList.add(0);
- } else {
- countList.add(statistic.getDirectOrderCount() == null ? 0 : statistic.getDirectOrderCount());
- countList.add(statistic.getInDirectOrderCount() == null ? 0 : statistic.getInDirectOrderCount());
- countList.add(statistic.getOtherOrderCount() == null ? 0 : statistic.getOtherOrderCount());
- }
-
- vo.setToday(countList);
-
- // 缁熻鏄ㄦ棩
- minDate = new Date(
- TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(now - 1000 * 60 * 60 * 24L, "yyyyMMdd"), "yyyyMMdd"));
- maxDate = new Date(TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(now, "yyyyMMdd"), "yyyyMMdd"));
-
- countList = new ArrayList<>();
- statistic = teamOrderStatisticService.countByUidAndDate(uid, minDate, maxDate);
- if (statistic == null) {
- countList.add(0);
- countList.add(0);
- countList.add(0);
- } else {
- countList.add(statistic.getDirectOrderCount() == null ? 0 : statistic.getDirectOrderCount());
- countList.add(statistic.getInDirectOrderCount() == null ? 0 : statistic.getInDirectOrderCount());
- countList.add(statistic.getOtherOrderCount() == null ? 0 : statistic.getOtherOrderCount());
- }
-
- vo.setYesterday(countList);
-
- // 缁熻鏈湀
-
- minDate = new Date(
- TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(now - 1000 * 60 * 60 * 24L, "yyyyMM"), "yyyyMM"));
- Calendar ca = Calendar.getInstance();
- ca.setTimeInMillis(now);
-
- ca.add(Calendar.MONTH, 1);
-
- maxDate = new Date(
- TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(ca.getTimeInMillis(), "yyyyMM"), "yyyyMM"));
-
- countList = new ArrayList<>();
- statistic = teamOrderStatisticService.countByUidAndDate(uid, minDate, maxDate);
- if (statistic == null) {
- countList.add(0);
- countList.add(0);
- countList.add(0);
- } else {
- countList.add(statistic.getDirectOrderCount() == null ? 0 : statistic.getDirectOrderCount());
- countList.add(statistic.getInDirectOrderCount() == null ? 0 : statistic.getInDirectOrderCount());
- countList.add(statistic.getOtherOrderCount() == null ? 0 : statistic.getOtherOrderCount());
- }
-
- vo.setThisMonth(countList);
-
- // 缁熻 绱
- minDate = new Date(0L);
- maxDate = new Date(now);
- countList = new ArrayList<>();
- statistic = teamOrderStatisticService.countByUidAndDate(uid, minDate, maxDate);
- if (statistic == null) {
- countList.add(0);
- countList.add(0);
- countList.add(0);
- } else {
- countList.add(statistic.getDirectOrderCount() == null ? 0 : statistic.getDirectOrderCount());
- countList.add(statistic.getInDirectOrderCount() == null ? 0 : statistic.getInDirectOrderCount());
- countList.add(statistic.getOtherOrderCount() == null ? 0 : statistic.getOtherOrderCount());
- }
-
- vo.setTotal(countList);
- }
-
- /**
- * 鑾峰彇鍥㈤槦璁㈠崟鎺掕
- * @Title: getTeamOrderRank
- * @Description:
- * @param acceptData
- * @param uid
- * @param type 1-浠婃棩 2-鏄ㄦ棩 3-鏈湀
- * @param out
- * void 杩斿洖绫诲瀷
- * @throws
- */
- @RequestMapping(value = "getTeamOrderRank")
- public void getTeamOrderRank(AcceptData acceptData, Long uid, int type, PrintWriter out) {
- // TODO 闇�姹備笉鏄庣‘
-
- }
-
- @RequestMapping(value = "searchOrderTeam")
- public void searchOrderTeam(AcceptData acceptData, String key, PrintWriter out) {
-// teamDividentsSourceOrderService.selectByOrderNoSourceType(orderNo, sourceType);
- }
-
-}
+package com.yeshi.fanli.controller.client.v1;
+
+import java.io.PrintWriter;
+import java.math.BigDecimal;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+
+import com.yeshi.fanli.util.*;
+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;
+import org.yeshi.utils.TimeUtil;
+import org.yeshi.utils.encrypt.DESUtil;
+
+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.order.TeamOrderStatistic;
+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;
+import com.yeshi.fanli.service.inter.config.AppVersionService;
+import com.yeshi.fanli.service.inter.config.ConfigService;
+import com.yeshi.fanli.service.inter.count.HongBaoV2CountService;
+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.order.TeamOrderStatisticService;
+import com.yeshi.fanli.service.inter.order.dividents.TeamDividentsSourceOrderService;
+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.account.UserUtil;
+import com.yeshi.fanli.vo.order.CommonOrderVO;
+import com.yeshi.fanli.vo.order.TeamOrderStatisticVO;
+import com.yeshi.fanli.vo.user.UserInfoExtraVO;
+
+import net.sf.json.JSONObject;
+
+@Controller
+@RequestMapping("api/v1/user/order")
+public class UserOrderController {
+
+ @Resource
+ private ConfigService configService;
+
+ @Resource
+ private AppVersionService appVersionService;
+
+ @Resource
+ private UserInfoService userInfoService;
+
+ @Resource
+ private UserInfoExtraService userInfoExtraService;
+
+ @Resource
+ private CommonOrderService commonOrderService;
+
+ @Resource
+ private HongBaoV2CountService hongBaoV2CountService;
+
+ @Resource
+ private UserExtraTaoBaoInfoService userExtraTaoBaoInfoService;
+
+ @Resource
+ private TaoBaoOrderService taoBaoOrderService;
+
+ @Resource
+ private OrderService orderService;
+
+ @Resource
+ private LostOrderService lostOrderService;
+
+ @Resource
+ private RedisManager redisManager;
+
+// @Resource
+ private TeamOrderStatisticService teamOrderStatisticService;
+
+ @Resource
+ private TeamDividentsSourceOrderService teamDividentsSourceOrderService;
+
+ /**
+ * 璁㈠崟鍒楄〃
+ *
+ * @param acceptData
+ * @param page
+ * @param uid
+ * @param state
+ * 鐘舵�侊細0鍏ㄩ儴 1-鏈埌璐� 2-宸插埌璐� 3-宸插け鏁� 4宸叉敹璐�
+ * @param type
+ * 绫诲瀷锛�1-杩斿埄璁㈠崟 2-鍒嗕韩璁㈠崟 3-閭�璇疯鍗�
+ * @param orderState
+ * 1鏈夋晥璁㈠崟 2 缁存潈璁㈠崟 3澶辨晥璁㈠崟
+ * @param orderNo
+ * 璁㈠崟鍙�
+ * @param startTime
+ * 璧峰鏃堕棿
+ * @param endTime
+ * 缁撴潫鏃堕棿
+ * @param slotTime
+ * 鏃堕棿娈碉細1-鏈�杩戜笁澶� 2-鏈�杩戜竷澶� 3鏈�杩戝崐鏈� 4鏈湀 5杩戜笁鏈� 6杩戝崐骞�
+ * @param dateType
+ * 1-浠婃棩 2-鏄ㄥぉ 3-鏈湀 4-涓婁釜鏈� |
+ * @param needCount
+ * @param out
+ */
+ @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) {
+ 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;
+
+ if (page == null || page < 1) {
+ page = 1;
+ }
+
+ if (state != null && state == 0) {
+ state = null;// 鎵�鏈夌姸鎬�
+ }
+
+ // 杞崲鐘舵��
+ if (state != null && state == 4) {
+ orderState = state; // 宸叉敹璐х姸鎬�
+ 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; // 鎵�鏈夊钩鍙拌鍗�
+ }
+
+ List<Integer> listSource = new ArrayList<>();
+ if (goodsType != null) {
+ listSource.add(goodsType);
+ }
+
+ try {
+ if (slotTime != null) {
+ SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd");
+ endTime = sd.format(new Date());
+ startTime = convertDate(slotTime, endTime);
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ if (endTime != null && endTime.trim().length() > 0) {
+ endTime += " 23:59:59";
+ }
+
+ String orderFindUrl = null;
+
+ try {
+ long count = 0;
+ long totalValid = 0;
+ long totalProces = 0;
+ long totalInvite = 0;
+ long todayTotal = 0;
+ BigDecimal todayMoney = null;
+
+ // 鏌ヨ鍒楄〃
+ 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, listSource);
+ }
+
+ // 闇�瑕佺粺璁$瓫閫変俊鎭� 锛氭湭澶辨晥鐨勬�婚噾棰� 浠ュ強璁㈠崟
+ if (needCount && page == 1) {
+
+ todayMoney = commonOrderService.countBonusOrderMoney(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);
+
+ // 缁存潈璁㈠崟
+ totalProces = commonOrderService.countUserOrderToApp(uid, type, startTime, endTime, dateType, goodsType,
+ null, 2);
+
+ // 澶辨晥璁㈠崟
+ totalInvite = commonOrderService.countUserOrderToApp(uid, type, startTime, endTime, dateType, goodsType,
+ null, 3);
+ }
+
+ if (todayMoney == null) {
+ todayMoney = new BigDecimal(0.00);
+ }
+
+ // 鍒ゆ柇鏄惁闇�瑕佹樉绀鸿鍗曟壘鍥炴彁绀�
+ 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.getValue(ConfigKeyEnum.orderFindNotifyUrl.getKey(), SystemInfoUtil.getSystem(acceptData));
+ }
+ }
+
+ JSONObject data = new JSONObject();
+ data.put("count", count);
+ data.put("result_list", JsonUtil.getApiCommonGson().toJson(list));
+ data.put("helpUrl", configService.getValue(ConfigKeyEnum.orderListHelp.getKey(),SystemInfoUtil.getSystem(acceptData)));
+
+ if (type != null && type == 1) {
+ data.put("todayMoney", "棰勪及杩斿埄鎬婚 楼" + todayMoney.setScale(2, BigDecimal.ROUND_DOWN).toString());
+ } else if (type != null && (type == 2 || type == 3)) {
+ data.put("todayMoney", "棰勪及濂栭噾鎬婚 楼" + todayMoney.setScale(2, BigDecimal.ROUND_DOWN).toString());
+ } else {
+ data.put("todayMoney", "棰勪及鎬婚 楼" + todayMoney.setScale(2, BigDecimal.ROUND_DOWN).toString());
+ }
+
+ data.put("todayTotal", "鍏�" + todayTotal + "绗�");
+ 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, "鏌ヨ澶辫触"));
+ LogHelper.errorDetailInfo(e);
+ }
+ }
+
+ /**
+ * 鐢ㄦ埛璁㈠崟缁熻
+ *
+ * @param acceptData
+ * @param uid
+ * 鐢ㄦ埛id
+ * @param out
+ */
+ @RequestMapping(value = "countorder", method = RequestMethod.POST)
+ public void countOrder(AcceptData acceptData, Long uid, PrintWriter out) {
+
+ if (uid == null) {
+ out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛鏈櫥褰�"));
+ return;
+ }
+
+ try {
+ UserInfo user = userInfoService.selectByPKey(uid);
+ if (user == null) {
+ out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛涓嶅瓨鍦�"));
+ return;
+ }
+
+ UserInfo userInfo = UserUtil.filterForClientUser(user);
+
+ // 1.5.0 鐗堟湰涔嬪悗杩斿洖鏂扮殑绛夌骇
+ String version = acceptData.getVersion();
+ if (version != null && version.trim().length() > 0) {
+ int versionCode = Integer.parseInt(version);
+ String platform = acceptData.getPlatform();
+
+ AppVersionInfo versionInfo = appVersionService.getByPlatformAndVersion(platform, "1.5.0",acceptData.getSystem());
+ if (versionInfo != null) {
+ int versionCode150 = versionInfo.getVersionCode();
+ if (versionCode >= versionCode150) {
+ UserInfoExtraVO userInfoExtra = userInfoExtraService.getInfoExtraVOByUid(user.getId());
+ if (userInfoExtra != null && userInfoExtra.getUserRank() != null) {
+ String picture = userInfoExtra.getUserRank().getPicture();
+ String icon = userInfoExtra.getUserRank().getIcon();
+
+ userInfo.setRankIcon(icon);
+ userInfo.setRankNamePicture(picture);
+ }
+ }
+ }
+
+ }
+
+ 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, goodsType);
+ int self = 0;
+ if (countOrder.get("totalSelf") != null) {
+ self = countOrder.get("totalSelf").intValue();
+ }
+
+ int shared = 0;
+ if (countOrder.get("totalShared") != null) {
+ shared = countOrder.get("totalShared").intValue();
+ }
+
+ int invite = 0;
+ if (countOrder.get("totalInvite") != null) {
+ invite = countOrder.get("totalInvite").intValue();
+ }
+
+ int total = self + shared + invite;
+
+ data.put("total", total);
+ data.put("self", self);
+ data.put("shared", shared);
+ data.put("invite", invite);
+
+ /* 浠婃棩璁㈠崟缁熻 */
+ 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);
+
+ data.put("today", todaydata);
+
+ /* 鏄ㄦ棩璁㈠崟缁熻 */
+ 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);
+
+ data.put("yesterday", yesterdaydata);
+
+ out.print(JsonUtil.loadTrueResult(data));
+
+ } catch (Exception e) {
+ out.print(JsonUtil.loadFalseResult(1, "鑾峰彇淇℃伅澶辫触"));
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * 缁熻鍚勪釜骞冲彴鏁版嵁
+ *
+ * @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
+ * @param uid
+ * @param out
+ */
+ @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;
+ }
+
+ 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);
+
+ 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;
+ }
+ }
+
+ // 閭�璇风粺璁�
+
+ 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;
+ }
+ }
+ }
+
+ JSONObject data = new JSONObject();
+ data.put("shareCount", shareCount);
+ data.put("sharemoney", sharemoney.setScale(2, BigDecimal.ROUND_DOWN).toString());
+ data.put("inviteCount", inviteCount);
+ data.put("inviteMoney", inviteMoney.setScale(2, BigDecimal.ROUND_DOWN).toString());
+
+ data.put("showTiCheng", hongBaoV2CountService.getTotalTiChengCount(uid) > 0);
+ out.print(JsonUtil.loadTrueResult(data));
+
+ } catch (Exception e) {
+ out.print(JsonUtil.loadFalseResult(1, "鑾峰彇淇℃伅澶辫触"));
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * 涓婁紶瑙f瀽鍒扮殑娣樺疂璁㈠崟
+ *
+ * @param acceptData
+ * @param uid
+ * @param orderData
+ * @param source
+ * @param out
+ */
+ @RequestMapping(value = "uploadParsedOrder", method = RequestMethod.POST)
+ public void uploadParsedOrder(AcceptData acceptData, Long uid, String orderData, String source,
+ HttpServletRequest request, PrintWriter out) {
+ if (uid == null || StringUtil.isNullOrEmpty(orderData)) {
+ out.print(JsonUtil.loadFalseResult(1, "鏁版嵁閿欒"));
+ return;
+ }
+
+ String[] orders = null;
+ try {
+ String orderIds = DESUtil.decode(orderData, StringUtil.getBase64String("YeShiFANLI889*+"),
+ StringUtil.getBase64String("*M#34f?,"));
+ orders = orderIds.split(",");
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ if ("findOrder".equalsIgnoreCase(source)) {
+
+ boolean success = false;
+ // 鍖归厤璁㈠崟
+ for (String order : orders) {
+ if (!StringUtil.isNullOrEmpty(order)) {
+ List<TaoBaoOrder> orderList = taoBaoOrderService.getTaoBaoOrderByOrderId(order);
+ // 璁$畻璁㈠崟鐘舵��
+
+ if (orderList != null && orderList.size() > 0) {
+ int inValid = 0;
+ for (TaoBaoOrder taoBaoOrder : orderList) {
+ if (taoBaoOrder.getOrderState().equalsIgnoreCase("璁㈠崟澶辨晥")) {
+ inValid++;
+ }
+ }
+ // 璁㈠崟鍏ㄦ槸澶辨晥
+ if (inValid == orderList.size())
+ continue;
+
+ List<CommonOrder> commonOrderList = commonOrderService
+ .listBySourceTypeAndOrderId(Constant.SOURCE_TYPE_TAOBAO, order);
+ if (commonOrderList == null || commonOrderList.size() == 0) {
+ Order o = orderService.findOrderByOrderIdAndType(order, Order.ORDER_TYPE_TAOBAO);
+ if (o != null)// 鍘熸潵宸茬粡瀛樺湪锛屽垯涓嶉渶瑕佹壘鍥�
+ continue;
+
+ Order or = new Order();
+ or.setBeizhu("浜哄伐鑷姩鎵惧洖琛ュ崟");
+ or.setCreatetime(System.currentTimeMillis());
+ or.setOrderId(order);
+ or.setOrderType(1);
+ or.setState(Order.STATE_YIZHIFU);
+ or.setUserInfo(new UserInfo(uid));
+ or.setVersion(2);
+ // 鍔犲叆鍒拌鍗曡〃
+ boolean isS;
+ try {
+ isS = orderService.addOrder(or);
+ if (isS) {
+ CMQManager.getInstance().addTaoBaoOrderMsg(order);
+ // 鍔犲叆鍒癓ostOrder
+ LostOrder lo = new LostOrder();
+ lo.setCreateTime(System.currentTimeMillis());
+ lo.setHandleTime(System.currentTimeMillis());
+ lo.setIpInfo(IPUtil.getRemotIP(request) + ":" + request.getRemotePort());
+ lo.setOrder(or);
+ lo.setOrderId(order);
+ lo.setState(LostOrder.STATE_PASS);
+ lo.setResultCode(LostOrder.RESULT_CODE_VERFING);
+ lo.setType(LostOrder.TYPE_TAOBAO);
+ lo.setUserInfo(new UserInfo(uid));
+ lostOrderService.saveLostOrder(lo);
+ if (success == false)
+ success = true;
+ }
+ } catch (Exception e) {
+ try {
+ LogHelper.errorDetailInfo(e, order, "");
+ } catch (Exception e1) {
+ e1.printStackTrace();
+ }
+ }
+ }
+ }
+ }
+ }
+ if (success) {
+ out.print(JsonUtil.loadTrue(0, null, "璁㈠崟鎵惧洖鎴愬姛锛岃鍒扳�滄垜鐨�-璁㈠崟鈥濅腑鏌ョ湅"));
+ return;
+ } else {
+ out.print(JsonUtil.loadFalseResult("娌℃湁鍙壘鍥炵殑璁㈠崟锛岃灏濊瘯鎵嬪姩鎵惧洖"));
+ return;
+ }
+
+ } else {
+ String orderId = null;
+ if (orders != null && orders.length > 0)
+ orderId = orders[0];
+ if (!StringUtil.isNullOrEmpty(orderId) && orderId.length() > 6) {
+ orderId = orderId.substring(orderId.length() - 6, orderId.length());
+ UserExtraTaoBaoInfo info = userExtraTaoBaoInfoService.getByUid(uid);
+ if (info != null) {
+ UserExtraTaoBaoInfo update = new UserExtraTaoBaoInfo();
+ update.setId(info.getId());
+ update.setTaoBaoOrderEnd6Num(orderId);
+ userExtraTaoBaoInfoService.updateSelective(update);
+ }
+ }
+ }
+ out.print(JsonUtil.loadTrueResult(""));
+ }
+
+ /**
+ * 鏃堕棿杞崲
+ *
+ * @param slotTime
+ * @param startTime
+ * @return
+ * @throws Exception
+ */
+ public String convertDate(Integer slotTime, String endTime) throws Exception {
+ String startTime = null;
+
+ switch (slotTime) {
+ case 1: // 鏈�杩戜笁澶�
+ startTime = DateUtil.reduceDay(2, endTime);
+ break;
+ case 2: // 鏈�杩戜竷澶�
+ startTime = DateUtil.reduceDay(6, endTime);
+ break;
+ case 3: // 鏈�杩�15澶� 锛堝崐鏈堬級
+ startTime = DateUtil.reduceDay(14, endTime);
+ break;
+ case 4: // 鏈�杩戜笁鍗佸ぉ 锛堟湰鏈堬級
+ startTime = DateUtil.reduceDay(29, endTime);
+ break;
+ case 5: // 鏈�杩戜節鍗佸ぉ锛堣繎涓夋湀锛�
+ startTime = DateUtil.reduceDay(3 * 30 - 1, endTime);
+ break;
+ case 6: // 鏈�杩戜竴鐧惧叓鍗佸ぉ锛堣繎鍗婂勾锛�
+ startTime = DateUtil.reduceDay(6 * 30 - 1, endTime);
+ break;
+ default:
+ break;
+ }
+
+ return startTime;
+ }
+
+ /**
+ * 鑾峰彇鍥㈤槦璁㈠崟缁熻
+ * @Title: getTeamOrderStatistic
+ * @Description:
+ * @param acceptData
+ * @param uid
+ * @param out
+ * void 杩斿洖绫诲瀷
+ * @throws
+ */
+ @RequestMapping(value = "getTeamOrderStatistic")
+ public void getTeamOrderStatistic(AcceptData acceptData, Long uid, PrintWriter out) {
+ long now = System.currentTimeMillis();
+ TeamOrderStatisticVO vo = new TeamOrderStatisticVO();
+ Date minDate = new Date(TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(now, "yyyyMMdd"), "yyyyMMdd"));
+ Date maxDate = new Date(
+ TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(now + 1000 * 60 * 60 * 24L, "yyyyMMdd"), "yyyyMMdd"));
+ List<Integer> countList = new ArrayList<>();
+ // 缁熻浠婃棩
+ TeamOrderStatistic statistic = teamOrderStatisticService.countByUidAndDate(uid, minDate, maxDate);
+ if (statistic == null) {
+ countList.add(0);
+ countList.add(0);
+ countList.add(0);
+ } else {
+ countList.add(statistic.getDirectOrderCount() == null ? 0 : statistic.getDirectOrderCount());
+ countList.add(statistic.getInDirectOrderCount() == null ? 0 : statistic.getInDirectOrderCount());
+ countList.add(statistic.getOtherOrderCount() == null ? 0 : statistic.getOtherOrderCount());
+ }
+
+ vo.setToday(countList);
+
+ // 缁熻鏄ㄦ棩
+ minDate = new Date(
+ TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(now - 1000 * 60 * 60 * 24L, "yyyyMMdd"), "yyyyMMdd"));
+ maxDate = new Date(TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(now, "yyyyMMdd"), "yyyyMMdd"));
+
+ countList = new ArrayList<>();
+ statistic = teamOrderStatisticService.countByUidAndDate(uid, minDate, maxDate);
+ if (statistic == null) {
+ countList.add(0);
+ countList.add(0);
+ countList.add(0);
+ } else {
+ countList.add(statistic.getDirectOrderCount() == null ? 0 : statistic.getDirectOrderCount());
+ countList.add(statistic.getInDirectOrderCount() == null ? 0 : statistic.getInDirectOrderCount());
+ countList.add(statistic.getOtherOrderCount() == null ? 0 : statistic.getOtherOrderCount());
+ }
+
+ vo.setYesterday(countList);
+
+ // 缁熻鏈湀
+
+ minDate = new Date(
+ TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(now - 1000 * 60 * 60 * 24L, "yyyyMM"), "yyyyMM"));
+ Calendar ca = Calendar.getInstance();
+ ca.setTimeInMillis(now);
+
+ ca.add(Calendar.MONTH, 1);
+
+ maxDate = new Date(
+ TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(ca.getTimeInMillis(), "yyyyMM"), "yyyyMM"));
+
+ countList = new ArrayList<>();
+ statistic = teamOrderStatisticService.countByUidAndDate(uid, minDate, maxDate);
+ if (statistic == null) {
+ countList.add(0);
+ countList.add(0);
+ countList.add(0);
+ } else {
+ countList.add(statistic.getDirectOrderCount() == null ? 0 : statistic.getDirectOrderCount());
+ countList.add(statistic.getInDirectOrderCount() == null ? 0 : statistic.getInDirectOrderCount());
+ countList.add(statistic.getOtherOrderCount() == null ? 0 : statistic.getOtherOrderCount());
+ }
+
+ vo.setThisMonth(countList);
+
+ // 缁熻 绱
+ minDate = new Date(0L);
+ maxDate = new Date(now);
+ countList = new ArrayList<>();
+ statistic = teamOrderStatisticService.countByUidAndDate(uid, minDate, maxDate);
+ if (statistic == null) {
+ countList.add(0);
+ countList.add(0);
+ countList.add(0);
+ } else {
+ countList.add(statistic.getDirectOrderCount() == null ? 0 : statistic.getDirectOrderCount());
+ countList.add(statistic.getInDirectOrderCount() == null ? 0 : statistic.getInDirectOrderCount());
+ countList.add(statistic.getOtherOrderCount() == null ? 0 : statistic.getOtherOrderCount());
+ }
+
+ vo.setTotal(countList);
+ }
+
+ /**
+ * 鑾峰彇鍥㈤槦璁㈠崟鎺掕
+ * @Title: getTeamOrderRank
+ * @Description:
+ * @param acceptData
+ * @param uid
+ * @param type 1-浠婃棩 2-鏄ㄦ棩 3-鏈湀
+ * @param out
+ * void 杩斿洖绫诲瀷
+ * @throws
+ */
+ @RequestMapping(value = "getTeamOrderRank")
+ public void getTeamOrderRank(AcceptData acceptData, Long uid, int type, PrintWriter out) {
+ // TODO 闇�姹備笉鏄庣‘
+
+ }
+
+ @RequestMapping(value = "searchOrderTeam")
+ public void searchOrderTeam(AcceptData acceptData, String key, PrintWriter out) {
+// teamDividentsSourceOrderService.selectByOrderNoSourceType(orderNo, sourceType);
+ }
+
+}
--
Gitblit v1.8.0