From 6342a3c777f77a5c6cb41d0881c5bf82edebaa1f Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期一, 19 八月 2024 18:04:19 +0800 Subject: [PATCH] 账号注销 --- ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java | 20 ++++++++++ ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/enums/status/AppUserStatusEnum.java | 46 +++++++++++++++++++++++ 2 files changed, 66 insertions(+), 0 deletions(-) diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/enums/status/AppUserStatusEnum.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/enums/status/AppUserStatusEnum.java new file mode 100644 index 0000000..a9d6f08 --- /dev/null +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/enums/status/AppUserStatusEnum.java @@ -0,0 +1,46 @@ +package com.ruoyi.common.core.enums.status; + +import lombok.Getter; + +/** + * @Description + * @Author xiaochen + * @Date 2023/6/8 16:42 + */ +public enum AppUserStatusEnum { + + + NORMAL(1, "正常"), + FREEZE(2, "冻结"), + LOGOFF(3, "注销"); + + @Getter + private String desc; + + + @Getter + private int code; + + + AppUserStatusEnum(int code, String desc) { + this.code = code; + this.desc = desc; + } + + /** + * 通过code获取枚举 + * + * @param code + * @return + */ + public static AppUserStatusEnum fromCode(Integer code) { + AppUserStatusEnum[] resultTypes = AppUserStatusEnum.values(); + for (AppUserStatusEnum resultType : resultTypes) { + if (code.equals(resultType.getCode())) { + return resultType; + } + } + return null; + } + +} diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java index 6915db6..88ebf05 100644 --- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java +++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java @@ -18,6 +18,8 @@ import com.ruoyi.account.util.GiveVipUtil; import com.ruoyi.common.core.constant.Constants; import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.core.enums.status.AppUserStatusEnum; +import com.ruoyi.common.core.utils.JwtUtils; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.core.utils.bean.BeanUtils; import com.ruoyi.common.core.web.domain.AjaxResult; @@ -25,7 +27,9 @@ import com.ruoyi.common.core.web.page.PageInfo; import com.ruoyi.common.redis.service.RedisService; import com.ruoyi.common.security.annotation.RequiresPermissions; +import com.ruoyi.common.security.auth.AuthUtil; import com.ruoyi.common.security.service.TokenService; +import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.order.api.feignClient.ChargingOrderClient; import com.ruoyi.order.api.feignClient.ExchangeOrderClient; import com.ruoyi.order.api.model.TChargingOrder; @@ -48,6 +52,7 @@ import org.springframework.web.client.RestTemplate; import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; import java.time.Duration; import java.time.LocalDate; import java.time.LocalDateTime; @@ -461,6 +466,21 @@ return AjaxResult.success(); } + @ApiOperation(value = "注销接口", tags = {"小程序-用户管理-注销账号"}) + @DeleteMapping("/logoff") + public AjaxResult<?> logoff(HttpServletRequest request) { + String token = SecurityUtils.getToken(request); + if (StringUtils.isNotEmpty(token)) + { + String userId = JwtUtils.getUserId(token); + // 账号注销 + appUserService.update(Wrappers.<TAppUser>lambdaUpdate().set(TAppUser::getStatus, AppUserStatusEnum.LOGOFF.getCode()).eq(TAppUser::getId, userId)); + // 删除用户缓存记录 + AuthUtil.logoutByToken(token); + } + return AjaxResult.success(); + } + /** * 根据用户id查询用户信息 * @param appUserIds 用户id -- Gitblit v1.7.1