Commit a80f34e3 authored by jianglx's avatar jianglx

Merge branch 'master-price' of http://113.105.137.151:22280/lify/rvapp into master-price-john

parents 64455269 fa3064af
......@@ -8,8 +8,8 @@ android {
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
flavorDimensions "default"
versionCode 153
versionName "1.5.3"
versionCode 155
versionName "1.5.5"
multiDexEnabled true
......
......@@ -171,9 +171,9 @@
<!-- QQ callback -->
<activity
android:name="com.tencent.tauth.AuthActivity"
android:screenOrientation="portrait"
android:launchMode="singleTask"
android:noHistory="true">
android:noHistory="true"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
......@@ -198,10 +198,10 @@
 
<activity
android:name=".MainActivity"
android:screenOrientation="portrait"
android:excludeFromRecents="true"
android:exported="true"
android:launchMode="singleTask">
android:launchMode="singleTask"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.VIEW"></action>
......@@ -247,8 +247,9 @@
<activity
android:name="com.rv.home.rv.module.ui.login.ConfirmPwdActivity"
android:screenOrientation="portrait" />
<activity android:name="com.rv.home.rv.module.ui.main.home.ShopShowActivity"
android:screenOrientation="portrait"/>
<activity
android:name="com.rv.home.rv.module.ui.main.home.ShopShowActivity"
android:screenOrientation="portrait" />
<provider
android:name="com.rv.home.rv.until.ApkFileProvider"
......@@ -339,8 +340,7 @@
<activity
android:name="com.base.utils.tools.exception.ExceptionCatchActivity"
android:launchMode="singleTask"
android:screenOrientation="landscape"
/> <!-- 异常捕捉 -->
android:screenOrientation="landscape" /> <!-- 异常捕捉 -->
<!-- 客户端常驻的服务 -->
<service
android:name="com.frame.base.server.MyFrameService"
......@@ -409,8 +409,9 @@
android:name="com.rv.camp.camp.CampShopShowActivity"
android:launchMode="singleTask"
android:screenOrientation="portrait" />
<activity android:name=".WakeUpActivity"
android:screenOrientation="portrait" >
<activity
android:name=".WakeUpActivity"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
......@@ -420,7 +421,8 @@
<data android:scheme="@string/share_install_scheme" />
</intent-filter>
</activity>
<activity android:name=".GuideActivity"
<activity
android:name=".GuideActivity"
android:screenOrientation="portrait" />
......
......@@ -38,7 +38,7 @@ public abstract class BaseWrapperFragment<P extends MvpPresenter> extends Suppor
protected static final int CODE_REQUEST_POISITION = 101010 ;
protected P mPresenter;
private LoadingDialog mLoadingDialog;
private View contentView;
public View contentView;
private Unbinder unbinder;
protected CompositeDisposable disposable;
private boolean isLoadData = false;
......
......@@ -2,7 +2,9 @@ package com.ruiwenliu.wrapper.dialog;
import android.app.Activity;
import android.content.Context;
import android.graphics.Rect;
import android.graphics.drawable.ColorDrawable;
import android.os.Build;
import android.support.annotation.NonNull;
import android.support.v4.content.ContextCompat;
import android.view.LayoutInflater;
......@@ -27,8 +29,10 @@ import java.lang.ref.WeakReference;
public abstract class BasePopupWindow extends PopupWindow implements OnViewHolder {
private WeakReference<Activity> viewReference; //MvpView的子类的弱引用
protected ViewHolder helper;
// public boolean canDismiss=false;
WindowManager.LayoutParams params;
// public boolean canDismiss=false;
public WindowManager.LayoutParams params;
public View view;
public BasePopupWindow(@NonNull Activity activity) {
viewReference = new WeakReference<>(activity);
......@@ -36,13 +40,13 @@ public abstract class BasePopupWindow extends PopupWindow implements OnViewHolde
setWidth(ViewGroup.LayoutParams.MATCH_PARENT);
setClippingEnabled(false);
setOutsideTouchable(false);
setTouchable(true);
setFocusable(false);
setBackgroundDrawable(new ColorDrawable(ContextCompat.getColor(getDialogContext(), R.color.gray_50ffffff)));
setContentView(getHelperView(null, getViewLayout(), this));
}
public abstract int getViewLayout();
/**
......@@ -54,7 +58,8 @@ public abstract class BasePopupWindow extends PopupWindow implements OnViewHolde
* @return
*/
protected View getHelperView(ViewGroup group, int layoutId, OnViewHolder listener) {
helper = new ViewHolder(LayoutInflater.from(getDialogContext()).inflate(layoutId, group, false));
view = LayoutInflater.from(getDialogContext()).inflate(layoutId, group, false);
helper = new ViewHolder(view);
if (listener != null) {
listener.helper(helper);
}
......@@ -62,8 +67,6 @@ public abstract class BasePopupWindow extends PopupWindow implements OnViewHolde
}
@Override
public void helper(ViewHolder helper) {
......@@ -84,15 +87,15 @@ public abstract class BasePopupWindow extends PopupWindow implements OnViewHolde
/**
* 关闭处理
*/
public void onDestroy(){
if(viewReference!=null){
public void onDestroy() {
if (viewReference != null) {
viewReference.clear();
viewReference=null;
viewReference = null;
}
dismiss();
}
public void closePopupWindow()
{
public void closePopupWindow() {
if (this.isShowing()) {
this.dismiss();
setBgShadow(1f);
......@@ -102,11 +105,11 @@ public abstract class BasePopupWindow extends PopupWindow implements OnViewHolde
/**
* 设置阴影
*/
public void setBgShadow(float alpha){
if(params==null){
params=getDialogContext().getWindow().getAttributes();
public void setBgShadow(float alpha) {
if (params == null) {
params = getDialogContext().getWindow().getAttributes();
}
params.alpha=alpha;
params.alpha = alpha;
getDialogContext().getWindow().setAttributes(params);
}
......
......@@ -43,6 +43,7 @@
<dimen name="size_130">130dp</dimen>
<dimen name="size_140">140dp</dimen>
<dimen name="size_150">150dp</dimen>
<dimen name="size_160">160dp</dimen>
<dimen name="size_170">170dp</dimen>
<dimen name="size_180">180dp</dimen>
<dimen name="size_190">190dp</dimen>
......
......@@ -8,6 +8,7 @@ buildscript {
maven {
url "http://mvn.mob.com/android"
}
maven {
url 'https://github.com/jitsi/jitsi-maven-repository/raw/master/releases'
}
......
......@@ -6,11 +6,13 @@ import android.os.Build;
import android.support.annotation.NonNull;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.Gravity;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.ruiwenliu.wrapper.dialog.BaseDialog;
import com.ruiwenliu.wrapper.dialog.BasePopupWindow;
import com.ruiwenliu.wrapper.util.ViewHolder;
import com.rv.component.dialog.adapter.OrderPriceDetailAdapter;
......@@ -22,16 +24,17 @@ import com.rv.component.dialog.bean.OrderPriceDetailBean;
* Desc:订单价格明细
*/
public class OrderPriceDetailPw extends BasePopupWindow{
public class OrderPriceDetailPw extends BaseDialog {
private OrderPriceDetailAdapter detailAdapter;
private TextView tvTitle;
public OrderPriceDetailPw(@NonNull Activity activity) {
super(activity);
setClippingEnabled(true);
setOutsideTouchable(true);
setFocusable(true);
setHeight(ViewGroup.LayoutParams.WRAP_CONTENT);
// setClippingEnabled(true);
// setOutsideTouchable(true);
// setFocusable(true);
// setHeight(ViewGroup.LayoutParams.WRAP_CONTENT);
setDialogParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT, Gravity.BOTTOM);
}
@Override
......
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:orientation="vertical"
android:layout_height="wrap_content"
android:gravity="bottom"
android:layout_height="wrap_content">
android:orientation="vertical">
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorWrite"
android:layout_height="wrap_content">
android:orientation="vertical">
<View
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="gone"
android:layout_weight="1"
android:background="@color/bgAlpha"
/>
android:visibility="gone" />
<TextView
android:id="@+id/tv_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="@dimen/size_15"
android:id="@+id/tv_title"
android:gravity="center"
android:padding="@dimen/size_15"
android:textColor="@color/textMain"
android:textSize="@dimen/text_16"
/>
<include layout="@layout/common_line"/>
<android.support.v7.widget.RecyclerView
android:textSize="@dimen/text_16" />
<include layout="@layout/common_line" />
<LinearLayout
android:layout_width="match_parent"
android:id="@+id/recyclerView"
android:layout_height="wrap_content"/>
android:layout_height="wrap_content"
android:maxHeight="@dimen/size_200">
<android.support.v7.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
......@@ -95,6 +95,12 @@ public class DateUtils {
*/
private static SimpleDateFormat sdf16 = new SimpleDateFormat("dd");
/**
* MM月dd日
*/
private static SimpleDateFormat sdf17 = new SimpleDateFormat("MM月dd日");
/**
* 将yyyy-MM-dd HH:mm:ss转换 Date
*
......@@ -515,6 +521,23 @@ public class DateUtils {
return day;
}
/**
* 将MM-dd格式成MM月dd日
*
* @param dateStr MM-dd
* @return MM月dd日
*/
public static String formatDate14(String dateStr) {
String day = "";
try {
Date date = sdf5.parse(dateStr);
day = sdf17.format(date);
} catch (Exception e) {
e.printStackTrace();
}
return day;
}
/**
* 将yyyy-MM-dd格式成yy-MM-dd
*
......@@ -731,7 +754,7 @@ public class DateUtils {
}
/**
*将yyyy-MM-dd HH:mm:ss格式成dd
* 将yyyy-MM-dd HH:mm:ss格式成dd
*
* @param dateStr yyyy-MM-dd HH:mm:ss
* @return dd
......@@ -908,4 +931,27 @@ public class DateUtils {
}
/**
* 秒转时分
* 28800 -> 08:00
* @param time
* @return
*/
public static String secToTime(long time) {
StringBuilder stringBuilder = new StringBuilder();
long hour = time / 3600;
long minute = time / 60 % 60;
// Integer second = time % 60;
if(hour<10){
stringBuilder.append("0");
}
stringBuilder.append(hour);
stringBuilder.append(":");
if(minute < 10){
stringBuilder.append("0");
}
stringBuilder.append(minute);
return stringBuilder.toString();
}
}
......@@ -38,8 +38,8 @@ android {
}
}
compileOptions {
sourceCompatibility = '1.8'
targetCompatibility = '1.8'
sourceCompatibility = "1.8"
targetCompatibility = "1.8"
}
}
......
......@@ -4,6 +4,7 @@ import android.content.ClipData;
import android.content.ClipboardManager;
import android.content.ComponentName;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.res.Configuration;
import android.os.Build;
......@@ -132,6 +133,12 @@ public class CarDetailActivity extends BaseStatusActivity<CommonPresenter> {
if (checkPriceDialog == null) {
checkPriceDialog = new CheckPriceDialog(mActivity);
checkPriceDialog.setOnDismissListener(new DialogInterface.OnDismissListener() {
@Override
public void onDismiss(DialogInterface dialog) {
mWebView.loadUrl("JavaScript:showDailyPriceJs()"); // Android调用h5
}
});
}
}
......@@ -332,6 +339,7 @@ public class CarDetailActivity extends BaseStatusActivity<CommonPresenter> {
}
private void initWeb() {
WebSettings webSettings = mWebView.getSettings();
if (webSettings == null) return;
......@@ -524,8 +532,8 @@ public class CarDetailActivity extends BaseStatusActivity<CommonPresenter> {
if (OkGoUtil.getToken() != null)
headMap.put("Authorization", OkGoUtil.getToken());
Map<String, Object> map = new LinkedHashMap<>();
map.put("start", DateUtils.formatDate16(begDate));
map.put("end", DateUtils.formatDate16(endDate));
map.put("start", begDate);
map.put("end", endDate);
mPresenter.getData(RvFrameConfig.HOST, 2, ApiConfig.HTTP_URL_CALENDAR_PRICE + mCarBean.getVehicleModel().getId(), CarRentalPriceBean.class, map, headMap, false);
}
}
......
......@@ -291,8 +291,8 @@ public class CarRentalListActivity extends BaseStatusActivity<CommonPresenter> i
if (OkGoUtil.getToken() != null)
headMap.put("Authorization", OkGoUtil.getToken());
Map<String, Object> map = new LinkedHashMap<>();
map.put("start", DateUtils.formatDate16(begDate));
map.put("end", DateUtils.formatDate16(endDate));
map.put("start", begDate);
map.put("end",endDate);
mPresenter.getData(RvFrameConfig.HOST, 2, ApiConfig.HTTP_URL_CALENDAR_PRICE + id, CarRentalPriceBean.class, map, headMap, true);
}
......@@ -496,7 +496,7 @@ public class CarRentalListActivity extends BaseStatusActivity<CommonPresenter> i
if (resultCode == 200 && requestCode == 109) {
begDate = data.getStringExtra("begDate");
endDate = data.getStringExtra("endDate");
copyDay = DateUtils.compareDateDay(endDate, begDate) + 1;
copyDay = getCountDay(begDate, endDate); //天数
tvGetDate.setText("取" + DateUtils.formatDate66(begDate));
tvOutDate.setText("还" + DateUtils.formatDate66(endDate));
dataBean.setDayNum(Integer.valueOf(copyDay + ""));
......@@ -518,6 +518,27 @@ public class CarRentalListActivity extends BaseStatusActivity<CommonPresenter> i
}
}
/**
* 计算天数
*
* @param endDate2
* @param begDate2
* @return
*/
private long getCountDay(String begDate2, String endDate2) {
long second = DateUtils.compareDateSecond3(endDate2, begDate2); //两个时间相差的秒数
long day = (long) second / 86400; //天数
long remainder = (long) second % 86400; //余数 秒
if (day == 0) { //不够24小时也算一天
day = day + 1;
} else if (remainder > 14400) { //4小时内天数不增加,否则加一
day = day + 1;
}
return day;
}
private void setRequestData(int type, String requestData, double lat, double lon, String compangy, int cityId, int companyId, String cityName) {
if (type == 1) {
tvGetAddress.setText(compangy);
......
......@@ -43,24 +43,26 @@ import com.ruiwenliu.wrapper.util.glide.GlideManager;
import com.ruiwenliu.wrapper.weight.TitleView;
import com.rv.component.control.FlowLayout;
import com.rv.component.control.SwitchButton;
import com.rv.component.dialog.OrderPriceDetailPw;
import com.rv.component.dialog.PaymentTypeSelection;
import com.rv.component.dialog.bean.OrderPriceDetailBean;
import com.rv.component.utils.DisplayUtil;
import com.rv.home.R;
import com.rv.home.R2;
import com.rv.home.rv.module.ApiConfig;
import com.rv.home.rv.module.ui.main.home.adapter.SelectedItemAdapter;
import com.rv.home.rv.module.ui.main.home.bean.CarRentalPriceBean;
import com.rv.home.rv.module.ui.main.home.bean.CarTypeListBean;
import com.rv.home.rv.module.ui.main.home.bean.ConfirmOrderBean;
import com.rv.home.rv.module.ui.main.home.bean.DrivingListBean;
import com.rv.home.rv.module.ui.main.home.bean.OrderAliPayBean;
import com.rv.home.rv.module.ui.main.home.bean.OrderCalendarPriceBean;
import com.rv.home.rv.module.ui.main.home.bean.OrderCarPriceDetailBean;
import com.rv.home.rv.module.ui.main.home.bean.OrderDataBean;
import com.rv.home.rv.module.ui.main.home.bean.OrderMemberBean;
import com.rv.home.rv.module.ui.main.home.bean.OrderPayBean;
import com.rv.home.rv.module.ui.main.home.bean.OrderPriceBean;
import com.rv.home.rv.module.ui.main.home.bean.SelectItemBean;
import com.rv.home.rv.module.ui.main.home.dialog.CheckPriceDialog;
import com.rv.home.rv.module.ui.main.home.dialog.OrderCarPriceDetailPw;
import com.rv.home.rv.module.ui.main.home.order.OrderListActivity;
import com.rv.home.rv.module.ui.main.home.other.SelectItemActivity;
import com.tencent.mm.opensdk.modelpay.PayReq;
......@@ -156,6 +158,9 @@ public class ConfirmOrderActivity extends BaseStatusActivity<CommonPresenter> {
EditText edtInviterPhone;
@BindView(R2.id.tv_mark)
TextView tvMark;
@BindView(R2.id.tv_day_price)
TextView tvDayPrice;
private final int TYPE_REQUEST_DRIVING = 3;
......@@ -166,8 +171,8 @@ public class ConfirmOrderActivity extends BaseStatusActivity<CommonPresenter> {
private CarTypeListBean.DataBeanX.DataBean mCarBean;
private DrivingListBean.DataBeanX.DataBean drivingListBean;
private int drivingType = 0;//驾驶证类型1、欣新驾驶员2、自驾
private OrderPriceDetailPw detailPw;//显示订单价格明细弹窗
private OrderPriceDetailBean orderPriceDetailBean;//订单价格明细实体类
private OrderCarPriceDetailPw detailPw;//显示订单价格明细弹窗
private OrderCarPriceDetailBean orderPriceDetailBean;//订单价格明细实体类
private IWXAPI api;
private int payType = 1;//选择支付类型
private OrderPriceBean priceBean;
......@@ -191,6 +196,12 @@ public class ConfirmOrderActivity extends BaseStatusActivity<CommonPresenter> {
private OrderMemberBean.DataBean memberData;
private OrderCalendarPriceBean calendarPriceBean;
private String begDate;
private String endDate;
private CheckPriceDialog checkPriceDialog;
private boolean isDayPrice;
public static Intent getIntent(Context context, OrderDataBean bean, CarTypeListBean.DataBeanX.DataBean carBean, String startTime, String endTime, OrderPriceBean beanPrice) {
return new Intent(context, ConfirmOrderActivity.class)
.putExtra("bean", bean)
......@@ -212,6 +223,8 @@ public class ConfirmOrderActivity extends BaseStatusActivity<CommonPresenter> {
dataBean = (OrderDataBean) intent.getSerializableExtra("bean");
mCarBean = (CarTypeListBean.DataBeanX.DataBean) intent.getSerializableExtra("carBean");
priceBean = (OrderPriceBean) intent.getSerializableExtra("priceBean");
begDate = getIntent().getStringExtra("startTime");
endDate = getIntent().getStringExtra("endTime");
intiView();
initRxBus();
......@@ -317,6 +330,21 @@ public class ConfirmOrderActivity extends BaseStatusActivity<CommonPresenter> {
getPayMoney();
// getOrderPrice();
break;
case 7:
checkPrice((CarRentalPriceBean) result);
break;
}
}
/**
* 设置价格日历
*
* @param result
*/
private void checkPrice(CarRentalPriceBean result) {
if (checkPriceDialog != null) {
checkPriceDialog.setNewData(result.getData());
checkPriceDialog.show();
}
}
......@@ -379,8 +407,8 @@ public class ConfirmOrderActivity extends BaseStatusActivity<CommonPresenter> {
@OnClick({R2.id.rl_goods, R2.id.tv_get_car_address, R2.id.tv_out_car_address, R2.id.iv_add_driving,
R2.id.tv_detail, R2.id.tv_confirm_order, R2.id.tv_delete, R2.id.rb_xin_driving, R2.id.ll_item_xin_driving,
R2.id.rb_user_driving, R2.id.tv_user_driving_hint, R2.id.tv_contract_agreement, R2.id.ll_item_service_fee, R2.id.ll_item_vehicle_cleaning_fee,
R2.id.tv_lab3, R2.id.tv_deposit_hint, R2.id.rl_item_privilege_service_hint, R2.id.tv_booking_instructions_hint, R2.id.rl_item_select_coupon,
R2.id.tv_item_caritem, R2.id.tv_item_select_caritem})
R2.id.tv_lab3, R2.id.tv_deposit_hint, R2.id.tv_booking_instructions_hint, R2.id.rl_item_select_coupon,
R2.id.tv_item_caritem, R2.id.tv_item_select_caritem, R2.id.tv_item_loook_price, R2.id.iv_lab3_hint})
public void onViewClicked(View view) {
int id = view.getId();
if (id == R.id.rl_goods) {
......@@ -452,13 +480,6 @@ public class ConfirmOrderActivity extends BaseStatusActivity<CommonPresenter> {
.withString("url", ApiConfig.HTTP_URL_CAR_TYPE_NOTICE)
.withInt("type", 4)
.navigation();
} else if (id == R.id.rl_item_privilege_service_hint) {
//尊享服务
ARouter.getInstance().build(Constance.ACTIVITY_URL_WEBVIEW)
.withString("title", "尊享服务")
.withString("url", ApiConfig.HTTP_URL_CAR_TYPE_NOTICE)
.withInt("type", 5)
.navigation();
} else if (id == R.id.tv_booking_instructions_hint) {
//预订须知
ARouter.getInstance().build(Constance.ACTIVITY_URL_WEBVIEW)
......@@ -485,6 +506,18 @@ public class ConfirmOrderActivity extends BaseStatusActivity<CommonPresenter> {
} else if (id == R.id.tv_item_select_caritem) {
//选择随车物品
startActivityForResult(SelectItemActivity.getIntent(mActivity, JSON.toJSONString(selectItem)), 134);
} else if (id == R.id.tv_item_loook_price) {
//查看每天价格
if (checkPriceDialog == null) {
checkPriceDialog = new CheckPriceDialog(mActivity);
}
getDailyPrice();
} else if (id == R.id.iv_lab3_hint) {
ARouter.getInstance().build(Constance.ACTIVITY_URL_WEBVIEW)
.withString("title", "车损免赔说明")
.withString("url", ApiConfig.HTTP_URL_CAR_TYPE_NOTICE)
.withInt("type", 5)
.navigation();
}
}
......@@ -510,7 +543,7 @@ public class ConfirmOrderActivity extends BaseStatusActivity<CommonPresenter> {
// }
if (tvPassengerKnow.isChecked() == false) {
showToast("请同意预定须知");
showToast("请阅读并同意《租车合同协议》");
return;
}
String inviterPhone = edtInviterPhone.getText().toString().trim();
......@@ -551,6 +584,18 @@ public class ConfirmOrderActivity extends BaseStatusActivity<CommonPresenter> {
}.show();
}
/**
* 获取价格日历
*/
public void getDailyPrice() {
Map<String, Object> headMap = new LinkedHashMap<>();
if (OkGoUtil.getToken() != null)
headMap.put("Authorization", OkGoUtil.getToken());
Map<String, Object> map = new LinkedHashMap<>();
map.put("start", begDate);
map.put("end", endDate);
mPresenter.getData(RvFrameConfig.HOST, 7, ApiConfig.HTTP_URL_CALENDAR_PRICE + mCarBean.getVehicleModel().getId(), CarRentalPriceBean.class, map, headMap, false);
}
/**
* 获取每天价格
......@@ -677,6 +722,7 @@ public class ConfirmOrderActivity extends BaseStatusActivity<CommonPresenter> {
tvActivityDay.setText(String.format("%1$s%2$s", dataBean.getDayNum(), mActivity.getString(R.string.rv_days)));
tvGetCarAddress.setText(dataBean.getStartAddr());
tvOutCarAddress.setText(dataBean.getEndAddr());
tvDayPrice.setText(String.format("¥%1$s%2$s", mCarBean.getVehicleModel().getPrice(), "/天起"));
// String spStringCode = UtilsManager.getInstance(OkGoUtil.application).getSPStringCode(SPConstance.USER_JSON, SPConstance.USER_JSON_USERINFO);
// if (!TextUtil.isEmpty(spStringCode)) {
......@@ -740,30 +786,42 @@ public class ConfirmOrderActivity extends BaseStatusActivity<CommonPresenter> {
});
}
/**
* 支付价格计算
*/
private void getPayMoney() {
if (priceBean == null || priceBean.getData() == null || dataBean == null || calendarPriceBean == null || calendarPriceBean.getData() == null) {
if (priceBean == null || priceBean.getData() == null || dataBean == null || calendarPriceBean == null || calendarPriceBean.getData() == null || calendarPriceBean.getData().size() <= 0) {
return;
}
ArrayList<OrderPriceDetailBean.ChildrenBean> childrenBeanList = new ArrayList<>(); //费用明细
ArrayList<OrderCarPriceDetailBean.ChildrenBean> childrenBeanList = new ArrayList<>(); //费用明细
double payMoney = 0.00;
// double dayPrice = mCarBean.getVehicleModel().getSum();
double totalCarPrice = 0.00; //租车总价
double totalMemberDays = 0; //会员天数
for (int i = 0; i < calendarPriceBean.getData().size(); i++) {
totalCarPrice = totalCarPrice + calendarPriceBean.getData().get(i).getPrice();
totalMemberDays = totalMemberDays + calendarPriceBean.getData().get(i).getFreeDays();
}
int dayNum = dataBean.getDayNum();
double onePrice = calendarPriceBean.getData().get(0).getPrice();//取第一天价格,比较全部价格是否相同
for (int i = 0; i < calendarPriceBean.getData().size(); i++) {
if (onePrice != calendarPriceBean.getData().get(i).getPrice()) {
isDayPrice = true;
break;
}
}
int dayNum = this.dataBean.getDayNum();
OrderPriceDetailBean.ChildrenBean childrenBean2 = new OrderPriceDetailBean.ChildrenBean();
OrderCarPriceDetailBean.ChildrenBean childrenBean2 = new OrderCarPriceDetailBean.ChildrenBean();
childrenBean2.setKey("车辆租赁费");
childrenBean2.setDetail(dayNum + "天");
childrenBean2.setVal("¥" + new BigDecimal(totalCarPrice).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue());
childrenBean2.setDataBean(calendarPriceBean.getData());
childrenBean2.setDayPrice(isDayPrice);
childrenBeanList.add(childrenBean2);
if (isMemberType == 0) { //是否使用会员 0 不使用
......@@ -775,23 +833,23 @@ public class ConfirmOrderActivity extends BaseStatusActivity<CommonPresenter> {
if (totalMemberDays > memberData.getRentFreeDays()) { //个人会员天数小于租车使用会员天数
double useTotalMemberPrice = 0.00;
double useTotalMemberDays = 0;
double memberPrice = 0;
for (int j = 0; j < calendarPriceBean.getData().size(); j++) {
if (useTotalMemberDays < memberData.getRentFreeDays()) {
useTotalMemberDays = useTotalMemberDays + calendarPriceBean.getData().get(j).getFreeDays();
useTotalMemberPrice = useTotalMemberPrice + calendarPriceBean.getData().get(j).getPrice();
memberPrice = calendarPriceBean.getData().get(j).getPrice() / calendarPriceBean.getData().get(j).getFreeDays(); //计算最后使用会员单价
} else {
double memberPrice = calendarPriceBean.getData().get(j - 1).getPrice() / calendarPriceBean.getData().get(j - 1).getFreeDays(); //计算最后使用会员单价
useTotalMemberPrice = useTotalMemberPrice - (useTotalMemberDays - memberData.getRentFreeDays()) * memberPrice;
break;
}
}
useTotalMemberPrice = useTotalMemberPrice - (useTotalMemberDays - memberData.getRentFreeDays()) * memberPrice;
payMoney = totalCarPrice - useTotalMemberPrice + priceBean.getData().getDeposit();
carAmount = totalCarPrice - useTotalMemberPrice;
// payMoney = dayPrice * (dayNum - memberData.getRentFreeDays()) + priceBean.getData().getDeposit();
OrderPriceDetailBean.ChildrenBean childrenBean1 = new OrderPriceDetailBean.ChildrenBean();
OrderCarPriceDetailBean.ChildrenBean childrenBean1 = new OrderCarPriceDetailBean.ChildrenBean();
childrenBean1.setKey("免费天数");
childrenBean1.setDetail("会员天数" + (memberData.getRentFreeDays()) + "天");
childrenBean1.setVal("-¥" + new BigDecimal(useTotalMemberPrice).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue());
......@@ -800,7 +858,7 @@ public class ConfirmOrderActivity extends BaseStatusActivity<CommonPresenter> {
payMoney = priceBean.getData().getDeposit();
carAmount = 0;
OrderPriceDetailBean.ChildrenBean childrenBean1 = new OrderPriceDetailBean.ChildrenBean();
OrderCarPriceDetailBean.ChildrenBean childrenBean1 = new OrderCarPriceDetailBean.ChildrenBean();
childrenBean1.setKey("免费天数");
childrenBean1.setDetail("会员天数" + totalMemberDays + "天");
childrenBean1.setVal("-¥" + new BigDecimal(totalCarPrice).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue());
......@@ -810,7 +868,7 @@ public class ConfirmOrderActivity extends BaseStatusActivity<CommonPresenter> {
}
if (drivingType == 1) {
payMoney = payMoney + priceBean.getData().getDriverAmount(); // + 专职司机
OrderPriceDetailBean.ChildrenBean childrenBean3 = new OrderPriceDetailBean.ChildrenBean();
OrderCarPriceDetailBean.ChildrenBean childrenBean3 = new OrderCarPriceDetailBean.ChildrenBean();
childrenBean3.setKey("专职司机服务费");
childrenBean3.setDetail("¥" + priceBean.getData().getDriverPrice() + "/天 *" + dayNum + "天");
childrenBean3.setVal("¥" + priceBean.getData().getDriverAmount());
......@@ -820,7 +878,7 @@ public class ConfirmOrderActivity extends BaseStatusActivity<CommonPresenter> {
if (deductiblePriceType == 1) {
payMoney = payMoney + priceBean.getData().getDamageSafePrice() * dayNum; //+免赔付价格
OrderPriceDetailBean.ChildrenBean childrenBean4 = new OrderPriceDetailBean.ChildrenBean();
OrderCarPriceDetailBean.ChildrenBean childrenBean4 = new OrderCarPriceDetailBean.ChildrenBean();
childrenBean4.setKey("车损免赔费");
childrenBean4.setDetail("¥" + priceBean.getData().getDamageSafePrice() + "/天 *" + dayNum + "天");
childrenBean4.setVal("¥" + new BigDecimal(priceBean.getData().getDamageSafePrice() * dayNum).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue());
......@@ -835,16 +893,16 @@ public class ConfirmOrderActivity extends BaseStatusActivity<CommonPresenter> {
tvPayMoney.setText(String.format("¥%1$s", new BigDecimal(payMoney).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue()));
orderPriceDetailBean = new OrderPriceDetailBean();
orderPriceDetailBean = new OrderCarPriceDetailBean();
orderPriceDetailBean.setKey("费用明细");
OrderPriceDetailBean.ChildrenBean childrenBean = new OrderPriceDetailBean.ChildrenBean();
OrderCarPriceDetailBean.ChildrenBean childrenBean = new OrderCarPriceDetailBean.ChildrenBean();
childrenBean.setKey("租房车押金");
childrenBean.setVal("¥" + new BigDecimal(priceBean.getData().getDeposit()).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue());
childrenBeanList.add(childrenBean);
if (couponAmount > 0) {
OrderPriceDetailBean.ChildrenBean childrenBean5 = new OrderPriceDetailBean.ChildrenBean();
OrderCarPriceDetailBean.ChildrenBean childrenBean5 = new OrderCarPriceDetailBean.ChildrenBean();
childrenBean5.setKey("优惠券");
childrenBean5.setVal("-¥" + couponAmount);
childrenBeanList.add(childrenBean5);
......@@ -880,40 +938,37 @@ public class ConfirmOrderActivity extends BaseStatusActivity<CommonPresenter> {
* 显示价格明细弹窗
*/
private void showOrderDetail(final View view) {
if (orderPriceDetailBean != null) {
if (detailPw == null) {
detailPw = new OrderPriceDetailPw(mActivity) {
detailPw = new OrderCarPriceDetailPw(mActivity) {
};
}
if (detailPw != null) {
detailPw.setNewData(orderPriceDetailBean);
View contentView = detailPw.getContentView();
detailPw.show();
}
/* View contentView = detailPw.getContentView();
//需要先测量,PopupWindow还未弹出时,宽高为0
contentView.measure(makeDropDownMeasureSpec(detailPw.getWidth()), makeDropDownMeasureSpec(detailPw.getHeight()));
// int[] location = new int[2];
//
// view.getLocationOnScreen(location);
// int hh=location[1]-detailPw.getHeight();
// detailPw.showAtLocation(view, Gravity.NO_GRAVITY,
// location[0], hh);
detailPw.setHeight(detailPw.getContentView().getMeasuredHeight());
// detailPw.showAsDropDown(view, 0,0, Gravity.NO_GRAVITY);
// int kk=detailPw.getContentView().getMeasuredHeight();
// int cc=view.getHeight();
int offsetX = Math.abs(detailPw.getContentView().getMeasuredWidth() - view.getWidth()) / 2;
int offsetY = -(detailPw.getContentView().getMeasuredHeight() + view.getHeight());
PopupWindowCompat.showAsDropDown(detailPw, view, offsetX, offsetY, Gravity.START);
PopupWindowCompat.showAsDropDown(detailPw, view, offsetX, offsetY, Gravity.START);*/
/**
* 点击popupWindow让背景变暗
*/
final WindowManager.LayoutParams lp = getWindow().getAttributes();
/* final WindowManager.LayoutParams lp = getWindow().getAttributes();
lp.alpha = 0.5f;//代表透明程度,范围为0 - 1.0f
getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
getWindow().setAttributes(lp);
/**
*//**
* 退出popupWindow时取消暗背景
*/
*//*
detailPw.setOnDismissListener(new PopupWindow.OnDismissListener() {
@Override
public void onDismiss() {
......@@ -921,10 +976,11 @@ public class ConfirmOrderActivity extends BaseStatusActivity<CommonPresenter> {
getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
getWindow().setAttributes(lp);
}
});
});*/
}
}
@SuppressWarnings("ResourceType")
private int makeDropDownMeasureSpec(int measureSpec) {
int mode;
......
......@@ -14,13 +14,16 @@ import android.os.Build;
import android.os.Bundle;
import android.provider.Settings;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.StaggeredGridLayoutManager;
import android.text.TextUtils;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewTreeObserver;
import android.widget.ImageView;
import android.widget.LinearLayout;
......@@ -92,6 +95,7 @@ import java.util.List;
import java.util.Map;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import butterknife.Unbinder;
......@@ -99,7 +103,6 @@ import butterknife.Unbinder;
* 首页
*/
public class HomeFragment extends BaseFragment<HomePresenter> implements ObservableScrollView.ScrollViewListener, SimpleRefreshLayout.OnSimpleRefreshListener, GpsManager.GpsChangeListener {
Unbinder unbinder;
@BindView(R2.id.ll_layout_home_renting_a_car)
LinearLayout llLayoutRentingACar;
@BindView(R2.id.ll_layout_home_rv_tour)
......@@ -186,6 +189,7 @@ public class HomeFragment extends BaseFragment<HomePresenter> implements Observa
ImageView ivTravelCityTextHint;
@BindView(R2.id.iv_home_search_input_hint)
ImageView ivSearchInputHint;
Unbinder unbinder1;
private ArrayList<String> images = new ArrayList<>(); //图片(默认采用网络地址)
......@@ -228,8 +232,8 @@ public class HomeFragment extends BaseFragment<HomePresenter> implements Observa
private double travelCityLatitude = 0;//头城市
private double travelCityLongitude = 0;
private String begDate;
private String endDate;
private String begDate = "";
private String endDate = "";
private String hotType = "2";
......@@ -267,7 +271,6 @@ public class HomeFragment extends BaseFragment<HomePresenter> implements Observa
mSimpleRefreshLayout.setOnSimpleRefreshListener(this);
permissionProcess();
setBanner();
Drawable drawable = getResources().getDrawable(R.drawable.icon_day_times);
drawable.setBounds(0, 0, DisplayUtil.dip2px(getContext(), 25), DisplayUtil.dip2px(getContext(), 5));
tvDay.setCompoundDrawables(null, null, null, drawable);
......@@ -493,7 +496,6 @@ public class HomeFragment extends BaseFragment<HomePresenter> implements Observa
}
public class AbSpacesItemDecoration extends RecyclerView.ItemDecoration {
private int space;
public AbSpacesItemDecoration(int space) {
......@@ -966,6 +968,19 @@ public class HomeFragment extends BaseFragment<HomePresenter> implements Observa
permissionProcess();
return;
}
List<Fragment> fragments = getChildFragmentManager().getFragments();
ArrayList<HomeFragment> list = new ArrayList<>();
if (fragments == null || fragments.isEmpty()) {
list.add(HomeFragment.getInstance(0));
} else {
for (Fragment fragment : fragments) {
if (fragment instanceof HomeFragment) {
list.add((HomeFragment) fragment);
}
}
}
if (resultCode == RESULT_OK) {
int type = data.getIntExtra("type", 1);
String requestData = data.getStringExtra("location");
......
package com.rv.home.rv.module.ui.main.home.adapter;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.Display;
import android.view.View;
import android.view.ViewGroup;
import android.view.WindowManager;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import com.rv.home.R;
import com.rv.home.rv.module.ui.main.home.bean.OrderCarPriceBean;
import com.rv.home.rv.module.ui.main.home.bean.OrderCarPriceDetailBean;
import com.rv.home.rv.module.ui.main.home.dialog.OrderCarPriceDetailPw;
import java.util.List;
/**
* 租车订单价格明细
*/
public class OrderCarPriceDetailAdapter extends BaseQuickAdapter<OrderCarPriceDetailBean.ChildrenBean, BaseViewHolder> {
private OrderDayCarPriceDetailAdapter adapter;
private boolean type;
public OrderCarPriceDetailAdapter() {
super(R.layout.rv_item_order_car_price_detail);
}
@Override
protected void convert(BaseViewHolder helper, OrderCarPriceDetailBean.ChildrenBean item) {
helper.setText(R.id.tv_name, item.getKey());
helper.setText(R.id.tv_price, item.getVal());
if ("优惠券".equals(item.getKey())) {
helper.setTextColor(R.id.tv_name, helper.itemView.getContext().getResources().getColor(R.color.colorAuxiliaryRed));
helper.setTextColor(R.id.tv_price, helper.itemView.getContext().getResources().getColor(R.color.colorAuxiliaryRed));
} else {
helper.setTextColor(R.id.tv_name, helper.itemView.getContext().getResources().getColor(R.color.textMain));
helper.setTextColor(R.id.tv_price, helper.itemView.getContext().getResources().getColor(R.color.textMain));
}
RecyclerView rvDayPrice = helper.getView(R.id.rv_dayprice);
rvDayPrice.setLayoutManager(new LinearLayoutManager(helper.itemView.getContext()));
adapter = new OrderDayCarPriceDetailAdapter();
rvDayPrice.setAdapter(adapter);
List<OrderCarPriceBean> dataBean = item.getDataBean();
if (dataBean != null && dataBean.size() > 0) {
if (item.isDayPrice()) {
helper.setText(R.id.tv_attr, item.getDetail());
helper.setGone(R.id.iv_hint, true);
adapter.setNewData(dataBean);
helper.setOnClickListener(R.id.ll_item_isshow_dayprice, new View.OnClickListener() {
@Override
public void onClick(View v) {
if (!type) {
rvDayPrice.setVisibility(View.VISIBLE);
} else {
rvDayPrice.setVisibility(View.GONE);
}
type = !type;
}
});
} else {
helper.setGone(R.id.iv_hint, false);
double price = dataBean.get(0).getPrice();
helper.setText(R.id.tv_attr, price + "/天*" + item.getDetail());
}
} else {
helper.setGone(R.id.iv_hint, false);
helper.setText(R.id.tv_attr, item.getDetail());
}
if (!type) {
rvDayPrice.setVisibility(View.GONE);
}
}
public void setType(boolean b) {
type = b;
}
}
package com.rv.home.rv.module.ui.main.home.adapter;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import com.rv.component.utils.DateUtils;
import com.rv.home.R;
import com.rv.home.rv.module.ui.main.home.bean.OrderCarPriceBean;
/**
* 租车订单价格明细
*/
public class OrderDayCarPriceDetailAdapter extends BaseQuickAdapter<OrderCarPriceBean, BaseViewHolder> {
public OrderDayCarPriceDetailAdapter() {
super(R.layout.rv_item_order_day_car_price_detail);
}
@Override
protected void convert(BaseViewHolder helper, OrderCarPriceBean item) {
helper.setText(R.id.tv_date, DateUtils.formatDate14(DateUtils.formatDate11(item.getDate())));
helper.setText(R.id.tv_price, "¥" + item.getPrice());
}
}
......@@ -12,14 +12,14 @@ import java.util.List;
public class OrderCalendarPriceBean extends BaseBean implements Serializable {
private List<DataBean> data;
private List<OrderCarPriceBean> data;
private boolean rel;
public List<DataBean> getData() {
public List<OrderCarPriceBean> getData() {
return data;
}
public void setData(List<DataBean> data) {
public void setData(List<OrderCarPriceBean> data) {
this.data = data;
}
......@@ -30,44 +30,4 @@ public class OrderCalendarPriceBean extends BaseBean implements Serializable {
public void setRel(boolean rel) {
this.rel = rel;
}
public static class DataBean implements Serializable {
private String date;
private double price;
private double no_discount_price;
private double freeDays;
public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public double getNo_discount_price() {
return no_discount_price;
}
public void setNo_discount_price(double no_discount_price) {
this.no_discount_price = no_discount_price;
}
public double getFreeDays() {
return freeDays;
}
public void setFreeDays(double freeDays) {
this.freeDays = freeDays;
}
}
}
package com.rv.home.rv.module.ui.main.home.bean;
public class OrderCarPriceBean {
private String date;
private double price;
private double no_discount_price;
private double freeDays;
public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public double getNo_discount_price() {
return no_discount_price;
}
public void setNo_discount_price(double no_discount_price) {
this.no_discount_price = no_discount_price;
}
public double getFreeDays() {
return freeDays;
}
public void setFreeDays(double freeDays) {
this.freeDays = freeDays;
}
}
package com.rv.home.rv.module.ui.main.home.bean;
import java.util.List;
/**
* Desc:租车订单价格明细
*/
public class OrderCarPriceDetailBean {
/**
* key : 费用明细
* val :
* children : [{"key":"车辆租赁费","detail":"¥35000.01/天×2天","val":"¥70000.02"},{"key":"专职司机服务费","detail":"¥600.00×1人×2天","val":"¥1200.00"},{"key":"租房车押金","detail":"","val":"¥20000.00"}]
*/
private String key;
private String val;
private List<ChildrenBean> children;
public String getKey() {
return key;
}
public void setKey(String key) {
this.key = key;
}
public String getVal() {
return val;
}
public void setVal(String val) {
this.val = val;
}
public List<ChildrenBean> getChildren() {
return children;
}
public void setChildren(List<ChildrenBean> children) {
this.children = children;
}
public static class ChildrenBean {
/**
* key : 车辆租赁费
* detail : ¥35000.01/天×2天
* val : ¥70000.02
*/
private String key;
private String detail;
private String val;
private boolean isDayPrice;
private List<OrderCarPriceBean> dataBean;
public String getKey() {
return key;
}
public void setKey(String key) {
this.key = key;
}
public String getDetail() {
return detail;
}
public void setDetail(String detail) {
this.detail = detail;
}
public String getVal() {
return val;
}
public void setVal(String val) {
this.val = val;
}
public boolean isDayPrice() {
return isDayPrice;
}
public void setDayPrice(boolean dayPrice) {
isDayPrice = dayPrice;
}
public List<OrderCarPriceBean> getDataBean() {
return dataBean;
}
public void setDataBean(List<OrderCarPriceBean> dataBean) {
this.dataBean = dataBean;
}
}
}
package com.rv.home.rv.module.ui.main.home.dialog;
import android.app.Activity;
import android.support.annotation.NonNull;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.util.DisplayMetrics;
import android.view.Gravity;
import android.view.View;
import android.view.ViewGroup;
import android.view.WindowManager;
import android.widget.FrameLayout;
import android.widget.LinearLayout;
import android.widget.PopupWindow;
import android.widget.TextView;
import com.ruiwenliu.wrapper.dialog.BaseDialog;
import com.ruiwenliu.wrapper.dialog.BasePopupWindow;
import com.ruiwenliu.wrapper.util.ViewHolder;
import com.rv.component.utils.DisplayUtil;
import com.rv.home.R;
import com.rv.home.rv.module.ui.main.home.adapter.OrderCarPriceDetailAdapter;
import com.rv.home.rv.module.ui.main.home.bean.OrderCarPriceDetailBean;
/**
* Desc:租车订单价格明细
*/
//public class OrderCarPriceDetailPw extends BasePopupWindow {
public class OrderCarPriceDetailPw extends BaseDialog {
private final Activity activity;
private OrderCarPriceDetailAdapter detailAdapter;
private TextView tvTitle;
public OrderCarPriceDetailPw(@NonNull Activity activity) {
super(activity);
this.activity = activity;
// setClippingEnabled(true);
// setOutsideTouchable(true);
// setFocusable(true);
// setHeight(ViewGroup.LayoutParams.WRAP_CONTENT);
setDialogParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT, Gravity.BOTTOM);
// WindowManager wm = (WindowManager) activity.getSystemService(activity.WINDOW_SERVICE);
// DisplayMetrics metrics = new DisplayMetrics();
// wm.getDefaultDisplay().getMetrics(metrics);
// if (metrics.heightPixels < DisplayUtil.dip2px(activity, 450)) {
// setDialogParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT, Gravity.BOTTOM);
//
// } else {
// setDialogParams(ViewGroup.LayoutParams.MATCH_PARENT, DisplayUtil.dip2px(activity, 450), Gravity.BOTTOM);
// }
}
@Override
public int getViewLayout() {
return R.layout.rv_pw_order_price_detail;
}
@Override
public void helper(ViewHolder helper) {
super.helper(helper);
tvTitle = helper.getView(R.id.tv_title);
RecyclerView recyclerView = helper.getView(R.id.recyclerView);
recyclerView.setLayoutManager(new LinearLayoutManager(getDialogContext()));
detailAdapter = new OrderCarPriceDetailAdapter();
recyclerView.setAdapter(detailAdapter);
}
public void setNewData(OrderCarPriceDetailBean bean) {
if (detailAdapter != null && bean != null) {
tvTitle.setText(bean.getKey());
detailAdapter.setNewData(bean.getChildren());
}
}
@Override
public void dismiss() {
detailAdapter.setType(false);
super.dismiss();
}
// @Override
// public void showAsDropDown(View parent, int xoff, int yoff, int gravity) {
// if (Build.VERSION.SDK_INT >= 24) {
// Rect visibleFrame = new Rect();
// parent.getGlobalVisibleRect(visibleFrame);
// int height = parent.getResources().getDisplayMetrics().heightPixels - visibleFrame.bottom;
//// int height = anchor.getResources().getDisplayMetrics().heightPixels;
// setHeight(height);
// }
// super.showAsDropDown(parent, xoff, yoff, gravity);
// }
}
......@@ -203,7 +203,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:text="2019-22"
android:text=""
android:textColor="@color/colorMain"
android:textSize="@dimen/text_12" />
......@@ -211,7 +211,7 @@
android:id="@+id/tv_home_get_week"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="周三"
android:text=""
android:textColor="@color/textGray"
android:textSize="@dimen/text_12" />
</LinearLayout>
......@@ -228,7 +228,7 @@
android:layout_centerHorizontal="true"
android:drawableBottom="@drawable/icon_day_times"
android:gravity="center"
android:text="3天"
android:text=""
android:textSize="@dimen/text_14" />
</RelativeLayout>
......@@ -265,7 +265,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:text="2019-22"
android:text=""
android:textColor="@color/colorMain"
android:textSize="@dimen/text_12" />
......@@ -273,7 +273,7 @@
android:id="@+id/tv_home_out_week"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="周五"
android:text=""
android:textColor="@color/textGray"
android:textSize="@dimen/text_12" />
</LinearLayout>
......
......@@ -23,8 +23,9 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorWrite"
android:padding="@dimen/size_15"
android:paddingTop="@dimen/size_15">
android:paddingLeft="@dimen/size_15"
android:paddingTop="@dimen/size_15"
android:paddingRight="@dimen/size_15">
<ImageView
android:id="@+id/iv_goods"
......@@ -105,12 +106,57 @@
</LinearLayout>
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorWrite"
android:paddingLeft="@dimen/size_160"
android:paddingRight="@dimen/size_15">
<include layout="@layout/common_line" />
</RelativeLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorWrite"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="@dimen/size_50"
android:layout_marginLeft="@dimen/size_15"
android:layout_marginRight="@dimen/size_15"
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:id="@+id/tv_day_price"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text=""
android:textColor="@color/colorAuxiliaryRed"
android:textSize="@dimen/text_14"
android:textStyle="bold" />
<TextView
android:id="@+id/tv_item_loook_price"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableRight="@drawable/rv_common_icon_up_arrow"
android:drawablePadding="@dimen/size_5"
android:paddingLeft="@dimen/size_30"
android:paddingTop="@dimen/size_10"
android:paddingBottom="@dimen/size_10"
android:text="每日价格"
android:textColor="@color/text_Main"
android:textSize="@dimen/text_12" />
</LinearLayout>
<include layout="@layout/common_line" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="@dimen/size_50"
......@@ -342,7 +388,8 @@
android:drawableRight="@drawable/common_icon_rig_gray"
android:drawablePadding="@dimen/size_5"
android:textColor="@color/text_Gray"
android:textSize="@dimen/text_10" />
android:textSize="@dimen/text_10"
android:visibility="gone" />
</RelativeLayout>
<include layout="@layout/common_line" />
......@@ -449,25 +496,41 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorWrite"
android:padding="@dimen/size_15">
android:paddingLeft="@dimen/size_15"
android:paddingRight="@dimen/size_15">
<CheckBox
android:id="@+id/tv_lab3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_weight="1"
android:button="@drawable/selector_rv_check"
android:paddingLeft="@dimen/size_10"
android:text="不计免赔服务"
android:paddingTop="@dimen/size_15"
android:paddingBottom="@dimen/size_15"
android:text="车损免赔"
android:textColor="@color/colorMain"
android:textSize="@dimen/text_14" />
<ImageView
android:id="@+id/iv_lab3_hint"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toRightOf="@+id/tv_lab3"
android:paddingLeft="@dimen/size_5"
android:paddingTop="@dimen/size_15"
android:paddingRight="@dimen/size_25"
android:paddingBottom="@dimen/size_15"
android:src="@drawable/rv_common_icon_notice" />
<TextView
android:id="@+id/tv_car_not_hurt_money"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_weight="1"
android:text="¥0/日"
android:textColor="@color/colorBg"
......@@ -513,7 +576,7 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="(剩余1天)"
android:text=""
android:textColor="@color/textGray"
android:textSize="@dimen/text_12" />
......@@ -549,9 +612,9 @@
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:text="暂无优惠券"
android:drawableRight="@drawable/common_icon_rig_gray"
android:drawablePadding="@dimen/size_5"
android:text="暂无优惠券"
android:textColor="@color/gray_FFB74B"
android:textSize="@dimen/text_14" />
</RelativeLayout>
......@@ -792,12 +855,12 @@
<RelativeLayout
android:visibility="gone"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/size_15"
android:background="@color/colorWrite"
android:padding="@dimen/size_15">
android:padding="@dimen/size_15"
android:visibility="gone">
<TextView
android:layout_width="wrap_content"
......@@ -809,8 +872,6 @@
android:textSize="@dimen/text_16" />
<EditText
android:inputType="phone"
android:maxLength="11"
android:id="@+id/edt_inviter_phone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
......@@ -819,6 +880,8 @@
android:background="@color/colorWrite"
android:gravity="center_vertical"
android:hint="请输入邀请人手机号"
android:inputType="phone"
android:maxLength="11"
android:textColor="@color/text_Gray"
android:textSize="@dimen/text_12" />
</RelativeLayout>
......@@ -834,9 +897,8 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:button="@drawable/selector_rv_check"
android:checked="true"
android:paddingLeft="@dimen/size_10"
android:text="@string/rv_passenger_security"
android:text="已阅读并同意"
android:textColor="@color/textLightGrey"
android:textSize="@dimen/text_14" />
......@@ -844,7 +906,7 @@
android:id="@+id/tv_contract_agreement"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/rv_contract_agreement"
android:text="《租车合同协议》"
android:textColor="@color/gray_FFB74B"
android:textSize="@dimen/text_16" />
</LinearLayout>
......
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorWrite"
android:orientation="vertical"
android:paddingLeft="@dimen/size_15"
android:paddingRight="@dimen/size_15">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingTop="@dimen/size_8"
android:paddingBottom="@dimen/size_8">
<LinearLayout
android:id="@+id/ll_item_isshow_dayprice"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:id="@+id/tv_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
android:textColor="@color/textMain"
android:textSize="@dimen/text_14" />
<ImageView
android:id="@+id/iv_hint"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone"
android:layout_marginLeft="@dimen/size_5"
android:src="@drawable/rv_common_icon_notice" />
</LinearLayout>
<TextView
android:id="@+id/tv_attr"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:text=""
android:textColor="@color/textLightGrey"
android:textSize="@dimen/text_14" />
<TextView
android:id="@+id/tv_price"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="right"
android:text=""
android:textColor="@color/textMain"
android:textSize="@dimen/text_14" />
</LinearLayout>
<android.support.v7.widget.RecyclerView
android:id="@+id/rv_dayprice"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="gone" />
</LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorWrite"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingTop="@dimen/size_3"
android:paddingBottom="@dimen/size_3">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text=""
android:textColor="@color/textMain"
android:textSize="@dimen/text_14" />
<TextView
android:id="@+id/tv_date"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:text=""
android:textColor="@color/textLightGrey"
android:textSize="@dimen/text_14" />
<TextView
android:id="@+id/tv_price"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="right"
android:textColor="@color/textMain"
android:textSize="@dimen/text_14" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="@dimen/size_half"
android:orientation="horizontal">
<View
android:layout_width="0dp"
android:layout_height="@dimen/size_half"
android:layout_weight="1" />
<View
android:layout_width="0dp"
android:layout_height="@dimen/size_half"
android:layout_weight="2"
android:background="@color/colorLine" />
</LinearLayout>
</LinearLayout>
......@@ -17,8 +17,7 @@
android:layout_marginLeft="@dimen/size_15"
android:layout_marginTop="@dimen/size_10"
android:layout_marginBottom="@dimen/size_10"
android:scaleType="centerCrop"
android:src="@drawable/aa_ivava" />
android:scaleType="centerCrop" />
<LinearLayout
android:layout_width="match_parent"
......
......@@ -16,8 +16,7 @@
android:layout_width="@dimen/size_120"
android:layout_height="@dimen/size_80"
android:layout_marginLeft="@dimen/size_15"
android:scaleType="centerCrop"
android:src="@drawable/aa_ivava" />
android:scaleType="centerCrop" />
<RelativeLayout
android:layout_width="match_parent"
......
......@@ -235,7 +235,7 @@ public class BeanTourDetailData extends BaseBean {
private String provinceName;//": "广东省",
private String city;//": 441900,
private String cityName;//": "东莞市",
private String departTime;//": 30600,
private long departTime;//": 30600,
private String longitude;//": 113.9069685,
private String latitude;//": 23.0056826,
private String type;//": 0,
......@@ -313,11 +313,11 @@ public class BeanTourDetailData extends BaseBean {
this.cityName = cityName;
}
public String getDepartTime() {
public long getDepartTime() {
return departTime;
}
public void setDepartTime(String departTime) {
public void setDepartTime(long departTime) {
this.departTime = departTime;
}
......
......@@ -14,6 +14,7 @@ import android.widget.Toast;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.ruiwenliu.wrapper.dialog.BaseDialog;
import com.ruiwenliu.wrapper.util.ViewHolder;
import com.rv.component.utils.DateUtils;
import com.rv.component.utils.DisplayUtil;
import com.rv.tourism.R;
import com.rv.tourism.adapter.TravelBookingDepartureAdapter;
......@@ -130,7 +131,7 @@ public class TravelBookingDialog extends BaseDialog {
List<BeanTourDetailData.DataBeanX.TourDepartVo> endDeparture = bean.getEndDeparture();
if (listener != null && bean != null && endDeparture != null && tourDepartTimeVo != null && tourDepartVo != null) {
BeanOrderParam beanOrderParam = new BeanOrderParam();
beanOrderParam.setEndTime(tourDepartTimeVo.getEndTime());
beanOrderParam.setEndTime(tourDepartTimeVo.getEndTime() + " " + DateUtils.secToTime(tourDepartVo.getDepartTime()));
beanOrderParam.setGoodId(bean.getId());
beanOrderParam.setPrice(bean.getPrice());
beanOrderParam.setChildPrice(bean.getChildPrice());
......@@ -142,7 +143,7 @@ public class TravelBookingDialog extends BaseDialog {
beanOrderParam.setEndAddr(endDeparture.get(0).getAddress());
beanOrderParam.setStartAddr(tourDepartVo.getProvinceName() + tourDepartVo.getCityName() + tourDepartVo.getAddress());
beanOrderParam.setStartTime(tourDepartTimeVo.getStartTime());
beanOrderParam.setStartTime(tourDepartTimeVo.getStartTime() + " " + DateUtils.secToTime(tourDepartVo.getDepartTime()));
beanOrderParam.setStartCompanyId(tourDepartVo.getCompanyId());
beanOrderParam.setStartCompanyName(tourDepartVo.getName());
beanOrderParam.setSiteId(tourDepartVo.getId());
......
......@@ -145,7 +145,7 @@ public class TravelerConfirmOrderActivity extends BaseStatusActivity<TourismPres
private double couponAmount = 0; //优惠券金额
private String status = "1";// 优惠券状态
private String inviterPhone ;
private String inviterPhone;
private List<String> couponIdList = new ArrayList<>(); //选中优惠券
......@@ -366,7 +366,7 @@ public class TravelerConfirmOrderActivity extends BaseStatusActivity<TourismPres
if (isInsuranceType == 1) {
long day = DateUtils.compareDateDay(dataBean.getEndTime(), dataBean.getStartTime());
long day = DateUtils.compareDateDay(DateUtils.formatDate16(dataBean.getEndTime()), DateUtils.formatDate16(dataBean.getStartTime()));
OrderPriceDetailBean.ChildrenBean childrenBean3 = new OrderPriceDetailBean.ChildrenBean();
childrenBean3.setKey("保险费用");
childrenBean3.setDetail("¥" + info.getData().getInsurePrice() + "/人 *" + (adultNum + childNum) + "人 *" + day + "天");
......@@ -545,14 +545,14 @@ public class TravelerConfirmOrderActivity extends BaseStatusActivity<TourismPres
idList.add(bean.getId());
}
String ids = idList.toString().replace("[", "").replace("]", "");
String endTime = "" + DateUtil.getDateByYYYYMMDD_java(dataBean.getEndTime());
String startTime = "" + DateUtil.getDateByYYYYMMDD_java(dataBean.getStartTime());
String endTime = "" + DateUtils.StringToTimeMillis2(dataBean.getEndTime());
String startTime = "" + DateUtils.StringToTimeMillis2(dataBean.getStartTime());
String couponIds = couponIdList.toString().replace("[", "").replace("]", "").replaceAll(" ", "");
Map<String, Object> headMap = new LinkedHashMap<>();
if (OkGoUtil.getToken() != null)
headMap.put("Authorization", OkGoUtil.getToken());
mPresenter.postBodyData(RvFrameConfig.ADMIN_POST, 0, TourismApi.COMMIT_ORDER, BeanTourOrderResponse.class, new Tourist(etMailbox.getText().toString().trim(), name, phone, dataBean.getEndAddr(), endTime, dataBean.getGoodId(), ids, dataBean.getSpePriceId(), dataBean.getStartAddr(), dataBean.getStartCompanyId(), startTime, dataBean.getSiteId(), isInsuranceType, couponIds,inviterPhone), headMap, true);
mPresenter.postBodyData(RvFrameConfig.ADMIN_POST, 0, TourismApi.COMMIT_ORDER, BeanTourOrderResponse.class, new Tourist(etMailbox.getText().toString().trim(), name, phone, dataBean.getEndAddr(), endTime, dataBean.getGoodId(), ids, dataBean.getSpePriceId(), dataBean.getStartAddr(), dataBean.getStartCompanyId(), startTime, dataBean.getSiteId(), isInsuranceType, couponIds, inviterPhone), headMap, true);
}
......@@ -605,33 +605,38 @@ public class TravelerConfirmOrderActivity extends BaseStatusActivity<TourismPres
detailPw = new OrderPriceDetailPw(mActivity) {
};
}
if (detailPw != null) {
detailPw.setNewData(orderPriceDetailBean);
View contentView = detailPw.getContentView();
detailPw.show();
}
/* View contentView = detailPw.getContentView();
//需要先测量,PopupWindow还未弹出时,宽高为0
contentView.measure(makeDropDownMeasureSpec(detailPw.getWidth()), makeDropDownMeasureSpec(detailPw.getHeight()));
int offsetX = Math.abs(detailPw.getContentView().getMeasuredWidth() - view.getWidth()) / 2;
int offsetY = -(detailPw.getContentView().getMeasuredHeight() + view.getHeight());
PopupWindowCompat.showAsDropDown(detailPw, view, offsetX, offsetY, Gravity.START);
PopupWindowCompat.showAsDropDown(detailPw, view, offsetX, offsetY, Gravity.START);*/
/**
* 点击popupWindow让背景变暗
*/
final WindowManager.LayoutParams lp = getWindow().getAttributes();
/* final WindowManager.LayoutParams lp = getWindow().getAttributes();
lp.alpha = 0.5f;//代表透明程度,范围为0 - 1.0f
getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
getWindow().setAttributes(lp);
getWindow().setAttributes(lp);*/
/**
* 退出popupWindow时取消暗背景
*/
detailPw.setOnDismissListener(new PopupWindow.OnDismissListener() {
/* detailPw.setOnDismissListener(new PopupWindow.OnDismissListener() {
@Override
public void onDismiss() {
lp.alpha = 1.0f;
getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
getWindow().setAttributes(lp);
}
});
});*/
}
......
......@@ -39,4 +39,5 @@ public class WalletApi {
//提现详情
public static String HTTP_URL_WALLET_WITHDRAWDETAIL = RvFrameConfig.HOST_H5_DETAIL + "/h5/appHtml/view/withdrawDetail.html";
}
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