Commit ffdc1a8b by luofan

增加用户统计

parent 9cea3504
package com.dayu.bigfish.api.protocol;
import java.util.ArrayList;
public class TrackData {
private int accountId;
private String accountName;
private int id;
private ArrayList<String> trackList;
public int getAccountId() {
return accountId;
}
public void setAccountId(int accountId) {
this.accountId = accountId;
}
public String getAccountName() {
return accountName;
}
public void setAccountName(String accountName) {
this.accountName = accountName;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public ArrayList<String> getTrackList() {
return trackList;
}
public void setTrackList(ArrayList<String> trackList) {
this.trackList = trackList;
}
}
......@@ -7,19 +7,26 @@ import com.dayu.base.api.Api;
import com.dayu.bigfish.MyApplication;
import com.dayu.bigfish.api.APIService;
import com.dayu.bigfish.api.ApiFactory;
import com.dayu.bigfish.api.protocol.TrackData;
import com.dayu.common.Constants;
import com.dayu.event.UserInfo;
import com.dayu.order.api.OrderApiFactory;
import com.dayu.usercenter.api.UserApiFactory;
import com.dayu.usercenter.api.UserService2;
import com.dayu.utils.AppUtils;
import com.dayu.utils.GsonUtils;
import com.dayu.utils.SPUtils;
import com.dayu.utils.ToastUtils;
import com.dayu.utils.UserManager;
import com.google.gson.Gson;
import com.google.gson.JsonArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.util.ArrayList;
import java.util.HashMap;
import okhttp3.MediaType;
import okhttp3.RequestBody;
......@@ -36,13 +43,15 @@ public class MainPresenter extends MainContract.Presenter {
private UserInfo mUser;
private int mAccountId;
private int mSiteId;
private int trackId;
private boolean isTrack;
@Override
public void onAttached() {
mUser = UserManager.getInstance().getUser();
mAccountId = Integer.parseInt(mUser.getAccountId());
mSiteId = mUser.getSiteId();
if (!TextUtils.isEmpty(mUser.getNewAccount())){
if (!TextUtils.isEmpty(mUser.getNewAccount())) {
mView.showInvateCodeView();
}
......@@ -51,17 +60,23 @@ public class MainPresenter extends MainContract.Presenter {
private void request() {
getServiceData();
commitVersionInfo(mAccountId,"", "2", AppUtils.getPackageNum());
commitVersionInfo(mAccountId, "", "2", AppUtils.getPackageNum());
getNewVersion(AppUtils.getPackageNum());
getReceiveOrder(Constants.WATING_ORDER, mAccountId, mSiteId, 1, 20);
// getHxNum(mUser.getHxAccount());
getUserInfo(Integer.parseInt(mUser.getAccountId()));
getRedPacketData();
TrackData track = new Gson().fromJson((String) SPUtils.get("TRACK", ""), TrackData.class);
if (track == null) {
getTrackId();
} else {
trackId = track.getId();
}
}
public void getRedPacketData() {
Api.getService(com.dayu.base.api.APIService.class).getRedPacketList(mAccountId).compose(Api.applySchedulers())
.subscribe(baseObserver((datas->{
.subscribe(baseObserver((datas -> {
mView.showRedPackets(datas);
})));
}
......@@ -167,24 +182,24 @@ public class MainPresenter extends MainContract.Presenter {
//设置验证码
public void saveInvateCode() {
if (invateCode.get() == null || TextUtils.isEmpty(invateCode.get())){
if (invateCode.get() == null || TextUtils.isEmpty(invateCode.get())) {
mView.showToast("请填写邀请码");
}else {
} else {
mView.showDialog();
Api.getService(APIService.class).setInvateCode(mAccountId,invateCode.get()).compose(Api.applySchedulers())
.subscribe(baseObserver(success->{
if (success){
Api.getService(APIService.class).setInvateCode(mAccountId, invateCode.get()).compose(Api.applySchedulers())
.subscribe(baseObserver(success -> {
if (success) {
mView.hideInvateCodeView();
}
ToastUtils.showShortToast(success?"设置成功":"设置失败");
ToastUtils.showShortToast(success ? "设置成功" : "设置失败");
}));
}
}
//跳过验证码
public void jumpInvateCode() {
Api.getService(APIService.class).setInvateCode(mAccountId,"").compose(Api.applySchedulers())
.subscribe(baseObserver(success->{
Api.getService(APIService.class).setInvateCode(mAccountId, "").compose(Api.applySchedulers())
.subscribe(baseObserver(success -> {
}));
}
......@@ -192,8 +207,50 @@ public class MainPresenter extends MainContract.Presenter {
Api.getService(com.dayu.base.api.APIService.class).getAddressInfo(mAccountId).compose(Api.applySchedulers())
.subscribe(baseObserver(data -> {
mView.getUserAddressInfo(data);
},responeThrowable -> {mView.getUserAddressInfo(null);}
}, responeThrowable -> {
mView.getUserAddressInfo(null);
}
));
}
public boolean getIsTrack() {
return isTrack;
}
public void setTrack(boolean isTrack) {
this.isTrack = isTrack;
}
public void getTrackId() {
Api.getService(com.dayu.base.api.APIService.class).getTrackId(mAccountId, mUser.getAccountName(), "3").compose(Api.applySchedulers())
.subscribe(baseObserver(data -> {
TrackData track = new TrackData();
trackId = data.getId();
track.setId(trackId);
SPUtils.put("TRACK", new Gson().toJson(track));
}, responeThrowable -> {
}
));
}
public void reportTrack(ArrayList<String> trackList) {
TrackData track = new Gson().fromJson((String) SPUtils.get("TRACK", ""), TrackData.class);
if (track == null) return;
track.setAccountId(mAccountId);
track.setAccountName(mUser.getAccountName());
track.setTrackList(trackList);
RequestBody body = RequestBody.create(MediaType.parse("application/json"), GsonUtils.toJsonStr(track));
Api.getService(com.dayu.base.api.APIService.class).reportTrack(body).compose(Api.applySchedulers())
.subscribe(baseObserver(data -> {
if (!data) {
SPUtils.remove("TRACK");
getTrackId();
} else {
isTrack = false;
}
}, responeThrowable -> {
}
));
}
}
package com.dayu.bigfish.ui;
import android.Manifest;
import android.annotation.SuppressLint;
import android.app.NotificationChannel;
import android.app.NotificationManager;
import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.location.LocationManager;
import android.os.Bundle;
import android.os.Environment;
import android.os.Handler;
import android.provider.Settings;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
......@@ -22,11 +21,9 @@ import android.widget.TextView;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.alibaba.android.arouter.launcher.ARouter;
import com.bigfish.salecenter.ui.activity.PosterShareActivity;
import com.bigfish.salecenter.ui.fragment.HomeSaleFragment;
import com.dayu.base.api.Api;
import com.dayu.base.api.DownloadService;
import com.dayu.base.api.protocol.AddShareRecordData;
import com.dayu.base.api.protocol.AddressInfoBean;
import com.dayu.base.api.protocol.RedPacketBean;
import com.dayu.base.ui.activity.BaseActivity;
......@@ -35,6 +32,7 @@ import com.dayu.bigfish.R;
import com.dayu.bigfish.api.APIService;
import com.dayu.bigfish.api.protocol.BindUmengData;
import com.dayu.bigfish.api.protocol.InformBean;
import com.dayu.bigfish.api.protocol.TrackData;
import com.dayu.bigfish.api.protocol.VersionInfo;
import com.dayu.bigfish.databinding.ActivityMainBinding;
import com.dayu.bigfish.presenter.main.MainContract;
......@@ -63,8 +61,6 @@ import com.dayu.usercenter.ui.activity2.BusinessTypeActivity;
import com.dayu.usercenter.ui.fragment.BusinessFragment;
import com.dayu.usercenter.ui.fragment.HomeUserFragment;
import com.dayu.utils.AppUtils;
import com.dayu.utils.BitmapUtils;
import com.dayu.utils.CommonUtils;
import com.dayu.utils.LogUtils;
import com.dayu.utils.MPermissionUtils;
import com.dayu.utils.SPUtils;
......@@ -76,22 +72,20 @@ import com.dayu.utils.badgeNumberManger.BadgeNumberManager;
import com.dayu.widgets.BadgeView;
import com.dayu.widgets.CustomDialog;
import com.dayu.widgets.listener.onDownloadListener;
import com.google.gson.Gson;
import com.umeng.analytics.MobclickAgent;
import com.umeng.socialize.UMShareAPI;
import com.umeng.socialize.bean.SHARE_MEDIA;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
import org.json.JSONArray;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.TimeUnit;
import cn.jzvd.Jzvd;
import cn.jzvd.JzvdStd;
import io.reactivex.Observable;
import io.reactivex.android.schedulers.AndroidSchedulers;
/**
* Created by luofan
......@@ -113,6 +107,18 @@ public class MainActivity extends BaseActivity<MainPresenter, ActivityMainBindin
private BadgeView mOrderBadgeView;
private BadgeView mSaleBadgeView;
private BadgeView mLearnBadgeView;
private ArrayList<String> trackList = new ArrayList<>();
private Handler handler = new Handler();
Runnable runnable = new Runnable() {
@Override
public void run() {
if (mPresenter.getIsTrack()) {
mPresenter.reportTrack(trackList);
}
handler.postDelayed(this, 1000 * 60);
}
};
@Override
public int getLayoutId() {
......@@ -121,6 +127,7 @@ public class MainActivity extends BaseActivity<MainPresenter, ActivityMainBindin
@Override
public void initView() {
handler.post(runnable);
LiveUtils.initEnv(Constants.ENVIROMENT);
if (getIntent().hasExtra(Constants.ORDER_ID)) {
Bundle bundle = new Bundle();
......@@ -162,17 +169,42 @@ public class MainActivity extends BaseActivity<MainPresenter, ActivityMainBindin
mBind.setPresenter(mPresenter);
}
private void saveTrack() {
TrackData track = new Gson().fromJson((String) SPUtils.get("TRACK", ""), TrackData.class);
if (track == null) {
track = new TrackData();
}
track.setTrackList(trackList);
SPUtils.put("TRACK", new Gson().toJson(track));
}
private void initListener() {
mBind.tabSale.setOnClickListener(o -> showHideFragment(0, mPosition));
mBind.tabSale.setOnClickListener(o -> {
mPresenter.setTrack(true);
trackList.add("销售");
saveTrack();
showHideFragment(0, mPosition);
});
mBind.tabSecond.setOnClickListener(o -> {
mPresenter.setTrack(true);
trackList.add("工单");
saveTrack();
if (mPosition != 1) {
showHideFragment(1, mPosition);
showInfoDialog();
}
});
mBind.tabLearn.setOnClickListener(o -> showHideFragment(2, mPosition));
mBind.tabLearn.setOnClickListener(o -> {
mPresenter.setTrack(true);
trackList.add("学习");
saveTrack();
showHideFragment(2, mPosition);
});
mBind.tabFour.setOnClickListener(o -> {
mPresenter.setTrack(true);
trackList.add("商家");
saveTrack();
showHideFragment(4, mPosition);
showInfoDialog();
});
......@@ -185,6 +217,9 @@ public class MainActivity extends BaseActivity<MainPresenter, ActivityMainBindin
mBind.tabBusiness.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mPresenter.setTrack(true);
trackList.add("我的");
saveTrack();
showHideFragment(3, mPosition);
}
});
......@@ -574,6 +609,7 @@ public class MainActivity extends BaseActivity<MainPresenter, ActivityMainBindin
protected void onDestroy() {
LocationUtils.destroy();
TimeUtils.onDestory();
handler = null;
super.onDestroy();
}
......
......@@ -3,11 +3,12 @@ package com.dayu.base.api;
import com.dayu.base.api.protocol.AddShareRecordData;
import com.dayu.base.api.protocol.AddressInfoBean;
import com.dayu.base.api.protocol.BaseResponse;
import com.dayu.base.api.protocol.BankInfoBean;
import com.dayu.base.api.protocol.BaseResponse;
import com.dayu.base.api.protocol.EngineerBean;
import com.dayu.base.api.protocol.OpenRedPacketBean;
import com.dayu.base.api.protocol.RedPacketBean;
import com.dayu.base.api.protocol.TrackId;
import com.dayu.base.api.protocol.TreeAddressBean;
import com.dayu.common.Constants;
import com.dayu.event.Notice;
......@@ -16,6 +17,7 @@ import java.util.List;
import io.reactivex.Observable;
import okhttp3.MultipartBody;
import okhttp3.RequestBody;
import okhttp3.ResponseBody;
import retrofit2.http.Body;
import retrofit2.http.GET;
......@@ -148,7 +150,7 @@ public interface APIService {
* @param accountId
* @return
*/
@GET(Constants.API_7100+"/engineerInfo/mobile/accountId/{accountId}")
@GET(Constants.API_7100 + "/engineerInfo/mobile/accountId/{accountId}")
Observable<BaseResponse<EngineerBean>> getEngineerInfo(@Path("accountId") int accountId);
/**
......@@ -159,4 +161,20 @@ public interface APIService {
@GET(Constants.API_7300 + "/notice/list")
Observable<BaseResponse<List<Notice>>> getNotice(@Query("platform") String platform);
/**
* 获取埋点id.
*
* @return
*/
@GET(Constants.API_7500 + "/dayuSysActTrack/newest")
Observable<BaseResponse<TrackId>> getTrackId(@Query("accountId") int accountId, @Query("accountName") String accountName, @Query("platform") String platform);
/**
* 上报埋点信息.
*
* @return
*/
@POST(Constants.API_7500 + "/dayuSysActTrack/reportTrack")
Observable<BaseResponse<Boolean>> reportTrack(@Body RequestBody body);
}
package com.dayu.base.api.protocol;
public class TrackId {
int id;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
}
......@@ -45,20 +45,20 @@ public class Constants {
/**
* dev环境配置.
*/
public static String ENVIROMENT = "debug";
public static final int LOG_LEVEL = LogUtils.LEVEL_ALL;
public static String BASE_URL = "http://47.94.101.239:3112";
public static String WEB_SOP = "http://47.94.101.239:9004/#/sop";
public static String CHECK_MULTI_WEB_SOP = "http://47.94.101.239:9004/#/manyServiceResult";
public static String MULTI_WEB_SOP = "http://47.94.101.239:9004/#/manySop";
public static String WEB_SOP_DETAIL = "http://47.94.101.239:9004/#/sopdetail";
public static String WEB_ZHI_SHI = "http://47.94.101.239:9004/#/detail";
public static final String UP_PHOTO = "/file/uploadMore?targetPath=test/sp/mobile/android/business/checkApply";
public static final String UP_VIDEO = "/file/uploadVideoOne?targetPath=dev/video";
public static final boolean IS_DEBUG = true;
public static String VIDEO_SHARE_URL = "http://uat.kf.ai:9099/#/shareVideo?type=_type&id="; //uat 学习视频分享链接 type(课程: course 直播: live)
public static int XLR_PID = 239; //小绿人商家id
public static String SCHEME_9099 = "http://dev.kf.ai:9099/#/";
// public static String ENVIROMENT = "debug";
// public static final int LOG_LEVEL = LogUtils.LEVEL_ALL;
// public static String BASE_URL = "http://47.94.101.239:3112";
// public static String WEB_SOP = "http://47.94.101.239:9004/#/sop";
// public static String CHECK_MULTI_WEB_SOP = "http://47.94.101.239:9004/#/manyServiceResult";
// public static String MULTI_WEB_SOP = "http://47.94.101.239:9004/#/manySop";
// public static String WEB_SOP_DETAIL = "http://47.94.101.239:9004/#/sopdetail";
// public static String WEB_ZHI_SHI = "http://47.94.101.239:9004/#/detail";
// public static final String UP_PHOTO = "/file/uploadMore?targetPath=test/sp/mobile/android/business/checkApply";
// public static final String UP_VIDEO = "/file/uploadVideoOne?targetPath=dev/video";
// public static final boolean IS_DEBUG = true;
// public static String VIDEO_SHARE_URL = "http://uat.kf.ai:9099/#/shareVideo?type=_type&id="; //uat 学习视频分享链接 type(课程: course 直播: live)
// public static int XLR_PID = 239; //小绿人商家id
// public static String SCHEME_9099 = "http://dev.kf.ai:9099/#/";
/**
......@@ -83,20 +83,20 @@ public class Constants {
/**
* 正式环境.
*/
// public static String ENVIROMENT = "release";
// public static int LOG_LEVEL = LogUtils.LEVEL_OFF;
// public static String BASE_URL = "https://mobile.kf.ai";
// public static String WEB_SOP = "https://sop.kf.ai/#/sop";
// public static String WEB_SOP_DETAIL = "https://sop.kf.ai/#/sopdetail";
// public static String WEB_ZHI_SHI = "https://sop.kf.ai/#/detail";
// public static String CHECK_MULTI_WEB_SOP = "https://sop.kf.ai/#/manyServiceResult";
// public static String MULTI_WEB_SOP = "https://sop.kf.ai/#/manySop";
// public static final String UP_PHOTO = "/file/uploadMore?targetPath=online/sp/mobile/android/business/checkApply";
// public static final String UP_VIDEO = "/file/uploadVideoOne?targetPath=online/video";
// public static final boolean IS_DEBUG = false;
// public static String VIDEO_SHARE_URL = "http://app.dl.kf.ai/ext/#/shareVideo?type=_type&id="; //学习视频分享链接 type(课程: course 直播: live)
// public static int XLR_PID = 1936; //小绿人商家id
// public static String SCHEME_9099 = "http://app.dl.kf.ai/ext/#/";
public static String ENVIROMENT = "release";
public static int LOG_LEVEL = LogUtils.LEVEL_OFF;
public static String BASE_URL = "https://mobile.kf.ai";
public static String WEB_SOP = "https://sop.kf.ai/#/sop";
public static String WEB_SOP_DETAIL = "https://sop.kf.ai/#/sopdetail";
public static String WEB_ZHI_SHI = "https://sop.kf.ai/#/detail";
public static String CHECK_MULTI_WEB_SOP = "https://sop.kf.ai/#/manyServiceResult";
public static String MULTI_WEB_SOP = "https://sop.kf.ai/#/manySop";
public static final String UP_PHOTO = "/file/uploadMore?targetPath=online/sp/mobile/android/business/checkApply";
public static final String UP_VIDEO = "/file/uploadVideoOne?targetPath=online/video";
public static final boolean IS_DEBUG = false;
public static String VIDEO_SHARE_URL = "http://app.dl.kf.ai/ext/#/shareVideo?type=_type&id="; //学习视频分享链接 type(课程: course 直播: live)
public static int XLR_PID = 1936; //小绿人商家id
public static String SCHEME_9099 = "http://app.dl.kf.ai/ext/#/";
/**
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment