From 983d0f098dd3610fc92c6a5ae5114db5652f8a8d Mon Sep 17 00:00:00 2001 From: wucongxing8150 <815046773@qq.com> Date: Wed, 9 Jul 2025 17:08:49 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E4=BA=86=E6=B4=BB=E5=8A=A8?= =?UTF-8?q?=E7=94=B3=E8=AF=B7111?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../expert/controller/ExpertController.java | 19 +++++--- .../app/expert/service/ExpertService.java | 46 +++++++++++++++++++ .../controller/MedicalRecordController.java | 13 ++++++ .../service/MedicalRecordService.java | 18 +++++--- 4 files changed, 82 insertions(+), 14 deletions(-) diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/app/expert/controller/ExpertController.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/app/expert/controller/ExpertController.java index 5947171..eb2f679 100644 --- a/sa-admin/src/main/java/net/lab1024/sa/admin/module/app/expert/controller/ExpertController.java +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/app/expert/controller/ExpertController.java @@ -37,13 +37,7 @@ import net.lab1024.sa.common.module.support.config.ConfigService; import net.lab1024.sa.common.module.support.config.domain.ConfigVO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestHeader; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.validation.Valid; @@ -646,4 +640,15 @@ public class ExpertController { return ResponseDTO.error(ExpertBankVerifyFail); } } + + @ApiOperation("专家活动申请") + @PostMapping("/caseplatformCase/activity") + public ResponseDTO addCaseplatformAcApp() { + Long expertId = SmartRequestUtil.getRequestUserId(); + if (expertId == null) { + return ResponseDTO.error(LOGIN_STATE_INVALID); + } + + return expertService.addCaseplatformAcApp(expertId); + } } diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/app/expert/service/ExpertService.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/app/expert/service/ExpertService.java index 1f74b7c..aff2fb2 100644 --- a/sa-admin/src/main/java/net/lab1024/sa/admin/module/app/expert/service/ExpertService.java +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/app/expert/service/ExpertService.java @@ -1,10 +1,14 @@ package net.lab1024.sa.admin.module.app.expert.service; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import net.lab1024.sa.admin.module.app.expert.admin.ExpertEntity; import net.lab1024.sa.admin.module.app.expert.admin.ExpertVO; import net.lab1024.sa.admin.module.app.expert.dao.ExpertDao; import net.lab1024.sa.admin.module.app.medicalrecord.dao.MedicalRecorDao; +import net.lab1024.sa.admin.module.app.medicalrecord.domain.MedicalRecordEntity; import net.lab1024.sa.admin.module.business.caseplatformcase.constant.CaseStatusEnum; +import net.lab1024.sa.admin.module.business.caseplatformcase.dao.CaseplatformAcAppDao; +import net.lab1024.sa.admin.module.business.caseplatformcase.domain.entity.CaseplatformAcAppEntity; import net.lab1024.sa.admin.module.business.token.service.TokenService; import net.lab1024.sa.admin.module.system.login.service.LoginService; import net.lab1024.sa.common.common.domain.RequestUser; @@ -17,6 +21,9 @@ import net.lab1024.sa.common.module.support.token.LoginDeviceEnum; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.time.LocalDateTime; +import java.util.Arrays; + @Service public class ExpertService { @@ -31,6 +38,11 @@ public class ExpertService { + @Autowired + private CaseplatformAcAppDao caseplatformAcAppDao; + + + /** * 根据id 查询 @@ -77,4 +89,38 @@ public class ExpertService { addForm.setToken(token); return addForm; } + + /** + * 专家活动申请 + */ + public ResponseDTO addCaseplatformAcApp(Long expertId) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(CaseplatformAcAppEntity::getExpertId,expertId); + CaseplatformAcAppEntity caseplatformAcApp = caseplatformAcAppDao.selectOne(queryWrapper); + if (caseplatformAcApp != null) { + if (caseplatformAcApp.getStatus() == 1){ + return ResponseDTO.app_ok("恭喜您,您的病例交流活动申请已通过审核"); + } + + if (caseplatformAcApp.getStatus() == 2){ + return ResponseDTO.app_ok("您的病例交流活动申请正在审核中"); + } + } + + LambdaQueryWrapper caseCountQueryWrapper = new LambdaQueryWrapper<>(); + caseCountQueryWrapper.eq(MedicalRecordEntity::getExpertId,expertId); + caseCountQueryWrapper.eq(MedicalRecordEntity::getStatus, 1); + Long caseCount = medicalRecorDao.selectCount(caseCountQueryWrapper); + if (caseCount < 1){ + return ResponseDTO.app_ok("病例审核通过5份及以上可申请病例交流活动"); + } + + CaseplatformAcAppEntity caseplatformAcAppData = new CaseplatformAcAppEntity(); + caseplatformAcAppData.setExpertId(expertId); + caseplatformAcAppData.setStatus(2); + caseplatformAcAppData.setCreateTime(LocalDateTime.now()); + caseplatformAcAppDao.insert(caseplatformAcAppData); + + return ResponseDTO.app_ok("您已成功申请,请耐心等待审核"); + } } diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/app/medicalrecord/controller/MedicalRecordController.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/app/medicalrecord/controller/MedicalRecordController.java index 426855c..bfb030c 100644 --- a/sa-admin/src/main/java/net/lab1024/sa/admin/module/app/medicalrecord/controller/MedicalRecordController.java +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/app/medicalrecord/controller/MedicalRecordController.java @@ -11,6 +11,7 @@ import net.lab1024.sa.admin.module.app.medicalrecord.domain.MedicalRecordUpdateF import net.lab1024.sa.admin.module.app.medicalrecord.service.MedicalRecordService; import net.lab1024.sa.common.common.domain.PageResult; import net.lab1024.sa.common.common.domain.ResponseDTO; +import net.lab1024.sa.common.common.util.SmartRequestUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.GetMapping; @@ -21,6 +22,8 @@ import org.springframework.web.bind.annotation.RestController; import javax.validation.Valid; +import static net.lab1024.sa.common.common.code.UserErrorCode.LOGIN_STATE_INVALID; + @RestController @Api(tags = {AdminSwaggerTagConst.App.MedicalRecord}) public class MedicalRecordController { @@ -57,4 +60,14 @@ public class MedicalRecordController { return medicalRecordService.update(updateForm); } + @ApiOperation("获取有效病例数量") + @GetMapping("/medicalRecord/count") + public ResponseDTO addCaseplatformAcApp() { + Long expertId = SmartRequestUtil.getRequestUserId(); + if (expertId == null) { + return ResponseDTO.error(LOGIN_STATE_INVALID); + } + + return medicalRecordService.getMedicalRecordCount(expertId); + } } diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/app/medicalrecord/service/MedicalRecordService.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/app/medicalrecord/service/MedicalRecordService.java index aa70d64..e724e54 100644 --- a/sa-admin/src/main/java/net/lab1024/sa/admin/module/app/medicalrecord/service/MedicalRecordService.java +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/app/medicalrecord/service/MedicalRecordService.java @@ -609,13 +609,6 @@ public class MedicalRecordService { } } - LambdaQueryWrapper medicalRecordQueryWrapper = new LambdaQueryWrapper<>(); - medicalRecordQueryWrapper.eq(MedicalRecordEntity::getExpertId, expertId); - List medicalRecords = medicalRecorDao.selectList(medicalRecordQueryWrapper); - if (medicalRecords.size() >= 4){ - return ResponseDTO.userErrorParam("每人参与病例征集不得超过20例"); - } - return ResponseDTO.app_ok(); } @@ -671,4 +664,15 @@ public class MedicalRecordService { return ResponseDTO.app_ok(); } + + // 获取病例数量 + public ResponseDTO getMedicalRecordCount(Long expertId) { + // 获取专家提交病例数量 + LambdaQueryWrapper caseCountQueryWrapper = new LambdaQueryWrapper<>(); + caseCountQueryWrapper.eq(MedicalRecordEntity::getExpertId,expertId); + caseCountQueryWrapper.in(MedicalRecordEntity::getStatus, Arrays.asList(0, 1)); + Long caseCount = medicalRecorDao.selectCount(caseCountQueryWrapper); + + return ResponseDTO.app_ok(caseCount); + } }