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

两端的招聘详情完成

parent edaea114
......@@ -124,6 +124,10 @@
<activity
android:name=".ui.appeal.AppealDetailActivity"
android:exported="true"/>
<!-- 招聘详情-->
<activity
android:name=".ui.recruitment.JobDetailActivity"
android:exported="true"/>
<!-- 添加商品-->
<activity android:name=".ui.addproduct.AddProductActivity"
......
......@@ -3,7 +3,9 @@ package com.xx.merchanthbh.data.http.requst;
import com.xx.merchanthbh.data.http.BaseRespons;
import com.xx.merchanthbh.data.http.respons.AdvertisingBean;
import com.xx.merchanthbh.data.http.respons.JobDetailBean;
import com.xx.merchanthbh.data.http.respons.JobInformationBean;
import com.xx.merchanthbh.data.http.respons.OrderDetailBean;
import java.util.List;
......@@ -26,6 +28,13 @@ public class RecruitmentRequest extends BaseRespons {
RequestBody body = apiParams.setParams(requestBody);
return getApiService().getJobInformationList(body);
}
/**
* 获取招聘详情信息
*/
public Observable<BaseResponse<JobDetailBean>> getJobInformationDetailById(String businessId) {
return getApiService().getJobInformationDetailById(businessId);
}
/**
* 获取广告列表
* affiliatedCompany string 所属公司 1- 河西 2-滨海
......
package com.xx.merchanthbh.data.http.respons
/*招聘详情*/
class JobDetailBean(
/*postName string 岗位名称*/
var postName: String,
/*postWage string 岗位工资,默认无*/
var postWage: String,
/*recruitmentEnterprise String 招聘企业*/
var recruitmentEnterprise: String,
/*educationalRequirement string
学历要求 1-硕士及以上 2-本科及以上 3-专科及以上 4-高中及以上 5-初中及以上 6-无*/
var educationalRequirement: String,
/*workExperience string
工作经验 1、1年 2、1-3年 3、3-5年 4、5-7年 5、7-10年 6、10年以上 7、无*/
var workExperience: String,
/*workPlace string 工作地点*/
var workPlace: String,
/*postDescription string 岗位描述*/
var postDescription: String,
/*postResponsibility String 岗位职责*/
var postResponsibility: String,
/*probationPeriod String 试用期 默认无*/
var probationPeriod: String,
/*contactInformation String
联系方式 1-手机号 2-邮箱 3-座机*/
var contactInformation: String,
/*otherInformation String 其他信息*/
var otherInformation: String
) {
}
\ No newline at end of file
......@@ -2,6 +2,8 @@ package com.xx.merchanthbh.data.http.respons
class JobInformationBean(
/*businessId*/
var businessId: String,
/*岗位名称*/
var postName: String,
/*岗位工资,默认无*/
......@@ -13,6 +15,6 @@ class JobInformationBean(
/*工作地点*/
var workPlace: String,
/*招聘类型 1-环渤海内聘 2-商户直聘*/
var recruitmentType:String
var recruitmentType: String
) {
}
\ No newline at end of file
package com.xx.merchanthbh.ui.recruitment;
import android.os.Bundle;
import android.util.Log;
import com.xx.merchanthbh.R;
import com.xx.merchanthbh.data.http.requst.RecruitmentRequest;
import com.xx.merchanthbh.databinding.ActivityJobDetailBinding;
import me.goldze.mvvmhabit.base.BaseActivity;
import me.tatarka.bindingcollectionadapter2.BR;
public class JobDetailActivity extends BaseActivity<ActivityJobDetailBinding,JobDetailViewModel> {
/*招聘id,为了详情页通过id获取信息*/
String businessId;
@Override
public int initContentView(Bundle savedInstanceState) {
return R.layout.activity_job_detail;
}
@Override
public int initVariableId() {
return BR.jobDetailViewModel;
}
@Override
public void initParam() {
super.initParam();
/*获取列表页传过来的参数*/
businessId = getIntent().getStringExtra("businessId");
Log.v("这是传过来的订单id参数", businessId);
}
@Override
public void initData() {
super.initData();
/*给viewmodel传值的business设置值*/
/*报错行!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
viewModel.businessId = businessId;
/*调接口*/
viewModel.getJobInformationDetailById();
}
@Override
public JobDetailViewModel initViewModel() {
RecruitmentRequest lm = new RecruitmentRequest();
return new JobDetailViewModel(getApplication(), lm);
}
}
package com.xx.merchanthbh.ui.recruitment;
import android.app.Application;
import android.os.Build;
import android.util.Log;
import androidx.annotation.NonNull;
import androidx.databinding.ObservableField;
import com.xx.merchanthbh.data.http.requst.RecruitmentRequest;
import com.xx.merchanthbh.data.http.respons.JobDetailBean;
import com.xx.merchanthbh.data.http.respons.OrderDetailBean;
import com.xx.merchanthbh.ui.order.OrderDetailViewModel;
import java.util.HashMap;
import java.util.Map;
import io.reactivex.rxjava3.disposables.Disposable;
import io.reactivex.rxjava3.functions.Consumer;
import me.goldze.mvvmhabit.base.BaseViewModel;
import me.goldze.mvvmhabit.http.ApiDisposableObserver;
import me.goldze.mvvmhabit.utils.RxUtils;
public class JobDetailViewModel extends BaseViewModel<RecruitmentRequest> {
/*声明要给接口传参的id*/
public String businessId = "";
//岗位名称
public ObservableField<String> postName = new ObservableField<>("");
//岗位工资
public ObservableField<String> postWage = new ObservableField<>("");
//招聘企业
public ObservableField<String> recruitmentEnterprise = new ObservableField<>("");
//学历要求 1-硕士及以上 2-本科及以上 3-专科及以上 4-高中及以上 5-初中及以上 6-无
public ObservableField<String> educationalRequirement = new ObservableField<>("");
//工作经验 1、1年 2、1-3年 3、3-5年 4、5-7年 5、7-10年 6、10年以上 7、无
public ObservableField<String> workExperience = new ObservableField<>("");
//工作地点
public ObservableField<String> workPlace = new ObservableField<>("");
//岗位描述
public ObservableField<String> postDescription = new ObservableField<>("");
//岗位职责
public ObservableField<String> postResponsibility = new ObservableField<>("");
//试用期 默认无
public ObservableField<String> probationPeriod = new ObservableField<>("");
//联系方式 1-手机号 2-邮箱 3-座机
public ObservableField<String> contactInformation = new ObservableField<>("");
//其他信息
public ObservableField<String> otherInformation = new ObservableField<>("");
public JobDetailViewModel(@NonNull Application application) {
super(application);
}
public JobDetailViewModel(@NonNull Application application, RecruitmentRequest model) {
super(application, model);
}
/**
* 获取招聘详情
*/
public void getJobInformationDetailById() {
model.getJobInformationDetailById(businessId).compose(RxUtils.schedulersTransformer()) //线程调度
.doOnSubscribe(JobDetailViewModel.this)
.doOnSubscribe(new Consumer<Disposable>() {
@Override
public void accept(Disposable disposable) throws Exception {
}
}).subscribe(new ApiDisposableObserver<JobDetailBean>() {
@Override
public void onSuccess(JobDetailBean resultBean) {
/*岗位名称*/
postName.set(resultBean.getPostName());
/*岗位工资*/
postWage.set(resultBean.getPostWage());
/*招聘企业*/
recruitmentEnterprise.set(resultBean.getRecruitmentEnterprise());
/*学历要求 1-硕士及以上 2-本科及以上 3-专科及以上 4-高中及以上 5-初中及以上 6-无*/
educationalRequirement.set(resultBean.getEducationalRequirement());
/*工作经验 1、1年 2、1-3年 3、3-5年 4、5-7年 5、7-10年 6、10年以上 7、无*/
workExperience.set(resultBean.getWorkExperience());
/*工作地点*/
workPlace.set(resultBean.getWorkPlace());
/*岗位描述*/
postDescription.set(resultBean.getPostDescription());
/*岗位职责*/
postResponsibility.set(resultBean.getPostResponsibility());
/*试用期 默认无*/
probationPeriod.set(resultBean.getProbationPeriod());
/*联系方式 1-手机号 2-邮箱 3-座机*/
contactInformation.set(resultBean.getContactInformation());
/*其他信息*/
otherInformation.set(resultBean.getOtherInformation());
/*学历转换*/
/*学历要求 1-硕士及以上 2-本科及以上 3-专科及以上 4-高中及以上 5-初中及以上 6-无*/
int educationalReq = Integer.parseInt(resultBean.getEducationalRequirement());
Map<String, String> educationalReqMap = new HashMap<>();
educationalReqMap.put("1", "硕士及以上");
educationalReqMap.put("2", "本科及以上");
educationalReqMap.put("3", "专科及以上");
educationalReqMap.put("4", "高中及以上");
educationalReqMap.put("5", "初中及以上");
educationalReqMap.put("6", "无");
String educationalReqString = educationalReqMap.put(String.valueOf(educationalReq), "未知");
educationalRequirement.set(educationalReqString);
/*工作经验转换*/
/*工作经验 1-1年 2-1-3年 3-3-5年 4-5-7年 5-7-10年 6-10年以上 7-无*/
int workExp = Integer.parseInt(resultBean.getWorkExperience());
Map<String, String> workExpMap = new HashMap<>();
workExpMap.put("1", "1年");
workExpMap.put("2", "1-3年");
workExpMap.put("3", "3-5年");
workExpMap.put("4", "5-7年");
workExpMap.put("5", "7-10年");
workExpMap.put("6", "10年以上");
workExpMap.put("7", "无");
String workExpString = workExpMap.put(String.valueOf(workExp), "未知");
workExperience.set(workExpString);
/*工作地点转换*/
/*工作地点 1-环渤海河西 2-滨海宏达公司*/
String workPlaces = String.valueOf(Integer.parseInt(resultBean.getWorkPlace()));
Map<String, String> workPlaceMap = new HashMap<>();
workPlaceMap.put("1", "环渤海河西");
workPlaceMap.put("2", "滨海宏达公司");
String workPlaceString = workPlaceMap.put(String.valueOf(workPlaces), "未知");
workPlace.set(workPlaceString);
/*联系方式转换*/
/*联系方式 1-手机号 2-邮箱 3-座机*/
String contactInformations = resultBean.getContactInformation();
Map<String, String> contactInformationMap = new HashMap<>();
contactInformationMap.put("1", "手机号");
contactInformationMap.put("2", "邮箱");
contactInformationMap.put("3", "座机");
String contactInformationString = contactInformationMap.put(contactInformations, "未知");
contactInformation.set(contactInformationString);
}
@Override
public void onError(String Error) {
}
});
}
}
......@@ -13,9 +13,11 @@ import com.xx.merchanthbh.R;
import com.xx.merchanthbh.data.http.requst.RecruitmentRequest;
import com.xx.merchanthbh.data.http.respons.AdvertisingBean;
import com.xx.merchanthbh.data.http.respons.JobInformationBean;
import com.xx.merchanthbh.data.http.respons.MessageBean;
import com.xx.merchanthbh.databinding.ActivityRecruitmentListBinding;
import com.xx.merchanthbh.fragment.adapter.JobInformationAdapter;
import com.xx.merchanthbh.ui.huanbohai.HbhBannerAdapter;
import com.xx.xxviewlibrary.base.xxBaseRecyclerViewAdapter;
import com.youth.banner.indicator.CircleIndicator;
import java.util.List;
......@@ -48,6 +50,14 @@ public class RecruitmentActivity extends BaseActivity<ActivityRecruitmentListBin
jobInformationAdapter.notifyDataSetChanged();
}
});
/*跳转工作详情*/
jobInformationAdapter.setOnItemClick(new xxBaseRecyclerViewAdapter.OnItemClick<JobInformationBean>() {
@Override
public void itemClickCalBack(int position, JobInformationBean data) {
/*将上下文和位置参数给方法*/
viewModel.goJobDetail(jobInformationAdapter, position);
}
});
viewModel.getJobsList();
//调用轮播图广告位接口
......
......@@ -2,12 +2,16 @@ package com.xx.merchanthbh.ui.recruitment;
import android.app.Application;
import android.os.Bundle;
import androidx.lifecycle.MutableLiveData;
import com.xx.merchanthbh.activity.adapter.MessageListAdapter;
import com.xx.merchanthbh.data.http.requst.RecruitmentRequest;
import com.xx.merchanthbh.data.http.respons.AdvertisingBean;
import com.xx.merchanthbh.data.http.respons.JobInformationBean;
import com.xx.merchanthbh.fragment.adapter.JobInformationAdapter;
import com.xx.merchanthbh.ui.msg.MessageDetailActivity;
import java.util.ArrayList;
import java.util.List;
......@@ -62,6 +66,17 @@ public class RecruitmentViewModel extends BaseViewModel<RecruitmentRequest> {
});
}
/*跳转招聘详情页面*/
public void goJobDetail(JobInformationAdapter jobInformationAdapter, int position) {
/*创建bundle*/
Bundle bundle = new Bundle();
/*将要传的businessId传过去*/
bundle.putString("businessId", jobInformationAdapter.mList.get(position).getBusinessId());
/*连带参数一块跳转到详情页*/
startActivity(JobDetailActivity.class, bundle);
}
//调用招聘列表的接口信息
public void getJobsList() {
model.getJobInformationList(recruitmentType)
......
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:binding="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<data>
<variable
name="jobDetailViewModel"
type="com.xx.merchanthbh.ui.recruitment.JobDetailViewModel" />
<import type="me.goldze.mvvmhabit.binding.viewadapter.recyclerview.LayoutManagers" />
<import type="me.goldze.mvvmhabit.binding.viewadapter.recyclerview.LineManagers" />
</data>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
android:fitsSystemWindows="true">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.xx.xxviewlibrary.witget.XxBar
android:id="@+id/bar"
on_click="@{jobDetailViewModel.clickFinish}"
android:layout_width="match_parent"
android:layout_height="55dp"
app:bar_title='@{@string/job_detail}'
app:layout_constraintTop_toTopOf="parent" />
<!-- 滚动轮-->
<!-- 底部导航栏 -->
<androidx.core.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="55dp"
android:background="@color/bg_grey">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="17dp"
android:layout_marginTop="13dp"
android:layout_marginRight="17dp"
android:layout_marginBottom="17dp"
android:background="@drawable/bg_white_radius_12"
android:orientation="vertical"
android:paddingLeft="13dp"
android:paddingRight="13dp">
<!--工作名称-->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="31dp"
android:orientation="horizontal">
<!--岗位名称-->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="left"
android:text="@={jobDetailViewModel.postName}"
android:textColor="#333333"
android:textSize="18sp"
android:textStyle="bold" />
<!--招聘企业-->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="right"
android:text="@={jobDetailViewModel.postWage}"
android:textColor="#C8382A"
android:textSize="16sp"
android:textStyle="bold" />
<!--K/月-->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="3dp"
android:gravity="right"
android:text="K/月"
android:textColor="#C8382A"
android:textSize="16sp"
android:textStyle="bold" />
</LinearLayout>
<!--工资-->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="28dp"
android:gravity="left"
android:orientation="horizontal">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="left"
android:orientation="horizontal">
<ImageView
android:layout_width="16dp"
android:layout_height="16dp"
android:src="@mipmap/zhaoping_icon_xueli" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="7dp"
android:gravity="center"
android:text="学历:"
android:textColor="#757575"
android:textSize="14sp" />
<!--学历要求 1-硕士及以上 2-本科及以上 3-专科及以上 4-高中及以上 5-初中及以上 6-无-->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="7dp"
android:gravity="center"
android:text="@={jobDetailViewModel.educationalRequirement}"
android:textColor="#757575"
android:textSize="14sp" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="12dp"
android:layout_weight="1"
android:gravity="left">
<ImageView
android:layout_width="16dp"
android:layout_height="16dp"
android:src="@mipmap/zhaoping_icon_jinyan" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="7dp"
android:gravity="center"
android:text="经验:"
android:textColor="#757575"
android:textSize="14sp" />
<!--工作经验 1、1年 2、1-3年 3、3-5年 4、5-7年 5、7-10年 6、10年以上 7、无-->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="7dp"
android:gravity="center"
android:text="@={jobDetailViewModel.workExperience}"
android:textColor="#757575"
android:textSize="14sp" />
</LinearLayout>
</LinearLayout>
<!--工作地点-->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="19dp"
android:orientation="horizontal">
<!--工作地点-->
<ImageView
android:layout_width="16dp"
android:layout_height="16dp"
android:src="@mipmap/zhaoping_icon_didian" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="7dp"
android:layout_weight="1"
android:gravity="left"
android:text="@={jobDetailViewModel.workPlace}"
android:textColor="#757575"
android:textSize="14sp" />
</LinearLayout>
<!--分割线-->
<View
android:layout_width="wrap_content"
android:layout_height="1dp"
android:layout_marginTop="20dp"
android:layout_marginBottom="20dp"
android:background="@drawable/divider"
app:layout_constraintBottom_toBottomOf="parent"
tools:ignore="MissingConstraints" />
<!--招聘企业-->
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="left"
android:text="招聘企业:"
android:textColor="#333333"
android:textSize="16sp" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="7dp"
android:gravity="left"
android:text="@={jobDetailViewModel.recruitmentEnterprise}"
android:textColor="#333333"
android:textSize="16sp" />
</LinearLayout>
<!--岗位描述-->
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="19dp"
android:orientation="horizontal">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="left"
android:text="试用期:"
android:textColor="#333333"
android:textSize="16sp" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="7dp"
android:gravity="left"
android:text="@={jobDetailViewModel.postDescription}"
android:textColor="#333333"
android:textSize="16sp" />
</LinearLayout>
<!--岗位职责-->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="28dp"
android:layout_marginBottom="19dp"
android:gravity="left"
android:text="岗位职责:"
android:textColor="#5971A4"
android:textSize="18dp"
android:textStyle="bold" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="left"
android:text="@={jobDetailViewModel.postResponsibility}"
android:textColor="#333333"
android:textSize="16sp" />
</LinearLayout>
<!--试用期-->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="28dp"
android:layout_marginBottom="19dp"
android:gravity="left"
android:text="其他信息:"
android:textColor="#5971A4"
android:textSize="18dp"
android:textStyle="bold" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="left"
android:text="试用期:"
android:textColor="#333333"
android:textSize="16sp" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="7dp"
android:gravity="left"
android:text="@={jobDetailViewModel.probationPeriod}"
android:textColor="#333333"
android:textSize="16sp" />
</LinearLayout>
</LinearLayout>
<!--联系方式 1-手机号 2-邮箱 3-座机-->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="28dp"
android:layout_marginBottom="19dp"
android:gravity="left"
android:text="岗位职责:"
android:textColor="#5971A4"
android:textSize="18dp"
android:textStyle="bold" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="left"
android:text="@={jobDetailViewModel.contactInformation}"
android:textColor="#333333"
android:textSize="16sp" />
</LinearLayout>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="88dp"
android:layout_marginTop="31dp"
android:layout_marginRight="88dp"
android:background="@drawable/bg_forground_radius_24"
android:gravity="center"
android:text="投递简历"
android:textColor="#ffffff"
android:textSize="16sp" />
<!--其他信息-->
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="200dp"
android:gravity="left"
android:text="@={jobDetailViewModel.otherInformation}"
android:textColor="#333333"
android:textSize="16sp" />
</LinearLayout>
</androidx.core.widget.NestedScrollView>
</RelativeLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>
......@@ -55,6 +55,8 @@
<string name="order_management">订单管理</string>
<!--订单详情 订单详情bar-->
<string name="order_detail">订单详情</string>
<!--招聘模块 招聘详情bar-->
<string name="job_detail">招聘详情</string>
<!--首页模块 诉求反馈-->
<string name="appeal_feedback">诉求反馈</string>
<!--首页模块 转发统计-->
......
......@@ -93,6 +93,10 @@
android:exported="true" />
<!-- 招聘详情-->
<activity
android:name=".ui.recruitment.JobDetailActivity"
android:exported="true"/>
<!-- 诉求详情-->
<!-- 诉求反馈(处理部门)-->
<activity
......
......@@ -3,6 +3,7 @@ package com.xx.hbhbcompany.data.http.requst;
import com.xx.hbhbcompany.data.http.BaseRespons;
import com.xx.hbhbcompany.data.http.respons.AdvertisingBean;
import com.xx.hbhbcompany.data.http.respons.JobDetailBean;
import com.xx.hbhbcompany.data.http.respons.JobInformationBean;
import java.util.List;
......@@ -16,6 +17,12 @@ import okhttp3.RequestBody;
/*人才招聘列表*/
public class RecruitmentRequest extends BaseRespons {
/**
* 获取招聘详情信息
*/
public Observable<BaseResponse<JobDetailBean>> getJobInformationDetailById(String businessId) {
return getApiService().getJobInformationDetailById(businessId);
}
/**
* 招聘列表
*/
......
package com.xx.hbhbcompany.data.http.respons
/*招聘详情*/
class JobDetailBean(
/*postName string 岗位名称*/
var postName: String,
/*postWage string 岗位工资,默认无*/
var postWage: String,
/*recruitmentEnterprise String 招聘企业*/
var recruitmentEnterprise: String,
/*educationalRequirement string
学历要求 1-硕士及以上 2-本科及以上 3-专科及以上 4-高中及以上 5-初中及以上 6-无*/
var educationalRequirement: String,
/*workExperience string
工作经验 1、1年 2、1-3年 3、3-5年 4、5-7年 5、7-10年 6、10年以上 7、无*/
var workExperience: String,
/*workPlace string 工作地点*/
var workPlace: String,
/*postDescription string 岗位描述*/
var postDescription: String,
/*postResponsibility String 岗位职责*/
var postResponsibility: String,
/*probationPeriod String 试用期 默认无*/
var probationPeriod: String,
/*contactInformation String
联系方式 1-手机号 2-邮箱 3-座机*/
var contactInformation: String,
/*otherInformation String 其他信息*/
var otherInformation: String
) {
}
\ No newline at end of file
......@@ -2,6 +2,8 @@ package com.xx.hbhbcompany.data.http.respons
class JobInformationBean(
/*businessId*/
var businessId: String,
/*岗位名称*/
var postName: String,
/*岗位工资,默认无*/
......
package com.xx.hbhbcompany.ui.recruitment;
import android.os.Bundle;
import android.util.Log;
import com.xx.hbhbcompany.BR;
import com.xx.hbhbcompany.R;
import com.xx.hbhbcompany.data.http.requst.RecruitmentRequest;
import com.xx.hbhbcompany.databinding.ActivityJobDetailBinding;
import me.goldze.mvvmhabit.base.BaseActivity;
public class JobDetailActivity extends BaseActivity<ActivityJobDetailBinding, JobDetailViewModel> {
/*招聘id,为了详情页通过id获取信息*/
String businessId;
@Override
public int initContentView(Bundle savedInstanceState) {
return R.layout.activity_job_detail;
}
@Override
public int initVariableId() {
return BR.jobDetailViewModel;
}
@Override
public void initParam() {
super.initParam();
/*获取列表页传过来的参数*/
businessId = getIntent().getStringExtra("businessId");
Log.v("这是传过来的订单id参数", businessId);
}
@Override
public void initData() {
super.initData();
/*给viewmodel传值的business设置值*/
/*报错行!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
viewModel.businessId = businessId;
/*调接口*/
viewModel.getJobInformationDetailById();
}
@Override
public JobDetailViewModel initViewModel() {
RecruitmentRequest lm = new RecruitmentRequest();
return new JobDetailViewModel(getApplication(), lm);
}
}
package com.xx.hbhbcompany.ui.recruitment;
import android.app.Application;
import androidx.annotation.NonNull;
import androidx.databinding.ObservableField;
import com.xx.hbhbcompany.data.http.requst.RecruitmentRequest;
import com.xx.hbhbcompany.data.http.respons.JobDetailBean;
import java.util.HashMap;
import java.util.Map;
import io.reactivex.rxjava3.disposables.Disposable;
import io.reactivex.rxjava3.functions.Consumer;
import me.goldze.mvvmhabit.base.BaseViewModel;
import me.goldze.mvvmhabit.http.ApiDisposableObserver;
import me.goldze.mvvmhabit.utils.RxUtils;
public class JobDetailViewModel extends BaseViewModel<RecruitmentRequest> {
/*声明要给接口传参的id*/
public String businessId = "";
//岗位名称
public ObservableField<String> postName = new ObservableField<>("");
//岗位工资
public ObservableField<String> postWage = new ObservableField<>("");
//招聘企业
public ObservableField<String> recruitmentEnterprise = new ObservableField<>("");
//学历要求 1-硕士及以上 2-本科及以上 3-专科及以上 4-高中及以上 5-初中及以上 6-无
public ObservableField<String> educationalRequirement = new ObservableField<>("");
//工作经验 1、1年 2、1-3年 3、3-5年 4、5-7年 5、7-10年 6、10年以上 7、无
public ObservableField<String> workExperience = new ObservableField<>("");
//工作地点
public ObservableField<String> workPlace = new ObservableField<>("");
//岗位描述
public ObservableField<String> postDescription = new ObservableField<>("");
//岗位职责
public ObservableField<String> postResponsibility = new ObservableField<>("");
//试用期 默认无
public ObservableField<String> probationPeriod = new ObservableField<>("");
//联系方式 1-手机号 2-邮箱 3-座机
public ObservableField<String> contactInformation = new ObservableField<>("");
//其他信息
public ObservableField<String> otherInformation = new ObservableField<>("");
public JobDetailViewModel(@NonNull Application application) {
super(application);
}
public JobDetailViewModel(@NonNull Application application, RecruitmentRequest model) {
super(application, model);
}
/**
* 获取招聘详情
*/
public void getJobInformationDetailById() {
model.getJobInformationDetailById(businessId).compose(RxUtils.schedulersTransformer()) //线程调度
.doOnSubscribe(JobDetailViewModel.this)
.doOnSubscribe(new Consumer<Disposable>() {
@Override
public void accept(Disposable disposable) throws Exception {
}
}).subscribe(new ApiDisposableObserver<JobDetailBean>() {
@Override
public void onSuccess(JobDetailBean resultBean) {
/*岗位名称*/
postName.set(resultBean.getPostName());
/*岗位工资*/
postWage.set(resultBean.getPostWage());
/*招聘企业*/
recruitmentEnterprise.set(resultBean.getRecruitmentEnterprise());
/*学历要求 1-硕士及以上 2-本科及以上 3-专科及以上 4-高中及以上 5-初中及以上 6-无*/
educationalRequirement.set(resultBean.getEducationalRequirement());
/*工作经验 1、1年 2、1-3年 3、3-5年 4、5-7年 5、7-10年 6、10年以上 7、无*/
workExperience.set(resultBean.getWorkExperience());
/*工作地点*/
workPlace.set(resultBean.getWorkPlace());
/*岗位描述*/
postDescription.set(resultBean.getPostDescription());
/*岗位职责*/
postResponsibility.set(resultBean.getPostResponsibility());
/*试用期 默认无*/
probationPeriod.set(resultBean.getProbationPeriod());
/*联系方式 1-手机号 2-邮箱 3-座机*/
contactInformation.set(resultBean.getContactInformation());
/*其他信息*/
otherInformation.set(resultBean.getOtherInformation());
/*学历转换*/
/*学历要求 1-硕士及以上 2-本科及以上 3-专科及以上 4-高中及以上 5-初中及以上 6-无*/
int educationalReq = Integer.parseInt(resultBean.getEducationalRequirement());
Map<String, String> educationalReqMap = new HashMap<>();
educationalReqMap.put("1", "硕士及以上");
educationalReqMap.put("2", "本科及以上");
educationalReqMap.put("3", "专科及以上");
educationalReqMap.put("4", "高中及以上");
educationalReqMap.put("5", "初中及以上");
educationalReqMap.put("6", "无");
String educationalReqString = educationalReqMap.put(String.valueOf(educationalReq), "未知");
educationalRequirement.set(educationalReqString);
/*工作经验转换*/
/*工作经验 1-1年 2-1-3年 3-3-5年 4-5-7年 5-7-10年 6-10年以上 7-无*/
int workExp = Integer.parseInt(resultBean.getWorkExperience());
Map<String, String> workExpMap = new HashMap<>();
workExpMap.put("1", "1年");
workExpMap.put("2", "1-3年");
workExpMap.put("3", "3-5年");
workExpMap.put("4", "5-7年");
workExpMap.put("5", "7-10年");
workExpMap.put("6", "10年以上");
workExpMap.put("7", "无");
String workExpString = workExpMap.put(String.valueOf(workExp), "未知");
workExperience.set(workExpString);
/*工作地点转换*/
/*工作地点 1-环渤海河西 2-滨海宏达公司*/
String workPlaces = String.valueOf(Integer.parseInt(resultBean.getWorkPlace()));
Map<String, String> workPlaceMap = new HashMap<>();
workPlaceMap.put("1", "环渤海河西");
workPlaceMap.put("2", "滨海宏达公司");
String workPlaceString = workPlaceMap.put(String.valueOf(workPlaces), "未知");
workPlace.set(workPlaceString);
/*联系方式转换*/
/*联系方式 1-手机号 2-邮箱 3-座机*/
String contactInformations = resultBean.getContactInformation();
Map<String, String> contactInformationMap = new HashMap<>();
contactInformationMap.put("1", "手机号");
contactInformationMap.put("2", "邮箱");
contactInformationMap.put("3", "座机");
String contactInformationString = contactInformationMap.put(contactInformations, "未知");
contactInformation.set(contactInformationString);
}
@Override
public void onError(String Error) {
}
});
}
}
......@@ -16,6 +16,7 @@ import com.xx.hbhbcompany.data.http.respons.JobInformationBean;
import com.xx.hbhbcompany.databinding.ActivityRecruitmentListBinding;
import com.xx.hbhbcompany.fragment.adapter.JobInformationAdapter;
import com.xx.hbhbcompany.ui.home.HomeBannerAdapter;
import com.xx.xxviewlibrary.base.xxBaseRecyclerViewAdapter;
import com.youth.banner.indicator.CircleIndicator;
import java.util.List;
......@@ -48,6 +49,14 @@ public class RecruitmentActivity extends BaseActivity<ActivityRecruitmentListBin
jobInformationAdapter.notifyDataSetChanged();
}
});
/*跳转工作详情*/
jobInformationAdapter.setOnItemClick(new xxBaseRecyclerViewAdapter.OnItemClick<JobInformationBean>() {
@Override
public void itemClickCalBack(int position, JobInformationBean data) {
/*将上下文和位置参数给方法*/
viewModel.goJobDetail(jobInformationAdapter, position);
}
});
viewModel.getJobsList();
//调用轮播图广告位接口
......
......@@ -2,12 +2,14 @@ package com.xx.hbhbcompany.ui.recruitment;
import android.app.Application;
import android.os.Bundle;
import androidx.lifecycle.MutableLiveData;
import com.xx.hbhbcompany.data.http.requst.RecruitmentRequest;
import com.xx.hbhbcompany.data.http.respons.AdvertisingBean;
import com.xx.hbhbcompany.data.http.respons.JobInformationBean;
import com.xx.hbhbcompany.fragment.adapter.JobInformationAdapter;
import java.util.ArrayList;
import java.util.List;
......@@ -59,6 +61,17 @@ public class RecruitmentViewModel extends BaseViewModel<RecruitmentRequest> {
});
}
/*跳转招聘详情页面*/
public void goJobDetail(JobInformationAdapter jobInformationAdapter, int position) {
/*创建bundle*/
Bundle bundle = new Bundle();
/*将要传的businessId传过去*/
bundle.putString("businessId", jobInformationAdapter.mList.get(position).getBusinessId());
/*连带参数一块跳转到详情页*/
startActivity(JobDetailActivity.class, bundle);
}
//调用招聘列表的接口信息
public void getJobsList() {
model.getJobInformationList(recruitmentType)
......
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:binding="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<data>
<variable
name="jobDetailViewModel"
type="com.xx.hbhbcompany.ui.recruitment.JobDetailViewModel" />
<import type="me.goldze.mvvmhabit.binding.viewadapter.recyclerview.LayoutManagers" />
<import type="me.goldze.mvvmhabit.binding.viewadapter.recyclerview.LineManagers" />
</data>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
android:fitsSystemWindows="true">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.xx.xxviewlibrary.witget.XxBar
android:id="@+id/bar"
on_click="@{jobDetailViewModel.clickFinish}"
android:layout_width="match_parent"
android:layout_height="55dp"
app:bar_title='@{@string/job_detail}'
app:layout_constraintTop_toTopOf="parent" />
<!-- 滚动轮-->
<!-- 底部导航栏 -->
<androidx.core.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="55dp"
android:background="@color/bg_grey">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="17dp"
android:layout_marginTop="13dp"
android:layout_marginRight="17dp"
android:layout_marginBottom="17dp"
android:background="@drawable/bg_white_radius_12"
android:orientation="vertical"
android:paddingLeft="13dp"
android:paddingRight="13dp">
<!--工作名称-->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="31dp"
android:orientation="horizontal">
<!--岗位名称-->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="left"
android:text="@={jobDetailViewModel.postName}"
android:textColor="#333333"
android:textSize="18sp"
android:textStyle="bold" />
<!--招聘企业-->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="right"
android:text="@={jobDetailViewModel.postWage}"
android:textColor="#C8382A"
android:textSize="16sp"
android:textStyle="bold" />
<!--K/月-->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="3dp"
android:gravity="right"
android:text="K/月"
android:textColor="#C8382A"
android:textSize="16sp"
android:textStyle="bold" />
</LinearLayout>
<!--工资-->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="28dp"
android:gravity="left"
android:orientation="horizontal">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="left"
android:orientation="horizontal">
<ImageView
android:layout_width="16dp"
android:layout_height="16dp"
android:src="@mipmap/zhaoping_icon_xueli" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="7dp"
android:gravity="center"
android:text="学历:"
android:textColor="#757575"
android:textSize="14sp" />
<!--学历要求 1-硕士及以上 2-本科及以上 3-专科及以上 4-高中及以上 5-初中及以上 6-无-->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="7dp"
android:gravity="center"
android:text="@={jobDetailViewModel.educationalRequirement}"
android:textColor="#757575"
android:textSize="14sp" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="12dp"
android:layout_weight="1"
android:gravity="left">
<ImageView
android:layout_width="16dp"
android:layout_height="16dp"
android:src="@mipmap/zhaoping_icon_jinyan" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="7dp"
android:gravity="center"
android:text="经验:"
android:textColor="#757575"
android:textSize="14sp" />
<!--工作经验 1、1年 2、1-3年 3、3-5年 4、5-7年 5、7-10年 6、10年以上 7、无-->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="7dp"
android:gravity="center"
android:text="@={jobDetailViewModel.workExperience}"
android:textColor="#757575"
android:textSize="14sp" />
</LinearLayout>
</LinearLayout>
<!--工作地点-->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="19dp"
android:orientation="horizontal">
<!--工作地点-->
<ImageView
android:layout_width="16dp"
android:layout_height="16dp"
android:src="@mipmap/zhaoping_icon_didian" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="7dp"
android:layout_weight="1"
android:gravity="left"
android:text="@={jobDetailViewModel.workPlace}"
android:textColor="#757575"
android:textSize="14sp" />
</LinearLayout>
<!--分割线-->
<View
android:layout_width="wrap_content"
android:layout_height="1dp"
android:layout_marginTop="20dp"
android:layout_marginBottom="20dp"
android:background="@drawable/divider"
app:layout_constraintBottom_toBottomOf="parent"
tools:ignore="MissingConstraints" />
<!--招聘企业-->
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="left"
android:text="招聘企业:"
android:textColor="#333333"
android:textSize="16sp" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="7dp"
android:gravity="left"
android:text="@={jobDetailViewModel.recruitmentEnterprise}"
android:textColor="#333333"
android:textSize="16sp" />
</LinearLayout>
<!--岗位描述-->
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="19dp"
android:orientation="horizontal">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="left"
android:text="试用期:"
android:textColor="#333333"
android:textSize="16sp" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="7dp"
android:gravity="left"
android:text="@={jobDetailViewModel.postDescription}"
android:textColor="#333333"
android:textSize="16sp" />
</LinearLayout>
<!--岗位职责-->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="28dp"
android:layout_marginBottom="19dp"
android:gravity="left"
android:text="岗位职责:"
android:textColor="#5971A4"
android:textSize="18dp"
android:textStyle="bold" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="left"
android:text="@={jobDetailViewModel.postResponsibility}"
android:textColor="#333333"
android:textSize="16sp" />
</LinearLayout>
<!--试用期-->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="28dp"
android:layout_marginBottom="19dp"
android:gravity="left"
android:text="其他信息:"
android:textColor="#5971A4"
android:textSize="18dp"
android:textStyle="bold" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="left"
android:text="试用期:"
android:textColor="#333333"
android:textSize="16sp" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="7dp"
android:gravity="left"
android:text="@={jobDetailViewModel.probationPeriod}"
android:textColor="#333333"
android:textSize="16sp" />
</LinearLayout>
</LinearLayout>
<!--联系方式 1-手机号 2-邮箱 3-座机-->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="28dp"
android:layout_marginBottom="19dp"
android:gravity="left"
android:text="岗位职责:"
android:textColor="#5971A4"
android:textSize="18dp"
android:textStyle="bold" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="left"
android:text="@={jobDetailViewModel.contactInformation}"
android:textColor="#333333"
android:textSize="16sp" />
</LinearLayout>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="88dp"
android:layout_marginTop="31dp"
android:layout_marginRight="88dp"
android:background="@drawable/bg_forground_radius_24"
android:gravity="center"
android:text="投递简历"
android:textColor="#ffffff"
android:textSize="16sp" />
<!--其他信息-->
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="200dp"
android:gravity="left"
android:text="@={jobDetailViewModel.otherInformation}"
android:textColor="#333333"
android:textSize="16sp" />
</LinearLayout>
</androidx.core.widget.NestedScrollView>
</RelativeLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>
......@@ -15,6 +15,8 @@
<string name="information">资讯信息</string>
<!--首页模块 招聘中心标题-->
<string name="job">招聘信息</string>
<!--招聘模块 招聘详情bar-->
<string name="job_detail">招聘详情</string>
<!--人才招聘 人才招聘bar标题-->
<string name="talent">人才招聘</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