dev-tmp1
luotaiqian 2026-08-17 11:54:42 +08:00
parent 429f8047c1
commit afe0f0b7a1
7 changed files with 55 additions and 90 deletions

View File

@ -1,5 +1,7 @@
package org.qinan.safetyeval.app.executor; package org.qinan.safetyeval.app.executor;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.qinan.safetyeval.client.api.QualFilingReviewApi; import org.qinan.safetyeval.client.api.QualFilingReviewApi;
import org.qinan.safetyeval.client.co.QualFilingReviewCO; import org.qinan.safetyeval.client.co.QualFilingReviewCO;
import org.qinan.safetyeval.client.dto.PageResponse; import org.qinan.safetyeval.client.dto.PageResponse;
@ -8,14 +10,14 @@ import org.qinan.safetyeval.client.dto.QualFilingReviewModifyCmd;
import org.qinan.safetyeval.client.dto.QualFilingReviewPageQuery; import org.qinan.safetyeval.client.dto.QualFilingReviewPageQuery;
import org.qinan.safetyeval.client.dto.SingleResponse; import org.qinan.safetyeval.client.dto.SingleResponse;
import org.qinan.safetyeval.domain.entity.QualFilingReviewEntity; import org.qinan.safetyeval.domain.entity.QualFilingReviewEntity;
import org.qinan.safetyeval.domain.query.PageResult;
import org.qinan.safetyeval.domain.query.QualFilingReviewQuery;
import org.qinan.safetyeval.domain.service.QualFilingReviewDomainService; import org.qinan.safetyeval.domain.service.QualFilingReviewDomainService;
import org.qinan.safetyeval.infrastructure.adapter.auth.AuthUserContextAdapter; import org.qinan.safetyeval.infrastructure.mapper.QualFilingReviewMapper;
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;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource;
/** /**
* App * App
* *
@ -28,6 +30,9 @@ public class QualFilingReviewExecutor implements QualFilingReviewApi {
@Autowired(required = false) @Autowired(required = false)
private QualFilingReviewDomainService qualFilingReviewDomainService; private QualFilingReviewDomainService qualFilingReviewDomainService;
@Resource
private QualFilingReviewMapper qualFilingReviewMapper;
@Override @Override
public SingleResponse<QualFilingReviewCO> add(QualFilingReviewAddCmd cmd) { public SingleResponse<QualFilingReviewCO> add(QualFilingReviewAddCmd cmd) {
QualFilingReviewEntity entity = new QualFilingReviewEntity(); QualFilingReviewEntity entity = new QualFilingReviewEntity();
@ -71,21 +76,10 @@ public class QualFilingReviewExecutor implements QualFilingReviewApi {
@Override @Override
public PageResponse<QualFilingReviewCO> page(QualFilingReviewPageQuery query) { public PageResponse<QualFilingReviewCO> page(QualFilingReviewPageQuery query) {
QualFilingReviewQuery domainQuery = new QualFilingReviewQuery(); // 直连 infrastructure 层 Mapper跳过 domain由 XML 直接返回 CO无需转换
domainQuery.setPageNum(query.getCurrent()); Page<QualFilingReviewCO> page = new Page<>(query.getCurrent(), query.getSize());
domainQuery.setPageSize(query.getSize()); IPage<QualFilingReviewCO> result = qualFilingReviewMapper.page(page, query);
domainQuery.setTenantId(AuthUserContextAdapter.getCurrentTenantId()); return PageResponse.of(result.getRecords(), result.getTotal());
domainQuery.setFilingId(query.getFilingId());
domainQuery.setReviewResult(query.getReviewResult());
domainQuery.setFilingExpertId(query.getFilingExpertId());
PageResult<QualFilingReviewEntity> pageResult = qualFilingReviewDomainService.page(domainQuery);
return PageResponse.of(
pageResult.getRecords().stream()
.map(this::toCO)
.collect(java.util.stream.Collectors.toList()),
pageResult.getTotal());
} }
private QualFilingReviewCO toCO(QualFilingReviewEntity entity) { private QualFilingReviewCO toCO(QualFilingReviewEntity entity) {

View File

@ -1,8 +1,6 @@
package org.qinan.safetyeval.domain.gateway; package org.qinan.safetyeval.domain.gateway;
import org.qinan.safetyeval.domain.entity.QualFilingReviewEntity; import org.qinan.safetyeval.domain.entity.QualFilingReviewEntity;
import org.qinan.safetyeval.domain.query.PageResult;
import org.qinan.safetyeval.domain.query.QualFilingReviewQuery;
/** /**
* GatewayDomain * GatewayDomain
@ -18,6 +16,4 @@ public interface QualFilingReviewGateway {
QualFilingReviewEntity modify(QualFilingReviewEntity entity); QualFilingReviewEntity modify(QualFilingReviewEntity entity);
void delete(Long id); void delete(Long id);
PageResult<QualFilingReviewEntity> page(QualFilingReviewQuery query);
} }

View File

@ -1,30 +0,0 @@
package org.qinan.safetyeval.domain.query;
import lombok.Data;
/**
*
*
* @author safety-eval
*/
@Data
public class QualFilingReviewQuery {
/** 当前页 */
private Long pageNum;
/** 每页条数 */
private Long pageSize;
/** 租户ID */
private Long tenantId;
/** 机构id */
private Long filingId;
/** 审核结果 1通过 2待定 3不通过 */
private String reviewResult;
/** 专家id */
private Long filingExpertId;
}

