Trick 6 年之前
父節點
當前提交
c565b72771

+ 1 - 0
common/common-request-mapping/src/main/java/com/yihu/jw/rm/base/BaseRequestMapping.java

@ -273,6 +273,7 @@ public class BaseRequestMapping {
        public static final String findWxTemplateConfig ="/findWxTemplateConfig";
        public static final String findWxTemplateConfigExist ="/findWxTemplateConfigExist";
        public static final String getAllTemp ="/getAllTemp";
        public static final String getFansTitle ="/getFansTitle";
        public static final String getusersummary ="/getusersummary";
        public static final String getusercumulate ="/getusercumulate";

+ 49 - 1
common/common-rest-model/src/main/java/com/yihu/jw/restmodel/base/wx/StatisticsTitleVO.java

@ -5,5 +5,53 @@ package com.yihu.jw.restmodel.base.wx;
 */
public class StatisticsTitleVO {
    private String newUser;
    private Integer new_user;
    private Integer cumulate_user;
    private Integer cancel_user;
    private Integer add_user;
    private String date;
    public Integer getNew_user() {
        return new_user;
    }
    public void setNew_user(Integer new_user) {
        this.new_user = new_user;
    }
    public Integer getCumulate_user() {
        return cumulate_user;
    }
    public void setCumulate_user(Integer cumulate_user) {
        this.cumulate_user = cumulate_user;
    }
    public Integer getCancel_user() {
        return cancel_user;
    }
    public void setCancel_user(Integer cancel_user) {
        this.cancel_user = cancel_user;
    }
    public Integer getAdd_user() {
        return add_user;
    }
    public void setAdd_user(Integer add_user) {
        this.add_user = add_user;
    }
    public String getDate() {
        return date;
    }
    public void setDate(String date) {
        this.date = date;
    }
}

+ 16 - 6
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/wx/WechatController.java

@ -1,6 +1,7 @@
package com.yihu.jw.base.endpoint.wx;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.base.service.wx.WechatService;
import com.yihu.jw.base.service.wx.WxTemplateService;
import com.yihu.jw.entity.base.wx.*;
@ -350,24 +351,33 @@ public class WechatController extends EnvelopRestEndpoint {
    //===================微信粉丝统计==========================================
    @GetMapping(value = BaseRequestMapping.WeChat.getusersummary)
    @ApiOperation(value = "获取用户增减数据", notes = "获取用户增减数据")
    public Envelop getusersummary(@ApiParam(name = "wechatId", value = "微信id")
    public ObjEnvelop<JSONObject> getusersummary(@ApiParam(name = "wechatId", value = "微信id")
                                  @RequestParam(value = "wechatId", required = true)String wechatId,
                                  @ApiParam(name = "beginDate", value = "开始时间,例如:2014-12-02")
                                  @RequestParam(value = "beginDate", required = true)String beginDate,
                                  @ApiParam(name = "endDate", value = "结束时间,例如:2014-12-07")
                                  @RequestParam(value = "endDate", required = true)String endDate) {
        return wechatService.getusersummary(wechatId,beginDate,endDate);
        return success(BaseRequestMapping.WeChat.api_success,wechatService.getusersummary(wechatId,beginDate,endDate));
    }
    @GetMapping(value = BaseRequestMapping.WeChat.getFansTitle)
    @ApiOperation(value = "获取粉丝统计头部数据", notes = "获取粉丝统计头部数据")
    public ObjEnvelop<StatisticsTitleVO> getFansTitle(@ApiParam(name = "wechatId", value = "微信id")
                                          @RequestParam(value = "wechatId", required = true)String wechatId,
                                          @ApiParam(name = "date", value = "计算日期")
                                          @RequestParam(value = "date", required = true)String date) {
        return success(BaseRequestMapping.WeChat.api_success,wechatService.getFansTitle(wechatId,date));
    }
    @GetMapping(value = BaseRequestMapping.WeChat.getusercumulate)
    @ApiOperation(value = "获取累计用户数据", notes = "获取累计用户数据")
    public Envelop getusercumulate(@ApiParam(name = "wechatId", value = "微信id")
    public ObjEnvelop<JSONObject> getusercumulate(@ApiParam(name = "wechatId", value = "微信id")
                                   @RequestParam(value = "wechatId", required = true)String wechatId,
                                   @ApiParam(name = "beginDate", value = "开始时间,例如:2014-12-02")
                                                  @ApiParam(name = "beginDate", value = "开始时间,例如:2014-12-02")
                                   @RequestParam(value = "beginDate", required = true)String beginDate,
                                   @ApiParam(name = "endDate", value = "结束时间,例如:2014-12-07")
                                                  @ApiParam(name = "endDate", value = "结束时间,例如:2014-12-07")
                                   @RequestParam(value = "endDate", required = true)String endDate) {
        return wechatService.getusercumulate(wechatId,beginDate,endDate);
        return success(BaseRequestMapping.WeChat.api_success,wechatService.getusercumulate(wechatId,beginDate,endDate));
    }
    //===================微信粉丝统计end==========================================

+ 50 - 17
svr/svr-base/src/main/java/com/yihu/jw/base/service/wx/WechatService.java

@ -1,6 +1,7 @@
package com.yihu.jw.base.service.wx;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.base.dao.wx.*;
import com.yihu.jw.entity.base.wx.*;
@ -11,6 +12,7 @@ import com.yihu.jw.restmodel.web.ObjEnvelop;
import com.yihu.jw.rm.base.BaseRequestMapping;
import com.yihu.jw.util.wechat.WeiXinMessageReplyUtils;
import com.yihu.jw.util.wechat.WeiXinMessageUtils;
import io.swagger.util.Json;
import org.apache.commons.collections.map.HashedMap;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
@ -609,7 +611,10 @@ public class WechatService {
    //===================微信统计==========================================
    public Envelop getUserSummaryTitle(String wechatId,String date){
    public StatisticsTitleVO getFansTitle(String wechatId,String date){
        StatisticsTitleVO statisticsTitleVO = new StatisticsTitleVO();
        //获取统计增量
        String url ="https://api.weixin.qq.com/datacube/getusersummary?access_token="+wxAccessTokenService.getWxAccessTokenById(wechatId).getAccessToken();
        String param = "{ \n" +
                "    \"begin_date\": \""+date+"\", \n" +
@ -618,34 +623,62 @@ public class WechatService {
        String result = com.yihu.jw.util.wechat.wxhttp.HttpUtil.sendPost(url, param);
        JSONObject rs = JSON.parseObject(result);
        JSONArray list = rs.getJSONArray("list");
        if(list!=null&&list.size()>0&&!list.isEmpty()){
            JSONObject info = (JSONObject)list.get(0);
            Integer new_user = info.getInteger("new_user");
            Integer cancel_user = info.getInteger("cancel_user");
            Integer add_user = new_user-cancel_user;
            statisticsTitleVO.setNew_user(new_user);
            statisticsTitleVO.setCancel_user(cancel_user);
            statisticsTitleVO.setAdd_user(add_user);
        }
        //获取统计总量
        String url2 ="https://api.weixin.qq.com/datacube/getusercumulate?access_token="+wxAccessTokenService.getWxAccessTokenById(wechatId).getAccessToken();
        String param2 = "{ \n" +
                "    \"begin_date\": \""+date+"\", \n" +
                "    \"end_date\": \""+date+"\"\n" +
                "}";
        return null;
        String result2 = com.yihu.jw.util.wechat.wxhttp.HttpUtil.sendPost(url2, param2);
        JSONObject rs2 = JSON.parseObject(result2);
        JSONArray list2 = rs2.getJSONArray("list");
        if(list2!=null&&list2.size()>0&&!list2.isEmpty()){
            JSONObject info = (JSONObject)list2.get(0);
            Integer cumulate_user = info.getInteger("cumulate_user");
            statisticsTitleVO.setCumulate_user(cumulate_user);
        }
        return statisticsTitleVO;
    }
    public Envelop getusersummary(String wechatId,String beginDate,String endDate){
    public JSONObject getusersummary(String wechatId,String beginDate,String endDate){
        String url ="https://api.weixin.qq.com/datacube/getusersummary?access_token="+wxAccessTokenService.getWxAccessTokenById(wechatId).getAccessToken();
        String param = "{ \n" +
                "    \"begin_date\": \""+beginDate+"\", \n" +
                "    \"end_date\": \""+endDate+"\"\n" +
                "}";
        String result = com.yihu.jw.util.wechat.wxhttp.HttpUtil.sendPost(url, param);
        JSONObject rs = JSON.parseObject(result);
        return Envelop.getSuccess(result);
        JSONObject paramJson = new JSONObject();
        paramJson.put("begin_date",beginDate);
        paramJson.put("end_date",endDate);
        String result = com.yihu.jw.util.wechat.wxhttp.HttpUtil.sendPost(url, paramJson.toJSONString());
        JSONObject rs = JSON.parseObject(result);
        return rs;
    }
    public Envelop getusercumulate(String wechatId,String beginDate,String endDate){
    public JSONObject getusercumulate(String wechatId,String beginDate,String endDate){
        String url ="https://api.weixin.qq.com/datacube/getusercumulate?access_token="+wxAccessTokenService.getWxAccessTokenById(wechatId).getAccessToken();
        String param = "{ \n" +
                "    \"begin_date\": \""+beginDate+"\", \n" +
                "    \"end_date\": \""+endDate+"\"\n" +
                "}";
        String result = com.yihu.jw.util.wechat.wxhttp.HttpUtil.sendPost(url, param);
        return Envelop.getSuccess(result);
        JSONObject paramJson = new JSONObject();
        paramJson.put("begin_date",beginDate);
        paramJson.put("end_date",endDate);
        String result = com.yihu.jw.util.wechat.wxhttp.HttpUtil.sendPost(url, paramJson.toJSONString());
        JSONObject rs = JSON.parseObject(result);
        return rs;
    }
    //===================微信统计end=======================================