package com.grkj.iscs.util import com.grkj.iscs.MyApplication import com.grkj.iscs.model.Token import com.grkj.iscs.model.UrlConsts import com.grkj.iscs.model.vo.card.CardInfoRespVO import com.grkj.iscs.model.vo.dept.DeptListRespVO import com.grkj.iscs.model.vo.sop.SopInfoRespVO import com.grkj.iscs.model.vo.sop.SopPageRespVO import com.grkj.iscs.model.vo.ticket.TicketDetailRespVO import com.grkj.iscs.model.vo.ticket.TicketPageRespVO import com.grkj.iscs.model.vo.ticket.TicketTypeRespVO import com.grkj.iscs.model.vo.user.UserListRespVO /** * 网络请求 */ object NetApi { /** * 登录 */ fun login(username: String, password: String, callBack: (Boolean?) -> Unit) { NetHttpManager.getInstance().doRequestNet( UrlConsts.SIGN_IN, false, mapOf( "username" to username, "password" to password ), { res, _, _ -> res?.let { val newToken = it.toBean(Token::class.java) newToken.saveToSp(MyApplication.instance!!.applicationContext) callBack.invoke(true) } ?: run { callBack.invoke(false) } }, isGet = false, isAuth = false) } /** * 退出登录 */ fun logout() { NetHttpManager.getInstance().doRequestNet( UrlConsts.LOGOUT, false, mapOf(), { res, _, _ -> SPUtils.clearLoginUser(MyApplication.instance!!.applicationContext) Token.clear(MyApplication.instance!!.applicationContext) }, isGet = true, isAuth = false ) } /** * 刷卡登录 */ fun cardLogin(cardNfc: String, callBack: (Boolean?) -> Unit) { NetHttpManager.getInstance().doRequestNet( UrlConsts.LOGIN_CARD, false, mapOf( "cardNfc" to cardNfc ), { res, _, _ -> res?.let { val newToken = it.toBean(Token::class.java) newToken.saveToSp(MyApplication.instance!!.applicationContext) callBack.invoke(true) } ?: run { callBack.invoke(false) } }, isGet = false, isAuth = false) } /** * 获取SOP分页 */ fun getSopPage(current: Int, size: Int, callBack: (SopPageRespVO?) -> Unit) { NetHttpManager.getInstance().doRequestNet( UrlConsts.SOP_PAGE, false, mapOf( "current" to current, "size" to size ), { res, _, _ -> res?.let { callBack.invoke(getRefBean(it)) } }, isGet = true, isAuth = true) } /** * 获取工作票类型 */ fun getTicketType(callBack: (MutableList?) -> Unit) { NetHttpManager.getInstance().doRequestNet( UrlConsts.TICKET_TYPE, false, mapOf(), { res, _, _ -> res?.let { callBack.invoke(getRefBean(it)) } }, isGet = true, isAuth = true) } /** * 获取一个自动编号 */ fun getAutoCode(type: String, callBack: (String?) -> Unit) { NetHttpManager.getInstance().doRequestNet( UrlConsts.AUTO_CODE + "/" +type, false, mapOf(), { res, _, _ -> res?.let { callBack.invoke(it.toString()) } }, isGet = true, isAuth = true) } /** * 获取SOP详情 */ fun getSopInfo(sopId: Long, callBack: (SopInfoRespVO?) -> Unit) { NetHttpManager.getInstance().doRequestNet( UrlConsts.SOP_INFO, false, mapOf( "sopId" to sopId ), { res, _, _ -> res?.let { callBack.invoke(getRefBean(it)) } }, isGet = true, isAuth = true) } /** * 获取用户列表 */ fun getUserList(pageNum: Int, pageSize: Int, callBack: (UserListRespVO?) -> Unit) { NetHttpManager.getInstance().doRequestNet( UrlConsts.USER_LIST, false, mapOf( "pageNum" to pageNum, "pageSize" to pageSize ), { res, _, _ -> res?.let { callBack.invoke(it.toBean(UserListRespVO::class.java)) } }, isGet = true, isAuth = true) } /** * 获取部门列表 */ fun getDeptList(pageNum: Int, pageSize: Int, callBack: (MutableList?) -> Unit) { NetHttpManager.getInstance().doRequestNet( UrlConsts.DEPT_List, false, mapOf( "pageNum" to pageNum, "pageSize" to pageSize ), { res, _, _ -> res?.let { callBack.invoke(getRefBean(it)) } }, isGet = true, isAuth = true ) } /** * 创建工作票 */ fun createTicket() { NetHttpManager.getInstance().doRequestNet( UrlConsts.CREATE_TICKET, false, mapOf(), { res, _, _ -> res?.let { //TODO 创建工作票结果 } }, isGet = false, isAuth = true ) } /** * 获取工作票分页 */ fun getTicketPage(pageNum: Int, pageSize: Int, userId: Long, ticketStatus: Int?, callBack: (TicketPageRespVO?) -> Unit) { val map = mutableMapOf( "pageNum" to pageNum, "pageSize" to pageSize, "userId" to userId ) if (ticketStatus != null) { map["ticketStatus"] = ticketStatus } NetHttpManager.getInstance().doRequestNet( UrlConsts.PAGE_TICKET, false, map, { res, _, _ -> res?.let { callBack.invoke(getRefBean(it)) } }, isGet = true, isAuth = true ) } /** * 获取作业票详细信息 */ fun getTicketDetail(ticketId: Long, callBack: (TicketDetailRespVO?) -> Unit) { NetHttpManager.getInstance().doRequestNet( UrlConsts.DETAIL_TICKET, false, mapOf("ticketId" to ticketId), { res, _, _ -> res?.let { callBack.invoke(getRefBean(it)) } }, isGet = true, isAuth = true ) } /** * 获取刷卡信息 */ fun getCardInfo(callBack: (CardInfoRespVO?) -> Unit) { NetHttpManager.getInstance().doRequestNet( UrlConsts.CARD_INFO, false, mapOf(), { res, _, _ -> res?.let { callBack.invoke(getRefBean(it)) } }, isGet = true, isAuth = true ) } }