From 97dc5a83dc41301e7ff497d2e74cfe886cabbb73 Mon Sep 17 00:00:00 2001
From: yujian <yujian>
Date: 星期五, 11 一月 2019 08:58:42 +0800
Subject: [PATCH] 订单优化

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java |   39 ++++++++++++++++++++++++++++++++-------
 1 files changed, 32 insertions(+), 7 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 a398442..841a870 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
@@ -13,6 +13,7 @@
 import org.apache.commons.beanutils.PropertyUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import org.yeshi.utils.taobao.TbImgUtil;
 
 import com.yeshi.fanli.dao.mybatis.order.CommonOrderGoodsMapper;
 import com.yeshi.fanli.dao.mybatis.order.CommonOrderMapper;
@@ -29,6 +30,7 @@
 import com.yeshi.fanli.service.inter.order.CommonOrderService;
 import com.yeshi.fanli.util.Constant;
 import com.yeshi.fanli.util.MoneyBigDecimalUtil;
+import com.yeshi.fanli.util.StringUtil;
 import com.yeshi.fanli.util.factory.CommonOrderGoodsFactory;
 import com.yeshi.fanli.util.taobao.TaoBaoOrderUtil;
 import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
@@ -81,15 +83,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.listUserOrder(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.countUserOrder(uid, state, type, orderState, orderNo, startTime, endTime,
-				dateType);
+		return commonOrderMapper.countUserOrder(uid, state, type, orderState, orderNo, startTime, endTime, dateType);
 	}
 
 	@Override
@@ -170,6 +171,11 @@
 						e.printStackTrace();
 					}
 
+					String picture = commonGoodsVO.getPicture();
+					if (!StringUtil.isNullOrEmpty(picture) && !picture.contains("320x320")) {
+						commonGoodsVO.setPicture(TbImgUtil.getTBSize320Img(picture));
+					}
+					
 					Integer hongBaoType = order.getHongBaoType();
 					// 閭�璇疯鍗曚俊鎭繚鎶�
 					if (HongBaoV2.TYPE_YAOQING == hongBaoType || HongBaoV2.TYPE_YIJI == hongBaoType
@@ -185,14 +191,14 @@
 
 					// 璐拱鏁伴噺
 					commonGoodsVO.setActualCount(commonOrder.getTotalCount() + "浠�");
-					
+
 					BigDecimal totalSettlement = commonOrder.getTotalSettlement();
 					if (totalSettlement == null || totalSettlement.compareTo(new BigDecimal(0)) <= 0) {
 						totalSettlement = commonOrder.getTotalPayment();
 					}
 					// 瀹炰粯娆�
 					commonGoodsVO.setActualPay("瀹炰粯娆撅細楼" + totalSettlement);
-					
+
 					listOrderGoods.add(commonGoodsVO);
 
 					Integer orderType = commonOrder.getOrderType();
@@ -369,6 +375,23 @@
 	@Override
 	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());
@@ -378,6 +401,7 @@
 				CommonOrderGoods goods = new CommonOrderGoods();
 				goods.setGoodsId(taoBaoOrder.getAuctionId() + "");
 				goods.setGoodsType(Constant.SOURCE_TYPE_TAOBAO);
+
 				// 鍟嗗搧鏄惁宸茬粡鎻掑叆
 				List<CommonOrderGoods> commonGoodsList = commonOrderGoodsMapper
 						.listByGoodsIdAndGoodsType(goods.getGoodsId(), goods.getGoodsType());
@@ -400,6 +424,7 @@
 				commonOrder.setCommonOrderGoods(goods);
 				commonOrder.setUserInfo(new UserInfo(uid));
 				commonOrder.setCreateTime(new Date());
+				commonOrder.setStateWholeOrder(wholeOrderState);
 				commonOrderMapper.insertSelective(commonOrder);
 
 				commonOrderList.add(commonOrder);
@@ -418,6 +443,7 @@
 				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()));
@@ -426,7 +452,6 @@
 		}
 		return commonOrderList;
 	}
-
 
 	@Override
 	public long countByUidAndOrderStateWithOrderBalanceTime(Long uid, int state, Date minDate, Date maxDate) {

--
Gitblit v1.8.0