hejianhao
2026-09-01 587391ed908f11c8f8f735575bc1425346d05bb2
fix0901: 修复问题1
6个文件已修改
43 ■■■■■ 已修改文件
tcm-training-admin-backend/src/main/java/com/tcm/training/admin/agent/controller/ProvincialAgentController.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
tcm-training-admin-backend/src/main/java/com/tcm/training/admin/live/controller/LiveCourseController.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
tcm-training-admin-backend/src/main/java/com/tcm/training/admin/live/controller/LiveRoomSettingController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
tcm-training-admin-backend/src/main/java/com/tcm/training/admin/live/controller/ProjectIntroductionController.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
tcm-training-admin-backend/src/main/java/com/tcm/training/admin/member/controller/ClinicController.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
tcm-training-admin-backend/src/main/java/com/tcm/training/admin/member/controller/UserController.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
tcm-training-admin-backend/src/main/java/com/tcm/training/admin/agent/controller/ProvincialAgentController.java
@@ -6,6 +6,7 @@
import com.tcm.training.admin.agent.vo.ProvincialAgentListItemVO;
import com.tcm.training.admin.common.ApiResponse;
import com.tcm.training.admin.common.PageResponse;
import cn.dev33.satoken.annotation.SaCheckPermission;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@@ -22,26 +23,31 @@
    }
    @GetMapping("/provincial-agents")
    @SaCheckPermission("agent:provincial:view")
    public ApiResponse<PageResponse<ProvincialAgentListItemVO>> page(@RequestParam(defaultValue = "1") int page, @RequestParam(defaultValue = "10") int pageSize, @RequestParam(required = false) String regionCode, @RequestParam(required = false) String clinicName, @RequestParam(required = false) String contactInfo, @RequestParam(required = false) Integer status) {
        return ApiResponse.ok(service.page(page, pageSize, regionCode, clinicName, contactInfo, status));
    }
    @GetMapping("/provincial-agents/{id}")
    @SaCheckPermission("agent:provincial:view")
    public ApiResponse<ProvincialAgentDetailVO> detail(@PathVariable Long id) {
        return ApiResponse.ok(service.detail(id));
    }
    @PostMapping("/provincial-agents")
    @SaCheckPermission("agent:provincial:add")
    public ApiResponse<ProvincialAgentDetailVO> create(@Valid @RequestBody ProvincialAgentSaveRequest r) {
        return ApiResponse.ok(service.create(r));
    }
    @PutMapping("/provincial-agents/{id}")
    @SaCheckPermission("agent:provincial:edit")
    public ApiResponse<ProvincialAgentDetailVO> update(@PathVariable Long id, @Valid @RequestBody ProvincialAgentSaveRequest r) {
        return ApiResponse.ok(service.update(id, r));
    }
    @DeleteMapping("/provincial-agents/{id}")
    @SaCheckPermission("agent:provincial:delete")
    public ApiResponse<Void> delete(@PathVariable Long id) {
        service.delete(id);
        return ApiResponse.ok(null);
tcm-training-admin-backend/src/main/java/com/tcm/training/admin/live/controller/LiveCourseController.java
@@ -2,6 +2,7 @@
import com.tcm.training.admin.common.ApiResponse;
import com.tcm.training.admin.common.PageResponse;
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.tcm.training.admin.live.dto.LiveCourseStatusRequest;
import com.tcm.training.admin.live.dto.LiveCourseUpsertRequest;
import com.tcm.training.admin.live.dto.LiveCoursePasswordRequest;
@@ -35,6 +36,7 @@
    }
    @GetMapping("/live-courses")
    @SaCheckPermission("live:course:view")
    public ApiResponse<PageResponse<LiveCourseListItemVO>> page(@RequestParam(required = false, defaultValue = "1") int page,
                                                                @RequestParam(required = false, defaultValue = "10") int pageSize,
                                                                @RequestParam(required = false) String keyword,
@@ -45,26 +47,31 @@
    }
    @PostMapping("/live-courses")
    @SaCheckPermission("live:course:add")
    public ApiResponse<LiveCourseDetailVO> create(@Valid @RequestBody LiveCourseUpsertRequest req) {
        return ApiResponse.ok(liveCourseAppService.create(req));
    }
    @GetMapping("/live-courses/{id}")
    @SaCheckPermission("live:course:view")
    public ApiResponse<LiveCourseDetailVO> detail(@PathVariable("id") Long id) {
        return ApiResponse.ok(liveCourseAppService.detail(id));
    }
    @PutMapping("/live-courses/{id}")
    @SaCheckPermission("live:course:edit")
    public ApiResponse<LiveCourseDetailVO> update(@PathVariable("id") Long id, @Valid @RequestBody LiveCourseUpsertRequest req) {
        return ApiResponse.ok(liveCourseAppService.update(id, req));
    }
    @PatchMapping("/live-courses/{id}/status")
    @SaCheckPermission("live:course:edit")
    public ApiResponse<LiveCourseStatusVO> patchStatus(@PathVariable("id") Long id, @Valid @RequestBody LiveCourseStatusRequest req) {
        return ApiResponse.ok(liveCourseAppService.patchStatus(id, req));
    }
    @PutMapping("/live-courses/{id}/password")
    @SaCheckPermission("live:course:edit")
    public ApiResponse<Void> updatePassword(@PathVariable("id") Long id, @RequestBody LiveCoursePasswordRequest req) {
        liveCourseAppService.updatePassword(id, req);
        return ApiResponse.ok(null);
@@ -72,6 +79,7 @@
    @DeleteMapping("/live-courses/{id}")
    @SaCheckPermission("live:course:delete")
    public ApiResponse<Void> delete(@PathVariable("id") Long id) {
        liveCourseAppService.delete(id);
        return ApiResponse.ok(null);
tcm-training-admin-backend/src/main/java/com/tcm/training/admin/live/controller/LiveRoomSettingController.java
@@ -1,6 +1,7 @@
package com.tcm.training.admin.live.controller;
import com.tcm.training.admin.common.ApiResponse;
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.tcm.training.admin.live.dto.LiveRoomSettingSaveRequest;
import com.tcm.training.admin.live.service.LiveRoomSettingService;
import com.tcm.training.admin.live.vo.LiveRoomSettingVO;
@@ -24,11 +25,13 @@
    }
    @GetMapping("/live-room-settings/current")
    @SaCheckPermission("live:room-setting:view")
    public ApiResponse<LiveRoomSettingVO> current() {
        return ApiResponse.ok(service.current());
    }
    @PutMapping("/live-room-settings/current")
    @SaCheckPermission("live:room-setting:edit")
    public ApiResponse<LiveRoomSettingVO> save(@Valid @RequestBody LiveRoomSettingSaveRequest request) {
        return ApiResponse.ok(service.save(request));
    }
tcm-training-admin-backend/src/main/java/com/tcm/training/admin/live/controller/ProjectIntroductionController.java
@@ -2,6 +2,7 @@
import com.tcm.training.admin.common.ApiResponse;
import com.tcm.training.admin.common.PageResponse;
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.tcm.training.admin.live.dto.ProjectIntroductionSaveRequest;
import com.tcm.training.admin.live.service.ProjectIntroductionAppService;
import com.tcm.training.admin.live.vo.ProjectIntroductionDetailVO;
@@ -31,6 +32,7 @@
    }
    @GetMapping("/project-introductions")
    @SaCheckPermission("content:project-intro:view")
    public ApiResponse<PageResponse<ProjectIntroductionListItemVO>> page(@RequestParam(required = false, defaultValue = "1") int page,
                                                                          @RequestParam(required = false, defaultValue = "10") int pageSize,
                                                                          @RequestParam(required = false) String keyword,
@@ -41,22 +43,26 @@
    }
    @GetMapping("/project-introductions/{id}")
    @SaCheckPermission("content:project-intro:view")
    public ApiResponse<ProjectIntroductionDetailVO> detail(@PathVariable("id") Long id) {
        return ApiResponse.ok(projectIntroductionAppService.detail(id));
    }
    @PostMapping("/project-introductions")
    @SaCheckPermission("content:project-intro:add")
    public ApiResponse<ProjectIntroductionDetailVO> create(@Valid @RequestBody ProjectIntroductionSaveRequest req) {
        return ApiResponse.ok(projectIntroductionAppService.create(req));
    }
    @PutMapping("/project-introductions/{id}")
    @SaCheckPermission("content:project-intro:edit")
    public ApiResponse<ProjectIntroductionDetailVO> update(@PathVariable("id") Long id,
                                                            @Valid @RequestBody ProjectIntroductionSaveRequest req) {
        return ApiResponse.ok(projectIntroductionAppService.update(id, req));
    }
    @DeleteMapping("/project-introductions/{id}")
    @SaCheckPermission("content:project-intro:delete")
    public ApiResponse<Void> delete(@PathVariable("id") Long id) {
        projectIntroductionAppService.delete(id);
        return ApiResponse.ok(null);
tcm-training-admin-backend/src/main/java/com/tcm/training/admin/member/controller/ClinicController.java
@@ -2,6 +2,7 @@
import com.tcm.training.admin.common.ApiResponse;
import com.tcm.training.admin.common.PageResponse;
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.tcm.training.admin.member.service.ClinicAppService;
import com.tcm.training.admin.member.dto.ClinicBankAccountUpdateRequest;
import com.tcm.training.admin.member.vo.ClinicBoundUserItemVO;
@@ -38,6 +39,7 @@
    }
    @GetMapping("/clinics")
    @SaCheckPermission("member:clinic:view")
    public ApiResponse<PageResponse<ClinicListItemVO>> page(
            @RequestParam(defaultValue = "1") int page,
            @RequestParam(defaultValue = "10") int pageSize,
@@ -52,16 +54,19 @@
    }
    @GetMapping("/clinics/clinic-import-template")
    @SaCheckPermission("member:clinic:view")
    public void downloadClinicImportTemplate(HttpServletResponse response) throws IOException {
        clinicAppService.downloadClinicImportTemplate(response);
    }
    @PostMapping("/clinics/agent-bindings/import")
    @SaCheckPermission("member:clinic:edit")
    public ApiResponse<Void> importAgentBindings(@RequestParam("file") MultipartFile file) throws IOException {
        clinicAppService.importAgentBindings(file);
        return ApiResponse.ok(null);
    }
    @GetMapping("/clinics/export")
    @SaCheckPermission("member:clinic:view")
    public void export(HttpServletResponse response,
                       @RequestParam(required = false) String regionCode,
                       @RequestParam(required = false) String name,
@@ -74,21 +79,25 @@
    }
    @GetMapping("/clinics/regions")
    @SaCheckPermission("member:clinic:view")
    public ApiResponse<List<ClinicRegionOptionVO>> regionOptions() {
        return ApiResponse.ok(clinicAppService.regionOptions());
    }
    @GetMapping("/clinics/{id}")
    @SaCheckPermission("member:clinic:view")
    public ApiResponse<ClinicDetailVO> detail(@PathVariable Long id) {
        return ApiResponse.ok(clinicAppService.detail(id));
    }
    @PutMapping("/clinics/{id}")
    @SaCheckPermission("member:clinic:edit")
    public ApiResponse<ClinicDetailVO> update(@PathVariable Long id,
                                               @Valid @RequestBody ClinicBankAccountUpdateRequest request) {
        return ApiResponse.ok(clinicAppService.updateBankAccount(id, request));
    }
    @GetMapping("/clinics/{id}/users")
    @SaCheckPermission("member:clinic:view")
    public ApiResponse<PageResponse<ClinicBoundUserItemVO>> clinicUsers(
            @PathVariable Long id,
            @RequestParam(defaultValue = "1") int page,
tcm-training-admin-backend/src/main/java/com/tcm/training/admin/member/controller/UserController.java
@@ -2,6 +2,7 @@
import com.tcm.training.admin.common.ApiResponse;
import com.tcm.training.admin.common.PageResponse;
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.tcm.training.admin.member.dto.UserBatchClinicUpdateRequest;
import com.tcm.training.admin.member.dto.UserResetPasswordRequest;
import com.tcm.training.admin.member.dto.UserStatusRequest;
@@ -42,6 +43,7 @@
    }
    @GetMapping("/users")
    @SaCheckPermission("member:user:view")
    public ApiResponse<PageResponse<UserListItemVO>> page(
            @RequestParam(defaultValue = "1") int page,
            @RequestParam(defaultValue = "10") int pageSize,
@@ -62,6 +64,7 @@
    }
    @GetMapping("/users/export")
    @SaCheckPermission("member:user:view")
    public void export(
            HttpServletResponse response,
            @RequestParam(required = false) String nickname,
@@ -81,44 +84,52 @@
    }
    @GetMapping("/users/{id}")
    @SaCheckPermission("member:user:view")
    public ApiResponse<UserDetailVO> detail(@PathVariable Long id) {
        return ApiResponse.ok(userAppService.detail(id));
    }
    @PutMapping("/users/batch-clinic")
    @SaCheckPermission("member:user:edit")
    public ApiResponse<Void> batchUpdateClinic(@Valid @RequestBody UserBatchClinicUpdateRequest req) {
        userAppService.batchUpdateClinic(req);
        return ApiResponse.ok(null);
    }
    @PutMapping("/users/{id}")
    @SaCheckPermission("member:user:edit")
    public ApiResponse<UserDetailVO> update(@PathVariable Long id, @Valid @RequestBody UserUpdateRequest req) {
        return ApiResponse.ok(userAppService.update(id, req));
    }
    @PatchMapping("/users/{id}/status")
    @SaCheckPermission("member:user:edit")
    public ApiResponse<UserStatusVO> patchStatus(@PathVariable Long id, @Valid @RequestBody UserStatusRequest req) {
        return ApiResponse.ok(userAppService.patchStatus(id, req));
    }
    @PostMapping("/users/{id}/reset-password")
    @SaCheckPermission("member:user:edit")
    public ApiResponse<Void> resetPassword(@PathVariable Long id, @Valid @RequestBody UserResetPasswordRequest req) {
        userAppService.resetPassword(id, req);
        return ApiResponse.ok(null);
    }
    @DeleteMapping("/users/{id}")
    @SaCheckPermission("member:user:delete")
    public ApiResponse<Void> delete(@PathVariable Long id) {
        userAppService.delete(id);
        return ApiResponse.ok(null);
    }
    @DeleteMapping("/users/{id}/wechat-binding")
    @SaCheckPermission("member:user:edit")
    public ApiResponse<UserDetailVO> unbindWechat(@PathVariable Long id) {
        return ApiResponse.ok(userAppService.unbindWechat(id));
    }
    @GetMapping("/clinics/options")
    @SaCheckPermission("member:user:view")
    public ApiResponse<List<ClinicOptionVO>> clinicOptions() {
        return ApiResponse.ok(userAppService.listClinicOptions());
    }