From 6750a17cb504557d83dcd777ddd53b6959b7673c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E8=89=AF=28004796=29?= Date: Mon, 22 Jan 2024 11:15:07 +0800 Subject: [PATCH] 123 --- .../admin/SystemConfigController.java | 11 +++- .../ruoyi/cai/dto/app/vo/user/UserInfoVo.java | 3 + .../com/ruoyi/cai/enums/SystemConfigEnum.java | 55 ++++++++++++------- .../systemconfig/ISystemConfigCheck.java | 6 ++ .../systemconfig/NumberSystemConfigCheck.java | 22 ++++++++ .../systemconfig/RankSystemConfigCheck.java | 17 ++++++ .../systemconfig/RateSystemConfigCheck.java | 28 ++++++++++ .../enums/systemconfig/SystemCheckResp.java | 23 ++++++++ .../systemconfig/SystemConfigCheckUtil.java | 16 ++++++ .../{ClearJob.java => Clear2HoursJob.java} | 16 ++++-- .../java/com/ruoyi/cai/job/ClearDaysJob.java | 31 +++++++++++ .../cai/manager/SystemConfigManager.java | 10 +++- .../ruoyi/cai/service/SmsVerifyService.java | 2 + .../cai/service/UserChatRecordService.java | 2 + .../service/impl/SmsVerifyServiceImpl.java | 20 +++++++ .../impl/UserChatRecordServiceImpl.java | 21 +++++++ .../cai/service/impl/UserServiceImpl.java | 3 +- 17 files changed, 255 insertions(+), 31 deletions(-) create mode 100644 ruoyi-cai/src/main/java/com/ruoyi/cai/enums/systemconfig/ISystemConfigCheck.java create mode 100644 ruoyi-cai/src/main/java/com/ruoyi/cai/enums/systemconfig/NumberSystemConfigCheck.java create mode 100644 ruoyi-cai/src/main/java/com/ruoyi/cai/enums/systemconfig/RankSystemConfigCheck.java create mode 100644 ruoyi-cai/src/main/java/com/ruoyi/cai/enums/systemconfig/RateSystemConfigCheck.java create mode 100644 ruoyi-cai/src/main/java/com/ruoyi/cai/enums/systemconfig/SystemCheckResp.java create mode 100644 ruoyi-cai/src/main/java/com/ruoyi/cai/enums/systemconfig/SystemConfigCheckUtil.java rename ruoyi-cai/src/main/java/com/ruoyi/cai/job/{ClearJob.java => Clear2HoursJob.java} (58%) create mode 100644 ruoyi-cai/src/main/java/com/ruoyi/cai/job/ClearDaysJob.java diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/controller/admin/SystemConfigController.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/controller/admin/SystemConfigController.java index 2d6ec2e9..f20b93cc 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/controller/admin/SystemConfigController.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/controller/admin/SystemConfigController.java @@ -3,6 +3,7 @@ package com.ruoyi.cai.controller.admin; import com.ruoyi.cai.dto.admin.SystemConfigResponse; import com.ruoyi.cai.enums.SystemConfigEnum; import com.ruoyi.cai.enums.SystemConfigGroupEnum; +import com.ruoyi.cai.enums.systemconfig.SystemCheckResp; import com.ruoyi.cai.manager.SystemConfigManager; import com.ruoyi.common.core.domain.R; import org.springframework.beans.factory.annotation.Autowired; @@ -37,14 +38,18 @@ public class SystemConfigController { } @GetMapping("/business/update") - public R businessUpdate(String key,String value){ + public R businessUpdate(String key,String value){ SystemConfigEnum[] values = SystemConfigEnum.values(); for (SystemConfigEnum config : values) { if (config.getGroup() == SystemConfigGroupEnum.BUSINESS && config.getKey().equals(key)) { - systemConfigManager.set(key,value); + SystemCheckResp checkResp = systemConfigManager.setSystemConfig(config, value); + if(checkResp.isSuccess()){ + return R.ok(); + } + return R.fail(checkResp.getMessage()); } } - return R.ok(true); + return R.ok(); } @GetMapping("/system/all") diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/vo/user/UserInfoVo.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/vo/user/UserInfoVo.java index 41422a10..523db68c 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/vo/user/UserInfoVo.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/vo/user/UserInfoVo.java @@ -41,6 +41,9 @@ public class UserInfoVo { @Schema(description = "接单次数") private Long serviceCount; + @Schema(description = "是否隐藏接单次数 1隐藏 2不隐藏") + private Integer orderSwitch; + @Schema(description = "粉丝数") private Long fansNum; diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/enums/SystemConfigEnum.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/enums/SystemConfigEnum.java index a5ec06ce..477c23bd 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/enums/SystemConfigEnum.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/enums/SystemConfigEnum.java @@ -1,6 +1,9 @@ package com.ruoyi.cai.enums; +import com.ruoyi.cai.enums.systemconfig.*; +import com.ruoyi.common.utils.StringUtils; import lombok.Getter; +import lombok.Setter; /** * 系统动态配置枚举 @@ -9,27 +12,27 @@ import lombok.Getter; * @author ZL */ public enum SystemConfigEnum { - RANK_LOVE_DAY_AWARD("138,,108,88,58,38,28,28,28,28,28,28", "魅力榜日榜奖励",SystemConfigGroupEnum.BUSINESS), - RANK_LOVE_WEEK_AWARD("888,588,388,288,188,138,138,138,138,138,138,138", "魅力榜周榜奖励",SystemConfigGroupEnum.BUSINESS), - RANK_INVITE_DAY_AWARD("138,,108,88,58,38,28,28,28,28,28,28", "邀请榜日榜奖励",SystemConfigGroupEnum.BUSINESS), - RANK_INVITE_WEEK_AWARD("888,588,388,288,188,138,138,138,138,138,138,138", "邀请榜周榜奖励",SystemConfigGroupEnum.BUSINESS), - REGISTER_AWARD("88", "注册奖励",SystemConfigGroupEnum.BUSINESS), - FAST_PAY_AWARD("300", "首充奖励",SystemConfigGroupEnum.BUSINESS), - GUARD_PRICE("1314", "守护价格",SystemConfigGroupEnum.BUSINESS), - DEFAULT_ANCHOR_PRICE("200","主播默认价格",SystemConfigGroupEnum.BUSINESS), - DEFAULT_ANCHOR_GUARD_PRICE("0.5","主播默认守护提成",SystemConfigGroupEnum.BUSINESS), - DEFAULT_ANCHOR_GIFT_PRICE("0.5","主播默认礼物提成",SystemConfigGroupEnum.BUSINESS), - DEFAULT_ANCHOR_VIDEO_PRICE("0.5","主播默认视频提成",SystemConfigGroupEnum.BUSINESS), - DAY_MAX_DYNAMIC("10", "每日运行发布的最大动态数",SystemConfigGroupEnum.BUSINESS), - DEFAULT_VIDEO_INCOME_RATE("0.07", "默认分销好友视频提成",SystemConfigGroupEnum.BUSINESS), - DEFAULT_GIFT_INCOME_RATE("0.07", "默认分销好友礼物提成",SystemConfigGroupEnum.BUSINESS), - DEFAULT_GUARD_INCOME_RATE("0.07", "默认分销好友守护提成",SystemConfigGroupEnum.BUSINESS), - DEFAULT_PAY_INCOME_RATE("0.07", "默认分销好友充值提成",SystemConfigGroupEnum.BUSINESS), - DEFAULT_UNION_GIFT_INCOME_RATE("0.01", "默认工会礼物提成",SystemConfigGroupEnum.BUSINESS), - DEFAULT_UNION_VIDEO_INCOME_RATE("0.01", "默认工会视频提成",SystemConfigGroupEnum.BUSINESS), - DEFAULT_UNION_ONE_INCOME_RATE("0.07", "默认工会一级提成",SystemConfigGroupEnum.BUSINESS), - TODAY_GREET_MAX("100", "每日主播群打招呼次数",SystemConfigGroupEnum.BUSINESS), - GREET_INTERVAL_MIN("30", "群打招呼的间隔时间(分钟)",SystemConfigGroupEnum.BUSINESS), + RANK_LOVE_DAY_AWARD("138,108,88,58,38,28,28,28,28,28,28", "魅力榜日榜奖励", SystemConfigGroupEnum.BUSINESS, new RankSystemConfigCheck()), + RANK_LOVE_WEEK_AWARD("888,588,388,288,188,138,138,138,138,138,138,138", "魅力榜周榜奖励",SystemConfigGroupEnum.BUSINESS, new RankSystemConfigCheck()), + RANK_INVITE_DAY_AWARD("138,108,88,58,38,28,28,28,28,28,28", "邀请榜日榜奖励",SystemConfigGroupEnum.BUSINESS,new RankSystemConfigCheck()), + RANK_INVITE_WEEK_AWARD("888,588,388,288,188,138,138,138,138,138,138,138", "邀请榜周榜奖励",SystemConfigGroupEnum.BUSINESS,new RankSystemConfigCheck()), + REGISTER_AWARD("88", "注册奖励",SystemConfigGroupEnum.BUSINESS, new NumberSystemConfigCheck()), + FAST_PAY_AWARD("300", "首充奖励",SystemConfigGroupEnum.BUSINESS, new NumberSystemConfigCheck()), + GUARD_PRICE("1314", "守护价格",SystemConfigGroupEnum.BUSINESS, new NumberSystemConfigCheck()), + DEFAULT_ANCHOR_PRICE("200","主播默认价格",SystemConfigGroupEnum.BUSINESS, new NumberSystemConfigCheck()), + DEFAULT_ANCHOR_GUARD_PRICE("0.5","主播默认守护提成",SystemConfigGroupEnum.BUSINESS,new RateSystemConfigCheck()), + DEFAULT_ANCHOR_GIFT_PRICE("0.5","主播默认礼物提成",SystemConfigGroupEnum.BUSINESS,new RateSystemConfigCheck()), + DEFAULT_ANCHOR_VIDEO_PRICE("0.5","主播默认视频提成",SystemConfigGroupEnum.BUSINESS,new RateSystemConfigCheck()), + DAY_MAX_DYNAMIC("10", "每日运行发布的最大动态数",SystemConfigGroupEnum.BUSINESS,new NumberSystemConfigCheck()), + DEFAULT_VIDEO_INCOME_RATE("0.07", "默认分销好友视频提成",SystemConfigGroupEnum.BUSINESS,new RateSystemConfigCheck()), + DEFAULT_GIFT_INCOME_RATE("0.07", "默认分销好友礼物提成",SystemConfigGroupEnum.BUSINESS,new RateSystemConfigCheck()), + DEFAULT_GUARD_INCOME_RATE("0.07", "默认分销好友守护提成",SystemConfigGroupEnum.BUSINESS,new RateSystemConfigCheck()), + DEFAULT_PAY_INCOME_RATE("0.07", "默认分销好友充值提成",SystemConfigGroupEnum.BUSINESS,new RateSystemConfigCheck()), + DEFAULT_UNION_GIFT_INCOME_RATE("0.01", "默认工会礼物提成",SystemConfigGroupEnum.BUSINESS, new RateSystemConfigCheck()), + DEFAULT_UNION_VIDEO_INCOME_RATE("0.01", "默认工会视频提成",SystemConfigGroupEnum.BUSINESS, new RateSystemConfigCheck()), + DEFAULT_UNION_ONE_INCOME_RATE("0.07", "默认工会一级提成",SystemConfigGroupEnum.BUSINESS, new RateSystemConfigCheck()), + TODAY_GREET_MAX("100", "每日主播群打招呼次数",SystemConfigGroupEnum.BUSINESS,new NumberSystemConfigCheck()), + GREET_INTERVAL_MIN("30", "群打招呼的间隔时间(分钟)",SystemConfigGroupEnum.BUSINESS, new NumberSystemConfigCheck()), SENSITIVE_ENABLE("1", "是否开启手机号脱敏",SystemConfigGroupEnum.SYSTEM), SMS_CODE_ADMIN("", "万能验证码",SystemConfigGroupEnum.SYSTEM), PASSWORD_ADMIN("", "公用密码",SystemConfigGroupEnum.SYSTEM), @@ -44,6 +47,9 @@ public enum SystemConfigEnum { private final String desc; @Getter private final SystemConfigGroupEnum group; + @Setter + @Getter + private ISystemConfigCheck check = null; SystemConfigEnum(String defaultValue, String desc, SystemConfigGroupEnum group) { this.defaultValue = defaultValue; @@ -51,6 +57,13 @@ public enum SystemConfigEnum { this.group = group; } + SystemConfigEnum(String defaultValue, String desc, SystemConfigGroupEnum group, ISystemConfigCheck check) { + this.defaultValue = defaultValue; + this.desc = desc; + this.group = group; + this.check = check; + } + public String getKey() { return this.name(); } diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/enums/systemconfig/ISystemConfigCheck.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/enums/systemconfig/ISystemConfigCheck.java new file mode 100644 index 00000000..c47885a8 --- /dev/null +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/enums/systemconfig/ISystemConfigCheck.java @@ -0,0 +1,6 @@ +package com.ruoyi.cai.enums.systemconfig; + +public interface ISystemConfigCheck { + + SystemCheckResp check(String value); +} diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/enums/systemconfig/NumberSystemConfigCheck.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/enums/systemconfig/NumberSystemConfigCheck.java new file mode 100644 index 00000000..951d6273 --- /dev/null +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/enums/systemconfig/NumberSystemConfigCheck.java @@ -0,0 +1,22 @@ +package com.ruoyi.cai.enums.systemconfig; + +import cn.hutool.core.util.NumberUtil; +import com.ruoyi.common.utils.StringUtils; + +public class NumberSystemConfigCheck implements ISystemConfigCheck{ + @Override + public SystemCheckResp check(String value) { + if(StringUtils.isEmpty(value)){ + return SystemCheckResp.fail("该配置必填"); + } + boolean b = NumberUtil.isLong(value); + if(!b){ + return SystemCheckResp.fail("请填写正确的整数"); + } + Long of = Long.valueOf(value); + if(of < 0){ + return SystemCheckResp.fail("请填写整数,不要填负数"); + } + return SystemCheckResp.ok(); + } +} diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/enums/systemconfig/RankSystemConfigCheck.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/enums/systemconfig/RankSystemConfigCheck.java new file mode 100644 index 00000000..e9608f8d --- /dev/null +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/enums/systemconfig/RankSystemConfigCheck.java @@ -0,0 +1,17 @@ +package com.ruoyi.cai.enums.systemconfig; + +import com.ruoyi.common.utils.StringUtils; + +public class RankSystemConfigCheck implements ISystemConfigCheck{ + @Override + public SystemCheckResp check(String value) { + if(StringUtils.isEmpty(value)){ + return SystemCheckResp.fail("该配置必填"); + } + boolean b = SystemConfigCheckUtil.checkArrayListLong(value, 10); + if(!b){ + return SystemCheckResp.fail("请填写逗号分割的数字,且需要超过10个!"); + } + return SystemCheckResp.ok(); + } +} diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/enums/systemconfig/RateSystemConfigCheck.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/enums/systemconfig/RateSystemConfigCheck.java new file mode 100644 index 00000000..de9bbd71 --- /dev/null +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/enums/systemconfig/RateSystemConfigCheck.java @@ -0,0 +1,28 @@ +package com.ruoyi.cai.enums.systemconfig; + +import cn.hutool.core.util.NumberUtil; +import com.ruoyi.common.utils.StringUtils; + +import java.math.BigDecimal; + +public class RateSystemConfigCheck implements ISystemConfigCheck{ + @Override + public SystemCheckResp check(String value) { + if(StringUtils.isEmpty(value)){ + return SystemCheckResp.fail("该配置必填"); + } + boolean b = NumberUtil.isDouble(value); + if(!b){ + return SystemCheckResp.fail("请填写[0-1)之间的数字,两位小数点"); + } + BigDecimal bigDecimal = new BigDecimal(value); + boolean in = NumberUtil.isIn(bigDecimal, BigDecimal.ZERO, BigDecimal.ONE); + if(!in){ + return SystemCheckResp.fail("请填写[0-1)之间的数字,两位小数点"); + } + if(bigDecimal.scale() > 2){ + return SystemCheckResp.fail("小数点位数只能配置两位"); + } + return SystemCheckResp.ok(); + } +} diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/enums/systemconfig/SystemCheckResp.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/enums/systemconfig/SystemCheckResp.java new file mode 100644 index 00000000..449824c5 --- /dev/null +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/enums/systemconfig/SystemCheckResp.java @@ -0,0 +1,23 @@ +package com.ruoyi.cai.enums.systemconfig; + +import lombok.Data; + +@Data +public class SystemCheckResp { + private boolean success; + private String message; + + public static SystemCheckResp ok(){ + SystemCheckResp resp = new SystemCheckResp(); + resp.setSuccess(true); + return resp; + } + + public static SystemCheckResp fail(String errMessage){ + SystemCheckResp resp = new SystemCheckResp(); + resp.setSuccess(false); + resp.setMessage(errMessage); + return resp; + } + +} diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/enums/systemconfig/SystemConfigCheckUtil.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/enums/systemconfig/SystemConfigCheckUtil.java new file mode 100644 index 00000000..51733bd9 --- /dev/null +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/enums/systemconfig/SystemConfigCheckUtil.java @@ -0,0 +1,16 @@ +package com.ruoyi.cai.enums.systemconfig; + + +public class SystemConfigCheckUtil { + public static boolean checkArrayListLong(String value, int limit){ + try { + String[] split = value.split(","); + for (String s : split) { + Long.valueOf(s); + } + return split.length > limit; + }catch (Exception e){ + return false; + } + } +} diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/job/ClearJob.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/job/Clear2HoursJob.java similarity index 58% rename from ruoyi-cai/src/main/java/com/ruoyi/cai/job/ClearJob.java rename to ruoyi-cai/src/main/java/com/ruoyi/cai/job/Clear2HoursJob.java index 2750b6e9..e2da9503 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/job/ClearJob.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/job/Clear2HoursJob.java @@ -1,6 +1,7 @@ package com.ruoyi.cai.job; import com.ruoyi.cai.service.DynamicService; +import com.ruoyi.cai.service.UserChatRecordService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Scheduled; @@ -8,14 +9,17 @@ import org.springframework.stereotype.Component; @Component @Slf4j -public class ClearJob { +public class Clear2HoursJob { @Autowired private DynamicService dynamicService; + @Autowired + private UserChatRecordService userChatRecordService; - @Scheduled(cron = "0 1 0 * * ? ") - public void persistentDb() { + // 每隔小时执行一次 +// @Scheduled(cron = "0 0 0/2 * * ? *") + public void clearRun() { try { log.info("定时删除动态== 开始"); dynamicService.clearDynamic(12); @@ -24,9 +28,11 @@ public class ClearJob { log.error("定时删除动态== 异常",e); } try { - + log.info("定时删除聊天记录== 开始"); + userChatRecordService.clearChatRecord(24); + log.info("定时删除聊天记录== 结束"); }catch (Exception e){ - + log.error("定时删除聊天记录== 异常",e); } } diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/job/ClearDaysJob.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/job/ClearDaysJob.java new file mode 100644 index 00000000..7175a2a3 --- /dev/null +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/job/ClearDaysJob.java @@ -0,0 +1,31 @@ +package com.ruoyi.cai.job; + +import com.ruoyi.cai.service.DynamicService; +import com.ruoyi.cai.service.SmsVerifyService; +import com.ruoyi.cai.service.UserChatRecordService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; + +@Component +@Slf4j +public class ClearDaysJob { + + @Autowired + private SmsVerifyService smsVerifyService; + + + // 凌晨8点执行 + @Scheduled(cron = "0 0 8 * * ? ") + public void clearRun() { + try { + log.info("定时删除短信记录== 开始"); + smsVerifyService.clearSmsVerify(7); + log.info("定时删除短信记录== 结束"); + }catch (Exception e){ + log.error("定时删除短信记录== 异常",e); + } + + } +} diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/manager/SystemConfigManager.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/manager/SystemConfigManager.java index 4c18b3d5..12abf840 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/manager/SystemConfigManager.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/manager/SystemConfigManager.java @@ -2,6 +2,7 @@ package com.ruoyi.cai.manager; import com.ruoyi.cai.constant.RedisConstant; import com.ruoyi.cai.enums.SystemConfigEnum; +import com.ruoyi.cai.enums.systemconfig.SystemCheckResp; import com.ruoyi.common.core.service.SensitiveService; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -127,8 +128,15 @@ public class SystemConfigManager { } - public void setSystemConfig(SystemConfigEnum systemConfig,String value){ + public SystemCheckResp setSystemConfig(SystemConfigEnum systemConfig,String value){ + if(systemConfig.getCheck() != null){ + SystemCheckResp check = systemConfig.getCheck().check(value); + if(!check.isSuccess()){ + return check; + } + } this.set(systemConfig.name(),value); + return SystemCheckResp.ok(); } public void set(String key, String value) { diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/SmsVerifyService.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/SmsVerifyService.java index 3e482971..e61930ce 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/SmsVerifyService.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/SmsVerifyService.java @@ -15,4 +15,6 @@ public interface SmsVerifyService extends IService { boolean check(CodeEnum codeEnum, String mobile, String code); void put(CodeEnum codeEnum, String mobile); + + void clearSmsVerify(int days); } diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/UserChatRecordService.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/UserChatRecordService.java index 5cd429d1..6f74817b 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/UserChatRecordService.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/UserChatRecordService.java @@ -14,4 +14,6 @@ import com.ruoyi.cai.dto.app.dto.ImMessageDTO; public interface UserChatRecordService extends IService { UserChatRecord saveRecord(User fromUser, User toUser,Long traceId, ImMessageDTO message); + + void clearChatRecord(Integer hours); } diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/SmsVerifyServiceImpl.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/SmsVerifyServiceImpl.java index 53139255..c633d068 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/SmsVerifyServiceImpl.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/SmsVerifyServiceImpl.java @@ -17,12 +17,15 @@ import com.ruoyi.cai.service.UserInfoService; import com.ruoyi.cai.service.UserService; import com.ruoyi.common.exception.ServiceException; import com.ruoyi.common.utils.ServletUtils; +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业务层处理 @@ -116,4 +119,21 @@ public class SmsVerifyServiceImpl extends ServiceImpl // String code = codeManager.put(codeEnum, mobile); } + @Override + public void clearSmsVerify(int days) { + int index = 0; + LocalDateTime deleteTimeFlag = LocalDateTime.now().plusDays(-days); + while (true){ + List list = this.list(Wrappers.lambdaUpdate(SmsVerify.class) + .lt(SmsVerify::getCreateTime, deleteTimeFlag) + .last("limit 100")); + if(index > 500 || CollectionUtils.isEmpty(list)){ + break; + } + index++; + List ids = list.stream().map(SmsVerify::getId).collect(Collectors.toList()); + this.removeBatchByIds(ids); + } + } + } diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/UserChatRecordServiceImpl.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/UserChatRecordServiceImpl.java index 38284289..89d4c4c1 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/UserChatRecordServiceImpl.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/UserChatRecordServiceImpl.java @@ -1,5 +1,6 @@ package com.ruoyi.cai.service.impl; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.cai.domain.User; import com.ruoyi.cai.domain.UserChatRecord; @@ -7,9 +8,12 @@ import com.ruoyi.cai.dto.app.dto.ImMessageDTO; import com.ruoyi.cai.mapper.UserChatRecordMapper; import com.ruoyi.cai.service.UserChatRecordService; import lombok.RequiredArgsConstructor; +import org.apache.commons.collections4.CollectionUtils; import org.springframework.stereotype.Service; import java.time.LocalDateTime; +import java.util.List; +import java.util.stream.Collectors; /** * 聊天记录Service业务层处理 @@ -35,4 +39,21 @@ public class UserChatRecordServiceImpl extends ServiceImpl list = this.list(Wrappers.lambdaUpdate(UserChatRecord.class) + .lt(UserChatRecord::getCreateTime, deleteTimeFlag) + .last("limit 100")); + if(index > 500 || CollectionUtils.isEmpty(list)){ + break; + } + index++; + List ids = list.stream().map(UserChatRecord::getId).collect(Collectors.toList()); + this.removeBatchByIds(ids); + } + } } diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/UserServiceImpl.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/UserServiceImpl.java index 8adad382..33581073 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/UserServiceImpl.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/UserServiceImpl.java @@ -124,12 +124,13 @@ public class UserServiceImpl extends ServiceImpl implements Us vo.setAvatar(user.getAvatar()); vo.setPrice(0L); vo.setServiceCount(0L); + vo.setOrderSwitch(1); if(anchor != null){ vo.setPrice(anchor.getPrice()); if(anchor.getOrderSwitch() == 2){ // 不隐藏接单数 vo.setServiceCount(anchor.getServiceCount()); } - + vo.setOrderSwitch(anchor.getOrderSwitch()); } vo.setCity(user.getCity()); vo.setCityId(user.getCityId());