Commit 6d1d22c2 by mReturn

修改发货商家地址获取方式

parent a10e3186
......@@ -20,9 +20,6 @@
</intent-filter>
</activity>
<activity
android:name=".ui.activity.ApplyAndRefuseNewActivity"
android:screenOrientation="portrait" />
<activity
android:name=".ui.activity.SopWebViewActivity"
android:screenOrientation="portrait" />
<activity
......
......@@ -13,10 +13,11 @@ import com.dayu.order.api.protocol.OperateInfo;
import com.dayu.order.api.protocol.Order;
import com.dayu.order.api.protocol.OrderDetail;
import com.dayu.order.api.protocol.OrderPart;
import com.dayu.order.api.protocol.bean.CompanyAddressBean;
import com.dayu.order.api.protocol.bean.SiteAddressBean;
import com.dayu.order.api.protocol.bean.GreenPersionSiteInfo;
import com.dayu.order.api.protocol.bean.KnowledgeListBean;
import com.dayu.order.api.protocol.bean.OrderDetailDeviceInfoBean;
import com.dayu.order.api.protocol.bean.OrderDetailSiteInfoBean;
import com.dayu.order.api.protocol.bean.OrderPardDeatilBean;
import com.dayu.order.api.protocol.bean.OrderPartBean;
import com.dayu.order.api.protocol.Pay;
......@@ -509,6 +510,18 @@ public interface OrderService {
Observable<BaseResponse<ServiceStationBean>> getServiceStation(@Path("id") int providerId);
/**
* 查询服务站地址
*/
@GET(Constants.API_7100 + "/siteAddress/default/siteId/{siteId}")
Observable<BaseResponse<SiteAddressBean>> getSiteAddress(@Path("siteId") int siteId);
/**
* 查询服务商地址
*/
@GET(Constants.API_7600 + "/companyAddress/default/companyId/{companyId}")
Observable<BaseResponse<CompanyAddressBean>> getCompanyAddress(@Path("companyId") int companyId);
/**
* 工单向商家发送备件
*/
@POST(Constants.API_7700 + "/spSendOutGoods/engineerSave")
......
package com.dayu.order.api.protocol.bean;
public class CompanyAddressBean {
/**
* address : string
* cityId : 0
* cityName : string
* companyId : 0
* createBy : string
* createTime : 2020-10-29T03:00:47.224Z
* defaultSelected : 0
* districtId : 0
* districtName : string
* fullAddress : string
* id : 0
* mobile : string
* modifyBy : string
* modifyTime : 2020-10-29T03:00:47.224Z
* name : string
* provinceId : 0
* provinceName : string
*/
private String address;
private int cityId;
private String cityName;
private int companyId;
private String createBy;
private String createTime;
private int defaultSelected;
private int districtId;
private String districtName;
private String fullAddress;
private int id;
private String mobile;
private String modifyBy;
private String modifyTime;
private String name;
private int provinceId;
private String provinceName;
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public int getCityId() {
return cityId;
}
public void setCityId(int cityId) {
this.cityId = cityId;
}
public String getCityName() {
return cityName;
}
public void setCityName(String cityName) {
this.cityName = cityName;
}
public int getCompanyId() {
return companyId;
}
public void setCompanyId(int companyId) {
this.companyId = companyId;
}
public String getCreateBy() {
return createBy;
}
public void setCreateBy(String createBy) {
this.createBy = createBy;
}
public String getCreateTime() {
return createTime;
}
public void setCreateTime(String createTime) {
this.createTime = createTime;
}
public int getDefaultSelected() {
return defaultSelected;
}
public void setDefaultSelected(int defaultSelected) {
this.defaultSelected = defaultSelected;
}
public int getDistrictId() {
return districtId;
}
public void setDistrictId(int districtId) {
this.districtId = districtId;
}
public String getDistrictName() {
return districtName;
}
public void setDistrictName(String districtName) {
this.districtName = districtName;
}
public String getFullAddress() {
return fullAddress;
}
public void setFullAddress(String fullAddress) {
this.fullAddress = fullAddress;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getMobile() {
return mobile;
}
public void setMobile(String mobile) {
this.mobile = mobile;
}
public String getModifyBy() {
return modifyBy;
}
public void setModifyBy(String modifyBy) {
this.modifyBy = modifyBy;
}
public String getModifyTime() {
return modifyTime;
}
public void setModifyTime(String modifyTime) {
this.modifyTime = modifyTime;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getProvinceId() {
return provinceId;
}
public void setProvinceId(int provinceId) {
this.provinceId = provinceId;
}
public String getProvinceName() {
return provinceName;
}
public void setProvinceName(String provinceName) {
this.provinceName = provinceName;
}
}
package com.dayu.order.api.protocol.bean;
public class SiteAddressBean {
/**
* address : string
* cityId : 0
* cityName : string
* createBy : string
* createTime : 2020-10-29T02:56:27.500Z
* defaultSelected : 0
* districtId : 0
* districtName : string
* id : 0
* mobile : string
* modifyBy : string
* modifyTime : 2020-10-29T02:56:27.500Z
* name : string
* provinceId : 0
* provinceName : string
* siteId : 0
*/
private String address;
private int cityId;
private String cityName;
private String createBy;
private String createTime;
private int defaultSelected;
private int districtId;
private String districtName;
private int id;
private String mobile;
private String modifyBy;
private String modifyTime;
private String name;
private int provinceId;
private String provinceName;
private int siteId;
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public int getCityId() {
return cityId;
}
public void setCityId(int cityId) {
this.cityId = cityId;
}
public String getCityName() {
return cityName;
}
public void setCityName(String cityName) {
this.cityName = cityName;
}
public String getCreateBy() {
return createBy;
}
public void setCreateBy(String createBy) {
this.createBy = createBy;
}
public String getCreateTime() {
return createTime;
}
public void setCreateTime(String createTime) {
this.createTime = createTime;
}
public int getDefaultSelected() {
return defaultSelected;
}
public void setDefaultSelected(int defaultSelected) {
this.defaultSelected = defaultSelected;
}
public int getDistrictId() {
return districtId;
}
public void setDistrictId(int districtId) {
this.districtId = districtId;
}
public String getDistrictName() {
return districtName;
}
public void setDistrictName(String districtName) {
this.districtName = districtName;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getMobile() {
return mobile;
}
public void setMobile(String mobile) {
this.mobile = mobile;
}
public String getModifyBy() {
return modifyBy;
}
public void setModifyBy(String modifyBy) {
this.modifyBy = modifyBy;
}
public String getModifyTime() {
return modifyTime;
}
public void setModifyTime(String modifyTime) {
this.modifyTime = modifyTime;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getProvinceId() {
return provinceId;
}
public void setProvinceId(int provinceId) {
this.provinceId = provinceId;
}
public String getProvinceName() {
return provinceName;
}
public void setProvinceName(String provinceName) {
this.provinceName = provinceName;
}
public int getSiteId() {
return siteId;
}
public void setSiteId(int siteId) {
this.siteId = siteId;
}
}
......@@ -4,8 +4,8 @@ package com.dayu.order.presenter.orderpart_send;
import com.bigkoo.pickerview.listener.OnOptionsSelectListener;
import com.dayu.base.ui.presenter.BasePresenter;
import com.dayu.common.BaseView;
import com.dayu.order.api.protocol.bean.ServiceProviderBean;
import com.dayu.order.api.protocol.bean.ServiceStationBean;
import com.dayu.order.api.protocol.bean.CompanyAddressBean;
import com.dayu.order.api.protocol.bean.SiteAddressBean;
import java.util.List;
......@@ -38,13 +38,13 @@ public interface PartSendContract {
* 服务站信息
* @param data
*/
void setStationData(ServiceStationBean data);
void setStationData(SiteAddressBean data);
/**
* 服务商信息
* @param data
*/
void setProviderData(ServiceProviderBean data);
void setProviderData(CompanyAddressBean data);
/**
* 页面内容是否可编辑
......
......@@ -132,7 +132,7 @@ public class PartSendPresenter extends PartSendContract.Presenter {
//查询服务站信息
private void getStationInfo() {
Api.getService(OrderService.class).getServiceStation(mDetail.getSiteId()).compose(Api.applySchedulers())
Api.getService(OrderService.class).getSiteAddress(mDetail.getSiteId()).compose(Api.applySchedulers())
.subscribe(baseObserver(data -> {
if (data != null) {
mView.setStationData(data);
......@@ -142,7 +142,7 @@ public class PartSendPresenter extends PartSendContract.Presenter {
//查询服务商信息
private void getProviderInfo() {
Api.getService(OrderService.class).getServiceProvider(mDetail.getCreateProviderId())
Api.getService(OrderService.class).getCompanyAddress(mDetail.getCreateProviderId())
.compose(Api.applySchedulers()).subscribe(baseObserver(data -> {
if (data != null) {
mView.setProviderData(data);
......
package com.dayu.order.ui.activity;
import android.text.TextUtils;
import com.dayu.base.api.APIService;
import com.dayu.base.api.Api;
import com.dayu.base.api.protocol.TreeAddressBean;
import com.dayu.base.ui.activity.BaseActivity;
import com.dayu.common.Constants;
import com.dayu.order.R;
import com.dayu.order.databinding.ActivityApplyRefuseNewBinding;
import com.dayu.order.presenter.commonSubmite.ApplayAndRefusePresenter;
import com.dayu.order.presenter.commonSubmite.ApplyAndRefuseContract;
import com.dayu.widgets.WheelDialog;
import java.util.ArrayList;
import java.util.List;
/**
* 收货
*/
public class ApplyAndRefuseNewActivity extends BaseActivity<ApplayAndRefusePresenter, ActivityApplyRefuseNewBinding>
implements ApplyAndRefuseContract.View {
private String name;
private String phone;
private String provinceName;
private String cityName;
private String areaName;
private String detailAddr;
private int provinceId;
private int cityId;
private int areaId;
private List<TreeAddressBean> provinceList = new ArrayList<>();
private List<TreeAddressBean> cityList = new ArrayList<>();
private List<TreeAddressBean> areaList = new ArrayList<>();
@Override
public int getLayoutId() {
return R.layout.activity_apply_refuse_new;
}
@Override
public void initView() {
getTreeAddrData(-1, 1, false);
setListener();
}
private void setListener() {
mBind.tvArea.setOnClickListener(v -> {
if (TextUtils.isEmpty(provinceName)) {
getTreeAddrData(-1, 1, true);
} else if (TextUtils.isEmpty(cityName)) {
getTreeAddrData(provinceId, 2, true);
} else {
getTreeAddrData(cityId, 3, true);
}
});
mBind.tvCity.setOnClickListener(v -> {
if (TextUtils.isEmpty(provinceName)) {
getTreeAddrData(-1, 1, true);
} else {
getTreeAddrData(provinceId, 2, true);
}
});
mBind.tvProvince.setOnClickListener(v -> {
getTreeAddrData(-1, 1, true);
});
}
@Override
public void setPresenter() {
mBind.setPresenter(mPresenter);
}
/**
* 获取地址信息
*
* @param pId
* @param type 1.省 2.市 3.区
* @param showDialog 是否显示选择框
*/
private void getTreeAddrData(int pId, int type, boolean showDialog) {
if (Constants.treeAddressMap.containsKey(pId) && Constants.treeAddressMap.get(pId).size() > 0) {
dealAddrData(type, showDialog, Constants.treeAddressMap.get(pId));
} else {
if (showDialog)
showDialog();
Api.getService(APIService.class).getTreeAddress(pId).compose(Api.applySchedulers())
.safeSubscribe(mPresenter.baseObserver(datas -> {
dealAddrData(type, showDialog, datas);
Constants.treeAddressMap.put(pId, datas);
}));
}
}
//处理获取到地址信息数据
private void dealAddrData(int type, boolean showDialog, List<TreeAddressBean> datas) {
switch (type) {
case 1:
provinceList = datas;
break;
case 2:
cityList = datas;
break;
case 3:
areaList = datas;
break;
}
if (showDialog)
showAddrDialog(type, datas);
}
/**
* 地址选择弹框
*
* @param type
* @param addressList
*/
private void showAddrDialog(int type, List<TreeAddressBean> addressList) {
List<String> addrs = new ArrayList<>();
for (int i = 0; i < addressList.size(); i++) {
addrs.add(addressList.get(i).getText());
}
WheelDialog.getInstance().show(this, addrs, pos -> {
onAddrChoosed(type, pos);
});
}
//选择弹框内的地址后
private void onAddrChoosed(int type, int index) {
switch (type) {
case 1:
if (provinceList.get(index).getText().equals(provinceName))
return;
provinceId = Integer.parseInt(provinceList.get(index).getId());
provinceName = provinceList.get(index).getText();
getTreeAddrData(provinceId, 2, false);
cityList.clear();
areaList.clear();
updateAddressView();
break;
case 2:
if (cityList.get(index).getText().equals(cityName))
return;
cityId = Integer.parseInt(cityList.get(index).getId());
cityName = cityList.get(index).getText();
getTreeAddrData(cityId, 3, false);
areaList.clear();
updateAddressView();
break;
case 3:
if (areaList.get(index).getText().equals(areaName))
return;
areaId = Integer.parseInt(areaList.get(index).getId());
areaName = areaList.get(index).getText();
mBind.tvArea.setText(areaName);
// updateSubmitState();
break;
}
}
//更新选择地址布局显示
private void updateAddressView() {
cityId = cityList.size() > 0 ? cityId : 0;
cityName = cityList.size() > 0 ? cityName : "";
areaId = areaList.size() > 0 ? areaId : 0;
areaName = areaList.size() > 0 ? areaName : "";
mBind.tvProvince.setText(provinceName);
mBind.tvCity.setText(cityName);
mBind.tvArea.setText(areaName);
// updateSubmitState();
}
}
......@@ -14,8 +14,8 @@ import com.dayu.base.ui.activity.BaseActivity;
import com.dayu.base.ui.adapter.PhotoViewAdapter;
import com.dayu.base.ui.adapter.SpacesItemDecoration;
import com.dayu.order.R;
import com.dayu.order.api.protocol.bean.ServiceProviderBean;
import com.dayu.order.api.protocol.bean.ServiceStationBean;
import com.dayu.order.api.protocol.bean.CompanyAddressBean;
import com.dayu.order.api.protocol.bean.SiteAddressBean;
import com.dayu.order.databinding.ActivityOrderPartSendBinding;
import com.dayu.order.presenter.orderpart_send.PartSendContract;
import com.dayu.order.presenter.orderpart_send.PartSendPresenter;
......@@ -85,21 +85,21 @@ public class OrderPartSendActivity extends BaseActivity<PartSendPresenter, Activ
}
@Override
public void setStationData(ServiceStationBean data) {
public void setStationData(SiteAddressBean data) {
mPresenter.company.set(data.getName());
mPresenter.address.set(data.getProvinceName()+data.getCityName()
+data.getDistrictName()+data.getAddress());
mPresenter.contacter.set(data.getName());
mPresenter.contactPhone.set(data.getTelephone());
mPresenter.contactPhone.set(data.getMobile());
}
@Override
public void setProviderData(ServiceProviderBean data) {
mPresenter.company.set(TextUtils.isEmpty(data.getName())?data.getCompanyConnecter():data.getName());
public void setProviderData(CompanyAddressBean data) {
mPresenter.company.set(data.getName());
mPresenter.address.set(data.getProvinceName()+data.getCityName()
+data.getDistrictName()+data.getAddress());
mPresenter.contacter.set(data.getCompanyConnecter());
mPresenter.contactPhone.set(data.getCompanyConnecterMobile());
mPresenter.contacter.set(data.getName());
mPresenter.contactPhone.set(data.getMobile());
}
@Override
......
......@@ -9,9 +9,6 @@
android:name=".ui.activity.TestActivity"
android:screenOrientation="portrait" />
<activity
android:name=".ui.activity.ApplyAndRefuseNewActivity"
android:screenOrientation="portrait" />
<activity
android:name=".ui.activity.SopWebViewActivity"
android:screenOrientation="portrait" />
<activity
......
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<data>
<variable
name="presenter"
type="com.dayu.order.presenter.commonSubmite.ApplayAndRefusePresenter" />
</data>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/cl_white"
android:orientation="vertical"
android:padding="1dp">
<RelativeLayout
android:id="@+id/title_idea"
style="@style/title">
<TextView
android:id="@+id/text_idea"
style="@style/text_title"
android:text="@string/application_order_part" />
<ImageView
android:id="@+id/title_back"
style="@style/title_image_back"
android:onClick="@{()->presenter.dumpBack()}" />
<TextView
android:id="@+id/tv_right_title"
style="@style/title_right_text"
android:onClick="@{()->presenter.commite()}"
android:text="@string/submit"
android:textColor="@color/cl_home_button"
android:textSize="15sp"
android:visibility="gone" />
</RelativeLayout>
<ImageView style="@style/card_line" />
<android.support.v4.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:orientation="vertical">
<TextView
style="@style/common_text_style"
android:layout_marginTop="5dp"
android:drawableLeft="@drawable/icon_star_necessary"
android:text="@string/part_material_list" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_marginTop="5dp"
android:orientation="horizontal">
<TextView
style="@style/sale_item_text"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="3"
android:background="@drawable/bg_order_step_title1"
android:gravity="center"
android:text="@string/part_model_config" />
<TextView
style="@style/sale_item_text"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@drawable/bg_order_step_title3"
android:gravity="center"
android:text="@string/count_str" />
</LinearLayout>
<TextView
android:id="@+id/apply_part"
android:layout_width="50dp"
android:layout_height="40dp"
android:layout_marginTop="5dp"
android:background="@drawable/btn_blue_commom"
android:gravity="center"
android:text="+"
android:textColor="@color/white"
android:textSize="26sp" />
<TextView
style="@style/common_text_style"
android:layout_marginTop="15dp"
android:layout_marginBottom="5dp"
android:text="@string/part_apply_reason" />
<EditText
android:id="@+id/et_content"
android:layout_width="match_parent"
android:layout_height="80dp"
android:layout_gravity="center"
android:background="@drawable/bg_input_gray_react"
android:gravity="top"
android:hint="@{presenter.mHint}"
android:padding="10dp"
android:text="@={presenter.mComment}"
android:textColor="@color/cl_home_title_text_color"
android:textColorHint="@color/cl_selector_hui"
android:textSize="@dimen/sp_13.3" />
<LinearLayout
style="@style/ll_part_bottom">
<TextView
style="@style/part_left_text"
android:drawableLeft="@drawable/icon_star_necessary"
android:text="@string/part_receiver_addr" />
<TextView
android:id="@+id/tv_province"
style="@style/part_select_addr"
android:hint="@string/province_str" />
<TextView
android:id="@+id/tv_city"
style="@style/part_select_addr"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:hint="@string/city_str" />
<TextView
android:id="@+id/tv_area"
style="@style/part_select_addr"
android:hint="@string/zone_str" />
</LinearLayout>
<EditText
android:id="@+id/edt_detail_addr"
style="@style/part_addr_edit"
android:layout_marginLeft="80dp"
android:layout_marginTop="10dp"
android:hint="@string/customer_detail_address" />
<LinearLayout
style="@style/ll_part_bottom">
<TextView
style="@style/part_left_text"
android:drawableLeft="@drawable/icon_star_necessary"
android:text="@string/part_receiver_addr" />
<EditText
android:id="@+id/edt_name"
style="@style/part_addr_edit"
android:hint="@string/str_name" />
</LinearLayout>
<LinearLayout
style="@style/ll_part_bottom">
<TextView
style="@style/part_left_text"
android:drawableLeft="@drawable/icon_star_necessary"
android:text="@string/part_receiver_addr" />
<EditText
android:id="@+id/edt_phone"
style="@style/part_addr_edit"
android:hint="@string/ka_address_mobile" />
</LinearLayout>
</LinearLayout>
</android.support.v4.widget.NestedScrollView>
<TextView
android:id="@+id/tv_submit"
android:layout_width="match_parent"
android:layout_height="45dp"
android:gravity="center"
android:textColor="@color/white"
android:textSize="@dimen/sp_16"
android:background="@drawable/btn_blue_commom"
android:text="@string/submit_part_apply"
android:layout_marginLeft="40dp"
android:layout_marginRight="40dp"
android:layout_marginBottom="20dp"
android:layout_marginTop="15dp"
/>
</LinearLayout>
</layout>
\ No newline at end of file
......@@ -64,12 +64,14 @@
android:background="@color/tv_bg"
android:gravity="center_vertical"
android:paddingLeft="@dimen/dp_15"
android:text="@string/company_send_info"
android:text="商家收货信息"
android:textColor="@color/tv_cl"
android:textSize="14sp" />
<LinearLayout style="@style/ll_part_content">
<LinearLayout
android:visibility="gone"
style="@style/ll_part_content">
<TextView
style="@style/tv_course_left"
......
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 sign in to comment