diff --git a/app/build.gradle b/app/build.gradle
index f179afb..beacd9a 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -139,7 +139,7 @@ android {
implementation 'com.gyf.immersionbar:immersionbar:3.0.0'
implementation 'liji.library.dev:citypickerview:5.2.2'
- // implementation 'com.zhihu.android:matisse:0.5.3-beta3'
+ implementation 'com.zhihu.android:matisse:0.5.2-beta2'
}
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 4e072e9..dda1ead 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -82,7 +82,15 @@
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/provider_paths" />
-
+
+
+
@@ -288,6 +296,7 @@
+
\ No newline at end of file
diff --git a/app/src/main/java/com/sl/house_property/cart/AddAddressActivity.java b/app/src/main/java/com/sl/house_property/cart/AddAddressActivity.java
index b63add0..6932ee0 100644
--- a/app/src/main/java/com/sl/house_property/cart/AddAddressActivity.java
+++ b/app/src/main/java/com/sl/house_property/cart/AddAddressActivity.java
@@ -50,6 +50,12 @@ public class AddAddressActivity extends BaseActivity
// | WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE) //软键盘自动弹出
//.barColor(R.color.colorPrimary)
.init();
+ mDataBinding.left.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ finish();
+ }
+ });
context = this;
mDataBinding.left.setOnClickListener(new View.OnClickListener() {
@Override
diff --git a/app/src/main/java/com/sl/house_property/cart/AddressListActivity.java b/app/src/main/java/com/sl/house_property/cart/AddressListActivity.java
index c2341af..c235075 100644
--- a/app/src/main/java/com/sl/house_property/cart/AddressListActivity.java
+++ b/app/src/main/java/com/sl/house_property/cart/AddressListActivity.java
@@ -136,6 +136,16 @@ public class AddressListActivity extends BaseActivity {
}
});
+ mDataBinding.cbAll.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+
+
+ String amount = "0.00";
+ int goodsNum = 0;
+ for (int i = 0; i < cartEntities.size(); i++) {
+ cartEntities.get(i).setCheck(mDataBinding.cbAll.isChecked());
+ for (int j = 0; j < cartEntities.get(i).getList().size(); j++) {
+ cartEntities.get(i).getList().get(j).setCheck(mDataBinding.cbAll.isChecked());
+ if (cartEntities.get(i).getList().get(j).isCheck()) {
+ BigDecimal bigDecimal = new BigDecimal(amount);
+ BigDecimal price = new BigDecimal(cartEntities.get(i).getList().get(j).getSale_price());
+ BigDecimal num = new BigDecimal(cartEntities.get(i).getList().get(j).getSale_num());
+ BigDecimal multiply = price.multiply(num);
+ amount = bigDecimal.add(multiply).toPlainString();
+ goodsNum = goodsNum + Integer.parseInt(cartEntities.get(i).getList().get(j).getSale_num());
+ }
+ }
+
+ }
+
+ mDataBinding.tvAmount.setText(amount);
+ mDataBinding.btnSettle.setText("结算(" + goodsNum + ")");
+ mDataBinding.cbAll.setChecked(mDataBinding.cbAll.isChecked());
+ BaseRecycleViewAdapter baseRecycleViewAdapter = (BaseRecycleViewAdapter) mDataBinding.rec.getAdapter();
+ baseRecycleViewAdapter.notifyDataSetChanged();
+ }
+ });
+ mDataBinding.btnSettle.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ if (!cartEntities.isEmpty()) {
+ StringBuilder id = new StringBuilder();
+ for (int i = 0; i < cartEntities.size(); i++) {
+ for (int j = 0; j < cartEntities.get(i).getList().size(); j++) {
+ if (cartEntities.get(i).getList().get(j).isCheck()) {
+ if (id.toString().equals("")) {
+ id = new StringBuilder(cartEntities.get(i).getList().get(j).getCart_id());
+ } else {
+ id.append(",").append(cartEntities.get(i).getList().get(j).getCart_id());
+ }
+ }
+ }
+ }
+ if (!id.toString().equals("")) {
+ Intent intent = new Intent(getContext(), SettleActivity.class);
+ intent.putExtra("goodsType", 2);
+ intent.putExtra("cart_id", id.toString());
+ startActivityForResult(intent, 19);
+ }
+ }
+
+ }
+ });
}
private void getData() {
@@ -237,34 +296,54 @@ public class CartFragment extends BaseFragment {
}
adapter.notifyDataSetChanged();
mDataBinding.cbAll.setChecked(isAllCheck);
+
+
+ String amount = "0.00";
+ int goodsNum = 0;
+ for (int i = 0; i < cartEntities.size(); i++) {
+ for (int j = 0; j < cartEntities.get(i).getList().size(); j++) {
+ if (cartEntities.get(i).getList().get(j).isCheck()) {
+ BigDecimal bigDecimal = new BigDecimal(amount);
+ BigDecimal price = new BigDecimal(cartEntities.get(i).getList().get(j).getSale_price());
+ BigDecimal num = new BigDecimal(cartEntities.get(i).getList().get(j).getSale_num());
+ BigDecimal multiply = price.multiply(num);
+ amount = bigDecimal.add(multiply).toPlainString();
+ goodsNum = goodsNum + Integer.parseInt(cartEntities.get(i).getList().get(j).getSale_num());
+ }
+ }
+ }
+ mDataBinding.tvAmount.setText(amount);
+ mDataBinding.btnSettle.setText("结算(" + goodsNum + ")");
}
});
itemAdapter.setOnBindViewHolder(new BaseRecycleViewAdapter.BindView() {
@Override
- public void onBindViewHolder(ItemCartCartBinding b, final int position) {
- if (!(position >= cartEntity.getList().size())) {
- b.cb.setChecked(cartEntity.getList().get(position).isCheck());
- b.tvGoodsName.setText(cartEntity.getList().get(position).getGoods_detail());
- b.tvInfo2.setText(cartEntity.getList().get(position).getProperty());
+ public void onBindViewHolder(ItemCartCartBinding b, final int itemPosition) {
+ if (!(itemPosition >= cartEntity.getList().size())) {
+
+ b.cb.setChecked(cartEntity.getList().get(itemPosition).isCheck());
+ b.tvGoodsName.setText(cartEntity.getList().get(itemPosition).getGoods_detail());
+ b.tvInfo2.setText(cartEntity.getList().get(itemPosition).getProperty());
RequestOptions requestOptions = new RequestOptions();
requestOptions.placeholder(R.mipmap.icon_default_rectangle);
requestOptions.error(R.mipmap.icon_default_rectangle);
- Glide.with(getContext()).load(cartEntity.getList().get(position).getThumb())
+ Glide.with(getContext()).load(cartEntity.getList().get(itemPosition).getThumb())
.apply(requestOptions)
.into(b.ivGoods);
- b.tvPrice.setText("¥" + cartEntity.getList().get(position).getSale_price());
- if (!cartEntity.getList().get(position).getSale_num().isEmpty()) {
- b.amountView.changeAmount(Integer.parseInt(cartEntity.getList().get(position).getSale_num()));
+ b.tvPrice.setText("¥" + cartEntity.getList().get(itemPosition).getSale_price());
+ if (!cartEntity.getList().get(itemPosition).getSale_num().isEmpty()) {
+ b.amountView.changeAmount(Integer.parseInt(cartEntity.getList().get(itemPosition).getSale_num()));
}
b.amountView.setOnAmountChangeListener(new AmountView.OnAmountChangeListener() {
@Override
public void onAmountChange(View view, int amount) {
- editGoods(2, cartEntity.getList().get(position).getCart_id(), amount);
+ editGoods(2, cartEntity.getList().get(itemPosition).getCart_id(), amount);
}
});
+
}
}
});
@@ -288,6 +367,7 @@ public class CartFragment extends BaseFragment {
// }
// }
+
cartEntities.get(position).getList().get(x).setCheck(!cartEntities.get(position).getList().get(x).isCheck());
itemAdapter.notifyDataSetChanged();
@@ -312,7 +392,22 @@ public class CartFragment extends BaseFragment {
isAllCheck = false;
}
mDataBinding.cbAll.setChecked(isAllCheck);
-
+ String amount = "0.00";
+ int goodsNum = 0;
+ for (int i = 0; i < cartEntities.size(); i++) {
+ for (int j = 0; j < cartEntities.get(i).getList().size(); j++) {
+ if (cartEntities.get(i).getList().get(j).isCheck()) {
+ BigDecimal bigDecimal = new BigDecimal(amount);
+ BigDecimal price = new BigDecimal(cartEntities.get(i).getList().get(j).getSale_price());
+ BigDecimal num = new BigDecimal(cartEntities.get(i).getList().get(j).getSale_num());
+ BigDecimal multiply = price.multiply(num);
+ amount = bigDecimal.add(multiply).toPlainString();
+ goodsNum = goodsNum + Integer.parseInt(cartEntities.get(i).getList().get(j).getSale_num());
+ }
+ }
+ }
+ mDataBinding.tvAmount.setText(amount);
+ mDataBinding.btnSettle.setText("结算(" + goodsNum + ")");
}
});
}
diff --git a/app/src/main/java/com/sl/house_property/discovery/AddDiscoveryActivity.java b/app/src/main/java/com/sl/house_property/discovery/AddDiscoveryActivity.java
index 66e4d63..6d521c6 100644
--- a/app/src/main/java/com/sl/house_property/discovery/AddDiscoveryActivity.java
+++ b/app/src/main/java/com/sl/house_property/discovery/AddDiscoveryActivity.java
@@ -2,29 +2,54 @@ package com.sl.house_property.discovery;
import android.Manifest;
import android.content.Intent;
+import android.content.pm.ActivityInfo;
import android.content.pm.PackageManager;
+import android.graphics.Bitmap;
+import android.graphics.BitmapFactory;
+import android.graphics.drawable.BitmapDrawable;
import android.os.Build;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.content.ContextCompat;
+import android.support.v7.widget.GridLayoutManager;
import android.view.View;
import com.gyf.immersionbar.ImmersionBar;
+import com.lxj.xpopup.XPopup;
import com.sl.house_property.BaseActivity;
import com.sl.house_property.R;
import com.sl.house_property.databinding.ActivityAddDiscoveryBinding;
+import com.sl.house_property.databinding.ItemAddGoodsBinding;
+import com.zhihu.matisse.Matisse;
+import com.zhihu.matisse.MimeType;
+import com.zhihu.matisse.engine.impl.PicassoEngine;
+import com.zhihu.matisse.internal.entity.CaptureStrategy;
import java.io.File;
import java.util.ArrayList;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
-import imageselector.utils.ImageSelector;
+import adapter.BaseRecycleViewAdapter;
+import entity.RegisterUser;
+import http.ApiConfig;
+import http.FileUpLoad.retrofit.HttpStaticApi;
+import http.FileUpLoad.retrofit.RetrofitCallBack;
+import http.FileUpLoad.retrofit.RetrofitHttpUpLoad;
+import my_loader.Resultcode;
+import okhttp3.RequestBody;
+import retrofit2.Response;
+import tools.Config;
+import utils.Md5;
public class AddDiscoveryActivity extends BaseActivity {
private static final int REQUEST_CODE_SELECT_PICTURE = 300;
private int type;
private AdditionImageWrapper additionImageWrapper;
+ private ArrayList strings;
+ private String goodsInfo = "";
@Override
protected int getLayoutResId() {
@@ -38,10 +63,15 @@ public class AddDiscoveryActivity extends BaseActivity adapter = new BaseRecycleViewAdapter<>(AddDiscoveryActivity.this, R.layout.item_add_goods);
+ strings = new ArrayList<>();
+ strings.add("+");
+ adapter.setData(strings);
+ adapter.setOnBindViewHolder(new BaseRecycleViewAdapter.BindView() {
+ @Override
+ public void onBindViewHolder(ItemAddGoodsBinding b, int position) {
+ b.tv.setText(strings.get(position));
+ }
+ });
+ adapter.setOnItemClickListener(new BaseRecycleViewAdapter.OnItemClickListener() {
+ @Override
+ public void onItemClick(View itemView, int position) {
+ if (strings.get(position).equals("+")) {
+ //添加
+ AddGoodsDialog addGoodsDialog = new AddGoodsDialog(AddDiscoveryActivity.this);
+ addGoodsDialog.setOnAddGoodsInputListener(new AddGoodsDialog.OnAddGoodsInputListener() {
+ @Override
+ public void onConfirm(String info, String s) {
+ if (goodsInfo.equals("")) {
+ goodsInfo = info;
+ } else {
+ goodsInfo = goodsInfo + "|" + info;
+ }
+
+ strings.remove(strings.size() - 1);
+ strings.add(s);
+ strings.add("+");
+ adapter.setData(strings);
+
+
+ }
+ });
+ new XPopup.Builder(AddDiscoveryActivity.this).asCustom(addGoodsDialog).show();
+
+ }
+ }
+ });
+ mDataBinding.rec2.setAdapter(adapter);
+ mDataBinding.rec2.setLayoutManager(new GridLayoutManager(AddDiscoveryActivity.this, 4));
+ mDataBinding.tvCover.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ checkAlbumPermission(411, 1);
+ }
+ });
}
additionImageWrapper = new AdditionImageWrapper(this, mDataBinding.rvDynamicImage);
additionImageWrapper.wrap(new AdditionImageWrapper.OnAdditionLayoutItemClick() {
@Override
public void onAdditionItemClick() {
//
- checkAlbumPermission();
+ checkAlbumPermission(REQUEST_CODE_SELECT_PICTURE, additionImageWrapper.getRemainCount());
}
@Override
@@ -77,8 +153,16 @@ public class AddDiscoveryActivity extends BaseActivity images = data.getStringArrayListExtra(ImageSelector.SELECT_RESULT);
+ } else if (requestCode == REQUEST_CODE_SELECT_PICTURE && resultCode == RESULT_OK && data != null) {
+ List strings = Matisse.obtainPathResult(data);
ArrayList files = new ArrayList<>();
files.addAll(additionImageWrapper.getImageList());
- for (int i = 0; i < images.size(); i++) {
- files.add(new File(images.get(i)));
+ for (int i = 0; i < strings.size(); i++) {
+ files.add(new File(strings.get(i)));
}
additionImageWrapper.setData(files);
-
+ } else if (requestCode == 411 && resultCode == RESULT_OK && data != null) {
+ List strings = Matisse.obtainPathResult(data);
+ if (!strings.isEmpty()) {
+ file = new File(strings.get(0));
+ Bitmap bitmap = BitmapFactory.decodeFile(file.toString());
+ mDataBinding.tvCover.setBackground(new BitmapDrawable(getResources(), bitmap));
+ mDataBinding.tvCover.setText("");
+ }
}
}
- private void selectImage() {
- ImageSelector.builder()
- .useCamera(false) // 设置是否使用拍照
- .setSingle(false) //设置是否单选
- .setViewImage(true) //是否点击放大图片查看,,默认为true
- .setMaxSelectCount(additionImageWrapper.getRemainCount()) // 图片的最大选择数量,小于等于0时,不限数量。
- .start(AddDiscoveryActivity.this, REQUEST_CODE_SELECT_PICTURE); // 打开相册
+ private void selectImage(int requestCode, int max) {
+ Matisse
+ .from(this)
+ //选择视频和图片
+ .choose(MimeType.ofAll())
+
+ //这两行要连用 是否在选择图片中展示照相 和适配安卓7.0 FileProvider
+ .capture(true)
+ .captureStrategy(new CaptureStrategy(true, "PhotoPicker"))
+ //有序选择图片 123456...
+ .countable(true)
+ //最大选择数量为9
+ .maxSelectable(max)
+ //选择方向
+ .restrictOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT)
+ //界面中缩略图的质量
+ .thumbnailScale(0.8f)
+ //蓝色主题
+ .theme(R.style.Matisse_Zhihu)
+ //Picasso加载方式
+ .imageEngine(new PicassoEngine())
+ //请求码
+ .forResult(requestCode);
}
/*
* 检查访问相册权限
* */
- private void checkAlbumPermission() {
+ private void checkAlbumPermission(int requestCode, int max) {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) {
- selectImage();
+ selectImage(requestCode, max);
return;
}
if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
@@ -127,7 +234,72 @@ public class AddDiscoveryActivity extends BaseActivity map = new HashMap<>();
+ RegisterUser user =
+ Config.getInstance(this).getUser();
+ if (user != null) {
+ map.put("userid", user.getUserid());
+ } else {
+ map.put("userid", 0 + "");
+ }
+ map.put("app", "Goods");
+ map.put("class", "AddGoodsInfo");
+ map.put("sign", Md5.md5("Goods" + "AddGoodsInfo" + Md5.secret));
+ map.put("file_count", additionImageWrapper.getImageList().size() + "");
+ map.put("goods_detail", mDataBinding.etInfo.getText().toString().trim());
+ map.put("type", type + 1 + "");
+ for (int i = 0; i < additionImageWrapper.getImageList().size(); i++) {
+ if (additionImageWrapper.getImageList().get(i) != null) {
+ map.put("pic" + i, additionImageWrapper.getImageList().get(i));
+ }
+ }
+
+ map.put("thumb", file);
+ if (type == 1) {
+ if (goodsInfo.isEmpty()) {
+ setToast("请添加商品规格");
+ return;
+ }
+ map.put("property", goodsInfo);
+ if (file == null || !file.isFile()) {
+ setToast("请上传商品封面图");
+ return;
+ }
+ }
+ progressDialog.setMessage("提交中");
+ progressDialog.show();
+ Map params = retrofitHttpUpLoad.addParameter(map).bulider();
+ retrofitHttpUpLoad.addToEnqueue(retrofitHttpUpLoad.mHttpService.upLoadAgree(ApiConfig.BASE_URL, params),
+ new RetrofitCallBack() {
+ @Override
+ public void onResponse(Response response, int method) {
+ progressDialog.dismiss();
+ if (method == HttpStaticApi.HTTP_UPLOADIMAGE) {
+ Resultcode resultcode = (Resultcode) response.body();
+ if (0 == (resultcode.status)) {
+ setToast(getString(R.string.addSuccess));
+ setResult(200);
+ finish();
+ } else {
+ setToast(resultcode.msg);
+ }
+ }
+
+ }
+
+ @Override
+ public void onFailure(Response response, int method) {
+ progressDialog.dismiss();
+ setToast("提交失败");
+ }
+ }, HttpStaticApi.HTTP_UPLOADIMAGE);
+ }
}
diff --git a/app/src/main/java/com/sl/house_property/discovery/AddGoodsDialog.java b/app/src/main/java/com/sl/house_property/discovery/AddGoodsDialog.java
new file mode 100644
index 0000000..942461d
--- /dev/null
+++ b/app/src/main/java/com/sl/house_property/discovery/AddGoodsDialog.java
@@ -0,0 +1,57 @@
+package com.sl.house_property.discovery;
+
+import android.content.Context;
+import android.support.annotation.NonNull;
+import android.view.View;
+import android.widget.Button;
+import android.widget.EditText;
+
+import com.lxj.xpopup.core.CenterPopupView;
+import com.sl.house_property.R;
+
+public class AddGoodsDialog extends CenterPopupView {
+
+ private EditText etInfo;
+ private EditText etPrice;
+ private EditText etNum;
+ private OnAddGoodsInputListener mListener=null;
+
+
+ public AddGoodsDialog(@NonNull Context context) {
+ super(context);
+
+
+ }
+
+ @Override
+ protected void onCreate() {
+ super.onCreate();
+ etInfo = findViewById(R.id.et_info);
+ etPrice = findViewById(R.id.et_price);
+ etNum = findViewById(R.id.et_num);
+ findViewById(R.id.btn_submit2).setOnClickListener(new OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ if (mListener != null) {
+ mListener.onConfirm(etInfo.getText().toString().trim() + ":" + etPrice.getText().toString().trim() + ":" +
+ etNum.getText().toString().trim(),etInfo.getText().toString().trim());
+ }
+ dismiss();
+ }
+ });
+ }
+
+ @Override
+ protected int getImplLayoutId() {
+ return R.layout.dialog_add_goods;
+ }
+
+ public void setOnAddGoodsInputListener(OnAddGoodsInputListener listener) {
+ this.mListener = listener;
+
+ }
+
+ interface OnAddGoodsInputListener {
+ void onConfirm(String s, String info);
+ }
+}
diff --git a/app/src/main/java/com/sl/house_property/discovery/DiscoveryFragment.java b/app/src/main/java/com/sl/house_property/discovery/DiscoveryFragment.java
index 05bded5..7f1fb1c 100644
--- a/app/src/main/java/com/sl/house_property/discovery/DiscoveryFragment.java
+++ b/app/src/main/java/com/sl/house_property/discovery/DiscoveryFragment.java
@@ -23,6 +23,7 @@ import com.google.gson.internal.LinkedTreeMap;
import com.google.gson.reflect.TypeToken;
import com.gyf.immersionbar.ImmersionBar;
import com.lxj.xpopup.XPopup;
+import com.lxj.xpopup.interfaces.OnSelectListener;
import com.lzy.ninegrid.ImageInfo;
import com.lzy.ninegrid.preview.NineGridViewClickAdapter;
import com.scwang.smartrefresh.layout.api.RefreshLayout;
@@ -34,15 +35,21 @@ import com.sl.house_property.R;
import com.sl.house_property.databinding.FragmentDiscoveryBinding;
import com.sl.house_property.databinding.ItemCommentBinding;
import com.sl.house_property.databinding.ItemDiscoveryBinding;
+import com.sl.house_property.order.SettleActivity;
import com.squareup.picasso.Picasso;
import com.squareup.picasso.Target;
+
+import org.json.JSONException;
import org.json.JSONObject;
+
import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
+
import adapter.BaseRecycleViewAdapter;
import entity.DiscoveryListEntity;
+import entity.GoodsDetailEntity;
import entity.RegisterUser;
import http.ApiConfig;
import my_loader.Loader;
@@ -85,6 +92,7 @@ public class DiscoveryFragment extends BaseFragment im
super.onCreateVew(inflater, savedInstanceState);
baseActivity = (BaseActivity) getActivity();
progressDialog = new ProgressDialog(baseActivity);
+ intRecycleView();
mDataBinding.dw.setOnRefreshLoadMoreListener(new OnRefreshLoadMoreListener() {
@Override
public void onLoadMore(@NonNull RefreshLayout refreshLayout) {
@@ -98,15 +106,22 @@ public class DiscoveryFragment extends BaseFragment im
}
});
mDataBinding.dw.autoRefresh();
- intRecycleView();
- MainTabActivity activity = (MainTabActivity) getActivity();
+
+ final MainTabActivity activity = (MainTabActivity) getActivity();
activity.registerMyOnTouchListener(this);
+ final String[] data = {"发布说说", "发布商品"};
mDataBinding.ivAdd.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
- Intent intent = new Intent(getContext(), AddDiscoveryActivity.class);
- intent.putExtra("type",0);
- startActivity(intent);
+ new XPopup.Builder(activity).atView(mDataBinding.ivAdd).asAttachList(data, null, new OnSelectListener() {
+ @Override
+ public void onSelect(int position, String text) {
+ Intent intent = new Intent(getContext(), AddDiscoveryActivity.class);
+ intent.putExtra("type", position);
+ startActivity(intent);
+ }
+ }).show();
+
}
});
}
@@ -182,6 +197,45 @@ public class DiscoveryFragment extends BaseFragment im
getGankList(ApiConfig.BASE_URL, map, getResources().getString(R.string.requsting), mypage);
}
+ private void addCart(String goods_id, String product_code, String goodsNum) {
+ RegisterUser user =
+ Config.getInstance(getContext()).getUser();
+ Map map = new HashMap<>();
+ if (user != null) {
+ map.put("userid", user.getUserid());
+ } else {
+ map.put("userid", 0 + "");
+ }
+ map.put("app", "Goods");
+ map.put("class", "AddCart");
+ map.put("goods_id", goods_id);
+ map.put("product_code", product_code);
+ map.put("num", goodsNum);
+ map.put("sign", Md5.md5("Goods" + "AddCart" + Md5.secret));
+ progressDialog.setMessage("提交中");
+ progressDialog.setCancelable(false);
+ mGankLoader = new Loader();
+ Subscription subscribe = mGankLoader.getMovie(ApiConfig.BASE_URL, map).subscribe(new Action1() {
+ @Override
+ public void call(Resultcode resultcode) {
+ progressDialog.dismiss();
+ if (resultcode.status == 0) {
+ baseActivity.setToast(0, "成功加入购物车");
+ } else {
+ baseActivity.setToast(3, resultcode.msg);
+ }
+ }
+ }, new Action1() {
+ @Override
+ public void call(Throwable throwable) {
+ progressDialog.dismiss();
+ baseActivity.setToast(2, "提交失败");
+ throwable.printStackTrace();
+ }
+ });
+ baseActivity.addSubscription(subscribe);
+ }
+
private void like(String goodsId, final int position) {
final RegisterUser user =
Config.getInstance(getContext()).getUser();
@@ -305,7 +359,7 @@ public class DiscoveryFragment extends BaseFragment im
public void onClick(View v) {
Log.e("click", "comment");
MainTabActivity activity = (MainTabActivity) getActivity();
- CommonUtils.hideSoftInput(getContext(),mDataBinding.etComment);
+ CommonUtils.hideSoftInput(getContext(), mDataBinding.etComment);
mDataBinding.llComment.setVisibility(View.GONE);
activity.visibilyBottom(View.VISIBLE);
comment(discoveryListEntity.getGoods_id(), position, "", mDataBinding.etComment.getText().toString());
@@ -346,6 +400,14 @@ public class DiscoveryFragment extends BaseFragment im
}, 300);
+ } else if (type == 4) {
+ // addCart(discoveryListEntity.getGoods_id(),discoveryListEntity.)
+ getGoodsDetail(discoveryListEntity.getGoods_id(), discoveryListEntity, type);
+ commentDialog.dismiss();
+
+ } else if (type == 5) {
+ getGoodsDetail(discoveryListEntity.getGoods_id(), discoveryListEntity, type);
+ commentDialog.dismiss();
}
}
});
@@ -421,13 +483,13 @@ public class DiscoveryFragment extends BaseFragment im
if (discoveryListEntity.getPic().size() > 0) {
-
+ Log.e("pic", discoveryListEntity.getPic().get(0));
for (int i = 0; i < discoveryListEntity.getPic().size(); i++) {
if (discoveryListEntity.getPic().get(i).endsWith(".mp4")) {
ImageInfo imageInfo = new ImageInfo();
imageInfo.setType(2);
imageInfo.setBigImageUrl(discoveryListEntity.getPic().get(i));
- imageInfo.setThumbnailUrl(discoveryListEntity.getThumb());
+ imageInfo.setThumbnailUrl(discoveryListEntity.getPic().get(i));
imageInfos.add(imageInfo);
} else {
ImageInfo imageInfo = new ImageInfo();
@@ -439,12 +501,19 @@ public class DiscoveryFragment extends BaseFragment im
}
+ }else {
+ ImageInfo imageInfo = new ImageInfo();
+ imageInfo.setType(1);
+ imageInfo.setBigImageUrl(discoveryListEntity.getThumb());
+ imageInfo.setThumbnailUrl(discoveryListEntity.getThumb());
+ imageInfos.add(imageInfo);
}
homeGridAdapterItemBinding.nineGrid.setAdapter(new NineGridViewClickAdapter(getContext(), imageInfos));
}
}
});
mDataBinding.recyView.setAdapter(baseRecycleViewAdapter);
+
baseRecycleViewAdapter.setData(discoveryListEntities);
}
@@ -467,6 +536,7 @@ public class DiscoveryFragment extends BaseFragment im
baseActivity.setToast(1, resultcode.msg);
}
if (resultcode.status == 0) {
+ intRecycleView();
Gson gs = new Gson();
LinkedTreeMap adta = (LinkedTreeMap) resultcode.data;
String s = gs.toJson(adta);
@@ -492,6 +562,7 @@ public class DiscoveryFragment extends BaseFragment im
} else {
ArrayList o = new Gson().fromJson(array.toString(), type);
discoveryListEntities.addAll(o);
+
BaseRecycleViewAdapter baseRecycleViewAdapter = (BaseRecycleViewAdapter) mDataBinding.recyView.getAdapter();
baseRecycleViewAdapter.setData(discoveryListEntities);
int count = jsonObject.getInt("count");
@@ -569,12 +640,12 @@ public class DiscoveryFragment extends BaseFragment im
case MotionEvent.ACTION_DOWN:
//点击空白处隐藏键盘,隐藏输入框相关
- if (getActivity().getCurrentFocus()!=null&&getActivity().getCurrentFocus().getId() == R.id.tv_send_comment) {
+ if (getActivity().getCurrentFocus() != null && getActivity().getCurrentFocus().getId() == R.id.tv_send_comment) {
return false;
}
boolean b = UtilHelpers.hideKeyboard(ev, getActivity().getCurrentFocus(), getActivity());
if (b) {
- CommonUtils.hideSoftInput( mDataBinding.etComment.getContext(), mDataBinding.etComment);
+ CommonUtils.hideSoftInput(mDataBinding.etComment.getContext(), mDataBinding.etComment);
MainTabActivity activity = (MainTabActivity) getActivity();
activity.visibilyBottom(View.VISIBLE);
mDataBinding.llComment.setVisibility(View.GONE);
@@ -584,6 +655,77 @@ public class DiscoveryFragment extends BaseFragment im
return false;
}
+ private void getGoodsDetail(final String goodsId, final DiscoveryListEntity entity, final int goodtype) {
+ final RegisterUser user =
+ Config.getInstance(getContext()).getUser();
+ Map map = new HashMap<>();
+ if (user != null) {
+ map.put("userid", user.getUserid());
+ } else {
+ map.put("userid", 0 + "");
+ }
+ map.put("app", "Goods");
+ map.put("class", "GoodsInfo");
+ map.put("goods_id", goodsId);
+ map.put("sign", Md5.md5("Goods" + "GoodsInfo" + Md5.secret));
+ progressDialog.setMessage("获取信息中");
+ progressDialog.setCancelable(false);
+ mGankLoader = new Loader();
+ Subscription subscription = mGankLoader.getMovie(ApiConfig.BASE_URL, map)
+ .subscribe(new Action1() {
+ @Override
+ public void call(Resultcode resultcode) {
+ progressDialog.dismiss();
+ if (resultcode.status == 0) {
+ Gson gs = new Gson();
+ LinkedTreeMap adta = (LinkedTreeMap) resultcode.data;
+ String s = gs.toJson(adta);
+
+ try {
+
+ JSONObject jsonObject = new JSONObject(s);
+ org.json.JSONArray array = jsonObject.getJSONArray("info");
+ final Type type = new TypeToken>() {
+ }.getType();
+ ArrayList o = gs.fromJson(array.toString(), type);
+
+ GoodsInfoDialog goodsInfoDialog = new GoodsInfoDialog(baseActivity, entity, o);
+ goodsInfoDialog.setOnConfirmListener(new GoodsInfoDialog.OnGoodsSelectPropertyListener() {
+ @Override
+ public void onSelect(String code, int num) {
+ if (goodtype == 4) {
+ Intent intent = new Intent(baseActivity, SettleActivity.class);
+ intent.putExtra("goodsType", 1);
+ intent.putExtra("goods_id", goodsId);
+ intent.putExtra("product_code", code);
+ intent.putExtra("sale_num", num + "");
+ startActivity(intent);
+ } else if (goodtype == 5) {
+ addCart(goodsId, code, num + "");
+ }
+
+ }
+ });
+ new XPopup.Builder(baseActivity).asCustom(goodsInfoDialog).show();
+
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
+
+ } else {
+ baseActivity.setToast(resultcode.msg);
+ }
+ }
+ }, new Action1() {
+ @Override
+ public void call(Throwable throwable) {
+ progressDialog.dismiss();
+ baseActivity.setToast(2, "获取信息失败");
+ throwable.printStackTrace();
+ }
+ });
+ baseActivity.addSubscription(subscription);
+ }
private void comment(String goodsId, final int position, String reply_id, final String content) {
final RegisterUser user =
diff --git a/app/src/main/java/com/sl/house_property/discovery/GoodsInfoDialog.java b/app/src/main/java/com/sl/house_property/discovery/GoodsInfoDialog.java
new file mode 100644
index 0000000..c33d39f
--- /dev/null
+++ b/app/src/main/java/com/sl/house_property/discovery/GoodsInfoDialog.java
@@ -0,0 +1,145 @@
+package com.sl.house_property.discovery;
+
+import android.content.Context;
+import android.support.annotation.NonNull;
+import android.support.v7.widget.GridLayoutManager;
+import android.support.v7.widget.RecyclerView;
+import android.view.View;
+import android.widget.ImageView;
+import android.widget.TextView;
+import android.widget.Toast;
+
+import com.bumptech.glide.Glide;
+import com.bumptech.glide.request.RequestOptions;
+import com.lxj.xpopup.core.BottomPopupView;
+import com.sl.house_property.R;
+import com.sl.house_property.cart.AmountView;
+import com.sl.house_property.databinding.ItemAddGoodsBinding;
+
+import java.math.BigDecimal;
+import java.util.ArrayList;
+
+import adapter.BaseRecycleViewAdapter;
+import entity.DiscoveryListEntity;
+import entity.GoodsDetailEntity;
+
+public class GoodsInfoDialog extends BottomPopupView {
+
+ private final ArrayList list;
+ private DiscoveryListEntity entity;
+ private RecyclerView rv;
+ private AmountView amountView;
+ private TextView tvPrice;
+ private GoodsDetailEntity goodsDetailEntity = null;
+ private TextView tvAmount;
+ private OnGoodsSelectPropertyListener listener;
+ private int num = 1;
+
+ public GoodsInfoDialog(@NonNull Context context, DiscoveryListEntity entity, ArrayList list) {
+ super(context);
+ this.entity = entity;
+ this.list = list;
+ }
+
+ @Override
+ protected void onCreate() {
+ super.onCreate();
+ findViewById(R.id.btn).setOnClickListener(new OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ if (listener != null) {
+ if (goodsDetailEntity==null){
+ Toast.makeText(getContext(),"请选择商品规格",Toast.LENGTH_SHORT).show();
+ return;
+ }
+ listener.onSelect(goodsDetailEntity.getProduct_code(), num);
+ }
+ dismiss();
+ }
+ });
+
+ tvPrice = findViewById(R.id.tv_price);
+ findViewById(R.id.iv_close).setOnClickListener(new OnClickListener() {
+ @Override
+ public void onClick(View v) {
+
+ dismiss();
+ }
+ });
+ tvAmount = findViewById(R.id.tv_amount);
+ rv = findViewById(R.id.rv);
+ amountView = findViewById(R.id.amount_view);
+ ImageView image = findViewById(R.id.imageview);
+ GridLayoutManager gridLayoutManager = new GridLayoutManager(getContext(), 3);
+
+ rv.setLayoutManager(gridLayoutManager);
+ RequestOptions requestOptions = new RequestOptions();
+ requestOptions.placeholder(R.mipmap.icon_default_rectangle);
+ requestOptions.error(R.mipmap.icon_default_rectangle);
+
+ Glide.with(getContext()).load(entity.getThumb())
+ .apply(requestOptions)
+ .into(image);
+ final BaseRecycleViewAdapter adapter = new BaseRecycleViewAdapter<>(getContext(), R.layout.item_add_goods);
+ adapter.setOnBindViewHolder(new BaseRecycleViewAdapter.BindView() {
+ @Override
+ public void onBindViewHolder(ItemAddGoodsBinding b, int position) {
+ b.tv.setText(list.get(position).getProperty());
+ }
+ });
+ adapter.setOnItemClickListener(new BaseRecycleViewAdapter.OnItemClickListener() {
+ @Override
+ public void onItemClick(View itemView, int position) {
+ for (int i = 0; i < list.size(); i++) {
+ list.get(position).setCheck(!list.get(position).isCheck());
+ if (list.get(position).isCheck()) {
+ list.get(position).setCheck(false);
+ amountView.setGoods_storage(Integer.parseInt(list.get(position).getNum()));
+ goodsDetailEntity = list.get(position);
+ tvPrice.setText("¥" + goodsDetailEntity.getPrice());
+ amountView.changeAmount(1);
+ num = 1;
+ BigDecimal bigDecimal = new BigDecimal(goodsDetailEntity.getPrice());
+ BigDecimal bigDecimal1 = new BigDecimal(amountView.getAmount());
+ BigDecimal multiply = bigDecimal.multiply(bigDecimal1);
+ tvAmount.setText("已选 " + list.get(position).getProperty() + " 合计:¥" + multiply.toPlainString());
+
+ }
+
+ }
+ }
+ });
+ adapter.setData(list);
+ rv.setAdapter(adapter);
+ amountView.setOnAmountChangeListener(new AmountView.OnAmountChangeListener() {
+ @Override
+ public void onAmountChange(View view, int amount) {
+ if (goodsDetailEntity == null) {
+ Toast.makeText(getContext(), "请选择商品规格", Toast.LENGTH_SHORT).show();
+ } else {
+ num = amount;
+ BigDecimal bigDecimal = new BigDecimal(goodsDetailEntity.getPrice());
+ BigDecimal bigDecimal1 = new BigDecimal(amount);
+ BigDecimal multiply = bigDecimal.multiply(bigDecimal1);
+ tvAmount.setText("合计:¥" + multiply.toPlainString());
+ }
+ }
+ });
+ }
+
+
+ public void setOnConfirmListener(OnGoodsSelectPropertyListener listener) {
+ this.listener = listener;
+ }
+
+
+ @Override
+ protected int getImplLayoutId() {
+ return R.layout.dialog_goods_info;
+
+ }
+
+ interface OnGoodsSelectPropertyListener {
+ void onSelect(String code, int num);
+ }
+}
diff --git a/app/src/main/java/com/sl/house_property/discovery/ImageViewerAndDeleteActivity.java b/app/src/main/java/com/sl/house_property/discovery/ImageViewerAndDeleteActivity.java
index ec0d3ce..c4ef840 100644
--- a/app/src/main/java/com/sl/house_property/discovery/ImageViewerAndDeleteActivity.java
+++ b/app/src/main/java/com/sl/house_property/discovery/ImageViewerAndDeleteActivity.java
@@ -37,7 +37,10 @@ public class ImageViewerAndDeleteActivity extends BaseActivity {
finish();
}
});
-
+ mDataBinding.left.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ finish();
+ }
+ });
type = getIntent().getIntExtra("type", -1);
orderType = getIntent().getIntExtra("orderType", -1);
initRec();
diff --git a/app/src/main/java/com/sl/house_property/order/PayActivity.java b/app/src/main/java/com/sl/house_property/order/PayActivity.java
new file mode 100644
index 0000000..ca99216
--- /dev/null
+++ b/app/src/main/java/com/sl/house_property/order/PayActivity.java
@@ -0,0 +1,166 @@
+package com.sl.house_property.order;
+
+import android.app.ProgressDialog;
+import android.content.Context;
+import android.content.Intent;
+import android.os.Bundle;
+import android.support.annotation.Nullable;
+import android.view.View;
+
+import com.gyf.immersionbar.ImmersionBar;
+import com.sl.house_property.BaseActivity;
+import com.sl.house_property.R;
+import com.sl.house_property.databinding.ActivityPayBinding;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import entity.RegisterUser;
+import http.ApiConfig;
+import my_loader.Loader;
+import my_loader.Resultcode;
+import rx.functions.Action1;
+import tools.Config;
+import utils.Md5;
+
+public class PayActivity extends BaseActivity {
+ private Context context;
+ private String goods_id;
+ private String product_code;
+ private String goods_num;
+ private String sale_price;
+ private String consignee_id;
+ private String total_amount;
+ private String payment_amount;
+ private String goods_user_id;
+ private String order_number;
+
+ @Override
+ protected int getLayoutResId() {
+ return R.layout.activity_pay;
+ }
+
+ @Override
+ protected void onCreate(@Nullable Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ context = this;
+ progressDialog = new ProgressDialog(this);
+ ImmersionBar.with(this)
+ .keyboardEnable(true) //解决软键盘与底部输入框冲突问题
+ // .keyboardEnable(true, WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE
+ // | WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE) //软键盘自动弹出
+ .init();
+ mDataBinding.left.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ finish();
+ }
+ });
+ Intent intent = getIntent();
+ mDataBinding.tvTitle.setText("支付");
+ goods_id = intent.getStringExtra("goods_id");
+ product_code = intent.getStringExtra("product_code");
+ goods_num = intent.getStringExtra("goods_num");
+ sale_price = intent.getStringExtra("sale_price");
+ consignee_id = intent.getStringExtra("consignee_id");
+ total_amount = intent.getStringExtra("total_amount");
+ payment_amount = intent.getStringExtra("payment_amount");
+ goods_user_id = intent.getStringExtra("goods_user_id");
+ order_number = intent.getStringExtra("order_number");
+ String wallet = intent.getStringExtra("wallet");
+ mDataBinding.tv.setText("钱包支付(余额 ¥" + wallet + ")");
+ mDataBinding.tvAmount.setText(payment_amount);
+ mDataBinding.rlAlipay.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ mDataBinding.alpay.setChecked(!mDataBinding.alpay.isChecked());
+ if (mDataBinding.alpay.isChecked()) {
+ mDataBinding.wxpaly.setChecked(false);
+ mDataBinding.qianbao2.setChecked(false);
+ }
+ }
+ });
+
+ mDataBinding.rlWxpay.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ mDataBinding.wxpaly.setChecked(!mDataBinding.wxpaly.isChecked());
+ if (mDataBinding.wxpaly.isChecked()) {
+ mDataBinding.alpay.setChecked(false);
+ mDataBinding.qianbao2.setChecked(false);
+ }
+
+ }
+ });
+
+ mDataBinding.rlQianbao.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ mDataBinding.qianbao2.setChecked(!mDataBinding.qianbao2.isChecked());
+ if (mDataBinding.qianbao2.isChecked()) {
+ mDataBinding.wxpaly.setChecked(false);
+ mDataBinding.alpay.setChecked(false);
+ }
+
+ }
+ });
+
+
+ mDataBinding.confirm.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ if (mDataBinding.alpay.isChecked()) {
+ setToast("支付宝支付" + payment_amount + "元");
+ return;
+ }
+ if (mDataBinding.wxpaly.isChecked()) {
+ setToast("微信支付" + payment_amount + "元");
+ return;
+ }
+ if (mDataBinding.qianbao2.isChecked()) {
+ pay();
+ }
+ }
+ });
+ }
+
+ Loader loader = new Loader();
+
+ private void pay() {
+ progressDialog.setMessage("支付中");
+ progressDialog.show();
+ RegisterUser user =
+ Config.getInstance(context).getUser();
+ Map map = new HashMap<>();
+ if (user != null) {
+ map.put("userid", user.getUserid());
+ } else {
+ map.put("userid", 0 + "");
+ }
+ map.put("app", "Order");
+ map.put("class", "PayBalance");
+ map.put("order_number", order_number);
+ map.put("sign", Md5.md5("Order" + "PayBalance" + Md5.secret));
+ loader.getMovie(ApiConfig.BASE_URL, map).subscribe(new Action1() {
+ @Override
+ public void call(Resultcode resultcode) {
+ progressDialog.dismiss();
+ if (resultcode.status == 0) {
+ Intent intent = new Intent(context, OrderActivity.class);
+ intent.putExtra("type", 1);
+ intent.putExtra("orderType", 2);
+ startActivityForResult(intent, 0);
+ } else {
+ setToast(resultcode.msg);
+ }
+ }
+ }, new Action1() {
+ @Override
+ public void call(Throwable throwable) {
+ progressDialog.dismiss();
+ setToast("提交失败");
+ }
+ });
+ }
+
+}
diff --git a/app/src/main/java/com/sl/house_property/order/SettleActivity.java b/app/src/main/java/com/sl/house_property/order/SettleActivity.java
index 0daf72e..b8a9e09 100644
--- a/app/src/main/java/com/sl/house_property/order/SettleActivity.java
+++ b/app/src/main/java/com/sl/house_property/order/SettleActivity.java
@@ -1,13 +1,54 @@
package com.sl.house_property.order;
+import android.app.ProgressDialog;
+import android.content.Context;
+import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.Nullable;
+import android.support.v7.widget.LinearLayoutManager;
+import android.view.View;
+import com.bumptech.glide.Glide;
+import com.bumptech.glide.request.RequestOptions;
+import com.google.gson.Gson;
+import com.google.gson.internal.LinkedTreeMap;
+import com.gyf.immersionbar.ImmersionBar;
import com.sl.house_property.BaseActivity;
import com.sl.house_property.R;
+import com.sl.house_property.cart.AddressListActivity;
import com.sl.house_property.databinding.ActivitySettleBinding;
+import com.sl.house_property.databinding.ItemOrderItemBinding;
+import com.sl.house_property.databinding.ItemSubmitOrderBinding;
+
+import org.json.JSONException;
+import org.json.JSONObject;
+
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Map;
+
+import adapter.BaseRecycleViewAdapter;
+import entity.AddressEntity;
+import entity.RegisterUser;
+import entity.SettleEntity;
+import http.ApiConfig;
+import my_loader.Loader;
+import my_loader.Resultcode;
+import rx.functions.Action1;
+import tools.Config;
+import utils.Md5;
public class SettleActivity extends BaseActivity {
+ private String goods_id;
+ private String product_code;
+ private int goodsType;
+ private String sale_num;
+ private String cart_id;
+ private Context context;
+ private ProgressDialog progressDialog;
+ private String wallet;
+
@Override
protected int getLayoutResId() {
return R.layout.activity_settle;
@@ -16,6 +57,264 @@ public class SettleActivity extends BaseActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
+ context = this;
+ progressDialog = new ProgressDialog(this);
+ ImmersionBar.with(this)
+ .keyboardEnable(true) //解决软键盘与底部输入框冲突问题
+ // .keyboardEnable(true, WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE
+ // | WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE) //软键盘自动弹出
+ .init();
+ goodsType = getIntent().getIntExtra("goodsType", 0);
+ if (goodsType == 2) {
+ cart_id = getIntent().getStringExtra("cart_id");
+ } else {
+ goods_id = getIntent().getStringExtra("goods_id");
+ product_code = getIntent().getStringExtra("product_code");
+ sale_num = getIntent().getStringExtra("sale_num");
+ }
+ mDataBinding.left.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ finish();
+ }
+ });
+ initRec();
+ getData();
+ mDataBinding.rlAddress.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ Intent intent = new Intent(context, AddressListActivity.class);
+ startActivityForResult(intent, 150);
+ }
+ });
+ }
+ @Override
+ protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
+ super.onActivityResult(requestCode, resultCode, data);
+ if (requestCode == 150 && resultCode == 200 && data != null) {
+ String data1 = data.getStringExtra("data");
+ AddressEntity addressEntity = new Gson().fromJson(data1, AddressEntity.class);
+ consignee_id = addressEntity.getConsignee_id();
+ mDataBinding.tvName.setText(addressEntity.getName());
+ mDataBinding.tvPhone.setText(addressEntity.getMobile());
+ mDataBinding.tvAddress.setText(addressEntity.getRegion() + addressEntity.getAddress());
+ }
+ }
+
+ private void initRec() {
+ mDataBinding.rv.setLayoutManager(new LinearLayoutManager(context));
+ BaseRecycleViewAdapter adapter = new BaseRecycleViewAdapter<>(context, R.layout.item_submit_order);
+ adapter.setOnBindViewHolder(new BaseRecycleViewAdapter.BindView() {
+ @Override
+ public void onBindViewHolder(final ItemSubmitOrderBinding b, int position) {
+ if (list != null && list.size() > 0) {
+ final SettleEntity.Goods goods = list.get(position);
+ RequestOptions requestOptions = new RequestOptions();
+ requestOptions.placeholder(R.mipmap.head);
+ requestOptions.error(R.mipmap.head);
+ Glide.with(context).load(goods.getAvatar())
+ .apply(requestOptions)
+ .into(b.ivHead);
+ b.tvUsername.setText(goods.getNickname());
+
+ int num = 0;
+ for (int i = 0; i < goods.getList().size(); i++) {
+ num = num + Integer.parseInt(goods.getList().get(i).getSale_num());
+ BigDecimal bigDecimal = new BigDecimal(totalAmount);
+ BigDecimal bigDecimal1 = new BigDecimal(goods.getList().get(i).getSale_num());
+ BigDecimal bigDecimal2 = new BigDecimal(goods.getList().get(i).getSale_price());
+ BigDecimal multiply = bigDecimal1.multiply(bigDecimal2);
+ totalAmount = bigDecimal.add(multiply).toPlainString();
+ if (i == 0) {
+ goods_id = goods.getList().get(i).getGoods_id();
+ product_code = goods.getList().get(i).getProduct_code();
+ goods_num = goods.getList().get(i).getSale_num();
+ sale_price = goods.getList().get(i).getSale_price();
+ goods_user_id = goods.getList().get(i).getGoods_user_id();
+ } else {
+ goods_id = goods_id + "," + goods.getList().get(i).getGoods_id();
+ product_code = product_code + "," + goods.getList().get(i).getProduct_code();
+ goods_num = goods_num + "," + goods.getList().get(i).getSale_num();
+ sale_price = sale_price + "," + goods.getList().get(i).getSale_price();
+ goods_user_id = goods_user_id + "," + goods.getList().get(i).getGoods_user_id();
+
+ }
+ }
+ b.tvNum.setText("共" + num + "件");
+ list.get(position).setNum(num);
+ b.tvAmount.setText("¥" + totalAmount);
+ list.get(position).setAmount(totalAmount);
+ BaseRecycleViewAdapter itemAdapter = new BaseRecycleViewAdapter<>(context, R.layout.item_order_item);
+ itemAdapter.setOnBindViewHolder(new BaseRecycleViewAdapter.BindView() {
+ @Override
+ public void onBindViewHolder(ItemOrderItemBinding b, int position) {
+ if (!(position >= goods.getList().size())) {
+ SettleEntity.Goods.GoodsList content_info = goods.getList().get(position);
+ b.tvGoodsName.setText(content_info.getGoods_detail());
+ b.tvInfo2.setText(content_info.getProperty());
+ b.tvPrice.setText("¥" + content_info.getSale_price());
+ b.tvNum.setText("x" + content_info.getSale_num());
+ RequestOptions requestOptions = new RequestOptions();
+ requestOptions.placeholder(R.mipmap.icon_default_rectangle);
+ requestOptions.error(R.mipmap.icon_default_rectangle);
+ Glide.with(context).load(content_info.getThumb())
+ .apply(requestOptions)
+ .into(b.ivGoods);
+ }
+ }
+ });
+ itemAdapter.setData(list.get(position).getList());
+ b.rv.setLayoutManager(new LinearLayoutManager(context));
+ b.rv.setAdapter(itemAdapter);
+ int totalNum = 0;
+ String totalAmount = "0.00";
+ for (int i = 0; i < list.size(); i++) {
+ totalNum += list.get(i).getNum();
+ BigDecimal bigDecimal = new BigDecimal(totalAmount);
+ BigDecimal bigDecimal1 = new BigDecimal(list.get(i).getAmount());
+ totalAmount = bigDecimal.add(bigDecimal1).toPlainString();
+ }
+ mDataBinding.tvTotalNum.setText("共" + totalNum + "件");
+ mDataBinding.tvAmount.setText("¥" + totalAmount);
+
+ }
+ }
+ });
+ mDataBinding.rv.setAdapter(adapter);
+ mDataBinding.btnSubmit.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ submit();
+ }
+ });
+ }
+
+ ArrayList list = new ArrayList();
+
+ private void setViewData(SettleEntity orderListBean) {
+ mDataBinding.tvName.setText(orderListBean.getAddress().getName());
+ mDataBinding.tvPhone.setText(orderListBean.getAddress().getMobile());
+ mDataBinding.tvAddress.setText(orderListBean.getAddress().getRegion() + orderListBean.getAddress().getAddress());
+ list = orderListBean.getGoods();
+ BaseRecycleViewAdapter adapter = (BaseRecycleViewAdapter) mDataBinding.rv.getAdapter();
+ adapter.setData(list);
+ consignee_id = orderListBean.getAddress().getConsignee_id();
+ wallet = orderListBean.getWallet();
+ }
+
+ Loader loader = new Loader();
+
+ private void getData() {
+ progressDialog.setMessage("获取数据中");
+ progressDialog.show();
+ RegisterUser user =
+ Config.getInstance(context).getUser();
+ Map map = new HashMap<>();
+ if (user != null) {
+ map.put("userid", user.getUserid());
+ } else {
+ map.put("userid", 0 + "");
+ }
+ map.put("app", "Goods");
+ map.put("class", "GoodsSettle");
+ if (goodsType == 2) {
+ map.put("cart_id", cart_id);
+ } else {
+ map.put("goods_id", goods_id);
+ map.put("product_code", product_code);
+ map.put("sale_num", sale_num);
+ }
+ map.put("sign", Md5.md5("Goods" + "GoodsSettle" + Md5.secret));
+ loader.getMovie(ApiConfig.BASE_URL, map).subscribe(new Action1() {
+ @Override
+ public void call(Resultcode resultcode) {
+ progressDialog.dismiss();
+ if (resultcode.status == 0) {
+ LinkedTreeMap adta = (LinkedTreeMap) resultcode.data;
+ String s = new Gson().toJson(adta);
+ SettleEntity orderListBean = new Gson().fromJson(s, SettleEntity.class);
+ setViewData(orderListBean);
+ } else {
+ setToast(resultcode.msg);
+ }
+ }
+ }, new Action1() {
+ @Override
+ public void call(Throwable throwable) {
+ progressDialog.dismiss();
+ setToast("获取数据失败");
+ }
+ });
+ }
+
+ private String goods_num;
+ private String sale_price;
+ private String totalAmount = "0.00";
+ private String consignee_id;
+ private String goods_user_id;
+
+ private void submit() {
+ progressDialog.setMessage("下单中");
+ progressDialog.show();
+ RegisterUser user =
+ Config.getInstance(context).getUser();
+ Map map = new HashMap<>();
+ if (user != null) {
+ map.put("userid", user.getUserid());
+ } else {
+ map.put("userid", 0 + "");
+ }
+ map.put("app", "Order");
+ map.put("class", "AddOrder");
+ map.put("goods_id", goods_id);
+ map.put("product_code", product_code);
+ map.put("goods_num", goods_num);
+ map.put("sale_price", sale_price);
+ map.put("consignee_id", consignee_id);
+ map.put("total_amount", totalAmount);
+ map.put("payment_amount", totalAmount);
+ map.put("goods_user_id", goods_user_id);
+ map.put("sign", Md5.md5("Order" + "AddOrder" + Md5.secret));
+ loader.getMovie(ApiConfig.BASE_URL, map).subscribe(new Action1() {
+ @Override
+ public void call(Resultcode resultcode) {
+ progressDialog.dismiss();
+ if (resultcode.status == 0) {
+ setToast(resultcode.msg);
+
+ Intent intent = new Intent(context, PayActivity.class);
+ intent.putExtra("goods_id", goods_id);
+ intent.putExtra("product_code", product_code);
+ intent.putExtra("goods_num", goods_num);
+ intent.putExtra("sale_price", sale_price);
+ intent.putExtra("consignee_id", consignee_id);
+ intent.putExtra("total_amount", totalAmount);
+ intent.putExtra("payment_amount", totalAmount);
+ intent.putExtra("goods_user_id", goods_user_id);
+ intent.putExtra("wallet", wallet);
+ Gson gs = new Gson();
+ LinkedTreeMap adta = (LinkedTreeMap) resultcode.data;
+ String s = gs.toJson(adta);
+ try {
+ JSONObject jsonObject = new JSONObject(s);
+ String order_number = jsonObject.getString("order_number");
+ intent.putExtra("order_number", order_number);
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
+
+ startActivityForResult(intent, 18);
+ } else {
+ setToast(resultcode.msg);
+ }
+ }
+ }, new Action1() {
+ @Override
+ public void call(Throwable throwable) {
+ progressDialog.dismiss();
+ setToast("下单失败");
+ }
+ });
}
}
diff --git a/app/src/main/java/entity/GoodsDetailEntity.java b/app/src/main/java/entity/GoodsDetailEntity.java
new file mode 100644
index 0000000..8a93ace
--- /dev/null
+++ b/app/src/main/java/entity/GoodsDetailEntity.java
@@ -0,0 +1,49 @@
+package entity;
+
+public class GoodsDetailEntity {
+ private String property;
+ private String product_code;
+ private String num;
+ private String price;
+ private boolean isCheck;
+
+ public boolean isCheck() {
+ return isCheck;
+ }
+
+ public void setCheck(boolean check) {
+ isCheck = check;
+ }
+
+ public String getProperty() {
+ return property;
+ }
+
+ public void setProperty(String property) {
+ this.property = property;
+ }
+
+ public String getProduct_code() {
+ return product_code;
+ }
+
+ public void setProduct_code(String product_code) {
+ this.product_code = product_code;
+ }
+
+ public String getNum() {
+ return num;
+ }
+
+ public void setNum(String num) {
+ this.num = num;
+ }
+
+ public String getPrice() {
+ return price;
+ }
+
+ public void setPrice(String price) {
+ this.price = price;
+ }
+}
diff --git a/app/src/main/java/entity/SettleEntity.java b/app/src/main/java/entity/SettleEntity.java
new file mode 100644
index 0000000..ca1c436
--- /dev/null
+++ b/app/src/main/java/entity/SettleEntity.java
@@ -0,0 +1,224 @@
+package entity;
+
+import java.util.ArrayList;
+
+public class SettleEntity {
+ private String wallet;
+ private ArrayList goods;
+ private Address address;
+
+ public String getWallet() {
+ return wallet;
+ }
+
+ public void setWallet(String wallet) {
+ this.wallet = wallet;
+ }
+
+ public ArrayList getGoods() {
+ return goods;
+ }
+
+ public void setGoods(ArrayList goods) {
+ this.goods = goods;
+ }
+
+ public Address getAddress() {
+ return address;
+ }
+
+ public void setAddress(Address address) {
+ this.address = address;
+ }
+
+ public static class Goods {
+ private String userid;
+ private String nickname;
+ private String avatar;
+ private int num;
+ private String amount;
+
+ public int getNum() {
+ return num;
+ }
+
+ public void setNum(int num) {
+ this.num = num;
+ }
+
+ public String getAmount() {
+ return amount;
+ }
+
+ public void setAmount(String amount) {
+ this.amount = amount;
+ }
+
+ private ArrayList list;
+
+ public String getUserid() {
+ return userid;
+ }
+
+ public void setUserid(String userid) {
+ this.userid = userid;
+ }
+
+ public String getNickname() {
+ return nickname;
+ }
+
+ public void setNickname(String nickname) {
+ this.nickname = nickname;
+ }
+
+ public String getAvatar() {
+ return avatar;
+ }
+
+ public void setAvatar(String avatar) {
+ this.avatar = avatar;
+ }
+
+ public ArrayList getList() {
+ return list;
+ }
+
+ public void setList(ArrayList list) {
+ this.list = list;
+ }
+
+ public static class GoodsList {
+ private String goods_detail;
+ private String thumb;
+ private String userid;
+ private String property;
+ private String sale_price;
+ private String goods_user_id;
+ private String sale_num;
+ private String goods_id;
+ private String product_code;
+
+ public String getGoods_detail() {
+ return goods_detail;
+ }
+
+ public void setGoods_detail(String goods_detail) {
+ this.goods_detail = goods_detail;
+ }
+
+ public String getThumb() {
+ return thumb;
+ }
+
+ public void setThumb(String thumb) {
+ this.thumb = thumb;
+ }
+
+ public String getUserid() {
+ return userid;
+ }
+
+ public void setUserid(String userid) {
+ this.userid = userid;
+ }
+
+ public String getProperty() {
+ return property;
+ }
+
+ public void setProperty(String property) {
+ this.property = property;
+ }
+
+ public String getSale_price() {
+ return sale_price;
+ }
+
+ public void setSale_price(String sale_price) {
+ this.sale_price = sale_price;
+ }
+
+ public String getGoods_user_id() {
+ return goods_user_id;
+ }
+
+ public void setGoods_user_id(String goods_user_id) {
+ this.goods_user_id = goods_user_id;
+ }
+
+ public String getSale_num() {
+ return sale_num;
+ }
+
+ public void setSale_num(String sale_num) {
+ this.sale_num = sale_num;
+ }
+
+ public String getGoods_id() {
+ return goods_id;
+ }
+
+ public void setGoods_id(String goods_id) {
+ this.goods_id = goods_id;
+ }
+
+ public String getProduct_code() {
+ return product_code;
+ }
+
+ public void setProduct_code(String product_code) {
+ this.product_code = product_code;
+ }
+ }
+ }
+
+
+ public static class Address {
+ private String consignee_id;
+ private String name;
+ private String address;
+ private String mobile;
+ private String region;
+
+ public String getConsignee_id() {
+ return consignee_id;
+ }
+
+ public void setConsignee_id(String consignee_id) {
+ this.consignee_id = consignee_id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getAddress() {
+ return address;
+ }
+
+ public void setAddress(String address) {
+ this.address = address;
+ }
+
+ public String getMobile() {
+ return mobile;
+ }
+
+ public void setMobile(String mobile) {
+ this.mobile = mobile;
+ }
+
+ public String getRegion() {
+ return region;
+ }
+
+ public void setRegion(String region) {
+ this.region = region;
+ }
+ }
+}
diff --git a/app/src/main/java/imageselector/ImageSelectorActivity.java b/app/src/main/java/imageselector/ImageSelectorActivity.java
index 18853f3..9a6af52 100644
--- a/app/src/main/java/imageselector/ImageSelectorActivity.java
+++ b/app/src/main/java/imageselector/ImageSelectorActivity.java
@@ -687,7 +687,7 @@ public class ImageSelectorActivity extends AppCompatActivity {
if (photoFile != null) {
mPhotoPath = photoFile.getAbsolutePath();
//通过FileProvider创建一个content类型的Uri
- Uri photoUri = FileProvider.getUriForFile(this, getPackageName() + ".fileprovider", photoFile);
+ Uri photoUri = FileProvider.getUriForFile(this, "PhotoPicker", photoFile);
captureIntent.putExtra(MediaStore.EXTRA_OUTPUT, photoUri);
captureIntent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
startActivityForResult(captureIntent, CAMERA_REQUEST_CODE);
diff --git a/app/src/main/java/my_view/CommentDialog.java b/app/src/main/java/my_view/CommentDialog.java
index 5868076..d1965b1 100644
--- a/app/src/main/java/my_view/CommentDialog.java
+++ b/app/src/main/java/my_view/CommentDialog.java
@@ -50,6 +50,15 @@ public class CommentDialog extends HorizontalAttachPopupView {
}
}
});
+ findViewById(R.id.tv_add).setOnClickListener(new OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ if (listener != null) {
+ listener.click(5);
+
+ }
+ }
+ });
}
public void setShowBug(boolean type) {
@@ -57,9 +66,11 @@ public class CommentDialog extends HorizontalAttachPopupView {
if (type) {
findViewById(R.id.tv_bug).setVisibility(View.VISIBLE);
findViewById(R.id.v).setVisibility(View.VISIBLE);
+ findViewById(R.id.tv_add).setVisibility(VISIBLE);
} else {
findViewById(R.id.tv_bug).setVisibility(View.GONE);
findViewById(R.id.v).setVisibility(View.GONE);
+ findViewById(R.id.tv_add).setVisibility(GONE);
}
}
diff --git a/app/src/main/res/drawable/shape_add_goods.xml b/app/src/main/res/drawable/shape_add_goods.xml
new file mode 100644
index 0000000..6637b07
--- /dev/null
+++ b/app/src/main/res/drawable/shape_add_goods.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_add_discovery.xml b/app/src/main/res/layout/activity_add_discovery.xml
index 8c46884..c99b1b9 100644
--- a/app/src/main/res/layout/activity_add_discovery.xml
+++ b/app/src/main/res/layout/activity_add_discovery.xml
@@ -1,113 +1,126 @@
-
-
-
-
+
+ android:layout_height="match_parent"
+ android:orientation="vertical">
+ android:layout_height="45dp"
+ android:layout_marginTop="@dimen/mystatusbar"
+ android:orientation="horizontal">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ android:layout_gravity="center"
+ android:paddingLeft="16dp"
+ android:paddingTop="5dp"
+ android:paddingRight="5dp"
+ android:paddingBottom="5dp"
+ android:src="@mipmap/fanhui" />
-
+ android:layout_weight="1"
+ android:gravity="center"
+ android:textColor="@color/white"
+ android:textSize="16sp" />
+
+
+
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_pay.xml b/app/src/main/res/layout/activity_pay.xml
new file mode 100644
index 0000000..56e11ba
--- /dev/null
+++ b/app/src/main/res/layout/activity_pay.xml
@@ -0,0 +1,229 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_settle.xml b/app/src/main/res/layout/activity_settle.xml
index 87f78db..1a2d0ae 100644
--- a/app/src/main/res/layout/activity_settle.xml
+++ b/app/src/main/res/layout/activity_settle.xml
@@ -1,11 +1,168 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/dialog_add_goods.xml b/app/src/main/res/layout/dialog_add_goods.xml
new file mode 100644
index 0000000..e752ff3
--- /dev/null
+++ b/app/src/main/res/layout/dialog_add_goods.xml
@@ -0,0 +1,104 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/dialog_comment.xml b/app/src/main/res/layout/dialog_comment.xml
index ec854c1..1fb3560 100644
--- a/app/src/main/res/layout/dialog_comment.xml
+++ b/app/src/main/res/layout/dialog_comment.xml
@@ -67,4 +67,20 @@
android:text="购买"
android:textColor="@color/white"
android:textSize="16sp" />
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/dialog_goods_info.xml b/app/src/main/res/layout/dialog_goods_info.xml
new file mode 100644
index 0000000..8f1d3d6
--- /dev/null
+++ b/app/src/main/res/layout/dialog_goods_info.xml
@@ -0,0 +1,134 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_cart.xml b/app/src/main/res/layout/fragment_cart.xml
index a0f1e74..219e620 100644
--- a/app/src/main/res/layout/fragment_cart.xml
+++ b/app/src/main/res/layout/fragment_cart.xml
@@ -75,7 +75,6 @@
android:button="@null"
android:layout_height="25dp"
android:background="@drawable/checkbox_style"
-
android:layout_centerVertical="true" />
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_submit_order.xml b/app/src/main/res/layout/item_submit_order.xml
new file mode 100644
index 0000000..16baf41
--- /dev/null
+++ b/app/src/main/res/layout/item_submit_order.xml
@@ -0,0 +1,123 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/mipmap-xhdpi/gwc1.png b/app/src/main/res/mipmap-xhdpi/gwc1.png
new file mode 100644
index 0000000..407b310
Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/gwc1.png differ
diff --git a/app/src/main/res/mipmap-xhdpi/gwc2.png b/app/src/main/res/mipmap-xhdpi/gwc2.png
new file mode 100644
index 0000000..9a351b1
Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/gwc2.png differ