feat(corp): 为可视化大屏企业用户汇总接口添加查询参数支持

dev_visual_page
zhaokai 2026-07-20 14:10:13 +08:00
parent 2aa7777dfc
commit 8f7f5201ea
10 changed files with 57 additions and 11 deletions

View File

@ -165,8 +165,8 @@ public class CorpInfoController {
@ApiOperation("可视化大屏-企业用户汇总")
@PostMapping("/corpUserSummary")
public SingleResponse<CorpUserSummaryCO> corpUserSummary() {
return SingleResponse.of(corpInfoService.corpUserSummary());
public SingleResponse<CorpUserSummaryCO> corpUserSummary(@Validated @RequestBody CorpUserSummaryQry qry) {
return SingleResponse.of(corpInfoService.corpUserSummary(qry));
}
}

View File

@ -323,8 +323,9 @@ public class CorpInfoQueryExe {
return PageResponse.of(list, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
}
public CorpUserSummaryCO corpUserSummary() {
CorpUserSummaryDO corpUserSummaryDO = corpInfoRepository.corpUserSummary();
public CorpUserSummaryCO corpUserSummary(CorpUserSummaryQry qry) {
Map<String, Object> params = PageQueryHelper.toHashMap(qry);
CorpUserSummaryDO corpUserSummaryDO = corpInfoRepository.corpUserSummary(params);
CorpUserSummaryCO corpUserSummaryCO = new CorpUserSummaryCO();
BeanUtils.copyProperties(corpUserSummaryDO, corpUserSummaryCO);
return corpUserSummaryCO;

View File

@ -153,8 +153,8 @@ public class CorpInfoServiceImpl implements CorpInfoServiceI {
}
@Override
public CorpUserSummaryCO corpUserSummary() {
return corpInfoQueryExe.corpUserSummary();
public CorpUserSummaryCO corpUserSummary(CorpUserSummaryQry qry) {
return corpInfoQueryExe.corpUserSummary(qry);
}
}

View File

@ -58,6 +58,6 @@ public interface CorpInfoServiceI {
PageResponse<CorpUserStatisticCO> corpUserStatisticPage(CorpUserStatisticQry qry);
CorpUserSummaryCO corpUserSummary();
CorpUserSummaryCO corpUserSummary(CorpUserSummaryQry qry);
}

View File

@ -1,6 +1,7 @@
package com.zcloud.basic.info.dto;
import com.alibaba.cola.dto.PageQuery;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -20,4 +21,11 @@ public class CorpUserStatisticQry extends PageQuery {
@ApiModelProperty(value = "企业类型1监管 2企业 3相关方", name = "enterpriseType")
private Integer enterpriseType;
@JsonProperty("port_area")
@ApiModelProperty(value = "港区1:秦皇岛港区,2:秦皇岛东,3:秦皇岛西", name = "port_area")
private Integer portArea;
@ApiModelProperty(value = "企业id", name = "corpinfoId")
private Long corpinfoId;
}

View File

@ -0,0 +1,19 @@
package com.zcloud.basic.info.dto;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
*
*/
@Data
public class CorpUserSummaryQry {
@JsonProperty("port_area")
@ApiModelProperty(value = "港区1:秦皇岛港区,2:秦皇岛东,3:秦皇岛西", name = "port_area")
private Integer portArea;
@ApiModelProperty(value = "企业id", name = "corpinfoId")
private Long corpinfoId;
}

View File

@ -36,7 +36,7 @@ public interface CorpInfoMapper extends BaseMapper<CorpInfoDO> {
IPage<CorpUserStatisticDO> corpUserStatisticPage(IPage<CorpUserStatisticDO> iPage, Map<String, Object> params);
CorpUserSummaryDO corpUserSummary();
CorpUserSummaryDO corpUserSummary(Map<String, Object> params);
}

View File

@ -49,6 +49,6 @@ public interface CorpInfoRepository extends BaseRepository<CorpInfoDO> {
PageResponse<CorpUserStatisticDO> corpUserStatisticPage(Map<String, Object> parmas);
CorpUserSummaryDO corpUserSummary();
CorpUserSummaryDO corpUserSummary(Map<String, Object> parmas);
}

View File

@ -342,8 +342,8 @@ public class CorpInfoRepositoryImpl extends BaseRepositoryImpl<CorpInfoMapper, C
}
@Override
public CorpUserSummaryDO corpUserSummary() {
return corpInfoMapper.corpUserSummary();
public CorpUserSummaryDO corpUserSummary(Map<String, Object> params) {
return corpInfoMapper.corpUserSummary(params);
}
}

View File

@ -99,6 +99,12 @@
<if test="params.likeCorpName != null and params.likeCorpName.trim() != ''">
AND c.corp_name like concat('%',#{params.likeCorpName},'%')
</if>
<if test="params.portArea != null">
AND c.port_area = #{params.portArea}
</if>
<if test="params.corpinfoId != null">
AND c.id = #{params.corpinfoId}
</if>
ORDER BY IFNULL(u.userCount, 0) DESC, IFNULL(d.departmentCount, 0) DESC, c.corp_order ASC, c.create_time DESC
</select>
@ -111,9 +117,21 @@
FROM user u
INNER JOIN corp_info c ON c.id = u.corpinfo_id AND c.delete_enum = 'FALSE'
WHERE u.delete_enum = 'FALSE'
<if test="params.portArea != null">
AND c.port_area = #{params.portArea}
</if>
<if test="params.corpinfoId != null">
AND c.id = #{params.corpinfoId}
</if>
), 0) AS userCount
FROM corp_info c
WHERE c.delete_enum = 'FALSE'
<if test="params.portArea != null">
AND c.port_area = #{params.portArea}
</if>
<if test="params.corpinfoId != null">
AND c.id = #{params.corpinfoId}
</if>
</select>
</mapper>