审批流程接口调试

main
chenglifeng 8 months ago
parent 63b61f7942
commit 4b32a7f50a
  1. 2
      app/build.gradle
  2. 12
      app/src/main/java/com/project/survey/logic/viewmodel/ProjectViewModel.kt
  3. 16
      app/src/main/java/com/project/survey/model/ApprovalBean.kt
  4. 22
      app/src/main/java/com/project/survey/network/Api.kt
  5. 40
      app/src/main/java/com/project/survey/network/RetrofitClient.kt
  6. 16
      app/src/main/java/com/project/survey/ui/approval/ApprovalActivity.kt
  7. 10
      app/src/main/java/com/project/survey/ui/approval/ApprovalInitiatedFragment.kt
  8. 10
      app/src/main/java/com/project/survey/ui/approval/ApprovalProcessedFragment.kt
  9. 10
      app/src/main/java/com/project/survey/ui/approval/ApprovalWaitFragment.kt

@ -26,7 +26,7 @@ android {
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
multiDexEnabled true multiDexEnabled true
buildConfigField "String", "BASE_URL", "\"http://10.190.183.37:80\"" buildConfigField "String", "BASE_URL", "\"http://10.190.183.37/\""
javaCompileOptions { javaCompileOptions {
annotationProcessorOptions { annotationProcessorOptions {

@ -2,7 +2,6 @@ package com.project.survey.logic.viewmodel
import androidx.lifecycle.LiveData import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData import androidx.lifecycle.MutableLiveData
import com.project.survey.logic.bean.HahaReq
import com.project.survey.model.ProjectBean import com.project.survey.model.ProjectBean
import com.project.survey.network.RetrofitClient import com.project.survey.network.RetrofitClient
@ -34,17 +33,12 @@ class ProjectViewModel : BaseViewModel() {
/** /**
* 获取流程审批列表 * 获取流程审批列表
*/ */
fun fetchWorkTask(projectId: String, type: String, userName: String? = null, page: Int = 1) { fun fetchWorkTask(projectId: String, type: String, page: Int = 1) {
launch { launch {
val res = api.fetchWorkTask(projectId, type, "", page) val res = api.fetchWorkTask(projectId, type, page)
if (res.success){ if (res.success) {
_workTaskListResponse.postValue(res.data) _workTaskListResponse.postValue(res.data)
} }
} }
} }
fun fetchWorkTaskBody(projectId: String, type: String, userName: String? = null, page: Int = 1) {
launch {
val res = api.fetchWorkTaskBody(projectId, HahaReq(type, "", page))
}
}
} }

@ -1,5 +1,19 @@
package com.project.survey.model package com.project.survey.model
data class ApprovalBean( data class ApprovalBean(
val type: String val badges: Badge,
val data: ApprovalData
)
data class Badge(
val PI_PREAPPROV: Int,
val PI_APPROVED: Int,
val PI_INFORMIEREN: Int,
val PI_DELAY: Int,
val PI_OWNER: Int
)
data class ApprovalData(
val rows: List<Any>,
val totalCount: Int
) )

@ -1,13 +1,12 @@
package com.project.survey.network package com.project.survey.network
import com.project.survey.logic.bean.HahaReq
import com.project.survey.model.LoginBean import com.project.survey.model.LoginBean
import com.project.survey.model.ProjectBean import com.project.survey.model.ProjectBean
import retrofit2.http.Body
import retrofit2.http.Field import retrofit2.http.Field
import retrofit2.http.FormUrlEncoded import retrofit2.http.FormUrlEncoded
import retrofit2.http.GET import retrofit2.http.GET
import retrofit2.http.Header import retrofit2.http.Header
import retrofit2.http.Headers
import retrofit2.http.POST import retrofit2.http.POST
import retrofit2.http.Query import retrofit2.http.Query
@ -16,7 +15,7 @@ interface Api {
/** /**
* 登录 * 登录
*/ */
@GET("/je/personInfo/externalEntry") @GET("je/personInfo/externalEntry")
suspend fun login( suspend fun login(
@Query("account") account: String, @Query("account") account: String,
@Query("password") password: String @Query("password") password: String
@ -25,7 +24,7 @@ interface Api {
/** /**
* 外部用户获取验证码 * 外部用户获取验证码
*/ */
@GET("/je/personInfo/sendSms") @GET("je/personInfo/sendSms")
suspend fun fetchExternalPersonSMSCode( suspend fun fetchExternalPersonSMSCode(
@Query("account") account: String, @Query("account") account: String,
@Query("password") password: String @Query("password") password: String
@ -34,7 +33,7 @@ interface Api {
/** /**
* 外部用户登录 * 外部用户登录
*/ */
@GET("/je/personInfo/externalEntry") @GET("je/personInfo/externalEntry")
suspend fun externalPersonLogin( suspend fun externalPersonLogin(
@Query("account") account: String, @Query("account") account: String,
@Query("password") password: String, @Query("password") password: String,
@ -44,7 +43,7 @@ interface Api {
/** /**
* 获取用户可访问的所有项目的信息 * 获取用户可访问的所有项目的信息
*/ */
@GET("/je/project/getAllProjectIDByAccount") @GET("je/project/getAllProjectIDByAccount")
suspend fun getAllProjectIDByAccount( suspend fun getAllProjectIDByAccount(
@Query("account") account: String @Query("account") account: String
): HttpResult<List<ProjectBean>> ): HttpResult<List<ProjectBean>>
@ -69,21 +68,16 @@ interface Api {
/** /**
* 获取流程审批列表 * 获取流程审批列表
*/ */
@Headers("usePD:false")
@FormUrlEncoded @FormUrlEncoded
@POST("/je/workflow/currentUserTask/getTask") @POST("je/workflow/currentUserTask/getTask")
suspend fun fetchWorkTask( suspend fun fetchWorkTask(
@Header("Projectid") projectId: String, @Header("Projectid") projectId: String,
@Field("type") type: String, @Field("type") type: String,
@Field("userName") userName: String = "", // @Field("userName") userName: String = "",
@Field("page") page: Int, @Field("page") page: Int,
@Field("limit") limit: Int = 30, @Field("limit") limit: Int = 30,
): HttpResult<Any> ): HttpResult<Any>
@POST("/je/workflow/currentUserTask/getTask")
suspend fun fetchWorkTaskBody(
@Header("Projectid") projectId: String,
@Body requestBody: HahaReq
): HttpResult<Any>
} }

@ -5,6 +5,7 @@ import com.bingce.http.HttpsTrustUtil
import com.project.survey.BuildConfig import com.project.survey.BuildConfig
import com.project.survey.constants.SPConstants import com.project.survey.constants.SPConstants
import com.project.survey.util.SPUtils import com.project.survey.util.SPUtils
import okhttp3.HttpUrl.Companion.toHttpUrlOrNull
import okhttp3.OkHttpClient import okhttp3.OkHttpClient
import okhttp3.logging.HttpLoggingInterceptor import okhttp3.logging.HttpLoggingInterceptor
import retrofit2.Retrofit import retrofit2.Retrofit
@ -37,19 +38,46 @@ object RetrofitClient {
.connectTimeout(60L, TimeUnit.SECONDS) .connectTimeout(60L, TimeUnit.SECONDS)
.readTimeout(60L, TimeUnit.SECONDS) .readTimeout(60L, TimeUnit.SECONDS)
.writeTimeout(60L, TimeUnit.SECONDS) .writeTimeout(60L, TimeUnit.SECONDS)
.addInterceptor { chain ->
//获取request
val request = chain.request()
//从request中获取原有的HttpUrl实例oldHttpUrl
val oldHttpUrl = request.url
//获取request的创建者builder
val builder = request.newBuilder()
//从request中获取headers
val headerValues = request.headers("usePD")
if (headerValues.isNotEmpty()){
builder.removeHeader("pd")
} else {
builder.addHeader("pd", "jecloud-gcclzhglpt")
}
val token = SPUtils.getString(SPConstants.TOKEN) ?: ""
builder.removeHeader("Authorization")
if (token.isNotBlank()) {
builder.addHeader("Authorization", token)
}
val baseURL = BuildConfig.BASE_URL.toHttpUrlOrNull()!!
//重建新的HttpUrl,需要重新设置的url部分
val newHttpUrl = oldHttpUrl.newBuilder()
.scheme(baseURL.scheme) //http协议如:http或者https
.host(baseURL.host) //主机地址
.port(baseURL.port) //端口
.build()
//获取处理后的新newRequest
val newRequest = builder.url(newHttpUrl).build()
return@addInterceptor chain.proceed(newRequest)
}
.addInterceptor { chain -> .addInterceptor { chain ->
val token = SPUtils.getString(SPConstants.TOKEN) ?: "" val token = SPUtils.getString(SPConstants.TOKEN) ?: ""
val originalRequest = chain.request() val builder = chain.request().newBuilder().apply {
val updateRequest = originalRequest.newBuilder().apply {
addHeader("pd", "jecloud-gcclzhglpt")
removeHeader("Authorization") removeHeader("Authorization")
if (BuildConfig.DEBUG)
LogUtils.d(token)
if (token.isNotBlank()) { if (token.isNotBlank()) {
addHeader("Authorization", token) addHeader("Authorization", token)
} }
} }
return@addInterceptor chain.proceed(updateRequest.build()) return@addInterceptor chain.proceed(builder.build())
} }
.addInterceptor(HttpLoggingInterceptor().apply { .addInterceptor(HttpLoggingInterceptor().apply {
level = if (BuildConfig.DEBUG) level = if (BuildConfig.DEBUG)

@ -1,7 +1,6 @@
package com.project.survey.ui.approval package com.project.survey.ui.approval
import androidx.activity.viewModels import androidx.activity.viewModels
import com.project.survey.R
import com.project.survey.constants.SPConstants import com.project.survey.constants.SPConstants
import com.project.survey.ui.base.BaseBindingActivity import com.project.survey.ui.base.BaseBindingActivity
import com.project.survey.databinding.ActivityApprovalBinding import com.project.survey.databinding.ActivityApprovalBinding
@ -68,17 +67,20 @@ class ApprovalActivity : BaseBindingActivity<ActivityApprovalBinding>() {
viewModel.workTaskListResponse.observe(this) { viewModel.workTaskListResponse.observe(this) {
adapter.submitList(emptyList()) adapter.submitList(emptyList())
} }
if (type == PI_PREAPPROV) { viewModel.fetchWorkTask(SPUtils.getString(SPConstants.PROJECT_ID) ?: "", type)
viewModel.fetchWorkTask(SPUtils.getString(SPConstants.PROJECT_ID) ?: "", type) // if (type == PI_PREAPPROV) {
} else { // viewModel.fetchWorkTask(SPUtils.getString(SPConstants.PROJECT_ID) ?: "", type)
viewModel.fetchWorkTaskBody(SPUtils.getString(SPConstants.PROJECT_ID) ?: "", type) // } else if(type == PI_APPROVED) {
} // EasyHttpUtil.post("je/workflow/currentUserTask/getTask", SPUtils.getString(SPConstants.PROJECT_ID) ?: "", PI_APPROVED)
// } else {
// EasyHttpUtil.get("je/workflow/currentUserTask/getTask")
// }
} }
override fun initListener() { override fun initListener() {
adapter.setOnItemClickListener { _, _, position -> adapter.setOnItemClickListener { _, _, position ->
adapter.getItem(position)?.let { bean -> adapter.getItem(position)?.let { bean ->
toast("item${bean.type}") toast("item${bean}")
} }
} }
} }

@ -27,11 +27,11 @@ class ApprovalInitiatedFragment : BaseFragmentBinding<FragmentApprovalBinding>()
} }
override fun initData() { override fun initData() {
val dataList = mutableListOf<ApprovalBean>() // val dataList = mutableListOf<ApprovalBean>()
for (i in 0 until 3) { // for (i in 0 until 3) {
dataList.add(ApprovalBean("")) // dataList.add(ApprovalBean(""))
} // }
adapter.refreshData(dataList) // adapter.refreshData(dataList)
} }
private fun initAdapter() { private fun initAdapter() {

@ -31,11 +31,11 @@ class ApprovalProcessedFragment : BaseFragmentBinding<FragmentApprovalBinding>()
} }
override fun initData() { override fun initData() {
val dataList = mutableListOf<ApprovalBean>() // val dataList = mutableListOf<ApprovalBean>()
for (i in 0 until 3) { // for (i in 0 until 3) {
dataList.add(ApprovalBean("")) // dataList.add(ApprovalBean(""))
} // }
adapter.refreshData(dataList) // adapter.refreshData(dataList)
} }
private fun initAdapter() { private fun initAdapter() {

@ -32,11 +32,11 @@ class ApprovalWaitFragment : BaseFragmentBinding<FragmentApprovalBinding>() {
} }
override fun initData() { override fun initData() {
val dataList = mutableListOf<ApprovalBean>() // val dataList = mutableListOf<ApprovalBean>()
for (i in 0 until 3) { // for (i in 0 until 3) {
dataList.add(ApprovalBean("")) // dataList.add(ApprovalBean(""))
} // }
adapter.refreshData(dataList) // adapter.refreshData(dataList)
} }
private fun initAdapter() { private fun initAdapter() {

Loading…
Cancel
Save