This commit is contained in:
张良(004796)
2024-03-04 18:54:18 +08:00
commit 273ee16e8c
585 changed files with 41565 additions and 0 deletions

View File

@@ -0,0 +1,14 @@
package com.ruoyi.xq.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.xq.domain.AccountChangeLog;
/**
* 账户明细Service接口
*
* @author 77
* @date 2024-03-04
*/
public interface AccountChangeLogService extends IService<AccountChangeLog> {
}

View File

@@ -0,0 +1,14 @@
package com.ruoyi.xq.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.xq.domain.AgreementSetting;
/**
* 协议设置Service接口
*
* @author 77
* @date 2024-03-04
*/
public interface AgreementSettingService extends IService<AgreementSetting> {
}

View File

@@ -0,0 +1,13 @@
package com.ruoyi.xq.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.xq.domain.Banner;
/**
* 轮播图Service接口
*
* @author 77
* @date 2024-03-04
*/
public interface BannerService extends IService<Banner> {
}

View File

@@ -0,0 +1,14 @@
package com.ruoyi.xq.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.xq.domain.Dynamic;
/**
* 动态审核Service接口
*
* @author 77
* @date 2024-03-04
*/
public interface DynamicService extends IService<Dynamic> {
}

View File

@@ -0,0 +1,20 @@
package com.ruoyi.xq.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.xq.domain.SmsVerify;
import com.ruoyi.xq.enums.common.CodeEnum;
/**
* 短信验证码Service接口
*
* @author 77
* @date 2024-01-01
*/
public interface SmsVerifyService extends IService<SmsVerify> {
boolean check(CodeEnum codeEnum, String mobile, String code);
void put(CodeEnum codeEnum, String mobile);
void clearSmsVerify(int days);
}

View File

@@ -0,0 +1,14 @@
package com.ruoyi.xq.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.xq.domain.UserAuthAudit;
/**
* 用户认证审核Service接口
*
* @author 77
* @date 2024-03-04
*/
public interface UserAuthAuditService extends IService<UserAuthAudit> {
}

View File

@@ -0,0 +1,13 @@
package com.ruoyi.xq.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.xq.domain.UserAuth;
/**
* 用户认证管理Service接口
*
* @author 77
* @date 2024-03-04
*/
public interface UserAuthService extends IService<UserAuth> {
}

View File

@@ -0,0 +1,15 @@
package com.ruoyi.xq.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.xq.domain.UserCodeGen;
/**
* idService接口
*
* @author 77
* @date 2023-12-21
*/
public interface UserCodeGenService extends IService<UserCodeGen> {
String getCodeGen();
}

View File

@@ -0,0 +1,13 @@
package com.ruoyi.xq.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.xq.domain.UserInfoAudit;
/**
* 用户信息审核Service接口
*
* @author 77
* @date 2024-03-04
*/
public interface UserInfoAuditService extends IService<UserInfoAudit> {
}

View File

@@ -0,0 +1,13 @@
package com.ruoyi.xq.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.xq.domain.UserInfo;
/**
* 用户信息Service接口
*
* @author 77
* @date 2024-03-04
*/
public interface UserInfoService extends IService<UserInfo> {
}

View File

@@ -0,0 +1,14 @@
package com.ruoyi.xq.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.xq.domain.UserLogin;
/**
* 用户登陆Service接口
*
* @author 77
* @date 2024-03-04
*/
public interface UserLoginService extends IService<UserLogin> {
}

View File

@@ -0,0 +1,14 @@
package com.ruoyi.xq.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.xq.domain.UserPictures;
/**
* 用户相册管理Service接口
*
* @author 77
* @date 2024-03-04
*/
public interface UserPicturesService extends IService<UserPictures> {
}

View File

@@ -0,0 +1,19 @@
package com.ruoyi.xq.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.xq.domain.User;
/**
* 用户管理Service接口
*
* @author 77
* @date 2024-03-04
*/
public interface UserService extends IService<User> {
User getByUsername(String username);
void resetPassword(Long userId, String password);
User getByUsercode(String usercode);
}

