From fc52a1b8e665da1a23768ebea6d3bb2fccdbeb55 Mon Sep 17 00:00:00 2001
From: mReturn <1058851652@qq.com>
Date: Thu, 16 Jan 2020 10:39:21 +0800
Subject: [PATCH] 客户验收二维码

---
 orderCenter/src/main/java/com/dayu/order/api/OrderApiFactory.java              |  5 +++++
 orderCenter/src/main/java/com/dayu/order/api/OrderService.java                 |  5 +++++
 orderCenter/src/main/java/com/dayu/order/common/OrderConstant.java             |  3 +++
 orderCenter/src/main/java/com/dayu/order/presenter/qrcode/QRCodePresenter.java | 44 ++++++++++++++++++++++++++++++++++++++++----
 4 files changed, 53 insertions(+), 4 deletions(-)

diff --git a/orderCenter/src/main/java/com/dayu/order/api/OrderApiFactory.java b/orderCenter/src/main/java/com/dayu/order/api/OrderApiFactory.java
index 36e7f2f..a494b4e 100644
--- a/orderCenter/src/main/java/com/dayu/order/api/OrderApiFactory.java
+++ b/orderCenter/src/main/java/com/dayu/order/api/OrderApiFactory.java
@@ -24,6 +24,8 @@ import java.util.List;
 
 import io.reactivex.Observable;
 import okhttp3.RequestBody;
+import okhttp3.ResponseBody;
+import retrofit2.Call;
 
 /**
  * Created by luofan
@@ -155,6 +157,9 @@ public class OrderApiFactory {
     public static Observable<String> createUrl(int orderId) {
         return Api.getService(OrderService.class).createUrl(orderId).compose(Api.applySchedulers());
     }
+    public static Call<ResponseBody> createWxUrl(int orderId, int width) {
+        return Api.getService(OrderService.class).createWxUrl(orderId,width);
+    }
 
     public static Observable<Boolean> queryPayStatus(int siteId) {
         return Api.getService(OrderService.class).queryPayStatus(siteId).compose(Api.applySchedulers());
diff --git a/orderCenter/src/main/java/com/dayu/order/api/OrderService.java b/orderCenter/src/main/java/com/dayu/order/api/OrderService.java
index 99f38f9..85cdf9d 100644
--- a/orderCenter/src/main/java/com/dayu/order/api/OrderService.java
+++ b/orderCenter/src/main/java/com/dayu/order/api/OrderService.java
@@ -23,6 +23,8 @@ import java.util.List;
 
 import io.reactivex.Observable;
 import okhttp3.RequestBody;
+import okhttp3.ResponseBody;
+import retrofit2.Call;
 import retrofit2.http.Body;
 import retrofit2.http.GET;
 import retrofit2.http.POST;
@@ -340,6 +342,9 @@ interface OrderService {
     @GET(OrderConstant.CREATE_URL)
     Observable<BaseResponse<String>> createUrl(@Path("orderId") int orderId);
 
+    @GET(OrderConstant.CREATE_WX_URL)
+    Call<ResponseBody> createWxUrl(@Query("id") int workId, @Query("width") int width);
+
     /**
      * 查询是否开通移动支付.
      *
diff --git a/orderCenter/src/main/java/com/dayu/order/common/OrderConstant.java b/orderCenter/src/main/java/com/dayu/order/common/OrderConstant.java
index 4ea1e26..2e62916 100644
--- a/orderCenter/src/main/java/com/dayu/order/common/OrderConstant.java
+++ b/orderCenter/src/main/java/com/dayu/order/common/OrderConstant.java
@@ -170,6 +170,9 @@ public class OrderConstant {
      */
     public final static String CREATE_URL = "/api-user" + "/account/createUrlByOrderId/{orderId}";
 
+
+    public final static String CREATE_WX_URL = "/api-third/WXUser/getWxQrCode?path=pages/orderServerDetail/main";
+
     /**
      * 修改自建单.
      */
diff --git a/orderCenter/src/main/java/com/dayu/order/presenter/qrcode/QRCodePresenter.java b/orderCenter/src/main/java/com/dayu/order/presenter/qrcode/QRCodePresenter.java
index 1c58e9f..87abf95 100644
--- a/orderCenter/src/main/java/com/dayu/order/presenter/qrcode/QRCodePresenter.java
+++ b/orderCenter/src/main/java/com/dayu/order/presenter/qrcode/QRCodePresenter.java
@@ -1,10 +1,21 @@
 package com.dayu.order.presenter.qrcode;
 
 import android.graphics.Bitmap;
+import android.graphics.BitmapFactory;
 
 import com.dayu.common.Constants;
+import com.dayu.order.R;
 import com.dayu.order.api.OrderApiFactory;
 import com.dayu.utils.QRCodeUtils;
+import com.dayu.utils.ToastUtils;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+import okhttp3.ResponseBody;
+import retrofit2.Call;
+import retrofit2.Callback;
+import retrofit2.Response;
 
 /**
  * Created by luofan
@@ -23,9 +34,34 @@ public class QRCodePresenter extends QRCodeContract.Presenter {
     @Override
     public void getUrl() {
         mView.showDialog();
-        OrderApiFactory.createUrl(mId).subscribe(baseObserver(s -> {
-            Bitmap bitmap = QRCodeUtils.createBitmap(s);
-            mView.setBitmap(bitmap);
-        }));
+//        OrderApiFactory.createUrl(mId).subscribe(baseObserver(s -> {
+//            Bitmap bitmap = QRCodeUtils.createBitmap(s);
+//            mView.setBitmap(bitmap);
+//        }));
+
+
+        Call<ResponseBody> call = OrderApiFactory.createWxUrl(mId, 470);
+        call.enqueue(new Callback<ResponseBody>() {
+            @Override
+            public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
+                mView.hideDialog();
+                try {
+                    InputStream is = response.body().byteStream();
+                    Bitmap bitmap = BitmapFactory.decodeStream(is);
+                    is.close();
+                    mView.setBitmap(bitmap);
+                } catch (IOException e) {
+                    e.printStackTrace();
+                    ToastUtils.showShortToast(R.string.error_unknow);
+                }
+
+            }
+
+            @Override
+            public void onFailure(Call<ResponseBody> call, Throwable t) {
+                mView.hideDialog();
+                ToastUtils.showShortToast(R.string.error_unknow);
+            }
+        });
     }
 }
--
libgit2 0.25.0