From 3b65534a1e78e500c39563aca4c6abdf9f0a7e4c Mon Sep 17 00:00:00 2001
From: jinyuer <454386664@qq.com>
Date: Fri, 8 Jan 2021 15:03:22 +0800
Subject: [PATCH] 1
---
app/src/main/AndroidManifest.xml | 255 ++++++++----------
.../discovery/AddGoodsDialog.java | 4 +-
.../house_property/order/OrderActivity.java | 8 +-
.../order/OrderDetailActivity.java | 13 +-
.../sl/house_property/order/PayActivity.java | 90 +++++--
.../house_property/order/SettleActivity.java | 1 +
.../sl/house_property/order/WxPayEntity.java | 74 +++++
.../wxapi/WXPayEntryActivity.java | 33 +++
app/src/main/res/layout/activity_order.xml | 2 +-
app/src/main/res/values/styles.xml | 7 +-
10 files changed, 324 insertions(+), 163 deletions(-)
create mode 100644 app/src/main/java/com/sl/house_property/order/WxPayEntity.java
create mode 100644 app/src/main/java/com/sl/house_property/wxapi/WXPayEntryActivity.java
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index ed30482..562f90c 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -4,12 +4,13 @@
package="com.sl.house_property">
- >
+ >
-
@@ -18,13 +19,13 @@
-
+
-
+
@@ -40,12 +41,12 @@
-
+
-
+
-
-
-
+ android:theme="@style/AppTheme"
+ android:usesCleartextTraffic="true">
+
+
+
+
@@ -104,11 +106,10 @@
-
+
-
-
+
+
+ android:theme="@style/MyThemeactonbar"
+
+ android:windowSoftInputMode="adjustPan" />
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
-
+
-
-
-
-
-
-
-
-
-
-
-
+ android:name="com.sl.house_property.user.AddAnewGranteeActivity"
+ android:windowSoftInputMode="adjustPan" />
+
+
+
+
+
+
+
+
+
+
+
+ android:theme="@style/Theme.AppCompat.Light.NoActionBar" />
+ android:theme="@style/Theme.AppCompat.Light.NoActionBar" />
+ android:configChanges="orientation|keyboardHidden|screenSize"
+ android:theme="@style/Theme.AppCompat.Light.NoActionBar" />
+ android:theme="@style/PictureTheme.Main" />
+ android:theme="@style/PictureTheme.Main" />
-
+ android:screenOrientation="behind">
-
+ android:screenOrientation="behind">
-
+
@@ -303,8 +269,19 @@
-
+
+
+
\ No newline at end of file
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
index 942461d..293a949 100644
--- a/app/src/main/java/com/sl/house_property/discovery/AddGoodsDialog.java
+++ b/app/src/main/java/com/sl/house_property/discovery/AddGoodsDialog.java
@@ -33,8 +33,8 @@ public class AddGoodsDialog extends CenterPopupView {
@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());
+ mListener.onConfirm(etInfo.getText().toString().trim() + ":" + etNum.getText().toString().trim() + ":" +
+ etPrice.getText().toString().trim() ,etInfo.getText().toString().trim());
}
dismiss();
}
diff --git a/app/src/main/java/com/sl/house_property/order/OrderActivity.java b/app/src/main/java/com/sl/house_property/order/OrderActivity.java
index ea294ef..e0f6200 100644
--- a/app/src/main/java/com/sl/house_property/order/OrderActivity.java
+++ b/app/src/main/java/com/sl/house_property/order/OrderActivity.java
@@ -123,6 +123,7 @@ public class OrderActivity extends BaseActivity {
b.btnCancel.setVisibility(View.VISIBLE);
b.btnCancel.setText("取消订单");
b.tvInfo.setVisibility(View.VISIBLE);
+
} else if (orderType == 2) {
//待发货
b.btnFk.setVisibility(View.VISIBLE);
@@ -204,7 +205,9 @@ public class OrderActivity extends BaseActivity {
public void onClick(View v) {
if (b.btnFk.getText().equals("付款")) {
//付款
-
+ Intent intent = new Intent(context, PayActivity.class);
+ intent.putExtra("payment_amount", orderListBean.getOrder_money());
+ startActivityForResult(intent, 18);
} else if (b.btnFk.getText().equals("取消订单")) {
new XPopup.Builder(context).asConfirm("", "确定要取消订单吗?", new OnConfirmListener() {
@Override
@@ -383,6 +386,9 @@ public class OrderActivity extends BaseActivity {
if (requestCode == 15 && resultCode == 200) {
page = 1;
getList();
+ } else if (requestCode == 18 && resultCode == 200) {
+ page = 1;
+ getList();
}
}
}
diff --git a/app/src/main/java/com/sl/house_property/order/OrderDetailActivity.java b/app/src/main/java/com/sl/house_property/order/OrderDetailActivity.java
index 0f5249b..0abfe6d 100644
--- a/app/src/main/java/com/sl/house_property/order/OrderDetailActivity.java
+++ b/app/src/main/java/com/sl/house_property/order/OrderDetailActivity.java
@@ -2,6 +2,7 @@ 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;
@@ -195,7 +196,9 @@ public class OrderDetailActivity 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;
+ private BroadcastReceiver receiver = new BroadcastReceiver() {
+ @Override
+ public void onReceive(Context context, Intent intent1) {
+ if (type == 1) {
+ Intent intent = new Intent(context, OrderActivity.class);
+ intent.putExtra("type", 1);
+ intent.putExtra("orderType", 2);
+ startActivityForResult(intent, 0);
+ } else {
+ PayActivity.this.setResult(200);
+ finish();
+ }
+
+ }
+ };
+ private int type;
@Override
protected int getLayoutResId() {
@@ -43,6 +58,7 @@ public class PayActivity extends BaseActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
+
context = this;
progressDialog = new ProgressDialog(this);
ImmersionBar.with(this)
@@ -58,15 +74,9 @@ public class PayActivity extends BaseActivity {
});
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");
+ type = intent.getIntExtra("type", 0);
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);
@@ -114,7 +124,7 @@ public class PayActivity extends BaseActivity {
return;
}
if (mDataBinding.wxpaly.isChecked()) {
- setToast("微信支付" + payment_amount + "元");
+ wxPay();
return;
}
if (mDataBinding.qianbao2.isChecked()) {
@@ -122,6 +132,50 @@ public class PayActivity extends BaseActivity {
}
}
});
+ IntentFilter intentFilter = new IntentFilter();
+ intentFilter.addAction("PaySuccess");
+ registerReceiver(receiver, intentFilter);
+ }
+
+ @Override
+ protected void onDestroy() {
+ super.onDestroy();
+ unregisterReceiver(receiver);
+ }
+
+ private void wxPay() {
+ 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", "System");
+ map.put("class", "OrderPrePayId");
+ map.put("amount", payment_amount);
+ map.put("sign", Md5.md5("System" + "OrderPrePayId" + Md5.secret));
+ loader.getMovie(ApiConfig.BASE_URL, map).subscribe(new Action1() {
+ @Override
+ public void call(Resultcode resultcode) {
+ if (resultcode.status == 0) {
+ LinkedTreeMap adta = (LinkedTreeMap) resultcode.data;
+ WxPayEntity wxPayEntity = new Gson().fromJson(new Gson().toJson(adta), WxPayEntity.class);
+
+ IWXAPI wxapi = WXAPIFactory.createWXAPI(PayActivity.this, wxPayEntity.getAppid());
+ PayReq payReq = new PayReq();
+ payReq.appId = wxPayEntity.getAppid();
+ payReq.partnerId = wxPayEntity.getPartnerid();
+ payReq.prepayId = wxPayEntity.getPrepayid();
+ payReq.packageValue = "Sign=WXPay";
+ payReq.nonceStr = wxPayEntity.getNoncestr();
+ payReq.timeStamp = wxPayEntity.getTimestamp();
+ payReq.sign = wxPayEntity.getPaySign();
+ wxapi.sendReq(payReq);
+ }
+ }
+ });
}
Loader loader = new Loader();
@@ -139,7 +193,7 @@ public class PayActivity extends BaseActivity {
}
map.put("app", "Order");
map.put("class", "PayBalance");
- map.put("order_number", order_number);
+ map.put("order_number", payment_amount);
map.put("sign", Md5.md5("Order" + "PayBalance" + Md5.secret));
loader.getMovie(ApiConfig.BASE_URL, map).subscribe(new Action1() {
@Override
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 b8a9e09..ddf0403 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
@@ -285,6 +285,7 @@ public class SettleActivity extends BaseActivity {
Intent intent = new Intent(context, PayActivity.class);
intent.putExtra("goods_id", goods_id);
+ intent.putExtra("type", 1);
intent.putExtra("product_code", product_code);
intent.putExtra("goods_num", goods_num);
intent.putExtra("sale_price", sale_price);
diff --git a/app/src/main/java/com/sl/house_property/order/WxPayEntity.java b/app/src/main/java/com/sl/house_property/order/WxPayEntity.java
new file mode 100644
index 0000000..02e505f
--- /dev/null
+++ b/app/src/main/java/com/sl/house_property/order/WxPayEntity.java
@@ -0,0 +1,74 @@
+package com.sl.house_property.order;
+
+import android.support.annotation.Keep;
+
+@Keep
+public class WxPayEntity {
+
+ private String appid;
+ private String partnerid;
+ private String timestamp;
+ private String noncestr;
+ private String prepayid;
+ private String paySign;
+
+ @Override
+ public String toString() {
+ return "WxPayEntity{" +
+ "appid='" + appid + '\'' +
+ ", partnerid='" + partnerid + '\'' +
+ ", timestamp='" + timestamp + '\'' +
+ ", noncestr='" + noncestr + '\'' +
+ ", prepayid='" + prepayid + '\'' +
+ ", paySign='" + paySign + '\'' +
+ '}';
+ }
+
+ public String getAppid() {
+ return appid;
+ }
+
+ public void setAppid(String appid) {
+ this.appid = appid;
+ }
+
+ public String getPartnerid() {
+ return partnerid;
+ }
+
+ public void setPartnerid(String partnerid) {
+ this.partnerid = partnerid;
+ }
+
+ public String getTimestamp() {
+ return timestamp;
+ }
+
+ public void setTimestamp(String timestamp) {
+ this.timestamp = timestamp;
+ }
+
+ public String getNoncestr() {
+ return noncestr;
+ }
+
+ public void setNoncestr(String noncestr) {
+ this.noncestr = noncestr;
+ }
+
+ public String getPrepayid() {
+ return prepayid;
+ }
+
+ public void setPrepayid(String prepayid) {
+ this.prepayid = prepayid;
+ }
+
+ public String getPaySign() {
+ return paySign;
+ }
+
+ public void setPaySign(String paySign) {
+ this.paySign = paySign;
+ }
+}
diff --git a/app/src/main/java/com/sl/house_property/wxapi/WXPayEntryActivity.java b/app/src/main/java/com/sl/house_property/wxapi/WXPayEntryActivity.java
new file mode 100644
index 0000000..c6e47a1
--- /dev/null
+++ b/app/src/main/java/com/sl/house_property/wxapi/WXPayEntryActivity.java
@@ -0,0 +1,33 @@
+package com.sl.house_property.wxapi;
+
+import android.app.Activity;
+import android.content.Intent;
+
+import com.tencent.mm.opensdk.constants.ConstantsAPI;
+import com.tencent.mm.opensdk.modelbase.BaseReq;
+import com.tencent.mm.opensdk.modelbase.BaseResp;
+import com.tencent.mm.opensdk.openapi.IWXAPIEventHandler;
+
+public class WXPayEntryActivity extends Activity implements IWXAPIEventHandler {
+ @Override
+ public void onReq(BaseReq baseReq) {
+
+ }
+
+ @Override
+ public void onResp(BaseResp baseResp) {
+ if (baseResp.getType() == ConstantsAPI.COMMAND_PAY_BY_WX) {
+ if (baseResp.errCode == 0) {
+ Intent intent = new Intent();
+ intent.setAction("PaySuccess");
+ this.sendBroadcast(intent);
+ // val intent = Intent()
+// intent.action = "PaySuccess"
+// intent.putExtra("payCode", p0.errCode)
+// this.sendBroadcast(intent)
+// finish()
+ }
+ finish();
+ }
+ }
+}
diff --git a/app/src/main/res/layout/activity_order.xml b/app/src/main/res/layout/activity_order.xml
index 503625b..c968352 100644
--- a/app/src/main/res/layout/activity_order.xml
+++ b/app/src/main/res/layout/activity_order.xml
@@ -30,7 +30,7 @@
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center"
- android:text="xx"
+ android:text="订单"
android:textColor="@color/white"
android:textSize="16sp" />
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index b731242..81e946c 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -130,5 +130,10 @@
- @anim/dialog_dismiss
-
+
+