View File

@@ -0,0 +1,14 @@
package com.ruoyi.xq.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.xq.domain.UserVip;
/**
* VIP用户Service接口
*
* @author 77
* @date 2024-03-04
*/
public interface UserVipService extends IService<UserVip> {
}

View File

@@ -0,0 +1,14 @@
package com.ruoyi.xq.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.xq.domain.UserWithdraw;
/**
* 用户提现审核Service接口
*
* @author 77
* @date 2024-03-04
*/
public interface UserWithdrawService extends IService<UserWithdraw> {
}

View File

@@ -0,0 +1,13 @@
package com.ruoyi.xq.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.xq.domain.VipOrder;
/**
* VIP订单Service接口
*
* @author 77
* @date 2024-03-04
*/
public interface VipOrderService extends IService<VipOrder> {
}

View File

@@ -0,0 +1,13 @@
package com.ruoyi.xq.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.xq.domain.VipPrice;
/**
* 会员价格设置Service接口
*
* @author 77
* @date 2024-03-04
*/
public interface VipPriceService extends IService<VipPrice> {
}

View File

@@ -0,0 +1,14 @@
package com.ruoyi.xq.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.xq.domain.WithdrawSetting;
/**
* 提现配置Service接口
*
* @author 77
* @date 2024-03-04
*/
public interface WithdrawSettingService extends IService<WithdrawSetting> {
}

View File

@@ -0,0 +1,20 @@
package com.ruoyi.xq.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.xq.domain.AccountChangeLog;
import com.ruoyi.xq.mapper.AccountChangeLogMapper;
import com.ruoyi.xq.service.AccountChangeLogService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
/**
* 账户明细Service业务层处理
*
* @author 77
* @date 2024-03-04
*/
@RequiredArgsConstructor
@Service
public class AccountChangeLogServiceImpl extends ServiceImpl<AccountChangeLogMapper,AccountChangeLog> implements AccountChangeLogService {
}

View File

@@ -0,0 +1,20 @@
package com.ruoyi.xq.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.xq.domain.AgreementSetting;
import com.ruoyi.xq.mapper.AgreementSettingMapper;
import com.ruoyi.xq.service.AgreementSettingService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
/**
* 协议设置Service业务层处理
*
* @author 77
* @date 2024-03-04
*/
@RequiredArgsConstructor
@Service
public class AgreementSettingServiceImpl extends ServiceImpl<AgreementSettingMapper,AgreementSetting> implements AgreementSettingService {
}

View File

@@ -0,0 +1,20 @@
package com.ruoyi.xq.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.xq.domain.Banner;
import com.ruoyi.xq.mapper.BannerMapper;
import com.ruoyi.xq.service.BannerService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
/**
* 轮播图Service业务层处理
*
* @author 77
* @date 2024-03-04
*/
@RequiredArgsConstructor
@Service
public class BannerServiceImpl extends ServiceImpl<BannerMapper,Banner> implements BannerService {
}

View File

@@ -0,0 +1,20 @@
package com.ruoyi.xq.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.xq.domain.Dynamic;
import com.ruoyi.xq.mapper.DynamicMapper;
import com.ruoyi.xq.service.DynamicService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
/**
* 动态审核Service业务层处理
*
* @author 77
* @date 2024-03-04
*/
@RequiredArgsConstructor
@Service
public class DynamicServiceImpl extends ServiceImpl<DynamicMapper,Dynamic> implements DynamicService {
}

View File

@@ -0,0 +1,132 @@
package com.ruoyi.xq.service.impl;
import cn.hutool.core.util.RandomUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.ServletUtils;
import com.ruoyi.xq.domain.SmsVerify;
import com.ruoyi.xq.domain.User;
import com.ruoyi.xq.domain.UserLogin;
import com.ruoyi.xq.enums.common.CodeEnum;
import com.ruoyi.xq.enums.common.SystemConfigEnum;
import com.ruoyi.xq.kit.AliSmsKit;
import com.ruoyi.xq.manager.SystemConfigManager;
import com.ruoyi.xq.mapper.SmsVerifyMapper;
import com.ruoyi.xq.service.SmsVerifyService;
import com.ruoyi.xq.service.UserInfoService;
import com.ruoyi.xq.service.UserLoginService;
import com.ruoyi.xq.service.UserService;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.time.temporal.ChronoUnit;
import java.util.List;
import java.util.stream.Collectors;
/**
* 短信验证码Service业务层处理
*
* @author 77
* @date 2024-01-01
*/
@Service
public class SmsVerifyServiceImpl extends ServiceImpl<SmsVerifyMapper, SmsVerify> implements SmsVerifyService {
@Autowired
private UserInfoService userInfoService;
@Autowired
private UserLoginService userLoginService;
@Autowired
private UserService userService;
@Autowired
private AliSmsKit aliSmsKit;
@Autowired
private SystemConfigManager systemConfigManager;
@Override
public boolean check(CodeEnum codeEnum, String mobile, String code){
String smsAdmin = systemConfigManager.getSystemConfig(SystemConfigEnum.SMS_CODE_ADMIN);
if(StringUtils.isNotEmpty(smsAdmin) && smsAdmin.equals(code)){
return true;
}
SmsVerify one = this.getOne(Wrappers.lambdaQuery(SmsVerify.class)
.eq(SmsVerify::getType, codeEnum)
.eq(SmsVerify::getReceivePhone, mobile)
.eq(SmsVerify::getStatus, 1)
.gt(SmsVerify::getOverTime, LocalDateTime.now())
.orderByDesc(SmsVerify::getId)
.last("limit 1"));
if(one == null){
return false;
}
if(one.getVerifyCode().equals(code)){
return true;
}
// codeManager.check(codeEnum,mobile,code);
return false;
}
@Override
public void put(CodeEnum codeEnum,String mobile){
String clientIP = ServletUtils.getClientIP();
if(codeEnum == CodeEnum.RESET_PASSWORD){
boolean exists = userService.exists(Wrappers.lambdaQuery(User.class)
.eq(User::getMobile, mobile));
if(!exists){
throw new ServiceException("手机号未注册!");
}
}
LocalDateTime now = LocalDateTime.now();
SmsVerify one = this.getOne(Wrappers.lambdaQuery(SmsVerify.class)
.eq(SmsVerify::getType, codeEnum.name())
.eq(SmsVerify::getReceivePhone, mobile)
.eq(SmsVerify::getStatus, 1)
.gt(SmsVerify::getOverTime, now)
.last("limit 1"));
if(one != null){
long diff = one.getCreateTime().until(now, ChronoUnit.SECONDS);
if(diff < 100){
throw new ServiceException(""+(100-diff)+"秒之后再重试发送!");
}
}
long count = userLoginService.count(Wrappers.lambdaQuery(UserLogin.class).eq(UserLogin::getRegIp, clientIP));
if(count > 3){
throw new ServiceException("验证码发送失败2"+count);
}
String code = RandomUtil.randomNumbers(6);
SmsVerify smsVerify = new SmsVerify();
smsVerify.setType(codeEnum.name());
smsVerify.setReceivePhone(mobile);
smsVerify.setVerifyCode(code);
smsVerify.setSendInterface("阿里云");
smsVerify.setOperateIp(clientIP);
smsVerify.setOverTime(LocalDateTime.now().plus(1, ChronoUnit.MINUTES));
this.save(smsVerify);
boolean boo = aliSmsKit.sendMessage(mobile, codeEnum.getAliTemplate(), code, false);
if(!boo){
this.removeById(smsVerify);
}
}
@Override
public void clearSmsVerify(int days) {
int index = 0;
LocalDateTime deleteTimeFlag = LocalDateTime.now().plusDays(-days);
while (true){
List<SmsVerify> list = this.list(Wrappers.lambdaUpdate(SmsVerify.class)
.lt(SmsVerify::getCreateTime, deleteTimeFlag)
.last("limit 100"));
if(index > 500 || CollectionUtils.isEmpty(list)){
break;
}
index++;
List<Long> ids = list.stream().map(SmsVerify::getId).collect(Collectors.toList());
this.removeBatchByIds(ids);
}
}
}

