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