From a980ade25b3dc1a7da482e37113f2935a2719c0b Mon Sep 17 00:00:00 2001
From: yujian <yujian@123.com>
Date: 星期二, 05 十一月 2019 10:01:11 +0800
Subject: [PATCH] 红包表明修改

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/redpack/RedPackBalanceServiceImpl.java |   22 ++++++++++++++++------
 1 files changed, 16 insertions(+), 6 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/redpack/RedPackBalanceServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/redpack/RedPackBalanceServiceImpl.java
index 2cf5583..e6ef61b 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/redpack/RedPackBalanceServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/redpack/RedPackBalanceServiceImpl.java
@@ -32,13 +32,13 @@
 	@Override
 	public BigDecimal getBalance(Long uid) {
 		if (uid == null || uid == 0)
-			return null;
-
+			return new BigDecimal(0);
+		
 		RedPackBalance redPackBalance = redPackBalanceMapper.selectByPrimaryKey(uid);
 		if (redPackBalance != null)
 			return redPackBalance.getMoney();
-
-		return null;
+		
+		return new BigDecimal(0);
 	}
 
 	@Override
@@ -65,8 +65,18 @@
 			throw new RedPackBalanceException(1, "鍙傛暟浼犻�掍笉瀹屾暣");
 		// 鍔犲叆鏄庣粏
 		redPackDetailService.insertSelective(detail);
-		// 鍑忓皯绾㈠寘
-		redPackBalanceMapper.addRedPack(uid, money);
+		// 娣诲姞绾㈠寘
+		RedPackBalance redPackBalance = redPackBalanceMapper.selectForUpdate(uid);
+		if (redPackBalance == null) {
+			redPackBalance = new RedPackBalance();
+			redPackBalance.setId(uid);
+			redPackBalance.setMoney(money);
+			redPackBalance.setCreateTime(new Date());
+			redPackBalance.setUpdateTime(new Date());
+			redPackBalanceMapper.insertSelective(redPackBalance);
+		} else {
+			redPackBalanceMapper.addRedPack(uid, money);
+		}
 	}
 
 	@Override

--
Gitblit v1.8.0