Commit 8284dcae authored by 陈前's avatar 陈前

Merge remote-tracking branch 'origin/master'

parents ebd4c7f6 6a2cc996
......@@ -58,11 +58,6 @@ public class C {
}
public static final class URL {
/**
* 支付服务器
*/
public static final String TEMP_PAY_URL = "http://demo.51zzd.cn/";
/**
* 测试环境(客户演示使用)
* sn:test2018 设备型号 AECRC10 (pos)
......
package com.xingdata.zzdpos.api;
import android.support.annotation.NonNull;
import com.xingdata.zzdpos.C;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.concurrent.TimeUnit;
import okhttp3.Cookie;
import okhttp3.CookieJar;
import okhttp3.HttpUrl;
import okhttp3.Interceptor;
import okhttp3.OkHttpClient;
import okhttp3.logging.HttpLoggingInterceptor;
import retrofit2.Retrofit;
import retrofit2.adapter.rxjava2.RxJava2CallAdapterFactory;
public class Jni {
JniService service;
private static class JniHolder {
private static final Jni INSTANCE = new Jni();
}
static Jni getInstance() {
return Jni.JniHolder.INSTANCE;
}
private Jni() {
//LOG
HttpLoggingInterceptor logInterceptor = new HttpLoggingInterceptor();
logInterceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
//HEAD
Interceptor headInterceptor = (chain) -> chain.proceed(
chain.request().newBuilder()
.addHeader("User-Agent", C.HEAD.USER_AGENT)
.addHeader("Connection", C.HEAD.CONNECTION)
.addHeader("Content-Type", C.HEAD.CONTENT_TYPE)
.addHeader("Content-Language", C.HEAD.CONTENT_LANGUAGE)
.addHeader("Cache-Control", C.HEAD.CACHE_CONTROL)
.build());
//COOKIE
CookieJar cookieJar = new CookieJar() {
private HashMap<String, Cookie> cookieMap = new HashMap<>();
@Override
public void saveFromResponse(@NonNull HttpUrl url, @NonNull List<Cookie> cookies) {
for (int i = 0; i < cookies.size(); i++) {
cookieMap.put(cookies.get(i).name(), cookies.get(i));
}
}
@Override
public List<Cookie> loadForRequest(@NonNull HttpUrl url) {
return new ArrayList<>(cookieMap.values());
}
};
//Client
OkHttpClient okHttpClient = new OkHttpClient.Builder()
.readTimeout(C.API_BUILDER.READ_TIMEOUT * 20, TimeUnit.MILLISECONDS)
.connectTimeout(C.API_BUILDER.CONNECT_TIMEOUT * 20, TimeUnit.MILLISECONDS)
.addInterceptor(headInterceptor)
.addInterceptor(logInterceptor)
.cookieJar(cookieJar)
.build();
Retrofit retrofit = new Retrofit.Builder()
.client(okHttpClient)
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
.addConverterFactory(ConverterFactory.create())
.baseUrl(C.URL.TEMP_PAY_URL)
.build();
service = retrofit.create(JniService.class);
}
}
package com.xingdata.zzdpos.api;
import com.alibaba.fastjson.JSON;
import com.xingdata.zzdpos.util.ConvertUtil;
import io.reactivex.Observable;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.schedulers.Schedulers;
public class JniFactory {
public static class Settle {
private static Pay.Request q;
public static Observable<String> pay(int payChannel, String payCode, Long orderAmt, String orderNo) {
q = new Pay.Request();
q.setPayChannelType(payChannel + "");
q.setOrderType("01");
q.setOrderAmt(ConvertUtil.longToString(orderAmt));
q.setChannelAuthCode(payCode);
q.setOrderNo(orderNo);
q.setOldOrderNo(orderNo);
return Jni.getInstance().service.pay(JSON.toJSONString(q))
.onErrorReturn(new ErrorFilter<>())
.map(new ResultFilter<>())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread());
}
public static Observable<String> query() {
q.setOrderType("02");
return Jni.getInstance().service.pay(JSON.toJSONString(q))
.onErrorReturn(new ErrorFilter<>())
.map(new ResultFilter<>())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread());
}
}
}
package com.xingdata.zzdpos.api;
import com.xingdata.zzdpos.C;
import io.reactivex.Observable;
import retrofit2.http.GET;
import retrofit2.http.Query;
interface JniService {
@GET(C.URL.TEMP_PAY.pay)
Observable<HttpMessage<String>> pay(@Query("para") String str);
}
package com.xingdata.zzdpos.api;
import com.alibaba.fastjson.annotation.JSONField;
import com.blankj.utilcode.util.TimeUtils;
import java.text.SimpleDateFormat;
import java.util.Locale;
public class Pay {
public static class Request {
public Request() {
setDeviceType("01");
setMch_id("11");
setTer_id("00000098");
setOrderDateTime(TimeUtils.getNowString(new SimpleDateFormat("yyyyMMddHHmmss", Locale.getDefault())));
setCurrencyType("156");
setOrderName("测试");
setKey("Key");
setNotifyUrl("setNotifyUrl");
}
private String OrderType;
private String PayChannelType;
private String DeviceType;
private String Agent_id;
private String Mch_id;
private String Ter_id;
private String OrderNo;
private String PosTrace;
private String OrderDateTime;
private String CurrencyType;
private String OrderAmt;
private String OrderName;
private String ChannelAuthCode;
private String Key;
private String NotifyUrl;
private String OldOrderNo;
@JSONField(name = "OrderType")
public String getOrderType() {
return OrderType;
}
@JSONField(name = "OrderType")
public void setOrderType(String orderType) {
OrderType = orderType;
}
@JSONField(name = "PayChannelType")
public String getPayChannelType() {
return PayChannelType;
}
@JSONField(name = "PayChannelType")
public void setPayChannelType(String payChannelType) {
PayChannelType = payChannelType;
}
@JSONField(name = "DeviceType")
public String getDeviceType() {
return DeviceType;
}
@JSONField(name = "DeviceType")
public void setDeviceType(String deviceType) {
DeviceType = deviceType;
}
@JSONField(name = "Agent_id")
public String getAgent_id() {
return Agent_id;
}
@JSONField(name = "Agent_id")
public void setAgent_id(String agent_id) {
Agent_id = agent_id;
}
@JSONField(name = "Mch_id")
public String getMch_id() {
return Mch_id;
}
@JSONField(name = "Mch_id")
public void setMch_id(String mch_id) {
Mch_id = mch_id;
}
@JSONField(name = "Ter_id")
public String getTer_id() {
return Ter_id;
}
@JSONField(name = "Ter_id")
public void setTer_id(String ter_id) {
Ter_id = ter_id;
}
@JSONField(name = "OrderNo")
public String getOrderNo() {
return OrderNo;
}
@JSONField(name = "OrderNo")
public void setOrderNo(String orderNo) {
OrderNo = orderNo;
}
@JSONField(name = "PosTrace")
public String getPosTrace() {
return PosTrace;
}
@JSONField(name = "PosTrace")
public void setPosTrace(String posTrace) {
PosTrace = posTrace;
}
@JSONField(name = "OrderDateTime")
public String getOrderDateTime() {
return OrderDateTime;
}
@JSONField(name = "OrderDateTime")
public void setOrderDateTime(String orderDateTime) {
OrderDateTime = orderDateTime;
}
@JSONField(name = "CurrencyType")
public String getCurrencyType() {
return CurrencyType;
}
@JSONField(name = "CurrencyType")
public void setCurrencyType(String currencyType) {
CurrencyType = currencyType;
}
@JSONField(name = "OrderAmt")
public String getOrderAmt() {
return OrderAmt;
}
@JSONField(name = "OrderAmt")
public void setOrderAmt(String orderAmt) {
OrderAmt = orderAmt;
}
@JSONField(name = "OrderName")
public String getOrderName() {
return OrderName;
}
@JSONField(name = "OrderName")
public void setOrderName(String orderName) {
OrderName = orderName;
}
@JSONField(name = "ChannelAuthCode")
public String getChannelAuthCode() {
return ChannelAuthCode;
}
@JSONField(name = "ChannelAuthCode")
public void setChannelAuthCode(String channelAuthCode) {
ChannelAuthCode = channelAuthCode;
}
@JSONField(name = "Key")
public String getKey() {
return Key;
}
@JSONField(name = "Key")
public void setKey(String key) {
Key = key;
}
@JSONField(name = "NotifyUrl")
public String getNotifyUrl() {
return NotifyUrl;
}
@JSONField(name = "NotifyUrl")
public void setNotifyUrl(String notifyUrl) {
NotifyUrl = notifyUrl;
}
@JSONField(name = "OldOrderNo")
public String getOldOrderNo() {
return OldOrderNo;
}
@JSONField(name = "OldOrderNo")
public void setOldOrderNo(String oldOrderNo) {
OldOrderNo = oldOrderNo;
}
}
public static class Response {
private int OrderType;
private String ResponseCode;
private String ResponseMsg;
private String TradeStatus;
private String Mch_id;
private String Ter_id;
private String OrderNo;
private String tn;
private String paySign;
public int getOrderType() {
return OrderType;
}
public void setOrderType(int orderType) {
OrderType = orderType;
}
public String getResponseCode() {
return ResponseCode;
}
public void setResponseCode(String responseCode) {
ResponseCode = responseCode;
}
public String getResponseMsg() {
return ResponseMsg;
}
public void setResponseMsg(String responseMsg) {
ResponseMsg = responseMsg;
}
public String getTradeStatus() {
return TradeStatus;
}
public void setTradeStatus(String tradeStatus) {
TradeStatus = tradeStatus;
}
public String getMch_id() {
return Mch_id;
}
public void setMch_id(String mch_id) {
Mch_id = mch_id;
}
public String getTer_id() {
return Ter_id;
}
public void setTer_id(String ter_id) {
Ter_id = ter_id;
}
public String getOrderNo() {
return OrderNo;
}
public void setOrderNo(String orderNo) {
OrderNo = orderNo;
}
public String getTn() {
return tn;
}
public void setTn(String tn) {
this.tn = tn;
}
public String getPaySign() {
return paySign;
}
public void setPaySign(String paySign) {
this.paySign = paySign;
}
}
}
......@@ -290,7 +290,11 @@ public abstract class BaseDialog<P extends BasePresenter, B extends ViewDataBind
if (null != mDisp && (!mDisp.isDisposed())) {
mDisp.dispose();
}
super.dismiss();
try {
super.dismiss();
} catch (NullPointerException e) {
LogUtils.e(e.getMessage());
}
}
} else {
SPUtils.getInstance().put(C.SYSTEM.DIALOGISDISMISS, true);
......
......@@ -91,7 +91,7 @@ public class DBFactory {
* @return 商品List
*/
public static Observable<Pager<Sssku>> querySku(int pageNum, String keyword) {
RealmQuery<Sssku> query = DB.getInstance().get(MainPresenter.class).where(Sssku.class);
RealmQuery<Sssku> query = DB.getInstance().get(StorePresenter.class).where(Sssku.class);
long _keyword = StringUtil.strToLong(keyword);
//keyword
......@@ -115,7 +115,7 @@ public class DBFactory {
* @return 组合商品
*/
public static Observable<Pager<Ussku>> queryUSku() {
RealmQuery<Ussku> query = DB.getInstance().get(MainPresenter.class).where(Ussku.class);
RealmQuery<Ussku> query = DB.getInstance().get(StorePresenter.class).where(Ussku.class);
query.equalTo("skuStatus", 0);
return Observable.just(query.findAll())
.flatMap(usskus -> {
......@@ -186,7 +186,7 @@ public class DBFactory {
* @return 换购信息列表(附带商品)
*/
public static Observable<List<Sssku>> queryGiftSkus(List<Gift> gifts) {
RealmQuery<Sssku> query = DB.getInstance().get(MainPresenter.class).where(Sssku.class);
RealmQuery<Sssku> query = DB.getInstance().get(StorePresenter.class).where(Sssku.class);
for (int i = 0; i < gifts.size(); i++) {
if (i > 0) query.or();
query.equalTo("skuId", gifts.get(i).getSkuId());
......
......@@ -78,7 +78,7 @@
android:text="@string/store_title"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/all_sub_title_size"
android:visibility="@{titleMode==1||titleMode==4?View.VISIBLE:View.GONE}"
android:visibility="@{titleMode==3?View.GONE:View.VISIBLE}"
app:layout_constraintLeft_toRightOf="parent"
app:layout_constraintRight_toLeftOf="parent" />
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment