From 391b2a3d85dcb55e0164b82beed416c413a85ee3 Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期一, 25 五月 2020 15:22:27 +0800 Subject: [PATCH] 会员数据统计 --- fanli/src/main/java/com/yeshi/fanli/controller/client/v2/UserOrderControllerV2.java | 172 +++++++++++++++++++++----------------------------------- 1 files changed, 65 insertions(+), 107 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/UserOrderControllerV2.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/UserOrderControllerV2.java index 1318dfb..af9c125 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/UserOrderControllerV2.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/UserOrderControllerV2.java @@ -7,10 +7,8 @@ import java.util.ArrayList; import java.util.Date; import java.util.HashMap; -import java.util.Iterator; import java.util.List; import java.util.Map; -import java.util.Map.Entry; import javax.annotation.Resource; @@ -40,8 +38,6 @@ import com.yeshi.fanli.entity.order.ESOrder; import com.yeshi.fanli.entity.order.HongBaoOrder; import com.yeshi.fanli.entity.order.UserOrderWeiQuanRecord; -import com.yeshi.fanli.entity.order.dividents.TeamDividentsSourceOrder; -import com.yeshi.fanli.entity.order.dividents.TeamDividentsSourceOrderUserMap; import com.yeshi.fanli.entity.system.ConfigKeyEnum; import com.yeshi.fanli.entity.system.SystemCoupon.CouponTypeEnum; import com.yeshi.fanli.entity.taobao.TaoBaoWeiQuanOrder; @@ -501,7 +497,7 @@ BigDecimal shareMoney = null; BigDecimal teamMoney = null; // VIP棰勮淇℃伅 - if (VersionUtil.greaterThan_2_1(acceptData.getPlatform(), acceptData.getVersion())) { + if (VersionUtil.greaterThan_2_1_1(acceptData.getPlatform(), acceptData.getVersion())) { String redisContent = previewInfoService.getRedisContent(uid, PreviewEnum.mineInfo); if (!StringUtil.isNullOrEmpty(redisContent)) { MineInfoVO vo = new Gson().fromJson(redisContent, MineInfoVO.class); @@ -807,7 +803,7 @@ * @param out */ @RequestMapping(value = "teamOrderSearch") - public void teamOrderSearch(String callback, AcceptData acceptData, Long uid, String key, PrintWriter out) { + public void teamOrderSearch(String callback, AcceptData acceptData, Long uid, Integer page, String key, PrintWriter out) { if (uid == null) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(1, "鐢ㄦ埛鏈櫥褰�")); return; @@ -816,127 +812,88 @@ List<TeamOrderVO> resultList = new ArrayList<>(); if (StringUtil.isNullOrEmpty(key)) { JSONObject data = new JSONObject(); + data.put("count", 0); data.put("list", resultList); JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); return; } try { - // 鏌ヨ姝ゅ崟鏄惁瀛樺湪鍒嗙孩 - List<TeamOrderVO> tempList = new ArrayList<>(); - List<TeamDividentsSourceOrder> listSourceOrder = teamDividentsSourceOrderService.listByOrderNo(key); - if (listSourceOrder != null && listSourceOrder.size() > 0) { - for (TeamDividentsSourceOrder sourceOrder: listSourceOrder) { - List<TeamDividentsSourceOrderUserMap> listDividents = - teamDividentsSourceOrderUserMapService.listBySourceOrderIdAndTargetUid(sourceOrder.getId(), uid); - if (listDividents != null && listDividents.size() > 0) { - Integer state = null; - Date sendTime = null; - BigDecimal money = BigDecimal.ZERO; - for (TeamDividentsSourceOrderUserMap teamDividents: listDividents) { - money = money.add(teamDividents.getMoney()); - state = teamDividents.getState(); - sendTime = teamDividents.getSendTime(); - } - - TeamOrderVO teamOrderVO = new TeamOrderVO(); - teamOrderVO.setSourceType(sourceOrder.getSourceType()); - teamOrderVO.setOrderNo(sourceOrder.getOrderNo()); - teamOrderVO.setDivMoney(money); - teamOrderVO.setDivState(state); - if (sendTime != null) - teamOrderVO.setAccountTime(TimeUtil.formatDate(sendTime)); - tempList.add(teamOrderVO); - } - } + if (page == null) + page = 1; + + List<TeamOrderVO> list = teamDividentsSourceOrderUserMapService.searchByOrderNoOrSourceUid((page-1)*20, 20, uid, key); + if (list == null) { + list = new ArrayList<>(); } - if (tempList.size() > 0) { - List<CommonOrder> listOrder = commonOrderService.listByOrderNo(key); - if(listOrder != null && listOrder.size() > 0) { - Map<String, TeamOrderVO> map = new HashMap<String, TeamOrderVO>(); - for (CommonOrder order: listOrder) { - Integer sourceType = order.getSourceType(); - String orderNo = order.getOrderNo(); - String mapKey = orderNo + "##" + sourceType; - - TeamOrderVO teamVO = map.get(mapKey); - if (teamVO != null) { - teamVO.setPayment(teamVO.getPayment().add(order.getPayment())); - } else { - Long orderUid = order.getUserInfo().getId(); - teamVO = new TeamOrderVO(); - teamVO.setUid(orderUid); - teamVO.setOrderNo(orderNo); - teamVO.setSourceType(sourceType); + if (list.size() > 0) { + for (int i = 0; i < list.size(); i ++) { + TeamOrderVO teamVO = list.get(i); + // 绮変笣浠f暟 + ThreeSaleDetail threeDetail = threeSaleDetailService.getByBossUidAndWorkerUid(uid, teamVO.getUid()); + if (threeDetail == null) { + list.remove(i); + i--; + continue; + } + teamVO.setTeamGrade(threeDetail.getLevel()); + + // 绮変笣鍩烘湰淇℃伅 + UserInfo userInfo = userInfoService.getUserByIdWithMybatis(teamVO.getUid()); + if (userInfo == null) { + list.remove(i); + i--; + continue; + } + teamVO.setNickName(userInfo.getNickName()); + teamVO.setPortrait(userInfo.getPortrait()); + + + BigDecimal payment = BigDecimal.ZERO; + List<CommonOrder> listOrder = commonOrderService.listBySourceTypeAndOrderId(teamVO.getSourceType(), teamVO.getOrderNo()); + if (listOrder != null && listOrder.size() > 0) { + for (CommonOrder order: listOrder) { + payment = payment.add(order.getPayment()); teamVO.setSourceName(order.getChildSourceType()); - teamVO.setPayment(order.getPayment()); teamVO.setDownTime(TimeUtil.formatDate(order.getThirdCreateTime())); - + // 涓嬪崟鏃剁瓑绾� UserLevelEnum userLevel = UserLevelUtil.getByOrderRank(order.getUrank()); if (userLevel == null) userLevel = UserLevelEnum.daRen; teamVO.setUserRank(UserLevelUtil.getShowLevel(userLevel).name()); - // 绮変笣鍩烘湰淇℃伅 - UserInfo userInfo = userInfoService.getUserByIdWithMybatis(orderUid); - if (userInfo == null) { - continue; - } - teamVO.setUid(orderUid); - teamVO.setNickName(userInfo.getNickName()); - teamVO.setPortrait(userInfo.getPortrait()); + // 缁撶畻鏃堕棿 + Date settleTime = order.getSettleTime(); + if (settleTime != null) + teamVO.setSettleTime(TimeUtil.formatDate(settleTime)); - // 绮変笣浠f暟 - ThreeSaleDetail threeDetail = threeSaleDetailService.getByBossUidAndWorkerUid(uid, orderUid); - if (threeDetail == null) { - continue; - } - teamVO.setTeamGrade(threeDetail.getLevel()); - } - // 缁撶畻鏃堕棿 - Date settleTime = order.getSettleTime(); - if (settleTime != null) - teamVO.setSettleTime(TimeUtil.formatDate(settleTime)); - - // 鍒嗙孩淇℃伅 - for (TeamOrderVO teamOrderVO: tempList) { - if (teamOrderVO.getSourceType() == sourceType) { - teamVO.setDivMoney(teamOrderVO.getDivMoney()); - teamVO.setDivState(teamOrderVO.getDivState()); - teamVO.setAccountTime(teamOrderVO.getAccountTime()); - break; - } - } - - // 缁存潈淇℃伅 - Integer orderState = order.getState(); - if (!StringUtil.isNullOrEmpty(teamVO.getServiceTime()) && CommonOrder.STATE_WQ == orderState) { - if (sourceType == Constant.SOURCE_TYPE_TAOBAO) { - UserOrderWeiQuanRecord record = userOrderWeiQuanRecordService.selectByOrderInfoAndUid(uid, order.getTradeId(), sourceType); - if (record != null) { - teamVO.setServiceTime(TimeUtil.formatDate(record.getCreateTime())); + // 缁存潈淇℃伅 + Integer orderState = order.getState(); + if (!StringUtil.isNullOrEmpty(teamVO.getServiceTime()) && CommonOrder.STATE_WQ == orderState) { + if (order.getSourceType() == Constant.SOURCE_TYPE_TAOBAO) { + UserOrderWeiQuanRecord record = userOrderWeiQuanRecordService.selectByOrderInfoAndUid(uid, order.getTradeId(), order.getSourceType()); + if (record != null) { + teamVO.setServiceTime(TimeUtil.formatDate(record.getCreateTime())); + } } } + } - String orderTime = "涓嬪崟" + teamVO.getDownTime() ; - if (!StringUtil.isNullOrEmpty(teamVO.getSettleTime())) { - orderTime += "\n鏀惰揣" + teamVO.getSettleTime(); - } - if (!StringUtil.isNullOrEmpty(teamVO.getServiceTime())) { - orderTime += "\n鍞悗" + teamVO.getServiceTime(); - } - teamVO.setOrderTime(orderTime); - map.put(mapKey, teamVO); } + teamVO.setPayment(payment); - // 閬嶅巻鏀惧叆鏁扮粍 - Iterator<Entry<String, TeamOrderVO>> entries = map.entrySet().iterator(); - while(entries.hasNext()){ - Entry<String, TeamOrderVO> entry = entries.next(); - resultList.add(entry.getValue()); + + // 璁㈠崟鏃堕棿淇℃伅 + String orderTime = "涓嬪崟" + teamVO.getDownTime() ; + if (!StringUtil.isNullOrEmpty(teamVO.getSettleTime())) { + orderTime += "\n鏀惰揣" + teamVO.getSettleTime(); } + if (!StringUtil.isNullOrEmpty(teamVO.getServiceTime())) { + orderTime += "\n鍞悗" + teamVO.getServiceTime(); + } + teamVO.setOrderTime(orderTime); } } @@ -949,14 +906,15 @@ return new JsonPrimitive(""); } else { // 淇濈暀2浣嶅皬鏁� - return new JsonPrimitive(MoneyBigDecimalUtil.getWithNoZera(value) + ""); + value = value.setScale(2, BigDecimal.ROUND_DOWN); + return new JsonPrimitive(value.toString()); } } }); Gson gson = gsonBuilder.create(); - JSONObject data = new JSONObject(); - data.put("list", gson.toJson(resultList)); + data.put("count", teamDividentsSourceOrderUserMapService.countSearchByOrderNoOrSourceUid(uid, key)); + data.put("list", gson.toJson(list)); JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); } catch (Exception e) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鐢ㄦ埛涓嶅瓨鍦�")); -- Gitblit v1.8.0