Browse Source

新增了执法端-执法评价逻辑

dev-V1.0.1
ganhao 4 months ago
parent
commit
c78b553514
  1. 51
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enforcement/AppEnfEvaluateController.java
  2. 5
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/enterprise/EnforcementRegistrationListVo.java
  3. 40
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/EnforcementRegistrationServiceImpl.java

51
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<EnforcementRegistrationListVo> queryEnforcementRegistrationPageList(EnforcementRegistrationQueryBo bo, PageQuery pageQuery) {
return enforcementRegistrationService.queryEnforcementRegistrationPageList(bo, pageQuery);
}
/**
* 执法端-执法评价详情
*/
@GetMapping("/queryDetailById")
@ResponseBody
public R<EnforcementRegistrationDetailVo> queryDetailById(String id){
EnforcementRegistrationDetailVo detailVo = enforcementRegistrationService.queryDetailById(id);
return R.ok(detailVo);
}
}

5
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;
// /**
// * 执法人员
// */

40
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<String, Date> evaluateTimeMap = new HashMap<>();
// 判断是否需要查询评价时间:只有当前端传入 hasEvaluate=1 时才查询
if (bo.getHasEvaluate() != null && bo.getHasEvaluate() == 1) {
// 收集所有已评价的记录ID
List<String> evaluatedIds = records.stream()
.map(EnforcementRegistrationListVo::getId)
.collect(Collectors.toList());
// 批量查询评价记录,获取 enforcementId 和 create_time
if (CollUtil.isNotEmpty(evaluatedIds)) {
List<EnterpriseEvaluate> evaluates = evaluateMapper.selectList(
new LambdaQueryWrapper<EnterpriseEvaluate>()
.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<String> 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);

Loading…
Cancel
Save