package com.zhaoyang.driver.ui.pub
|
|
import android.os.Handler
|
import android.view.View
|
import android.widget.TextView
|
import androidx.core.content.ContextCompat
|
import cn.sinata.xldutils.utils.*
|
import com.zhaoyang.driver.R
|
import com.zhaoyang.driver.base.local.BasePhotoActivity
|
import com.zhaoyang.driver.bean.*
|
import com.zhaoyang.driver.netUtls.*
|
import com.zhaoyang.driver.ui.DialogUtil
|
import com.zhaoyang.driver.ui.mine.AddCarActivity
|
import com.zhaoyang.driver.ui.mine.AddCarRegisterActivity
|
import com.zhaoyang.driver.utils.*
|
import com.zhaoyang.driver.utils.citypickerview.picker.widget.builder.TimePickerBuilder
|
import com.zhaoyang.driver.utils.citypickerview.picker.widget.listener.OnTimeSelectListener
|
import com.zhaoyang.driver.utils.glide.GlideUtil
|
import com.google.gson.Gson
|
import com.lljjcoder.Interface.OnCityItemClickListener
|
import com.lljjcoder.bean.CityBean
|
import com.lljjcoder.bean.DistrictBean
|
import com.lljjcoder.bean.ProvinceBean
|
import kotlinx.android.synthetic.main.activity_become_driver.*
|
import kotlinx.android.synthetic.main.dialog_sex_show.view.*
|
import kotlinx.android.synthetic.main.dialog_show_car_num.view.*
|
import kotlinx.android.synthetic.main.driver_one.*
|
import kotlinx.android.synthetic.main.driver_three.*
|
import kotlinx.android.synthetic.main.driver_two.*
|
import kotlinx.android.synthetic.main.include_login_code.*
|
import kotlinx.android.synthetic.main.include_login_phone.*
|
import kotlinx.android.synthetic.main.include_login_pwd.*
|
import org.jetbrains.anko.startActivity
|
import org.jetbrains.anko.toast
|
import java.util.*
|
|
|
class BecomeDriverActivity : BasePhotoActivity() {
|
|
var currentNum = 1
|
|
var selectPhone = 0 //1 身份证 2:头像 3:驾驶证 4:网约车资格证
|
|
var array = arrayListOf("专车"
|
// , "出租车", "城际出行", "跨城小件物流", "同城小件物流"
|
)
|
|
val upBean by lazy {
|
DriverBean()
|
}
|
|
override fun tvInit(tv_code: TextView) {
|
et_login_code_send.text = "获取验证码"
|
}
|
|
override fun tvIniting(tv_code: TextView, time: String) {
|
et_login_code_send.text = time + "秒后重新获取"
|
}
|
|
override fun setContentView() {
|
setContentView(R.layout.activity_become_driver)
|
}
|
|
override fun initView() {
|
setTitleText("填写资料")
|
tv_Right.text = "下一步"
|
}
|
|
override fun setOnclick() {
|
tv_Right.setOnClickListener {
|
// if (uid.isEmpty()){
|
// toast("请稍等,或重试")
|
// return@setOnClickListener
|
// }
|
// startActivity<AddCarRegisterActivity>("uid" to uid)
|
// registerSuccess()
|
next()
|
}
|
|
tv_next.clickDelay {
|
next()
|
}
|
|
tv_next_two.clickDelay {
|
next()
|
}
|
|
|
et_login_code_send.clickDelay {
|
if (et_login_phone.getString().isEmpty()) {
|
toast("请输入手机号")
|
return@clickDelay
|
}
|
if (!PhoneCheckUtil.phoneCheck(et_login_phone.getString())) {
|
toast("手机号格式错误")
|
return@clickDelay
|
}
|
var map = getMapByAny()
|
map["phone"] = et_login_phone.getString()
|
map["type"] = 3
|
callNet(Api.queryCaptcha, map) {
|
toast("发送成功")
|
}
|
refreshTime(et_login_code_send)
|
}
|
|
iv_eye.setOnClickListener {
|
showEye(iv_eye, et_login_pwd)
|
}
|
|
iv_id_card.setOnClickListener {
|
selectPhone = 1
|
MyUtils.getInstans().hideKeyboard(ll_driver_two)
|
showSelectPhone()
|
}
|
|
iv_head.setOnClickListener {
|
selectPhone = 2
|
MyUtils.getInstans().hideKeyboard(ll_driver_two)
|
showSelectPhone()
|
|
}
|
|
iv_driver_img.setOnClickListener {
|
selectPhone = 3
|
MyUtils.getInstans().hideKeyboard(ll_driver_two)
|
showSelectPhone()
|
|
}
|
|
iv_net_img.setOnClickListener {
|
selectPhone = 4
|
MyUtils.getInstans().hideKeyboard(ll_driver_two)
|
showSelectPhone()
|
|
}
|
|
iv_id_card_two.clickDelay {
|
selectPhone = 5
|
MyUtils.getInstans().hideKeyboard(ll_driver_two)
|
showSelectPhone()
|
}
|
|
tv_select_sex.setOnClickListener {
|
MyUtils.getInstans().hideKeyboard(ll_driver_two)
|
showSex()
|
}
|
|
ll_select_driver_time.setOnClickListener {
|
MyUtils.getInstans().hideKeyboard(ll_driver_two)
|
showTimePicker()
|
}
|
|
ll_server_mode.setOnClickListener {
|
MyUtils.getInstans().hideKeyboard(ll_driver_two)
|
showServerMode()
|
}
|
|
ll_city_dwell.setOnClickListener {
|
MyUtils.getInstans().hideKeyboard(ll_driver_two)
|
showCityPop(object : (String, String, String, String) -> Unit {
|
override fun invoke(
|
province: String,
|
city: String,
|
area: String,
|
areaCode: String
|
) {
|
tv_dwell_province.text = province
|
tv_dwell_city.text = city
|
tv_dwell_area.text = area
|
upBean.driverContactAddress = province + city + area
|
upBean.driverContactAddress_ = "$province,$city,$area"
|
}
|
})
|
}
|
|
tv_sure.setOnClickListener {
|
onBackPressed()
|
}
|
|
ll_busness_city.setOnClickListener {
|
MyUtils.getInstans().hideKeyboard(ll_driver_two)
|
showCityPop(object : (String, String, String, String) -> Unit {
|
override fun invoke(
|
province: String,
|
city: String,
|
area: String,
|
areaCode: String
|
) {
|
tv_province.text = province
|
tv_city.text = city
|
tv_area.text = area
|
upBean.placeOfEmployment = areaCode
|
upBean.placeOfPractice = "$province,$city,$area"
|
callNetImg(areaCode)
|
}
|
})
|
}
|
|
}
|
|
private fun callNetImg(areaCode: String) {
|
var map = getMapByAny()
|
map["code"] = areaCode
|
callNet(Api.queryNeedCertificate,map){
|
var bean = gson.fromJson<CerNeedBean>(it,CerNeedBean::class.java)
|
if (bean.data == 1){
|
rl_net_img.visible()
|
}else{
|
rl_net_img.gone()
|
}
|
}
|
}
|
|
|
private fun showServerMode() {
|
var pop = DialogUtil.getNetListDialog(array, window.decorView, this) {
|
if (it.contains("2")){
|
showHintCarNumDialog(it)
|
}else{
|
upBean.type = it
|
var content = ""
|
for (item in it.split(",")) {
|
content += array[item.toInt() - 1] + " "
|
}
|
|
tv_mode.text = content
|
}
|
}
|
}
|
|
private fun showHintCarNumDialog(allmode: String) {
|
phoneDialog = DialogUtil.getDialog(this, R.layout.dialog_show_car_num)
|
var view = DialogUtil.getView(phoneDialog!!)
|
view.view_hint_close_car.setOnClickListener {
|
phoneDialog?.dismiss()
|
}
|
view.tv_car_num_close.setOnClickListener {
|
phoneDialog?.dismiss()
|
}
|
|
view.tv_sure_car_num.setOnClickListener {
|
if (view.et_num_zg.getContent().isEmpty()) {
|
toast("请输入资格证号")
|
return@setOnClickListener
|
}
|
upBean.type = allmode
|
var content = ""
|
for (item in allmode.split(",")) {
|
content += array[item.toInt() - 1] + " "
|
}
|
|
tv_mode.text = content
|
upBean.taxiAptitudeCard = view.et_num_zg.getContent()
|
phoneDialog?.dismiss()
|
}
|
|
}
|
|
|
private fun showSex() {
|
var pop = DialogUtil.getPopupwindow(this, R.layout.dialog_sex_show)
|
pop.showDown(window.decorView)
|
pop.contentView.tv_select_girl.isSelected = false
|
pop.contentView.tv_select_boy.isSelected = true
|
pop.contentView.tv_cancel.setOnClickListener {
|
pop.dismiss()
|
}
|
pop.contentView.tv_ok_sex.setOnClickListener {
|
upBean.sex = if (pop.contentView.tv_select_girl.isSelected) 2 else 1
|
tv_select_sex.text = upBean.sexStr
|
pop.dismiss()
|
}
|
pop.contentView.tv_select_girl.setOnClickListener {
|
pop.contentView.tv_select_girl.alpha = 1f
|
pop.contentView.tv_select_girl.setColor(this,R.color.main_yellow)
|
pop.contentView.tv_select_boy.setColor(this,R.color.black)
|
pop.contentView.tv_select_boy.alpha = 0.6f
|
pop.contentView.tv_select_girl.isSelected = true
|
pop.contentView.tv_select_boy.isSelected = false
|
}
|
pop.contentView.tv_select_boy.setOnClickListener {
|
pop.contentView.tv_select_girl.setColor(this,R.color.black)
|
pop.contentView.tv_select_boy.setColor(this,R.color.main_yellow)
|
pop.contentView.tv_select_girl.alpha = 0.6f
|
pop.contentView.tv_select_boy.alpha = 1f
|
pop.contentView.tv_select_girl.isSelected = false
|
pop.contentView.tv_select_boy.isSelected = true
|
}
|
}
|
|
fun showTimePicker() {
|
var startCalendar = Calendar.getInstance()
|
var endCalendar = Calendar.getInstance()
|
startCalendar.set(1950, 1, 1)
|
// endCalendar.timeInMillis = (System.currentTimeMillis() - (1000L * 3600L * 24L * 365L * 3L))
|
endCalendar.timeInMillis = (System.currentTimeMillis())
|
var timePic = TimePickerBuilder(this,
|
OnTimeSelectListener { date, v ->
|
upBean.getDriverLicenseDate = DateUtil.getTime(DateUtil.TYPE1, date.time)
|
tv_select_driver_time.text = DateUtil.getTime(DateUtil.TYPE1, date.time)
|
})
|
.setTitleText("")
|
.setBgColor(ContextCompat.getColor(this, R.color.white))
|
.setCancelColor(ContextCompat.getColor(this, R.color.black_333333))
|
.setSubmitColor(ContextCompat.getColor(this, R.color.main_yellow))
|
.setRangDate(startCalendar, endCalendar)
|
.setDate(endCalendar)
|
.setSubmitText("确认")
|
.setLineSpacingMultiplier(2f)
|
.build()
|
timePic.show()
|
}
|
|
fun next() {
|
currentNum++
|
if (currentNum == 2) {
|
if (et_login_phone.getString().isEmpty()) {
|
toast("请输入手机号")
|
currentNum--
|
return
|
}
|
if (!PhoneCheckUtil.phoneCheck(et_login_phone.getString())) {
|
toast("手机号格式错误")
|
currentNum--
|
return
|
}
|
if (et_login_pwd.getString().isEmpty()) {
|
toast("请输入密码")
|
currentNum--
|
return
|
}
|
if (et_login_pwd.getString().length < 6) {
|
toast("密码不能小于6位")
|
currentNum--
|
return
|
}
|
if (et_login_code.getString().isEmpty()) {
|
toast("请输入验证码")
|
currentNum--
|
return
|
}
|
|
var map = getMapByAny()
|
map["code"] = et_login_code.getString()
|
map["phone"] = et_login_phone.getString()
|
callNet(Api.checkCaptcha, map, {
|
upBean.phone = et_login_phone.getString()
|
upBean.password = et_login_pwd.getString()
|
ll_driver_one.gone()
|
ll_driver_two.visible()
|
tv_two.isSelected = true
|
callPersionInfo()
|
tv_Right.visible()
|
}, {
|
currentNum--
|
})
|
}
|
|
if (currentNum == 3) {
|
calldriver()
|
}
|
if (currentNum == 4) {
|
onBackPressed()
|
}
|
}
|
|
public fun getIDCardDetail(imgPath: String) {
|
val bodys = getMapByAny()
|
bodys["src"] = ImageUtils.imageToBase64(imgPath)
|
FaceHttpManager.getInstance().post("sfzread", bodys, object : FaceObserver(this) {
|
override fun success(responseString: String?) {
|
// success(responseString);
|
val baseBean = Gson().fromJson(responseString, FaceBean::class.java)
|
if (!baseBean.msg.id.isNullOrEmpty()){
|
upBean.name = baseBean.msg.name
|
upBean.idCard = baseBean.msg.id
|
upBean.sex = if(baseBean.msg.sex == "男") 1 else 2
|
et_name.setText(upBean.name)
|
tv_select_sex.text = baseBean.msg.sex
|
et_people_code.setText(upBean.idCard)
|
et_people_code.setSelection(upBean.idCard.length)
|
}
|
dismissDialog()
|
}
|
|
override fun onError(code: Int, msg: String?, resposeString: String?) {
|
|
}
|
})
|
|
|
try {
|
/**
|
* 重要提示如下:
|
* HttpUtils请从
|
* https://github.com/aliyun/api-gateway-demo-sign-java/blob/master/src/main/java/com/aliyun/api/gateway/demo/util/HttpUtils.java
|
* 下载
|
*
|
* 相应的依赖请参照
|
* https://github.com/aliyun/api-gateway-demo-sign-java/blob/master/pom.xml
|
*/
|
// val response: HttpResponse =
|
// HttpUtils.doPost(host, path, method, headers, querys, bodys)
|
// System.out.println(response.toString())
|
// System.out.println(EntityUtils.toString(response.getEntity()));
|
} catch (e: Exception) {
|
e.printStackTrace()
|
}
|
}
|
|
var uid:String = ""
|
|
private fun callPersionInfo() {
|
var map = getMapByAny()
|
map["code"] = et_login_code.getString()
|
map["phone"] = et_login_phone.getString()
|
map["password"] = et_login_pwd.getString()
|
callNetDriver(Api.registeredDriver_two, map,{
|
var bean = gson.fromJson<LoginBean>(it, LoginBean::class.java)
|
uid = bean.data.id.toString()
|
},{
|
var bean = gson.fromJson<LoginBean>(it, LoginBean::class.java)
|
uid = bean.data.id.toString()
|
if (bean.msg == "电话号码已使用"){
|
var mapId = getMapByAny()
|
mapId["uid"] = bean.data.id.toString()
|
callNet(Api.queryInfo_By_id, mapId) {s ->
|
var user = gson.fromJson<UserBean>(s, UserBean::class.java)
|
setUI(user)
|
}
|
}
|
})
|
}
|
|
private fun setUI(user: UserBean) {
|
user.data.let {
|
if (it.avatar.isNullOrEmpty()) {
|
return@let
|
}
|
upBean.headImgUrl = it.avatar
|
upBean.name = it.name
|
upBean.driveCardImgUrl = it.driveCardImgUrl
|
upBean.driverContactAddress = it.driverContactAddress_.replace(",","")
|
upBean.getDriverLicenseDate = it.getDriverLicenseDate
|
upBean.idCard = it.idCard
|
upBean.idCardImgUrl1 = it.idCardImgUrl1
|
upBean.idCardImgUrl2 = it.idCardImgUrl2
|
upBean.networkCarlssueImg = it.networkCarlssueImg
|
upBean.password = et_login_pwd.getString()
|
upBean.phone = et_login_phone.getString()
|
upBean.placeOfEmployment = it.placeOfEmployment
|
upBean.sex = it.sex
|
upBean.taxiAptitudeCard = it.taxiAptitudeCard
|
upBean.type =it.type
|
upBean.placeOfPractice = it.placeOfPractice
|
upBean.driverContactAddress_ = it.driverContactAddress_
|
GlideUtil.load(this, upBean.idCardImgUrl1, iv_id_card, 0)
|
GlideUtil.load(this, upBean.idCardImgUrl2, iv_id_card_two, 0)
|
et_name.setText(upBean.name)
|
et_name.setSelection(upBean.name.length)
|
tv_select_sex.text = upBean.sexStr
|
var dwell = upBean.driverContactAddress_.split(",")
|
if (dwell.size >= 3) {
|
tv_dwell_province.text = dwell[0]
|
tv_dwell_city.text = dwell[1]
|
tv_dwell_area.text = dwell[2]
|
}
|
et_people_code.setText(upBean.idCard)
|
et_people_code.setSelection(upBean.idCard.length)
|
tv_select_driver_time.text = upBean.getDriverLicenseDate
|
var content = ""
|
for (item in upBean.type.split(",")) {
|
content += array[item.toInt() - 1] + " "
|
}
|
tv_mode.text = content
|
var cityList = upBean.placeOfPractice.split(",")
|
if (cityList.size >= 3) {
|
tv_province.text = cityList[0]
|
tv_city.text = cityList[1]
|
tv_area.text = cityList[2]
|
}
|
GlideUtil.load(this, upBean.headImgUrl, iv_head, 0)
|
GlideUtil.load(this, upBean.driveCardImgUrl, iv_driver_img, 0)
|
GlideUtil.load(this, upBean.networkCarlssueImg, iv_net_img, 0)
|
|
}
|
}
|
|
private fun calldriver() {
|
if (et_name.getString().isEmpty()) {
|
toast("请输入姓名")
|
currentNum--
|
return
|
}
|
if (et_people_code.getString().isEmpty()) {
|
toast("请输入身份证")
|
currentNum--
|
return
|
}
|
if (!PhoneCheckUtil.isLegalId(et_people_code.getContent())) {
|
toast("身份证格式错误")
|
currentNum--
|
return
|
}
|
if (upBean.driveCardImgUrl.isNullOrEmpty()) {
|
toast("请上传驾驶证照片")
|
currentNum--
|
return
|
}
|
if (upBean.driverContactAddress.isNullOrEmpty()) {
|
toast("请选择居住地")
|
currentNum--
|
return
|
}
|
if (upBean.getDriverLicenseDate.isNullOrEmpty()) {
|
toast("请选择驾龄")
|
currentNum--
|
return
|
}
|
if (upBean.headImgUrl.isNullOrEmpty()) {
|
toast("请上传头像")
|
currentNum--
|
return
|
}
|
if (rl_net_img.visibility == View.VISIBLE && upBean.networkCarlssueImg.isNullOrEmpty()) {
|
toast("请上传网约车资格证照片")
|
currentNum--
|
return
|
}
|
if (upBean.placeOfEmployment.isNullOrEmpty()) {
|
toast("请选择从业地")
|
currentNum--
|
return
|
}
|
if (upBean.sex == -1) {
|
toast("请选择性别")
|
currentNum--
|
return
|
}
|
if (upBean.type.isNullOrEmpty()) {
|
toast("请选择服务模式")
|
currentNum--
|
return
|
}
|
if (upBean.idCardImgUrl1.isNullOrEmpty()) {
|
toast("请上传身份证正面照")
|
currentNum--
|
return
|
}
|
if (upBean.idCardImgUrl2.isNullOrEmpty()) {
|
toast("请上传身份证反面照")
|
currentNum--
|
return
|
}
|
|
upBean.name = et_name.getString()
|
upBean.idCard = et_people_code.getString()
|
|
var map = getMapByAny()
|
map["driveCardImgUrl"] = upBean.driveCardImgUrl
|
map["driverContactAddress"] = upBean.driverContactAddress
|
map["driverContactAddress_"] = upBean.driverContactAddress_
|
map["getDriverLicenseDate"] = upBean.getDriverLicenseDate
|
map["headImgUrl"] = upBean.headImgUrl
|
map["idCard"] = upBean.idCard
|
map["placeOfPractice"] = upBean.placeOfPractice
|
map["idCardImgUrl1"] = upBean.idCardImgUrl1
|
map["idCardImgUrl2"] = upBean.idCardImgUrl2
|
map["name"] = upBean.name
|
map["networkCarlssueImg"] = upBean.networkCarlssueImg
|
map["password"] = Md5.getMd5Value(upBean.password)
|
map["phone"] = upBean.phone
|
map["placeOfEmployment"] = upBean.placeOfEmployment
|
map["sex"] = upBean.sex
|
if (!upBean.taxiAptitudeCard.isNullOrEmpty()){
|
map["taxiAptitudeCard"] = upBean.taxiAptitudeCard
|
}
|
map["type"] = "1"
|
map["uid"] = uid
|
callNet(Api.updateDriver, map, {
|
if (uid.isEmpty()){
|
toast("请稍等,或重试")
|
return@callNet
|
}
|
startActivity<AddCarRegisterActivity>("uid" to uid)
|
registerSuccess()
|
}, {
|
currentNum--
|
})
|
}
|
|
fun registerSuccess(){
|
Handler().postDelayed({
|
ll_driver_one.gone()
|
ll_driver_two.gone()
|
ll_driver_three.visible()
|
callHtml {
|
tv_hint_three.text = HtmlUtils.getTextFromHtml(it)
|
}
|
tv_three.isSelected = true
|
setTitleText("提交成功")
|
tv_Right.gone()
|
},1000)
|
}
|
|
fun callHtml(click: (s: String) -> Unit) {
|
var map = getMapByAny()
|
map["type"] = 9
|
callNet(Api.queryByType, map) {
|
var data = gson.fromJson<AgreeBean>(it, AgreeBean::class.java)
|
click(data.data.content)
|
}
|
}
|
|
/***
|
* type 1 2 3 省市县
|
*/
|
private fun showCityPop(onclick: (province: String, city: String, area: String, areaCode: String) -> Unit) {
|
DialogUtil.getCityDialog(this, object : OnCityItemClickListener() {
|
override fun onSelected(
|
province: ProvinceBean?,
|
city: CityBean?,
|
district: DistrictBean?
|
) {
|
super.onSelected(province, city, district)
|
onclick(
|
province!!.name,
|
city!!.name,
|
district!!.name,
|
district.id
|
)
|
}
|
})
|
}
|
|
override fun getPhoneUrl(url: String, type: Int, path: String) {
|
super.getPhoneUrl(url, type,path)
|
when (selectPhone) {
|
1 -> {
|
upBean.idCardImgUrl1 = url
|
GlideUtil.load(this, url, iv_id_card, 1)
|
getIDCardDetail(path)
|
}
|
2 -> {
|
upBean.headImgUrl = url
|
GlideUtil.load(this, url, iv_head, 1)
|
}
|
3 -> {
|
upBean.driveCardImgUrl = url
|
GlideUtil.load(this, url, iv_driver_img, 1)
|
}
|
4 -> {
|
upBean.networkCarlssueImg = url
|
GlideUtil.load(this, url, iv_net_img, 1)
|
}
|
5 -> {
|
upBean.idCardImgUrl2 = url
|
GlideUtil.load(this, url, iv_id_card_two, 1)
|
getIDCardDetail(path)
|
}
|
}
|
}
|
}
|