diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml
index c37f9c1..3eafbd3 100644
--- a/.idea/jarRepositories.xml
+++ b/.idea/jarRepositories.xml
@@ -56,5 +56,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
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
index 3a259f3..b116a82 100644
--- a/app/src/main/java/com/sl/house_property/order/PayActivity.java
+++ b/app/src/main/java/com/sl/house_property/order/PayActivity.java
@@ -7,8 +7,10 @@ import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
import android.support.annotation.Nullable;
+import android.util.Log;
import android.view.View;
+import com.cutil.StringUtils;
import com.google.gson.Gson;
import com.google.gson.internal.LinkedTreeMap;
import com.gyf.immersionbar.ImmersionBar;
@@ -19,6 +21,9 @@ import com.tencent.mm.opensdk.modelpay.PayReq;
import com.tencent.mm.opensdk.openapi.IWXAPI;
import com.tencent.mm.opensdk.openapi.WXAPIFactory;
+import org.json.JSONException;
+import org.json.JSONObject;
+
import java.util.HashMap;
import java.util.Map;
@@ -26,14 +31,18 @@ import entity.RegisterUser;
import http.ApiConfig;
import my_loader.Loader;
import my_loader.Resultcode;
+import pay.alipay.AliPayManager;
+import rx.Subscription;
import rx.functions.Action1;
import tools.Config;
+import utils.Constants;
import utils.Md5;
public class PayActivity extends BaseActivity {
private Context context;
private String payment_amount;
private String order_number;
+ private Loader mGankLoader;
private BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent1) {
@@ -122,7 +131,13 @@ public class PayActivity extends BaseActivity {
@Override
public void onClick(View v) {
if (mDataBinding.alpay.isChecked()) {
- setToast("支付宝支付" + payment_amount + "元");
+ // setToast("支付宝支付" + payment_amount + "元");
+ if (StringUtils.isTrimEmpty(payment_amount) || Double.parseDouble(payment_amount) <= 0) {
+ setToast("支付金额不能小于或等于0元");
+ return;
+ }
+ startAliPay();
+
return;
}
if (mDataBinding.wxpaly.isChecked()) {
@@ -227,4 +242,109 @@ public class PayActivity extends BaseActivity {
});
}
+
+ private void startAliPay() {
+ RegisterUser user =
+ Config.getInstance(PayActivity.this).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", "System_an_ALiPayment");
+ map.put("sign", Md5.md5("System" + "System_an_ALiPayment" + Md5.secret));
+
+ getAliPayConfigDataFun(ApiConfig.BASE_URL, map, getResources().getString(R.string.requsting));
+ }
+ private void getAliPayConfigDataFun(String myurl, Map map, String msg) {
+ progressDialog.setMessage(msg);
+ progressDialog.setCancelable(false);
+ progressDialog.show();
+ mGankLoader = new Loader();
+ Subscription subscription = mGankLoader.getMovie(myurl, map).subscribe(new Action1() {
+ @Override
+ public void call(Resultcode resultcode) {
+ progressDialog.dismiss();
+ if (!(resultcode.status == 0)) {
+ setToast(1, resultcode.msg);
+ }
+ if (resultcode.status == 0) {
+ Gson gs = new Gson();
+ LinkedTreeMap adta = (LinkedTreeMap) resultcode.data;
+ String s = gs.toJson(adta);
+ Log.e("支付宝接口返回值==",s);
+ String ssd = gs.toJson(adta);
+ try {
+ JSONObject jsonObject = new JSONObject(s);
+ String billNumber = jsonObject.getString("bill_number");
+ Log.e("支付宝billNumber值==",billNumber);
+ JSONObject playmentJsonObj = jsonObject.getJSONObject("payment");
+ String appID = playmentJsonObj.getString("partner");
+ Log.e("支付宝appID值==",appID);
+ String pid = playmentJsonObj.getString("seller");
+ Log.e("支付宝pid值==",pid);
+ String privateKey = playmentJsonObj.getString("privateKey");
+ Log.e("支付宝privateKey值==",privateKey);
+
+ // execAliPay(appID, pid, privateKey, billNumber);
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
+ }
+ }
+
+ }, new Action1() {
+ @Override
+ public void call(Throwable throwable) {
+ progressDialog.dismiss();
+ setToast(2, getString(R.string.getdatafailure));
+ throwable.printStackTrace();
+ }
+ });
+
+ addSubscription(subscription);
+ }
+
+ private void execAliPay(String appID, String pid, String privateKey, final String billNumber) {
+ AliPayManager aliPayManager = new AliPayManager(PayActivity.this, appID, pid, privateKey, new AliPayManager.PayResultCallback() {
+ @Override
+ public void payResutl(Boolean isSuc) {
+ if (isSuc) {
+ // 支付成功,返回相应结果页面
+ Intent intent = new Intent();
+ //设置返回数据
+ setResult(Constants.PayResultCode.OK, intent);
+ intent.putExtra("payNumber", billNumber);
+ finish();
+ }
+ }
+ });
+
+ RegisterUser user =
+ Config.getInstance(PayActivity.this).getUser();
+ String userId = user.getUserid();
+
+ String feeCategory = getIntent().getStringExtra("feeCategory");
+ String tradeNo = "";
+ String notifyUrl = "";
+ if (StringUtils.equalsIgnoreCase(feeCategory, Constants.FeeCategory.HOUSEKEEPING)) {
+ notifyUrl = ApiConfig.CALLBACK_HOUSEKEEPING_PAY;
+ tradeNo = getIntent().getStringExtra("serve_order_number");
+ } else if (StringUtils.equalsIgnoreCase(feeCategory, Constants.FeeCategory.PROPERTY_FEE)) {
+ String userHomeId = getIntent().getStringExtra("userHomeId");
+ String feeType = getIntent().getStringExtra("feeType");
+ tradeNo = billNumber + "o" + userId + "o" + userHomeId + "o" + feeType;
+ notifyUrl = ApiConfig.CALLBACK_PROPERTY_PAY;
+ } else if (StringUtils.equalsIgnoreCase(feeCategory, Constants.FeeCategory.RECHARGE)) {
+ tradeNo = billNumber + "o" + userId;
+ notifyUrl = ApiConfig.CALLBACK_RECHARGE_PAY;
+ } else if (StringUtils.equalsIgnoreCase(feeCategory, Constants.FeeCategory.PARKING_FEE)) {
+ notifyUrl = ApiConfig.CALLBACK_TEMP_STOP_PAY;
+ tradeNo = getIntent().getStringExtra("orderSn");
+ }
+ //String number = mDataBinding.number.getText().toString();
+ aliPayManager.startPay("", "", tradeNo, payment_amount, notifyUrl);
+ }
}
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 d4f7ca4..fb36801 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
@@ -253,7 +253,7 @@ public class SettleActivity extends BaseActivity {
private String totalAmount = "0.00";
private String consignee_id;
private String goods_user_id;
-
+ //提交订单的方法
private void submit() {
progressDialog.setMessage("下单中");
progressDialog.show();
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index a39e7dd..8e41862 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -3,9 +3,7 @@
#FE5200
#FE5200
#FE5200
-
#FE552C
-
#000000
#Dddddd
#878787
diff --git a/开发文档 b/开发文档
new file mode 100644
index 0000000..8e1f94c
--- /dev/null
+++ b/开发文档
@@ -0,0 +1,2 @@
+1.支付宝支付
+ MyPayActivity
\ No newline at end of file