View File

@@ -0,0 +1,20 @@
package com.ruoyi.xq.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.xq.domain.UserAuthAudit;
import com.ruoyi.xq.mapper.UserAuthAuditMapper;
import com.ruoyi.xq.service.UserAuthAuditService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
/**
* 用户认证审核Service业务层处理
*
* @author 77
* @date 2024-03-04
*/
@RequiredArgsConstructor
@Service
public class UserAuthAuditServiceImpl extends ServiceImpl<UserAuthAuditMapper,UserAuthAudit> implements UserAuthAuditService {
}

View File

@@ -0,0 +1,20 @@
package com.ruoyi.xq.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.xq.domain.UserAuth;
import com.ruoyi.xq.mapper.UserAuthMapper;
import com.ruoyi.xq.service.UserAuthService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
/**
* 用户认证管理Service业务层处理
*
* @author 77
* @date 2024-03-04
*/
@RequiredArgsConstructor
@Service
public class UserAuthServiceImpl extends ServiceImpl<UserAuthMapper,UserAuth> implements UserAuthService {
}

View File

@@ -0,0 +1,24 @@
package com.ruoyi.xq.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.xq.domain.UserCodeGen;
import com.ruoyi.xq.mapper.UserCodeGenMapper;
import com.ruoyi.xq.service.UserCodeGenService;
import org.springframework.stereotype.Service;
/**
* idService业务层处理
*
* @author 77
* @date 2023-12-21
*/
@Service
public class UserCodeGenServiceImpl extends ServiceImpl<UserCodeGenMapper, UserCodeGen> implements UserCodeGenService {
@Override
public String getCodeGen(){
UserCodeGen gen = new UserCodeGen();
this.save(gen);
return gen.getId()+"";
}
}

View File

@@ -0,0 +1,20 @@
package com.ruoyi.xq.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.xq.domain.UserInfoAudit;
import com.ruoyi.xq.mapper.UserInfoAuditMapper;
import com.ruoyi.xq.service.UserInfoAuditService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
/**
* 用户信息审核Service业务层处理
*
* @author 77
* @date 2024-03-04
*/
@RequiredArgsConstructor
@Service
public class UserInfoAuditServiceImpl extends ServiceImpl<UserInfoAuditMapper,UserInfoAudit> implements UserInfoAuditService {
}

View File

@@ -0,0 +1,20 @@
package com.ruoyi.xq.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.xq.domain.UserInfo;
import com.ruoyi.xq.mapper.UserInfoMapper;
import com.ruoyi.xq.service.UserInfoService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
/**
* 用户信息Service业务层处理
*
* @author 77
* @date 2024-03-04
*/
@RequiredArgsConstructor
@Service
public class UserInfoServiceImpl extends ServiceImpl<UserInfoMapper,UserInfo> implements UserInfoService {
}

View File

@@ -0,0 +1,20 @@
package com.ruoyi.xq.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.xq.domain.UserLogin;
import com.ruoyi.xq.mapper.UserLoginMapper;
import com.ruoyi.xq.service.UserLoginService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
/**
* 用户登陆Service业务层处理
*
* @author 77
* @date 2024-03-04
*/
@RequiredArgsConstructor
@Service
public class UserLoginServiceImpl extends ServiceImpl<UserLoginMapper,UserLogin> implements UserLoginService {
}

View File

@@ -0,0 +1,20 @@
package com.ruoyi.xq.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.xq.domain.UserPictures;
import com.ruoyi.xq.mapper.UserPicturesMapper;
import com.ruoyi.xq.service.UserPicturesService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
/**
* 用户相册管理Service业务层处理
*
* @author 77
* @date 2024-03-04
*/
@RequiredArgsConstructor
@Service
public class UserPicturesServiceImpl extends ServiceImpl<UserPicturesMapper,UserPictures> implements UserPicturesService {
}

