From 700f9d0da314a4ea701fe9f68d305b67d72ec5fb Mon Sep 17 00:00:00 2001
From: longz <longzhaoz@qq.com>
Date: 星期三, 08 七月 2026 15:08:37 +0800
Subject: [PATCH] 各类修复fix

---
 backend/src/main/java/com/sinata/appointment/controller/MiniAuthController.java |   30 +++++++++++++++++++++++++++++-
 1 files changed, 29 insertions(+), 1 deletions(-)

diff --git a/backend/src/main/java/com/sinata/appointment/controller/MiniAuthController.java b/backend/src/main/java/com/sinata/appointment/controller/MiniAuthController.java
index 324f6e0..ac80551 100644
--- a/backend/src/main/java/com/sinata/appointment/controller/MiniAuthController.java
+++ b/backend/src/main/java/com/sinata/appointment/controller/MiniAuthController.java
@@ -3,6 +3,9 @@
 import com.sinata.appointment.common.Result;
 import com.sinata.appointment.common.ResultUtil;
 import com.sinata.appointment.dto.MiniLoginResponse;
+import com.sinata.appointment.dto.MiniOfficialBindPhoneRequest;
+import com.sinata.appointment.dto.MiniOfficialLoginRequest;
+import com.sinata.appointment.dto.MiniOfficialLoginResponse;
 import com.sinata.appointment.dto.MiniPhoneLoginRequest;
 import com.sinata.appointment.dto.MiniProfileUpdateRequest;
 import com.sinata.appointment.dto.MiniWxLoginRequest;
@@ -51,6 +54,31 @@
         return ResultUtil.data(miniAuthApplicationService.loginByPhone(request.getMobile()));
     }
 
+    @Operation(summary = "公众号静默授权地址")
+    @GetMapping("/official-oauth-url")
+    public Result<Map<String, String>> officialOAuthUrl(
+            @RequestParam("redirectUri") String redirectUri,
+            @RequestParam(value = "state", required = false) String state) {
+        return ResultUtil.data(
+                Map.of("url", miniAuthApplicationService.buildOfficialOAuthUrl(redirectUri, state)));
+    }
+
+    @Operation(summary = "公众号静默授权登录")
+    @PostMapping("/official-login")
+    public Result<MiniOfficialLoginResponse> officialLogin(
+            @Valid @RequestBody MiniOfficialLoginRequest request) {
+        return ResultUtil.data(miniAuthApplicationService.loginByOfficialCode(request.getCode()));
+    }
+
+    @Operation(summary = "公众号首次登录手机号绑定")
+    @PostMapping("/official-bind-phone")
+    public Result<MiniLoginResponse> officialBindPhone(
+            @Valid @RequestBody MiniOfficialBindPhoneRequest request) {
+        return ResultUtil.data(
+                miniAuthApplicationService.bindOfficialPhoneAndLogin(
+                        request.getBindToken(), request.getMobile()));
+    }
+
     @Operation(summary = "当前小程序用户")
     @GetMapping("/me")
     public Result<Map<String, Object>> me() {
@@ -84,7 +112,7 @@
         m.put("deptId", u.getDeptId());
         SysDept dept = u.getDeptId() == null ? null : sysDeptMapper.selectById(u.getDeptId());
         m.put("deptName", dept == null ? null : dept.getDeptName());
-        m.put("deptLeaderFlag", Boolean.TRUE.equals(u.getDeptLeaderFlag()));
+        m.put("deptLeaderFlag", false);
         m.put("nickName", u.getNickName());
         m.put("avatarUrl", u.getAvatarUrl());
         m.put("mobile", u.getMobile());

--
Gitblit v1.7.1