From 24a8d17e007545f7426c48352109aa1a9c6587ee Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期三, 06 五月 2020 12:02:09 +0800
Subject: [PATCH] IOS上线隐藏我的界面的banner与超级会员升级信息

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/order/HongBaoOrderServiceImpl.java |   90 +++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 87 insertions(+), 3 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/HongBaoOrderServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/HongBaoOrderServiceImpl.java
index b7485ba..0e08e06 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/HongBaoOrderServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/HongBaoOrderServiceImpl.java
@@ -1,5 +1,7 @@
 package com.yeshi.fanli.service.impl.order;
 
+import java.math.BigDecimal;
+import java.util.Date;
 import java.util.List;
 
 import javax.annotation.Resource;
@@ -7,9 +9,10 @@
 import org.springframework.stereotype.Service;
 
 import com.yeshi.fanli.dao.mybatis.order.HongBaoOrderMapper;
+import com.yeshi.fanli.entity.bus.user.HongBaoV2;
 import com.yeshi.fanli.entity.order.HongBaoOrder;
 import com.yeshi.fanli.service.inter.order.HongBaoOrderService;
-import com.yeshi.fanli.util.Constant;
+import com.yeshi.fanli.vo.order.HongBaoCountVO;
 
 @Service
 public class HongBaoOrderServiceImpl implements HongBaoOrderService {
@@ -59,8 +62,89 @@
 	}
 
 	@Override
-	public long countByOrderNoAndHongBaoType(String orderNo, int type) {
-		return hongBaoOrderMapper.countByOrderNoAndHongBaoType(orderNo, type, Constant.SOURCE_TYPE_TAOBAO);
+	public long countByOrderNoAndHongBaoType(String orderNo, int hongBaotype, int sourceType) {
+		return hongBaoOrderMapper.countByOrderNoAndHongBaoType(orderNo, hongBaotype, sourceType);
 	}
 
+	@Override
+	public HongBaoOrder selectDetailByCommonOrderId(Long commonOrderId) {
+		return hongBaoOrderMapper.selectByCommonOrderId(commonOrderId);
+	}
+
+	@Override
+	public HongBaoOrder selectDetailByHongBaoId(Long hongBaoId) {
+		return hongBaoOrderMapper.selectByHongBaoId(hongBaoId);
+	}
+
+	@Override
+	public List<HongBaoOrder> listByOrderIdAndSourceType(String orderId, int sourceType) {
+		return hongBaoOrderMapper.listByOrderIdAndSourceType(orderId, sourceType);
+	}
+	
+	@Override
+	public List<HongBaoOrder> listDetailByOrderIdAndSourceType(String orderId, int sourceType) {
+		return hongBaoOrderMapper.listDetailByOrderIdAndSourceType(orderId, sourceType);
+	}
+
+	
+	@Override
+	public List<HongBaoOrder> listDetailByOrderIdAndSourceTypeAndUid(String orderId, int sourceType, Long uid) {
+		return hongBaoOrderMapper.listDetailByOrderIdAndSourceTypeAndUid(orderId, sourceType,uid);
+	}
+	
+	
+	@Override
+	public HongBaoCountVO getHongBaoCountVO(List<HongBaoOrder> list) {
+		HongBaoCountVO countVO =  new HongBaoCountVO();
+		if (list == null || list.size() == 0) {
+			countVO.setTotalMoney(new BigDecimal(0));
+			countVO.setValidMoney(new BigDecimal(0));
+			countVO.setCurrentState(HongBaoV2.STATE_SHIXIAO);
+		} else {
+			int type = 0;
+			int invalid = 0;
+			int arrivalAccount = 0;
+			BigDecimal totalMoney = new BigDecimal(0);
+			BigDecimal validMoney = new BigDecimal(0);
+			Date accountTime =  null;
+			for (HongBaoOrder hongBaoOrder: list) {
+				HongBaoV2 hongBao = hongBaoOrder.getHongBaoV2();
+				totalMoney = totalMoney.add(hongBao.getMoney());
+				
+				Integer state = hongBao.getState();
+				if (state != HongBaoV2.STATE_SHIXIAO) {
+					validMoney = validMoney.add(hongBao.getMoney());
+				}
+				if (state == HongBaoV2.STATE_SHIXIAO) {
+					invalid ++;
+				} else if (state == HongBaoV2.STATE_YILINGQU) {
+					arrivalAccount ++;
+				}
+				
+				// 鍒拌处鏃堕棿
+				Date getTime = hongBao.getGetTime();
+				if (getTime != null && (accountTime == null || accountTime.getTime() < getTime.getTime())) {
+					accountTime = getTime;
+				}
+				
+				if (type == 0) {
+					type = hongBao.getType();
+				}
+			}
+			countVO.setTotalMoney(totalMoney);
+			countVO.setValidMoney(validMoney);
+			countVO.setCurrentState(HongBaoV2.STATE_SHIXIAO);
+			
+			if (invalid == list.size()) {
+				countVO.setCurrentState(HongBaoV2.STATE_SHIXIAO);
+			} else if (arrivalAccount > 0) {
+				countVO.setCurrentState(HongBaoV2.STATE_YILINGQU);
+			} else {
+				countVO.setCurrentState(HongBaoV2.STATE_BUKELINGQU);
+			}
+		}
+		return countVO;
+	}
+	
+	
 }

--
Gitblit v1.8.0