From a75e7b32574380d5d59f442511e61bc1871b0fcd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E8=89=AF=28004796=29?= Date: Mon, 18 Mar 2024 18:46:46 +0800 Subject: [PATCH] init --- .../ruoyi/xq/controller/UnreadController.java | 34 ++++++++++ .../xq/controller/UserVisitorController.java | 56 ++++++++++++++++ .../xq/controller/app/AuthAppController.java | 12 ++-- .../java/com/ruoyi/xq/domain/UserVisitor.java | 51 ++++++++++++++ .../ruoyi/xq/dto/admin/unread/UnreadData.java | 23 +++++++ ...CaiLoginManager.java => LoginManager.java} | 4 +- .../com/ruoyi/xq/manager/UnreadManager.java | 66 +++++++++++++++++++ .../ruoyi/xq/mapper/UserVisitorMapper.java | 14 ++++ .../ruoyi/xq/service/UserVisitorService.java | 14 ++++ .../service/impl/UserVisitorServiceImpl.java | 18 +++++ .../resources/mapper/xq/UserVisitorMapper.xml | 19 ++++++ 11 files changed, 303 insertions(+), 8 deletions(-) create mode 100644 ruoyi-xq/src/main/java/com/ruoyi/xq/controller/UnreadController.java create mode 100644 ruoyi-xq/src/main/java/com/ruoyi/xq/controller/UserVisitorController.java create mode 100644 ruoyi-xq/src/main/java/com/ruoyi/xq/domain/UserVisitor.java create mode 100644 ruoyi-xq/src/main/java/com/ruoyi/xq/dto/admin/unread/UnreadData.java rename ruoyi-xq/src/main/java/com/ruoyi/xq/manager/{CaiLoginManager.java => LoginManager.java} (98%) create mode 100644 ruoyi-xq/src/main/java/com/ruoyi/xq/manager/UnreadManager.java create mode 100644 ruoyi-xq/src/main/java/com/ruoyi/xq/mapper/UserVisitorMapper.java create mode 100644 ruoyi-xq/src/main/java/com/ruoyi/xq/service/UserVisitorService.java create mode 100644 ruoyi-xq/src/main/java/com/ruoyi/xq/service/impl/UserVisitorServiceImpl.java create mode 100644 ruoyi-xq/src/main/resources/mapper/xq/UserVisitorMapper.xml diff --git a/ruoyi-xq/src/main/java/com/ruoyi/xq/controller/UnreadController.java b/ruoyi-xq/src/main/java/com/ruoyi/xq/controller/UnreadController.java new file mode 100644 index 0000000..18ee266 --- /dev/null +++ b/ruoyi-xq/src/main/java/com/ruoyi/xq/controller/UnreadController.java @@ -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 list() { + UnreadData data = unreadManager.data(); + return R.ok(data); + } + + + @GetMapping("/checkCount") + public R count() { + boolean checkCount = unreadManager.checkCount(); + return R.ok(checkCount?1:0); + } +} diff --git a/ruoyi-xq/src/main/java/com/ruoyi/xq/controller/UserVisitorController.java b/ruoyi-xq/src/main/java/com/ruoyi/xq/controller/UserVisitorController.java new file mode 100644 index 0000000..16b7119 --- /dev/null +++ b/ruoyi-xq/src/main/java/com/ruoyi/xq/controller/UserVisitorController.java @@ -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 list(UserVisitor bo, PageQuery pageQuery) { + Page page = userVisitorService.page(pageQuery.build(), Wrappers.lambdaQuery(bo)); + return TableDataInfo.build(page); + } + + /** + * 获取用户来访记录详细信息 + * + * @param id 主键 + */ + @SaCheckPermission("xq:userVisitor:query") + @GetMapping("/{id}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long id) { + return R.ok(userVisitorService.getById(id)); + } +} diff --git a/ruoyi-xq/src/main/java/com/ruoyi/xq/controller/app/AuthAppController.java b/ruoyi-xq/src/main/java/com/ruoyi/xq/controller/app/AuthAppController.java index 28df354..ea30d8b 100644 --- a/ruoyi-xq/src/main/java/com/ruoyi/xq/controller/app/AuthAppController.java +++ b/ruoyi-xq/src/main/java/com/ruoyi/xq/controller/app/AuthAppController.java @@ -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 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 resetPassword(@RequestBody ResetPasswordReq code){ - caiLoginManager.resetPassword(code.getMobile(),code.getCode(),code.getPassword()); + loginManager.resetPassword(code.getMobile(),code.getCode(),code.getPassword()); return R.ok(); } diff --git a/ruoyi-xq/src/main/java/com/ruoyi/xq/domain/UserVisitor.java b/ruoyi-xq/src/main/java/com/ruoyi/xq/domain/UserVisitor.java new file mode 100644 index 0000000..998b03f --- /dev/null +++ b/ruoyi-xq/src/main/java/com/ruoyi/xq/domain/UserVisitor.java @@ -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; + +} diff --git a/ruoyi-xq/src/main/java/com/ruoyi/xq/dto/admin/unread/UnreadData.java b/ruoyi-xq/src/main/java/com/ruoyi/xq/dto/admin/unread/UnreadData.java new file mode 100644 index 0000000..a06d52e --- /dev/null +++ b/ruoyi-xq/src/main/java/com/ruoyi/xq/dto/admin/unread/UnreadData.java @@ -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; +} diff --git a/ruoyi-xq/src/main/java/com/ruoyi/xq/manager/CaiLoginManager.java b/ruoyi-xq/src/main/java/com/ruoyi/xq/manager/LoginManager.java similarity index 98% rename from ruoyi-xq/src/main/java/com/ruoyi/xq/manager/CaiLoginManager.java rename to ruoyi-xq/src/main/java/com/ruoyi/xq/manager/LoginManager.java index 717f263..4959e8d 100644 --- a/ruoyi-xq/src/main/java/com/ruoyi/xq/manager/CaiLoginManager.java +++ b/ruoyi-xq/src/main/java/com/ruoyi/xq/manager/LoginManager.java @@ -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(); diff --git a/ruoyi-xq/src/main/java/com/ruoyi/xq/manager/UnreadManager.java b/ruoyi-xq/src/main/java/com/ruoyi/xq/manager/UnreadManager.java new file mode 100644 index 0000000..2c614e0 --- /dev/null +++ b/ruoyi-xq/src/main/java/com/ruoyi/xq/manager/UnreadManager.java @@ -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; + + } +} diff --git a/ruoyi-xq/src/main/java/com/ruoyi/xq/mapper/UserVisitorMapper.java b/ruoyi-xq/src/main/java/com/ruoyi/xq/mapper/UserVisitorMapper.java new file mode 100644 index 0000000..95127b4 --- /dev/null +++ b/ruoyi-xq/src/main/java/com/ruoyi/xq/mapper/UserVisitorMapper.java @@ -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 { + +} diff --git a/ruoyi-xq/src/main/java/com/ruoyi/xq/service/UserVisitorService.java b/ruoyi-xq/src/main/java/com/ruoyi/xq/service/UserVisitorService.java new file mode 100644 index 0000000..abada30 --- /dev/null +++ b/ruoyi-xq/src/main/java/com/ruoyi/xq/service/UserVisitorService.java @@ -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 { + +} diff --git a/ruoyi-xq/src/main/java/com/ruoyi/xq/service/impl/UserVisitorServiceImpl.java b/ruoyi-xq/src/main/java/com/ruoyi/xq/service/impl/UserVisitorServiceImpl.java new file mode 100644 index 0000000..7912b7c --- /dev/null +++ b/ruoyi-xq/src/main/java/com/ruoyi/xq/service/impl/UserVisitorServiceImpl.java @@ -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 implements UserVisitorService { + +} diff --git a/ruoyi-xq/src/main/resources/mapper/xq/UserVisitorMapper.xml b/ruoyi-xq/src/main/resources/mapper/xq/UserVisitorMapper.xml new file mode 100644 index 0000000..f77e5a2 --- /dev/null +++ b/ruoyi-xq/src/main/resources/mapper/xq/UserVisitorMapper.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + +