⬆️ Upgrading dependencies. spring boot 2.1.4

✨ 添加新特性。 公众号数据统计功能
This commit is contained in:
冷冷 committed 2019-04-06 01:19:56 +08:00
1 parent 4219161d47
commit 4e64acf8a2
5 files changed
+92 -5

No files matched your search

+1 -1
View File
@@ -18,7 +18,7 @@
<properties> <properties>
<pigx.version>2.8.0</pigx.version> <pigx.version>2.8.0</pigx.version>
<mybatis-plus.version>3.1.0</mybatis-plus.version> <mybatis-plus.version>3.1.0</mybatis-plus.version>
<mysql.connector.version>8.0.13</mysql.connector.version> <mysql.connector.version>8.0.15</mysql.connector.version>
<swagger.core.version>1.5.22</swagger.core.version> <swagger.core.version>1.5.22</swagger.core.version>
<mp.weixin.version>3.3.0</mp.weixin.version> <mp.weixin.version>3.3.0</mp.weixin.version>
</properties> </properties>
@@ -133,4 +133,15 @@ public class WxAccountController {
return new R<>(wxAccountService.list()); return new R<>(wxAccountService.list());
} }
/**
* 获取公众号接口数据
*
* @param appId 公众号
* @param interval 时间间隔
* @return
*/
@GetMapping("/statistics")
public R statistics(String appId, String interval) {
return wxAccountService.statistics(appId, interval);
}
} }
@@ -35,4 +35,13 @@ public interface WxAccountService extends IService<WxAccount> {
* @return * @return
*/ */
R generateQr(String appId); R generateQr(String appId);
/**
* 获取公众号统计数据
*
* @param appId
* @param interval
* @return
*/
R statistics(String appId, String interval);
} }
@@ -16,6 +16,7 @@
*/ */
package com.pig4cloud.pigx.mp.service.impl; package com.pig4cloud.pigx.mp.service.impl;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.pig4cloud.pigx.common.core.constant.CommonConstants; import com.pig4cloud.pigx.common.core.constant.CommonConstants;
@@ -26,10 +27,20 @@ import com.pig4cloud.pigx.mp.mapper.WxAccountMapper;
import com.pig4cloud.pigx.mp.service.WxAccountService; import com.pig4cloud.pigx.mp.service.WxAccountService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import me.chanjar.weixin.common.error.WxErrorException; import me.chanjar.weixin.common.error.WxErrorException;
import me.chanjar.weixin.mp.api.WxMpDataCubeService;
import me.chanjar.weixin.mp.api.WxMpService; import me.chanjar.weixin.mp.api.WxMpService;
import me.chanjar.weixin.mp.bean.datacube.WxDataCubeArticleResult;
import me.chanjar.weixin.mp.bean.datacube.WxDataCubeInterfaceResult;
import me.chanjar.weixin.mp.bean.datacube.WxDataCubeMsgResult;
import me.chanjar.weixin.mp.bean.datacube.WxDataCubeUserCumulate;
import me.chanjar.weixin.mp.bean.result.WxMpQrCodeTicket; import me.chanjar.weixin.mp.bean.result.WxMpQrCodeTicket;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
/** /**
* 公众号账户 * 公众号账户
* *
@@ -66,4 +77,60 @@ public class WxAccountServiceImpl extends ServiceImpl<WxAccountMapper, WxAccount
return R.builder().build(); return R.builder().build();
} }
/**
* 获取公众号统计数据
*
* @param appId 公众号信息
* @param interval 时间间隔
* @return
*/
@Override
public R statistics(String appId, String interval) {
String[] split = interval.split(StrUtil.DASHED);
Date start = new Date(Long.parseLong(split[0]));
Date end = new Date(Long.parseLong(split[1]));
WxMpService wxMpService = WxMpConfiguration.getMpServices().get(appId);
WxMpDataCubeService cubeService = wxMpService.getDataCubeService();
List<List<Object>> result = new ArrayList<>();
try {
// 获取累计用户数据
List<Object> cumulateList = cubeService.getUserCumulate(start, end).stream()
.map(WxDataCubeUserCumulate::getCumulateUser)
.collect(Collectors.toList());
result.add(cumulateList);
// 获取用户分享数据
List<Object> shareList = cubeService.getUserShare(start, end).stream()
.map(WxDataCubeArticleResult::getShareCount)
.collect(Collectors.toList());
result.add(shareList);
// 获取消息发送概况数据
List<Object> upstreamList = cubeService.getUpstreamMsg(start, end).stream()
.map(WxDataCubeMsgResult::getMsgCount)
.collect(Collectors.toList());
result.add(upstreamList);
// 获取接口调用概况数据
List<WxDataCubeInterfaceResult> interfaceSummaryList = cubeService.getInterfaceSummary(start, end);
List<Object> interfaceList = interfaceSummaryList.stream()
.map(WxDataCubeInterfaceResult::getCallbackCount)
.collect(Collectors.toList());
result.add(interfaceList);
// 接口日期保存
List<Object> dateList = interfaceSummaryList.stream()
.map(WxDataCubeInterfaceResult::getRefDate)
.collect(Collectors.toList());
result.add(dateList);
} catch (WxErrorException e) {
log.error(" 获取公众号统计数据报错", e);
return R.builder().code(CommonConstants.FAIL).msg("获取公众号数据失败:" + e.getError().getErrorMsg()).build();
}
return R.builder().data(result).build();
}
} }
+4 -4
View File
@@ -42,14 +42,14 @@
</developers> </developers>
<properties> <properties>
<spring-boot.version>2.1.3.RELEASE</spring-boot.version> <spring-boot.version>2.1.4.RELEASE</spring-boot.version>
<spring-cloud.version>Greenwich.SR1</spring-cloud.version> <spring-cloud.version>Greenwich.SR1</spring-cloud.version>
<spring-platform.version>Cairo-SR7</spring-platform.version> <spring-platform.version>Cairo-SR8</spring-platform.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target> <maven.compiler.target>1.8</maven.compiler.target>
<spring-boot-admin.version>2.1.3</spring-boot-admin.version> <spring-boot-admin.version>2.1.3</spring-boot-admin.version>
<hutool.version>4.4.5</hutool.version> <hutool.version>4.5.3</hutool.version>
<kaptcha.version>0.0.9</kaptcha.version> <kaptcha.version>0.0.9</kaptcha.version>
<swagger.fox.version>2.9.2</swagger.fox.version> <swagger.fox.version>2.9.2</swagger.fox.version>
<curator.version>2.10.0</curator.version> <curator.version>2.10.0</curator.version>
@@ -57,7 +57,7 @@
<lcn.version>4.1.0</lcn.version> <lcn.version>4.1.0</lcn.version>
<jasypt.version>2.1.1</jasypt.version> <jasypt.version>2.1.1</jasypt.version>
<ttl.version>2.10.2</ttl.version> <ttl.version>2.10.2</ttl.version>
<minio.version>6.0.2</minio.version> <minio.version>6.0.4</minio.version>
<elastic-job-lite.version>2.1.5</elastic-job-lite.version> <elastic-job-lite.version>2.1.5</elastic-job-lite.version>
<security.oauth.version>2.3.5.RELEASE</security.oauth.version> <security.oauth.version>2.3.5.RELEASE</security.oauth.version>
<security.oauth.auto.version>2.1.2.RELEASE</security.oauth.auto.version> <security.oauth.auto.version>2.1.2.RELEASE</security.oauth.auto.version>