由于不再是一个账号,现在科大讯飞为四个账户原统计方式不能再使用。 --- ~~新的科大讯飞的计费逻辑: 1.科大讯飞-教育/科大讯飞-销委会,当前2个客户执行2个合同,另外客户购买的还有商机管理的导出,需要和下线导出、商机管理导出的数据去重再单独计费(按照公告唯一标识,谁先取记谁的费用); 数据存储表名:科大讯飞-教育:192.168.3.167-jyqyfw_historyData-20211101Kdxf_jy; 科大讯飞-销委会:192.168.3.167-jyqyfw_historyData-20201126Kdxf; 2.科大讯飞-医疗/科大讯飞-卫健委,当前2个客户执行1个合同(数据量平分),需要和这两家之前已取过的数据去重再单独计费(按照公告唯一标识,谁先取记谁的费用) 数据存储表名:科大讯飞-医疗:192.168.3.167-jyqyfw_historyData-20211101Kdxf_yl; 科大讯飞-卫健委:192.168.3.167-jyqyfw_historyData-2021Kdxf_wjw。~~ --- 2022-11-24 调整 科大讯飞的计费逻辑: 1.科大讯飞-教育/科大讯飞-销委会,当前2个客户执行2个合同,另外客户购买的还有商机管理的导出,需要和下线导出、商机管理导出的数据去重再单独计费(记入销委会); 数据存储表名:科大讯飞-教育:192.168.3.167-jyqyfw_historyData-20211101Kdxf_jy; 科大讯飞-销委会:192.168.3.167-jyqyfw_historyData-20201126Kdxf; 2.科大讯飞-医疗/科大讯飞-卫健委,当前2个客户执行1个合同(数据量平分),需要和这两家之前已取过的数据去重再单独计费(按照公告唯一标识,谁先取记谁的费用) 数据存储表名:科大讯飞-医疗:192.168.3.167-jyqyfw_historyData-20211101Kdxf_yl; 科大讯飞-卫健委:192.168.3.167-jyqyfw_historyData-2021Kdxf_wjw。 处理方法: 科大讯飞-教育/科大讯飞-销委会: 商机管理导出的线上数据字段补充 a. 取infoid的值新增一个id的字段 b. 补充APPID字段,补销委会的appid 合并商机管理和线下数据进行数据统计: 按照公告id 教育和消委会,相同数据时间早的计数。 线下appid缺失的数据不参与统计。 科大讯飞-医疗/科大讯飞-卫健委 按照公告id 医疗和卫健委,相同数据时间早的计数。 --- 统计步骤整理: 以下时间需手动替换为截止统计时间。 科大讯飞-教育/科大讯飞-销委会: 第一步: 商机管理导出数据导入线下库。 qfw entdataexport里面的数据 查询条件:开始时间不用改,结束时间改为统计截止日期的时间戳。 时间戳转换网址:https://tool.lu/timestamp/ ``` { "entid" : NumberInt(10511), "createtime":{ "$gt":1609212120, "$lt":1669305600 }} ``` 将查询的结果导入数据组的167服务器。 第二步:商机管理数据补充字段 (商机管理导出的线上数据没有appid以及id) a. 需要取infoid的值新增一个id的字段 ~~b. 补充APPID字段,2021-11-23 之前的数据补消委会的appid, 2021-11-23之后的数据补教育的appid~~ b. 全部补充为消委会的appid 各用户appid : 科大讯飞股份有限公司_卫健委jyKRZXQQEIBQRYSUJAFg9o科大讯飞股份有限公司_医疗jyPBBXQQEFCQVbSUNAJCd8科大讯飞股份有限公司_教育jyOSxXQQECCA9dS0BPKjxH科大讯飞股份有限公司_消委会jyHDhXQQIAAgdZQEBLERV2 补充字段执行sql 消委会: ``` db.getCollection("20221125kdxfentdataexport").find({}).forEach(function(item){ item.id=item.infoid item.appid="jyHDhXQQIAAgdZQEBLERV2" db.getCollection("20221125kdxfentdataexport").save(item) }) ``` ~~教育: db.getCollection("20220307kdxfentdataexport").find({ "createtime":{ "$gte":NumberLong(1637596800) } }).forEach(function(item){ item.id=item.infoid item.appid="jyOSxXQQECCA9dS0BPKjxH" db.getCollection("20220307kdxfentdataexport").save(item) })~~ 第三步: 合并商机管理和线下数据 三张表的数据统计到一起 1.商机管理补充过字段的数据导入统计表 2.教育的数据导入统计表: 科大讯飞-教育:192.168.3.167-jyqyfw_historyData-20211101Kdxf_jy; 查询条件: ``` { createtime:{ "$lte":NumberLong(1669305600)}} ``` 3.消委会的数据导入到统计表: 科大讯飞-销委会:192.168.3.167-jyqyfw_historyData-20201126Kdxf; ``` { createtime:{ "$lte":NumberLong(1669305600)}} ``` 第四步:聚合统计 进行数据统计: 按照公告id 教育和消委会,相同数据时间早的计数。 线下appid缺失的数据不参与统计。 ``` db.getCollection("20221125kdxf_entexport_jy_xwh_fu").aggregate([ {$match:{"createtime":{"$lte":NumberLong(1669305600)}}}, {$sort: { id: 1, createtime:1}}, {$group:{ _id:"$id", first:{$first: "$appid"}, }}, {$group:{ _id:"$first", count:{$sum:1} } } ], { "allowDiskUse" : true }) ``` 科大讯飞-医疗/科大讯飞-卫健委 将两张表数据合到同一张表里,执行sql进行统计 按照公告id 医疗和卫健委,相同数据时间早的计数。 ``` db.getCollection("20221125kdxf_yl_wjw_fu").aggregate([ {$match:{"createtime":{"$lte":NumberLong(1669305600)}}}, {$sort: { id: 1, createtime:1}}, {$group:{ _id:"$id", first:{$first: "$appid"}, }}, {$group:{ _id:"$first", count:{$sum:1} } } ], { "allowDiskUse" : true }) ```