123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 |
- package vn.hongyegroup.yybusiness.mvvm
- import com.android.basiclib.base.vm.BaseRepository
- import com.android.basiclib.bean.BaseBean
- import com.android.basiclib.bean.OkResult
- import com.android.basiclib.bean.PageInfo
- import com.android.basiclib.engine.network.httpRequest
- import com.android.basiclib.utils.CheckUtil
- import com.android.basiclib.utils.log.MyLogUtils
- import okhttp3.MediaType
- import okhttp3.MultipartBody
- import okhttp3.RequestBody
- import vn.hongyegroup.yybusiness.entity.AttendanceBean
- import vn.hongyegroup.yybusiness.entity.CheckInOut
- import vn.hongyegroup.yybusiness.entity.LoginBean
- import vn.hongyegroup.yybusiness.http.AppRetrofit
- import java.io.File
- import javax.inject.Inject
- import javax.inject.Singleton
- @Singleton
- class AppRepository @Inject constructor() : BaseRepository() {
- /**
- * 登录
- */
- suspend inline fun requestLogin(code: String, password: String, registerId: String?): OkResult<LoginBean> {
- val params = hashMapOf<String, String>()
- params["code"] = code
- params["password"] = password
- if (!CheckUtil.isEmpty(registerId)) {
- params["register_id"] = registerId!!
- }
- MyLogUtils.w("请求参数:$params")
- return httpRequest {
- AppRetrofit.apiService.requestLogin(params)
- }
- }
- /**
- * 登出
- */
- suspend inline fun requestLogout(token: String): OkResult<Boolean> {
- MyLogUtils.w("请求参数,token:$token")
- return httpRequest {
- AppRetrofit.apiService.requestLogout(token)
- }
- }
- /**
- * 获取考勤成员列表
- */
- suspend inline fun fetchAppliedList(
- token: String,
- keyword: String?,
- startDate: String,
- endDate: String
- ): OkResult<PageInfo<AttendanceBean>> {
- val params = hashMapOf<String, String>()
- params["token"] = token
- params["cur_page"] = "1"
- params["page_size"] = "9999"
- if (!CheckUtil.isEmpty(keyword)) {
- params["keyword"] = keyword!!
- }
- if (!CheckUtil.isEmpty(startDate)) {
- params["start_date"] = startDate
- }
- if (!CheckUtil.isEmpty(endDate)) {
- params["end_date"] = endDate
- }
- return httpRequest {
- AppRetrofit.apiService.fetchAppliedList(params)
- }
- }
- /**
- * 签到签出
- */
- suspend inline fun requestCheckInOut(
- token: String,
- appliedId: String,
- isCheckIn: Boolean,
- path: String?
- ): OkResult<CheckInOut> {
- val builder = MultipartBody.Builder()
- builder.setType(MultipartBody.FORM)
- builder.addFormDataPart("token", token)
- builder.addFormDataPart("applied_id", appliedId)
- builder.addFormDataPart("check_type", if (isCheckIn) "1" else "2")
- if (!CheckUtil.isEmpty(path)) {
- val file = File(path!!)
- val imageBody = RequestBody.create(MediaType.parse("multipart/form-data"), file)
- builder.addFormDataPart("capture", file.name, imageBody)
- }
- val parts = builder.build().parts()
- return httpRequest {
- AppRetrofit.apiService.checkInOrOut(parts)
- }
- }
- }
|