**服务(service)接口的实现**

按需实现core项目中的接口，注意要继承自ibiz-boot-starter中的基础服务类，完成和dataEntityRuntime的衔接，有以下几个可选：

 * 1.MPServiceImpl<Entity,EntitySearchContext,EntityMapper>  
   自带mybatis-plus的baseMapper，可以直接使用部分mybatis-plus的常用方法（list/count/getOne），有数据库操作时优先选用
 * 2.BaseServiceImpl<Entity,EntitySearchContext>  
   最低基础服务类

实现类建议放入本项目的对应模块.service.impl包内，示例如下：


```
@Slf4j
@Service
public class XXXServiceImpl extends MPServiceImpl<XXX,XXXSearchContext,XXXMapper>  implements XXXService {

    //示例1：整体重写create方法
    public boolean create(XXX et)  throws Throwable {
        if(!XXXService.super.create(et))
            return false;
        return true;
    }


    //示例2：分段重写update方法， 支持before/on/after分段的方法有 create，update，save，getDraft，VOID的自定义方法
    public void beforeUpdate(XXX et) {
        et.setMemo("示例");
    }
    public boolean onUpdate(XXX et)  throws Throwable {
        if(!XXXService.super.onUpdate(et))
            return false;
        return true;
    }
    public void afterUpdate(XXX et) {
        et.setMemo("示例");
    }


    //示例3：分段重写fetch方法， 支持before/on分段，所有查询集合都支持，codeName已做驼峰转换，参照XXXService接口中声明的方法名
    public void beforeFetchDefault(XXXSearchContext dto) {
        dto.eq("field1","条件值");
    }
    public Page<XXX> onFetchDefault(XXXSearchContext dto)  throws Throwable {
        return XXXService.super.onFetchDefault(dto);
    }

}

```
