init
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
package com.ruoyi.xq.controller;
|
||||
|
||||
import com.ruoyi.common.core.domain.R;
|
||||
import com.ruoyi.xq.dto.admin.unread.UnreadData;
|
||||
import com.ruoyi.xq.manager.UnreadManager;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
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;
|
||||
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/cai/unread")
|
||||
public class UnreadController {
|
||||
|
||||
@Autowired
|
||||
public UnreadManager unreadManager;
|
||||
|
||||
@GetMapping("/data")
|
||||
public R<UnreadData> list() {
|
||||
UnreadData data = unreadManager.data();
|
||||
return R.ok(data);
|
||||
}
|
||||
|
||||
|
||||
@GetMapping("/checkCount")
|
||||
public R<Integer> count() {
|
||||
boolean checkCount = unreadManager.checkCount();
|
||||
return R.ok(checkCount?1:0);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,56 @@
|
||||
package com.ruoyi.xq.controller;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
import com.ruoyi.common.core.domain.R;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.xq.domain.UserVisitor;
|
||||
import com.ruoyi.xq.service.UserVisitorService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
/**
|
||||
* 用户来访记录
|
||||
*
|
||||
* @author 77
|
||||
* @date 2024-03-18
|
||||
*/
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/xq/userVisitor")
|
||||
public class UserVisitorController extends BaseController {
|
||||
|
||||
private final UserVisitorService userVisitorService;
|
||||
|
||||
/**
|
||||
* 查询用户来访记录列表
|
||||
*/
|
||||
@SaCheckPermission("xq:userVisitor:list")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<UserVisitor> list(UserVisitor bo, PageQuery pageQuery) {
|
||||
Page<UserVisitor> page = userVisitorService.page(pageQuery.build(), Wrappers.lambdaQuery(bo));
|
||||
return TableDataInfo.build(page);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取用户来访记录详细信息
|
||||
*
|
||||
* @param id 主键
|
||||
*/
|
||||
@SaCheckPermission("xq:userVisitor:query")
|
||||
@GetMapping("/{id}")
|
||||
public R<UserVisitor> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable Long id) {
|
||||
return R.ok(userVisitorService.getById(id));
|
||||
}
|
||||
}
|
||||
@@ -9,7 +9,7 @@ import com.ruoyi.xq.dto.app.login.LoginUser;
|
||||
import com.ruoyi.xq.dto.app.login.LoginVo;
|
||||
import com.ruoyi.xq.dto.app.user.ResetPasswordReq;
|
||||
import com.ruoyi.xq.dto.common.sms.SmsCodeReq;
|
||||
import com.ruoyi.xq.manager.CaiLoginManager;
|
||||
import com.ruoyi.xq.manager.LoginManager;
|
||||
import com.ruoyi.xq.manager.CurrentUserManager;
|
||||
import com.ruoyi.xq.service.SmsVerifyService;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
@@ -31,7 +31,7 @@ import java.util.Map;
|
||||
public class AuthAppController {
|
||||
|
||||
@Autowired
|
||||
private CaiLoginManager caiLoginManager;
|
||||
private LoginManager loginManager;
|
||||
@Autowired
|
||||
private SmsVerifyService smsVerifyService;
|
||||
@Autowired
|
||||
@@ -57,9 +57,9 @@ public class AuthAppController {
|
||||
LoginVo vo = new LoginVo();
|
||||
String token;
|
||||
if(loginBody.getLoginType() == 2){
|
||||
token = caiLoginManager.login(loginBody.getUsername(), loginBody.getPassword());
|
||||
token = loginManager.login(loginBody.getUsername(), loginBody.getPassword());
|
||||
}else if(loginBody.getLoginType() == 1){
|
||||
token = caiLoginManager.loginSms(loginBody.getUsername(), loginBody.getCode(), loginBody.getInviteCode());
|
||||
token = loginManager.loginSms(loginBody.getUsername(), loginBody.getCode(), loginBody.getInviteCode());
|
||||
}else{
|
||||
return R.fail(600,"登陆失败,参数异常");
|
||||
}
|
||||
@@ -72,7 +72,7 @@ public class AuthAppController {
|
||||
@Operation(summary = "登出")
|
||||
@Log(title = "登出", businessType = BusinessType.OTHER, isSaveDb = false)
|
||||
public R<Void> loginOut(){
|
||||
caiLoginManager.logout();
|
||||
loginManager.logout();
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
@@ -80,7 +80,7 @@ public class AuthAppController {
|
||||
@Operation(summary = "重置密码")
|
||||
@Log(title = "重置密码", businessType = BusinessType.OTHER, isSaveDb = false)
|
||||
public R<Void> resetPassword(@RequestBody ResetPasswordReq code){
|
||||
caiLoginManager.resetPassword(code.getMobile(),code.getCode(),code.getPassword());
|
||||
loginManager.resetPassword(code.getMobile(),code.getCode(),code.getPassword());
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
|
||||
51
ruoyi-xq/src/main/java/com/ruoyi/xq/domain/UserVisitor.java
Normal file
51
ruoyi-xq/src/main/java/com/ruoyi/xq/domain/UserVisitor.java
Normal file
@@ -0,0 +1,51 @@
|
||||
package com.ruoyi.xq.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* 用户来访记录对象 xq_user_visitor
|
||||
*
|
||||
* @author 77
|
||||
* @date 2024-03-18
|
||||
*/
|
||||
@Data
|
||||
@TableName("xq_user_visitor")
|
||||
public class UserVisitor implements Serializable {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@TableId(value = "id")
|
||||
private Long id;
|
||||
/**
|
||||
* 用户ID
|
||||
*/
|
||||
private Long userId;
|
||||
/**
|
||||
* 用户编号
|
||||
*/
|
||||
private String usercode;
|
||||
/**
|
||||
* 浏览的用户ID
|
||||
*/
|
||||
private Long tarId;
|
||||
/**
|
||||
* 浏览的用户编号
|
||||
*/
|
||||
private String tarUsercode;
|
||||
/**
|
||||
* 访问的次数
|
||||
*/
|
||||
private Integer visitorNum;
|
||||
|
||||
private LocalDateTime createTime;
|
||||
private LocalDateTime updateTime;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package com.ruoyi.xq.dto.admin.unread;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class UnreadData {
|
||||
/**
|
||||
* 用户提现审核
|
||||
*/
|
||||
private Long userWithdrawCount;
|
||||
/**
|
||||
* 用户认证审核
|
||||
*/
|
||||
private Long userAuthCount;
|
||||
/**
|
||||
* 动态审核
|
||||
*/
|
||||
private Long dynamicCount;
|
||||
/**
|
||||
* 用户信息审核
|
||||
*/
|
||||
private Long userInfoCount;
|
||||
}
|
||||
@@ -40,7 +40,7 @@ import java.util.Collections;
|
||||
|
||||
@Component
|
||||
@Slf4j
|
||||
public class CaiLoginManager {
|
||||
public class LoginManager {
|
||||
|
||||
@Autowired
|
||||
private UserService userService;
|
||||
@@ -115,7 +115,7 @@ public class CaiLoginManager {
|
||||
}
|
||||
lock.lock();
|
||||
try {
|
||||
CaiLoginManager bean = SpringUtil.getBean(CaiLoginManager.class);
|
||||
LoginManager bean = SpringUtil.getBean(LoginManager.class);
|
||||
user = bean.registerUser(mobile,inviteCode);
|
||||
}finally {
|
||||
lock.unlock();
|
||||
@@ -0,0 +1,66 @@
|
||||
package com.ruoyi.xq.manager;
|
||||
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.ruoyi.xq.domain.Dynamic;
|
||||
import com.ruoyi.xq.domain.UserAuthAudit;
|
||||
import com.ruoyi.xq.domain.UserInfoAudit;
|
||||
import com.ruoyi.xq.domain.UserWithdraw;
|
||||
import com.ruoyi.xq.dto.admin.unread.UnreadData;
|
||||
import com.ruoyi.xq.enums.common.AuditEnum;
|
||||
import com.ruoyi.xq.service.*;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@Component
|
||||
public class UnreadManager {
|
||||
|
||||
@Autowired
|
||||
private UserWithdrawService userWithdrawService;
|
||||
@Autowired
|
||||
private UserAuthAuditService userAuthAuditService;
|
||||
@Autowired
|
||||
private DynamicService dynamicService;
|
||||
@Autowired
|
||||
private UserInfoAuditService userInfoAuditService;
|
||||
|
||||
|
||||
public UnreadData data() {
|
||||
UnreadData unreadData = new UnreadData();
|
||||
long userWithdraw = userWithdrawService.count(Wrappers.lambdaQuery(UserWithdraw.class).eq(UserWithdraw::getAuditStatus, AuditEnum.AUDITING.getCode()));
|
||||
unreadData.setUserWithdrawCount(userWithdraw);
|
||||
|
||||
long userAuth = userAuthAuditService.count(Wrappers.lambdaQuery(UserAuthAudit.class).eq(UserAuthAudit::getAuditStatus, AuditEnum.AUDITING.getCode()));
|
||||
unreadData.setUserAuthCount(userAuth);
|
||||
|
||||
long dynamic = dynamicService.count(Wrappers.lambdaQuery(Dynamic.class).eq(Dynamic::getAuditStatus, AuditEnum.AUDITING.getCode()));
|
||||
unreadData.setDynamicCount(dynamic);
|
||||
|
||||
long userInfo = userInfoAuditService.count(Wrappers.lambdaQuery(UserInfoAudit.class).eq(UserInfoAudit::getAuditStatus, AuditEnum.AUDITING.getCode()));
|
||||
unreadData.setUserInfoCount(userInfo);
|
||||
return unreadData;
|
||||
}
|
||||
|
||||
public boolean checkCount() {
|
||||
boolean userWithdraw = userWithdrawService.exists(Wrappers.lambdaQuery(UserWithdraw.class).eq(UserWithdraw::getAuditStatus, AuditEnum.AUDITING.getCode()));
|
||||
if(userWithdraw){
|
||||
return true;
|
||||
}
|
||||
|
||||
boolean userAuth = userAuthAuditService.exists(Wrappers.lambdaQuery(UserAuthAudit.class).eq(UserAuthAudit::getAuditStatus, AuditEnum.AUDITING.getCode()));
|
||||
if(userAuth){
|
||||
return true;
|
||||
}
|
||||
|
||||
boolean dynamic = dynamicService.exists(Wrappers.lambdaQuery(Dynamic.class).eq(Dynamic::getAuditStatus, AuditEnum.AUDITING.getCode()));
|
||||
if(dynamic){
|
||||
return true;
|
||||
}
|
||||
|
||||
boolean userInfo = userInfoAuditService.exists(Wrappers.lambdaQuery(UserInfoAudit.class).eq(UserInfoAudit::getAuditStatus, AuditEnum.AUDITING.getCode()));
|
||||
if(userInfo){
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.ruoyi.xq.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.ruoyi.xq.domain.UserVisitor;
|
||||
|
||||
/**
|
||||
* 用户来访记录Mapper接口
|
||||
*
|
||||
* @author 77
|
||||
* @date 2024-03-18
|
||||
*/
|
||||
public interface UserVisitorMapper extends BaseMapper<UserVisitor> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.ruoyi.xq.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.ruoyi.xq.domain.UserVisitor;
|
||||
|
||||
/**
|
||||
* 用户来访记录Service接口
|
||||
*
|
||||
* @author 77
|
||||
* @date 2024-03-18
|
||||
*/
|
||||
public interface UserVisitorService extends IService<UserVisitor> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.ruoyi.xq.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.ruoyi.xq.domain.UserVisitor;
|
||||
import com.ruoyi.xq.mapper.UserVisitorMapper;
|
||||
import com.ruoyi.xq.service.UserVisitorService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* 用户来访记录Service业务层处理
|
||||
*
|
||||
* @author 77
|
||||
* @date 2024-03-18
|
||||
*/
|
||||
@Service
|
||||
public class UserVisitorServiceImpl extends ServiceImpl<UserVisitorMapper,UserVisitor> implements UserVisitorService {
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user