View File

@ -2,8 +2,6 @@ package org.qinan.safetyeval.domain.service;
import org.qinan.safetyeval.domain.entity.QualFilingReviewEntity; import org.qinan.safetyeval.domain.entity.QualFilingReviewEntity;
import org.qinan.safetyeval.domain.gateway.QualFilingReviewGateway; import org.qinan.safetyeval.domain.gateway.QualFilingReviewGateway;
import org.qinan.safetyeval.domain.query.PageResult;
import org.qinan.safetyeval.domain.query.QualFilingReviewQuery;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -34,8 +32,4 @@ public class QualFilingReviewDomainService {
public void delete(Long id) { public void delete(Long id) {
qualFilingReviewGateway.delete(id); qualFilingReviewGateway.delete(id);
} }
public PageResult<QualFilingReviewEntity> page(QualFilingReviewQuery query) {
return qualFilingReviewGateway.page(query);
}
} }

View File

@ -1,21 +1,13 @@
package org.qinan.safetyeval.infrastructure.gatewayimpl; package org.qinan.safetyeval.infrastructure.gatewayimpl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.qinan.safetyeval.domain.entity.QualFilingReviewEntity; import org.qinan.safetyeval.domain.entity.QualFilingReviewEntity;
import org.qinan.safetyeval.domain.gateway.QualFilingReviewGateway; import org.qinan.safetyeval.domain.gateway.QualFilingReviewGateway;
import org.qinan.safetyeval.domain.query.PageResult;
import org.qinan.safetyeval.domain.query.QualFilingReviewQuery;
import org.qinan.safetyeval.infrastructure.dataobject.QualFilingReviewDO; import org.qinan.safetyeval.infrastructure.dataobject.QualFilingReviewDO;
import org.qinan.safetyeval.infrastructure.mapper.QualFilingReviewMapper; import org.qinan.safetyeval.infrastructure.mapper.QualFilingReviewMapper;
import org.qinan.safetyeval.infrastructure.support.InsertFieldDefaults; import org.qinan.safetyeval.infrastructure.support.InsertFieldDefaults;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.util.StringUtils;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.List;
import java.util.stream.Collectors;
/** /**
* GatewayInfrastructure * GatewayInfrastructure
@ -58,30 +50,6 @@ public class QualFilingReviewGatewayImpl implements QualFilingReviewGateway {
qualFilingReviewMapper.deleteById(id); qualFilingReviewMapper.deleteById(id);
} }
@Override
public PageResult<QualFilingReviewEntity> page(QualFilingReviewQuery query) {
LambdaQueryWrapper<QualFilingReviewDO> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(QualFilingReviewDO::getDeleteEnum, "false");
if (query.getFilingId() != null) {
wrapper.eq(QualFilingReviewDO::getFilingId, query.getFilingId());
}
if (StringUtils.hasText(query.getReviewResult())) {
wrapper.eq(QualFilingReviewDO::getReviewResult, query.getReviewResult());
}
if (query.getFilingExpertId() != null) {
wrapper.eq(QualFilingReviewDO::getFilingExpertId, query.getFilingExpertId());
}
Page<QualFilingReviewDO> page = new Page<>(query.getPageNum(), query.getPageSize());
IPage<QualFilingReviewDO> result = qualFilingReviewMapper.selectPage(page, wrapper);
List<QualFilingReviewEntity> entities = result.getRecords().stream()
.map(this::toEntity)
.collect(Collectors.toList());
return PageResult.of(entities, result.getTotal(), result.getCurrent(), result.getSize());
}
private QualFilingReviewDO toDO(QualFilingReviewEntity entity) { private QualFilingReviewDO toDO(QualFilingReviewEntity entity) {
QualFilingReviewDO dataObject = new QualFilingReviewDO(); QualFilingReviewDO dataObject = new QualFilingReviewDO();
dataObject.setFilingId(entity.getFilingId()); dataObject.setFilingId(entity.getFilingId());

View File

@ -1,9 +1,23 @@
package org.qinan.safetyeval.infrastructure.mapper; package org.qinan.safetyeval.infrastructure.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.qinan.safetyeval.client.co.QualFilingReviewCO;
import org.qinan.safetyeval.client.dto.QualFilingReviewPageQuery;
import org.qinan.safetyeval.infrastructure.dataobject.QualFilingReviewDO; import org.qinan.safetyeval.infrastructure.dataobject.QualFilingReviewDO;
@Mapper @Mapper
public interface QualFilingReviewMapper extends BaseMapper<QualFilingReviewDO> { public interface QualFilingReviewMapper extends BaseMapper<QualFilingReviewDO> {
/**
* CO
*
* @param page
* @param query
* @return
*/
IPage<QualFilingReviewCO> page(Page<QualFilingReviewCO> page, @Param("query") QualFilingReviewPageQuery query);
} }

