package com.gxzc.zen.persistence import com.baomidou.kisso.SSOHelper import com.baomidou.kisso.security.token.SSOToken import com.baomidou.mybatisplus.plugins.Page import com.baomidou.mybatisplus.service.IService import org.apache.commons.lang3.StringUtils import org.springframework.beans.factory.annotation.Autowired import java.util.* import javax.servlet.http.HttpServletRequest /** * Created by mgr on 2018/1/23. */ //interface ZenBaseService : IService abstract class ZenBaseService> { @Autowired protected val dao:D?=null fun finds(params:Map): List?{ return dao?.finds(params) } fun findList(params:Map): List?{ return dao?.findList(params) } fun findOne(params:Map):T?{ val list=findList(params) if(list!!.size>0) return list.get(0) return null } fun findID(id:String?):T?{ if(StringUtils.isBlank(id))return null return dao?.selectById(id) // return findOne(mapOf("id" to id)) } fun findIDNum(idnum:Long?):T?{ if(idnum==null)return null return findOne(mapOf("idnum" to idnum)) } fun findPage(params: Map): Page { val page=getPage(params) val list=findList(params) page.setRecords(list).setTotal(list!!.size) return page } fun save(entity:T?):Int?{ return save(entity,null) } fun save(entity:T?,req: HttpServletRequest):Int?{ val token= SSOHelper.attrToken(req) return save(entity,token?.id) } fun save(entity:T?,ren:String?):Int?{ entity?.preHandle() if(entity?.id==null||entity.id!!<=0) { entity?.createBy=ren entity?.createTime= Date() return dao?.insert(entity) ?: -1 }else { entity.updateBy=ren entity.updateTime= Date() return dao?.updateById(entity) ?: -1 } } /** 分页查询 */ fun getPage(params: Map): Page { var current = 1 var size = 10 try { if (params.containsKey("pageNum")) current = params["pageNum"] as Int if (params.containsKey("pageSize")) size = params["pageSize"] as Int }catch (e:Exception) { } if (size < 0) { val page = Page() page.isAsc = false return page } val page = Page(current, size) page.isAsc = false return page } }