This commit is contained in:
张良(004796)
2024-01-12 19:01:24 +08:00
parent 28623f17d1
commit 69a72b9e89
5 changed files with 119 additions and 5 deletions

View File

@@ -9,5 +9,6 @@ import org.springframework.stereotype.Component;
@ConfigurationProperties(prefix = "cai") @ConfigurationProperties(prefix = "cai")
public class CaiProperties { public class CaiProperties {
private String webSocketUrl = "ws://localhost:8080?token=%s&room_id=%s"; private String homeName = "蜜瓜";
private String coinName = "紫贝";
} }

View File

@@ -0,0 +1,93 @@
package com.ruoyi.cai.controller.admin;
import com.alibaba.fastjson2.JSON;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.cai.domain.User;
import com.ruoyi.cai.service.UserService;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.yunxin.client.ImUserClient;
import com.ruoyi.yunxin.req.CreateUserReq;
import com.ruoyi.yunxin.req.UpdateTokenReq;
import com.ruoyi.yunxin.resp.YxCommonR;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/cai/im")
@Slf4j
public class ImController {
@Autowired
private ImUserClient imUserClient;
@Autowired
private UserService userService;
@GetMapping("/register")
public R<Void> registerIm(Long userId){
User user = userService.getById(userId);
if(user == null){
return R.fail("用户不存在");
}
register(user);
return R.ok();
}
private void register(User user){
CreateUserReq req = new CreateUserReq();
req.setAccid(user.getId()+"");
req.setToken(user.getImToken());
req.setName(user.getNickname());
YxCommonR r = imUserClient.createUser(req);
if(!r.isSuccess()){
if(r.getCode() == 414){
UpdateTokenReq req1 = new UpdateTokenReq();
req1.setAccid(user.getId()+"");
req1.setToken(user.getImToken());
YxCommonR commonR = imUserClient.updateToken(req1);
if(!commonR.isSuccess()){
log.error("刷新云token失败,{}", JSON.toJSONString(commonR));
throw new ServiceException("注册失败,云信异常");
}
}else{
log.error("创建云信账号失败,{}", JSON.toJSONString(r));
throw new ServiceException("注册失败,云信异常");
}
}
}
@GetMapping("/registerAll")
public R<Void> registerAllIm(){
int current = 0;
int success = 0;
int fail = 0;
while (true){
current++;
Page<User> page = new Page<>(current,100);
Page<User> data = userService.page(page);
List<User> records = data.getRecords();
if(records.isEmpty()){
break;
}
for (User record : records) {
try {
register(record);
success++;
}catch (Exception e){
log.error("刷新token失败",e);
fail++;
}
}
}
return R.ok(String.format("总数:%s,成功数:%s,失败数:%s", success+fail,success,fail));
}
}

View File

@@ -0,0 +1,13 @@
package com.ruoyi.cai.controller.app;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/api/user/member")
@Slf4j
@Tag(name = "用户会员接口")
public class UserMemberController {
}

View File

@@ -5,6 +5,7 @@ import com.alibaba.fastjson2.JSON;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.cai.config.CaiProperties;
import com.ruoyi.cai.domain.*; import com.ruoyi.cai.domain.*;
import com.ruoyi.cai.dto.admin.vo.AccountAdminVo; import com.ruoyi.cai.dto.admin.vo.AccountAdminVo;
import com.ruoyi.cai.dto.video.VideoSettleResp; import com.ruoyi.cai.dto.video.VideoSettleResp;
@@ -52,6 +53,8 @@ public class AccountServiceImpl extends ServiceImpl<AccountMapper, Account> impl
private AccountChangeLogService accountChangeLogService; private AccountChangeLogService accountChangeLogService;
@Autowired @Autowired
private SystemConfigManager systemConfigManager; private SystemConfigManager systemConfigManager;
@Autowired
private CaiProperties caiProperties;
@Override @Override
@@ -172,11 +175,11 @@ public class AccountServiceImpl extends ServiceImpl<AccountMapper, Account> impl
throw new ServiceException("无效账号"); throw new ServiceException("无效账号");
} }
if(account.getIncomeCoin() < incomeCoin){ if(account.getIncomeCoin() < incomeCoin){
throw new ServiceException(""+incomeCoin+"紫贝才可提现"); throw new ServiceException(""+incomeCoin+caiProperties.getCoinName()+"才可提现");
} }
boolean incs = baseMapper.decrIncomeCoin(userId, incomeCoin); boolean incs = baseMapper.decrIncomeCoin(userId, incomeCoin);
if(!incs){ if(!incs){
throw new ServiceException(""+incomeCoin+"紫贝才可提现"); throw new ServiceException(""+incomeCoin+caiProperties.getCoinName()+"才可提现");
} }
accountChangeLogService.saveLogNoAdmin(user.getId(),user.getUsercode(), RechargeTypeEnum.COIN_INCOME,AccountBusinessEnum.WITHDRAW.getSourceEnum(),incomeCoin,traceId); accountChangeLogService.saveLogNoAdmin(user.getId(),user.getUsercode(), RechargeTypeEnum.COIN_INCOME,AccountBusinessEnum.WITHDRAW.getSourceEnum(),incomeCoin,traceId);
} }

View File

@@ -3,6 +3,7 @@ package com.ruoyi.cai.service.impl;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.cai.config.CaiProperties;
import com.ruoyi.cai.domain.UserInvite; import com.ruoyi.cai.domain.UserInvite;
import com.ruoyi.cai.dto.admin.vo.UserInviteAdminVo; import com.ruoyi.cai.dto.admin.vo.UserInviteAdminVo;
import com.ruoyi.cai.dto.app.dto.InviteCountDTO; import com.ruoyi.cai.dto.app.dto.InviteCountDTO;
@@ -11,6 +12,7 @@ import com.ruoyi.cai.dto.app.vo.user.UserListVo;
import com.ruoyi.cai.mapper.UserInviteMapper; import com.ruoyi.cai.mapper.UserInviteMapper;
import com.ruoyi.cai.service.UserInviteService; import com.ruoyi.cai.service.UserInviteService;
import com.ruoyi.common.core.domain.PageQuery; import com.ruoyi.common.core.domain.PageQuery;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList; import java.util.ArrayList;
@@ -29,13 +31,15 @@ public class UserInviteServiceImpl extends ServiceImpl<UserInviteMapper, UserInv
public UserInvite getByUserId(Long id) { public UserInvite getByUserId(Long id) {
return this.getOne(Wrappers.lambdaQuery(UserInvite.class).eq(UserInvite::getUserId,id).last("limit 1")); return this.getOne(Wrappers.lambdaQuery(UserInvite.class).eq(UserInvite::getUserId,id).last("limit 1"));
} }
@Autowired
private CaiProperties caiProperties;
@Override @Override
public InviteHomeVo inviteHome(Long userId) { public InviteHomeVo inviteHome(Long userId) {
InviteHomeVo vo = new InviteHomeVo(); InviteHomeVo vo = new InviteHomeVo();
List<String> reward = new ArrayList<>(); List<String> reward = new ArrayList<>();
reward.add("1、邀请主播认证通过奖励#300#紫贝"); reward.add("1、邀请主播认证通过奖励#300#"+caiProperties.getCoinName());
reward.add("2、邀请用户首次充值奖励#1200#紫贝"); reward.add("2、邀请用户首次充值奖励#1200#"+caiProperties.getCoinName());
reward.add("3、主播视频、礼物、会员分成#50%#"); reward.add("3、主播视频、礼物、会员分成#50%#");
reward.add("4、邀请男用户充值提成#30%#"); reward.add("4、邀请男用户充值提成#30%#");
reward.add("5、邀请主播收益#7%#"); reward.add("5、邀请主播收益#7%#");