统计添加注释
This commit is contained in:
parent
8a7021d759
commit
fb530a1eb4
@ -139,23 +139,28 @@ public class AppStatisticsServiceImpl implements AppStatisticsService {
|
||||
//镜头检测游客数
|
||||
Integer cameraShotOfMemberNum=statisticsMapper.countCameraShotOfMember(query);
|
||||
//扫码访问人数
|
||||
// 扫小程序码或景区码进入访问的用户数,包括授权用户(使用OpenID进行精准统计)和未授权用户(使用 UUID统计访问)。但当用户授权时,获取OpenID并与UUID关联,删除本地UUID,避免重复记录。
|
||||
Integer scanCodeVisitorOfMemberNum=statisticsMapper.countScanCodeOfMember(query);
|
||||
//镜头检测游客数_扫码访问人数_转化率
|
||||
// vo.setCsom_scaom(calculateConversionRate(scanCodeVisitorOfMemberNum,cameraShotOfMemberNum));
|
||||
vo.setCsom_scaom("-");
|
||||
//上传头像(人脸)人数
|
||||
// 上传了人脸的用户数(包括本地临时ID和获取到OpenID的,同一设备微信获取到OpenID要覆盖掉之前生成的临时ID),上传多张人脸都只算一个人。
|
||||
Integer uploadFaceOfMemberNum=statisticsMapper.countUploadFaceOfMember(query);
|
||||
//扫码访问人数_上传头像人数_转化率
|
||||
vo.setScaom_ufom(calculateConversionRate(uploadFaceOfMemberNum,scanCodeVisitorOfMemberNum));
|
||||
//推送订阅人数
|
||||
// 只要点了允许通知,哪怕只勾选1条订阅都算
|
||||
Integer pushOfMemberNum =statisticsMapper.countPushOfMember(query);
|
||||
//上传头像人数_推送订阅人数_转化率
|
||||
vo.setUfom_pom((calculateConversionRate(pushOfMemberNum,uploadFaceOfMemberNum)));
|
||||
//生成视频人数
|
||||
// 生成过Vlog视频的用户ID数,要注意屏蔽掉以前没有片段也能生成的情况
|
||||
Integer completeVideoOfMemberNum =statisticsMapper.countCompleteVideoOfMember(query);
|
||||
//推送订阅人数_生成视频人数_转化率
|
||||
vo.setPom_cvom((calculateConversionRate(completeVideoOfMemberNum,pushOfMemberNum)));
|
||||
//预览视频人数
|
||||
// 购买前播放了5秒的视频条数。
|
||||
Integer previewVideoOfMemberNum =statisticsMapper.countPreviewVideoOfMember(query);
|
||||
if (previewVideoOfMemberNum==null){
|
||||
previewVideoOfMemberNum=0;
|
||||
@ -163,6 +168,7 @@ public class AppStatisticsServiceImpl implements AppStatisticsService {
|
||||
//生成视频人数_预览视频人数_转化率
|
||||
vo.setCvom_pvom((calculateConversionRate(previewVideoOfMemberNum,completeVideoOfMemberNum)));
|
||||
//点击购买人数
|
||||
// 点了立即购买按钮的用户ID就算,包括支付的和未支付的都算,只要点击了。
|
||||
Integer clickOnPayOfMemberNum =statisticsMapper.countClickPayOfMember(query);
|
||||
//预览视频人数_点击购买人数_转化率
|
||||
vo.setPvom_cpom((calculateConversionRate(clickOnPayOfMemberNum,previewVideoOfMemberNum)));
|
||||
@ -171,9 +177,11 @@ public class AppStatisticsServiceImpl implements AppStatisticsService {
|
||||
//点击购买人数_支付订单人数_转化率
|
||||
vo.setCpom_pom((calculateConversionRate(payOfMemberNum,clickOnPayOfMemberNum)));
|
||||
//总访问人数
|
||||
// 通过任何途径访问到小程序的总人数,包括授权用户和未授权用户。
|
||||
Integer totalVisitorOfMemberNum =statisticsMapper.countTotalVisitorOfMember(query);
|
||||
// Integer totalVisitorOfMemberNum =scanCodeVisitorOfMemberNum;
|
||||
//生成视频条数
|
||||
// 仅指代生成的Vlog条数,不包含录像原片。
|
||||
Integer completeOfVideoNum =statisticsMapper.countCompleteOfVideo(query);
|
||||
//预览视频条数
|
||||
Integer previewOfVideoNum =statisticsMapper.countPreviewOfVideo(query);
|
||||
@ -341,15 +349,16 @@ public class AppStatisticsServiceImpl implements AppStatisticsService {
|
||||
int payCount=statisticsMapper.countPayOfOrder(query);
|
||||
|
||||
if(cycle==1){
|
||||
//当前周期的支付订单金额
|
||||
// 支付过订单的金额,包含已退款的金额。
|
||||
vo.setNowOrderAmount(orderAmountDf.format(orderAmount));
|
||||
//当前周期预览_支付转化率、扫码_付费用户转化率
|
||||
// 订单数÷预览人数。假设一共5个人预览,产生了3个订单,其实是2个人支付的(其中1人购买2单),预览-支付转化率是3÷5,而不是2÷5。
|
||||
if(preview==0){
|
||||
vo.setNowPreviewPay("0.00");
|
||||
}else {
|
||||
BigDecimal previewPay = new BigDecimal(pay).divide(new BigDecimal(preview), 4, RoundingMode.HALF_UP).multiply(new BigDecimal(100));
|
||||
BigDecimal previewPay = new BigDecimal(payCount).divide(new BigDecimal(preview), 4, RoundingMode.HALF_UP).multiply(new BigDecimal(100));
|
||||
vo.setNowPreviewPay(df.format(previewPay));
|
||||
}
|
||||
// 付费的用户人数÷扫码的用户人数。此处是人数除以人数,而且是除以扫码人数,而不是预览人数。
|
||||
if(scanCode==0){
|
||||
vo.setNowScanCodePay("0.00");
|
||||
}else {
|
||||
@ -358,14 +367,16 @@ public class AppStatisticsServiceImpl implements AppStatisticsService {
|
||||
}
|
||||
}else if(cycle==2){
|
||||
//上一个周期的支付订单金额
|
||||
// 支付过订单的金额,包含已退款的金额。
|
||||
vo.setPreviousOrderAmount(orderAmountDf.format(orderAmount));
|
||||
// 计算预览_支付转化率
|
||||
// 订单数÷预览人数。假设一共5个人预览,产生了3个订单,其实是2个人支付的(其中1人购买2单),预览-支付转化率是3÷5,而不是2÷5。
|
||||
if(preview==0){
|
||||
vo.setPreviousPreviewPay("0.00");
|
||||
}else {
|
||||
BigDecimal previewPay = new BigDecimal(pay).divide(new BigDecimal(preview), 4, RoundingMode.HALF_UP).multiply(new BigDecimal(100));
|
||||
BigDecimal previewPay = new BigDecimal(payCount).divide(new BigDecimal(preview), 4, RoundingMode.HALF_UP).multiply(new BigDecimal(100));
|
||||
vo.setPreviousPreviewPay(df.format(previewPay));
|
||||
}
|
||||
// 付费的用户人数÷扫码的用户人数。此处是人数除以人数,而且是除以扫码人数,而不是预览人数。
|
||||
if(scanCode==0){
|
||||
vo.setPreviousScanCodePay("0.00");
|
||||
}else {
|
||||
|
@ -155,17 +155,16 @@
|
||||
<select id="countCompleteVideoOfMember" resultType="java.lang.Integer">
|
||||
select ifnull(count(1),0) as count
|
||||
from(
|
||||
select member_video.member_id
|
||||
select member_id
|
||||
from member_video
|
||||
left join video on member_video.video_id = video.id
|
||||
where member_video.scenic_id = #{scenicId}
|
||||
<if test="startTime!= null">
|
||||
and video.create_time >= #{startTime}
|
||||
and member_video.create_time >= #{startTime}
|
||||
</if>
|
||||
<if test="endTime!= null">
|
||||
and video.create_time <= #{endTime}
|
||||
and member_video.create_time <= #{endTime}
|
||||
</if>
|
||||
group by member_video.member_id
|
||||
group by member_id
|
||||
)a
|
||||
</select>
|
||||
<select id="countTotalVisitorOfMember" resultType="java.lang.Integer">
|
||||
@ -186,7 +185,7 @@
|
||||
</select>
|
||||
<select id="countCompleteOfVideo" resultType="java.lang.Integer">
|
||||
select count(1) as count
|
||||
from task
|
||||
from video
|
||||
where scenic_id = #{scenicId}
|
||||
<if test="startTime!= null">
|
||||
and create_time >= #{startTime}
|
||||
|
Loading…
x
Reference in New Issue
Block a user