段飞宇
2 years ago
60 changed files with 826 additions and 96 deletions
@ -0,0 +1,33 @@ |
|||||||
|
package com.hnac.hzims.message.enums; |
||||||
|
|
||||||
|
import lombok.Data; |
||||||
|
import lombok.Getter; |
||||||
|
import lombok.Setter; |
||||||
|
|
||||||
|
/** |
||||||
|
* @Author WL |
||||||
|
* @Version v1.0 |
||||||
|
* @Serial 1.0 |
||||||
|
* @Date 2023/4/7 15:45 |
||||||
|
*/ |
||||||
|
public enum PushStatEnum { |
||||||
|
|
||||||
|
UNPUSHED(0, "未推送"), |
||||||
|
|
||||||
|
SUCCESS(1, "推送成功"), |
||||||
|
FAIL(2, "推送失败"), |
||||||
|
CONFIRMED(3, "已确认"); |
||||||
|
|
||||||
|
|
||||||
|
@Setter |
||||||
|
private Integer code; |
||||||
|
|
||||||
|
@Getter |
||||||
|
private String value; |
||||||
|
|
||||||
|
PushStatEnum(Integer code, String value) { |
||||||
|
this.code = code; |
||||||
|
this.value = value; |
||||||
|
} |
||||||
|
|
||||||
|
} |
@ -0,0 +1,30 @@ |
|||||||
|
package com.hnac.hzims.message.vo.msgpushrecord; |
||||||
|
|
||||||
|
import lombok.Data; |
||||||
|
|
||||||
|
/** |
||||||
|
* @Author WL |
||||||
|
* @Version v1.0 |
||||||
|
* @Serial 1.0 |
||||||
|
* @Date 2023/4/7 16:41 |
||||||
|
*/ |
||||||
|
@Data |
||||||
|
public class BusinessTypeStatVo { |
||||||
|
|
||||||
|
/** |
||||||
|
* 业务类型 |
||||||
|
*/ |
||||||
|
private String businessClassify; |
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* 业务类型 名称 |
||||||
|
*/ |
||||||
|
private String businessClassifyName; |
||||||
|
|
||||||
|
/** |
||||||
|
* 统计数量 |
||||||
|
*/ |
||||||
|
private Long power; |
||||||
|
|
||||||
|
} |
@ -0,0 +1,22 @@ |
|||||||
|
package com.hnac.hzims.message.vo.msgpushrecord; |
||||||
|
|
||||||
|
import lombok.Data; |
||||||
|
|
||||||
|
import java.util.List; |
||||||
|
|
||||||
|
/** |
||||||
|
* @Author WL |
||||||
|
* @Version v1.0 |
||||||
|
* @Serial 1.0 |
||||||
|
* @Date 2023/4/7 14:41 |
||||||
|
*/ |
||||||
|
@Data |
||||||
|
public class MessagePushRecordTypeVo { |
||||||
|
|
||||||
|
/** |
||||||
|
* 消息类型 |
||||||
|
*/ |
||||||
|
private String type; |
||||||
|
|
||||||
|
private List<MessagePushRecordVo> messagePushRecordList; |
||||||
|
} |
@ -0,0 +1,39 @@ |
|||||||
|
package com.hnac.hzims.message.vo.msgpushrecord; |
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat; |
||||||
|
import lombok.Data; |
||||||
|
|
||||||
|
import java.io.Serializable; |
||||||
|
import java.time.LocalDateTime; |
||||||
|
|
||||||
|
/** |
||||||
|
* @Author WL |
||||||
|
* @Version v1.0 |
||||||
|
* @Serial 1.0 |
||||||
|
* @Date 2023/4/7 9:02 |
||||||
|
*/ |
||||||
|
@Data |
||||||
|
public class MessagePushRecordVo implements Serializable { |
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* 月份 |
||||||
|
*/ |
||||||
|
private Integer month; |
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* 实现推送时间 |
||||||
|
*/ |
||||||
|
private String strMonth; |
||||||
|
|
||||||
|
/** |
||||||
|
* 消息类型 |
||||||
|
*/ |
||||||
|
private String type; |
||||||
|
|
||||||
|
/** |
||||||
|
* 统计数量 |
||||||
|
*/ |
||||||
|
private Long power; |
||||||
|
} |
@ -0,0 +1,35 @@ |
|||||||
|
package com.hnac.hzims.message.vo.msgpushrecord; |
||||||
|
|
||||||
|
import lombok.Data; |
||||||
|
|
||||||
|
import java.util.List; |
||||||
|
|
||||||
|
/** |
||||||
|
* 推送成功失败 Vo |
||||||
|
* |
||||||
|
* @Author WL |
||||||
|
* @Version v1.0 |
||||||
|
* @Serial 1.0 |
||||||
|
* @Date 2023/4/7 15:35 |
||||||
|
*/ |
||||||
|
@Data |
||||||
|
public class PushStatTypeVo { |
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* 业务分类 |
||||||
|
*/ |
||||||
|
private String businessClassify; |
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* 业务名称 |
||||||
|
*/ |
||||||
|
private String businessClassifyName; |
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* 业务分类统计 |
||||||
|
*/ |
||||||
|
private List<PushStatVo> pushStatList; |
||||||
|
} |
@ -0,0 +1,45 @@ |
|||||||
|
package com.hnac.hzims.message.vo.msgpushrecord; |
||||||
|
|
||||||
|
import com.hnac.hzims.message.enums.PushStatEnum; |
||||||
|
import lombok.Data; |
||||||
|
|
||||||
|
/** |
||||||
|
* @Author WL |
||||||
|
* @Version v1.0 |
||||||
|
* @Serial 1.0 |
||||||
|
* @Date 2023/4/7 15:36 |
||||||
|
*/ |
||||||
|
@Data |
||||||
|
public class PushStatVo { |
||||||
|
|
||||||
|
/** |
||||||
|
* 业务分类 |
||||||
|
*/ |
||||||
|
private String businessClassify; |
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* 业务分类 |
||||||
|
*/ |
||||||
|
private String businessClassifyName; |
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* 状态 |
||||||
|
*/ |
||||||
|
private Integer status; |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* 状态名称 |
||||||
|
*/ |
||||||
|
private String statusName; |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* 统计数量 |
||||||
|
*/ |
||||||
|
private Long power; |
||||||
|
} |
@ -0,0 +1,25 @@ |
|||||||
|
package com.hnac.hzims.message.vo.msgpushrecord; |
||||||
|
|
||||||
|
import lombok.Data; |
||||||
|
|
||||||
|
import java.util.List; |
||||||
|
|
||||||
|
/** |
||||||
|
* @Author WL |
||||||
|
* @Version v1.0 |
||||||
|
* @Serial 1.0 |
||||||
|
* @Date 2023/4/7 15:05 |
||||||
|
*/ |
||||||
|
@Data |
||||||
|
public class UserPushStatTypeVo { |
||||||
|
|
||||||
|
/** |
||||||
|
* 推送人名称 |
||||||
|
*/ |
||||||
|
private String pusherName; |
||||||
|
|
||||||
|
/** |
||||||
|
* 推送业务分类数组 |
||||||
|
*/ |
||||||
|
private List<UserPushStatVo> pushStatList; |
||||||
|
} |
@ -0,0 +1,35 @@ |
|||||||
|
package com.hnac.hzims.message.vo.msgpushrecord; |
||||||
|
|
||||||
|
import lombok.Data; |
||||||
|
|
||||||
|
/** |
||||||
|
* @Author WL |
||||||
|
* @Version v1.0 |
||||||
|
* @Serial 1.0 |
||||||
|
* @Date 2023/4/7 15:06 |
||||||
|
*/ |
||||||
|
@Data |
||||||
|
public class UserPushStatVo { |
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* 推送人名称 |
||||||
|
*/ |
||||||
|
private String pusherName; |
||||||
|
|
||||||
|
/** |
||||||
|
* 业务分类 |
||||||
|
*/ |
||||||
|
private String businessClassify; |
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* 业务分类 名称 |
||||||
|
*/ |
||||||
|
private String businessClassifyName; |
||||||
|
|
||||||
|
/** |
||||||
|
* 统计数量 |
||||||
|
*/ |
||||||
|
private Long power; |
||||||
|
} |
@ -0,0 +1,38 @@ |
|||||||
|
target/ |
||||||
|
!.mvn/wrapper/maven-wrapper.jar |
||||||
|
!**/src/main/**/target/ |
||||||
|
!**/src/test/**/target/ |
||||||
|
|
||||||
|
### IntelliJ IDEA ### |
||||||
|
.idea/modules.xml |
||||||
|
.idea/jarRepositories.xml |
||||||
|
.idea/compiler.xml |
||||||
|
.idea/libraries/ |
||||||
|
*.iws |
||||||
|
*.iml |
||||||
|
*.ipr |
||||||
|
|
||||||
|
### Eclipse ### |
||||||
|
.apt_generated |
||||||
|
.classpath |
||||||
|
.factorypath |
||||||
|
.project |
||||||
|
.settings |
||||||
|
.springBeans |
||||||
|
.sts4-cache |
||||||
|
|
||||||
|
### NetBeans ### |
||||||
|
/nbproject/private/ |
||||||
|
/nbbuild/ |
||||||
|
/dist/ |
||||||
|
/nbdist/ |
||||||
|
/.nb-gradle/ |
||||||
|
build/ |
||||||
|
!**/src/main/**/build/ |
||||||
|
!**/src/test/**/build/ |
||||||
|
|
||||||
|
### VS Code ### |
||||||
|
.vscode/ |
||||||
|
|
||||||
|
### Mac OS ### |
||||||
|
.DS_Store |
@ -0,0 +1,81 @@ |
|||||||
|
package com.hnac.hzims.message.controller.web; |
||||||
|
|
||||||
|
import com.hnac.hzims.message.service.IMessagePushRecordService; |
||||||
|
import com.hnac.hzims.message.vo.msgpushrecord.BusinessTypeStatVo; |
||||||
|
import com.hnac.hzims.message.vo.msgpushrecord.MessagePushRecordTypeVo; |
||||||
|
import com.hnac.hzims.message.vo.msgpushrecord.PushStatTypeVo; |
||||||
|
import com.hnac.hzims.message.vo.msgpushrecord.UserPushStatTypeVo; |
||||||
|
import lombok.RequiredArgsConstructor; |
||||||
|
import lombok.extern.slf4j.Slf4j; |
||||||
|
import org.springblade.core.tool.api.R; |
||||||
|
import org.springframework.web.bind.annotation.GetMapping; |
||||||
|
import org.springframework.web.bind.annotation.RequestMapping; |
||||||
|
import org.springframework.web.bind.annotation.RestController; |
||||||
|
import java.util.List; |
||||||
|
|
||||||
|
/** |
||||||
|
* 消息统计页面 |
||||||
|
* @Author dfy |
||||||
|
* @Version v1.0 |
||||||
|
* @Serial 1.0 |
||||||
|
* @Date 2023/4/7 8:41 |
||||||
|
*/ |
||||||
|
@Slf4j |
||||||
|
@RestController |
||||||
|
@RequiredArgsConstructor |
||||||
|
@RequestMapping("/api/message/statistics") |
||||||
|
public class MessageStatisticsController { |
||||||
|
|
||||||
|
|
||||||
|
private final IMessagePushRecordService messagePushRecordService; |
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* 短信推送统计 |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
@GetMapping("/smsPushStat") |
||||||
|
public R smsPushStat() { |
||||||
|
log.info("短信推送统计"); |
||||||
|
List<MessagePushRecordTypeVo> messagePushRecordVos = messagePushRecordService.smsPushStat(); |
||||||
|
log.info("短信推送统计 返回的数据: {}",messagePushRecordVos); |
||||||
|
return R.data(messagePushRecordVos); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* 业务类型统计 |
||||||
|
*/ |
||||||
|
@GetMapping("/businessTypeStat") |
||||||
|
public R businessTypeStat() { |
||||||
|
log.info("业务类型统计"); |
||||||
|
List<BusinessTypeStatVo> messagePushRecordVos = messagePushRecordService.businessTypeStat(); |
||||||
|
log.info("业务类型统计 返回的数据: {}",messagePushRecordVos); |
||||||
|
return R.data(messagePushRecordVos); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* 人员发送统计 |
||||||
|
*/ |
||||||
|
@GetMapping("/userPushStat") |
||||||
|
public R userPushStat() { |
||||||
|
log.info("人员发送统计"); |
||||||
|
List<UserPushStatTypeVo> messagePushRecordVos = messagePushRecordService.userPushStat(); |
||||||
|
log.info("人员发送统计 返回的数据: {}",messagePushRecordVos); |
||||||
|
return R.data(messagePushRecordVos); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* 推送成功失败统计 |
||||||
|
*/ |
||||||
|
@GetMapping("/pushStat") |
||||||
|
public R pushStat() { |
||||||
|
List<PushStatTypeVo> messagePushRecordVos = messagePushRecordService.pushStat(); |
||||||
|
log.info("推送成功失败统计 返回的数据: {}",messagePushRecordVos); |
||||||
|
return R.data(messagePushRecordVos); |
||||||
|
} |
||||||
|
|
||||||
|
} |
@ -1,8 +1,42 @@ |
|||||||
package com.hnac.hzims.message.mapper; |
package com.hnac.hzims.message.mapper; |
||||||
|
|
||||||
import com.hnac.hzims.message.entity.MessagePushRecordEntity; |
import com.hnac.hzims.message.entity.MessagePushRecordEntity; |
||||||
|
import com.hnac.hzims.message.vo.msgpushrecord.BusinessTypeStatVo; |
||||||
|
import com.hnac.hzims.message.vo.msgpushrecord.MessagePushRecordVo; |
||||||
|
import com.hnac.hzims.message.vo.msgpushrecord.PushStatTypeVo; |
||||||
|
import com.hnac.hzims.message.vo.msgpushrecord.UserPushStatTypeVo; |
||||||
import org.springblade.core.datascope.mapper.UserDataScopeBaseMapper; |
import org.springblade.core.datascope.mapper.UserDataScopeBaseMapper; |
||||||
|
|
||||||
|
import java.util.List; |
||||||
|
import java.util.Map; |
||||||
|
|
||||||
public interface MessagePushRecordMapper extends UserDataScopeBaseMapper<MessagePushRecordEntity> { |
public interface MessagePushRecordMapper extends UserDataScopeBaseMapper<MessagePushRecordEntity> { |
||||||
|
|
||||||
|
/** |
||||||
|
* 根据type统计数量 |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
List<MessagePushRecordVo> smsPushStat(); |
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* 业务类型统计 |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
List<BusinessTypeStatVo> businessTypeStat(); |
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* 人员发送统计 |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
List<UserPushStatTypeVo> userPushStat(); |
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* 推送成功失败统计 |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
List<PushStatTypeVo> pushStat(); |
||||||
|
|
||||||
} |
} |
||||||
|
@ -0,0 +1,66 @@ |
|||||||
|
<?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="com.hnac.hzims.message.mapper.MessagePushRecordMapper"> |
||||||
|
|
||||||
|
|
||||||
|
<!-- 通用查询映射结果 --> |
||||||
|
<resultMap id="BaseResultMap" type="com.hnac.hzims.message.vo.msgpushrecord.UserPushStatTypeVo"> |
||||||
|
<result column="pusherName" property="pusherName"/> |
||||||
|
<collection property="pushStatList" ofType="com.hnac.hzims.message.vo.msgpushrecord.UserPushStatVo" > |
||||||
|
<result column="pusherName" property="pusherName"/> |
||||||
|
<result column="businessClassify" property="businessClassify"/> |
||||||
|
<result column="count" property="power"/> |
||||||
|
</collection> |
||||||
|
</resultMap> |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- 根据type统计数量--> |
||||||
|
<select id="smsPushStat" resultType="com.hnac.hzims.message.vo.msgpushrecord.MessagePushRecordVo"> |
||||||
|
select count(1) power, |
||||||
|
date_format(PLAN_TIME, '%Y-%m') strMonth, |
||||||
|
type |
||||||
|
from hzims_message_push_record |
||||||
|
where IS_DELETED = 0 |
||||||
|
group by strMonth, TYPE |
||||||
|
</select> |
||||||
|
|
||||||
|
<!-- 业务类型统计--> |
||||||
|
<select id="businessTypeStat" resultType="com.hnac.hzims.message.vo.msgpushrecord.BusinessTypeStatVo"> |
||||||
|
select BUSINESS_CLASSIFY businessClassify, |
||||||
|
count(1) power |
||||||
|
from hzims_message_push_record |
||||||
|
where IS_DELETED = 0 |
||||||
|
group by businessClassify |
||||||
|
</select> |
||||||
|
|
||||||
|
<!-- 人员发送统计--> |
||||||
|
<select id="userPushStat" resultMap="BaseResultMap"> |
||||||
|
select PUSHER_NAME pusherName, |
||||||
|
BUSINESS_CLASSIFY businessClassify, |
||||||
|
count(1) count |
||||||
|
from hzims_message_push_record |
||||||
|
where IS_DELETED = 0 |
||||||
|
group by businessClassify, pusherName |
||||||
|
</select> |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- 推送成功失败统计--> |
||||||
|
<resultMap id="PushStatResultMap" type="com.hnac.hzims.message.vo.msgpushrecord.PushStatTypeVo"> |
||||||
|
<result column="businessClassify" property="businessClassify"/> |
||||||
|
<collection property="pushStatList" ofType="com.hnac.hzims.message.vo.msgpushrecord.PushStatVo" > |
||||||
|
<result column="businessClassify" property="businessClassify"/> |
||||||
|
<result column="status" property="status"/> |
||||||
|
<result column="count" property="power"/> |
||||||
|
</collection> |
||||||
|
</resultMap> |
||||||
|
|
||||||
|
|
||||||
|
<select id="pushStat" resultMap="PushStatResultMap"> |
||||||
|
select BUSINESS_CLASSIFY businessClassify,STATUS status,count(1) count |
||||||
|
from hzims_message_push_record |
||||||
|
group by businessClassify,status |
||||||
|
</select> |
||||||
|
</mapper> |
Loading…
Reference in new issue