fix bug orgId not send

dev
luotaiqian 2026-07-07 16:10:08 +08:00
parent e0e8989481
commit b713813807
6 changed files with 64 additions and 1 deletions

View File

@ -9,6 +9,7 @@ import org.qinan.safetyeval.client.co.QualFilingChangeCO;
import org.qinan.safetyeval.client.co.QualFilingChangeComplianceCheckResultCO; import org.qinan.safetyeval.client.co.QualFilingChangeComplianceCheckResultCO;
import org.qinan.safetyeval.client.co.QualFilingChangeOrgCO; import org.qinan.safetyeval.client.co.QualFilingChangeOrgCO;
import org.qinan.safetyeval.client.dto.*; import org.qinan.safetyeval.client.dto.*;
import org.qinan.safetyeval.domain.constant.QualFilingStatusEnum;
import org.qinan.safetyeval.infrastructure.adapter.ThreadLocalUserInfoAdapter; import org.qinan.safetyeval.infrastructure.adapter.ThreadLocalUserInfoAdapter;
import org.qinan.safetyeval.infrastructure.dataobject.base.Req; import org.qinan.safetyeval.infrastructure.dataobject.base.Req;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
@ -63,6 +64,7 @@ public class QualFilingChangeController {
@ApiOperation("聚合新增or编辑资质备案变更申请") @ApiOperation("聚合新增or编辑资质备案变更申请")
@PostMapping("/aggregationSaveOrEdit") @PostMapping("/aggregationSaveOrEdit")
public SingleResponse<QualFilingChangeCO> aggregationSaveOrEdit(@RequestBody AggregationSaveOrEditQualFilingChangeCmd cmd) { public SingleResponse<QualFilingChangeCO> aggregationSaveOrEdit(@RequestBody AggregationSaveOrEditQualFilingChangeCmd cmd) {
cmd.getQualFilingChangeAddCmd().setFilingStatusCode(QualFilingStatusEnum.CHANGE_REVIEWING.getCode());
return qualFilingChangeApi.aggregationSaveOrEdit(cmd); return qualFilingChangeApi.aggregationSaveOrEdit(cmd);
} }

View File

@ -23,6 +23,7 @@ import org.qinan.safetyeval.domain.service.QualFilingDomainService;
import org.qinan.safetyeval.domain.service.QualFilingReviewDomainService; import org.qinan.safetyeval.domain.service.QualFilingReviewDomainService;
import org.qinan.safetyeval.infrastructure.adapter.ThreadLocalUserInfoAdapter; import org.qinan.safetyeval.infrastructure.adapter.ThreadLocalUserInfoAdapter;
import org.qinan.safetyeval.infrastructure.adapter.auth.AuthUserContextAdapter; import org.qinan.safetyeval.infrastructure.adapter.auth.AuthUserContextAdapter;
import org.qinan.safetyeval.infrastructure.dataobject.QualFilingChangeCountDO;
import org.qinan.safetyeval.infrastructure.mapper.QualFilingChangeMapper; import org.qinan.safetyeval.infrastructure.mapper.QualFilingChangeMapper;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy; import org.springframework.context.annotation.Lazy;
@ -34,6 +35,7 @@ import javax.annotation.Resource;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.Objects; import java.util.Objects;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -189,7 +191,26 @@ public class QualFilingChangeExecutor implements QualFilingChangeApi {
// 直连 infrastructure 层 Mapper跳过 domain由 XML 直接返回 CO无需转换 // 直连 infrastructure 层 Mapper跳过 domain由 XML 直接返回 CO无需转换
Page<QualFilingChangeOrgCO> page = new Page<>(domainQuery.getPageNum(), domainQuery.getPageSize()); Page<QualFilingChangeOrgCO> page = new Page<>(domainQuery.getPageNum(), domainQuery.getPageSize());
IPage<QualFilingChangeOrgCO> result = qualFilingChangeMapper.orgPage(page, domainQuery); IPage<QualFilingChangeOrgCO> result = qualFilingChangeMapper.orgPage(page, domainQuery);
return PageResponse.of(result.getRecords(), result.getTotal());
// 存在数据时,一次批量统计每个 filingId 在 qual_filing_change 表中的变更次数
List<QualFilingChangeOrgCO> records = result.getRecords();
if (!CollectionUtils.isEmpty(records)) {
List<Long> filingIds = records.stream()
.map(QualFilingChangeOrgCO::getFilingId)
.filter(Objects::nonNull)
.distinct()
.collect(Collectors.toList());
if (!filingIds.isEmpty()) {
List<QualFilingChangeCountDO> countList = qualFilingChangeMapper.countByFilingIds(filingIds);
Map<Long, Long> countMap = countList.stream()
.collect(Collectors.toMap(
QualFilingChangeCountDO::getFilingId,
QualFilingChangeCountDO::getChangeCount));
records.forEach(co -> co.setChangeCount(countMap.getOrDefault(co.getFilingId(), 1L) - 1));
}
}
return PageResponse.of(records, result.getTotal());
} }
@Override @Override

