From ed2c519540a927e8b10fd79b96ca8472e89fe47b Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期四, 10 一月 2019 15:15:25 +0800
Subject: [PATCH] 修改整个订单的状态

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java |  175 +++++++++++++++++++++++++++++++++++-----------------------
 1 files changed, 106 insertions(+), 69 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java
index a9d2751..ec1d2b1 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java
@@ -3,7 +3,6 @@
 import java.math.BigDecimal;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
-import java.util.Calendar;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
@@ -18,7 +17,6 @@
 import com.yeshi.fanli.dao.mybatis.order.CommonOrderGoodsMapper;
 import com.yeshi.fanli.dao.mybatis.order.CommonOrderMapper;
 import com.yeshi.fanli.dao.mybatis.taobao.TaoBaoWeiQuanOrderMapper;
-import com.yeshi.fanli.entity.bus.user.HongBao;
 import com.yeshi.fanli.entity.bus.user.HongBaoV2;
 import com.yeshi.fanli.entity.bus.user.UserInfo;
 import com.yeshi.fanli.entity.order.CommonOrder;
@@ -83,15 +81,14 @@
 	public List<CommonOrderVO> listGroupOrderNoByUid(long start, int count, Long uid, Integer state, Integer type,
 			Integer orderState, String orderNo, String startTime, String endTime, Integer dateType)
 			throws CommonOrderException {
-		return commonOrderMapper.listGroupOrderNoByUid(start, count, uid, state, type, orderState, orderNo, startTime,
-				endTime, dateType);
+		return commonOrderMapper.listUserOrder(start, count, uid, state, type, orderState, orderNo, startTime, endTime,
+				dateType);
 	}
 
 	@Override
 	public long countGroupOrderNoByUid(Long uid, Integer state, Integer type, Integer orderState, String orderNo,
 			String startTime, String endTime, Integer dateType) throws CommonOrderException {
-		return commonOrderMapper.countGroupOrderNoByUid(uid, state, type, orderState, orderNo, startTime, endTime,
-				dateType);
+		return commonOrderMapper.countUserOrder(uid, state, type, orderState, orderNo, startTime, endTime, dateType);
 	}
 
 	@Override
@@ -110,7 +107,7 @@
 		}
 
 		// 鍟嗗搧淇℃伅
-		List<CommonOrderVO> listGoods = commonOrderMapper.listByOrderNoAndType(listOrder);
+		List<CommonOrderVO> listGoods = commonOrderMapper.listOrderGoodsInfo(listOrder);
 		// 璁㈠崟鍟嗗搧涓虹┖
 		if (listGoods == null || listGoods.size() == 0) {
 			return listOrder;
@@ -123,18 +120,18 @@
 	}
 
 	@Override