View File

@@ -0,0 +1,45 @@
package com.ruoyi.xq.service.impl;
import cn.dev33.satoken.secure.BCrypt;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.xq.domain.User;
import com.ruoyi.xq.mapper.UserMapper;
import com.ruoyi.xq.service.UserService;
import lombok.RequiredArgsConstructor;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
/**
* 用户管理Service业务层处理
*
* @author 77
* @date 2024-03-04
*/
@RequiredArgsConstructor
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper,User> implements UserService {
@Override
public User getByUsername(String username) {
return this.getOne(Wrappers.lambdaQuery(User.class)
.eq(User::getMobile,username));
}
@Override
public void resetPassword(Long userId, String password) {
if(userId == null || StringUtils.isEmpty(password)){
throw new ServiceException("参数异常");
}
this.update(Wrappers.lambdaUpdate(User.class)
.eq(User::getId,userId)
.set(User::getPassword, BCrypt.hashpw(password)));
}
@Override
public User getByUsercode(String usercode) {
return this.getOne(Wrappers.lambdaQuery(User.class)
.eq(User::getUsercode,usercode).last("limit 1"));
}
}

View File

@@ -0,0 +1,20 @@
package com.ruoyi.xq.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.xq.domain.UserVip;
import com.ruoyi.xq.mapper.UserVipMapper;
import com.ruoyi.xq.service.UserVipService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
/**
* VIP用户Service业务层处理
*
* @author 77
* @date 2024-03-04
*/
@RequiredArgsConstructor
@Service
public class UserVipServiceImpl extends ServiceImpl<UserVipMapper,UserVip> implements UserVipService {
}

View File

@@ -0,0 +1,20 @@
package com.ruoyi.xq.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.xq.domain.UserWithdraw;
import com.ruoyi.xq.mapper.UserWithdrawMapper;
import com.ruoyi.xq.service.UserWithdrawService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
/**
* 用户提现审核Service业务层处理
*
* @author 77
* @date 2024-03-04
*/
@RequiredArgsConstructor
@Service
public class UserWithdrawServiceImpl extends ServiceImpl<UserWithdrawMapper,UserWithdraw> implements UserWithdrawService {
}

View File

@@ -0,0 +1,20 @@
package com.ruoyi.xq.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.xq.domain.VipOrder;
import com.ruoyi.xq.mapper.VipOrderMapper;
import com.ruoyi.xq.service.VipOrderService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
/**
* VIP订单Service业务层处理
*
* @author 77
* @date 2024-03-04
*/
@RequiredArgsConstructor
@Service
public class VipOrderServiceImpl extends ServiceImpl<VipOrderMapper,VipOrder> implements VipOrderService {
}

View File

@@ -0,0 +1,20 @@
package com.ruoyi.xq.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.xq.domain.VipPrice;
import com.ruoyi.xq.mapper.VipPriceMapper;
import com.ruoyi.xq.service.VipPriceService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
/**
* 会员价格设置Service业务层处理
*
* @author 77
* @date 2024-03-04
*/
@RequiredArgsConstructor
@Service
public class VipPriceServiceImpl extends ServiceImpl<VipPriceMapper,VipPrice> implements VipPriceService {
}

View File

@@ -0,0 +1,20 @@
package com.ruoyi.xq.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.xq.domain.WithdrawSetting;
import com.ruoyi.xq.mapper.WithdrawSettingMapper;
import com.ruoyi.xq.service.WithdrawSettingService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
/**
* 提现配置Service业务层处理
*
* @author 77
* @date 2024-03-04
*/
@RequiredArgsConstructor
@Service
public class WithdrawSettingServiceImpl extends ServiceImpl<WithdrawSettingMapper,WithdrawSetting> implements WithdrawSettingService {
}