From 0ec22dcf4fd9c4496e6f681e7fab89f56c6e4e8a Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期四, 02 四月 2020 14:45:20 +0800
Subject: [PATCH] vip 消息

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/money/UserMoneyExtraServiceImpl.java |   56 ++++++++++++++++++++++++++------------------------------
 1 files changed, 26 insertions(+), 30 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/money/UserMoneyExtraServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/money/UserMoneyExtraServiceImpl.java
index 38f3d5e..41c321d 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/money/UserMoneyExtraServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/money/UserMoneyExtraServiceImpl.java
@@ -1,22 +1,26 @@
 package com.yeshi.fanli.service.impl.money;
 
 import java.math.BigDecimal;
-import java.util.Date;
+import java.util.List;
 
 import javax.annotation.Resource;
 
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import com.yeshi.fanli.dao.mybatis.user.UserMoneyExtraMapper;
 import com.yeshi.fanli.entity.bus.user.UserMoneyExtra;
 import com.yeshi.fanli.service.inter.money.UserMoneyExtraService;
-import com.yeshi.fanli.util.MoneyBigDecimalUtil;
+import com.yeshi.fanli.service.inter.user.integral.IntegralTaskRecordService;
 
 @Service
 public class UserMoneyExtraServiceImpl implements UserMoneyExtraService {
 
 	@Resource
 	private UserMoneyExtraMapper userMoneyExtraMapper;
+	
+	@Resource
+	private IntegralTaskRecordService integralTaskRecordService;
 
 	@Override
 	public UserMoneyExtra selectByPrimaryKey(Long uid) {
@@ -28,40 +32,32 @@
 		userMoneyExtraMapper.updateByPrimaryKeySelective(record);	
 	}
 	
+		
+	@Override
+	public List<UserMoneyExtra> listValid(int page, int count) {
+		return userMoneyExtraMapper.listValid((page-1) * count, count);
+	}
 	
 	@Override
-	public void addTaoLiJin(Long uid, BigDecimal money, boolean canSelf) {
-		if (uid == null || money == null) {
+	@Transactional(rollbackFor = Exception.class)
+	public void taoLiJinExchange(int page, int count) {
+		List<UserMoneyExtra> listValid = userMoneyExtraMapper.listValid((page-1) * count, count);
+		if (listValid == null || listValid.isEmpty())
 			return;
-		}
 		
-		UserMoneyExtra record = new UserMoneyExtra();
-		record.setUid(uid);
-		
-		UserMoneyExtra existExtra = userMoneyExtraMapper.selectByPrimaryKey(record.getUid());
-		if (existExtra == null) {
-			record.setTlj(money);
+		BigDecimal zero = new BigDecimal(0);
+		for (UserMoneyExtra moneyExtra: listValid) {
+			BigDecimal tlj = moneyExtra.getTlj();
+			BigDecimal tljSelf = moneyExtra.getTljSelf();
+			if (tlj == null || tlj.compareTo(zero) <= 0 || tljSelf == null || tljSelf.intValue() <= 0)
+				continue;
 			
-			if (canSelf) {
-				record.setTljSelf(money);
-			} else {
-				record.setTljSelf(new BigDecimal(0));
-			}
+			integralTaskRecordService.taoLiJinExchange(moneyExtra.getUid(), tljSelf.intValue(), tlj);
 			
-			record.setCreateTime(new Date());
-			record.setUpdateTime(new Date());
-			userMoneyExtraMapper.insertSelective(record);
-		} else {
-			BigDecimal tlj = existExtra.getTlj();
-			record.setTlj(MoneyBigDecimalUtil.add(tlj, money));
-			
-			if (canSelf) {
-				BigDecimal tljSelf = existExtra.getTljSelf();
-				record.setTljSelf(MoneyBigDecimalUtil.add(tljSelf, money));
-			}
-			
-			record.setUpdateTime(new Date());
-			userMoneyExtraMapper.updateByPrimaryKeySelective(record);	
+			moneyExtra.setTlj(zero);
+			moneyExtra.setTljSelf(zero);
+			userMoneyExtraMapper.updateByPrimaryKeySelective(moneyExtra);
 		}
 	}
+	
 }

--
Gitblit v1.8.0