Commit 2ff9794d authored by linfeng's avatar linfeng

租车确认订单

parent f5c734e3
......@@ -39,10 +39,12 @@ dependencies {
api project(':component_resource')
api project(':component_dialog')
api project(':component_utils')
api project(':component_control')
api project(':plugin_search')
api project(':RvWrapper')
// api project(':RvTravel')
annotationProcessor'com.alibaba:arouter-compiler:1.1.4'
implementation 'com.alibaba:fastjson:1.2.21'
}
......@@ -48,6 +48,7 @@ public class ApiConfig {
public static String HTTP_URL_GETTOURUSERLIST = RvFrameConfig.VEHICLE_TOURUSER + "tourUser/app/unauth/getTourUserList";//获得全部出游人信息
public static String HTTP_URL_ADDANDUPDATE = RvFrameConfig.VEHICLE_TOURUSER + "tourUser/app/addAndUpdate";//添加和更新出游人信息
public static String HTTP_URL_CAR_TYPE_NOTICE = RvFrameConfig.HOST + "/h5/appHtml/view/notice.html";//预定须知
public static String HTTP_URL_COLLECTONLIST = RvFrameConfig.ADMIN_POST + "app/user/collect/page";//我的收藏列表
public static String HTTP_URL_SCORE = RvFrameConfig.HOST + "/vehicle/vehicleUserScore/score";//订单评价保存
......
......@@ -18,6 +18,7 @@ import com.rv.home.R;
import com.rv.home.R2;
import com.rv.home.rv.module.ApiConfig;
import com.rv.home.rv.module.basic.BaseLoginActivity;
import com.rv.home.rv.module.basic.bean.BeanUserInfo;
import com.rv.home.rv.module.basic.presenter.CommonPresenter;
import com.rv.home.rv.module.ui.login.bean.CheckLoginBean;
import com.rv.home.rv.module.ui.login.bean.RegisteredBean;
......@@ -117,6 +118,9 @@ public class BingPhoneActivity extends BaseLoginActivity<CommonPresenter> {
case 2:
processLoginData((RegisteredBean) result);
break;
case 10:
setDataUser((BeanUserInfo)result);
break;
}
}
......
......@@ -17,6 +17,7 @@ import com.ruiwenliu.wrapper.base.BaseBean;
import com.ruiwenliu.wrapper.util.listener.TextChangedListener;
import com.ruiwenliu.wrapper.weight.TitleView;
import com.rv.home.rv.module.basic.BaseLoginActivity;
import com.rv.home.rv.module.basic.bean.BeanUserInfo;
import com.rv.home.rv.module.basic.presenter.CommonPresenter;
import com.rv.home.rv.module.ui.login.bean.RegisteredBean;
import com.umeng.socialize.bean.SHARE_MEDIA;
......@@ -99,6 +100,8 @@ public class ConfirmPwdActivity extends BaseLoginActivity<CommonPresenter> {
public void onShowResult(int requestType, BaseBean result) {
if (requestType == 2) {
processLoginData((RegisteredBean) result);
}else if (requestType == 10){
setDataUser((BeanUserInfo)result);
}
}
......
......@@ -26,6 +26,7 @@ import com.rv.home.R2;
import com.frame.rv.config.RvFrameConfig;
import com.rv.home.rv.module.ApiConfig;
import com.rv.home.rv.module.basic.BaseLoginActivity;
import com.rv.home.rv.module.basic.bean.BeanUserInfo;
import com.rv.home.rv.module.basic.presenter.CommonPresenter;
import com.rv.home.rv.module.ui.login.bean.RegisteredBean;
import com.rv.home.rv.module.ui.login.bean.SendCodeBean;
......@@ -115,6 +116,9 @@ public class LoginRvActivity extends BaseLoginActivity<CommonPresenter> {
case 2:
processLoginData((RegisteredBean) result);
break;
case 10:
setDataUser((BeanUserInfo)result);
break;
}
}
......
......@@ -18,6 +18,7 @@ import com.rv.home.R;
import com.rv.home.R2;
import com.rv.home.rv.module.ApiConfig;
import com.rv.home.rv.module.basic.BaseLoginActivity;
import com.rv.home.rv.module.basic.bean.BeanUserInfo;
import com.rv.home.rv.module.basic.presenter.CommonPresenter;
import com.rv.home.rv.module.ui.login.bean.RegisteredBean;
import com.umeng.socialize.bean.SHARE_MEDIA;
......@@ -71,6 +72,8 @@ public class PwdLoginActivity extends BaseLoginActivity<CommonPresenter> {
public void onShowResult(int requestType, BaseBean result) {
if (requestType == 0) {
processLoginData((RegisteredBean) result);
}else if (requestType == 10){
setDataUser((BeanUserInfo)result);
}
}
......
......@@ -22,6 +22,7 @@ import com.rv.home.R;
import com.rv.home.R2;
import com.rv.home.rv.module.ApiConfig;
import com.rv.home.rv.module.basic.BaseLoginActivity;
import com.rv.home.rv.module.basic.bean.BeanUserInfo;
import com.rv.home.rv.module.basic.presenter.CommonPresenter;
import com.rv.home.rv.module.ui.login.bean.RegisteredBean;
import com.rv.home.rv.module.ui.login.bean.SendCodeBean;
......@@ -106,6 +107,9 @@ public class RegisteredActivity extends BaseLoginActivity<CommonPresenter> {
case 1:
processLoginData((RegisteredBean) result);
break;
case 10:
setDataUser((BeanUserInfo) result);
break;
}
}
......@@ -239,7 +243,7 @@ public class RegisteredActivity extends BaseLoginActivity<CommonPresenter> {
* @return
*/
private String getAgainPwd() {
return etPwd.getText().toString().trim();
return etAgainPwd.getText().toString().trim();
}
;
......
......@@ -87,7 +87,7 @@ public class CarDetailActivity extends BaseStatusActivity<CommonPresenter> {
tvTitleCenter.setText("车辆详情");
webUrl = ApiConfig.HTTP_URL_CAR_TYPE_DETAIL + "?id=" + mCarBean.getVehicleModel().getId() + "&companyId=" + mCarBean.getCompany().getId();
initWeb();
initShare(webUrl, mCarBean.getVehicleModel().getName(), mCarBean.getCompany().getAddrDetail(), mCarBean.getVehicleModel().getPicture());
initShare(webUrl, mCarBean.getVehicleModel().getName(), mCarBean.getCompany().getAddrDetail(), mCarBean.getVehicleModel().getIcon());
}
@Override
......
......@@ -229,32 +229,6 @@ public class CarRentalListActivity extends BaseStatusActivity<CommonPresenter> i
}
showSelected(multiList);
}
// switch (view.getId()) {
// case R.id.rl_brand:
// setMenuSelect(0, view, attributeListBean.getData().getCata().get(0).getChildren(), tvBrand.getText().toString().trim());
// break;
// case R.id.rl_price:
// setMenuSelect(1, view, attributeListBean.getData().getCata().get(1).getChildren(), tvPrice.getText().toString().trim());
// break;
// case R.id.rl_seat:
// setMenuSelect(2, view, attributeListBean.getData().getCata().get(2).getChildren(), tvSeat.getText().toString().trim());
// break;
// case R.id.rl_selected:
// setMenuSelect(3, view, null, null);
// List<MultiItemBean> multiList = new ArrayList<>();
// for (CarAttributeListBean.DataBean.CataBean bean : attributeListBean.getData().getCata()) {
// multiList.add(bean);
// for (CarAttributeListBean.DataBean.CataBean.ChildrenBean childrenBean : bean.getChildren()) {
// if (listScreeningId != null && listScreeningId.size() > 0) {
// childrenBean.isSelect = listScreeningId.indexOf(childrenBean.getId()) > -1 ? 1 : 0;
// }
// multiList.add(childrenBean);
// }
// }
// showSelected(multiList);
// break;
// }
}
......
......@@ -31,6 +31,12 @@ import com.alibaba.android.arouter.launcher.ARouter;
import com.baidu.location.BDAbstractLocationListener;
import com.baidu.location.BDLocation;
import com.baidu.mapapi.model.LatLng;
import com.baidu.mapapi.search.core.SearchResult;
import com.baidu.mapapi.search.geocode.GeoCodeOption;
import com.baidu.mapapi.search.geocode.GeoCodeResult;
import com.baidu.mapapi.search.geocode.GeoCoder;
import com.baidu.mapapi.search.geocode.OnGetGeoCoderResultListener;
import com.baidu.mapapi.search.geocode.ReverseGeoCodeResult;
import com.base.utils.ui.datetime.selector.util.TextUtil;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.frame.base.url.Constance;
......@@ -48,6 +54,7 @@ import com.rv.component.utils.ObservableScrollView;
import com.rv.home.R;
import com.rv.home.R2;
import com.rv.home.rv.module.ApiConfig;
import com.rv.home.rv.module.basic.WebActivity;
import com.rv.home.rv.module.basic.presenter.CommonPresenter;
import com.rv.home.rv.module.ui.main.home.adapter.HotCarTypeAdapter;
import com.rv.home.rv.module.ui.main.home.adapter.RVEnthusiastAdapter;
......@@ -193,6 +200,7 @@ public class HomeFragment extends BaseFragment<CommonPresenter> implements Obser
private Map<String, Integer> mapGetTime;
private Map<String, Integer> mapOutTime;
private LocationManager locationManager;
private GeoCoder geoCoder;
private List<HomePopularBrigade.DataBean> hotData; //热门标签
private double rvTourLatitude = 0;
......@@ -430,9 +438,15 @@ public class HomeFragment extends BaseFragment<CommonPresenter> implements Obser
mRvTourAdapter.setNewData(hotData);
mRvTourLabelAdapter.setNewData(hotData);
}
@OnClick({R2.id.travel_city_layout, R2.id.ll_item_search,R2.id.tv_item_rv_tour, R2.id.tv_item_renting_a_car, R2.id.tv_get_city, R2.id.tv_out_city, R2.id.tv_get_address, R2.id.tv_out_address, R2.id.ll_item_get_time, R2.id.ll_item_alsotime, R2.id.tv_select_car, R2.id.ll_item_rv_city, R2.id.tv_book_now, R2.id.ll_item_rv_hot_label1, R2.id.ll_item_rv_hot_label2, R2.id.ll_item_rv_hot_label3, R2.id.ll_item_hot_rvtour, R2.id.ll_item_hot_entertainment_camp, R2.id.ll_item_hot_car_rental, R2.id.tv_see_more_popular, R2.id.ll_item_top})
@OnClick({R2.id.travel_city_layout, R2.id.ll_item_search,R2.id.tv_item_rv_tour, R2.id.tv_item_renting_a_car, R2.id.tv_get_city,
R2.id.tv_out_city, R2.id.tv_get_address, R2.id.tv_out_address, R2.id.ll_item_get_time, R2.id.ll_item_alsotime, R2.id.tv_select_car,
R2.id.ll_item_rv_city, R2.id.tv_book_now, R2.id.ll_item_rv_hot_label1, R2.id.ll_item_rv_hot_label2, R2.id.ll_item_rv_hot_label3,
R2.id.ll_item_hot_rvtour, R2.id.ll_item_hot_entertainment_camp, R2.id.ll_item_hot_car_rental, R2.id.tv_see_more_popular,
R2.id.ll_item_top, R2.id.tv_car_rental_guide})
public void onViewClicked(View view) {
int id = view.getId();
if (id == R.id.travel_city_layout) {
......@@ -638,6 +652,9 @@ public class HomeFragment extends BaseFragment<CommonPresenter> implements Obser
scrollview.fullScroll(View.FOCUS_UP);
}else if (id == R.id.travel_server_image){
showToast("亲,该功能还在开发中。。。");
}else if (id == R.id.tv_car_rental_guide){
//租车指南
startActivity(WebActivity.getIntent(_mActivity, _mActivity.getString(R.string.rv_contract_agreement), ApiConfig.HTTP_URL_CAR_TYPE_NOTICE));
}
}
......@@ -710,9 +727,11 @@ public class HomeFragment extends BaseFragment<CommonPresenter> implements Obser
tvRvCity.setText(data);
break;
case 4:
travelCityLatitude = lat;
travelCityLongitude = lon;
travelCityText.setText(data);
geoCoder.geocode(new GeoCodeOption()
.city(data)
.address(data));
break;
}
}
......@@ -1008,6 +1027,7 @@ public class HomeFragment extends BaseFragment<CommonPresenter> implements Obser
public void accept(Boolean aBoolean) throws Exception {
if (aBoolean == true) {
initGps();
initCity();
} else {
getActivity().finish();
}
......@@ -1015,9 +1035,36 @@ public class HomeFragment extends BaseFragment<CommonPresenter> implements Obser
});
} else {
initGps();
initCity();
}
}
private void initCity() {
geoCoder = GeoCoder.newInstance();
geoCoder.setOnGetGeoCodeResultListener(new OnGetGeoCoderResultListener() {
@Override
public void onGetGeoCodeResult(GeoCodeResult result) {
if (result == null || result.error != SearchResult.ERRORNO.NO_ERROR) {
//没有检索到结果
} else {
latLatitude = result.getLocation().latitude;
lonLongitude = result.getLocation().longitude;
}
//获取地理编码结果
}
@Override
public void onGetReverseGeoCodeResult(ReverseGeoCodeResult result) {
if (result == null || result.error != SearchResult.ERRORNO.NO_ERROR) {
//没有找到检索结果
}else {
latLatitude = result.getLocation().latitude;
lonLongitude = result.getLocation().longitude;
}
}
});
}
/**
* 初始化定位
*/
......@@ -1054,4 +1101,10 @@ public class HomeFragment extends BaseFragment<CommonPresenter> implements Obser
}
});
}
@Override
public void onDestroy() {
super.onDestroy();
geoCoder.destroy();
}
}
......@@ -66,7 +66,7 @@ public class ShareImageActivity extends SwipeBackActivity<CommonPresenter> {
protected void initView(Bundle savedInstanceState, TitleView titleView, Intent intent) {
showTitle(false);
mCarBean = (CarTypeListBean.DataBeanX.DataBean) getIntent().getSerializableExtra("carBean");
GlideManager.getInstance(this).loadImage(mCarBean.getVehicleModel().getPicture(), ivGoods);
GlideManager.getInstance(this).loadImage(mCarBean.getVehicleModel().getIcon(), ivGoods);
tvName.setText(mCarBean.getVehicleModel().getName());
tvContent.setText(mCarBean.getVehicleModel().getKeyword());
tvPrice.setText(String.format("%1$s%2$s", mCarBean.getVehicleModel().getPrice(), this.getString(R.string.rv_day)));
......
......@@ -27,7 +27,7 @@ public class CarRentalListAdapter extends BaseQuickAdapter<CarTypeListBean.DataB
helper.setText(R.id.tv_name,item.getVehicleModel().getName());
helper.setText(R.id.tv_context,item.getVehicleModel().getKeyword());
helper.setText(R.id.tv_point,String.valueOf(item.getVehicleModel().getPoint()));
helper.loadImage(mContext,item.getVehicleModel().getPicture(), (ImageView) helper.getView(R.id.iv_goods));
helper.loadImage(mContext,item.getVehicleModel().getIcon(), (ImageView) helper.getView(R.id.iv_goods));
// helper.setText(R.id.tv_name,item);
helper.setText(R.id.tv_price,String.format("¥%1$s%2$s",item.getVehicleModel().getPrice(),mContext.getString(R.string.rv_day)));
}
......
package com.rv.home.rv.module.ui.main.home.bean;
import com.alibaba.fastjson.JSON;
import com.base.utils.ui.datetime.selector.util.TextUtil;
import com.google.gson.Gson;
import com.google.gson.annotations.SerializedName;
import com.google.gson.reflect.TypeToken;
import com.ruiwenliu.wrapper.SPConstance;
import com.ruiwenliu.wrapper.base.BaseBean;
import com.ruiwenliu.wrapper.util.UtilsManager;
import com.rv.home.rv.module.basic.bean.BeanUserInfo;
import com.yuyife.okgo.OkGoUtil;
import org.w3c.dom.Text;
import java.io.Serializable;
import java.util.List;
......@@ -12,7 +22,7 @@ import java.util.List;
* Desc:租车类型列表
*/
public class CarTypeListBean extends BaseBean implements Serializable{
public class CarTypeListBean extends BaseBean implements Serializable {
/**
......@@ -39,7 +49,7 @@ public class CarTypeListBean extends BaseBean implements Serializable{
this.rel = rel;
}
public static class DataBeanX implements Serializable{
public static class DataBeanX implements Serializable {
/**
* totalCount : 32
* totalPage : 4
......@@ -94,7 +104,7 @@ public class CarTypeListBean extends BaseBean implements Serializable{
this.data = data;
}
public static class DataBean implements Serializable{
public static class DataBean implements Serializable {
/**
* distance : 4307.442767774642
* vehicleModel : {"id":25,"name":"大通自行式C型房车(旅居版)车型24","licensePlate":"C24","factory":1,"keyword":"烧烤,6乘29卧,麻将,微波炉","point":0,"picture":"https://xxfcim.upyuns.com/image/u/2/10000002/201905/o/adb766b69c0140018a3aaaa08b37d41d.jpg"}
......@@ -129,7 +139,7 @@ public class CarTypeListBean extends BaseBean implements Serializable{
this.company = company;
}
public static class VehicleModelBean implements Serializable{
public static class VehicleModelBean implements Serializable {
/**
* id : 25
* name : 大通自行式C型房车(旅居版)车型24
......@@ -148,6 +158,48 @@ public class CarTypeListBean extends BaseBean implements Serializable{
private double point;
private String picture;
private double price;
private String rentDiscountPrice;//租车优惠价格
private int rentDiscountStatus;//租车优惠状态 0–没有优惠;1–会员折扣;2–固定值
public double getSum() {
BeanUserInfo.UserInfo info = null;
String spStringCode = UtilsManager.getInstance(OkGoUtil.application).getSPStringCode(SPConstance.USER_JSON, SPConstance.USER_JSON_USERINFO);
if (!TextUtil.isEmpty(spStringCode)) {
info = JSON.parseObject(spStringCode, BeanUserInfo.UserInfo.class);
}
double amount = price;
if (info == null) {
return price;
}
if (0 == info.getIsMember()) { //不是会员
amount = price;
} else if (1 == info.getIsMember()) { //会员
if (0 == rentDiscountStatus) {
amount = price;
} else if (1 == rentDiscountStatus) {
int discount = info.getDiscount();
amount = price * (discount / 100);
} else if (2 == rentDiscountStatus) {
if (!TextUtil.isEmpty(rentDiscountPrice)){
String[] list = rentDiscountPrice.split(",");
int memberLevel = info.getMemberLevel();//1 普通会员 2 黄金会员 3 钻石会员
if (list !=null && list.length >1){
if (1==memberLevel){
amount = Integer.valueOf(list[0]);
}else if (2==memberLevel){
amount = Integer.valueOf(list[1]);
}else if (3==memberLevel){
amount = Integer.valueOf(list[2]);
}
}
}
}
}
return amount;
}
public double getPrice() {
return price;
......@@ -212,9 +264,39 @@ public class CarTypeListBean extends BaseBean implements Serializable{
public void setPicture(String picture) {
this.picture = picture;
}
public String getIcon() {
String icon = "";
if (!TextUtil.isEmpty(picture)) {
String[] icons = picture.split(",");
if (icons != null && icons.length > 0) {
icon = icons[0];
} else {
icon = picture;
}
}
return icon;
}
public String getRentDiscountPrice() {
return rentDiscountPrice;
}
public void setRentDiscountPrice(String rentDiscountPrice) {
this.rentDiscountPrice = rentDiscountPrice;
}
public int getRentDiscountStatus() {
return rentDiscountStatus;
}
public void setRentDiscountStatus(int rentDiscountStatus) {
this.rentDiscountStatus = rentDiscountStatus;
}
}
public static class CompanyBean implements Serializable{
public static class CompanyBean implements Serializable {
/**
* id : 2
* name : 深圳宝安分公司
......
......@@ -48,6 +48,9 @@ public class OrderDataBean implements Serializable{
private int startCompanyId;
private long startTime;
// private int vehicleId;
private int damageSafe;//是否购买免赔 1--是 0--否
private int rentFreeDay;//是否使用出租免费天数 1--是 0--否
private String couponIds;//优惠券ids,逗号分割
public int getDayNum() {
return dayNum;
......@@ -163,6 +166,29 @@ public class OrderDataBean implements Serializable{
this.startTime = startTime;
}
public int getDamageSafe() {
return damageSafe;
}
public void setDamageSafe(int damageSafe) {
this.damageSafe = damageSafe;
}
public int getRentFreeDay() {
return rentFreeDay;
}
public void setRentFreeDay(int rentFreeDay) {
this.rentFreeDay = rentFreeDay;
}
public String getCouponIds() {
return couponIds;
}
public void setCouponIds(String couponIds) {
this.couponIds = couponIds;
}
@Override
public String toString() {
......@@ -181,6 +207,9 @@ public class OrderDataBean implements Serializable{
", startCityName='" + startCityName + '\'' +
", startCompanyId=" + startCompanyId +
", startTime=" + startTime +
", damageSafe=" + damageSafe +
", rentFreeDay=" + rentFreeDay +
", couponIds='" + couponIds + '\'' +
'}';
}
}
......@@ -46,9 +46,12 @@ public class OrderPriceBean extends BaseBean{
private double orderAmount;
private double goodsAmount;
private double vehicleAmount;
private int driverAmount;
private int deposit;
private int driverAmount; //司机价格
private double driverPrice; //司机单价
private int deposit; // 押金价格
private String costDetail;
private double damageSafePrice;//免赔付单价
private double damageSafeAmount;//免赔付价格
public String getCostDetail() {
return costDetail;
......@@ -97,5 +100,29 @@ public class OrderPriceBean extends BaseBean{
public void setDeposit(int deposit) {
this.deposit = deposit;
}
public double getDriverPrice() {
return driverPrice;
}
public void setDriverPrice(double driverPrice) {
this.driverPrice = driverPrice;
}
public double getDamageSafePrice() {
return damageSafePrice;
}
public void setDamageSafePrice(double damageSafePrice) {
this.damageSafePrice = damageSafePrice;
}
public double getDamageSafeAmount() {
return damageSafeAmount;
}
public void setDamageSafeAmount(double damageSafeAmount) {
this.damageSafeAmount = damageSafeAmount;
}
}
}
......@@ -343,6 +343,7 @@
android:textSize="@dimen/text_16" />
<TextView
android:id="@+id/tv_car_rental_guide"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/size_20"
......
......@@ -77,7 +77,7 @@
<string name="rv_cancel">取消</string>
<string name="rv_shop_map">门店地图</string>
<string name="rv_select_car_num_hint">选择车辆数量</string>
<string name="rv_select_driving_num_hint">欣新专职司机(¥600/天)</string>
<string name="rv_select_driving_num_hint">欣新专职司机</string>
<string name="rv_user_driving">自驾</string>
<string name="rv_user_driving_hint">(需提供驾驶人信息)</string>
<string name="rv_driving_set">驾驶人设置</string>
......
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