Commit a3ce63e1 authored by 小费同学阿's avatar 小费同学阿 💬 Committed by 杨秀秀

商户APP

创建诉求页面功能完善
parent e2627dd6
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="deploymentTargetDropDown">
<runningDeviceTargetSelectedWithDropDown>
<Target>
<type value="RUNNING_DEVICE_TARGET" />
<deviceKey>
<Key>
<type value="SERIAL_NUMBER" />
<value value="3500974723001S2" />
</Key>
</deviceKey>
</Target>
</runningDeviceTargetSelectedWithDropDown>
<timeTargetWasSelectedWithDropDown value="2023-08-03T09:39:41.558599100Z" />
</component>
</project>
\ No newline at end of file
...@@ -4,10 +4,9 @@ import androidx.databinding.ObservableField ...@@ -4,10 +4,9 @@ import androidx.databinding.ObservableField
import com.xx.merchanthbh.data.http.BaseRespons import com.xx.merchanthbh.data.http.BaseRespons
import com.xx.merchanthbh.data.http.requst.body.AppealBody import com.xx.merchanthbh.data.http.requst.body.AppealBody
import com.xx.merchanthbh.data.http.requst.body.Brankbody import com.xx.merchanthbh.data.http.requst.body.Brankbody
import com.xx.merchanthbh.data.http.requst.body.ProductBody
import com.xx.merchanthbh.data.http.respons.AppealBean import com.xx.merchanthbh.data.http.respons.AppealBean
import com.xx.merchanthbh.data.http.respons.AppealTypeBean import com.xx.merchanthbh.data.http.respons.AppealTypeBean
import com.xx.merchanthbh.data.http.respons.MerchantBean import com.xx.merchanthbh.data.local.LocalData
import com.xx.xxviewlibrary.witget.model.FileBean import com.xx.xxviewlibrary.witget.model.FileBean
import io.reactivex.rxjava3.core.Observable import io.reactivex.rxjava3.core.Observable
import me.goldze.mvvmhabit.http.ApiParams import me.goldze.mvvmhabit.http.ApiParams
...@@ -18,9 +17,15 @@ class AppealRequest : BaseRespons() { ...@@ -18,9 +17,15 @@ class AppealRequest : BaseRespons() {
/*创建诉求*/ /*创建诉求*/
/*依次传入1-类型 2-商户 3-反馈人 4-联系方式 5-诉求描述 6-上传图片*/ /*依次传入1-类型 2-商户 3-反馈人 4-联系方式 5-诉求描述 6-上传图片*/
fun addAppeal(dictValue: String,appealCustom:String,appealPerson:String,appealPhone:String,appealDescribe:String,uploadImgs:List<String>): Observable<BaseResponse<Boolean>> { fun addAppeal(
dictSort: String,
val body: AppealBody = AppealBody(dictValue,appealCustom,appealPerson,appealPhone, appealDescribe,uploadImgs) appealPerson:String,
appealPhone:String,
appealDescribe:String,
uploadImgs: List<String>
): Observable<BaseResponse<Boolean>> {
val body: AppealBody = AppealBody(dictSort,LocalData.getMerchant().businessId,appealPerson,appealPhone, appealDescribe,uploadImgs,"1")
return apiService.postAddAppeal(ApiParams<AppealBody>().setParams(body)) return apiService.postAddAppeal(ApiParams<AppealBody>().setParams(body))
} }
...@@ -35,7 +40,7 @@ class AppealRequest : BaseRespons() { ...@@ -35,7 +40,7 @@ class AppealRequest : BaseRespons() {
class AppealInfo( class AppealInfo(
var dictLabel: ObservableField<String>, var dictLabel: ObservableField<String>,
var dictValue: String?, var dictSort: String?,
var storeName: ObservableField<String>, var storeName: ObservableField<String>,
var companyName: ObservableField<String>, var companyName: ObservableField<String>,
var responsiblePerson: ObservableField<String>, var responsiblePerson: ObservableField<String>,
...@@ -63,7 +68,7 @@ class AppealRequest : BaseRespons() { ...@@ -63,7 +68,7 @@ class AppealRequest : BaseRespons() {
constructor(info: AppealBean) : this( constructor(info: AppealBean) : this(
ObservableField(info.type?.dictLabel), ObservableField(info.type?.dictLabel),
info.type?.dictValue, info.type?.dictSort,
ObservableField(info.storeName), ObservableField(info.storeName),
ObservableField(info.companyName), ObservableField(info.companyName),
ObservableField(info.responsiblePerson), ObservableField(info.responsiblePerson),
...@@ -89,7 +94,7 @@ class AppealRequest : BaseRespons() { ...@@ -89,7 +94,7 @@ class AppealRequest : BaseRespons() {
fun setAppealInfo(bean: AppealBean) { fun setAppealInfo(bean: AppealBean) {
dictLabel.set(bean.type?.dictLabel) dictLabel.set(bean.type?.dictLabel)
dictValue = bean.type?.dictValue dictSort = bean.type?.dictSort
} }
......
...@@ -2,11 +2,13 @@ package com.xx.merchanthbh.data.http.requst.body ...@@ -2,11 +2,13 @@ package com.xx.merchanthbh.data.http.requst.body
class AppealBody( class AppealBody(
var appealType: String = "",//诉求类型:0-报修,1-其他 var appealType: String = "",//诉求类型:0-报修,1-其他
var merchantId: String = "",//诉求商户id var merchantId: String? = "",//诉求商户id
var feedbackPerson: String = "",//反馈人 var feedbackPerson: String = "",//反馈人
var contactMode: String = "",//联系方式 var contactMode: String = "",//联系方式
var literalDescription: String = "",//诉求描述 var literalDescription: String = "",//诉求描述
var uploadPictures: List<String>,//上传图片 var uploadPictures: List<String>,//上传图片
var appealStatus: String = "",//诉求状态
) { ) {
} }
\ No newline at end of file
...@@ -4,7 +4,7 @@ import com.xx.merchanthbh.dialog.data.TextListProvider ...@@ -4,7 +4,7 @@ import com.xx.merchanthbh.dialog.data.TextListProvider
class AppealTypeBean( class AppealTypeBean(
var dictLabel: String = "", var dictLabel: String = "",
var dictValue: String = "", var dictSort: String = "",
) : TextListProvider { ) : TextListProvider {
override fun providerText(): String { override fun providerText(): String {
...@@ -12,6 +12,6 @@ class AppealTypeBean( ...@@ -12,6 +12,6 @@ class AppealTypeBean(
} }
override fun ProviderId(): String { override fun ProviderId(): String {
return dictValue return dictSort
} }
} }
\ No newline at end of file
...@@ -38,7 +38,8 @@ public class AppealActivity extends BaseActivity<ActivityAppealBinding, AppealVi ...@@ -38,7 +38,8 @@ public class AppealActivity extends BaseActivity<ActivityAppealBinding, AppealVi
super.initData(); super.initData();
/*调取数据字典数据*/ /*调取数据字典数据*/
viewModel.getAppealTypesList(); viewModel.getAppealTypesList();
// 调用ViewModel的方法来刷新昵称
viewModel.refreshNickName();
/*上传图片*/ /*上传图片*/
viewModel.appealPicsAdapter= new AddImgAdapter(this, new ArrayList(),5); viewModel.appealPicsAdapter= new AddImgAdapter(this, new ArrayList(),5);
......
...@@ -15,6 +15,7 @@ import com.xx.merchanthbh.data.http.requst.AppealRequest; ...@@ -15,6 +15,7 @@ import com.xx.merchanthbh.data.http.requst.AppealRequest;
import com.xx.merchanthbh.data.http.respons.AppealTypeBean; import com.xx.merchanthbh.data.http.respons.AppealTypeBean;
import com.xx.merchanthbh.data.http.respons.CategoryBean; import com.xx.merchanthbh.data.http.respons.CategoryBean;
import com.xx.merchanthbh.data.http.respons.Filebean; import com.xx.merchanthbh.data.http.respons.Filebean;
import com.xx.merchanthbh.data.local.LocalData;
import com.xx.merchanthbh.dialog.AppealTypeListDialog; import com.xx.merchanthbh.dialog.AppealTypeListDialog;
import com.xx.merchanthbh.dialog.data.TextListProvider; import com.xx.merchanthbh.dialog.data.TextListProvider;
import com.xx.merchanthbh.ui.addproduct.AddProductViewModel; import com.xx.merchanthbh.ui.addproduct.AddProductViewModel;
...@@ -26,6 +27,7 @@ import com.xx.xxviewlibrary.witget.model.FileBean; ...@@ -26,6 +27,7 @@ import com.xx.xxviewlibrary.witget.model.FileBean;
import java.io.File; import java.io.File;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
import io.reactivex.rxjava3.disposables.Disposable; import io.reactivex.rxjava3.disposables.Disposable;
import io.reactivex.rxjava3.functions.Consumer; import io.reactivex.rxjava3.functions.Consumer;
...@@ -40,7 +42,7 @@ public class AppealViewModel extends BaseViewModel<AppealRequest> { ...@@ -40,7 +42,7 @@ public class AppealViewModel extends BaseViewModel<AppealRequest> {
/*创建反馈类型的label*/ /*创建反馈类型的label*/
public ObservableField<String> dictLabel = new ObservableField<>(""); public ObservableField<String> dictLabel = new ObservableField<>("");
/*创建反馈类型的value*/ /*创建反馈类型的value*/
public String dictValue = null; public String dictSort = null;
/*诉求商户*/ /*诉求商户*/
public ObservableField<String> appealCustom = new ObservableField<>(""); public ObservableField<String> appealCustom = new ObservableField<>("");
/*反馈人*/ /*反馈人*/
...@@ -60,6 +62,17 @@ public class AppealViewModel extends BaseViewModel<AppealRequest> { ...@@ -60,6 +62,17 @@ public class AppealViewModel extends BaseViewModel<AppealRequest> {
super(application, model); super(application, model);
} }
private void setValueToNickName() {
/*给登录人所在商户赋值*/
appealCustom.set(LocalData.getMerchant().getStoreName());
/*给登录人赋值*/
appealPerson.set(LocalData.getUser().getNickName());
}
public void refreshNickName() {
setValueToNickName();
}
/*获取反馈类型列表(数据字典)*/ /*获取反馈类型列表(数据字典)*/
public void getAppealTypesList() { public void getAppealTypesList() {
model.getAppealTypeList() model.getAppealTypeList()
...@@ -76,6 +89,9 @@ public class AppealViewModel extends BaseViewModel<AppealRequest> { ...@@ -76,6 +89,9 @@ public class AppealViewModel extends BaseViewModel<AppealRequest> {
appealTypeBeanList.clear(); appealTypeBeanList.clear();
/*将接口的数据字典放入*/ /*将接口的数据字典放入*/
appealTypeBeanList.addAll(resultBean); appealTypeBeanList.addAll(resultBean);
/*在初始页面的时候要给选择器(反馈类型)一个初始值*/
dictLabel.set(resultBean.get(0).getDictLabel());
dictSort = resultBean.get(0).getDictSort();
} }
@Override @Override
...@@ -96,7 +112,7 @@ public class AppealViewModel extends BaseViewModel<AppealRequest> { ...@@ -96,7 +112,7 @@ public class AppealViewModel extends BaseViewModel<AppealRequest> {
/*选择以后把所在的label给set进去*/ /*选择以后把所在的label给set进去*/
dictLabel.set(data.providerText()); dictLabel.set(data.providerText());
/*选择以后把所在的value给set进去*/ /*选择以后把所在的value给set进去*/
dictValue = data.ProviderId(); dictSort = data.ProviderId();
} }
}); });
/*展示弹窗*/ /*展示弹窗*/
...@@ -168,16 +184,23 @@ public class AppealViewModel extends BaseViewModel<AppealRequest> { ...@@ -168,16 +184,23 @@ public class AppealViewModel extends BaseViewModel<AppealRequest> {
/*最后的提交创建诉求*/ /*最后的提交创建诉求*/
public void submitAppeal(View view) { public void submitAppeal(View view) {
/*上传图片*/ /*上传图片*/
List uploadImgs = appealPicsAdapter.mList; /*把图片转成list<String>类型*/
Log.v("1--dictValue的值!!!!!:", String.valueOf(dictValue)); List<String> uploadImgs = null;
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N) {
uploadImgs = appealPicsAdapter.mList.stream()
.map(fileBean -> fileBean.getId())
.collect(Collectors.toList());
}
Log.v("1--dictValue的值!!!!!:", String.valueOf(dictSort));
Log.v("2--appealCustom的值!!!!!:", appealCustom.get()); Log.v("2--appealCustom的值!!!!!:", appealCustom.get());
Log.v("3--appealPerson的值!!!!!:", appealPerson.get()); Log.v("3--appealPerson的值!!!!!:", appealPerson.get());
Log.v("4--appealPhone的值!!!!!:", appealPhone.get()); Log.v("4--appealPhone的值!!!!!:", appealPhone.get());
Log.v("5--appealDescribe的值!!!!!:", appealDescribe.get()); Log.v("5--appealDescribe的值!!!!!:", appealDescribe.get());
Log.v("6--这是图片的数组:", uploadImgs.toString()); Log.v("6--这是图片的数组:", uploadImgs.toString());
/*依次传入反馈类型,诉求商户,反馈人,联系方式,文字描述,上传图片*/ /*依次传入反馈类型,诉求商户,反馈人,联系方式,文字描述,上传图片*/
/*调用request的添加接口*/ /*调用request的添加接口*/
model.addAppeal(dictValue,appealCustom.get(), appealPerson.get(), appealPhone.get(), appealDescribe.get(), uploadImgs).compose(RxUtils.schedulersTransformer()) //线程调度 model.addAppeal(dictSort, appealPerson.get(), appealPhone.get(), appealDescribe.get(), uploadImgs).compose(RxUtils.schedulersTransformer()) //线程调度
.doOnSubscribe(AppealViewModel.this) .doOnSubscribe(AppealViewModel.this)
.doOnSubscribe(new Consumer<Disposable>() { .doOnSubscribe(new Consumer<Disposable>() {
@Override @Override
......
...@@ -63,6 +63,7 @@ ...@@ -63,6 +63,7 @@
android:layout_marginBottom="13dp" android:layout_marginBottom="13dp"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
app:content_type="1"
app:hint_text="请输入诉求商户" app:hint_text="请输入诉求商户"
isBottom="true"/> isBottom="true"/>
<!--反馈人--> <!--反馈人-->
...@@ -73,7 +74,6 @@ ...@@ -73,7 +74,6 @@
android:layout_marginBottom="13dp" android:layout_marginBottom="13dp"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
app:hint_text="请输入反馈人"
isBottom="true" isBottom="true"
app:necessary="false" /> app:necessary="false" />
<!--联系方式--> <!--联系方式-->
......
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