-	public Map<String, BigDecimal> countOrderByHongBaoType(Long uid, Integer day) {
-		return commonOrderMapper.countOrderByHongBaoType(uid, day);
+	public Map<String, BigDecimal> countHistoryOrder(Long uid, Integer day) {
+		return commonOrderMapper.countHistoryOrder(uid, day);
 	}
 
 	@Override
-	public long countOrder(Long uid, Integer type, Integer day) {
-		return commonOrderMapper.countBonusOrder(uid, type, day);
+	public long countBonusOrderNumber(Long uid, Integer type, Integer day, String startTime, String endTime) {
+		return commonOrderMapper.countBonusOrderNumber(uid, type, day, startTime, endTime);
 	}
 
 	@Override
-	public BigDecimal countOrderMoney(Long uid, Integer type, Integer day) {
-		return commonOrderMapper.countBonusOrderMoney(uid, type, day);
+	public BigDecimal countBonusOrderMoney(Long uid, Integer type, Integer day, String startTime, String endTime) {
+		return commonOrderMapper.countBonusOrderMoney(uid, type, day, startTime, endTime);
 	}
 
 	@Override
@@ -175,7 +172,8 @@
 					Integer hongBaoType = order.getHongBaoType();
 					// 閭�璇疯鍗曚俊鎭繚鎶�
 					if (HongBaoV2.TYPE_YAOQING == hongBaoType || HongBaoV2.TYPE_YIJI == hongBaoType
-							|| HongBaoV2.TYPE_ERJI == hongBaoType) {
+							|| HongBaoV2.TYPE_ERJI == hongBaoType || HongBaoV2.TYPE_SHARE_YIJI == hongBaoType
+							|| HongBaoV2.TYPE_SHARE_ERJI == hongBaoType) {
 						Map<String, String> titleMap = new HashMap<String, String>();
 						titleMap.put("content", "涓轰繚闅滅敤鎴烽殣绉侊紝鍟嗗搧淇℃伅宸查殣钘�!");
 						titleMap.put("fontColor", "#888888");
@@ -184,9 +182,15 @@
 						commonGoodsVO.setGoodsTitle(titleMap);
 					}
 
+					// 璐拱鏁伴噺
 					commonGoodsVO.setActualCount(commonOrder.getTotalCount() + "浠�");
-					String settlement = commonOrder.getTotalSettlement().setScale(2, BigDecimal.ROUND_DOWN).toString();
-					commonGoodsVO.setActualPay("瀹炰粯娆撅細楼" + settlement);
+
+					BigDecimal totalSettlement = commonOrder.getTotalSettlement();
+					if (totalSettlement == null || totalSettlement.compareTo(new BigDecimal(0)) <= 0) {
+						totalSettlement = commonOrder.getTotalPayment();
+					}
+					// 瀹炰粯娆�
+					commonGoodsVO.setActualPay("瀹炰粯娆撅細楼" + totalSettlement);
 
 					listOrderGoods.add(commonGoodsVO);
 
@@ -278,14 +282,14 @@
 				hongbaoInfo = "杩斿埄";
 				order.setOrderOrigin("1");
 				order.setHongBaoTypePic(CommonOrder.TYPE_FANLI);
-			} else if (HongBaoV2.TYPE_SHARE_GOODS == hongBaoType || HongBaoV2.TYPE_SHARE_YIJI == hongBaoType
-					|| HongBaoV2.TYPE_SHARE_ERJI == hongBaoType) {
+			} else if (HongBaoV2.TYPE_SHARE_GOODS == hongBaoType) {
 				// 鍒嗕韩
 				hongbaoInfo = "濂栭噾";
 				order.setOrderOrigin("2");
 				order.setHongBaoTypePic(CommonOrder.TYPE_SHARE);
 			} else if (HongBaoV2.TYPE_YAOQING == hongBaoType || HongBaoV2.TYPE_YIJI == hongBaoType
-					|| HongBaoV2.TYPE_ERJI == hongBaoType) {
+					|| HongBaoV2.TYPE_ERJI == hongBaoType || HongBaoV2.TYPE_SHARE_YIJI == hongBaoType
+					|| HongBaoV2.TYPE_SHARE_ERJI == hongBaoType) {
 				// 閭�璇�
 				hongbaoInfo = "濂栭噾";
 				order.setOrderOrigin("3");
@@ -362,56 +366,89 @@
 
 	@Transactional
 	@Override
-	public CommonOrder addTaoBaoOrder(TaoBaoOrder taoBaoOrder, Long uid) throws CommonOrderException {
-		CommonOrder commonOrder = commonOrderMapper.selectByOrderNoAndOrderTypeAndOrderBy(taoBaoOrder.getOrderId(),
-				Constant.SOURCE_TYPE_TAOBAO, taoBaoOrder.getOrderBy());
-		if (commonOrder == null)// 鏂板
-		{
-			commonOrder = TaoBaoOrderUtil.convert(taoBaoOrder);
-			CommonOrderGoods goods = new CommonOrderGoods();
-			goods.setGoodsId(taoBaoOrder.getAuctionId() + "");
-			goods.setGoodsType(Constant.SOURCE_TYPE_TAOBAO);
-			// 鍟嗗搧鏄惁宸茬粡鎻掑叆
-			List<CommonOrderGoods> commonGoodsList = commonOrderGoodsMapper
-					.listByGoodsIdAndGoodsType(goods.getGoodsId(), goods.getGoodsType());
-			if (commonGoodsList.size() <= 0)// 涓嶅瓨鍦ㄥ氨鎻掑叆鍟嗗搧
-			{
-				TaoBaoGoodsBrief taoBaoGoods = null;
-				try {
-					taoBaoGoods = TaoKeApiUtil.getSimpleGoodsInfo(taoBaoOrder.getAuctionId());
-				} catch (TaobaoGoodsDownException e) {
-					e.printStackTrace();
-				}
-				if (taoBaoGoods != null) {
-					goods = CommonOrderGoodsFactory.create(taoBaoGoods);
-				}
-				goods.setCreateTime(new Date());
-				goods.setUpdateTime(new Date());
-				commonOrderGoodsMapper.insertSelective(goods);
-			} else
-				goods.setId(commonGoodsList.get(commonGoodsList.size() - 1).getId());
-			commonOrder.setCommonOrderGoods(goods);
-			commonOrder.setUserInfo(new UserInfo(uid));
-			commonOrder.setCreateTime(new Date());
-			commonOrderMapper.insertSelective(commonOrder);
-			
-
-			return commonOrder;
-		} else {// 淇敼
-			// 宸茬粡缁撶畻鎴栬�呭凡缁忓け鏁堢殑璁㈠崟涓嶅鐞�
-			if (commonOrder.getState() == CommonOrder.STATE_JS || commonOrder.getState() == CommonOrder.STATE_SX)
-				return commonOrder;
-			CommonOrder newCommonOrder = TaoBaoOrderUtil.convert(taoBaoOrder);
-			CommonOrder updateCommonOrder = new CommonOrder(commonOrder.getId());
-			updateCommonOrder.seteIncome(newCommonOrder.geteIncome());
-			updateCommonOrder.setEstimate(newCommonOrder.getEstimate());
-			updateCommonOrder.setPayment(newCommonOrder.getPayment());
-			updateCommonOrder.setSettlement(newCommonOrder.getSettlement());
-			updateCommonOrder.setSettleTime(newCommonOrder.getSettleTime());
-			updateCommonOrder.setState(newCommonOrder.getState());
-			updateCommonOrder.setUpdateTime(new Date());
-			commonOrderMapper.updateByPrimaryKeySelective(updateCommonOrder);
-			return commonOrderMapper.selectByPrimaryKey(updateCommonOrder.getId());
+	public List<CommonOrder> addTaoBaoOrder(List<TaoBaoOrder> taoBaoOrders, Long uid) throws CommonOrderException {
+		List<CommonOrder> commonOrderList = new ArrayList<>();
+		// 鍒ゆ柇鎵�鏈夌殑璁㈠崟鐘舵��
+		int invalidCount = 0;
+		for (TaoBaoOrder tb : taoBaoOrders) {
+			if ("璁㈠崟澶辨晥".equalsIgnoreCase(tb.getOrderState())) {
+				invalidCount++;
+			}
 		}
+
+		// 鑾峰彇鏁翠綋璁㈠崟鐨勭姸鎬�
+		int wholeOrderState = 0;
+		if (taoBaoOrders.size() == invalidCount)
+			wholeOrderState = CommonOrder.STATE_WHOLE_ORDER_SHIXIAO;
+		else if (invalidCount == 0)
+			wholeOrderState = CommonOrder.STATE_WHOLE_ORDER_YOUXIAO;
+		else
+			wholeOrderState = CommonOrder.STATE_WHOLE_ORDER_BUFENYOUXIAO;
+
+		for (TaoBaoOrder taoBaoOrder : taoBaoOrders) {
+			CommonOrder commonOrder = commonOrderMapper.selectByOrderNoAndOrderTypeAndOrderBy(taoBaoOrder.getOrderId(),
+					Constant.SOURCE_TYPE_TAOBAO, taoBaoOrder.getOrderBy());
+			if (commonOrder == null)// 鏂板
+			{
+				commonOrder = TaoBaoOrderUtil.convert(taoBaoOrder);
+				CommonOrderGoods goods = new CommonOrderGoods();
+				goods.setGoodsId(taoBaoOrder.getAuctionId() + "");
+				goods.setGoodsType(Constant.SOURCE_TYPE_TAOBAO);
+
+				// 鍟嗗搧鏄惁宸茬粡鎻掑叆
+				List<CommonOrderGoods> commonGoodsList = commonOrderGoodsMapper
+						.listByGoodsIdAndGoodsType(goods.getGoodsId(), goods.getGoodsType());
+				if (commonGoodsList.size() <= 0)// 涓嶅瓨鍦ㄥ氨鎻掑叆鍟嗗搧
+				{
+					TaoBaoGoodsBrief taoBaoGoods = null;
+					try {
+						taoBaoGoods = TaoKeApiUtil.getSimpleGoodsInfo(taoBaoOrder.getAuctionId());
+					} catch (TaobaoGoodsDownException e) {
+						e.printStackTrace();
+					}
+					if (taoBaoGoods != null) {
+						goods = CommonOrderGoodsFactory.create(taoBaoGoods);
+					}
+					goods.setCreateTime(new Date());
+					goods.setUpdateTime(new Date());
+					commonOrderGoodsMapper.insertSelective(goods);
+				} else
+					goods.setId(commonGoodsList.get(commonGoodsList.size() - 1).getId());
+				commonOrder.setCommonOrderGoods(goods);
+				commonOrder.setUserInfo(new UserInfo(uid));
+				commonOrder.setCreateTime(new Date());
+				commonOrder.setStateWholeOrder(wholeOrderState);
+				commonOrderMapper.insertSelective(commonOrder);
+
+				commonOrderList.add(commonOrder);
+				continue;
+			} else {// 淇敼
+				// 宸茬粡缁撶畻鎴栬�呭凡缁忓け鏁堢殑璁㈠崟涓嶅鐞�
+				if (commonOrder.getState() == CommonOrder.STATE_JS || commonOrder.getState() == CommonOrder.STATE_SX) {
+					commonOrderList.add(commonOrder);
+					continue;
+				}
+				CommonOrder newCommonOrder = TaoBaoOrderUtil.convert(taoBaoOrder);
+				CommonOrder updateCommonOrder = new CommonOrder(commonOrder.getId());
+				updateCommonOrder.seteIncome(newCommonOrder.geteIncome());
+				updateCommonOrder.setEstimate(newCommonOrder.getEstimate());
+				updateCommonOrder.setPayment(newCommonOrder.getPayment());
+				updateCommonOrder.setSettlement(newCommonOrder.getSettlement());
+				updateCommonOrder.setSettleTime(newCommonOrder.getSettleTime());
+				updateCommonOrder.setState(newCommonOrder.getState());
+				updateCommonOrder.setStateWholeOrder(wholeOrderState);
+				updateCommonOrder.setUpdateTime(new Date());
+				commonOrderMapper.updateByPrimaryKeySelective(updateCommonOrder);
+				commonOrderList.add(commonOrderMapper.selectByPrimaryKey(updateCommonOrder.getId()));
+				continue;
+			}
+		}
+		return commonOrderList;
+	}
+
+	@Override
+	public long countByUidAndOrderStateWithOrderBalanceTime(Long uid, int state, Date minDate, Date maxDate) {
+
+		return commonOrderMapper.countByUidAndOrderStateWithOrderBalanceTime(uid, state, minDate, maxDate);
 	}
 }

--
Gitblit v1.8.0