View File

@ -29,4 +29,33 @@
`id`, `filing_id`, `review_result`, `review_result_remark`, `filing_expert_id`, `filing_expert_name`, `review_opinion`, `delete_enum`, `remarks`, `create_name`, `update_name`, `tenant_id`, `version`, `create_time`, `update_time`, `create_id`, `update_id`, `env` `id`, `filing_id`, `review_result`, `review_result_remark`, `filing_expert_id`, `filing_expert_name`, `review_opinion`, `delete_enum`, `remarks`, `create_name`, `update_name`, `tenant_id`, `version`, `create_time`, `update_time`, `create_id`, `update_id`, `env`
</sql> </sql>
<!-- 资质审核记录分页查询LEFT JOIN 专家表获取专家名称 -->
<select id="page" resultType="org.qinan.safetyeval.client.co.QualFilingReviewCO">
SELECT
qfr.id,
qfr.filing_id,
qfr.review_result,
qfr.review_result_remark,
qfr.filing_expert_id,
qfr.review_opinion,
qfe.user_name filingExpertName
FROM qual_filing_review qfr
LEFT JOIN qual_filing_expert qfe ON qfr.filing_expert_id = qfe.id
<where>
qfr.delete_enum = 'false'
<if test="query.filingId != null">
AND qfr.filing_id = #{query.filingId}
</if>
<if test="query.reviewResult != null and query.reviewResult != ''">
AND qfr.review_result = #{query.reviewResult}
</if>
<if test="query.filingExpertId != null">
AND qfr.filing_expert_id = #{query.filingExpertId}
</if>
</where>
ORDER BY qfr.id DESC
</select>
</mapper> </mapper>