From d1d0b4b9f4452fb6e9b6e39168f503d5b302c999 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 11 一月 2022 11:26:35 +0800
Subject: [PATCH] 部分功能添加

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/order/dividents/TeamDividentsSourceUserServiceImpl.java |   83 ++++++++++++++++++++++++-----------------
 1 files changed, 48 insertions(+), 35 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/dividents/TeamDividentsSourceUserServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/dividents/TeamDividentsSourceUserServiceImpl.java
index 69ce90c..3798be0 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/dividents/TeamDividentsSourceUserServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/dividents/TeamDividentsSourceUserServiceImpl.java
@@ -13,50 +13,63 @@
 import com.yeshi.fanli.exception.ParamsException;
 import com.yeshi.fanli.service.inter.order.dividents.TeamDividentsSourceUserService;
 import com.yeshi.fanli.util.StringUtil;
+import org.springframework.transaction.annotation.Transactional;
 
 @Service
 public class TeamDividentsSourceUserServiceImpl implements TeamDividentsSourceUserService {
 
-	@Resource
-	private TeamDividentsSourceUserMapper teamDividentsSourceUserMapper;
+    @Resource
+    private TeamDividentsSourceUserMapper teamDividentsSourceUserMapper;
 
-	@Override
-	public void addTeamDividentsSourceUser(TeamDividentsSourceUser teamDividentsSourceUser) throws ParamsException {
-		if (teamDividentsSourceUser == null || StringUtil.isNullOrEmpty(teamDividentsSourceUser.getDay())
-				|| teamDividentsSourceUser.getMoney() == null || teamDividentsSourceUser.getSourceUid() == null
-				|| teamDividentsSourceUser.getTargetUid() == null)
-			throw new ParamsException(1, "鍙傛暟涓嶅畬鏁�");
-		if (teamDividentsSourceUser.getCreateTime() == null)
-			teamDividentsSourceUser.setCreateTime(new Date());
-		teamDividentsSourceUserMapper.insertSelective(teamDividentsSourceUser);
-	}
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public void addTeamDividentsSourceUser(TeamDividentsSourceUser teamDividentsSourceUser) throws ParamsException {
+        if (teamDividentsSourceUser == null || StringUtil.isNullOrEmpty(teamDividentsSourceUser.getDay())
+                || teamDividentsSourceUser.getMoney() == null || teamDividentsSourceUser.getSourceUid() == null
+                || teamDividentsSourceUser.getTargetUid() == null)
+            throw new ParamsException(1, "鍙傛暟涓嶅畬鏁�");
+        if (teamDividentsSourceUser.getCreateTime() == null)
+            teamDividentsSourceUser.setCreateTime(new Date());
+        //鏌ヨ鏄惁瀛樺湪
+        TeamDividentsSourceUser sourceUser = teamDividentsSourceUserMapper.selectBySourceUidAndDayAndUidAndTypeForUpdate(teamDividentsSourceUser.getSourceUid(), teamDividentsSourceUser.getTargetUid(), teamDividentsSourceUser.getDay(), teamDividentsSourceUser.getType());
 
-	@Override
-	public BigDecimal sumMoneyByUidAndDay(Long uid, String day,Integer type) {
-		BigDecimal money = teamDividentsSourceUserMapper.sumMoneyByTargetUidAndDayAndType(uid, day,type);
-		if (money == null)
-			return new BigDecimal(0);
-		return money;
-	}
+        if (sourceUser != null) {
+            TeamDividentsSourceUser record = new TeamDividentsSourceUser();
+            record.setId(sourceUser.getId());
+            record.setMoney(sourceUser.getMoney().add(teamDividentsSourceUser.getMoney()));
+            record.setUpdateTime(new Date());
+            teamDividentsSourceUserMapper.updateByPrimaryKeySelective(record);
+        } else {
+            teamDividentsSourceUserMapper.insertSelective(teamDividentsSourceUser);
+        }
+    }
 
-	@Override
-	public List<Long> listTargetUid(String day, int page, int pageSize) {
-		return teamDividentsSourceUserMapper.listTargetUidByDay(day, (page - 1) * pageSize, pageSize);
-	}
+    @Override
+    public BigDecimal sumMoneyByUidAndDay(Long uid, String day, Integer type) {
+        BigDecimal money = teamDividentsSourceUserMapper.sumMoneyByTargetUidAndDayAndType(uid, day, type);
+        if (money == null)
+            return new BigDecimal(0);
+        return money;
+    }
 
-	@Override
-	public List<TeamDividentsSourceUser> listBySourceUidAndDay(Long sourceUid, String day) {
-		return teamDividentsSourceUserMapper.listBySourceUidAndDay(sourceUid, day);
-	}
+    @Override
+    public List<Long> listTargetUid(String day, int page, int pageSize) {
+        return teamDividentsSourceUserMapper.listTargetUidByDay(day, (page - 1) * pageSize, pageSize);
+    }
 
-	@Override
-	public long countTargetUid(String day) {
-		return teamDividentsSourceUserMapper.countTargetUidByDay(day);
-	}
+    @Override
+    public List<TeamDividentsSourceUser> listBySourceUidAndDay(Long sourceUid, String day) {
+        return teamDividentsSourceUserMapper.listBySourceUidAndDay(sourceUid, day);
+    }
 
-	@Override
-	public TeamDividentsSourceUser selectBySourceUidAndDayAndUid(Long sourceUid, Long targetUid, String day) {
-		return teamDividentsSourceUserMapper.selectBySourceUidAndDayAndUid(sourceUid, targetUid, day);
-	}
+    @Override
+    public long countTargetUid(String day) {
+        return teamDividentsSourceUserMapper.countTargetUidByDay(day);
+    }
+
+    @Override
+    public TeamDividentsSourceUser selectBySourceUidAndDayAndUid(Long sourceUid, Long targetUid, String day) {
+        return teamDividentsSourceUserMapper.selectBySourceUidAndDayAndUid(sourceUid, targetUid, day);
+    }
 
 }

--
Gitblit v1.8.0