From daa70d3f20a351c6befec63d95d82ca0c5d0bfeb Mon Sep 17 00:00:00 2001 From: tangwei Date: Wed, 29 Apr 2026 09:31:08 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BC=98=E5=8C=96=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/FishDraftDataServiceImpl.java | 5 ++-- .../system/controller/UserController.java | 16 ++++++++----- .../system/service/ISmsVerifyCodeService.java | 9 +++++++ .../platform/system/service/IUserService.java | 2 +- .../impl/SmsVerifyCodeServiceImpl.java | 24 +++++++++++++++++++ .../system/service/impl/UserServiceImpl.java | 8 +++---- .../com/yfd/platform/utils/SecurityUtils.java | 14 +++++++++++ backend/src/main/resources/application.yml | 2 +- 8 files changed, 65 insertions(+), 15 deletions(-) diff --git a/backend/src/main/java/com/yfd/platform/data/service/impl/FishDraftDataServiceImpl.java b/backend/src/main/java/com/yfd/platform/data/service/impl/FishDraftDataServiceImpl.java index 86961e7..6594175 100644 --- a/backend/src/main/java/com/yfd/platform/data/service/impl/FishDraftDataServiceImpl.java +++ b/backend/src/main/java/com/yfd/platform/data/service/impl/FishDraftDataServiceImpl.java @@ -22,6 +22,7 @@ import com.yfd.platform.utils.QgcQueryWrapperUtil; import com.yfd.platform.utils.SecurityUtils; import com.fasterxml.jackson.databind.ObjectMapper; import jakarta.annotation.Resource; +import org.springframework.security.core.GrantedAuthority; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.StringUtils; @@ -67,9 +68,7 @@ public class FishDraftDataServiceImpl extends ServiceImpl { * 生成6位数字验证码 */ String generateCode(); + + /** + * 发送审核结果通知短信 + * @param phone 手机号 + * @param auditStatus 审核状态 1-通过 2-驳回 + * @param reason 驳回原因(可选) + * @return 是否发送成功 + */ + boolean sendAuditNotify(String phone, Integer auditStatus, String reason); } \ No newline at end of file diff --git a/backend/src/main/java/com/yfd/platform/system/service/IUserService.java b/backend/src/main/java/com/yfd/platform/system/service/IUserService.java index 9d7f66e..ad95d1d 100644 --- a/backend/src/main/java/com/yfd/platform/system/service/IUserService.java +++ b/backend/src/main/java/com/yfd/platform/system/service/IUserService.java @@ -101,7 +101,7 @@ public interface IUserService extends IService { *id 重置密码的 用户id * 返回值说明: 判断是否重置成功 ************************************/ - boolean resetPassword(String id) throws Exception; + ResponseResult resetPassword(String id) throws Exception; /*********************************** * 用途说明:设置账号状态(管理员) diff --git a/backend/src/main/java/com/yfd/platform/system/service/impl/SmsVerifyCodeServiceImpl.java b/backend/src/main/java/com/yfd/platform/system/service/impl/SmsVerifyCodeServiceImpl.java index 2b939eb..2c9b072 100644 --- a/backend/src/main/java/com/yfd/platform/system/service/impl/SmsVerifyCodeServiceImpl.java +++ b/backend/src/main/java/com/yfd/platform/system/service/impl/SmsVerifyCodeServiceImpl.java @@ -96,4 +96,28 @@ public class SmsVerifyCodeServiceImpl extends ServiceImpl impleme * 返回值说明: 判断是重置成功 ************************************/ @Override - public boolean resetPassword(String id) throws Exception { - boolean isOk = false; + public ResponseResult resetPassword(String id) throws Exception { //根据当前用户id 查询角色表的级别 currentUser.getUser() 获取当前用户id String level = sysUserMapper.getMaxLevel(id); //判断是否获取级别 @@ -443,10 +442,11 @@ public class UserServiceImpl extends ServiceImpl impleme new Timestamp(System.currentTimeMillis())).set( "lastmodifier", getUsername()); //是否修改成功 - isOk = this.update(updateWrapper); + this.update(updateWrapper); + return ResponseResult.success("重置密码成功"); } } - return isOk; + return ResponseResult.error(); } /*********************************** diff --git a/backend/src/main/java/com/yfd/platform/utils/SecurityUtils.java b/backend/src/main/java/com/yfd/platform/utils/SecurityUtils.java index 4e8f518..8d667c1 100644 --- a/backend/src/main/java/com/yfd/platform/utils/SecurityUtils.java +++ b/backend/src/main/java/com/yfd/platform/utils/SecurityUtils.java @@ -22,10 +22,12 @@ import com.yfd.platform.exception.BadRequestException; import lombok.extern.slf4j.Slf4j; import org.springframework.http.HttpStatus; import org.springframework.security.core.Authentication; +import org.springframework.security.core.GrantedAuthority; import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.security.core.userdetails.UserDetails; import org.springframework.security.core.userdetails.UserDetailsService; +import java.util.Collection; import java.util.List; /** @@ -91,4 +93,16 @@ public class SecurityUtils { return JSONUtil.toList(array,Long.class); } + // 在 SecurityUtils.java 中 + public static boolean hasPermission(String permission) { + Authentication authentication = SecurityContextHolder.getContext().getAuthentication(); + if (authentication == null || !authentication.isAuthenticated()) { + return false; + } + + Collection authorities = authentication.getAuthorities(); + return authorities != null && authorities.stream() + .anyMatch(auth -> permission.equals(auth.getAuthority())); + } + } diff --git a/backend/src/main/resources/application.yml b/backend/src/main/resources/application.yml index f3b5aa4..cfbf0b8 100644 --- a/backend/src/main/resources/application.yml +++ b/backend/src/main/resources/application.yml @@ -1,6 +1,6 @@ spring: profiles: - active: prod + active: devtw jasypt: encryptor: