添加公共统计接口

This commit is contained in:
zk
2026-07-31 11:02:03 +08:00
parent f79a73a0c2
commit d685dec660
3 changed files with 70 additions and 0 deletions
@@ -0,0 +1,21 @@
package org.jiayunet.pojo.dto.recruitAnnouncement;
import lombok.Data;
/**
* 招聘公告统计返回
*
* @author zk
*/
@Data
public class RecruitAnnouncementStatisticsDto {
/** 今日新增公告数 */
private Long dayCount;
/** 本月新增公告数 */
private Long monthCount;
/** 累计公告数 */
private Long totalCount;
}
@@ -0,0 +1,21 @@
package org.jiayunet.pojo.vo;
import lombok.Data;
/**
* 招聘公告统计VO(SQL查询结果)
*
* @author zk
*/
@Data
public class RecruitAnnouncementStatisticsVo {
/** 今日新增公告数 */
private Long dayCount;
/** 本月新增公告数 */
private Long monthCount;
/** 累计公告数 */
private Long totalCount;
}
@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.jiayunet.mapper.RecruitAnnouncementMapper">
<resultMap id="RecruitAnnouncementStatisticsVoMap" type="org.jiayunet.pojo.vo.RecruitAnnouncementStatisticsVo">
<result column="day_count" property="dayCount"/>
<result column="month_count" property="monthCount"/>
<result column="total_count" property="totalCount"/>
</resultMap>
<!-- 查询最后更新时间:按id倒序取第一条的创建时间 -->
<select id="selectLastCreateTime" resultType="java.time.Instant">
SELECT create_time
FROM bg_recruit_announcement
ORDER BY id DESC
LIMIT 1
</select>
<!-- 统计公告数量:一次扫描算出日/月/累计三个计数,保证三个数字来自同一快照 -->
<select id="selectStatistics" resultMap="RecruitAnnouncementStatisticsVoMap">
SELECT
IFNULL(SUM(create_time <![CDATA[>=]]> #{dayStart}), 0) AS day_count,
IFNULL(SUM(create_time <![CDATA[>=]]> #{monthStart}), 0) AS month_count,
COUNT(*) AS total_count
FROM bg_recruit_announcement
</select>
</mapper>