Commit d3d91e57 by 罗翻

android v1.01版本

parent 988020e9
Showing with 2165 additions and 1142 deletions
......@@ -3,6 +3,7 @@
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/app/app.iml" filepath="$PROJECT_DIR$/app/app.iml" />
<module fileurl="file://$PROJECT_DIR$/dayu.iml" filepath="$PROJECT_DIR$/dayu.iml" />
<module fileurl="file://$PROJECT_DIR$/dayu-saas-android.iml" filepath="$PROJECT_DIR$/dayu-saas-android.iml" />
</modules>
</component>
......
......@@ -2,11 +2,6 @@ apply plugin: 'com.android.application'
apply plugin: 'android-apt'
apply plugin: 'org.greenrobot.greendao'
apply plugin: 'me.tatarka.retrolambda'
greendao {
schemaVersion 1
daoPackage 'com.dayu.bigfish.greendao'
targetGenDir 'src/main/java'
}
android {
signingConfigs {
config {
......@@ -26,8 +21,8 @@ android {
applicationId "com.dayu.bigfish"
minSdkVersion 16
targetSdkVersion 23
versionCode 1
versionName "1.0.0"
versionCode 2
versionName "1.0.1"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
multiDexEnabled true
}
......@@ -49,22 +44,31 @@ android {
assets.srcDirs = ['src/main/assets', 'src/main/assets/']
}
}
lintOptions{
lintOptions {
checkReleaseBuilds false
}
}
greendao {
schemaVersion 2
daoPackage 'com.dayu.bigfish.greendao'
targetGenDir 'src/main/java'
}
repositories {
mavenCentral()
maven { url 'https://maven.google.com' }
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:design:23.4.0'
testCompile 'junit:junit:4.12'
//网络请求框架 https://github.com/jeasonlzy/okhttp-OkGo
compile 'com.lzy.net:okgo:2.1.4'
compile 'com.android.support:design:23.4.0'
//注解工具
compile 'com.jakewharton:butterknife:8.1.0'
apt 'com.jakewharton:butterknife-compiler:8.1.0'
......@@ -78,16 +82,13 @@ dependencies {
compile 'com.cjj.materialrefeshlayout:library:1.3.0'
//greendao数据库
compile 'org.greenrobot:greendao:3.2.0'
//图片选择
compile 'cn.finalteam:galleryfinal:1.4.8.7'
//图片加载库
compile 'com.github.bumptech.glide:glide:3.6.1'
compile 'com.github.bumptech.glide:okhttp3-integration:1.4.0@aar'
//日期选择器
compile 'com.contrarywind:Android-PickerView:3.2.4'
// 图片压缩
compile 'top.zibin:Luban:1.1.3'
compile 'com.afollestad.material-dialogs:core:0.8.5.9'
compile files('libs/xUtils-2.6.14.jar')
//adapter
compile 'com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.30'
//图片选择
compile 'com.github.LuckSiege.PictureSelector:picture_library:v2.1.5'
}
......@@ -2,26 +2,39 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.dayu.bigfish">
//网络权限
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.INTERNET"/>
//检测联网方式,区分用户设备使用的是2G、3G或是WiFi
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
//获取用户设备的mac地址,在平板设备上,无法通过imei标示设备,我们会将mac地址作为用户的唯一标识
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
//获取用户设备的IMEI,通过IMEI和mac来唯一的标识用户
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.access_network_state" />
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.VIBRATE"/>
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.GET_TASKS"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.access_network_state"/>
<!--7.0以上拍照适配-->
<!--<provider-->
<!--android:name="android.support.v4.content.FileProvider"-->
<!--android:authorities="com.dayu.bigfish.takephoto.fileprovider"-->
<!--android:exported="false"-->
<!--android:grantUriPermissions="true">-->
<!--<meta-data-->
<!--android:name="android.support.FILE_PROVIDER_PATHS"-->
<!--android:resource="@xml/file_paths"/>-->
<!--</provider>-->
<application
......@@ -31,72 +44,86 @@
android:label="@string/tv_dayu"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<provider
android:name="android.support.v4.content.FileProvider"
android:authorities="com.dayu.bigfish.fileProvider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_paths"/>
</provider>
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<activity
android:name=".activity.HomeActivity"
android:hardwareAccelerated="true" />
android:hardwareAccelerated="true"/>
//友盟统计相关配置:
<uses-sdk android:minSdkVersion="8"></uses-sdk>
//配置应用Appkey
<meta-data
android:name="UMENG_APPKEY"
android:value="599a41697f2c743210000990" />
android:value="599a41697f2c743210000990"/>
//推广渠道名称(待配置)
<meta-data
android:name="UMENG_CHANNEL"
android:value="Channel ID" />
android:value="Channel ID"/>
<!-- 设置环信应用的AppKey -->
<meta-data
android:name="EASEMOB_APPKEY"
android:value="1116170816115316#dayuai" />
android:value="1116170816115316#dayuai"/>
<!-- 声明SDK所需的service SDK核心功能-->
<service
android:name="com.hyphenate.chat.EMChatService"
android:exported="true" />
android:exported="true"/>
<service
android:name="com.hyphenate.chat.EMJobService"
android:exported="true"
android:permission="android.permission.BIND_JOB_SERVICE" />
android:permission="android.permission.BIND_JOB_SERVICE"/>
<!-- 声明SDK所需的receiver -->
<receiver android:name="com.hyphenate.chat.EMMonitorReceiver">
<intent-filter>
<action android:name="android.intent.action.PACKAGE_REMOVED" />
<data android:scheme="package" />
<action android:name="android.intent.action.PACKAGE_REMOVED"/>
<data android:scheme="package"/>
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="android.intent.action.USER_PRESENT" />
<action android:name="android.intent.action.BOOT_COMPLETED"/>
<action android:name="android.intent.action.USER_PRESENT"/>
</intent-filter>
</receiver>
<activity android:name=".activity.LoginActivity" />
<activity android:name=".activity.ReceivingActivity" />
<activity android:name=".activity.PersonalCenterActivity" />
<activity android:name=".activity.SettingActivity" />
<activity android:name=".activity.SubscribeTimeActivity" />
<activity android:name=".activity.UpdataSubscribeTimeActivity" />
<activity android:name=".activity.OrderDetailsActivity" />
<activity android:name=".activity.OrderFinishActivity" />
<activity android:name=".activity.HandleListActivity" />
<activity android:name=".activity.DeleteActivty" />
<activity android:name=".activity.AgainUpDoorActivity" />
<activity android:name=".activity.AboutUs" />
<activity android:name=".activity.IdeaActivity" />
<activity android:name=".activity.WorksheetRecordActivity" />
<activity android:name=".activity.MessageActivity" />
<activity android:name=".activity.BigFishMessageContent" />
<activity android:name=".activity.LoginActivity"/>
<activity android:name=".activity.ReceivingActivity"/>
<activity android:name=".activity.PersonalCenterActivity"/>
<activity android:name=".activity.SettingActivity"/>
<activity android:name=".activity.SubscribeTimeActivity"/>
<activity android:name=".activity.UpdataSubscribeTimeActivity"/>
<activity android:name=".activity.OrderDetailsActivity"/>
<activity android:name=".activity.OrderFinishActivity"/>
<activity android:name=".activity.DeleteActivty"/>
<activity android:name=".activity.AgainUpDoorActivity"/>
<activity android:name=".activity.AboutUs"/>
<activity android:name=".activity.IdeaActivity"/>
<activity android:name=".activity.WorksheetRecordActivity"/>
<activity android:name=".activity.MessageActivity"/>
<activity android:name=".activity.BigFishMessageContent"/>
<activity android:name=".activity.AccountBalanceActivity"/>
<activity android:name=".activity.WithdrawalsActivity"/>
<receiver android:name=".utils.NetworkConnectChangedReceiver">
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
<action android:name="android.net.wifi.WIFI_STATE_CHANGED" />
<action android:name="android.net.wifi.STATE_CHANGE" />
<action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>
<action android:name="android.net.wifi.WIFI_STATE_CHANGED"/>
<action android:name="android.net.wifi.STATE_CHANGE"/>
</intent-filter>
</receiver>
</application>
......
......@@ -87,8 +87,6 @@ public class MainActivity extends AppCompatActivity {
public void onMessageReceived(List<EMMessage> messages) {
//收到消息
for (EMMessage list : messages) {
System.out.println("收到消息" + list.getBody());
System.out.println("----->----->" + list.ext());
//异步刷新各Tab状态数量
EventBus.getDefault().post(new RefreshTabNum(0));
//打开消息列表界面
......
package com.dayu.bigfish.activity;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.widget.TextView;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.dayu.bigfish.Constants;
import com.dayu.bigfish.R;
import com.dayu.bigfish.adapter.AccountBalanceAdapter;
import com.dayu.bigfish.application.MyApplication;
import com.dayu.bigfish.bean.AccountListBean;
import com.dayu.bigfish.utils.GetUserInfo;
import com.dayu.bigfish.utils.ToastUtils;
import com.dayu.bigfish.views.CustomProgressDialog;
import com.google.gson.Gson;
import com.lzy.okgo.OkGo;
import com.lzy.okgo.callback.StringCallback;
import java.util.ArrayList;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import okhttp3.Call;
import okhttp3.Response;
/**
* Created by luofan on 2017/11/1.
*/
public class AccountBalanceActivity extends Activity {
@BindView(R.id.tv_account_balance)
TextView mAccountBalanceTv;
@BindView(R.id.recycler_balance)
RecyclerView mRecyclerView;
@BindView(R.id.title_right)
TextView mRightTitle;
private Activity mActivity;
private ArrayList<AccountListBean.DataBean.Account> mAccounts = new ArrayList<>();
private String mToken;
private int mUserId;
private CustomProgressDialog mDialog;
private AccountBalanceAdapter mAdapter;
private int mPage = 1;
private int mPageSize = 10;
private int mTotalPage = 1;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_accountbalance_layout);
ButterKnife.bind(this);
initData();
getData(mPage, mPageSize);
}
private void initData() {
mActivity = this;
mDialog = new CustomProgressDialog(this, R.style.CustomDialog);
mToken = GetUserInfo.getToken(this);
mUserId = GetUserInfo.getACCOUNT_ID(MyApplication.getContext());
int balance = getIntent().getIntExtra(Constants.ACCOUNT_BALANCE, 0);
mAccountBalanceTv.setText("¥" + balance);
mAdapter = new AccountBalanceAdapter(R.layout.item_account_balance_layout, mAccounts);
mRecyclerView.setLayoutManager(new LinearLayoutManager(this));
mRecyclerView.setAdapter(mAdapter);
mAdapter.disableLoadMoreIfNotFullPage(mRecyclerView);
mAdapter.setOnLoadMoreListener(new BaseQuickAdapter.RequestLoadMoreListener() {
@Override
public void onLoadMoreRequested() {
getData(mPage, mPageSize);
}
}, mRecyclerView);
}
public void getData(int page, int pagesize) {
mDialog.show();
OkGo.get(Constants.PERSONAL_ACCOUT_LIST)
.tag(this)
.headers("token", mToken)
.params("page", page)
.params("pageSize", pagesize)
.params("accountId", mUserId)
.execute(new StringCallback() {
@Override
public void onSuccess(String s, Call call, Response response) {
mDialog.dismiss();
Gson gson = new Gson();
AccountListBean bean = gson.fromJson(s, AccountListBean.class);
if (bean.getCode() == 0) {
ArrayList<AccountListBean.DataBean.Account> accounts = new ArrayList<>();
if (bean.getData().getData() != null) {
mTotalPage = bean.getData().getTotalPages();
mPageSize = bean.getData().getPageSize();
accounts.addAll(bean.getData().getData());
mAdapter.addData(accounts);
if (mPage == mTotalPage) {
mAdapter.loadMoreEnd();
} else {
mAdapter.loadMoreComplete();
mPage += 1;
}
mAdapter.notifyDataSetChanged();
} else {
mAdapter.setEmptyView(R.layout.tips_loading_failed);
}
} else {
mAdapter.setEmptyView(R.layout.tips_loading_failed);
mAdapter.loadMoreFail();
ToastUtils.showShortToast(getString(R.string.get_account_list_error));
}
}
@Override
public void onError(Call call, Response response, Exception e) {
mAdapter.setEmptyView(R.layout.tips_loading_failed);
mAdapter.loadMoreFail();
ToastUtils.showShortToast(getString(R.string.error_serve));
mDialog.dismiss();
}
});
}
@OnClick({R.id.receiving_back, R.id.title_right})
public void onViewClicked(View view) {
switch (view.getId()) {
case R.id.receiving_back:
mActivity.finish();
break;
case R.id.title_right:
Intent intent = new Intent(mActivity, WithdrawalsActivity.class);
startActivity(intent);
break;
default:
break;
}
}
}
......@@ -29,7 +29,6 @@ import com.lzy.okgo.callback.StringCallback;
import org.greenrobot.eventbus.EventBus;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
......@@ -118,14 +117,17 @@ public class AgainUpDoorActivity extends Activity {
TimePickerView pvTime = new TimePickerView.Builder(AgainUpDoorActivity.this, new TimePickerView.OnTimeSelectListener() {
@Override
public void onTimeSelect(Date date2, View v) {//选中事件回调
String time = getTime(date2);
String time = UtilsDate.getTime(date2);
if (UtilsDate.dayDiff(UtilsDate.getNowDate(), date2) >= 0) {
textDateValue.setText(time);
} else {
ToastUtils.showShortToast("请选择合法的时间");
return;
}
if (UtilsDate.dayDiff(UtilsDate.getNowDate(), date2) == 0) {
int year = UtilsDate.getYear(date2);
int month = UtilsDate.getMonth(date2);
int day = UtilsDate.getDay(date2);
if (year == UtilsDate.getToYear() && month == UtilsDate.getToMonth() && day == UtilsDate.getToday()) {
mIsToday = true;
} else {
mIsToday = false;
......@@ -262,28 +264,4 @@ public class AgainUpDoorActivity extends Activity {
dialog.dismiss();
}
public String getTime(Date date) {//可根据需要自行截取数据显示
SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd日");
return format.format(date);
}
public String getTimeYear(Date date) {//可根据需要自行截取数据显示
SimpleDateFormat format = new SimpleDateFormat("yyyy");
return format.format(date);
}
public String getTimeMonth(Date date) {//可根据需要自行截取数据显示
SimpleDateFormat format = new SimpleDateFormat("MM");
return format.format(date);
}
public String getTimetoday(Date date) {//可根据需要自行截取数据显示
SimpleDateFormat format = new SimpleDateFormat("dd");
return format.format(date);
}
public String getTimes(Date date) {//可根据需要自行截取数据显示
SimpleDateFormat format = new SimpleDateFormat("HH:mm");
return format.format(date);
}
}
......@@ -7,7 +7,6 @@ import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ImageView;
import com.dayu.bigfish.Constants;
......@@ -15,12 +14,10 @@ import com.dayu.bigfish.R;
import com.dayu.bigfish.utils.GlideImageLoader;
import java.util.ArrayList;
import java.util.List;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import cn.finalteam.galleryfinal.model.PhotoInfo;
/**
* 删除选中图片页面
......@@ -28,18 +25,12 @@ import cn.finalteam.galleryfinal.model.PhotoInfo;
* Created by MrWang
*/
public class DeleteActivty extends Activity {
@BindView(R.id.gallery_back)
Button galleryBack;
@BindView(R.id.gallery_del)
Button galleryDel;
@BindView(R.id.gallery01)
ViewPager gallery01;
//当前的位置
private int location = 0;
private ArrayList<View> listViews = new ArrayList<>();
private MyPageAdapter adapter;
private Context mContext;
public List<PhotoInfo> mInfos = new ArrayList<>();
public ArrayList<String> mInfos = new ArrayList<>();
@Override
......@@ -48,45 +39,18 @@ public class DeleteActivty extends Activity {
setContentView(R.layout.activty_delete);
ButterKnife.bind(this);
mContext = this;
adapter = new MyPageAdapter(listViews);
mInfos.addAll(OrderFinishActivity.mInfos);
for (int i = 0; i < mInfos.size(); i++) {
initListViews(mInfos.get(i).getPhotoPath());
}
mInfos = getIntent().getStringArrayListExtra(Constants.BUNDLE_KEY_ID);
adapter = new MyPageAdapter(mInfos);
gallery01.setAdapter(adapter);
gallery01.setCurrentItem(getIntent().getIntExtra(Constants.BUNDLE_KEY_ID, 0));
location = getIntent().getIntExtra(Constants.BUNDLE_KEY_ID, 0);
System.out.println("------->>>"+location);
galleryDel.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (listViews.size() == 1) {
mInfos.clear();
listViews.clear();
OrderFinishActivity.mInfos.remove(0);
adapter.notifyDataSetChanged();
finish();
} else {
mInfos.remove(location);
gallery01.removeView(gallery01.getChildAt(location));
listViews.remove(location);
System.out.println("------->>>"+location);
OrderFinishActivity.mInfos.remove(location);
adapter.notifyDataSetChanged();
}
}
});
gallery01.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
System.out.println("------->>>111"+position);
}
@Override
public void onPageSelected(int position) {
location = position;
System.out.println("------->>>"+location);
}
@Override
......@@ -95,25 +59,13 @@ public class DeleteActivty extends Activity {
}
});
}
/*添加图片*/
private void initListViews(String path) {
ImageView img = new ImageView(this);
GlideImageLoader.load(mContext, path, img);
listViews.add(img);
}
@OnClick(R.id.gallery_back)
public void onClick() {
finish();
}
/*数据适配器 重写方法*/
class MyPageAdapter extends PagerAdapter {
private ArrayList<View> listViews;
private ArrayList<String> listViews;
public MyPageAdapter(ArrayList<View> listViews) {
public MyPageAdapter(ArrayList<String> listViews) {
this.listViews = listViews;
}
......@@ -132,8 +84,10 @@ public class DeleteActivty extends Activity {
@Override
public Object instantiateItem(ViewGroup container, int position) {
container.addView(listViews.get(position));
return listViews.get(position);
ImageView imageView = new ImageView(mContext);
GlideImageLoader.load(mContext, listViews.get(position), imageView);
container.addView(imageView);
return imageView;
}
@Override
......@@ -142,5 +96,14 @@ public class DeleteActivty extends Activity {
}
}
@OnClick({R.id.back_order_finish})
public void onViewClicked(View view) {
switch (view.getId()) {
case R.id.back_order_finish:
finish();
break;
}
}
}
package com.dayu.bigfish.activity;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Color;
import android.graphics.drawable.Drawable;
import android.os.Build;
import android.os.Bundle;
import android.provider.Settings;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import com.bumptech.glide.Glide;
import com.bumptech.glide.load.engine.DiskCacheStrategy;
import com.bumptech.glide.load.resource.drawable.GlideDrawable;
import com.bumptech.glide.request.Request;
import com.bumptech.glide.request.target.ImageViewTarget;
import com.dayu.bigfish.Constants;
import com.dayu.bigfish.MainActivity;
import com.dayu.bigfish.R;
import com.dayu.bigfish.base.BaseActivity;
import com.dayu.bigfish.bean.BaseBean;
import com.dayu.bigfish.moudle.HandleList.HandleListPresenter;
import com.dayu.bigfish.moudle.HandleList.HandleListView;
import com.dayu.bigfish.utils.ToastUtils;
import java.util.ArrayList;
import java.util.List;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import cn.finalteam.galleryfinal.CoreConfig;
import cn.finalteam.galleryfinal.FunctionConfig;
import cn.finalteam.galleryfinal.GalleryFinal;
import cn.finalteam.galleryfinal.ImageLoader;
import cn.finalteam.galleryfinal.ThemeConfig;
import cn.finalteam.galleryfinal.model.PhotoInfo;
import cn.finalteam.galleryfinal.widget.GFImageView;
import static com.dayu.bigfish.R.mipmap.photo_icon;
/**
* 处理工单-选择图片
* on 2017/9/19.
* Created by MrWang
*/
public class HandleListActivity extends BaseActivity<HandleListView, HandleListPresenter> implements HandleListView {
@BindView(R.id.iv_1)
ImageView iv1;
@BindView(R.id.iv_2)
ImageView iv2;
@BindView(R.id.iv_3)
ImageView iv3;
@BindView(R.id.iv_4)
ImageView iv4;
@BindView(R.id.iv_5)
ImageView iv5;
@BindView(R.id.btn_submit)
Button btnSubmit;
public static List<PhotoInfo> mInfos = new ArrayList<>();
public static List<String> mImg = new ArrayList<>();
private ImageView[] mIvs;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_handle_list);
ButterKnife.bind(this);
mIvs = new ImageView[]{iv1, iv2, iv3, iv4, iv5};
}
@Override
public void initListener() {
}
@Override
public void initView() {
mInfos.clear();
mImg.clear();
mImg.add("");
mImg.add("");
mImg.add("");
mImg.add("");
mImg.add("");
mIvs[0].setClickable(true);
mIvs[1].setClickable(false);
mIvs[2].setClickable(false);
mIvs[3].setClickable(false);
mIvs[4].setClickable(false);
}
@Override
public void initData() {
}
@Override
public HandleListPresenter initPresenter() {
return null;
}
@OnClick({R.id.iv_1, R.id.iv_2, R.id.iv_3, R.id.iv_4, R.id.iv_5, R.id.btn_submit})
public void onViewClicked(View view) {
switch (view.getId()) {
case R.id.iv_1:
createPicture();
break;
case R.id.iv_2:
Delete(1);
break;
case R.id.iv_3:
Delete(2);
break;
case R.id.iv_4:
Delete(3);
break;
case R.id.iv_5:
Delete(4);
break;
case R.id.btn_submit:
if (mInfos.size() == 0) {
// presenter.getData(mImg.get(0),mImg.get(1),mImg.get(2));
return;
}
break;
}
}
private void Delete(int i) {
Intent intent = new Intent(this, DeleteActivty.class);
intent.putExtra(Constants.BUNDLE_KEY_ID, i);
startActivity(intent);
}
public void createPicture() {
ThemeConfig theme = new ThemeConfig.Builder()
.setTitleBarBgColor(getResources().getColor(R.color.primary))
.setTitleBarTextColor(Color.WHITE)
.setCheckNornalColor(Color.GRAY)
.setCheckSelectedColor(getResources().getColor(R.color.primary))
.setFabNornalColor(getResources().getColor(R.color.primary))
.setIconCamera(R.mipmap.camera)
.build();
ImageLoader imageLoader;
imageLoader = new GlideImageLoader();
FunctionConfig.Builder functionConfigBuilder = new FunctionConfig.Builder();
functionConfigBuilder.setEnableCrop(true);
functionConfigBuilder.setMutiSelectMaxSize(5 - mInfos.size());
functionConfigBuilder.setEnablePreview(true);//是否开启预览功能
/* if (Build.VERSION.SDK_INT >= 23) {
if (!Settings.canDrawOverlays(this)) {
Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION);
startActivity(intent);
return;
}*/
functionConfigBuilder.setEnableCamera(true);//是否开启相机
// }
final FunctionConfig functionConfig = functionConfigBuilder.build();
CoreConfig coreConfig = new CoreConfig.Builder(HandleListActivity.this, imageLoader, theme)
.setFunctionConfig(functionConfig)
.setNoAnimcation(true)
.build();
GalleryFinal.init(coreConfig);
GalleryFinal.openGalleryMuti(1001, functionConfig, mOnHanlderResultCallback);
}
@Override
public void getSuccess(BaseBean baseBean) {
}
@Override
public void getFailed(String msg) {
}
public static class GlideImageLoader implements ImageLoader {
@Override
public void displayImage(Activity activity, String path, final GFImageView imageView, Drawable defaultDrawable, int width, int height) {
Glide.with(activity)
.load("file://" + path)
.override(width, height)
.diskCacheStrategy(DiskCacheStrategy.NONE) //不缓存到SD卡
.skipMemoryCache(true)
//.centerCrop()
.into(new ImageViewTarget<GlideDrawable>(imageView) {
@Override
protected void setResource(GlideDrawable resource) {
imageView.setImageDrawable(resource);
}
@Override
public void setRequest(Request request) {
}
@Override
public Request getRequest() {
return null;
}
});
}
@Override
public void clearMemoryCache() {
}
}
@Override
public void onResume() {
super.onResume();
mIvs[0].setImageResource(R.mipmap.settopic_pictrue);
mIvs[1].setImageResource(0);
mIvs[2].setImageResource(0);
mIvs[3].setImageResource(0);
mIvs[4].setImageResource(0);
mIvs[1].setClickable(false);
mIvs[2].setClickable(false);
mIvs[3].setClickable(false);
mIvs[4].setClickable(false);
for (int i = 0; i < mInfos.size(); i++) {
com.dayu.bigfish.utils.GlideImageLoader.load(HandleListActivity.this, mInfos.get(i).getPhotoPath(), mIvs[i]);
final int finalI = i;
mIvs[i].setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Delete(finalI);
}
});
}
if (mInfos.size() != 5) {
mIvs[mInfos.size()].setImageResource(R.mipmap.photo_icon);
mIvs[mInfos.size()].setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
createPicture();
}
});
}
}
private GalleryFinal.OnHanlderResultCallback mOnHanlderResultCallback = new GalleryFinal.OnHanlderResultCallback() {
@Override
public void onHanlderSuccess(int reqeustCode, List<PhotoInfo> resultList) {
if (resultList != null) {
mInfos.addAll(resultList);
for (int i = 0; i < mInfos.size(); i++) {
com.dayu.bigfish.utils.GlideImageLoader.load(HandleListActivity.this, mInfos.get(i).getPhotoPath(), mIvs[i]);
}
if (mInfos.size() != 5) {
mIvs[0].setImageResource(0);
mIvs[1].setImageResource(0);
mIvs[2].setImageResource(0);
mIvs[3].setImageResource(0);
mIvs[4].setImageResource(0);
mIvs[mInfos.size()].setImageResource(R.mipmap.settopic_pictrue);
mIvs[0].setClickable(false);
mIvs[1].setClickable(false);
mIvs[2].setClickable(false);
mIvs[3].setClickable(false);
mIvs[4].setClickable(false);
mIvs[mInfos.size()].setClickable(true);
} else {
mIvs[0].setClickable(true);
mIvs[1].setClickable(true);
mIvs[2].setClickable(true);
mIvs[3].setClickable(true);
mIvs[4].setClickable(true);
}
}
}
@Override
public void onHanlderFailure(int requestCode, String errorMsg) {
}
};
}
package com.dayu.bigfish.activity;
import android.content.Intent;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
......@@ -16,16 +15,13 @@ import com.dayu.bigfish.moudle.idea.IdeaActivityPresenter;
import com.dayu.bigfish.moudle.idea.IdeaActivityView;
import com.dayu.bigfish.utils.DateUtils;
import com.dayu.bigfish.utils.GetUserInfo;
import com.dayu.bigfish.utils.SPUtils;
import com.dayu.bigfish.utils.ToastUtils;
import com.dayu.bigfish.views.CustomProgressDialog;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import static android.R.attr.id;
import static com.dayu.bigfish.utils.GetUserInfo.getACCOUNT_ID;
/**
* 设置页面 --反馈提交
* on 2017/9/26.
......@@ -129,7 +125,7 @@ public class IdeaActivity extends BaseActivity<IdeaActivityView, IdeaActivityPre
ToastUtils.showShortToast("请输入反馈意见..");
return;
}
ideaActivityPresenter.getData(comment, userName, userPhone,token);
ideaActivityPresenter.getData(comment, userName, userPhone, token);
}
break;
}
......
package com.dayu.bigfish.activity;
import android.content.Context;
import android.app.Activity;
import android.content.Intent;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Bundle;
import android.telephony.TelephonyManager;
import android.support.annotation.NonNull;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import com.dayu.bigfish.Constants;
import com.dayu.bigfish.MainActivity;
import com.dayu.bigfish.R;
import com.dayu.bigfish.base.BaseActivity;
import com.dayu.bigfish.bean.BaseBean;
import com.dayu.bigfish.bean.LoginBean;
import com.dayu.bigfish.bean.LoginTestBean;
import com.dayu.bigfish.bean.RegisterBean;
import com.dayu.bigfish.managers.UserManager;
import com.dayu.bigfish.moudle.login.LoginPresenter;
import com.dayu.bigfish.moudle.login.LoginView;
import com.dayu.bigfish.utils.AppUtils;
import com.dayu.bigfish.utils.GetUserInfo;
import com.dayu.bigfish.utils.IsPhoneUtils;
import com.dayu.bigfish.utils.LogUtils;
import com.dayu.bigfish.utils.SPUtils;
import com.dayu.bigfish.utils.TimeCountUtil;
import com.dayu.bigfish.utils.ToastUtils;
import com.dayu.bigfish.utils.UtilsUserAccountMatcher;
import com.dayu.bigfish.views.ClearEditText;
import com.dayu.bigfish.views.CustomProgressDialog;
import com.google.gson.Gson;
......@@ -47,9 +43,6 @@ import butterknife.OnClick;
import okhttp3.Call;
import okhttp3.Response;
import static com.umeng.analytics.pro.x.O;
import static java.lang.Integer.parseInt;
/**
* 工程师登录页面
......@@ -74,12 +67,14 @@ public class LoginActivity extends BaseActivity<LoginView, LoginPresenter> imple
private String siteId;
private String accountId;
private int userId;
private Activity mContext;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
ButterKnife.bind(this);
mContext = this;
token = GetUserInfo.getToken(this);
dialog = new CustomProgressDialog(this, R.style.CustomDialog);
}
......@@ -128,11 +123,6 @@ public class LoginActivity extends BaseActivity<LoginView, LoginPresenter> imple
imageUrl = "暂无头像";
}
UserManager.getInstance().saveUserInfo(this, accountId, siteId, token, hxUserId, hxUserPwd, imageUrl);
System.out.println("存入的工程师id为----->" + accountId);
System.out.println("存入的站点id为----->" + siteId);
System.out.println("存入的token为----->" + token);
System.out.println("存入的工程师环信账号为----->" + hxUserId);
System.out.println("存入的工程师环信密码为----->" + hxUserPwd);
if (TextUtils.isEmpty(imageUrl)) {
ToastUtils.showShortToast("该工程师暂无头像");
Intent intent = new Intent(this, HomeActivity.class);
......@@ -169,7 +159,7 @@ public class LoginActivity extends BaseActivity<LoginView, LoginPresenter> imple
}
userId = Integer.parseInt(accountId);
//第一次提交的数据
commitVersionInfo(userId, getIMEI(this), getPackageNum(), token);
commitVersionInfo(userId, AppUtils.getIMEI(mContext), AppUtils.getPackageNum(mContext), token);
}
......@@ -250,7 +240,7 @@ public class LoginActivity extends BaseActivity<LoginView, LoginPresenter> imple
public String checkOutPhone(String userPhone) {
if (TextUtils.isEmpty(userPhone)) {
return "手机号不能为空";
} else if (!(IsPhoneUtils.isMobileNO(userPhone))) {
} else if (!(UtilsUserAccountMatcher.isPhoneNum(userPhone))) {
return "请输入正确的手机号";
}
return "succeed";
......@@ -319,30 +309,20 @@ public class LoginActivity extends BaseActivity<LoginView, LoginPresenter> imple
}
/**
* 获取设备IMEI编号
*/
/*
* 当请求获取权限后会执行此回调方法,来执行自己的业务逻辑
* */
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
if (requestCode == AppUtils.REQUEST_PHONE_STATE_PERMISSION) {
public static String getIMEI(Context context) {
TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(context.TELEPHONY_SERVICE);
String imei = telephonyManager.getDeviceId();
return imei;
if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
//执行自己的业务逻辑
} else {
Toast.makeText(mContext, "拒绝了权限", Toast.LENGTH_SHORT).show();
}
/**
* 获取当前应用的版本号
*/
public String getPackageNum() {
try {
PackageInfo packageInfo = this.getPackageManager().getPackageInfo(this.getPackageName(), 0);
String packageName = packageInfo.versionName;
return packageName;
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
return "解析版本号失败";
}
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
}
}
......
......@@ -14,9 +14,12 @@ import android.widget.TextView;
import com.bumptech.glide.Glide;
import com.bumptech.glide.load.engine.DiskCacheStrategy;
import com.bumptech.glide.request.RequestOptions;
import com.dayu.bigfish.Constants;
import com.dayu.bigfish.R;
import com.dayu.bigfish.application.MyApplication;
import com.dayu.bigfish.base.BaseActivity;
import com.dayu.bigfish.bean.AccountBalanceBean;
import com.dayu.bigfish.bean.PersonalCenterBean;
import com.dayu.bigfish.bean.ReceOrderNum;
import com.dayu.bigfish.bean.ReceUserRevenue;
......@@ -27,6 +30,7 @@ import com.dayu.bigfish.utils.GetUserInfo;
import com.dayu.bigfish.utils.SPUtils;
import com.dayu.bigfish.utils.ToastUtils;
import com.dayu.bigfish.views.CircleImageView;
import com.dayu.bigfish.views.CommomDialog;
import com.dayu.bigfish.views.CustomProgressDialog;
import butterknife.BindView;
......@@ -100,6 +104,10 @@ public class PersonalCenterActivity extends BaseActivity<PersonalCenterView, Per
TextView textGongdanNum;
@BindView(R.id.rl_gd)
RelativeLayout rlGd;
@BindView(R.id.tv_todaybalance)
TextView mtodayBalanceTv;
@BindView(R.id.ll_todaybalance)
LinearLayout mLTodayBalance;
private PersonalCenterPresenter personalCenterPresenter;
private CustomProgressDialog dialog;
private int userId;
......@@ -110,6 +118,7 @@ public class PersonalCenterActivity extends BaseActivity<PersonalCenterView, Per
private String userPhone;
private String token;
private String evaluate;
private int mAccountBalance;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
......@@ -143,28 +152,32 @@ public class PersonalCenterActivity extends BaseActivity<PersonalCenterView, Per
//设置头像
imageUrl = GetUserInfo.getUserHead(this);
if (imageUrl.equals("暂无头像")) {
if (imageUrl.equals("暂无头像") || TextUtils.isEmpty(imageUrl)) {
personCircle.setImageResource(R.mipmap.user_head);
} else {
System.out.println("个人中心照片的路径为" + imageUrl);
RequestOptions options = new RequestOptions()
.diskCacheStrategy(DiskCacheStrategy.ALL);
Glide.with(this)
.load(imageUrl)
.diskCacheStrategy(DiskCacheStrategy.ALL)
.apply(options)
.into(personCircle);
}
}
@Override
public void initData() {
dialog.show();
//获取工程师信息
personalCenterPresenter.get(userId, token);
//获取工程师今日收益(业绩)
personalCenterPresenter.getEarnings(siteId, userId, token);
//获取工程师今日接单数量
personalCenterPresenter.getReceOrder(siteId, userId, token);
//获取工程师的累计信息 (评分,累计业绩,工单记录)
// personalCenterPresenter.getReceOrder(siteId, userId, token);
//获取工程师的累计信息 (评分,累计业绩,工单记录)
personalCenterPresenter.getOrderUserInfo(siteId, userId, token);
//获取工程师账户余额
// personalCenterPresenter.getAcountBalance(userId, token);
// personalCenterPresenter.getAlipayAccount(userId, token);
}
@Override
......@@ -173,7 +186,7 @@ public class PersonalCenterActivity extends BaseActivity<PersonalCenterView, Per
new PersonalCenterPresenter(this);
}
@OnClick({R.id.person_back, R.id.person_setting, R.id.rl_gd})
@OnClick({R.id.person_back, R.id.person_setting, R.id.rl_gd, R.id.rl_yue})
public void onViewClicked(View view) {
switch (view.getId()) {
case R.id.person_back:
......@@ -194,6 +207,12 @@ public class PersonalCenterActivity extends BaseActivity<PersonalCenterView, Per
Intent intent = new Intent(PersonalCenterActivity.this, WorksheetRecordActivity.class);
startActivity(intent);
break;
case R.id.rl_yue:
// Intent intent1 = new Intent(mActivity, AccountBalanceActivity.class);
// intent1.putExtra(Constants.ACCOUNT_BALANCE, mAccountBalance);
// startActivity(intent1);
default:
break;
}
}
......@@ -221,8 +240,6 @@ public class PersonalCenterActivity extends BaseActivity<PersonalCenterView, Per
@Override
public void success(PersonalCenterBean personalCenterBean) {
this.data = personalCenterBean.getData();
ToastUtils.showShortToast("刷新成功");
System.out.println("个人中心页面请求结果:" + personalCenterBean.getMsg());
fillData();
dialog.dismiss();
}
......@@ -253,7 +270,7 @@ public class PersonalCenterActivity extends BaseActivity<PersonalCenterView, Per
//工程师今日接单
@Override
public void orderReceivingSuccess(ReceOrderNum orderNum) {
textJiedanNum.setText(orderNum.getData().get今日接单() + "");
// textJiedanNum.setText(orderNum.getData().get今日接单() + "");
}
@Override
......@@ -364,5 +381,62 @@ public class PersonalCenterActivity extends BaseActivity<PersonalCenterView, Per
ToastUtils.showShortToast(msg);
}
@Override
public void getAccountBalanceSuccess(AccountBalanceBean balanceBean) {
dialog.dismiss();
AccountBalanceBean.DataBean databean = balanceBean.getData();
if (databean != null) {
mAccountBalance = databean.getAccountBalance();
textJiedanNum.setText(mAccountBalance + "");
mtodayBalanceTv.setText(databean.getTodaySubSidymoney() + "");
if (databean.getTodaySubSidymoney() == 0) {
mLTodayBalance.setVisibility(View.GONE);
} else {
mLTodayBalance.setVisibility(View.VISIBLE);
}
}
}
@Override
public void getAccountBalanceFailed(String msg) {
dialog.dismiss();
ToastUtils.showShortToast(msg);
}
@Override
public void queryAlipayAccountSccucces(boolean flag) {
dialog.dismiss();
if (!flag) {
boolean isShow = (boolean) SPUtils.get(mActivity, Constants.IS_SHOW_ALIPAY_DILAOG, true);
if (isShow) {
showAlertDialog();
SPUtils.put(mActivity, Constants.IS_SHOW_ALIPAY_DILAOG, false);
}
}
}
private void showAlertDialog() {
CommomDialog dialog = new CommomDialog(mActivity, R.style.custom_dialog2);
dialog.setOnDialogClickListener(new CommomDialog.OnDialogClickListener() {
@Override
public void onRightClickListener() {
Intent intent = new Intent(mActivity, WithdrawalsActivity.class);
startActivity(intent);
dialog.dismiss();
}
@Override
public void onLeftClickListener() {
}
});
dialog.show();
}
@Override
public void queryAlipayAccountFailed(String msg) {
ToastUtils.showShortToast(msg);
}
}
package com.dayu.bigfish.activity;
import android.app.DatePickerDialog;
import android.app.TimePickerDialog;
import android.content.Intent;
import android.database.DatabaseUtils;
import android.graphics.Color;
import android.os.Bundle;
import android.support.v4.media.session.MediaSessionCompat;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.TimePicker;
import com.bigkoo.pickerview.TimePickerView;
import com.dayu.bigfish.Constants;
import com.dayu.bigfish.MainActivity;
import com.dayu.bigfish.R;
import com.dayu.bigfish.base.BaseActivity;
import com.dayu.bigfish.bean.BaseBean;
import com.dayu.bigfish.eventbus.RefreshTabNum;
import com.dayu.bigfish.eventbus.TabOneRefresh;
import com.dayu.bigfish.moudle.subscribe.SubscribeTimePresenter;
import com.dayu.bigfish.moudle.subscribe.SubscribeTimeView;
import com.dayu.bigfish.utils.DateUtils;
import com.dayu.bigfish.utils.GetUserInfo;
import com.dayu.bigfish.utils.TimeUtils;
import com.dayu.bigfish.utils.ToastUtils;
import com.dayu.bigfish.utils.UtilsDate;
import com.dayu.bigfish.views.CustomProgressDialog;
import com.dayu.bigfish.views.RefershAdapter;
import com.google.gson.Gson;
......@@ -40,12 +31,8 @@ import com.lzy.okgo.callback.StringCallback;
import org.greenrobot.eventbus.EventBus;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.Locale;
import butterknife.BindView;
import butterknife.ButterKnife;
......@@ -53,13 +40,9 @@ import butterknife.OnClick;
import okhttp3.Call;
import okhttp3.Response;
import static android.R.attr.id;
import static cn.finalteam.toolsfinal.DateUtils.getTime;
import static com.dayu.bigfish.R.id.text_date_value;
import static com.dayu.bigfish.R.id.text_time;
import static com.dayu.bigfish.utils.TimeUtils.Date2ms;
import static com.dayu.bigfish.utils.TimeUtils.dataOne;
import static com.dayu.bigfish.utils.UtilsDate.LONG_TIME_FORMAT_TWO;
/**
* 预约上门时间
......@@ -103,10 +86,10 @@ public class SubscribeTimeActivity extends BaseActivity<SubscribeTimeView, Subsc
private DateUtils dateUtils = new DateUtils();
private String timeValue;
private String time;
private List myList;
private int myYears;
private int myMonths;
private int myToday;
private boolean mIsToday;
@Override
protected void onCreate(Bundle savedInstanceState) {
......@@ -116,7 +99,6 @@ public class SubscribeTimeActivity extends BaseActivity<SubscribeTimeView, Subsc
dialog = new CustomProgressDialog(this, R.style.CustomDialog);
token = GetUserInfo.getToken(this);
initData();
myList = dateUtils.getSystemTime();
// refershAdapter = (RefershAdapter) HomeActivity.list_fragments.get(0);
}
......@@ -134,7 +116,6 @@ public class SubscribeTimeActivity extends BaseActivity<SubscribeTimeView, Subsc
public void initData() {
Intent intent = getIntent();
String value = intent.getStringExtra("orderId");
System.out.println("------>" + value);
orderId = Integer.parseInt(value);
}
......@@ -158,7 +139,6 @@ public class SubscribeTimeActivity extends BaseActivity<SubscribeTimeView, Subsc
.execute(new StringCallback() {
@Override
public void onSuccess(String s, Call call, Response response) {
System.out.println("预约时间的响 " + s);
Gson gson = new Gson();
BaseBean baseBean = gson.fromJson(s, BaseBean.class);
if (baseBean.getCode() == 0) {
......@@ -208,19 +188,21 @@ public class SubscribeTimeActivity extends BaseActivity<SubscribeTimeView, Subsc
case R.id.time_one:
TimePickerView pvTime = new TimePickerView.Builder(SubscribeTimeActivity.this, new TimePickerView.OnTimeSelectListener() {
@Override
public void onTimeSelect(Date date2, View v) {//选中事件回调
String time = getTime(date2);
myYears = Integer.parseInt(getTimeYear(date2));
myMonths = Integer.parseInt(getTimeMonth(date2));
myToday = Integer.parseInt(getTimetoday(date2));
int sysYear = (int) myList.get(0);
int sysMoths = (int) myList.get(1);
int sysToday = (int) myList.get(2);
if (myYears < sysYear || myMonths < sysMoths || myToday < sysToday) {
public void onTimeSelect(Date date2, View v) {
String time = UtilsDate.getTime(date2);
if (UtilsDate.dayDiff(UtilsDate.getNowDate(), date2) >= 0) {
textDateValue.setText(time);
} else {
ToastUtils.showShortToast("请选择合法的时间");
return;
}
int year = UtilsDate.getYear(date2);
int month = UtilsDate.getMonth(date2);
int day = UtilsDate.getDay(date2);
if (year == UtilsDate.getToYear() && month == UtilsDate.getToMonth() && day == UtilsDate.getToday()) {
mIsToday = true;
} else {
textDateValue.setText(time);
mIsToday = false;
}
}
})
......@@ -252,10 +234,16 @@ public class SubscribeTimeActivity extends BaseActivity<SubscribeTimeView, Subsc
TimePickerView pvTime2 = new TimePickerView.Builder(SubscribeTimeActivity.this, new TimePickerView.OnTimeSelectListener() {
@Override
public void onTimeSelect(Date date2, View v) {//选中事件回调
String time = getTimes(date2);
String nowtime = UtilsDate.getCurrDate(LONG_TIME_FORMAT_TWO);
String time = UtilsDate.dateToString(date2, LONG_TIME_FORMAT_TWO);
if (mIsToday && UtilsDate.stringtoDate(nowtime, LONG_TIME_FORMAT_TWO).getTime() - UtilsDate.stringtoDate(time, LONG_TIME_FORMAT_TWO).getTime() >= 0) {
ToastUtils.showShortToast("请选择合法的时间");
return;
} else {
ToastUtils.showShortToast(time);
textTimeValue.setText(time);
}
}
})
.setType(TimePickerView.Type.HOURS_MINS)//默认全部显示
.setCancelText("取消")//取消按钮文字
......@@ -285,31 +273,4 @@ public class SubscribeTimeActivity extends BaseActivity<SubscribeTimeView, Subsc
}
}
//可根据需要自行截取数据显示
public String getTime(Date date) {
SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd日");
return format.format(date);
}
public String getTimeYear(Date date) {//可根据需要自行截取数据显示
SimpleDateFormat format = new SimpleDateFormat("yyyy");
return format.format(date);
}
public String getTimeMonth(Date date) {//可根据需要自行截取数据显示
SimpleDateFormat format = new SimpleDateFormat("MM");
return format.format(date);
}
public String getTimetoday(Date date) {//可根据需要自行截取数据显示
SimpleDateFormat format = new SimpleDateFormat("dd");
return format.format(date);
}
//可根据需要自行截取数据显示
public String getTimes(Date date) {
SimpleDateFormat format = new SimpleDateFormat("HH:mm");
return format.format(date);
}
}
......@@ -20,6 +20,7 @@ import com.dayu.bigfish.moudle.updata.UpdataSubscribeTimeView;
import com.dayu.bigfish.utils.DateUtils;
import com.dayu.bigfish.utils.GetUserInfo;
import com.dayu.bigfish.utils.ToastUtils;
import com.dayu.bigfish.utils.UtilsDate;
import com.dayu.bigfish.views.CustomProgressDialog;
import org.greenrobot.eventbus.EventBus;
......@@ -34,6 +35,7 @@ import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import static com.dayu.bigfish.utils.UtilsDate.LONG_TIME_FORMAT_TWO;
import static java.lang.Integer.parseInt;
/**
......@@ -84,6 +86,7 @@ public class UpdataSubscribeTimeActivity extends BaseActivity<UpdataSubscribeTim
private int myYears;
private int myMonths;
private int myToday;
private boolean mIsToday;
@Override
protected void onCreate(Bundle savedInstanceState) {
......@@ -149,20 +152,21 @@ public class UpdataSubscribeTimeActivity extends BaseActivity<UpdataSubscribeTim
TimePickerView pvTime = new TimePickerView.Builder(UpdataSubscribeTimeActivity.this, new TimePickerView.OnTimeSelectListener() {
@Override
public void onTimeSelect(Date date2, View v) {//选中事件回调
String time = getTime(date2);
myYears = Integer.parseInt(getTimeYear(date2));
myMonths = Integer.parseInt(getTimeMonth(date2));
myToday = Integer.parseInt(getTimetoday(date2));
int sysYear = (int) myList.get(0);
int sysMoths = (int) myList.get(1);
int sysToday = (int) myList.get(2);
if (myYears < sysYear || myMonths < sysMoths || myToday < sysToday) {
String time = UtilsDate.getTime(date2);
if (UtilsDate.dayDiff(UtilsDate.getNowDate(), date2) >= 0) {
textDateValue.setText(time);
} else {
ToastUtils.showShortToast("请选择合法的时间");
return;
}
int year = UtilsDate.getYear(date2);
int month = UtilsDate.getMonth(date2);
int day = UtilsDate.getDay(date2);
if (year == UtilsDate.getToYear() && month == UtilsDate.getToMonth() && day == UtilsDate.getToday()) {
mIsToday = true;
} else {
textDateValue.setText(time);
mIsToday = false;
}
}
})
.setType(TimePickerView.Type.YEAR_MONTH_DAY)//默认全部显示
......@@ -193,10 +197,16 @@ public class UpdataSubscribeTimeActivity extends BaseActivity<UpdataSubscribeTim
TimePickerView pvTime2 = new TimePickerView.Builder(UpdataSubscribeTimeActivity.this, new TimePickerView.OnTimeSelectListener() {
@Override
public void onTimeSelect(Date date2, View v) {//选中事件回调
String time = getTimes(date2);
ToastUtils.showShortToast("时间" + time);
String nowtime = UtilsDate.getCurrDate(LONG_TIME_FORMAT_TWO);
String time = UtilsDate.dateToString(date2, LONG_TIME_FORMAT_TWO);
if (mIsToday && UtilsDate.stringtoDate(nowtime, LONG_TIME_FORMAT_TWO).getTime() - UtilsDate.stringtoDate(time, LONG_TIME_FORMAT_TWO).getTime() >= 0) {
ToastUtils.showShortToast("请选择合法的时间");
return;
} else {
ToastUtils.showShortToast(time);
textTimeValue.setText(time);
}
}
})
.setType(TimePickerView.Type.HOURS_MINS)//默认全部显示
.setCancelText("取消")//取消按钮文字
......
package com.dayu.bigfish.activity;
import android.app.Activity;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.text.TextUtils;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
import com.dayu.bigfish.Constants;
import com.dayu.bigfish.R;
import com.dayu.bigfish.application.MyApplication;
import com.dayu.bigfish.bean.AlipayBean;
import com.dayu.bigfish.bean.BaseBean;
import com.dayu.bigfish.utils.GetUserInfo;
import com.dayu.bigfish.utils.ToastUtils;
import com.dayu.bigfish.utils.UtilsUserAccountMatcher;
import com.dayu.bigfish.views.CustomProgressDialog;
import com.google.gson.Gson;
import com.lzy.okgo.OkGo;
import com.lzy.okgo.callback.StringCallback;
import org.json.JSONObject;
import java.util.HashMap;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import okhttp3.Call;
import okhttp3.Response;
/**
* 账号绑定页面.
* Created by luofan on 2017/11/1.
*/
public class WithdrawalsActivity extends Activity {
@BindView(R.id.et_withdrawals_accout)
EditText mAccountEt;
@BindView(R.id.et_withdrawals_name)
EditText mNameEt;
@BindView(R.id.et_withdrawals_phone)
EditText mPHoneEt;
@BindView(R.id.tv_account_comfirm)
TextView mComfirmTv;
private String mAccount;
private String mName;
private String mPhone;
private Activity mActivity;
private CustomProgressDialog mDialog;
private String mToken;
private int mUserId;
private int mState = 0;//0:绑定//1.修改
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_withdrawals_layout);
ButterKnife.bind(this);
mActivity = this;
mDialog = new CustomProgressDialog(this, R.style.CustomDialog);
mToken = GetUserInfo.getToken(this);
mUserId = GetUserInfo.getACCOUNT_ID(MyApplication.getContext());
initData();
}
private void initData() {
mDialog.show();
//查询支付宝账号
OkGo.get(Constants.PERSONAL_ALIPAY_QUERY + mUserId)
.tag(this)
.headers("token", mToken)
.execute(new StringCallback() {
@Override
public void onSuccess(String s, Call call, Response response) {
Gson gson = new Gson();
AlipayBean bean = gson.fromJson(s, AlipayBean.class);
if (bean.getCode() == 0) {
if (bean.getData() == null) {
mState = 0;
} else {
mAccountEt.setText(bean.getData().getAlipayAccount());
mNameEt.setText(bean.getData().getAlipayName());
mPHoneEt.setText(bean.getData().getAlipayMobile());
mState = 1;
}
initView();
} else {
mState = 0;
ToastUtils.showShortToast(getString(R.string.get_alipay_error));
}
mDialog.dismiss();
}
@Override
public void onError(Call call, Response response, Exception e) {
ToastUtils.showShortToast(getString(R.string.error_serve));
mState = 0;
mDialog.dismiss();
}
});
}
private void initView() {
if (mState == 0) {
mComfirmTv.setBackgroundResource(R.drawable.btn_login_selector);
mComfirmTv.setText(getString(R.string.comfirm));
mComfirmTv.setTextColor(getResources().getColor(R.color.cl_white));
} else {
mComfirmTv.setBackgroundResource(R.drawable.btn_blue_react);
mComfirmTv.setText(getString(R.string.modify_alipay_info));
mComfirmTv.setTextColor(getResources().getColor(R.color.cl_receiving_order_item_data));
}
}
@OnClick({R.id.receiving_back, R.id.tv_account_comfirm})
public void onViewClicked(View view) {
switch (view.getId()) {
case R.id.receiving_back:
mActivity.finish();
break;
case R.id.tv_account_comfirm:
if (mState == 0) {
comfirmData();
} else {
modifyData();
}
break;
default:
break;
}
}
private void modifyData() {
JSONObject jsonObject = getInfo();
if (jsonObject == null) {
return;
}
//修改支付宝
OkGo.post(Constants.PERSONAL_ALIPAY_MODIFY)
.tag(this)
.headers("token", mToken)
.upJson(jsonObject.toString())
.execute(new StringCallback() {
@Override
public void onSuccess(String s, Call call, Response response) {
Gson gson = new Gson();
BaseBean baseBean = gson.fromJson(s, BaseBean.class);
if (baseBean.getCode() == 0) {
ToastUtils.showShortToast(getString(R.string.modify_alipay_account_success));
finish();
} else {
ToastUtils.showShortToast(getString(R.string.modify_alipay_account_error));
}
mDialog.dismiss();
}
@Override
public void onError(Call call, Response response, Exception e) {
ToastUtils.showShortToast(getString(R.string.error_serve));
mState = 0;
mDialog.dismiss();
}
});
}
private void comfirmData() {
JSONObject jsonObject = getInfo();
if (jsonObject == null) {
return;
}
OkGo.post(Constants.PERSONAL_ALIPAY_BOUND)
.tag(this)
.headers("token", mToken)
.upJson(jsonObject.toString())
.execute(new StringCallback() {
@Override
public void onSuccess(String s, Call call, Response response) {
mDialog.dismiss();
Gson gson = new Gson();
BaseBean baseBean = gson.fromJson(s, BaseBean.class);
if (baseBean.getCode() == 0) {
ToastUtils.showShortToast(getString(R.string.comfirm_alipay_account_success));
finish();
} else {
ToastUtils.showShortToast(getString(R.string.comfirm_alipay_account_error));
}
}
@Override
public void onError(Call call, Response response, Exception e) {
ToastUtils.showShortToast(getString(R.string.error_serve));
mDialog.dismiss();
}
});
}
public JSONObject getInfo() {
mAccount = mAccountEt.getText().toString().trim();
mName = mNameEt.getText().toString().trim();
mPhone = mPHoneEt.getText().toString().trim();
if (TextUtils.isEmpty(mAccount)) {
ToastUtils.showShortToast(getString(R.string.alipay_account_null));
return null;
}
if (TextUtils.isEmpty(mName)) {
ToastUtils.showShortToast(getString(R.string.alipay_name_null));
return null;
}
if (TextUtils.isEmpty(mPhone)) {
ToastUtils.showShortToast(getString(R.string.alipay_phone_null));
return null;
}
if (!UtilsUserAccountMatcher.isPhoneNum(mPhone)) {
ToastUtils.showShortToast(getString(R.string.alipay_phone_error));
return null;
}
HashMap<String, Object> params = new HashMap<>();
params.put(Constants.ACCOUNT_ID, mUserId);
params.put("alipayAccount", mAccount);
params.put("alipayMobile", mPhone);
params.put("alipayName", mName);
JSONObject jsonObject = new JSONObject(params);
return jsonObject;
}
}
......@@ -6,9 +6,7 @@ import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.text.Editable;
import android.text.TextWatcher;
import android.util.Log;
import android.view.View;
import android.view.inputmethod.EditorInfo;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.RelativeLayout;
......@@ -29,7 +27,6 @@ import com.dayu.bigfish.utils.ToastUtils;
import com.dayu.bigfish.views.CustomProgressDialog;
import java.util.ArrayList;
import java.util.List;
import butterknife.BindView;
import butterknife.ButterKnife;
......@@ -61,8 +58,7 @@ public class WorksheetRecordActivity extends BaseActivity<WorksheetRecordView, W
RelativeLayout timeSeacher;
@BindView(R.id.rv)
RecyclerView recyclerView;
private String seacher;
public ArrayList<WorksheetBean.DataBeanX.DataBean> list = new ArrayList<>();
public ArrayList<WorksheetBean.DataBeanX.DataBean> mList = new ArrayList<>();
private CustomProgressDialog dialog;
private int siteId = GetUserInfo.getSITE_ID(MyApplication.getContext());
private int userId = GetUserInfo.getACCOUNT_ID(MyApplication.getContext());
......@@ -82,7 +78,7 @@ public class WorksheetRecordActivity extends BaseActivity<WorksheetRecordView, W
dialog.show();
initView();
initRefresh();
list.clear();
mList.clear();
presenter.getDate("5", userId, siteId, "1", token);
}
......@@ -90,11 +86,12 @@ public class WorksheetRecordActivity extends BaseActivity<WorksheetRecordView, W
@Override
public void initView() {
titleText.setText("工单记录");
worksheetAdapter = new WorksheetAdapter(this, list);
worksheetAdapter = new WorksheetAdapter(this, mList);
etSeacher.addTextChangedListener(new TextWatcher() {
@Override
public void afterTextChanged(Editable s) {
doSearch(s);
}
@Override
......@@ -105,16 +102,27 @@ public class WorksheetRecordActivity extends BaseActivity<WorksheetRecordView, W
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
seacher = s.toString();
list.clear();
presenter.getDate("5", userId, siteId, "1", token);
worksheetAdapter.notifyDataSetChanged();
}
});
}
private void doSearch(Editable s) {
String str = s.toString();
if (mList == null) {
return;
}
ArrayList<WorksheetBean.DataBeanX.DataBean> list = new ArrayList<>();
for (WorksheetBean.DataBeanX.DataBean data : mList) {
if (data.getCustomerMobile().contains(str)) {
list.add(data);
}
}
worksheetAdapter.setDatas(list);
worksheetAdapter.notifyDataSetChanged();
}
@Override
public void initData() {
......@@ -146,9 +154,9 @@ public class WorksheetRecordActivity extends BaseActivity<WorksheetRecordView, W
@Override
public void getSuccess(WorksheetBean worksheetBean) {
dialog.dismiss();
list.clear();
list.addAll(worksheetBean.getData().getData());
if (list.size() == 0 || list.equals(" ")) {
mList.clear();
mList.addAll(worksheetBean.getData().getData());
if (mList.size() == 0 || mList.equals(" ")) {
mTipsHelper.showEmpty();
} else {
mTipsHelper.hideEmpty();
......@@ -181,7 +189,7 @@ public class WorksheetRecordActivity extends BaseActivity<WorksheetRecordView, W
public void OnItemLongClick(View view, int position) {
//跳转工单详情
Intent intent = new Intent(WorksheetRecordActivity.this, OrderDetailsActivity.class);
id = list.get(position).getId();
id = mList.get(position).getId();
intent.putExtra("orderId", id + "");
startActivity(intent);
}
......
package com.dayu.bigfish.adapter;
import android.support.annotation.LayoutRes;
import android.support.annotation.Nullable;
import android.view.View;
import android.widget.TextView;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import com.dayu.bigfish.R;
import com.dayu.bigfish.bean.AccountListBean;
import java.util.List;
import butterknife.BindView;
import butterknife.ButterKnife;
/**
* Created by luofan on 2017/11/1.
*/
public class AccountBalanceAdapter extends BaseQuickAdapter<AccountListBean.DataBean.Account, AccountBalanceAdapter.ViewHodler> {
public AccountBalanceAdapter(@LayoutRes int layoutResId, @Nullable List<AccountListBean.DataBean.Account> data) {
super(layoutResId, data);
}
@Override
protected void convert(ViewHodler helper, AccountListBean.DataBean.Account item) {
double balance = item.getStreamPrice();
if (balance > 0) {
helper.mBalance.setText("+" + item.getStreamPrice());
helper.mBalance.setTextColor(mContext.getResources().getColor(R.color.cl_tab_yellow));
} else {
helper.mBalance.setText(item.getStreamPrice() + "");
helper.mBalance.setTextColor(mContext.getResources().getColor(R.color.cl_order_text_title));
}
helper.mSource.setText(item.getOperateActionComment());
helper.mTime.setText(item.getCreateTime());
}
class ViewHodler extends BaseViewHolder {
@BindView(R.id.item_tv_accout_source)
TextView mSource;
@BindView(R.id.item_tv_accout_time)
TextView mTime;
@BindView(R.id.item_tv_accout_balance)
TextView mBalance;
public ViewHodler(View view) {
super(view);
ButterKnife.bind(this, view);
}
}
}
......@@ -34,6 +34,10 @@ public class WorksheetAdapter extends RecyclerView.Adapter<WorksheetAdapter.Work
private OnItemLongClickListener mOnItemLongClickListener;
private int myOrderStatu;
public void setDatas(ArrayList<WorksheetBean.DataBeanX.DataBean> list) {
list1 = list;
}
public WorksheetAdapter(Context context, ArrayList<WorksheetBean.DataBeanX.DataBean> list) {
this.mContext = context;
this.list1 = list;
......
......@@ -2,31 +2,19 @@ package com.dayu.bigfish.application;
import android.app.ActivityManager;
import android.app.Application;
import android.app.VoiceInteractor;
import android.content.Context;
import android.content.IntentFilter;
import android.database.sqlite.SQLiteDatabase;
import android.net.ConnectivityManager;
import android.net.wifi.WifiManager;
import android.os.Handler;
import android.text.TextUtils;
import com.dayu.bigfish.greendao.DaoMaster;
import com.dayu.bigfish.greendao.DaoSession;
import com.dayu.bigfish.utils.LogUtils;
import com.dayu.bigfish.greendao.GreenDaoManager;
import com.dayu.bigfish.utils.NetworkConnectChangedReceiver;
import com.dayu.bigfish.utils.SPUtils;
import com.hyphenate.EMCallBack;
import com.hyphenate.chat.EMClient;
import com.hyphenate.chat.EMOptions;
import com.lzy.okgo.OkGo;
import com.lzy.okgo.cache.CacheEntity;
import com.lzy.okgo.cache.CacheMode;
import com.lzy.okgo.cookie.CookieJarImpl;
import com.lzy.okgo.https.HttpsUtils;
import com.lzy.okgo.interceptor.HttpLoggingInterceptor;
import com.lzy.okgo.model.HttpHeaders;
import com.umeng.analytics.MobclickAgent;
import java.util.Iterator;
import java.util.List;
......@@ -35,8 +23,6 @@ import java.util.logging.Level;
import okhttp3.OkHttpClient;
import static com.dayu.bigfish.R.mipmap.error;
/**
* 全局的相关配置
* MrWang
......@@ -49,10 +35,7 @@ public class MyApplication extends Application {
private static int mMainThreadId;
// 记录环信是否已经初始化
private boolean isInit = false;
public DaoSession daoSession;
public SQLiteDatabase db;
public DaoMaster.DevOpenHelper helper;
public DaoMaster daoMaster;
/**
* 程序的入口方法
*/
......@@ -64,12 +47,13 @@ public class MyApplication extends Application {
filter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION);
filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
registerReceiver(new NetworkConnectChangedReceiver(), filter);
setupDatabase();
//捕获错误报告并上传到友盟服务器
/* public static void reportError(Context context, String error)
public static void reportError(Context context, Throwable e)*/
//上下文
mContext = getApplicationContext();
//初始化greendao
GreenDaoManager.getInstance();
// 主线程的Handler
mHandler = new Handler();
//当前线程(主线程)的线程id
......@@ -84,6 +68,7 @@ public class MyApplication extends Application {
EMClient.getInstance().setDebugMode(true);
initEasemob();
}
private void initEasemob() {
// 获取当前进程 id 并取得进程名
int pid = android.os.Process.myPid();
......@@ -210,23 +195,4 @@ public class MyApplication extends Application {
public static synchronized MyApplication context() {
return (MyApplication) mContext;
}
private void setupDatabase() {
// 通过 DaoMaster 的内部类 DevOpenHelper,你可以得到一个便利的 SQLiteOpenHelper 对象。
// 可能你已经注意到了,你并不需要去编写「CREATE TABLE」这样的 SQL 语句,因为 greenDAO 已经帮你做了。
// 注意:默认的 DaoMaster.DevOpenHelper 会在数据库升级时,删除所有的表,意味着这将导致数据的丢失。
// 所以,在正式的项目中,你还应该做一层封装,来实现数据库的安全升级。
helper = new DaoMaster.DevOpenHelper(this, "tell", null);
db = helper.getWritableDatabase();
// 注意:该数据库连接属于 DaoMaster,所以多个 Session 指的是相同的数据库连接。
daoMaster = new DaoMaster(db);
daoSession = daoMaster.newSession();
}
public DaoSession getDaoSession() {
return daoSession;
}
public SQLiteDatabase getDb() {
return db;
}
}
package com.dayu.bigfish.base;
import android.Manifest;
import android.appwidget.AppWidgetManager;
import android.content.Context;
import android.content.pm.PackageManager;
import android.os.Build;
import android.app.Activity;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.text.TextUtils;
import android.view.View;
import com.dayu.bigfish.managers.AppManager;
import com.dayu.bigfish.tip.DefaultTipsHelper;
import com.dayu.bigfish.tip.TipsHelper;
import com.dayu.bigfish.utils.LogUtils;
import com.dayu.bigfish.utils.ToastUtils;
import com.lzy.okgo.OkGo;
import com.umeng.analytics.MobclickAgent;
import org.greenrobot.eventbus.EventBus;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.lang.reflect.Method;
import static com.dayu.bigfish.managers.AppManager.getAppManager;
/**
* Activity的基类
* on 2017/8/20.
......@@ -37,12 +17,14 @@ import static com.dayu.bigfish.managers.AppManager.getAppManager;
public abstract class BaseActivity<V, T extends BasePresenter<V>> extends AppCompatActivity {
//交由子类去调用的p层,我一般都是在活动使用成员变量自己记录
public T presenter;
protected Activity mActivity;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//初始化p层
presenter = initPresenter();
mActivity = this;
//设置友盟数据统计到测试设备,避免数据污染
// MobclickAgent.setDebugMode( true );
}
......
package com.dayu.bigfish.base;
import android.content.Context;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
......@@ -23,6 +24,14 @@ public abstract class BaseFragment<V, T extends BasePresenter<V>> extends Fragme
public T presenter;
//标志位,Fragment是否可见
protected boolean isVisible;
protected Context mContext;
@Override
public void onAttach(Context context) {
super.onAttach(context);
mContext = context;
}
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
......@@ -30,14 +39,17 @@ public abstract class BaseFragment<V, T extends BasePresenter<V>> extends Fragme
initEvent();
return super.onCreateView(inflater, container, savedInstanceState);
}
private void initEvent() {
if (!EventBus.getDefault().isRegistered(this)) {
EventBus.getDefault().register(this);
}
}
protected TipsHelper createTipsHelper(View view) {
return new DefaultTipsHelper(getContext(), view);
}
@Override
public void onResume() {
super.onResume();
......@@ -51,20 +63,33 @@ public abstract class BaseFragment<V, T extends BasePresenter<V>> extends Fragme
super.onDestroy();
}
@Override
public void onDetach() {
super.onDetach();
mContext = null;
}
protected abstract void initData();
public abstract T initPresenter();
protected void initView(View view, Bundle savedInstanceState) {
}
//强制子类初始化监听的方法
public abstract void initListener();
//强制子类初始化视图的方法
public abstract void initView();
private long mPressedTime = 0;
protected void onVisible(){
protected void onVisible() {
this.lazyLoad();
}
protected abstract void lazyLoad();
protected void onInvisible(){}
protected void onInvisible() {
}
}
package com.dayu.bigfish.bean;
import java.io.Serializable;
/**
* 获取工程师的累计信息(包含工单记录,评分,和累计收益)
* on 2017/9/29.
*/
public class AccountBalanceBean implements Serializable {
/**
* code : 0
* data : {"评分":0,"累计收益":0,"工单记录":0}
* msg : 成功
*/
private int code;
private DataBean data;
private String msg;
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public DataBean getData() {
return data;
}
public void setData(DataBean data) {
this.data = data;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public static class DataBean {
private int accountBalance;
private double todaySubSidymoney;
public int getAccountBalance() {
return accountBalance;
}
public void setAccountBalance(int accountBalance) {
this.accountBalance = accountBalance;
}
public double getTodaySubSidymoney() {
return todaySubSidymoney;
}
public void setTodaySubSidymoney(double todaySubSidymoney) {
this.todaySubSidymoney = todaySubSidymoney;
}
}
}
package com.dayu.bigfish.bean;
import java.io.Serializable;
import java.util.List;
/**
* Created by luofan on 2017/11/1.
*/
public class AccountListBean implements Serializable {
private int code;
private DataBean data;
private String msg;
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public DataBean getData() {
return data;
}
public void setData(DataBean data) {
this.data = data;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public static class DataBean implements Serializable {
/**
* "data": {
* "pageNo": 1,
* "pageSize": 10,
* "totalRows": 3,
* "data": [
* {
* "id": 1,
* "accountId": 1,
* "operateActionStatus": 1,
* "operateActionComment": "补贴",
* "streamPrice": 5,
* "createTime": "2017-11-01 09:45:44"
* },
* "previousPageNo": 1,
* "nextPageNo": 1,
* "totalPages": 1
* },
*/
private int pageNo;
private int pageSize;
private int totalRows;
private List<Account> data;
private int previousPageNo;
private int nextPageNo;
private int totalPages;
public int getPageNo() {
return pageNo;
}
public void setPageNo(int pageNo) {
this.pageNo = pageNo;
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public int getTotalRows() {
return totalRows;
}
public void setTotalRows(int totalRows) {
this.totalRows = totalRows;
}
public int getPreviousPageNo() {
return previousPageNo;
}
public void setPreviousPageNo(int previousPageNo) {
this.previousPageNo = previousPageNo;
}
public int getNextPageNo() {
return nextPageNo;
}
public void setNextPageNo(int nextPageNo) {
this.nextPageNo = nextPageNo;
}
public int getTotalPages() {
return totalPages;
}
public void setTotalPages(int totalPages) {
this.totalPages = totalPages;
}
public List<Account> getData() {
return data;
}
public void setData(List<Account> data) {
this.data = data;
}
public static class Account implements Serializable {
private int id;
private int accountId;
private int operateActionStatus;
private String operateActionComment;
private double streamPrice;
private String createTime;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getAccountId() {
return accountId;
}
public void setAccountId(int accountId) {
this.accountId = accountId;
}
public int getOperateActionStatus() {
return operateActionStatus;
}
public void setOperateActionStatus(int operateActionStatus) {
this.operateActionStatus = operateActionStatus;
}
public String getOperateActionComment() {
return operateActionComment;
}
public void setOperateActionComment(String operateActionComment) {
this.operateActionComment = operateActionComment;
}
public double getStreamPrice() {
return streamPrice;
}
public void setStreamPrice(int streamPrice) {
this.streamPrice = streamPrice;
}
public String getCreateTime() {
return createTime;
}
public void setCreateTime(String createTime) {
this.createTime = createTime;
}
}
}
}
package com.dayu.bigfish.bean;
/**
* Created by luofan on 2017/11/2.
*/
public class AlipayBean {
/**
* code : 0
* data : {"id":2,"accountId":454,"alipayAccount":"guj","alipayName":"chj","alipayMobile":"13567810832","createTime":"2017-11-02 10:06:36","updateTime":"2017-11-02 11:02:19"}
* msg : 成功
*/
private int code;
private DataBean data;
private String msg;
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public DataBean getData() {
return data;
}
public void setData(DataBean data) {
this.data = data;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public static class DataBean {
/**
* id : 2
* accountId : 454
* alipayAccount : guj
* alipayName : chj
* alipayMobile : 13567810832
* createTime : 2017-11-02 10:06:36
* updateTime : 2017-11-02 11:02:19
*/
private int id;
private int accountId;
private String alipayAccount;
private String alipayName;
private String alipayMobile;
private String createTime;
private String updateTime;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getAccountId() {
return accountId;
}
public void setAccountId(int accountId) {
this.accountId = accountId;
}
public String getAlipayAccount() {
return alipayAccount;
}
public void setAlipayAccount(String alipayAccount) {
this.alipayAccount = alipayAccount;
}
public String getAlipayName() {
return alipayName;
}
public void setAlipayName(String alipayName) {
this.alipayName = alipayName;
}
public String getAlipayMobile() {
return alipayMobile;
}
public void setAlipayMobile(String alipayMobile) {
this.alipayMobile = alipayMobile;
}
public String getCreateTime() {
return createTime;
}
public void setCreateTime(String createTime) {
this.createTime = createTime;
}
public String getUpdateTime() {
return updateTime;
}
public void setUpdateTime(String updateTime) {
this.updateTime = updateTime;
}
}
}
package com.dayu.bigfish.bean;
/**
* Created by luofan on 2017/11/1.
*/
public class BaseDateBean {
protected int code;
protected String msg;
}
......@@ -50,11 +50,11 @@ public class ReceUserRevenue implements Serializable {
* 工单记录 : 0
*/
private int 评分;
private int 累计收益;
private double 评分;
private double 累计收益;
private int 工单记录;
public int get评分() {
public double get评分() {
return 评分;
}
......@@ -62,7 +62,7 @@ public class ReceUserRevenue implements Serializable {
this.评分 = 评分;
}
public int get累计收益() {
public double get累计收益() {
return 累计收益;
}
......
......@@ -2,26 +2,22 @@ package com.dayu.bigfish.fragment;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ListView;
import android.widget.Toast;
import com.cjj.MaterialRefreshLayout;
import com.cjj.MaterialRefreshListener;
import com.dayu.bigfish.R;
import com.dayu.bigfish.activity.OrderDetailsActivity;
import com.dayu.bigfish.adapter.HomeEndTabAdapter;
import com.dayu.bigfish.adapter.HomeThreeTabAdapter;
import com.dayu.bigfish.application.MyApplication;
import com.dayu.bigfish.base.BaseFragment;
import com.dayu.bigfish.bean.OrderFinishBean;
import com.dayu.bigfish.eventbus.RefreshTabNum;
import com.dayu.bigfish.eventbus.TabFourRefresh;
import com.dayu.bigfish.eventbus.TabThreeRefresh;
import com.dayu.bigfish.moudle.finish.HomeEndTabPresenter;
import com.dayu.bigfish.moudle.finish.HomeEndTabView;
import com.dayu.bigfish.tip.TipsHelper;
......@@ -29,6 +25,7 @@ import com.dayu.bigfish.utils.GetUserInfo;
import com.dayu.bigfish.utils.ToastUtils;
import com.dayu.bigfish.views.CustomProgressDialog;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
......@@ -38,8 +35,6 @@ import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.Unbinder;
import static android.R.attr.data;
/**
* 已取消的Fragment
* on 2017/8/31.
......@@ -66,9 +61,9 @@ public class HomeEndTabFragment extends BaseFragment<HomeEndTabView, HomeEndTabP
super.onCreateView(inflater, container, savedInstanceState);
View rootView = inflater.inflate(R.layout.fragment_tab_end, container, false);
unbinder = ButterKnife.bind(this, rootView);
dialog = new CustomProgressDialog(getContext(), R.style.CustomDialog);
dialog = new CustomProgressDialog(mContext, R.style.CustomDialog);
mTipsHelper = createTipsHelper(tabEndList);
token = GetUserInfo.getToken(getContext());
token = GetUserInfo.getToken(mContext);
initRefresh();
isPrepared = true;
initListener();
......@@ -107,7 +102,7 @@ public class HomeEndTabFragment extends BaseFragment<HomeEndTabView, HomeEndTabP
public void initListener() {
tabEndList.setOnItemClickListener((parent, view, position, id) -> {
orderId = finishList.get(position).getId();
Intent intent = new Intent(getContext(), OrderDetailsActivity.class);
Intent intent = new Intent(mContext, OrderDetailsActivity.class);
intent.putExtra("orderId", orderId + "");
startActivity(intent);
});
......@@ -146,13 +141,14 @@ public class HomeEndTabFragment extends BaseFragment<HomeEndTabView, HomeEndTabP
public void finishSuccess(OrderFinishBean orderFinishBean) {
mTipsHelper.hideEmpty();
mTipsHelper.hideError();
EventBus.getDefault().post(new RefreshTabNum(-1));
finishList = orderFinishBean.getData().getData();
if (finishList.size() == 0 || finishList == null) {
mTipsHelper.showEmpty();
dialog.dismiss();
} else {
mTipsHelper.hideEmpty();
homeEndTabAdapter = new HomeEndTabAdapter(getContext(),finishList);
homeEndTabAdapter = new HomeEndTabAdapter(mContext,finishList);
tabEndList.setAdapter(homeEndTabAdapter);
homeEndTabAdapter.notifyDataSetChanged();
dialog.dismiss();
......
......@@ -2,18 +2,14 @@ package com.dayu.bigfish.fragment;
import android.content.Intent;
import android.os.Bundle;
import android.provider.CalendarContract;
import android.support.annotation.Nullable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.Toast;
import com.cjj.MaterialRefreshLayout;
import com.cjj.MaterialRefreshListener;
import com.dayu.bigfish.Constants;
import com.dayu.bigfish.R;
import com.dayu.bigfish.activity.OrderDetailsActivity;
import com.dayu.bigfish.adapter.HomeOneTabAdapter;
......@@ -22,8 +18,6 @@ import com.dayu.bigfish.base.BaseFragment;
import com.dayu.bigfish.bean.HomeOneTabBean;
import com.dayu.bigfish.eventbus.RefreshTabNum;
import com.dayu.bigfish.eventbus.TabOneRefresh;
import com.dayu.bigfish.eventbus.UpdataTime;
import com.dayu.bigfish.fragment.order.OrderDatailsFragment;
import com.dayu.bigfish.moudle.reservation.ReservationPresenter;
import com.dayu.bigfish.moudle.reservation.ReservationView;
import com.dayu.bigfish.tip.TipsHelper;
......@@ -31,9 +25,6 @@ import com.dayu.bigfish.utils.GetUserInfo;
import com.dayu.bigfish.utils.ToastUtils;
import com.dayu.bigfish.views.CustomProgressDialog;
import com.dayu.bigfish.views.RefershAdapter;
import com.google.gson.Gson;
import com.lzy.okgo.OkGo;
import com.lzy.okgo.callback.StringCallback;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
......@@ -44,8 +35,6 @@ import java.util.List;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.Unbinder;
import okhttp3.Call;
import okhttp3.Response;
/**
* 待预约的Fragment
......@@ -90,7 +79,6 @@ public class HomeOneTabFragment extends BaseFragment<ReservationView, Reservatio
}
@Subscribe(threadMode = ThreadMode.MAIN)
public void onRefreTabOne(TabOneRefresh tabOneRefresh) {
if (tabOneRefresh.getMyTab() == 0) {
......@@ -177,6 +165,7 @@ public class HomeOneTabFragment extends BaseFragment<ReservationView, Reservatio
@Override
public void getDataSuc(HomeOneTabBean data) {
mTipsHelper.hideError();
EventBus.getDefault().post(new RefreshTabNum(-1));
if (data.getData().getData().size() == 0 || data.getData().getData() == null) {
mTipsHelper.showEmpty();
dialog.dismiss();
......@@ -189,7 +178,6 @@ public class HomeOneTabFragment extends BaseFragment<ReservationView, Reservatio
dialog.dismiss();
}
}
//返回数据失败
......
......@@ -2,38 +2,30 @@ package com.dayu.bigfish.fragment;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.Toast;
import com.cjj.MaterialRefreshLayout;
import com.cjj.MaterialRefreshListener;
import com.dayu.bigfish.R;
import com.dayu.bigfish.activity.OrderDetailsActivity;
import com.dayu.bigfish.adapter.HomeOneTabAdapter;
import com.dayu.bigfish.adapter.HomeThreeTabAdapter;
import com.dayu.bigfish.adapter.HomeTwoTabAdapter;
import com.dayu.bigfish.application.MyApplication;
import com.dayu.bigfish.base.BaseFragment;
import com.dayu.bigfish.bean.ErrorOrderBean;
import com.dayu.bigfish.bean.HomeOneTabBean;
import com.dayu.bigfish.eventbus.RefreshTabNum;
import com.dayu.bigfish.eventbus.TabThreeRefresh;
import com.dayu.bigfish.eventbus.TabTwoRefresh;
import com.dayu.bigfish.moudle.error.ErrorPresenter;
import com.dayu.bigfish.moudle.error.ErrorView;
import com.dayu.bigfish.moudle.reservation.ReservationPresenter;
import com.dayu.bigfish.moudle.reservation.ReservationView;
import com.dayu.bigfish.tip.TipsHelper;
import com.dayu.bigfish.utils.GetUserInfo;
import com.dayu.bigfish.utils.ToastUtils;
import com.dayu.bigfish.views.CustomProgressDialog;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
......@@ -43,9 +35,6 @@ import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.Unbinder;
import static android.R.attr.data;
import static android.R.id.list;
/**
* 异常单的Fragment
* on 2017/8/31.
......@@ -74,8 +63,8 @@ public class HomeThreeTabFragment extends BaseFragment<ErrorView, ErrorPresenter
super.onCreateView(inflater, container, savedInstanceState);
View rootView = inflater.inflate(R.layout.fragment_tab_three, container, false);
unbinder = ButterKnife.bind(this, rootView);
token = GetUserInfo.getToken(getContext());
dialog = new CustomProgressDialog(getContext(), R.style.CustomDialog);
token = GetUserInfo.getToken(mContext);
dialog = new CustomProgressDialog(mContext, R.style.CustomDialog);
mTipsHelper = createTipsHelper(tabThreeList);
// dialog.dismiss();
//initView();
......@@ -96,7 +85,7 @@ public class HomeThreeTabFragment extends BaseFragment<ErrorView, ErrorPresenter
public void initListener() {
tabThreeList.setOnItemClickListener((parent, view, position, id) -> {
int orderId = errorlist.get(position).getId();
Intent intent = new Intent(getContext(), OrderDetailsActivity.class);
Intent intent = new Intent(mContext, OrderDetailsActivity.class);
intent.putExtra("orderId", orderId + "");
startActivity(intent);
});
......@@ -185,13 +174,14 @@ public class HomeThreeTabFragment extends BaseFragment<ErrorView, ErrorPresenter
public void getSuccess(ErrorOrderBean errorOrderBean) {
mTipsHelper.hideEmpty();
mTipsHelper.hideError();
EventBus.getDefault().post(new RefreshTabNum(-1));
errorlist = errorOrderBean.getData();
if (errorlist.size() == 0 || errorlist == null) {
mTipsHelper.showEmpty();
dialog.dismiss();
} else {
mTipsHelper.hideEmpty();
homeThreeTabAdapter = new HomeThreeTabAdapter(getContext(),errorlist);
homeThreeTabAdapter = new HomeThreeTabAdapter(mContext,errorlist);
tabThreeList.setAdapter(homeThreeTabAdapter);
homeThreeTabAdapter.notifyDataSetChanged();
dialog.dismiss();
......
package com.dayu.bigfish.fragment;
import android.content.Intent;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v4.widget.SwipeRefreshLayout;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.Toast;
import com.cjj.MaterialRefreshLayout;
import com.cjj.MaterialRefreshListener;
import com.dayu.bigfish.Constants;
import com.dayu.bigfish.MyGreenDao;
import com.dayu.bigfish.sqlbean.MyGreenDao;
import com.dayu.bigfish.R;
import com.dayu.bigfish.activity.OrderDetailsActivity;
import com.dayu.bigfish.adapter.HomeOneTabAdapter;
import com.dayu.bigfish.adapter.HomeTwoTabAdapter;
import com.dayu.bigfish.application.MyApplication;
import com.dayu.bigfish.base.BaseFragment;
import com.dayu.bigfish.bean.HomeOneTabBean;
import com.dayu.bigfish.bean.HomeTwoTabBean;
import com.dayu.bigfish.eventbus.RefreshTabNum;
import com.dayu.bigfish.eventbus.TabOneRefresh;
import com.dayu.bigfish.eventbus.TabTwoRefresh;
import com.dayu.bigfish.greendao.GreenDaoManager;
import com.dayu.bigfish.greendao.MyGreenDaoDao;
import com.dayu.bigfish.moudle.beltservice.BeltServicePresenter;
import com.dayu.bigfish.moudle.beltservice.BeltServiceView;
......@@ -35,9 +27,6 @@ import com.dayu.bigfish.tip.TipsHelper;
import com.dayu.bigfish.utils.GetUserInfo;
import com.dayu.bigfish.utils.ToastUtils;
import com.dayu.bigfish.views.CustomProgressDialog;
import com.google.gson.Gson;
import com.lzy.okgo.OkGo;
import com.lzy.okgo.callback.StringCallback;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
......@@ -50,10 +39,6 @@ import java.util.List;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.Unbinder;
import okhttp3.Call;
import okhttp3.Response;
import static android.R.attr.data;
/**
* 待服务的Fragment
......@@ -79,13 +64,16 @@ public class HomeTwoTabFragment extends BaseFragment<BeltServiceView, BeltServic
private TipsHelper mTipsHelper;
private int orderId;
private String token;
private MyGreenDaoDao mMyGreenDao;
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
super.onCreateView(inflater, container, savedInstanceState);
View rootView = inflater.inflate(R.layout.fragment_tab_two, container, false);
unbinder = ButterKnife.bind(this, rootView);
token = GetUserInfo.getToken(getContext());
dialog = new CustomProgressDialog(getContext(), R.style.CustomDialog);
token = GetUserInfo.getToken(mContext);
dialog = new CustomProgressDialog(mContext, R.style.CustomDialog);
mTipsHelper = createTipsHelper(tabTwoList);
mMyGreenDao = GreenDaoManager.getInstance().getmDaoSession().getMyGreenDaoDao();
initRefresh();
isPrepared = true;
initListener();
......@@ -95,12 +83,14 @@ public class HomeTwoTabFragment extends BaseFragment<BeltServiceView, BeltServic
return rootView;
}
@Subscribe(threadMode = ThreadMode.MAIN)
public void onRefreTabTwo(TabTwoRefresh tabTwoRefresh) {
if (tabTwoRefresh.getTabTwo()==0) {
if (tabTwoRefresh.getTabTwo() == 0) {
initData();
}
}
public void initView() {
// initData();
// initListener();
......@@ -118,7 +108,7 @@ public class HomeTwoTabFragment extends BaseFragment<BeltServiceView, BeltServic
@Override
protected void initData() {
dialog.show();
presenter.getData(110, page, userId, 10, siteId,token);
presenter.getData(110, page, userId, 10, siteId, token);
}
@Override
......@@ -129,7 +119,7 @@ public class HomeTwoTabFragment extends BaseFragment<BeltServiceView, BeltServic
public void initListener() {
tabTwoList.setOnItemClickListener((parent, view, position, id) -> {
orderId = list.get(position).getId();
Intent intent = new Intent(getContext(), OrderDetailsActivity.class);
Intent intent = new Intent(mContext, OrderDetailsActivity.class);
intent.putExtra("orderId", orderId + "");
startActivity(intent);
});
......@@ -166,24 +156,26 @@ public class HomeTwoTabFragment extends BaseFragment<BeltServiceView, BeltServic
}
});
}
//获取数据成功
@Override
public void getDataSuc(HomeTwoTabBean data) {
mTipsHelper.hideEmpty();
mTipsHelper.hideError();
EventBus.getDefault().post(new RefreshTabNum(-1));
list = data.getData().getData();
if (list.size() == 0 || list == null) {
mTipsHelper.showEmpty();
dialog.dismiss();
} else {
mTipsHelper.hideEmpty();
homeTwoTabAdapter = new HomeTwoTabAdapter(getContext(), list,token);
homeTwoTabAdapter = new HomeTwoTabAdapter(mContext, list, token);
tabTwoList.setAdapter(homeTwoTabAdapter);
homeTwoTabAdapter.notifyDataSetChanged();
dialog.dismiss();
}
//查询数据库 当前用户
Query query = myGreenDaoDao().queryBuilder().where(MyGreenDaoDao.Properties.Logid.eq(GetUserInfo.getACCOUNT_ID(getContext())))
Query query = mMyGreenDao.queryBuilder().where(MyGreenDaoDao.Properties.Logid.eq(GetUserInfo.getACCOUNT_ID(mContext)))
.build();
// 查询结果以 List 返回
List<MyGreenDao> list1 = query.list();
......@@ -196,16 +188,16 @@ public class HomeTwoTabFragment extends BaseFragment<BeltServiceView, BeltServic
//判断接口返回数据与本地数据库值,如果接口数据不包含本地。就添加
for (int j = 0; j < data.getData().getData().size(); j++) {
if (!list.contains(data.getData().getData().get(j).getId())) {
ss = new MyGreenDao(null,data.getData().getData().get(j).getId(),GetUserInfo.getACCOUNT_ID(getContext()),"0","a");
ss = new MyGreenDao(null, data.getData().getData().get(j).getId(), GetUserInfo.getACCOUNT_ID(mContext), "0", "a");
//插入数据
myGreenDaoDao().insert(ss);
mMyGreenDao.insert(ss);
}
}
} else {
for (int i = 0; i < data.getData().getData().size(); i++) {
ss = new MyGreenDao(null,data.getData().getData().get(i).getId(),GetUserInfo.getACCOUNT_ID(getContext()),"0","a");
ss = new MyGreenDao(null, data.getData().getData().get(i).getId(), GetUserInfo.getACCOUNT_ID(mContext), "0", "a");
//插入数据
myGreenDaoDao().insert(ss);
mMyGreenDao.insert(ss);
}
}
......@@ -228,21 +220,5 @@ public class HomeTwoTabFragment extends BaseFragment<BeltServiceView, BeltServic
super.onResume();
initData();
}
/**
* 通过 BaseApplication 类提供的 getDaoSession() 获取具体 Dao
*
* @return
*/
private MyGreenDaoDao myGreenDaoDao() {
return (MyApplication.context()).getDaoSession().getMyGreenDaoDao();
}
/**
* 通过 BaseApplication 类提供的 getDb() 获取具体 db
*
* @return
*/
private SQLiteDatabase getDb() {
return (MyApplication.context()).getDb();
}
}
package com.dayu.bigfish.fragment.order.message;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.dayu.bigfish.Constants;
import com.dayu.bigfish.MessageBigFish;
import com.dayu.bigfish.MyGreenDao;
import com.dayu.bigfish.sqlbean.MessageBigFish;
import com.dayu.bigfish.R;
import com.dayu.bigfish.activity.BigFishMessageContent;
import com.dayu.bigfish.activity.HomeActivity;
import com.dayu.bigfish.activity.OrderDetailsActivity;
import com.dayu.bigfish.adapter.BigFishMessageAdapter;
import com.dayu.bigfish.adapter.SystemMessageAdapter;
import com.dayu.bigfish.application.MyApplication;
import com.dayu.bigfish.bean.MessageBean;
import com.dayu.bigfish.bean.NewMessageBean;
import com.dayu.bigfish.greendao.GreenDaoManager;
import com.dayu.bigfish.greendao.MessageBigFishDao;
import com.dayu.bigfish.greendao.MyGreenDaoDao;
import com.dayu.bigfish.utils.DateUtils;
import com.dayu.bigfish.utils.GetUserInfo;
import com.dayu.bigfish.utils.ToastUtils;
......@@ -37,7 +27,6 @@ import com.lzy.okgo.OkGo;
import com.lzy.okgo.callback.StringCallback;
import org.greenrobot.greendao.query.Query;
import org.w3c.dom.Text;
import java.util.ArrayList;
import java.util.Collections;
......@@ -51,8 +40,6 @@ import butterknife.Unbinder;
import okhttp3.Call;
import okhttp3.Response;
import static android.media.CamcorderProfile.get;
/**
* 大鱼运营官方通知
* on 2017/10/11.
......@@ -81,6 +68,7 @@ public class BigFishMessageFragment extends Fragment {
private String content;
private String time;
private String messageTitle;
private MessageBigFishDao mMessageBigfishDao;
@Nullable
......@@ -91,6 +79,7 @@ public class BigFishMessageFragment extends Fragment {
token = GetUserInfo.getToken(getContext());
hxUserId = GetUserInfo.getHxUserId(getContext());
unbinder = ButterKnife.bind(this, layout);
mMessageBigfishDao = GreenDaoManager.getInstance().getmDaoSession().getMessageBigFishDao();
initData1();
initListener();
return layout;
......@@ -104,7 +93,7 @@ public class BigFishMessageFragment extends Fragment {
private void initListener() {
messageBigfishListview.setOnItemClickListener((parent, view, position, id) -> {
NewMessageBean.DataBeanX.DataBean lookMessagesBean = bigFishDataList.get(position);
Query query = messageBigFishDao().queryBuilder().where(
Query query = mMessageBigfishDao.queryBuilder().where(
MessageBigFishDao.Properties.Ids.eq(String.valueOf(lookMessagesBean.getId())),
MessageBigFishDao.Properties.Id1.eq(GetUserInfo.getACCOUNT_ID(getContext())))
.build();
......@@ -113,7 +102,7 @@ public class BigFishMessageFragment extends Fragment {
if (list.get(0).getFlag().equals("0")) {
MessageBigFish types = list.get(0);
types.setFlag("1");
messageBigFishDao().update(types);
mMessageBigfishDao.update(types);
}
}
/* orderId = bigFishDataList.get(position).getId();
......@@ -183,7 +172,7 @@ public class BigFishMessageFragment extends Fragment {
messageBigfishListview.setVisibility(View.VISIBLE);
bigMessageView.setVisibility(View.GONE);
//查询数据库 当前用户
Query query =messageBigFishDao().queryBuilder().where(MessageBigFishDao.Properties.Id1.eq(String.valueOf(GetUserInfo.getACCOUNT_ID(getContext()))))
Query query =mMessageBigfishDao.queryBuilder().where(MessageBigFishDao.Properties.Id1.eq(String.valueOf(GetUserInfo.getACCOUNT_ID(getContext()))))
.build();
// 查询结果以 List 返回
List<MessageBigFish> list1 = query.list();
......@@ -198,14 +187,14 @@ public class BigFishMessageFragment extends Fragment {
if (!list.contains(String.valueOf(dataBeen.get(j).getId()))) {
ss = new MessageBigFish(null, String.valueOf(dataBeen.get(j).getId()),String.valueOf(GetUserInfo.getACCOUNT_ID(getContext())),"0");
//插入数据
messageBigFishDao().insert(ss);
mMessageBigfishDao.insert(ss);
}
}
} else {
for (int i = 0; i <dataBeen.size(); i++) {
ss = new MessageBigFish(null, String.valueOf(dataBeen.get(i).getId()),String.valueOf(GetUserInfo.getACCOUNT_ID(getContext())),"0");
//插入数据
messageBigFishDao().insert(ss);
mMessageBigfishDao.insert(ss);
}
}
Map<String, String> map = new HashMap();
......@@ -251,9 +240,6 @@ public class BigFishMessageFragment extends Fragment {
super.onDestroyView();
unbinder.unbind();
}
private MessageBigFishDao messageBigFishDao() {
return (MyApplication.context().getDaoSession().getMessageBigFishDao());
}
@Override
public void onResume() {
super.onResume();
......
......@@ -8,22 +8,19 @@ import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.dayu.bigfish.Constants;
import com.dayu.bigfish.MessageSys;
import com.dayu.bigfish.sqlbean.MessageSys;
import com.dayu.bigfish.R;
import com.dayu.bigfish.activity.OrderDetailsActivity;
import com.dayu.bigfish.activity.ReceivingActivity;
import com.dayu.bigfish.adapter.SystemMessageAdapter;
import com.dayu.bigfish.application.MyApplication;
import com.dayu.bigfish.bean.MessageBean;
import com.dayu.bigfish.bean.MessageJsonBean;
import com.dayu.bigfish.bean.NewMessageBean;
import com.dayu.bigfish.greendao.GreenDaoManager;
import com.dayu.bigfish.greendao.MessageSysDao;
import com.dayu.bigfish.utils.GetUserInfo;
import com.dayu.bigfish.utils.ToastUtils;
......@@ -72,6 +69,7 @@ public class SystemMessageFragment extends Fragment {
private String stringJson;
Unbinder unbinder;
private MessageSys ss;
private MessageSysDao mMessageSysDao;
@Nullable
@Override
......@@ -81,6 +79,7 @@ public class SystemMessageFragment extends Fragment {
dialog = new CustomProgressDialog(getContext(), R.style.CustomDialog);
token = GetUserInfo.getToken(getContext());
hxUserId = GetUserInfo.getHxUserId(getContext());
mMessageSysDao = GreenDaoManager.getInstance().getmDaoSession().getMessageSysDao();
initData1();
initListener();
return layout;
......@@ -95,7 +94,7 @@ public class SystemMessageFragment extends Fragment {
private void initListener() {
messageSystemListview.setOnItemClickListener((parent, view1, position, id) -> {
NewMessageBean.DataBeanX.DataBean lookMessagesBean = myDataList.get(position);
Query query = messageSysDao().queryBuilder().where(
Query query = mMessageSysDao.queryBuilder().where(
MessageSysDao.Properties.Ids.eq(String.valueOf(lookMessagesBean.getId())),
MessageSysDao.Properties.Id1.eq(GetUserInfo.getACCOUNT_ID(getContext())))
.build();
......@@ -104,7 +103,7 @@ public class SystemMessageFragment extends Fragment {
if (list.get(0).getFlag().equals("0")) {
MessageSys types = list.get(0);
types.setFlag("1");
messageSysDao().update(types);
mMessageSysDao.update(types);
}
}
......@@ -167,7 +166,7 @@ public class SystemMessageFragment extends Fragment {
messageSystemListview.setVisibility(View.VISIBLE);
messageView.setVisibility(View.GONE);
//查询数据库 当前用户
Query query =messageSysDao().queryBuilder().where(MessageSysDao.Properties.Id1.eq(String.valueOf(GetUserInfo.getACCOUNT_ID(getContext()))))
Query query =mMessageSysDao.queryBuilder().where(MessageSysDao.Properties.Id1.eq(String.valueOf(GetUserInfo.getACCOUNT_ID(getContext()))))
.build();
// 查询结果以 List 返回
List<MessageSys> list1 = query.list();
......@@ -182,14 +181,14 @@ public class SystemMessageFragment extends Fragment {
if (!list.contains(String.valueOf(dataBeen.get(j).getId()))) {
ss = new MessageSys(null, String.valueOf(dataBeen.get(j).getId()),String.valueOf(GetUserInfo.getACCOUNT_ID(getContext())),"0");
//插入数据
messageSysDao().insert(ss);
mMessageSysDao.insert(ss);
}
}
} else {
for (int i = 0; i <dataBeen.size(); i++) {
ss = new MessageSys(null, String.valueOf(dataBeen.get(i).getId()),String.valueOf(GetUserInfo.getACCOUNT_ID(getContext())),"0");
//插入数据
messageSysDao().insert(ss);
mMessageSysDao.insert(ss);
}
}
Map<String, String> map = new HashMap();
......@@ -235,9 +234,6 @@ public class SystemMessageFragment extends Fragment {
super.onDestroyView();
unbinder.unbind();
}
private MessageSysDao messageSysDao() {
return (MyApplication.context().getDaoSession().getMessageSysDao());
}
@Override
public void onResume() {
......
......@@ -14,13 +14,14 @@ import org.greenrobot.greendao.identityscope.IdentityScopeType;
// THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT.
/**
* Master of DAO (schema version 1): knows all DAOs.
* Master of DAO (schema version 2): knows all DAOs.
*/
public class DaoMaster extends AbstractDaoMaster {
public static final int SCHEMA_VERSION = 1;
public static final int SCHEMA_VERSION = 2;
/** Creates underlying database table using DAOs. */
public static void createAllTables(Database db, boolean ifNotExists) {
OrderInfoDao.createTable(db, ifNotExists);
MessageBigFishDao.createTable(db, ifNotExists);
MessageSysDao.createTable(db, ifNotExists);
MyGreenDaoDao.createTable(db, ifNotExists);
......@@ -28,6 +29,7 @@ public class DaoMaster extends AbstractDaoMaster {
/** Drops underlying database table using DAOs. */
public static void dropAllTables(Database db, boolean ifExists) {
OrderInfoDao.dropTable(db, ifExists);
MessageBigFishDao.dropTable(db, ifExists);
MessageSysDao.dropTable(db, ifExists);
MyGreenDaoDao.dropTable(db, ifExists);
......@@ -49,6 +51,7 @@ public class DaoMaster extends AbstractDaoMaster {
public DaoMaster(Database db) {
super(db, SCHEMA_VERSION);
registerDaoClass(OrderInfoDao.class);
registerDaoClass(MessageBigFishDao.class);
registerDaoClass(MessageSysDao.class);
registerDaoClass(MyGreenDaoDao.class);
......
package com.dayu.bigfish.greendao;
import java.util.Map;
import com.dayu.bigfish.sqlbean.MessageBigFish;
import com.dayu.bigfish.sqlbean.MessageSys;
import com.dayu.bigfish.sqlbean.MyGreenDao;
import com.dayu.bigfish.sqlbean.OrderInfo;
import org.greenrobot.greendao.AbstractDao;
import org.greenrobot.greendao.AbstractDaoSession;
......@@ -8,13 +11,7 @@ import org.greenrobot.greendao.database.Database;
import org.greenrobot.greendao.identityscope.IdentityScopeType;
import org.greenrobot.greendao.internal.DaoConfig;
import com.dayu.bigfish.MessageBigFish;
import com.dayu.bigfish.MessageSys;
import com.dayu.bigfish.MyGreenDao;
import com.dayu.bigfish.greendao.MessageBigFishDao;
import com.dayu.bigfish.greendao.MessageSysDao;
import com.dayu.bigfish.greendao.MyGreenDaoDao;
import java.util.Map;
// THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT.
......@@ -25,10 +22,12 @@ import com.dayu.bigfish.greendao.MyGreenDaoDao;
*/
public class DaoSession extends AbstractDaoSession {
private final DaoConfig orderInfoDaoConfig;
private final DaoConfig messageBigFishDaoConfig;
private final DaoConfig messageSysDaoConfig;
private final DaoConfig myGreenDaoDaoConfig;
private final OrderInfoDao orderInfoDao;
private final MessageBigFishDao messageBigFishDao;
private final MessageSysDao messageSysDao;
private final MyGreenDaoDao myGreenDaoDao;
......@@ -37,6 +36,9 @@ public class DaoSession extends AbstractDaoSession {
daoConfigMap) {
super(db);
orderInfoDaoConfig = daoConfigMap.get(OrderInfoDao.class).clone();
orderInfoDaoConfig.initIdentityScope(type);
messageBigFishDaoConfig = daoConfigMap.get(MessageBigFishDao.class).clone();
messageBigFishDaoConfig.initIdentityScope(type);
......@@ -46,21 +48,28 @@ public class DaoSession extends AbstractDaoSession {
myGreenDaoDaoConfig = daoConfigMap.get(MyGreenDaoDao.class).clone();
myGreenDaoDaoConfig.initIdentityScope(type);
orderInfoDao = new OrderInfoDao(orderInfoDaoConfig, this);
messageBigFishDao = new MessageBigFishDao(messageBigFishDaoConfig, this);
messageSysDao = new MessageSysDao(messageSysDaoConfig, this);
myGreenDaoDao = new MyGreenDaoDao(myGreenDaoDaoConfig, this);
registerDao(OrderInfo.class, orderInfoDao);
registerDao(MessageBigFish.class, messageBigFishDao);
registerDao(MessageSys.class, messageSysDao);
registerDao(MyGreenDao.class, myGreenDaoDao);
}
public void clear() {
orderInfoDaoConfig.clearIdentityScope();
messageBigFishDaoConfig.clearIdentityScope();
messageSysDaoConfig.clearIdentityScope();
myGreenDaoDaoConfig.clearIdentityScope();
}
public OrderInfoDao getOrderInfoDao() {
return orderInfoDao;
}
public MessageBigFishDao getMessageBigFishDao() {
return messageBigFishDao;
}
......
package com.dayu.bigfish.greendao;
import com.dayu.bigfish.application.MyApplication;
/**
* Created by luofan on 2017/11/4.
*/
public class GreenDaoManager {
private DaoMaster mDaoMaster;
private DaoSession mDaoSession;
private GreenDaoManager() {
init();
}
/**
* 静态内部类,实例化对象使用
*/
private static class SingleInstanceHolder {
private static final GreenDaoManager INSTANCE = new GreenDaoManager();
}
/**
* 对外唯一实例的接口
*
* @return
*/
public static GreenDaoManager getInstance() {
return SingleInstanceHolder.INSTANCE;
}
/**
* 初始化数据
*/
private void init() {
MyOpenHelper devOpenHelper = new MyOpenHelper(MyApplication.getContext(),
"tell", null);
mDaoMaster = new DaoMaster(devOpenHelper.getWritableDatabase());
mDaoSession = mDaoMaster.newSession();
}
public DaoMaster getmDaoMaster() {
return mDaoMaster;
}
public DaoSession getmDaoSession() {
return mDaoSession;
}
public DaoSession getNewSession() {
mDaoSession = mDaoMaster.newSession();
return mDaoSession;
}
}
......@@ -9,7 +9,7 @@ import org.greenrobot.greendao.internal.DaoConfig;
import org.greenrobot.greendao.database.Database;
import org.greenrobot.greendao.database.DatabaseStatement;
import com.dayu.bigfish.MessageBigFish;
import com.dayu.bigfish.sqlbean.MessageBigFish;
// THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT.
/**
......
......@@ -9,7 +9,7 @@ import org.greenrobot.greendao.internal.DaoConfig;
import org.greenrobot.greendao.database.Database;
import org.greenrobot.greendao.database.DatabaseStatement;
import com.dayu.bigfish.MessageSys;
import com.dayu.bigfish.sqlbean.MessageSys;
// THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT.
/**
......
package com.dayu.bigfish.greendao;
import android.database.Cursor;
import android.text.TextUtils;
import android.util.Log;
import org.greenrobot.greendao.AbstractDao;
import org.greenrobot.greendao.database.Database;
import org.greenrobot.greendao.internal.DaoConfig;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class MigrationHelper {
private static final String CONVERSION_CLASS_NOT_FOUND_EXCEPTION = "MIGRATION HELPER - CLASS DOESN'T MATCH WITH THE CURRENT PARAMETERS";
private static MigrationHelper instance;
public static MigrationHelper getInstance() {
if (instance == null) {
instance = new MigrationHelper();
}
return instance;
}
public void migrate(Database db, Class<? extends AbstractDao<?, ?>>... daoClasses) {
generateTempTables(db, daoClasses);
DaoMaster.dropAllTables(db, true);
DaoMaster.createAllTables(db, false);
restoreData(db, daoClasses);
}
/**
* 生成临时列表
*
* @param db
* @param daoClasses
*/
private void generateTempTables(Database db, Class<? extends AbstractDao<?, ?>>... daoClasses) {
for (int i = 0; i < daoClasses.length; i++) {
DaoConfig daoConfig = new DaoConfig(db, daoClasses[i]);
String divider = "";
String tableName = daoConfig.tablename;
String tempTableName = daoConfig.tablename.concat("_TEMP");
ArrayList<String> properties = new ArrayList<>();
StringBuilder createTableStringBuilder = new StringBuilder();
createTableStringBuilder.append("CREATE TABLE ").append(tempTableName).append(" (");
for (int j = 0; j < daoConfig.properties.length; j++) {
String columnName = daoConfig.properties[j].columnName;
if (getColumns(db, tableName).contains(columnName)) {
properties.add(columnName);
String type = null;
try {
type = getTypeByClass(daoConfig.properties[j].type);
} catch (Exception exception) {
exception.printStackTrace();
}
createTableStringBuilder.append(divider).append(columnName).append(" ").append(type);
if (daoConfig.properties[j].primaryKey) {
createTableStringBuilder.append(" PRIMARY KEY");
}
divider = ",";
}
}
createTableStringBuilder.append(");");
db.execSQL(createTableStringBuilder.toString());
StringBuilder insertTableStringBuilder = new StringBuilder();
insertTableStringBuilder.append("INSERT INTO ").append(tempTableName).append(" (");
insertTableStringBuilder.append(TextUtils.join(",", properties));
insertTableStringBuilder.append(") SELECT ");
insertTableStringBuilder.append(TextUtils.join(",", properties));
insertTableStringBuilder.append(" FROM ").append(tableName).append(";");
db.execSQL(insertTableStringBuilder.toString());
}
}
/**
* 存储新的数据库表 以及数据
*
* @param db
* @param daoClasses
*/
private void restoreData(Database db, Class<? extends AbstractDao<?, ?>>... daoClasses) {
for (int i = 0; i < daoClasses.length; i++) {
DaoConfig daoConfig = new DaoConfig(db, daoClasses[i]);
String tableName = daoConfig.tablename;
String tempTableName = daoConfig.tablename.concat("_TEMP");
ArrayList<String> properties = new ArrayList();
for (int j = 0; j < daoConfig.properties.length; j++) {
String columnName = daoConfig.properties[j].columnName;
if (getColumns(db, tempTableName).contains(columnName)) {
properties.add(columnName);
}
}
StringBuilder insertTableStringBuilder = new StringBuilder();
insertTableStringBuilder.append("INSERT INTO ").append(tableName).append(" (");
insertTableStringBuilder.append(TextUtils.join(",", properties));
insertTableStringBuilder.append(") SELECT ");
insertTableStringBuilder.append(TextUtils.join(",", properties));
insertTableStringBuilder.append(" FROM ").append(tempTableName).append(";");
StringBuilder dropTableStringBuilder = new StringBuilder();
dropTableStringBuilder.append("DROP TABLE ").append(tempTableName);
db.execSQL(insertTableStringBuilder.toString());
db.execSQL(dropTableStringBuilder.toString());
}
}
private String getTypeByClass(Class<?> type) throws Exception {
if (type.equals(String.class)) {
return "TEXT";
}
if (type.equals(Long.class) || type.equals(Integer.class) || type.equals(long.class)) {
return "INTEGER";
}
if (type.equals(Boolean.class)) {
return "BOOLEAN";
}
Exception exception = new Exception(CONVERSION_CLASS_NOT_FOUND_EXCEPTION.concat(" - Class: ").concat(type.toString()));
exception.printStackTrace();
throw exception;
}
private List<String> getColumns(Database db, String tableName) {
List<String> columns = new ArrayList<>();
Cursor cursor = null;
try {
cursor = db.rawQuery("SELECT * FROM " + tableName + " limit 1", null);
if (cursor != null) {
columns = new ArrayList<>(Arrays.asList(cursor.getColumnNames()));
}
} catch (Exception e) {
Log.v(tableName, e.getMessage(), e);
e.printStackTrace();
} finally {
if (cursor != null)
cursor.close();
}
return columns;
}
}
\ No newline at end of file
......@@ -9,7 +9,7 @@ import org.greenrobot.greendao.internal.DaoConfig;
import org.greenrobot.greendao.database.Database;
import org.greenrobot.greendao.database.DatabaseStatement;
import com.dayu.bigfish.MyGreenDao;
import com.dayu.bigfish.sqlbean.MyGreenDao;
// THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT.
/**
......
package com.dayu.bigfish.greendao;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import org.greenrobot.greendao.database.Database;
public class MyOpenHelper extends DaoMaster.OpenHelper {
public MyOpenHelper(Context context, String name, SQLiteDatabase.CursorFactory factory) {
super(context, name, factory);
}
/**
* 数据库升级
*
* @param db
* @param oldVersion
* @param newVersion
*/
@Override
public void onUpgrade(Database db, int oldVersion, int newVersion) {
if (oldVersion < newVersion) {
//更改过的实体类(新增的不用加) 更新UserDao文件 可以添加多个 XXDao.class 文件
// MigrationHelper.getInstance().migrate(db, OrderInfoDao.class);
}
}
}
\ No newline at end of file
package com.dayu.bigfish.greendao;
import android.database.Cursor;
import android.database.sqlite.SQLiteStatement;
import com.dayu.bigfish.sqlbean.OrderInfo;
import com.dayu.bigfish.sqlbean.StringConverter;
import org.greenrobot.greendao.AbstractDao;
import org.greenrobot.greendao.Property;
import org.greenrobot.greendao.database.Database;
import org.greenrobot.greendao.database.DatabaseStatement;
import org.greenrobot.greendao.internal.DaoConfig;
import java.util.List;
// THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT.
/**
* DAO for table "ORDER_INFO".
*/
public class OrderInfoDao extends AbstractDao<OrderInfo, Long> {
public static final String TABLENAME = "ORDER_INFO";
/**
* Properties of entity OrderInfo.<br/>
* Can be used for QueryBuilder and for referencing column names.
*/
public static class Properties {
public final static Property Id = new Property(0, long.class, "id", true, "_id");
public final static Property EngineerId = new Property(1, int.class, "engineerId", false, "engineerId");
public final static Property ServerRecord = new Property(2, String.class, "serverRecord", false, "serverRecord");
public final static Property DoorPrice = new Property(3, String.class, "doorPrice", false, "doorPrice");
public final static Property ServerPrice = new Property(4, String.class, "serverPrice", false, "serverPrice");
public final static Property MaterialCost = new Property(5, String.class, "materialCost", false, "materialCost");
public final static Property OtherPrice = new Property(6, String.class, "otherPrice", false, "otherPrice");
public final static Property OtherInfo = new Property(7, String.class, "otherInfo", false, "otherInfo");
public final static Property ImgPath = new Property(8, String.class, "imgPath", false, "IMG_PATH");
}
private final StringConverter imgPathConverter = new StringConverter();
public OrderInfoDao(DaoConfig config) {
super(config);
}
public OrderInfoDao(DaoConfig config, DaoSession daoSession) {
super(config, daoSession);
}
/** Creates the underlying database table. */
public static void createTable(Database db, boolean ifNotExists) {
String constraint = ifNotExists? "IF NOT EXISTS ": "";
db.execSQL("CREATE TABLE " + constraint + "\"ORDER_INFO\" (" + //
"\"_id\" INTEGER PRIMARY KEY NOT NULL ," + // 0: id
"\"engineerId\" INTEGER NOT NULL ," + // 1: engineerId
"\"serverRecord\" TEXT," + // 2: serverRecord
"\"doorPrice\" TEXT," + // 3: doorPrice
"\"serverPrice\" TEXT," + // 4: serverPrice
"\"materialCost\" TEXT," + // 5: materialCost
"\"otherPrice\" TEXT," + // 6: otherPrice
"\"otherInfo\" TEXT," + // 7: otherInfo
"\"IMG_PATH\" TEXT);"); // 8: imgPath
}
/** Drops the underlying database table. */
public static void dropTable(Database db, boolean ifExists) {
String sql = "DROP TABLE " + (ifExists ? "IF EXISTS " : "") + "\"ORDER_INFO\"";
db.execSQL(sql);
}
@Override
protected final void bindValues(DatabaseStatement stmt, OrderInfo entity) {
stmt.clearBindings();
stmt.bindLong(1, entity.getId());
stmt.bindLong(2, entity.getEngineerId());
String serverRecord = entity.getServerRecord();
if (serverRecord != null) {
stmt.bindString(3, serverRecord);
}
String doorPrice = entity.getDoorPrice();
if (doorPrice != null) {
stmt.bindString(4, doorPrice);
}
String serverPrice = entity.getServerPrice();
if (serverPrice != null) {
stmt.bindString(5, serverPrice);
}
String materialCost = entity.getMaterialCost();
if (materialCost != null) {
stmt.bindString(6, materialCost);
}
String otherPrice = entity.getOtherPrice();
if (otherPrice != null) {
stmt.bindString(7, otherPrice);
}
String otherInfo = entity.getOtherInfo();
if (otherInfo != null) {
stmt.bindString(8, otherInfo);
}
List imgPath = entity.getImgPath();
if (imgPath != null) {
stmt.bindString(9, imgPathConverter.convertToDatabaseValue(imgPath));
}
}
@Override
protected final void bindValues(SQLiteStatement stmt, OrderInfo entity) {
stmt.clearBindings();
stmt.bindLong(1, entity.getId());
stmt.bindLong(2, entity.getEngineerId());
String serverRecord = entity.getServerRecord();
if (serverRecord != null) {
stmt.bindString(3, serverRecord);
}
String doorPrice = entity.getDoorPrice();
if (doorPrice != null) {
stmt.bindString(4, doorPrice);
}
String serverPrice = entity.getServerPrice();
if (serverPrice != null) {
stmt.bindString(5, serverPrice);
}
String materialCost = entity.getMaterialCost();
if (materialCost != null) {
stmt.bindString(6, materialCost);
}
String otherPrice = entity.getOtherPrice();
if (otherPrice != null) {
stmt.bindString(7, otherPrice);
}
String otherInfo = entity.getOtherInfo();
if (otherInfo != null) {
stmt.bindString(8, otherInfo);
}
List imgPath = entity.getImgPath();
if (imgPath != null) {
stmt.bindString(9, imgPathConverter.convertToDatabaseValue(imgPath));
}
}
@Override
public Long readKey(Cursor cursor, int offset) {
return cursor.getLong(offset + 0);
}
@Override
public OrderInfo readEntity(Cursor cursor, int offset) {
OrderInfo entity = new OrderInfo( //
cursor.getLong(offset + 0), // id
cursor.getInt(offset + 1), // engineerId
cursor.isNull(offset + 2) ? null : cursor.getString(offset + 2), // serverRecord
cursor.isNull(offset + 3) ? null : cursor.getString(offset + 3), // doorPrice
cursor.isNull(offset + 4) ? null : cursor.getString(offset + 4), // serverPrice
cursor.isNull(offset + 5) ? null : cursor.getString(offset + 5), // materialCost
cursor.isNull(offset + 6) ? null : cursor.getString(offset + 6), // otherPrice
cursor.isNull(offset + 7) ? null : cursor.getString(offset + 7), // otherInfo
cursor.isNull(offset + 8) ? null : imgPathConverter.convertToEntityProperty(cursor.getString(offset + 8)) // imgPath
);
return entity;
}
@Override
public void readEntity(Cursor cursor, OrderInfo entity, int offset) {
entity.setId(cursor.getLong(offset + 0));
entity.setEngineerId(cursor.getInt(offset + 1));
entity.setServerRecord(cursor.isNull(offset + 2) ? null : cursor.getString(offset + 2));
entity.setDoorPrice(cursor.isNull(offset + 3) ? null : cursor.getString(offset + 3));
entity.setServerPrice(cursor.isNull(offset + 4) ? null : cursor.getString(offset + 4));
entity.setMaterialCost(cursor.isNull(offset + 5) ? null : cursor.getString(offset + 5));
entity.setOtherPrice(cursor.isNull(offset + 6) ? null : cursor.getString(offset + 6));
entity.setOtherInfo(cursor.isNull(offset + 7) ? null : cursor.getString(offset + 7));
entity.setImgPath(cursor.isNull(offset + 8) ? null : imgPathConverter.convertToEntityProperty(cursor.getString(offset + 8)));
}
@Override
protected final Long updateKeyAfterInsert(OrderInfo entity, long rowId) {
entity.setId(rowId);
return rowId;
}
@Override
public Long getKey(OrderInfo entity) {
if(entity != null) {
return entity.getId();
} else {
return null;
}
}
@Override
public boolean hasKey(OrderInfo entity) {
throw new UnsupportedOperationException("Unsupported for entities with a non-null key");
}
@Override
protected final boolean isEntityUpdateable() {
return true;
}
}
package com.dayu.bigfish.moudle.check;
import android.text.TextUtils;
import com.dayu.bigfish.Constants;
import com.dayu.bigfish.base.BasePresenter;
import com.dayu.bigfish.bean.BaseBean;
......@@ -18,14 +16,10 @@ import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.function.BooleanSupplier;
import okhttp3.Call;
import okhttp3.Response;
import static android.R.id.list;
import static com.umeng.analytics.pro.dm.i;
/**
* Created by yu on 2017/9/20.
*/
......@@ -41,10 +35,10 @@ public class OrderFinishActivityPresenter extends BasePresenter<OrderFinishActiv
this.orderFinishActivityView = orderFinishActivityView;
}
public void getInitData(int orderId,String token) {
public void getInitData(int orderId, String token) {
OkGo.get(Constants.SELECT_ORDER + orderId)
.tag(this)
.headers("token",token)
.headers("token", token)
.execute(new StringCallback() {
@Override
public void onSuccess(String s, Call call, Response response) {
......@@ -67,7 +61,7 @@ public class OrderFinishActivityPresenter extends BasePresenter<OrderFinishActiv
public void postSubmit(int orderId, String editText, int engineerId,
int isPay,
String doorPrice, String doorPriceComment,
String servicePrice, String materialCost, String otherPrice,String token) {
String servicePrice, String materialCost, String otherPrice, String token) {
HashMap<String, Object> params = new HashMap<>();
//服务记录
......@@ -100,7 +94,7 @@ public class OrderFinishActivityPresenter extends BasePresenter<OrderFinishActiv
OkGo.post(Constants.ORDER_FINISH)
.tag(this)
.upJson(jsonObject.toString())
.headers("token",token)
.headers("token", token)
.execute(new StringCallback() {
@Override
public void onSuccess(String s, Call call, Response response) {
......@@ -122,10 +116,11 @@ public class OrderFinishActivityPresenter extends BasePresenter<OrderFinishActiv
});
}
public void postPhotoSubmit(List<String> imageUrl, int orderId, String editText, int engineerId,
int isPay,
String doorPrice, String doorPriceComment,
String servicePrice, String materialCost, String otherPrice,String token) {
String servicePrice, String materialCost, String otherPrice, String token) {
HashMap<String, Object> params = new HashMap<>();
//服务记录
params.put("customerCheckComment", editText);
......@@ -176,7 +171,7 @@ public class OrderFinishActivityPresenter extends BasePresenter<OrderFinishActiv
OkGo.post(Constants.ORDER_FINISH)
.tag(this)
.upJson(jsonObject.toString())
.headers("token",token)
.headers("token", token)
.execute(new StringCallback() {
@Override
public void onSuccess(String s, Call call, Response response) {
......@@ -203,8 +198,7 @@ public class OrderFinishActivityPresenter extends BasePresenter<OrderFinishActiv
/**
* 上传照片至服务器
*/
public void upPhoto(List<String> imageUrl, int orderId,String token) {
System.out.println("该订单id为:" + orderId);
public void upPhoto(List<String> imageUrl, int orderId, String token) {
// http://47.94.101.239:3111/file/uploadOne?
// targetPath=mobile/business/checkApply/
// {ticketId}
......@@ -216,7 +210,7 @@ public class OrderFinishActivityPresenter extends BasePresenter<OrderFinishActiv
//http://47.94.101.239:3111/file/uploadOne?targetPath=mobile/business/checkApply/{ticketId}
OkGo.post(Constants.UP_PHOTO)
.tag(this)
.headers("token",token)
.headers("token", token)
.params("targetPath", "mobile/business/checkApply")
.params("ticketId", orderId)
.addFileParams("fileUpload", files)
......@@ -225,10 +219,8 @@ public class OrderFinishActivityPresenter extends BasePresenter<OrderFinishActiv
public void onSuccess(String s, Call call, Response response) {
Gson gson = new Gson();
PhotoBean photoBean = gson.fromJson(s, PhotoBean.class);
System.out.println("上传照片路径------>" + s);
if (photoBean.getCode() == 0) {
orderFinishActivityView.upPhotoSuccesss(photoBean.getData());
// isSuccess = true;
} else {
orderFinishActivityView.upPhotofailed("上传照片失败");
}
......
......@@ -22,21 +22,22 @@ public class ErrorPresenter extends BasePresenter<ErrorView> {
public ErrorPresenter(ErrorView mErrorView) {
this.mErrorView = mErrorView;
}
public void getErrorOrder(int userId,int userSite,String token){
public void getErrorOrder(int userId, int userSite, String token) {
OkGo.get(Constants.ERROR_ORDER)
.tag(this)
.headers("token",token)
.params("engineerId",userId)
.params("siteId",userSite)
.headers("token", token)
.params("engineerId", userId)
.params("siteId", userSite)
.execute(new StringCallback() {
@Override
public void onSuccess(String s, Call call, Response response) {
Gson gson = new Gson();
System.out.println("异常单列表数据-->"+s);
System.out.println("异常单列表数据-->" + s);
ErrorOrderBean errorOrderBean = gson.fromJson(s, ErrorOrderBean.class);
if (errorOrderBean.getCode()==0){
if (errorOrderBean.getCode() == 0) {
mErrorView.getSuccess(errorOrderBean);
}else {
} else {
mErrorView.getFailed("异常单请求失败");
}
}
......
package com.dayu.bigfish.moudle.idea;
import com.dayu.bigfish.Constants;
import com.dayu.bigfish.activity.IdeaActivity;
import com.dayu.bigfish.base.BasePresenter;
import com.dayu.bigfish.bean.BaseBean;
import com.dayu.bigfish.utils.ToastUtils;
import com.google.gson.Gson;
import com.lzy.okgo.OkGo;
import com.lzy.okgo.callback.StringCallback;
......@@ -16,9 +14,6 @@ import java.util.HashMap;
import okhttp3.Call;
import okhttp3.Response;
import static android.R.string.ok;
import static cn.finalteam.toolsfinal.DateUtils.date;
/**
* Created by yu on 2017/9/26.
*/
......
......@@ -2,13 +2,12 @@ package com.dayu.bigfish.moudle.personal;
import com.dayu.bigfish.Constants;
import com.dayu.bigfish.base.BasePresenter;
import com.dayu.bigfish.bean.AccountBalanceBean;
import com.dayu.bigfish.bean.AlipayBean;
import com.dayu.bigfish.bean.PersonalCenterBean;
import com.dayu.bigfish.bean.ReceOrderBean;
import com.dayu.bigfish.bean.ReceOrderNum;
import com.dayu.bigfish.bean.ReceUserRevenue;
import com.dayu.bigfish.bean.ReceivingOrderBean;
import com.dayu.bigfish.bean.TodayPerformanceBean;
import com.dayu.bigfish.moudle.receiving.Receiving;
import com.google.gson.Gson;
import com.lzy.okgo.OkGo;
import com.lzy.okgo.callback.StringCallback;
......@@ -16,9 +15,6 @@ import com.lzy.okgo.callback.StringCallback;
import okhttp3.Call;
import okhttp3.Response;
import static com.dayu.bigfish.Constants.USER_ORDER_RECEIVING;
import static com.dayu.bigfish.Constants.USER_REVENUE;
/**
* Created by yu
* on 2017/9/2.
......@@ -31,10 +27,10 @@ public class PersonalCenterPresenter extends BasePresenter<PersonalCenterView> {
this.centerView = centerView;
}
public void get(int userId,String token) {
public void get(int userId, String token) {
OkGo.get(Constants.PERSONAL_CENTER + userId)
.tag(this)
.headers("token",token)
.headers("token", token)
.execute(new StringCallback() {
@Override
public void onSuccess(String s, Call call, Response response) {
......@@ -55,42 +51,44 @@ public class PersonalCenterPresenter extends BasePresenter<PersonalCenterView> {
}
//获取工程师今日业绩
public void getEarnings(int userSite,int userId,String token) {
OkGo.get(Constants.USER_ORDER_REVENUE+Constants.SITE_ID+userSite+Constants.USER_ID+userId)
public void getEarnings(int userSite, int userId, String token) {
OkGo.get(Constants.USER_ORDER_REVENUE + Constants.SITE_ID + userSite + Constants.USER_ID + userId)
.tag(this)
.headers("token",token)
.headers("token", token)
.execute(new StringCallback() {
@Override
public void onSuccess(String s, Call call, Response response) {
Gson gson = new Gson();
TodayPerformanceBean todayPerformanceBean = gson.fromJson(s,TodayPerformanceBean.class);
System.out.println("今日业绩为"+s);
if (todayPerformanceBean.getCode()==0){
TodayPerformanceBean todayPerformanceBean = gson.fromJson(s, TodayPerformanceBean.class);
System.out.println("今日业绩为" + s);
if (todayPerformanceBean.getCode() == 0) {
centerView.todayOrderSuccess(todayPerformanceBean);
}else{
} else {
centerView.todayOrderFailed("今日业绩获取数据失败");
}
}
@Override
public void onError(Call call, Response response, Exception e) {
centerView.error("网络或服务器异常");
}
});
}
//获取工程师今日接单数量(次)
public void getReceOrder(int siteId, int userId,String token) {
OkGo.get(Constants.USER_ORDER_RECEIVING+Constants.SITE_ID+siteId+Constants.USER_ID+userId)
public void getReceOrder(int siteId, int userId, String token) {
OkGo.get(Constants.USER_ORDER_RECEIVING + Constants.SITE_ID + siteId + Constants.USER_ID + userId)
.tag(this)
.headers("token",token)
.headers("token", token)
.execute(new StringCallback() {
@Override
public void onSuccess(String s, Call call, Response response) {
System.out.println("今日接单数"+s);
System.out.println("今日接单数" + s);
Gson gson = new Gson();
ReceOrderNum receOrderNum = gson.fromJson(s, ReceOrderNum.class);
if (receOrderNum.getCode()==0){
if (receOrderNum.getCode() == 0) {
centerView.orderReceivingSuccess(receOrderNum);
}else {
} else {
centerView.orderReceivingFailed("今日接单数据获取失败");
}
}
......@@ -101,20 +99,21 @@ public class PersonalCenterPresenter extends BasePresenter<PersonalCenterView> {
}
});
}
//获取工程师的累计信息 (评分,累计业绩,工单记录)
public void getOrderUserInfo(int siteId, int userId,String token) {
OkGo.get(Constants.USER_REVENUE+Constants.SITE_ID+siteId+Constants.USER_ID+userId)
public void getOrderUserInfo(int siteId, int userId, String token) {
OkGo.get(Constants.USER_REVENUE + Constants.SITE_ID + siteId + Constants.USER_ID + userId)
.tag(this)
.headers("token",token)
.headers("token", token)
.execute(new StringCallback() {
@Override
public void onSuccess(String s, Call call, Response response) {
System.out.println("工程师累计信息:"+s);
System.out.println("工程师累计信息:" + s);
Gson gson = new Gson();
ReceUserRevenue receUserRevenue = gson.fromJson(s, ReceUserRevenue.class);
if (receUserRevenue.getCode()==0){
if (receUserRevenue.getCode() == 0) {
centerView.performanceSuccess(receUserRevenue);
}else{
} else {
centerView.performanceFailed("工程师累计信息获取失败");
}
}
......@@ -125,4 +124,56 @@ public class PersonalCenterPresenter extends BasePresenter<PersonalCenterView> {
}
});
}
//获取工程师的累计信息 (评分,累计业绩,工单记录)
public void getAcountBalance(int accountId, String token) {
OkGo.get(Constants.PERSONAL_ACOUNT_BALANCE + accountId)
.tag(this)
.headers("token", token)
.execute(new StringCallback() {
@Override
public void onSuccess(String s, Call call, Response response) {
Gson gson = new Gson();
AccountBalanceBean accountBalance = gson.fromJson(s, AccountBalanceBean.class);
if (accountBalance.getCode() == 0) {
centerView.getAccountBalanceSuccess(accountBalance);
} else {
centerView.getAccountBalanceFailed("账户余额获取失败");
}
}
@Override
public void onError(Call call, Response response, Exception e) {
centerView.error("网络或服务器异常");
}
});
}
//获取工程师的alipayAcccount
public void getAlipayAccount(int accountId, String token) {
OkGo.get(Constants.PERSONAL_ACOUNT_BALANCE + accountId)
.tag(this)
.headers("token", token)
.execute(new StringCallback() {
@Override
public void onSuccess(String s, Call call, Response response) {
Gson gson = new Gson();
AlipayBean bean = gson.fromJson(s, AlipayBean.class);
if (bean.getCode() == 0) {
if (bean.getData() == null) {
centerView.queryAlipayAccountSccucces(false);
} else {
centerView.queryAlipayAccountSccucces(true);
}
} else {
centerView.queryAlipayAccountFailed("获取支付宝账户失败!");
}
}
@Override
public void onError(Call call, Response response, Exception e) {
centerView.error("网络或服务器异常");
}
});
}
}
package com.dayu.bigfish.moudle.personal;
import com.dayu.bigfish.bean.AccountBalanceBean;
import com.dayu.bigfish.bean.PersonalCenterBean;
import com.dayu.bigfish.bean.ReceOrderNum;
import com.dayu.bigfish.bean.ReceUserRevenue;
......@@ -31,4 +32,14 @@ public interface PersonalCenterView {
void performanceSuccess(ReceUserRevenue receUserRevenue);
void performanceFailed(String msg);
//工程师账户余额
void getAccountBalanceSuccess(AccountBalanceBean balanceBean);
void getAccountBalanceFailed(String msg);
//工程师支付宝账户
void queryAlipayAccountSccucces(boolean flag);
void queryAlipayAccountFailed(String msg);
}
......@@ -24,9 +24,6 @@ public class ReservationPresenter extends BasePresenter<ReservationView> {
}
public void getData(int state,int page,int engineerId,int pageSize,int siteId,String token){
System.out.println("------>"+state);
System.out.println("------>"+engineerId);
System.out.println("------>"+siteId);
OkGo.get(Constants.ORDER_URL)
.tag(this)
.headers("token",token)
......
package com.dayu.bigfish;
package com.dayu.bigfish.sqlbean;
import org.greenrobot.greendao.annotation.Entity;
import org.greenrobot.greendao.annotation.Generated;
......
package com.dayu.bigfish;
package com.dayu.bigfish.sqlbean;
import org.greenrobot.greendao.annotation.Entity;
import org.greenrobot.greendao.annotation.Generated;
......
package com.dayu.bigfish;
package com.dayu.bigfish.sqlbean;
import org.greenrobot.greendao.annotation.Entity;
import org.greenrobot.greendao.annotation.Generated;
......
package com.dayu.bigfish.sqlbean;
import org.greenrobot.greendao.annotation.Convert;
import org.greenrobot.greendao.annotation.Entity;
import org.greenrobot.greendao.annotation.Generated;
import org.greenrobot.greendao.annotation.Id;
import org.greenrobot.greendao.annotation.Property;
import java.util.List;
/**
* Created by luofan on 2017/11/3.
*/
@Entity
public class OrderInfo {
@Id
private long id;
@Property(nameInDb = "engineerId")
private int engineerId;
@Property(nameInDb = "serverRecord")
private String serverRecord;
@Property(nameInDb = "doorPrice")
private String doorPrice;
@Property(nameInDb = "serverPrice")
private String serverPrice;
@Property(nameInDb = "materialCost")
private String materialCost;
@Property(nameInDb = "otherPrice")
private String otherPrice;
@Property(nameInDb = "otherInfo")
private String otherInfo;
@Convert(columnType = String.class, converter = StringConverter.class)
private List<String> imgPath;
@Generated(hash = 712517816)
public OrderInfo(long id, int engineerId, String serverRecord, String doorPrice,
String serverPrice, String materialCost, String otherPrice,
String otherInfo, List<String> imgPath) {
this.id = id;
this.engineerId = engineerId;
this.serverRecord = serverRecord;
this.doorPrice = doorPrice;
this.serverPrice = serverPrice;
this.materialCost = materialCost;
this.otherPrice = otherPrice;
this.otherInfo = otherInfo;
this.imgPath = imgPath;
}
@Generated(hash = 1695813404)
public OrderInfo() {
}
public long getId() {
return this.id;
}
public void setId(long id) {
this.id = id;
}
public int getEngineerId() {
return this.engineerId;
}
public void setEngineerId(int engineerId) {
this.engineerId = engineerId;
}
public String getServerRecord() {
return this.serverRecord;
}
public void setServerRecord(String serverRecord) {
this.serverRecord = serverRecord;
}
public String getDoorPrice() {
return this.doorPrice;
}
public void setDoorPrice(String doorPrice) {
this.doorPrice = doorPrice;
}
public String getServerPrice() {
return this.serverPrice;
}
public void setServerPrice(String serverPrice) {
this.serverPrice = serverPrice;
}
public String getMaterialCost() {
return this.materialCost;
}
public void setMaterialCost(String materialCost) {
this.materialCost = materialCost;
}
public String getOtherPrice() {
return this.otherPrice;
}
public void setOtherPrice(String otherPrice) {
this.otherPrice = otherPrice;
}
public String getOtherInfo() {
return this.otherInfo;
}
public void setOtherInfo(String otherInfo) {
this.otherInfo = otherInfo;
}
public List<String> getImgPath() {
return this.imgPath;
}
public void setImgPath(List<String> imgPath) {
this.imgPath = imgPath;
}
}
package com.dayu.bigfish.sqlbean;
import org.greenrobot.greendao.converter.PropertyConverter;
import java.util.Arrays;
import java.util.List;
/**
* Created by luofan on 2017/11/6.
*/
/**
* Created by danny.jiang on 17/6/20.
*/
public class StringConverter implements PropertyConverter<List<String>, String> {
@Override
public List<String> convertToEntityProperty(String databaseValue) {
if (databaseValue == null) {
return null;
} else {
List<String> list = Arrays.asList(databaseValue.split(","));
return list;
}
}
@Override
public String convertToDatabaseValue(List<String> entityProperty) {
if (entityProperty == null) {
return null;
} else {
StringBuilder sb = new StringBuilder();
for (String link : entityProperty) {
sb.append(link);
sb.append(",");
}
return sb.toString();
}
}
}
......@@ -10,7 +10,7 @@ import android.widget.TextView;
import android.widget.Toast;
import com.dayu.bigfish.R;
import com.dayu.bigfish.utils.DensityUtils;
import com.dayu.bigfish.utils.UtilsScreen;
/**
......@@ -30,11 +30,11 @@ public class DefaultTipsHelper implements TipsHelper {
this.mView = view;
mLoadingView = new ProgressBar(context);
mLoadingView.setPadding(0, (int) DensityUtils.dip2px(context, 10),
0, (int) DensityUtils.dip2px(context, 10));
mLoadingView.setPadding(0, (int) UtilsScreen.dip2px(context, 10),
0, (int) UtilsScreen.dip2px(context, 10));
mLoadingView.setLayoutParams(new ViewGroup.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
(int) DensityUtils.dip2px(context, 40)));
(int) UtilsScreen.dip2px(context, 40)));
}
@Override
......
package com.dayu.bigfish.utils;
import android.app.Activity;
import android.content.Context;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.telephony.TelephonyManager;
/**
* Created by luofan on 2017/11/7.
*/
public class AppUtils {
public static final int REQUEST_PHONE_STATE_PERMISSION = 0;
/**
* 获取设备IMEI编号
*/
public static String getIMEI(Activity context) {
TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(context.TELEPHONY_SERVICE);
String imei = telephonyManager.getDeviceId();
return imei;
}
/*
/**
* 获取当前应用的版本号
*/
public static String getPackageNum(Context context) {
try {
PackageInfo packageInfo = context.getPackageManager().getPackageInfo(context.getPackageName(), 0);
String packageName = packageInfo.versionName;
return packageName;
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
return "解析版本号失败";
}
}
}
package com.dayu.bigfish.utils;
import android.util.Log;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
......@@ -11,7 +8,6 @@ import java.util.Date;
import java.util.List;
import java.util.Locale;
import static cn.finalteam.toolsfinal.DateUtils.date;
/**
* 时间数据格式化
......
package com.dayu.bigfish.utils;
import android.content.Context;
import com.dayu.bigfish.application.MyApplication;
import static com.dayu.bigfish.utils.UIUtils.getResources;
/**
* Created by chilina on 2017/7/5.
*
*/
public class DensityUtils {
/**
* 根据手机的分辨率从 dp 的单位 转成为 px(像素)
*/
public static int dip2px(Context context, float dpValue) {
final float scale = context.getResources().getDisplayMetrics().density;
return (int) (dpValue * scale + 0.5f);
}
/**
* 根据手机的分辨率从 px(像素) 的单位 转成为 dp
*/
public static int px2dip(Context context, float pxValue) {
final float scale = context.getResources().getDisplayMetrics().density;
return (int) (pxValue / scale + 0.5f);
}
}
package com.dayu.bigfish.utils;
import android.content.Context;
/**
* Created by yu on 2017/9/8.
*/
public class DpToPxUtils {
/**
* 根据手机的分辨率从 dp 的单位 转成为 px(像素)
*/
public static int dip2px(Context context, float dpValue) {
final float scale = context.getResources().getDisplayMetrics().density;
return (int) (dpValue * scale + 0.5f);
}
/**
* 根据手机的分辨率从 px(像素) 的单位 转成为 dp
*/
public static int px2dip(Context context, float pxValue) {
final float scale = context.getResources().getDisplayMetrics().density;
return (int) (pxValue / scale + 0.5f);
}
}
package com.dayu.bigfish.utils;
import android.annotation.TargetApi;
import android.content.Context;
import android.graphics.Bitmap;
import android.os.Build;
import android.renderscript.Allocation;
import android.renderscript.Element;
import android.renderscript.RenderScript;
import android.renderscript.ScriptIntrinsicBlur;
import com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool;
import com.bumptech.glide.load.resource.bitmap.BitmapTransformation;
/**
* FileName: GlideBlurTransform.java
* description: 转换模糊效果
* Author: dingby(445850053@qq.com)
* Date: 2016/4/13
*/
public class GlideBlurTransform extends BitmapTransformation {
private RenderScript rs;
public GlideBlurTransform(Context context) {
super( context );
rs = RenderScript.create( context );
}
@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)
@Override
protected Bitmap transform(BitmapPool pool, Bitmap toTransform, int outWidth, int outHeight) {
Bitmap blurredBitmap = toTransform.copy(Bitmap.Config.ARGB_8888, true );
// Allocate memory for Renderscript to work with
Allocation input = Allocation.createFromBitmap(
rs,
blurredBitmap,
Allocation.MipmapControl.MIPMAP_FULL,
Allocation.USAGE_SHARED
);
Allocation output = Allocation.createTyped(rs, input.getType());
// Load up an instance of the specific script that we want to use.
ScriptIntrinsicBlur script = ScriptIntrinsicBlur.create(rs, Element.U8_4(rs));
script.setInput(input);
// Set the blur radius
script.setRadius(20);
// Start the ScriptIntrinisicBlur
script.forEach(output);
// Copy the output to the blurred bitmap
output.copyTo(blurredBitmap);
toTransform.recycle();
return blurredBitmap;
}
@Override
public String getId() {
return "blur";
}
}
package com.dayu.bigfish.utils;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapShader;
import android.graphics.Canvas;
import android.graphics.Paint;
import com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool;
import com.bumptech.glide.load.resource.bitmap.BitmapTransformation;
/**
* FileName: GlideBlurTransform.java
* description: 转换圆形
* Author: dingby(445850053@qq.com)
* Date: 2016/4/13
*/
public class GlideCircleTransform extends BitmapTransformation {
public GlideCircleTransform(Context context) {
super(context);
}
protected Bitmap transform(BitmapPool pool, Bitmap toTransform, int outWidth, int outHeight) {
return circleCrop(pool, toTransform);
}
private static Bitmap circleCrop(BitmapPool pool, Bitmap source) {
if (source == null) return null;
int size = Math.min(source.getWidth(), source.getHeight());
int x = (source.getWidth() - size) / 2;
int y = (source.getHeight() - size) / 2;
// TODO this could be acquired from the pool too
Bitmap squared = Bitmap.createBitmap(source, x, y, size, size);
Bitmap result = pool.get(size, size, Bitmap.Config.ARGB_8888);
if (result == null) {
result = Bitmap.createBitmap(size, size, Bitmap.Config.ARGB_8888);
}
Canvas canvas = new Canvas(result);
Paint paint = new Paint();
paint.setShader(new BitmapShader(squared, BitmapShader.TileMode.CLAMP, BitmapShader.TileMode.CLAMP));
paint.setAntiAlias(true);
float r = size / 2f;
canvas.drawCircle(r, r, r, paint);
return result;
}
@Override
public String getId() {
return getClass().getName();
}
}
......@@ -4,11 +4,13 @@ import android.content.Context;
import android.support.annotation.DrawableRes;
import android.widget.ImageView;
import com.bumptech.glide.DrawableRequestBuilder;
import com.bumptech.glide.Glide;
import com.bumptech.glide.load.engine.DiskCacheStrategy;
import com.bumptech.glide.request.RequestOptions;
import com.dayu.bigfish.R;
import static com.bumptech.glide.load.resource.drawable.DrawableTransitionOptions.withCrossFade;
/**
* FileName: GlideImageLoader
* description: 图片加载类,统一适配(方便换库,方便管理)
......@@ -18,24 +20,18 @@ import com.dayu.bigfish.R;
public class GlideImageLoader {
public static void load(Context context, @DrawableRes int imageRes, ImageView view) {
Glide.with(context).load(imageRes).crossFade().into(view);
Glide.with(context).load(imageRes).transition(withCrossFade()).into(view);
}
public static void load(Context context, String imageRes, ImageView view) {
Glide.with(context)
.load(imageRes)
.crossFade()
RequestOptions options = new RequestOptions()
.centerCrop()
.placeholder(R.mipmap.camera)
.diskCacheStrategy(DiskCacheStrategy.ALL)
.into(view);
}
public static void load2(Context context, String imageRes, ImageView view) {
.diskCacheStrategy(DiskCacheStrategy.ALL);
Glide.with(context)
.load(imageRes)
.crossFade()
.centerCrop()
.diskCacheStrategy(DiskCacheStrategy.ALL)
.transition(withCrossFade())
.apply(options)
.into(view);
}
/* *//**
......
package com.dayu.bigfish.utils;
import android.text.TextUtils;
import java.util.Date;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* 验证手机号码的格式是否正确
* on 2017/8/25.
*/
public class IsPhoneUtils {
/**
* 验证手机格式
*/
public static boolean isMobileNO(String mobiles) {
/*
移动:134、135、136、137、138、139、150、151、157(TD)、158、159、187、188
联通:130、131、132、152、155、156、185、186
电信:133、153、180、189、(1349卫通)/^0?1[3|4|5|7|8][0-9]\d{8}$/
总结起来就是第一位必定为1,第二位必定为3或5或8或7(电信运营商),其他位置的可以为0-9
*/
String telRegex = "[1][34578]\\d{9}";//"[1]"代表第1位为数字1,"[358]"代表第二位可以为3、5、8中的一个,"\\d{9}"代表后面是可以是0~9的数字,有9位。
return mobiles.matches(telRegex);
}
}
package com.dayu.bigfish.utils;
import java.text.ParsePosition;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
import java.util.SimpleTimeZone;
/**
* 时间转换的工具类
* on 2017/9/8.
*/
public class TimeUtils {
//将指定时间转换为标准时间戳格式
public static long Date2ms(String _data){
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
Date date = format.parse(_data);
return date.getTime();
}catch(Exception e){
return 0;
}
}
public static String getTodayDateTime() {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss",
Locale.getDefault());
return format.format(new Date());
}
public static String dataOne(String time) {
SimpleDateFormat sdr = new SimpleDateFormat("yyyy-MM-dd HH-mm-ss",
Locale.CHINA);
Date date;
String times = null;
try {
date = sdr.parse(time);
long l = date.getTime();
String stf = String.valueOf(l);
times = stf.substring(0, 10);
} catch (Exception e) {
e.printStackTrace();
}
return times;
}
public static Date strToDateLong(String strDate) {
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
ParsePosition pos = new ParsePosition(0);
Date strtodate = formatter.parse(strDate, pos);
return strtodate;
}
}
package com.dayu.bigfish.utils;
import android.content.Context;
import com.dayu.bigfish.Constants;
import com.dayu.bigfish.bean.BaseStringBean;
import com.google.gson.Gson;
import com.lzy.okgo.OkGo;
import com.lzy.okgo.callback.StringCallback;
import okhttp3.Call;
import okhttp3.Response;
/**
* Created by yu on 2017/9/30.
*/
public class UpdataVersionUtils {
public static void updataVersion(Context context){
}
}
......@@ -318,6 +318,25 @@ public class UtilsDate {
}
public static boolean isDateOneBigger(String str1, String str2) {
boolean isBigger = false;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date dt1 = null;
Date dt2 = null;
try {
dt1 = sdf.parse(str1);
dt2 = sdf.parse(str2);
} catch (ParseException e) {
e.printStackTrace();
}
if (dt1.getTime() > dt2.getTime()) {
isBigger = true;
} else if (dt1.getTime() < dt2.getTime()) {
isBigger = false;
}
return isBigger;
}
/**
* judge if in the time interval.
*
......@@ -1487,4 +1506,9 @@ public class UtilsDate {
}
return result;
}
public static String getTime(Date date) {//可根据需要自行截取数据显示
SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd日");
return format.format(date);
}
}
package com.dayu.bigfish.utils;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Context;
import android.graphics.Point;
import android.os.Build;
import android.util.DisplayMetrics;
import android.util.Pair;
import android.view.Display;
import android.view.WindowManager;
public class UtilsScreen {
private static Point mSize;
private static int sScreenWidth;
private static Pair<Integer, Integer> mPair;
private static int mScreenHeight;
@SuppressLint("NewApi")
public synchronized static Point getScreenSizeSDK13(Context context) {
if (mSize == null) {
mSize = new Point();
if (Build.VERSION.SDK_INT >= 13) {
WindowManager manager = (WindowManager) context
.getSystemService(Context.WINDOW_SERVICE);
Display display = manager.getDefaultDisplay();
display.getSize(mSize);
}
}
return mSize;
}
public synchronized static Pair<Integer, Integer> getScreenSize(Context context) {
if (mPair == null) {
WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
DisplayMetrics dm = new DisplayMetrics();
wm.getDefaultDisplay().getMetrics(dm);
mPair = Pair.create(dm.widthPixels, dm.heightPixels);
}
return mPair;
}
public static DisplayMetrics getDisplayMetrics() {
return new DisplayMetrics();
}
// get current screen width
public synchronized static int getScreenWidth(Activity context) {
// get current screen width
if (sScreenWidth == 0) {
DisplayMetrics dm = new DisplayMetrics();
context.getWindowManager().getDefaultDisplay().getMetrics(dm);
sScreenWidth = dm.widthPixels;
}
return sScreenWidth;
}
// get current screen width
public synchronized static int getScreenWidth(Context context) {
// get current screen width
if (sScreenWidth == 0) {
WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
DisplayMetrics dm = new DisplayMetrics();
wm.getDefaultDisplay().getMetrics(dm);
sScreenWidth = dm.widthPixels;
}
return sScreenWidth;
}
private static int mDensity = 0;
public static int getScreenDpi(Activity context) {
if (mDensity == 0) {
DisplayMetrics metrics = new DisplayMetrics();
context.getWindowManager().getDefaultDisplay().getMetrics(metrics);
mDensity = metrics.densityDpi;
}
return mDensity;
}
// get current screen width
public synchronized static int getScreenHeight(Activity context) {
// get current screen width
if (mScreenHeight == 0) {
DisplayMetrics dm = new DisplayMetrics();
context.getWindowManager().getDefaultDisplay().getMetrics(dm);
mScreenHeight = dm.heightPixels;
}
return mScreenHeight;
}
public synchronized static int getScreenHeight(Context context) {
if (mScreenHeight == 0) {
WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
DisplayMetrics dm = new DisplayMetrics();
wm.getDefaultDisplay().getMetrics(dm);
mScreenHeight = dm.heightPixels;
}
return mScreenHeight;
}
public static int dip2px(Context context, float dipValue) {
float m = context.getResources().getDisplayMetrics().density;
return (int) (dipValue * m + 0.5f);
}
public static int px2dip(Context context, float pxValue) {
float m = context.getResources().getDisplayMetrics().density;
return (int) (pxValue / m + 0.5f);
}
public static int sp2px(Context context, float spValue) {
float fontScale = context.getResources().getDisplayMetrics().scaledDensity;
return (int) (spValue * fontScale + 0.5f);
}
public static int dip2pix(Context activity, float dip) {
DisplayMetrics dm = new DisplayMetrics();
((Activity) activity).getWindowManager().getDefaultDisplay().getMetrics(dm);
return (int) (dm.density * dip);
}
/**
* get statusbar height.
*
* @param context .
* @return .
*/
public static int getStatusBarHeight(Context context) {
int result = ZERO;
int resourceId = context.getResources().getIdentifier("status_bar_height", "dimen", "android");
if (resourceId > ZERO) {
result = context.getResources().getDimensionPixelSize(resourceId);
}
return result;
}
/**
* .
*/
private static final int ZERO = 0;
}
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