This commit is contained in:
77
2024-08-10 16:13:41 +08:00
parent 2a735161a2
commit eacfd189e8
11 changed files with 184 additions and 6 deletions

View File

@@ -3,21 +3,19 @@ package com.ruoyi.web.controller.cai.app;
import cn.dev33.satoken.annotation.SaIgnore;
import cn.hutool.core.util.PhoneUtil;
import com.ruoyi.cai.auth.*;
import com.ruoyi.cai.domain.User;
import com.ruoyi.cai.dto.app.vo.LoginVo;
import com.ruoyi.cai.enums.CodeEnum;
import com.ruoyi.cai.enums.SystemConfigEnum;
import com.ruoyi.cai.kit.VerificationCodeCheck;
import com.ruoyi.cai.manager.CurrentUserManager;
import com.ruoyi.cai.manager.LoginAfterManager;
import com.ruoyi.cai.notice.YunxinHttpService;
import com.ruoyi.cai.manager.SystemConfigManager;
import com.ruoyi.cai.service.SmsVerifyService;
import com.ruoyi.cai.service.UserService;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.helper.LoginHelper;
import com.ruoyi.common.utils.ServletUtils;
import com.ruoyi.yunxin.Yunxin;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.extern.slf4j.Slf4j;
@@ -29,7 +27,6 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.Map;
@RestController
@@ -48,6 +45,10 @@ public class AuthAppController {
private UserService userService;
@Autowired
private CurrentUserManager currentUserManager;
@Autowired
private VerificationCodeCheck verificationCodeCheck;
@Autowired
private SystemConfigManager systemConfigManager;
@PostMapping("/register")
@Operation(summary = "注册")
@@ -66,10 +67,39 @@ public class AuthAppController {
private final static String[] headers = new String[]{"X-Forwarded-For", "X-Real-IP", "Proxy-Client-IP", "WL-Proxy-Client-IP", "HTTP_CLIENT_IP", "HTTP_X_FORWARDED_FOR"};
@PostMapping("/v2/register/code")
@Operation(summary = "获取注册验证码")
@Log(title = "获取注册验证码", businessType = BusinessType.OTHER, isSaveDb = false)
public R<Map<String,String>> registerCodeV2(@Validated @RequestBody RegisterCodeV2 code){
boolean check = verificationCodeCheck.check(code.getTicket(), code.getUserIp(), code.getRandStr());
if(!check){
return R.fail(600,"验证码错误!");
}
boolean mobile = PhoneUtil.isMobile(code.getMobile());
if(!mobile){
return R.fail(600,"请输入正确的手机格式");
}
HttpServletRequest request = ServletUtils.getRequest();
StringBuilder sb = new StringBuilder();
sb.append("注册验证码IP检测;");
sb.append("remoteAddr:").append(request.getRemoteAddr());
for (String header : headers) {
sb.append(header).append(":").append(request.getHeader(header));
}
log.info(sb.toString());
smsVerifyService.put(CodeEnum.REGISTER,code.getMobile());
return R.ok("发送成功");
}
@PostMapping("/register/code")
@Operation(summary = "获取注册验证码")
@Log(title = "获取注册验证码", businessType = BusinessType.OTHER, isSaveDb = false)
public R<Map<String,String>> registerCode(@Validated @RequestBody RegisterCode code){
boolean openOldRegisterCode = systemConfigManager.getSystemConfigOfBool(SystemConfigEnum.OPEN_OLD_REGISTER_CODE);
if(!openOldRegisterCode){
return R.fail(600,"验证码发送失败,主动异常");
}
boolean mobile = PhoneUtil.isMobile(code.getMobile());
if(!mobile){
return R.fail(600,"请输入正确的手机格式");

View File

@@ -2,6 +2,7 @@ package com.ruoyi.web.controller.cai.app;
import com.ruoyi.cai.domain.User;
import com.ruoyi.cai.dto.app.RankIdReq;
import com.ruoyi.cai.dto.app.vo.anchor.AnchorStatusDTO;
import com.ruoyi.cai.dto.app.vo.rank.RankRemark;
import com.ruoyi.cai.dto.app.vo.rank.RankNodeInvite;
import com.ruoyi.cai.dto.app.vo.rank.RankNodeLove;
@@ -9,6 +10,7 @@ import com.ruoyi.cai.enums.GenderEnum;
import com.ruoyi.cai.enums.SystemConfigEnum;
import com.ruoyi.cai.manager.AwardManager;
import com.ruoyi.cai.manager.SystemConfigManager;
import com.ruoyi.cai.mapper.AnchorMapper;
import com.ruoyi.cai.rank.RankManager;
import com.ruoyi.cai.rank.RankNode;
import com.ruoyi.cai.service.RankService;
@@ -25,6 +27,7 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.*;
import java.util.function.Function;
import java.util.regex.Matcher;
@@ -47,6 +50,8 @@ public class RankAppController {
private AwardManager awardManager;
@Autowired
private SystemConfigManager systemConfigManager;
@Resource
private AnchorMapper anchorMapper;
@GetMapping("/loveRemark")
@Operation(summary = "魅力榜榜单说明")
@@ -106,6 +111,8 @@ public class RankAppController {
Set<Long> userIds = rankNodeList.stream().map(RankNode::getUserId).collect(Collectors.toSet());
List<User> userList = userService.listByIds(userIds);
Map<Long, User> userMap = userList.stream().collect(Collectors.toMap(User::getId, Function.identity()));
List<AnchorStatusDTO> anchorStatusList = anchorMapper.anchorStatus(userList);
Map<Long, AnchorStatusDTO> anchorStatusMap = anchorStatusList.stream().collect(Collectors.toMap(AnchorStatusDTO::getUserId, Function.identity()));
long lastLove = 0;
for (int i = 0; i < rankNodeList.size(); i++) {
RankNode rankNode = rankNodeList.get(i);
@@ -113,10 +120,12 @@ public class RankAppController {
if(user == null){
continue;
}
AnchorStatusDTO anchorStatus = anchorStatusMap.get(rankNode.getUserId());
RankNodeLove love = new RankNodeLove();
love.setUserId(user.getId());
love.setAvatar(user.getAvatar());
love.setNickname(user.getNickname());
love.setAnchorStatus(anchorStatus != null ? anchorStatus.getAnchorStatus() : 0);
love.setValue(rankNode.getScore());
love.setDraw(rankNode.getDraw() == null || rankNode.getDraw());
love.setRankAwardValue(rankNode.getRankAwardValue());