From 34c3c59c0c6cfa11892819af0b249cdf1c903878 Mon Sep 17 00:00:00 2001 From: feng <18691763612@163.com> Date: Thu, 25 Dec 2025 11:16:29 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E7=96=86=E9=9C=80=E6=B1=82=E6=95=B4?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../20251225-咨询服务重置专家排序.sql | 2 ++ .../anyan/client/AnYanClientExecutor.java | 3 ++ .../anyan/config/AnYanRestTemplateConfig.java | 1 + .../controller/ConScreenApiController.java | 31 +++++++++---------- 4 files changed, 21 insertions(+), 16 deletions(-) create mode 100644 db/updatesql/20251225-咨询服务重置专家排序.sql diff --git a/db/updatesql/20251225-咨询服务重置专家排序.sql b/db/updatesql/20251225-咨询服务重置专家排序.sql new file mode 100644 index 0000000..3f252fc --- /dev/null +++ b/db/updatesql/20251225-咨询服务重置专家排序.sql @@ -0,0 +1,2 @@ +--重置专家排序 +update `con_doctor` set sort = 9999; \ No newline at end of file diff --git a/functional-modules/xj-anyan-api/src/main/java/com/renkang/anyan/client/AnYanClientExecutor.java b/functional-modules/xj-anyan-api/src/main/java/com/renkang/anyan/client/AnYanClientExecutor.java index 2b2f6c1..93cb364 100644 --- a/functional-modules/xj-anyan-api/src/main/java/com/renkang/anyan/client/AnYanClientExecutor.java +++ b/functional-modules/xj-anyan-api/src/main/java/com/renkang/anyan/client/AnYanClientExecutor.java @@ -143,6 +143,7 @@ public class AnYanClientExecutor implements AnYanClient { if (ObjectUtil.isNotEmpty(authResult) && StrUtil.isNotEmpty(authResult.getAccess_token())) { int expireSeconds = ObjectUtil.isNotEmpty(authResult.getExpires_in()) ? authResult.getExpires_in() : 7200; redisClientUtil.set(new RedisKeyPrefix(expireSeconds, AnYanConstants.AN_YAN_API_TOKEN_PREFIX), "publicToken", authResult.getAccess_token()); + log.info("---------刷新安眼token成功-------新的token:{},剩余过期时间:{}",authResult.getAccess_token(),authResult.getExpires_in()); } } @@ -370,12 +371,14 @@ public class AnYanClientExecutor implements AnYanClient { } @Override + @Retryable(maxAttempts = 2) public AnYanEmpHealthCheckNew queryEmpHealthCheckNew(String id) { AnYanResult result = RestTemplateUtil.getExchange(AnYanApiEnum.CHECK_NEW_BY_ID, buildTokenHeader(), id); return BeanUtil.toBean(result.getData(), AnYanEmpHealthCheckNew.class); } @Override + @Retryable(maxAttempts = 2) public List queryHealthCheckProject(AnYanHealthCheckProjectParam param) { AnYanResult result = RestTemplateUtil.postExchange(AnYanApiEnum.HEALTH_CHECK_PROJECT, buildTokenHeader(), param); List listMaps = (List) result.getData(); diff --git a/functional-modules/xj-anyan-api/src/main/java/com/renkang/anyan/config/AnYanRestTemplateConfig.java b/functional-modules/xj-anyan-api/src/main/java/com/renkang/anyan/config/AnYanRestTemplateConfig.java index d695569..1c8624d 100644 --- a/functional-modules/xj-anyan-api/src/main/java/com/renkang/anyan/config/AnYanRestTemplateConfig.java +++ b/functional-modules/xj-anyan-api/src/main/java/com/renkang/anyan/config/AnYanRestTemplateConfig.java @@ -59,6 +59,7 @@ public class AnYanRestTemplateConfig { execute = clientHttpRequestExecution.execute(httpRequest, bytes); HttpStatus httpStatus = execute.getStatusCode(); if (Arrays.asList(HttpStatus.UNAUTHORIZED, HttpStatus.FORBIDDEN).contains(httpStatus)) { + log.info("---------安眼token过期,触发刷新token机制-------已过期的token:{}",httpRequest.getHeaders().getFirst("authorization")); SpringContextUtils.getBean("anYanClientExecutor", AnYanClient.class).refreshToken(); } } catch (Exception e) { diff --git a/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/api/controller/ConScreenApiController.java b/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/api/controller/ConScreenApiController.java index f0c9b2d..dcd08cc 100644 --- a/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/api/controller/ConScreenApiController.java +++ b/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/api/controller/ConScreenApiController.java @@ -15,9 +15,11 @@ import com.renkang.consultation.vo.ConDoctorVO; import com.renkang.consultation.vo.ConHelperCustomUserVO; import com.renkang.emergency.entity.EmergencyCenterResource; import io.swagger.v3.oas.annotations.Operation; +import lombok.RequiredArgsConstructor; import org.apache.commons.collections4.CollectionUtils; import org.jeecg.common.api.vo.Result; import org.jeecg.common.constant.CommonConstant; +import org.jeecg.common.system.api.ISysBaseAPI; import org.jeecg.modules.manager.SysCacheImpl; import org.jeecg.modules.system.entity.SysDepart; import org.springframework.beans.factory.annotation.Autowired; @@ -26,22 +28,17 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; +import java.util.stream.Collectors; @RestController @RequestMapping(RequestPrefix.screen) +@RequiredArgsConstructor public class ConScreenApiController { - - - @Autowired - private IConDoctorService conDoctorService; - @Autowired - private IConSessionService conSessionService; - @Autowired - private SysCacheImpl sysCache; + private final IConDoctorService conDoctorService; + private final IConSessionService conSessionService; + private final SysCacheImpl sysCache; + private final ISysBaseAPI sysBaseAPI; @Operation(summary = "查询统计数", description = "查询统计数") @GetMapping("/queryStaticCount") @@ -108,16 +105,18 @@ public class ConScreenApiController { @GetMapping("/queryDeptCountStat") public Result queryDeptCountStat() { List> mapList = conDoctorService.getDeptCountStatList(); + //翻译部门名称之前循环查缓存20251225修改, 线上出现存在的部门未翻译成功的问题 + Set orgCodes = mapList.stream().map(map -> map.get("orgCode").toString()).collect(Collectors.toSet()); + Map orgCodeForName = sysBaseAPI.queryDepartNameByOrgCodes(orgCodes); if(!CollectionUtils.isEmpty(mapList)){ for (Map map : mapList) { - SysDepart depart = sysCache.getDepartByOrgCode(map.get("orgCode").toString()); - if(depart != null){ - map.put("departName", depart.getDepartName()); - } + String orgName = orgCodeForName.get(map.get("orgCode").toString()); + map.put("departName", null != orgName ? orgName : "未知"); } } return Result.OK(mapList); } + @Operation(summary = "科室咨询数量统计", description = "科室咨询数量统计") @GetMapping("/queryDepartmentCountStat") public Result queryDepartmentCountStat() {