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 - + +