From c78b5535149081ac66524192871fb09928977562 Mon Sep 17 00:00:00 2001 From: ganhao Date: Thu, 21 May 2026 19:12:16 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E4=BA=86=E6=89=A7=E6=B3=95?= =?UTF-8?q?=E7=AB=AF-=E6=89=A7=E6=B3=95=E8=AF=84=E4=BB=B7=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../enforcement/AppEnfEvaluateController.java | 51 +++++++++++++++++++ .../EnforcementRegistrationListVo.java | 5 ++ .../EnforcementRegistrationServiceImpl.java | 40 +++++++++++++-- 3 files changed, 93 insertions(+), 3 deletions(-) create mode 100644 zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enforcement/AppEnfEvaluateController.java diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enforcement/AppEnfEvaluateController.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enforcement/AppEnfEvaluateController.java new file mode 100644 index 00000000..0a14a1b3 --- /dev/null +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enforcement/AppEnfEvaluateController.java @@ -0,0 +1,51 @@ +package com.zdxt.enforcementcode.controller.app.enforcement; + +import com.zdxt.enforcementcode.domain.bo.EnforcementRegistrationQueryBo; +import com.zdxt.enforcementcode.domain.vo.enterprise.EnforcementRegistrationDetailVo; +import com.zdxt.enforcementcode.domain.vo.enterprise.EnforcementRegistrationListVo; +import com.zdxt.enforcementcode.service.IEnforcementRegistrationService; +import lombok.RequiredArgsConstructor; +import org.dromara.common.core.domain.R; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.web.core.BaseController; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * 执法端-执法评价 + * + * @author Lion Li + * @date 2026-05-07 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/app-ent/enforcement/evaluate") +public class AppEnfEvaluateController extends BaseController { + + private final IEnforcementRegistrationService enforcementRegistrationService; + + /** + * 执法端-执法评价(分页) + */ + @GetMapping("/queryEvaluateList") + public TableDataInfo queryEnforcementRegistrationPageList(EnforcementRegistrationQueryBo bo, PageQuery pageQuery) { + return enforcementRegistrationService.queryEnforcementRegistrationPageList(bo, pageQuery); + } + + + /** + * 执法端-执法评价(详情) + */ + @GetMapping("/queryDetailById") + @ResponseBody + public R queryDetailById(String id){ + EnforcementRegistrationDetailVo detailVo = enforcementRegistrationService.queryDetailById(id); + return R.ok(detailVo); + } + +} diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/enterprise/EnforcementRegistrationListVo.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/enterprise/EnforcementRegistrationListVo.java index 5586d0a5..7573c3d1 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/enterprise/EnforcementRegistrationListVo.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/enterprise/EnforcementRegistrationListVo.java @@ -127,6 +127,11 @@ public class EnforcementRegistrationListVo implements Serializable { */ private int hasEvaluate; + /** + * 评价时间(仅当 hasEvaluate=1 时返回) + */ + private Date evaluateTime; + // /** // * 执法人员 // */ diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/EnforcementRegistrationServiceImpl.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/EnforcementRegistrationServiceImpl.java index 1c84737c..86186c3f 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/EnforcementRegistrationServiceImpl.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/EnforcementRegistrationServiceImpl.java @@ -421,9 +421,35 @@ public class EnforcementRegistrationServiceImpl implements IEnforcementRegistrat userMap = users.stream().collect(Collectors.toMap(SysUser::getUserId, u -> u, (a, b) -> a)); } - // ===== 2. 循环组装显示字段(无嵌套查询) ===== + // ===== 2. 批量查询评价信息(仅当 hasEvaluate=1 时) ===== + Map evaluateTimeMap = new HashMap<>(); + + // 判断是否需要查询评价时间:只有当前端传入 hasEvaluate=1 时才查询 + if (bo.getHasEvaluate() != null && bo.getHasEvaluate() == 1) { + // 收集所有已评价的记录ID + List evaluatedIds = records.stream() + .map(EnforcementRegistrationListVo::getId) + .collect(Collectors.toList()); + + // 批量查询评价记录,获取 enforcementId 和 create_time + if (CollUtil.isNotEmpty(evaluatedIds)) { + List evaluates = evaluateMapper.selectList( + new LambdaQueryWrapper() + .select(EnterpriseEvaluate::getEnforcementId, EnterpriseEvaluate::getCreateTime) + .in(EnterpriseEvaluate::getEnforcementId, evaluatedIds) + ); + evaluateTimeMap = evaluates.stream() + .collect(Collectors.toMap( + EnterpriseEvaluate::getEnforcementId, + EnterpriseEvaluate::getCreateTime, + (a, b) -> a // 如果有重复,取第一个 + )); + } + } + + // ===== 3. 循环组装显示字段(无嵌套查询) ===== for (EnforcementRegistrationListVo vo : records) { - // 2.1 执法人员1格式化展示 + // 3.1 执法人员1格式化展示 if (StringUtils.isNotBlank(vo.getLawEnforcerId())) { try { SysUser user = userMap.get(Convert.toLong(vo.getLawEnforcerId())); @@ -433,7 +459,7 @@ public class EnforcementRegistrationServiceImpl implements IEnforcementRegistrat } catch (Exception ignored) {} } - // 2.2 执法人员2列表格式化展示 + // 3.2 执法人员2列表格式化展示 if (StringUtils.isNotBlank(vo.getLawEnforcerIdTwo())) { List lawTwoList = new ArrayList<>(); for (String idStr : vo.getLawEnforcerIdTwo().split(",")) { @@ -446,6 +472,14 @@ public class EnforcementRegistrationServiceImpl implements IEnforcementRegistrat } vo.setLawEnforcer2List(lawTwoList); } + + // 3.3 设置评价时间(仅当 hasEvaluate=1 且评价时间存在时) + if (bo.getHasEvaluate() != null && bo.getHasEvaluate() == 1) { + Date evaluateTime = evaluateTimeMap.get(vo.getId()); + if (evaluateTime != null) { + vo.setEvaluateTime(evaluateTime); + } + } } return TableDataInfo.build(result);