View File

@ -113,4 +113,7 @@ public class QualFilingChangeOrgCO {
@ApiModelProperty(value = "租户ID") @ApiModelProperty(value = "租户ID")
private Long tenantId; private Long tenantId;
@ApiModelProperty(value = "变更次数")
private Long changeCount;
} }

View File

@ -0,0 +1,16 @@
package org.qinan.safetyeval.infrastructure.dataobject;
import lombok.Data;
/**
*
*
* @author safety-eval
*/
@Data
public class QualFilingChangeCountDO {
private Long filingId;
private Long changeCount;
}

View File

@ -6,8 +6,12 @@ import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.qinan.safetyeval.client.co.QualFilingChangeOrgCO; import org.qinan.safetyeval.client.co.QualFilingChangeOrgCO;
import org.qinan.safetyeval.domain.query.QualFilingChangeQuery; import org.qinan.safetyeval.domain.query.QualFilingChangeQuery;
import org.qinan.safetyeval.infrastructure.dataobject.QualFilingChangeCountDO;
import org.qinan.safetyeval.infrastructure.dataobject.QualFilingChangeDO; import org.qinan.safetyeval.infrastructure.dataobject.QualFilingChangeDO;
import java.util.Collection;
import java.util.List;
@Mapper @Mapper
public interface QualFilingChangeMapper extends BaseMapper<QualFilingChangeDO> { public interface QualFilingChangeMapper extends BaseMapper<QualFilingChangeDO> {
@ -15,4 +19,9 @@ public interface QualFilingChangeMapper extends BaseMapper<QualFilingChangeDO> {
* filing_idCO * filing_idCO
*/ */
IPage<QualFilingChangeOrgCO> orgPage(IPage<QualFilingChangeOrgCO> page, @Param("query") QualFilingChangeQuery query); IPage<QualFilingChangeOrgCO> orgPage(IPage<QualFilingChangeOrgCO> page, @Param("query") QualFilingChangeQuery query);
/**
* filing_id
*/
List<QualFilingChangeCountDO> countByFilingIds(@Param("filingIds") Collection<Long> filingIds);
} }

View File

@ -108,4 +108,16 @@
WHERE temp.rn = 1 WHERE temp.rn = 1
</select> </select>
<!-- 按filing_id批量统计变更次数 -->
<select id="countByFilingIds" resultType="org.qinan.safetyeval.infrastructure.dataobject.QualFilingChangeCountDO">
SELECT filing_id AS filingId, COUNT(*) AS changeCount
FROM qual_filing_change
WHERE delete_enum = 'false'
AND filing_id IN
<foreach collection="filingIds" item="filingId" open="(" separator="," close=")">
#{filingId}
</foreach>
GROUP BY filing_id
</select>
</mapper> </mapper>