init
This commit is contained in:
@@ -15,6 +15,7 @@ import com.ruoyi.cai.util.NumCaUtil;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
import com.ruoyi.common.exception.ServiceException;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.FactoryBean;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
@@ -55,18 +56,18 @@ public class AccountServiceImpl extends ServiceImpl<AccountMapper, Account> impl
|
||||
throw new ServiceException("余额不足");
|
||||
}
|
||||
boolean flag = false;
|
||||
long coin = account.getCoin();
|
||||
long incomeCoin = 0;
|
||||
long coin = -amount; // 消费余额
|
||||
long incomeCoin = 0; // 消费收益
|
||||
long diff = account.getCoin() - amount;
|
||||
// 充值币够用
|
||||
if(diff > 0){
|
||||
long l = baseMapper.decrCoin(userId, coin);
|
||||
flag = l > 0;
|
||||
flag = baseMapper.decrCoin(userId, -coin);
|
||||
} else { // 充值币不够用
|
||||
coin = -account.getCoin();
|
||||
incomeCoin = diff;
|
||||
long decrCoin = baseMapper.decrCoin(userId, account.getCoin());
|
||||
long decrIncomeCoin = baseMapper.decrIncomeCoin(userId, -diff);
|
||||
if(decrCoin > 0 && decrIncomeCoin > 0){
|
||||
boolean decrCoin = baseMapper.decrCoin(userId, -coin);
|
||||
boolean decrIncomeCoin = baseMapper.decrIncomeCoin(userId, -diff);
|
||||
if(decrCoin && decrIncomeCoin){
|
||||
flag = true;
|
||||
}
|
||||
}
|
||||
@@ -88,8 +89,9 @@ public class AccountServiceImpl extends ServiceImpl<AccountMapper, Account> impl
|
||||
if(incomeCoin != 0){
|
||||
accountChangeLogService.saveLogNoAdmin(userId,consumeLog.getSourceUsercode(), RechargeTypeEnum.COIN_INCOME,businessEnum.getSourceEnum(),incomeCoin,consumeLog.getTraceId());
|
||||
}
|
||||
// 记录接收方的流水
|
||||
if(targetUserId != null){
|
||||
accountChangeLogService.saveLogNoAdmin(targetUserId,consumeLog.getTargetUsercode(), RechargeTypeEnum.COIN_INCOME,businessEnum.getTargetEnum(),incomeCoin,consumeLog.getTraceId());
|
||||
accountChangeLogService.saveLogNoAdmin(targetUserId,consumeLog.getTargetUsercode(), RechargeTypeEnum.COIN_INCOME,businessEnum.getTargetEnum(),consumeLog.getAnchorAmount(),consumeLog.getTraceId());
|
||||
}
|
||||
// 获取分销的比例和用户
|
||||
consumeLogService.calculateInitFenxiao(consumeLog);
|
||||
@@ -108,8 +110,8 @@ public class AccountServiceImpl extends ServiceImpl<AccountMapper, Account> impl
|
||||
if(account.getIncomeCoin() < incomeCoin){
|
||||
throw new ServiceException("需"+incomeCoin+"紫贝才可提现");
|
||||
}
|
||||
long incs = baseMapper.decrIncomeCoin(userId, incomeCoin);
|
||||
if(incs <= 0){
|
||||
boolean incs = baseMapper.decrIncomeCoin(userId, incomeCoin);
|
||||
if(!incs){
|
||||
throw new ServiceException("需"+incomeCoin+"紫贝才可提现");
|
||||
}
|
||||
accountChangeLogService.saveLogNoAdmin(user.getId(),user.getUsercode(), RechargeTypeEnum.COIN_INCOME,AccountBusinessEnum.WITHDRAW.getSourceEnum(),incomeCoin,traceId);
|
||||
|
||||
@@ -114,6 +114,7 @@ public class ConsumeLogServiceImpl extends ServiceImpl<ConsumeLogMapper, Consume
|
||||
consumeLog.setOneAmount(NumCaUtil.coin(consumeLog.getAmount(),consumeLog.getOneRate()));
|
||||
}
|
||||
}
|
||||
consumeLog.setCalculateStatus(true);
|
||||
return consumeLog;
|
||||
}
|
||||
Long targetUserId = consumeLog.getTargetUserId();
|
||||
@@ -166,6 +167,7 @@ public class ConsumeLogServiceImpl extends ServiceImpl<ConsumeLogMapper, Consume
|
||||
}
|
||||
}
|
||||
}
|
||||
consumeLog.setCalculateStatus(true);
|
||||
return consumeLog;
|
||||
}
|
||||
|
||||
|
||||
@@ -153,11 +153,11 @@ public class RechargeOrderServiceImpl extends ServiceImpl<RechargeOrderMapper,Re
|
||||
if(account.getCoin() < -dto.getRechargeCoin()){
|
||||
throw new ServiceException("调整后余额为负数,无法调整");
|
||||
}
|
||||
long l = accountMapper.decrCoin(userId, -dto.getRechargeCoin());
|
||||
accountChangeLogService.saveLogAdmin(user.getId(),user.getUsercode(),RechargeTypeEnum.COIN, AccountChangeEnum.SYSTEM_COIN_DECR,dto.getRechargeCoin(),traceId);
|
||||
if(l == 0){
|
||||
throw new ServiceException("调整后余额为负数,无法调整");
|
||||
boolean l = accountMapper.decrCoin(userId, -dto.getRechargeCoin());
|
||||
if(!l){
|
||||
throw new ServiceException("调整后收益为负数,无法调整");
|
||||
}
|
||||
accountChangeLogService.saveLogAdmin(user.getId(),user.getUsercode(),RechargeTypeEnum.COIN, AccountChangeEnum.SYSTEM_COIN_DECR,dto.getRechargeCoin(),traceId);
|
||||
}
|
||||
}else{
|
||||
if(dto.getRechargeCoin() > 0){
|
||||
@@ -167,11 +167,11 @@ public class RechargeOrderServiceImpl extends ServiceImpl<RechargeOrderMapper,Re
|
||||
if(account.getIncomeCoin() < -dto.getRechargeCoin()){
|
||||
throw new ServiceException("调整后收益为负数,无法调整");
|
||||
}
|
||||
long l = accountMapper.decrIncomeCoin(userId, -dto.getRechargeCoin());
|
||||
accountChangeLogService.saveLogAdmin(user.getId(),user.getUsercode(),RechargeTypeEnum.COIN_INCOME, AccountChangeEnum.SYSTEM_INCOME_COIN_DECR,dto.getRechargeCoin(),traceId);
|
||||
if(l == 0){
|
||||
boolean l = accountMapper.decrIncomeCoin(userId, -dto.getRechargeCoin());
|
||||
if(!l){
|
||||
throw new ServiceException("调整后收益为负数,无法调整");
|
||||
}
|
||||
accountChangeLogService.saveLogAdmin(user.getId(),user.getUsercode(),RechargeTypeEnum.COIN_INCOME, AccountChangeEnum.SYSTEM_INCOME_COIN_DECR,dto.getRechargeCoin(),traceId);
|
||||
}
|
||||
}
|
||||
return order;
|
||||
|
||||
@@ -11,6 +11,7 @@ import com.ruoyi.cai.domain.User;
|
||||
import com.ruoyi.cai.domain.UserGreet;
|
||||
import com.ruoyi.cai.dto.admin.vo.UserGreetAdminVo;
|
||||
import com.ruoyi.cai.dto.app.query.user.UserGreetAddReq;
|
||||
import com.ruoyi.cai.enums.AuditStatusEnum;
|
||||
import com.ruoyi.cai.enums.SystemConfigEnum;
|
||||
import com.ruoyi.cai.manager.LockManager;
|
||||
import com.ruoyi.cai.manager.SystemConfigManager;
|
||||
@@ -102,12 +103,12 @@ public class UserGreetServiceImpl extends ServiceImpl<UserGreetMapper,UserGreet>
|
||||
if(userGreet == null || !userGreet.getUserId().equals(userId)){
|
||||
throw new ServiceException("请选择打招呼内容");
|
||||
}
|
||||
if(userGreet.getAuditStatus() != 1){
|
||||
if(AuditStatusEnum.SUCCESS.getCode().equals(userGreet.getAuditStatus())){
|
||||
throw new ServiceException("内容未通过审核");
|
||||
}
|
||||
String lockKey = LockManager.getSendGreetLock(userId);
|
||||
RLock lock = redissonClient.getLock(lockKey);
|
||||
if(!lock.isLocked()){
|
||||
if(lock.isLocked()){
|
||||
throw new ServiceException("操作太频繁");
|
||||
}
|
||||
try {
|
||||
@@ -118,8 +119,8 @@ public class UserGreetServiceImpl extends ServiceImpl<UserGreetMapper,UserGreet>
|
||||
if(val != null && Long.parseLong(val) > max){
|
||||
throw new ServiceException("您今天打招呼的次数已经用完了");
|
||||
}
|
||||
String sendGreetLock = LockManager.getSendGreetLock(userId);
|
||||
String lastTime = stringRedisTemplate.opsForValue().getAndExpire(sendGreetLock, 1, TimeUnit.DAYS);
|
||||
String sendGreetCount = String.format(RedisConstant.USER_GREET_SEND_TIME_REDIS,userId);
|
||||
String lastTime = stringRedisTemplate.opsForValue().get(sendGreetCount);
|
||||
if(StringUtils.isNotBlank(lastTime)){
|
||||
Integer inter = systemConfigManager.getSystemConfigOfInt(SystemConfigEnum.GREET_INTERVAL_MIN);
|
||||
long jiange = Long.parseLong(lastTime) - DateUtil.currentSeconds();
|
||||
@@ -140,7 +141,7 @@ public class UserGreetServiceImpl extends ServiceImpl<UserGreetMapper,UserGreet>
|
||||
if(!r.isSuccess()){
|
||||
throw new ServiceException("发送失败");
|
||||
}
|
||||
stringRedisTemplate.opsForValue().set(sendGreetLock,DateUtil.currentSeconds()+"",1,TimeUnit.DAYS);
|
||||
stringRedisTemplate.opsForValue().set(sendGreetCount,DateUtil.currentSeconds()+"",1,TimeUnit.DAYS);
|
||||
stringRedisTemplate.opsForValue().increment(numKey);
|
||||
stringRedisTemplate.expire(numKey,1,TimeUnit.DAYS);
|
||||
}finally {
|
||||
|
||||
@@ -44,7 +44,7 @@ public class UserInviteServiceImpl extends ServiceImpl<UserInviteMapper, UserInv
|
||||
InviteCountDTO inviteCount = baseMapper.countInviteAndReward(userId);
|
||||
vo.setTotalInvite(inviteCount.getTotalInvite());
|
||||
vo.setTotalReward(inviteCount.getTotalReward());
|
||||
return null;
|
||||
return vo;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -3,14 +3,17 @@ package com.ruoyi.cai.service.impl;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.ruoyi.cai.domain.User;
|
||||
import com.ruoyi.cai.domain.UserVisitor;
|
||||
import com.ruoyi.cai.dto.app.query.StarOrVisitorReq;
|
||||
import com.ruoyi.cai.dto.app.query.VisitorQuery;
|
||||
import com.ruoyi.cai.dto.app.vo.user.UserStarOrVisitorList;
|
||||
import com.ruoyi.cai.mapper.UserVisitorMapper;
|
||||
import com.ruoyi.cai.service.UserCountService;
|
||||
import com.ruoyi.cai.service.UserService;
|
||||
import com.ruoyi.cai.service.UserVisitorService;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
import com.ruoyi.common.exception.ServiceException;
|
||||
import com.ruoyi.common.helper.LoginHelper;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -29,8 +32,15 @@ import java.time.LocalDateTime;
|
||||
public class UserVisitorServiceImpl extends ServiceImpl<UserVisitorMapper, UserVisitor> implements UserVisitorService {
|
||||
@Autowired
|
||||
private UserCountService userCountService;
|
||||
@Autowired
|
||||
private UserService userService;
|
||||
@Override
|
||||
public boolean visitor(StarOrVisitorReq starOrVisitorReq) {
|
||||
User user = userService.getById(starOrVisitorReq.getToUserId());
|
||||
if(user == null){
|
||||
log.error("用户不存在");
|
||||
return false;
|
||||
}
|
||||
Long fromUserId = LoginHelper.getUserId();
|
||||
UserVisitor userVisitor = this.getOne(Wrappers.lambdaQuery(UserVisitor.class)
|
||||
.eq(UserVisitor::getVisitorId, fromUserId)
|
||||
@@ -49,6 +59,9 @@ public class UserVisitorServiceImpl extends ServiceImpl<UserVisitorMapper, UserV
|
||||
|
||||
@Override
|
||||
public Page<UserStarOrVisitorList> pageApp(PageQuery pageQuery, VisitorQuery query) {
|
||||
if(query.getType() == null || (query.getType() != 1 && query.getType() != 2)){
|
||||
throw new ServiceException("参数异常");
|
||||
}
|
||||
query.setUserId(LoginHelper.getUserId());
|
||||
return baseMapper.pageApp(pageQuery.build(),query);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user