This commit is contained in:
张良(004796)
2024-01-11 13:38:35 +08:00
parent acccdc9f79
commit fc2b6ef12d
17 changed files with 85 additions and 23 deletions

View File

@@ -3,6 +3,7 @@ package com.ruoyi.cai.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.cai.domain.GuardTotal;
import com.ruoyi.cai.dto.ConsumeResp;
import com.ruoyi.cai.dto.app.dto.GuardNum;
import com.ruoyi.cai.dto.app.query.GiveGuardReq;
import com.ruoyi.cai.dto.app.vo.index.GuardIndexVo;
@@ -19,7 +20,7 @@ public interface GuardTotalService extends IService<GuardTotal> {
GuardIndexVo guardInfoVo(Long fromUserId,Long toUserId, Integer limit);
boolean giveGuard(GiveGuardReq query);
ConsumeResp giveGuard(GiveGuardReq query);
GuardNum getGuardNum(Long fromUserId, Long toUserId);

View File

@@ -2,6 +2,7 @@ package com.ruoyi.cai.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.cai.domain.UserGift;
import com.ruoyi.cai.dto.ConsumeResp;
import com.ruoyi.cai.dto.app.query.GiveGiftRes;
import com.ruoyi.cai.dto.app.vo.index.UserGiftIndexVo;
@@ -17,6 +18,6 @@ public interface UserGiftService extends IService<UserGift> {
List<UserGiftIndexVo> selectGiftList(Long userId);
boolean giveGift(GiveGiftRes query);
ConsumeResp giveGift(GiveGiftRes query);
}

View File

@@ -4,6 +4,7 @@ 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.*;
import com.ruoyi.cai.dto.ConsumeResp;
import com.ruoyi.cai.dto.app.dto.GuardNum;
import com.ruoyi.cai.dto.app.query.GiveGuardReq;
import com.ruoyi.cai.dto.app.dto.GuardTotalDTO;
@@ -78,7 +79,7 @@ public class GuardTotalServiceImpl extends ServiceImpl<GuardTotalMapper, GuardTo
@Override
@Transactional(rollbackFor = Exception.class)
public boolean giveGuard(GiveGuardReq query) {
public ConsumeResp giveGuard(GiveGuardReq query) {
Long fromUserId = LoginHelper.getUserId();
User fromUser = userService.getById(fromUserId);
User toUser = userService.getById(query.getToUserId());
@@ -101,6 +102,7 @@ public class GuardTotalServiceImpl extends ServiceImpl<GuardTotalMapper, GuardTo
if(lock.isLocked()){
throw new ServiceException("您点击太快了");
}
ConsumeResp resp = new ConsumeResp();
try {
lock.lock(3, TimeUnit.SECONDS);
Long guardValue = query.getGuardNum() * guardPrice;
@@ -111,7 +113,8 @@ public class GuardTotalServiceImpl extends ServiceImpl<GuardTotalMapper, GuardTo
consumeLog.setType(ConsumeLogType.GUARD.getCode());
consumeLog.setAmount(guardValue);
consumeLog.setTargetRate(anchor.getGuardRate());
accountService.decr(consumeLog, AccountBusinessEnum.GUARD);
consumeLog = accountService.decr(consumeLog, AccountBusinessEnum.GUARD);
resp.setConsumeLogId(consumeLog.getId());
GuardLog guardLog = new GuardLog();
guardLog.setFromUserId(fromUserId);
guardLog.setFromUsercode(fromUser.getUsercode());
@@ -141,7 +144,8 @@ public class GuardTotalServiceImpl extends ServiceImpl<GuardTotalMapper, GuardTo
}finally {
lock.unlock();
}
return true;
resp.setSuccess(true);
return resp;
}
@Override

View File

@@ -36,14 +36,14 @@ public class UserCallServiceImpl extends ServiceImpl<UserCallMapper, UserCall> i
throw new ServiceException("不能给自己拨打哦!");
}
if(anchor == null){
throw new ServiceException("主播技能不存在");
throw new ServiceException("主播不存在");
}
if(anchor.getOpenVideoStatus() == 0){
throw new ServiceException("对方未开启视频接听!");
}
Account account = accountService.getByUserId(fromUid);
if(account.getIncomeCoin() + account.getCoin() < anchor.getPrice() * 2){
throw new ServiceException("你的紫贝不足!");
throw new ServiceException("你的余额不足!");
}
UserCall userCall = new UserCall();
userCall.setFromUid(fromUid);

View File

@@ -2,6 +2,7 @@ package com.ruoyi.cai.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.cai.domain.*;
import com.ruoyi.cai.dto.ConsumeResp;
import com.ruoyi.cai.dto.app.query.GiveGiftRes;
import com.ruoyi.cai.dto.app.vo.index.UserGiftIndexVo;
import com.ruoyi.cai.enums.AccountBusinessEnum;
@@ -51,7 +52,7 @@ public class UserGiftServiceImpl extends ServiceImpl<UserGiftMapper, UserGift> i
@Override
@Transactional(rollbackFor = Exception.class)
public boolean giveGift(GiveGiftRes query) {
public ConsumeResp giveGift(GiveGiftRes query) {
Long fromUserId = LoginHelper.getUserId();
Gift gift = giftService.getById(query.getGiftId());
if(gift == null){
@@ -62,6 +63,7 @@ public class UserGiftServiceImpl extends ServiceImpl<UserGiftMapper, UserGift> i
if(lock.isLocked()){
throw new ServiceException("您点击太快了");
}
ConsumeResp resp = new ConsumeResp();
try {
lock.lock(3, TimeUnit.SECONDS);
User fromUser = userService.getById(fromUserId);
@@ -76,7 +78,8 @@ public class UserGiftServiceImpl extends ServiceImpl<UserGiftMapper, UserGift> i
consumeLog.setType(ConsumeLogType.GIFT.getCode());
consumeLog.setAmount(giftAmount);
consumeLog.setTargetRate(anchor.getGiftRate());
accountService.decr(consumeLog, AccountBusinessEnum.GIFT);
consumeLog = accountService.decr(consumeLog, AccountBusinessEnum.GIFT);
resp.setConsumeLogId(consumeLog.getId());
UserGift userGift = new UserGift();
userGift.setType(query.getType());
userGift.setFromUid(fromUserId);
@@ -96,6 +99,7 @@ public class UserGiftServiceImpl extends ServiceImpl<UserGiftMapper, UserGift> i
}finally {
lock.unlock();
}
return true;
resp.setSuccess(true);
return resp;
}
}