|
|
@@ -1,6 +1,10 @@
|
|
|
package com.uas.appme.pedometer.utils;
|
|
|
|
|
|
+import android.content.Intent;
|
|
|
+
|
|
|
+import com.alibaba.fastjson.JSON;
|
|
|
import com.common.LogUtil;
|
|
|
+import com.common.config.BaseConfig;
|
|
|
import com.common.data.DateFormatUtil;
|
|
|
import com.common.data.JSONUtil;
|
|
|
import com.common.data.StringUtil;
|
|
|
@@ -11,6 +15,7 @@ import com.me.network.app.http.HttpClient;
|
|
|
import com.me.network.app.http.Method;
|
|
|
import com.me.network.app.http.rx.ResultListener;
|
|
|
import com.me.network.app.http.rx.ResultSubscriber;
|
|
|
+import com.uas.appme.pedometer.bean.PersonalStepBean;
|
|
|
import com.uas.appme.pedometer.bean.StepEntity;
|
|
|
import com.uas.appme.pedometer.constant.Constant;
|
|
|
import com.uas.appme.pedometer.db.StepDataDao;
|
|
|
@@ -25,34 +30,223 @@ import java.util.Map;
|
|
|
|
|
|
public class StepUtils {
|
|
|
|
|
|
- public static void doSaveLocalStepsToHttps() {
|
|
|
- StepDataDao stepDataDao = new StepDataDao(MyApplication.getInstance());
|
|
|
- //获取当前时间
|
|
|
- String CURRENT_DATE = TimeUtil.getCurrentDate();
|
|
|
- StepEntity entity = stepDataDao.getCurDataByDate(CURRENT_DATE);
|
|
|
- if (entity == null) return;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 最终的上传操作
|
|
|
+ *
|
|
|
+ * @param entity
|
|
|
+ */
|
|
|
+ public static void doSaveLocalStepsToHttps(StepEntity entity) {
|
|
|
String steps = entity.getSteps();
|
|
|
String date = TimeUtils.s_long_2_str(DateFormatUtil.str2Long(entity.getCurDate(), "yyyy年MM月dd日"));
|
|
|
-
|
|
|
- LogUtil.prinlnLongMsg("steps=,date=",steps+","+date);
|
|
|
+ String em_name = CommonUtil.getSharedPreferences(MyApplication.getInstance(), "erp_emname");
|
|
|
+ LogUtil.prinlnLongMsg("steps=,date=", steps + "," + date);
|
|
|
if (StringUtil.isEmpty(steps) || StringUtil.isEmpty(date)) return;
|
|
|
- Map<String,Object> saveMap = new HashMap<>();
|
|
|
- saveMap.put("as_userid",MyApplication.getInstance().mLoginUser.getUserId());
|
|
|
- saveMap.put("as_username", CommonUtil.getSharedPreferences(MyApplication.getInstance(), "erp_emname"));
|
|
|
- saveMap.put("as_uusteps",steps);
|
|
|
- saveMap.put("as_date",date);
|
|
|
+ Map<String, Object> saveMap = new HashMap<>();
|
|
|
+ saveMap.put("as_userid", MyApplication.getInstance().mLoginUser.getUserId());
|
|
|
+ saveMap.put("as_username", em_name);
|
|
|
+ saveMap.put("as_uusteps", steps);
|
|
|
+ saveMap.put("as_date", date);
|
|
|
String map = JSONUtil.map2JSON(saveMap);
|
|
|
- HttpClient httpClient = new HttpClient.Builder(Constant.BASE_STEP_URL).build();
|
|
|
+ HttpClient httpClient = new HttpClient.Builder(Constant.BASE_STEP_URL).isDebug(true).build(true);
|
|
|
httpClient.Api().send(new HttpClient.Builder()
|
|
|
.url("appUUsteps")
|
|
|
- .add("map",map)
|
|
|
- .add("token",MyApplication.getInstance().mAccessToken)
|
|
|
+ .add("map", map)
|
|
|
+ .add("token", MyApplication.getInstance().mAccessToken)
|
|
|
.method(Method.POST)
|
|
|
- .build(),new ResultSubscriber<>(new ResultListener<Object>() {
|
|
|
+ .build(), new ResultSubscriber<>(new ResultListener<Object>() {
|
|
|
+ @Override
|
|
|
+ public void onResponse(Object o) {
|
|
|
+ LogUtil.prinlnLongMsg("appUUsteps", o.toString() + "");
|
|
|
+ }
|
|
|
+ }));
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 判断当前请求获取的步数与本地的步数比较,再选择是进行上传操作还是更新本地数据库操作
|
|
|
+ *
|
|
|
+ * @param s
|
|
|
+ */
|
|
|
+ public static void canUnloadToRemote(String s) {
|
|
|
+ PersonalStepBean mPersonalStepBean = new PersonalStepBean();
|
|
|
+ mPersonalStepBean = JSON.parseObject(s.toString(), PersonalStepBean.class);
|
|
|
+ if (mPersonalStepBean == null) return;
|
|
|
+ int remoteSteps = CommonUtil.getNumByString(mPersonalStepBean.getWeekSteps().get(mPersonalStepBean.getWeekSteps().size() - 1).getAs_uusteps());
|
|
|
+ String CURRENT_DATE = TimeUtil.getCurrentDate();
|
|
|
+ StepDataDao stepDataDao = new StepDataDao(MyApplication.getInstance());
|
|
|
+ StepEntity stepEntity = stepDataDao.getCurDataByDate(CURRENT_DATE);
|
|
|
+ try {
|
|
|
+ if (stepEntity == null) {
|
|
|
+// stepEntity = new StepEntity();
|
|
|
+// stepEntity.setSteps(remoteSteps + "");
|
|
|
+// stepEntity.setCurDate(CURRENT_DATE);
|
|
|
+// stepDataDao.addNewData(stepEntity);
|
|
|
+
|
|
|
+ Intent intent = new Intent("addStepEntity");
|
|
|
+ intent.putExtra("remoteSteps", remoteSteps);
|
|
|
+ BaseConfig.getContext().sendBroadcast(intent);
|
|
|
+ } else if (remoteSteps > CommonUtil.getNumByString(stepEntity.getSteps())) { // 本地步数小于服务端 ,更新本地步数,使其通服务器一样
|
|
|
+ Intent intent = new Intent("updateStepEntity");
|
|
|
+ intent.putExtra("remoteSteps", remoteSteps);
|
|
|
+ BaseConfig.getContext().sendBroadcast(intent);
|
|
|
+ LogUtil.prinlnLongMsg("stepDb.update","sendLocalBroadcast");
|
|
|
+ } else if (remoteSteps < CommonUtil.getNumByString(stepEntity.getSteps())) {
|
|
|
+ doSaveLocalStepsToHttps(stepEntity);
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ LogUtil.prinlnLongMsg("stepDb.update", e.getMessage());
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 判断当前手机硬件是否支持计步功能
|
|
|
+ *
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+
|
|
|
+ public static boolean isCanStep() {
|
|
|
+ return StepCountCheckUtil.isSupportStepCountSensor(MyApplication.getInstance());
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取服务器端个人今天目前的所存贮的步数请求
|
|
|
+ *
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static void doSaveLocalStepsToJudgeHttps() {
|
|
|
+ if (!isCanStep() || !CommonUtil.isNetWorkConnected(MyApplication.getInstance()))
|
|
|
+ return; //不支持计步或者,本地数据与远程数据不符合上传条件则不上传
|
|
|
+ if (MyApplication.getInstance() == null
|
|
|
+ || MyApplication.getInstance().mLoginUser == null
|
|
|
+ || MyApplication.getInstance().mLoginUser.getUserId() == null) return;
|
|
|
+ HttpClient httpClient = new HttpClient.Builder(Constant.BASE_STEP_URL).isDebug(true).build(true);
|
|
|
+ httpClient.Api().send(new HttpClient.Builder()
|
|
|
+ .url("appSteps")
|
|
|
+ .add("userid", MyApplication.getInstance().mLoginUser.getUserId())
|
|
|
+ .add("token", MyApplication.getInstance().mAccessToken)
|
|
|
+ .method(Method.GET)
|
|
|
+ .build(), new ResultSubscriber<>(new ResultListener<Object>() {
|
|
|
@Override
|
|
|
public void onResponse(Object o) {
|
|
|
- LogUtil.prinlnLongMsg("appUUsteps",o.toString()+"");
|
|
|
+ LogUtil.prinlnLongMsg("appSteps", o.toString());
|
|
|
+ canUnloadToRemote(o.toString());
|
|
|
}
|
|
|
}));
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 分享UU运动的发消息方法
|
|
|
+ * @param activity 上下文
|
|
|
+ * @param loginim_id 自己的imid
|
|
|
+ * @param friendim_id 要分享的好友的imid
|
|
|
+ */
|
|
|
+ /* public void sendShareStepMsg(final ChatMessage message,Activity activity,String loginim_id, String friendim_id){
|
|
|
+ if (interprect(message)) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ message.setPacketId(UUID.randomUUID().toString().replaceAll("-", ""));
|
|
|
+ ChatMessageDao.getInstance().saveNewSingleChatMessage(loginim_id, friendim_id, message);
|
|
|
+ if (message.getType() == XmppMessage.TYPE_VOICE || message.getType() == XmppMessage.TYPE_IMAGE
|
|
|
+ || message.getType() == XmppMessage.TYPE_VIDEO || message.getType() == XmppMessage.TYPE_FILE) {
|
|
|
+ if (!message.isUpload()) {
|
|
|
+ Log.d("roamer", "去更新服务器的数据");
|
|
|
+ UploadEngine.uploadImFile(friendim_id, message, mUploadResponse);
|
|
|
+
|
|
|
+ } else {
|
|
|
+ Log.d("roamer", "sendChatMessage....");
|
|
|
+ mService.sendChatMessage(mFriend.getUserId(), message);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ Log.d("roamer", "sendChatMessage");
|
|
|
+
|
|
|
+ mService.sendChatMessage(mFriend.getUserId(), message);
|
|
|
+ //进行百度推送
|
|
|
+ sendPushTask(mLoginUserId, mFriend.getUserId(), message.getContent());
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ private void sendMessage(final ChatMessage message) {
|
|
|
+ if (interprect(message)) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ Log.i("wang", "send message:" + JSON.toJSONString(message));
|
|
|
+ boolean mHasSend = true;
|
|
|
+ Log.d("roamer", "开始发送消息,ChatBottomView的回调 sendmessage");
|
|
|
+ message.setPacketId(UUID.randomUUID().toString().replaceAll("-", ""));
|
|
|
+ ChatMessageDao.getInstance().saveNewSingleChatMessage(mLoginUserId, mFriend.getUserId(), message);
|
|
|
+ if (message.getType() == XmppMessage.TYPE_VOICE || message.getType() == XmppMessage.TYPE_IMAGE
|
|
|
+ || message.getType() == XmppMessage.TYPE_VIDEO || message.getType() == XmppMessage.TYPE_FILE) {
|
|
|
+ if (!message.isUpload()) {
|
|
|
+ Log.d("roamer", "去更新服务器的数据");
|
|
|
+ UploadEngine.uploadImFile(mFriend.getUserId(), message, mUploadResponse);
|
|
|
+
|
|
|
+ } else {
|
|
|
+ Log.d("roamer", "sendChatMessage....");
|
|
|
+ mService.sendChatMessage(mFriend.getUserId(), message);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ Log.d("roamer", "sendChatMessage");
|
|
|
+
|
|
|
+ mService.sendChatMessage(mFriend.getUserId(), message);
|
|
|
+ //进行百度推送
|
|
|
+ sendPushTask(mLoginUserId, mFriend.getUserId(), message.getContent());
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ *//**
|
|
|
+ * 拦截发送的消息
|
|
|
+ *
|
|
|
+ * @param message
|
|
|
+ *//*
|
|
|
+ public boolean interprect(ChatMessage message) {
|
|
|
+ int len = 0;
|
|
|
+ List<Friend> mBlackList = FriendDao.getInstance().getAllBlacklists(MyApplication.getInstance().mLoginUser.getUserId());
|
|
|
+ if (mBlackList != null) {
|
|
|
+ for (Friend friend : mBlackList) {
|
|
|
+ if (friend.getUserId().equals(mFriend.getUserId())) {
|
|
|
+ Toast.makeText(mContext, "已经加入黑名单,无法发送消息", Toast.LENGTH_SHORT).show();
|
|
|
+ len++;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ Log.d("wang", "....kkkkk");
|
|
|
+ if (len != 0) {
|
|
|
+ // finish();
|
|
|
+ ListenerManager.getInstance().notifyMessageSendStateChange(mLoginUserId, mFriend.getUserId(),
|
|
|
+ message.get_id(), ChatMessageListener.MESSAGE_SEND_FAILED);
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ private UploadEngine.ImFileUploadResponse mUploadResponse = new UploadEngine.ImFileUploadResponse() {
|
|
|
+ @Override
|
|
|
+ public void onSuccess(String toUserId, ChatMessage message) {
|
|
|
+ mService.sendChatMessage(mFriend.getUserId(), message);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onFailure(String toUserId, ChatMessage message) {
|
|
|
+ for (int i = 0; i < mChatMessages.size(); i++) {
|
|
|
+ ChatMessage msg = mChatMessages.get(i);
|
|
|
+ if (message.get_id() == msg.get_id()) {
|
|
|
+ msg.setMessageState(ChatMessageListener.MESSAGE_SEND_FAILED);
|
|
|
+ ChatMessageDao.getInstance().updateMessageSendState(mLoginUserId, mFriend.getUserId(),
|
|
|
+ message.get_id(), ChatMessageListener.MESSAGE_SEND_FAILED);
|
|
|
+ mChatContentView.notifyDataSetInvalidated(false);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ };*/
|
|
|
+
|
|
|
}
|