package org.hsweb.web.service.commons; import org.hsweb.web.bean.common.InsertParam; import org.hsweb.web.bean.po.GenericPo; import org.hsweb.web.dao.InsertMapper; import org.hsweb.web.service.InsertService; /** * @author zhouhao */ public interface SimpleInsertService<Po extends GenericPo<Pk>, Pk> extends InsertService<Po, Pk> { InsertMapper<Po> getInsertMapper(); void tryValidPo(Po data); Class<Pk> getPKType(); @Override default Pk insert(Po data) { if (getPKType() == String.class && data.getId() == null) { ((GenericPo<String>) data).setId(GenericPo.createUID()); } tryValidPo(data); getInsertMapper().insert(InsertParam.build(data)); return data.getId(); } }