This commit is contained in:
张良(004796)
2024-02-06 15:32:52 +08:00
parent ec83a538cc
commit c827dbc0aa
16 changed files with 247 additions and 9 deletions

View File

@@ -1,19 +1,23 @@
package com.ruoyi.cai.chat;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.cai.domain.Account;
import com.ruoyi.cai.domain.Anchor;
import com.ruoyi.cai.domain.User;
import com.ruoyi.cai.domain.UserCall;
import com.ruoyi.cai.dto.app.dto.GuardNum;
import com.ruoyi.cai.dto.app.query.CallReq;
import com.ruoyi.cai.dto.app.query.room.VideoScoreReq;
import com.ruoyi.cai.dto.app.vo.chat.CallResp;
import com.ruoyi.cai.dto.app.vo.chat.GetRoomResp;
import com.ruoyi.cai.dto.app.vo.chat.VideoChargingResp;
import com.ruoyi.cai.enums.SystemConfigEnum;
import com.ruoyi.cai.manager.IdManager;
import com.ruoyi.cai.manager.SystemConfigManager;
import com.ruoyi.cai.service.*;
import com.ruoyi.cai.ws.bean.Room;
import com.ruoyi.cai.ws.constant.RedisConstant;
import com.ruoyi.cai.ws.constant.RoomStatusEnums;
import com.ruoyi.cai.ws.dto.WsToken;
import com.ruoyi.cai.ws.manager.WebSocketManager;
import com.ruoyi.common.utils.MapGetUtil;
@@ -174,4 +178,57 @@ public class ChatManager {
return getRoomResp;
}
public void videoScore(VideoScoreReq req) {
Long userId = LoginHelper.getUserId();
UserCall userCall = userCallService.getById(req.getRoomId());
if(userCall == null){
throw new ServiceException("房间号不存在");
}
if(userCall.getStatus() > RoomStatusEnums.STATUS_SCORE.getCode()){
throw new ServiceException("当前通话已经完成,不可评论!");
}
if(userCall.getStatus() < RoomStatusEnums.STATUS_HANGUP.getCode()){
throw new ServiceException("当前未通话完成,不可以评论!");
}
if(userCall.getFromUid().equals(userId)){
userCallService.update(Wrappers.lambdaUpdate(UserCall.class)
.set(UserCall::getCallScore, req.getScore())
.set(UserCall::getStatus, RoomStatusEnums.STATUS_SCORE.getCode())
.eq(UserCall::getId, userCall.getId()));
}else if(userCall.getToUid().equals(userId)){
userCallService.update(Wrappers.lambdaUpdate(UserCall.class)
.set(UserCall::getUserScore, req.getScore())
.set(UserCall::getStatus, RoomStatusEnums.STATUS_SCORE.getCode())
.eq(UserCall::getId, userCall.getId()));
}
}
public VideoChargingResp videoCharging(String roomId) {
Long userId = LoginHelper.getUserId();
UserCall userCall = userCallService.getById(roomId);
if(userCall == null){
throw new ServiceException("房间号不存在");
}
if(!userCall.getFromUid().equals(userId) && !userCall.getToUid().equals(userId)){
throw new ServiceException("无权限操作");
}
User fromUser = userService.getById(userCall.getFromUid());
User toUser = userService.getById(userCall.getToUid());
VideoChargingResp resp = new VideoChargingResp();
resp.setRoomId(userCall.getId());
resp.setFromUid(fromUser.getId());
resp.setFromNickname(fromUser.getNickname());
resp.setFromAvatar(fromUser.getAvatar());
resp.setPrice(userCall.getCallPrice());
resp.setToUid(toUser.getId());
resp.setToNickname(toUser.getNickname());
resp.setToAvatar(toUser.getAvatar());
resp.setCallTime(userCall.getCallTime());
if(userCall.getFromUid().equals(userId)){
resp.setPayMoney(userCall.getCallAmount());
}else if(userCall.getToUid().equals(userId)){
resp.setIncomeMoney(userCall.getCallIncome());
}
return resp;
}
}