From e56237a31ca70bc6bb1ba8ffab12a0bea90cddb3 Mon Sep 17 00:00:00 2001
From: yujian <yujian>
Date: 星期一, 22 四月 2019 17:40:09 +0800
Subject: [PATCH] 免单券使用记录查询优化

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/count/UserSystemCouponCountServiceImpl.java |   59 +++++++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 41 insertions(+), 18 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/count/UserSystemCouponCountServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/count/UserSystemCouponCountServiceImpl.java
index 28cef8e..daeafa1 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/count/UserSystemCouponCountServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/count/UserSystemCouponCountServiceImpl.java
@@ -7,11 +7,15 @@
 
 import javax.annotation.Resource;
 
+import org.apache.commons.beanutils.PropertyUtils;
 import org.springframework.stereotype.Service;
 
 import com.yeshi.fanli.dao.mybatis.user.UserSystemCouponCountMapper;
 import com.yeshi.fanli.entity.bus.user.UserInfo;
+import com.yeshi.fanli.entity.bus.user.UserSystemCoupon;
 import com.yeshi.fanli.entity.bus.user.UserSystemCouponRecord;
+import com.yeshi.fanli.entity.system.SystemCoupon;
+import com.yeshi.fanli.service.inter.config.SystemCouponService;
 import com.yeshi.fanli.service.inter.count.HongBaoV2CountService;
 import com.yeshi.fanli.service.inter.count.UserSystemCouponCountService;
 import com.yeshi.fanli.service.inter.order.CommonOrderCountService;
@@ -38,6 +42,9 @@
 	
 	@Resource
 	private HongBaoV2CountService hongBaoV2CountService;
+	
+	@Resource
+	private SystemCouponService systemCouponService;
 	
 	/**
 	 * 濂栧姳鍒哥粺璁�
@@ -179,7 +186,6 @@
 					orderMoney = new BigDecimal(0);
 				}
 				userSystemCouponVO.setOrderMoney(orderMoney);
-				
 			}
 		}
 		
@@ -197,36 +203,53 @@
 	public List<UserSystemCouponCountVO> listFreeCouponRecord(long start,int count, String key, Integer keyType,
 			 Integer state){
 		
-		List<UserSystemCouponCountVO> list = userSystemCouponCountMapper.listFreeCouponRecord(start, count, key,
+		List<UserSystemCouponRecord> list = userSystemCouponCountMapper.listFreeCouponRecord(start, count, key,
 				keyType, state);
 		
-		if (list == null ) {
-			list = new ArrayList<UserSystemCouponCountVO>();
+		if (list == null || list.size() == 0) {
+			return null;
 		}
 		
-		for (UserSystemCouponCountVO userSystemCouponVO: list) {
+		List<UserSystemCouponCountVO> listvo = new ArrayList<UserSystemCouponCountVO>();
+		
+		for (UserSystemCouponRecord couponRecord: list) {
+			
+			UserSystemCouponCountVO vo = new UserSystemCouponCountVO();
+			UserSystemCoupon userSystemCoupon = couponRecord.getUserSystemCoupon();
+			try {
+				PropertyUtils.copyProperties(vo, userSystemCoupon);
+			} catch (Exception e) {
+				e.printStackTrace();
+			}
+			
+			vo.setUserSystemCouponRecord(couponRecord);
+			
+//			SystemCoupon systemCoupon = userSystemCoupon.getSystemCoupon();
+//			SystemCoupon baseCoupon = systemCouponService.selectByPrimaryKey(systemCoupon.getId());
+//			if (baseCoupon == null || baseCoupon.getId() == null) {
+//				continue;
+//			}
+//			vo.setSystemCoupon(baseCoupon);
+			
 			// 鐢ㄦ埛淇℃伅
-			Long uid = userSystemCouponVO.getUid();
+			Long uid = userSystemCoupon.getUid();
 			UserInfo userInfo = userInfoService.selectByPKey(uid);
 			if (userInfo == null) {
 				userInfo = new UserInfo();
 				userInfo.setId(uid);
 			}
-			userSystemCouponVO.setUserInfo(userInfo);
+			vo.setUserInfo(userInfo);
 			
-			UserSystemCouponRecord couponRecord = userSystemCouponVO.getUserSystemCouponRecord();
-			if (couponRecord != null) {
-				String orderNo = couponRecord.getOrderNo();
-				BigDecimal orderMoney = commonOrderCountService.getMoneyByOrderNo(orderNo);
-				if (orderMoney == null) {
-					orderMoney = new BigDecimal(0);
-				}
-				userSystemCouponVO.setOrderMoney(orderMoney);
-				
+			String orderNo = couponRecord.getOrderNo();
+			BigDecimal orderMoney = commonOrderCountService.getMoneyByOrderNo(orderNo);
+			if (orderMoney == null) {
+				orderMoney = new BigDecimal(0);
 			}
+			vo.setOrderMoney(orderMoney);
+				
+			listvo.add(vo);
 		}
-		
-		return list;
+		return listvo;
 	}
 	
 	

--
Gitblit v1.8.0