Commit 76589a5e authored by yangxuenan's avatar yangxuenan Committed by 杨秀秀

完善招聘信息

parent d065e4d5
...@@ -4,11 +4,12 @@ import android.content.Context; ...@@ -4,11 +4,12 @@ import android.content.Context;
import com.xx.hbhconsumer.R; import com.xx.hbhconsumer.R;
import com.xx.hbhconsumer.data.http.respons.OrderBean; import com.xx.hbhconsumer.data.http.respons.OrderBean;
import com.xx.hbhconsumer.data.http.respons.RecruitBean;
import com.xx.hbhconsumer.databinding.ItemNewsBinding; import com.xx.hbhconsumer.databinding.ItemNewsBinding;
import com.xx.hbhconsumer.databinding.ItemRecruitBinding; import com.xx.hbhconsumer.databinding.ItemRecruitBinding;
import com.xx.xxviewlibrary.base.xxBaseRecyclerViewAdapter; import com.xx.xxviewlibrary.base.xxBaseRecyclerViewAdapter;
public class RecruitAdapter extends xxBaseRecyclerViewAdapter<ItemRecruitBinding, OrderBean> { public class RecruitAdapter extends xxBaseRecyclerViewAdapter<ItemRecruitBinding, RecruitBean> {
public RecruitAdapter(Context context) { public RecruitAdapter(Context context) {
super(context); super(context);
mContext = context; mContext = context;
...@@ -20,8 +21,43 @@ public class RecruitAdapter extends xxBaseRecyclerViewAdapter<ItemRecruitBinding ...@@ -20,8 +21,43 @@ public class RecruitAdapter extends xxBaseRecyclerViewAdapter<ItemRecruitBinding
} }
@Override @Override
protected void covert(ItemRecruitBinding dataBind, OrderBean data, int position) { protected void covert(ItemRecruitBinding dataBind, RecruitBean data, int position) {
// 将接口调出来的布局遍历上去 // 将接口调出来的布局遍历上去
dataBind.setOrderBean(data); dataBind.setRecruitBean(data);
dataBind.tvRecruitTitle.setText(data.getPostName());
dataBind.tvAddress.setText(data.getWorkPlace());
if ("1".equals(data.getEducationalRequirement())) {
dataBind.tvEducation.setText("学历:硕士及以上");
} else if ("2".equals(data.getEducationalRequirement())) {
dataBind.tvEducation.setText("学历:本科及以上");
} else if ("3".equals(data.getEducationalRequirement())) {
dataBind.tvEducation.setText("学历:专科及以上");
} else if ("4".equals(data.getEducationalRequirement())) {
dataBind.tvEducation.setText("学历:高中及以上");
} else if ("5".equals(data.getEducationalRequirement())) {
dataBind.tvEducation.setText("学历:初中及以上");
} else if ("6".equals(data.getEducationalRequirement())) {
dataBind.tvEducation.setText("学历:无");
}
if ("1".equals(data.getWorkExperience())) {
dataBind.tvExperience.setText("经验:1年");
} else if ("2".equals(data.getWorkExperience())) {
dataBind.tvExperience.setText("经验:1-3年");
} else if ("3".equals(data.getWorkExperience())) {
dataBind.tvExperience.setText("经验:3-5年");
} else if ("4".equals(data.getWorkExperience())) {
dataBind.tvExperience.setText("经验:5-7年");
} else if ("5".equals(data.getWorkExperience())) {
dataBind.tvExperience.setText("经验:7-10年");
} else if ("6".equals(data.getWorkExperience())) {
dataBind.tvExperience.setText("经验:10年以上");
} else if ("7".equals(data.getWorkExperience())) {
dataBind.tvExperience.setText("经验:无");
}
dataBind.tvSalary.setText(data.getPostWage() + "/月");
} }
} }
...@@ -308,7 +308,7 @@ interface ApiService { ...@@ -308,7 +308,7 @@ interface ApiService {
@Headers("Content-type:application/json") @Headers("Content-type:application/json")
@POST("app/recruitment/queryAppRecruitmentList") @POST("app/recruitment/queryAppRecruitmentList")
fun queryAppRecruitmentList(@Body requestBody: RequestBody): Observable<BaseResponse<List<RecruitBean>>> fun queryAppRecruitmentList(@Body requestBody: RequestBody): Observable<BasePageResponse<RecruitBean>>
@Headers("Content-type:application/json") @Headers("Content-type:application/json")
@GET("app/recruitment/{businessId}") @GET("app/recruitment/{businessId}")
fun queryAppRecruitmentDetail(@Path("businessId") businessId: String): Observable<BaseResponse<RecruitBean>> fun queryAppRecruitmentDetail(@Path("businessId") businessId: String): Observable<BaseResponse<RecruitBean>>
......
...@@ -7,6 +7,7 @@ import java.util.List; ...@@ -7,6 +7,7 @@ import java.util.List;
import io.reactivex.rxjava3.core.Observable; import io.reactivex.rxjava3.core.Observable;
import me.goldze.mvvmhabit.http.ApiParams; import me.goldze.mvvmhabit.http.ApiParams;
import me.goldze.mvvmhabit.http.BasePageResponse;
import me.goldze.mvvmhabit.http.BaseResponse; import me.goldze.mvvmhabit.http.BaseResponse;
import okhttp3.RequestBody; import okhttp3.RequestBody;
...@@ -19,7 +20,7 @@ public class RecruitRequest extends BaseRespons { ...@@ -19,7 +20,7 @@ public class RecruitRequest extends BaseRespons {
return getApiService().recruitment(body); return getApiService().recruitment(body);
} }
public Observable<BaseResponse<List<RecruitBean>>> queryAppRecruitmentList(String recruitmentType) { public Observable<BasePageResponse<RecruitBean>> queryAppRecruitmentList(String recruitmentType) {
ApiParams<QueryAppRecruitmentListRequestBody> apiParams = new ApiParams<>(); ApiParams<QueryAppRecruitmentListRequestBody> apiParams = new ApiParams<>();
QueryAppRecruitmentListRequestBody requestBody = new QueryAppRecruitmentListRequestBody(recruitmentType); QueryAppRecruitmentListRequestBody requestBody = new QueryAppRecruitmentListRequestBody(recruitmentType);
......
...@@ -3,17 +3,62 @@ package com.xx.hbhconsumer.ui.recruit; ...@@ -3,17 +3,62 @@ package com.xx.hbhconsumer.ui.recruit;
import android.os.Bundle; import android.os.Bundle;
import com.xx.hbhconsumer.R; import com.xx.hbhconsumer.R;
import com.xx.hbhconsumer.adapter.RecruitAdapter;
import com.xx.hbhconsumer.data.http.requst.RecruitRequest;
import com.xx.hbhconsumer.databinding.ActivityRecruitBinding; import com.xx.hbhconsumer.databinding.ActivityRecruitBinding;
import com.xx.hbhconsumer.databinding.ActivityRecruitDetailBinding;
import me.goldze.mvvmhabit.base.BaseActivity; import me.goldze.mvvmhabit.base.BaseActivity;
import me.tatarka.bindingcollectionadapter2.BR; import me.tatarka.bindingcollectionadapter2.BR;
public class RecruitDetailActivity extends BaseActivity<ActivityRecruitBinding, RecruitViewModel> { public class RecruitDetailActivity extends BaseActivity<ActivityRecruitDetailBinding, RecruitDetailViewModel> {
@Override @Override
public void initData() { public void initData() {
super.initData(); super.initData();
viewModel.recruitBean.observe(this, recruitBean -> {
if (recruitBean != null) {
binding.tvRecruitTitle.setText(recruitBean.getPostName());
binding.tvRecruitCompany.setText("招聘企业:" + recruitBean.getRecruitmentEnterprise());
binding.tvAddress.setText(recruitBean.getWorkPlace());
if ("1".equals(recruitBean.getEducationalRequirement())) {
binding.tvEducation.setText("学历:硕士及以上");
} else if ("2".equals(recruitBean.getEducationalRequirement())) {
binding.tvEducation.setText("学历:本科及以上");
} else if ("3".equals(recruitBean.getEducationalRequirement())) {
binding.tvEducation.setText("学历:专科及以上");
} else if ("4".equals(recruitBean.getEducationalRequirement())) {
binding.tvEducation.setText("学历:高中及以上");
} else if ("5".equals(recruitBean.getEducationalRequirement())) {
binding.tvEducation.setText("学历:初中及以上");
} else if ("6".equals(recruitBean.getEducationalRequirement())) {
binding.tvEducation.setText("学历:无");
}
if ("1".equals(recruitBean.getWorkExperience())) {
binding.tvExperience.setText("经验:1年");
} else if ("2".equals(recruitBean.getWorkExperience())) {
binding.tvExperience.setText("经验:1-3年");
} else if ("3".equals(recruitBean.getWorkExperience())) {
binding.tvExperience.setText("经验:3-5年");
} else if ("4".equals(recruitBean.getWorkExperience())) {
binding.tvExperience.setText("经验:5-7年");
} else if ("5".equals(recruitBean.getWorkExperience())) {
binding.tvExperience.setText("经验:7-10年");
} else if ("6".equals(recruitBean.getWorkExperience())) {
binding.tvExperience.setText("经验:10年以上");
} else if ("7".equals(recruitBean.getWorkExperience())) {
binding.tvExperience.setText("经验:无");
}
binding.tvSalary.setText(recruitBean.getPostWage() + "/月");
}
});
} }
@Override @Override
...@@ -26,4 +71,10 @@ public class RecruitDetailActivity extends BaseActivity<ActivityRecruitBinding, ...@@ -26,4 +71,10 @@ public class RecruitDetailActivity extends BaseActivity<ActivityRecruitBinding,
return BR.couponListViewModel; return BR.couponListViewModel;
} }
@Override
public RecruitDetailViewModel initViewModel() {
RecruitRequest model = new RecruitRequest();
String id = getIntent().getStringExtra("id");
return new RecruitDetailViewModel(getApplication(), model, id);
}
} }
...@@ -3,17 +3,72 @@ package com.xx.hbhconsumer.ui.recruit; ...@@ -3,17 +3,72 @@ package com.xx.hbhconsumer.ui.recruit;
import android.app.Application; import android.app.Application;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.lifecycle.MutableLiveData;
import com.xx.hbhconsumer.data.http.requst.PhoneRequest; import com.xx.hbhconsumer.data.http.requst.PhoneRequest;
import com.xx.hbhconsumer.data.http.requst.RecruitRequest;
import com.xx.hbhconsumer.data.http.respons.RecruitBean;
import java.util.ArrayList;
import java.util.List;
import io.reactivex.rxjava3.disposables.Disposable;
import io.reactivex.rxjava3.functions.Consumer;
import me.goldze.mvvmhabit.base.BaseViewModel; import me.goldze.mvvmhabit.base.BaseViewModel;
import me.goldze.mvvmhabit.http.ApiDisposableObserver;
import me.goldze.mvvmhabit.http.ApiDisposablePageObserver;
import me.goldze.mvvmhabit.utils.RxUtils;
public class RecruitDetailViewModel extends BaseViewModel<RecruitRequest> {
public MutableLiveData<RecruitBean> recruitBean = new MutableLiveData<>(null);
private String id;
public class RecruitDetailViewModel extends BaseViewModel<PhoneRequest> {
public RecruitDetailViewModel(@NonNull Application application) { public RecruitDetailViewModel(@NonNull Application application) {
super(application); super(application);
} }
public RecruitDetailViewModel(@NonNull Application application, PhoneRequest model) { public RecruitDetailViewModel(@NonNull Application application, RecruitRequest model, String id) {
super(application, model); super(application, model);
this.id = id;
}
@Override
public void onCreate() {
super.onCreate();
}
@Override
public void onStart() {
super.onStart();
}
@Override
public void onResume() {
super.onResume();
loadData();
}
public void loadData() {
model.queryAppRecruitmentDetail(id)
.compose(RxUtils.schedulersTransformer()) //线程调度
.doOnSubscribe(RecruitDetailViewModel.this)
.doOnSubscribe(new Consumer<Disposable>() {
@Override
public void accept(Disposable disposable) throws Exception {
}
}).subscribe(new ApiDisposableObserver<RecruitBean>() {
@Override
public void onSuccess(RecruitBean recruitBeans) {
recruitBean.postValue(recruitBeans);
}
@Override
public void onError(String Error) {
dismissDialog();
}
});
} }
} }
...@@ -8,8 +8,10 @@ import androidx.annotation.Nullable; ...@@ -8,8 +8,10 @@ import androidx.annotation.Nullable;
import com.xx.hbhconsumer.BR; import com.xx.hbhconsumer.BR;
import com.xx.hbhconsumer.R; import com.xx.hbhconsumer.R;
import com.xx.hbhconsumer.adapter.NewsAdapter;
import com.xx.hbhconsumer.adapter.RecruitAdapter; import com.xx.hbhconsumer.adapter.RecruitAdapter;
import com.xx.hbhconsumer.data.http.requst.LoginRequest; import com.xx.hbhconsumer.data.http.requst.LoginRequest;
import com.xx.hbhconsumer.data.http.requst.RecruitRequest;
import com.xx.hbhconsumer.data.http.respons.OrderBean; import com.xx.hbhconsumer.data.http.respons.OrderBean;
import com.xx.hbhconsumer.databinding.FragmentRecruitListBinding; import com.xx.hbhconsumer.databinding.FragmentRecruitListBinding;
...@@ -20,9 +22,9 @@ import me.goldze.mvvmhabit.base.BaseFragment; ...@@ -20,9 +22,9 @@ import me.goldze.mvvmhabit.base.BaseFragment;
public class RecruitListFragment extends BaseFragment<FragmentRecruitListBinding, RecruitListViewModel> { public class RecruitListFragment extends BaseFragment<FragmentRecruitListBinding, RecruitListViewModel> {
public static RecruitListFragment newInstance(Integer orderType) { public static RecruitListFragment newInstance(Integer recruitType) {
Bundle args = new Bundle(); Bundle args = new Bundle();
args.putInt("orderType", orderType); args.putInt("recruitType", recruitType + 1);
RecruitListFragment fragment = new RecruitListFragment(); RecruitListFragment fragment = new RecruitListFragment();
fragment.setArguments(args); fragment.setArguments(args);
return fragment; return fragment;
...@@ -30,17 +32,16 @@ public class RecruitListFragment extends BaseFragment<FragmentRecruitListBinding ...@@ -30,17 +32,16 @@ public class RecruitListFragment extends BaseFragment<FragmentRecruitListBinding
@Override @Override
public void initData() { public void initData() {
List<OrderBean> orderBeanList = new ArrayList<>();
//获取适配器上下文 viewModel.recruitBeanList.observe(this, recruitBeanList -> {
RecruitAdapter orderListAdapter = new RecruitAdapter(getActivity()); //获取适配器上下文
RecruitAdapter orderListAdapter = new RecruitAdapter(getActivity());
//把adapterset进去 //把adapterset进去
binding.rvOrderList.setAdapter(orderListAdapter); binding.rvOrderList.setAdapter(orderListAdapter);
orderListAdapter.mList = orderBeanList; orderListAdapter.mList = recruitBeanList;
orderListAdapter.setOnItemClick((position, data) -> startActivity(RecruitDetailActivity.class));
orderListAdapter.setOnItemClick((position, data) -> viewModel.goDetail(data.getBusinessId()));
});
} }
@Override @Override
...@@ -60,7 +61,9 @@ public class RecruitListFragment extends BaseFragment<FragmentRecruitListBinding ...@@ -60,7 +61,9 @@ public class RecruitListFragment extends BaseFragment<FragmentRecruitListBinding
@Override @Override
public RecruitListViewModel initViewModel() { public RecruitListViewModel initViewModel() {
LoginRequest model = new LoginRequest(); RecruitRequest model = new RecruitRequest();
return new RecruitListViewModel(getActivity().getApplication(), model); Bundle args = getArguments();
Integer recruitType = args.getInt("recruitType");
return new RecruitListViewModel(getActivity().getApplication(), model, String.valueOf(recruitType));
} }
} }
package com.xx.hbhconsumer.ui.recruit; package com.xx.hbhconsumer.ui.recruit;
import android.app.Application; import android.app.Application;
import android.os.Bundle;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.lifecycle.MutableLiveData;
import com.xx.hbhconsumer.data.http.requst.LoginRequest; import com.xx.hbhconsumer.data.http.requst.LoginRequest;
import com.xx.hbhconsumer.data.http.requst.RecruitRequest;
import com.xx.hbhconsumer.data.http.respons.AppInformationBean;
import com.xx.hbhconsumer.data.http.respons.RecruitBean;
import com.xx.hbhconsumer.ui.news.NewsListViewModel;
import com.xx.hbhconsumer.ui.order.OrderDetailActivity;
import java.util.ArrayList;
import java.util.List;
import io.reactivex.rxjava3.disposables.Disposable;
import io.reactivex.rxjava3.functions.Consumer;
import me.goldze.mvvmhabit.base.BaseViewModel; import me.goldze.mvvmhabit.base.BaseViewModel;
import me.goldze.mvvmhabit.http.ApiDisposableObserver;
import me.goldze.mvvmhabit.http.ApiDisposablePageObserver;
import me.goldze.mvvmhabit.utils.RxUtils;
public class RecruitListViewModel extends BaseViewModel<RecruitRequest> {
public class RecruitListViewModel extends BaseViewModel<LoginRequest> { public MutableLiveData<List<RecruitBean>> recruitBeanList = new MutableLiveData<>(new ArrayList<>());
String recruitmentType;
public RecruitListViewModel(@NonNull Application application, LoginRequest model) { public RecruitListViewModel(@NonNull Application application, RecruitRequest model, String recruitmentType) {
super(application, model); super(application, model);
this.recruitmentType = recruitmentType;
}
public void goDetail(String id) {
Bundle bundle = new Bundle();
bundle.putString("id", id);
startActivity(RecruitDetailActivity.class, bundle);
} }
@Override
public void onCreate() {
super.onCreate();
}
@Override
public void onStart() {
super.onStart();
}
@Override
public void onResume() {
super.onResume();
loadData();
}
public void loadData() {
model.queryAppRecruitmentList(recruitmentType)
.compose(RxUtils.schedulersTransformer()) //线程调度
.doOnSubscribe(RecruitListViewModel.this)
.doOnSubscribe(new Consumer<Disposable>() {
@Override
public void accept(Disposable disposable) throws Exception {
}
}).subscribe(new ApiDisposablePageObserver<RecruitBean>() {
@Override
public void onSuccess(List<RecruitBean> recruitBeans) {
recruitBeanList.postValue(recruitBeans);
}
@Override
public void onError(String Error) {
dismissDialog();
}
@Override
public void getTotal(int total) {
}
});
}
} }
...@@ -16,4 +16,6 @@ public class RecruitViewModel extends BaseViewModel<PhoneRequest> { ...@@ -16,4 +16,6 @@ public class RecruitViewModel extends BaseViewModel<PhoneRequest> {
public RecruitViewModel(@NonNull Application application, PhoneRequest model) { public RecruitViewModel(@NonNull Application application, PhoneRequest model) {
super(application, model); super(application, model);
} }
} }
...@@ -15,7 +15,6 @@ ...@@ -15,7 +15,6 @@
<com.xx.xxviewlibrary.witget.XxBar <com.xx.xxviewlibrary.witget.XxBar
android:id="@+id/bar" android:id="@+id/bar"
on_click="@{hbhViewModel.clickFinish}"
bar_title="@{@string/navigation_sea}" bar_title="@{@string/navigation_sea}"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="55dp"/> android:layout_height="55dp"/>
...@@ -37,6 +36,7 @@ ...@@ -37,6 +36,7 @@
android:text="电商详情页设计师" /> android:text="电商详情页设计师" />
<TextView <TextView
android:id="@+id/tv_salary"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_alignParentRight="true" android:layout_alignParentRight="true"
...@@ -61,6 +61,7 @@ ...@@ -61,6 +61,7 @@
android:src="@mipmap/zhaopin_icon_qiye"/> android:src="@mipmap/zhaopin_icon_qiye"/>
<TextView <TextView
android:id="@+id/tv_recruit_company"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_toRightOf="@id/iv_icon_company" android:layout_toRightOf="@id/iv_icon_company"
...@@ -88,7 +89,7 @@ ...@@ -88,7 +89,7 @@
android:src="@mipmap/zhaopin_icon_xueli"/> android:src="@mipmap/zhaopin_icon_xueli"/>
<TextView <TextView
android:id="@+id/tv_icon_xueli" android:id="@+id/tv_education"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_toRightOf="@id/iv_icon_xueli" android:layout_toRightOf="@id/iv_icon_xueli"
...@@ -104,10 +105,11 @@ ...@@ -104,10 +105,11 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_centerVertical="true" android:layout_centerVertical="true"
android:layout_marginLeft="31dp" android:layout_marginLeft="31dp"
android:layout_toRightOf="@id/tv_icon_xueli" android:layout_toRightOf="@id/tv_education"
android:src="@mipmap/zhaopin_icon_jingyan"/> android:src="@mipmap/zhaopin_icon_jingyan"/>
<TextView <TextView
android:id="@+id/tv_experience"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_toRightOf="@id/iv_icon_jinyan" android:layout_toRightOf="@id/iv_icon_jinyan"
...@@ -134,6 +136,7 @@ ...@@ -134,6 +136,7 @@
android:src="@mipmap/zhaopin_icon_weizhi"/> android:src="@mipmap/zhaopin_icon_weizhi"/>
<TextView <TextView
android:id="@+id/tv_address"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_toRightOf="@id/iv_icon_address" android:layout_toRightOf="@id/iv_icon_address"
...@@ -144,6 +147,8 @@ ...@@ -144,6 +147,8 @@
android:text="天津市河西区" /> android:text="天津市河西区" />
</RelativeLayout> </RelativeLayout>
</RelativeLayout> </RelativeLayout>
</RelativeLayout> </RelativeLayout>
......
...@@ -5,8 +5,8 @@ ...@@ -5,8 +5,8 @@
<data> <data>
<variable <variable
name="orderBean" name="recruitBean"
type="com.xx.hbhconsumer.data.http.respons.OrderBean" /> type="com.xx.hbhconsumer.data.http.respons.RecruitBean" />
</data> </data>
<RelativeLayout <RelativeLayout
......
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