| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- package com.dderp.common.api;
- import com.dderp.common.datas.ERPModule;
- import com.dderp.common.entity.base.BaseEntity;
- import com.dderp.common.entity.site.ERPTokenUser;
- import com.dySweetFishPlugin.sql.dao.OperatorWait;
- import com.sweetfish.service.RetResult;
- import java.util.List;
- /**
- * Created by jlutt on 2018-10-23.
- * 业务执行接口
- * 通过groovy脚本实现
- *
- * @author jlutt
- */
- public interface BusinessExecutor<S extends BaseEntity, R extends BaseEntity> {
- default String scriptName() {
- return "未知名称脚本";
- }
- default ERPModule module() {
- return ERPModule.NONE;
- }
- default String getPerms(ERPTokenUser currentUser) {
- return "";
- }
- /**
- * 判断脚本执行阻塞方式,有时候同一脚本需要根据参数判断执行方式
- *
- * @param source 参数
- * @return 阻塞方式
- */
- default OperatorWait getAWait(S source) {
- return OperatorWait.SYNC;
- }
- /**
- * 脚本模块第一次载入需要执行的代码
- * 例如初始化信息,
- */
- default void start(long supplierCode) {
- }
- default boolean checkIn(S source) {
- return true;
- }
- /**
- * 是否需要检查formToken,防止重复点击
- * 放在Rest的call中判断,不太方便,因为有些脚本也不需要检查
- *
- * @param source 输入参数
- * @return 是否需要检查token
- */
- default boolean needToken(S source) {
- return false;
- }
- //数据检查
- default RetResult<S> checkExecute(S source) {
- //默认方法转一到手,不允许直接返回成功,因为有可能对source做了处理
- return RetResult.<S>successT().result(source);
- }
- default RetResult<S> beforeExecute(S source) {
- //默认方法转一到手,不允许直接返回成功,因为有可能对source做了处理
- return RetResult.<S>successT().result(source);
- }
- default RetResult<R> execute(S source) {
- return null;
- }
- /**
- * 执行完成后需要收尾的工作
- * 为什么要判断executeError,因为有时候在执行数据之前,临时为了让订单之类的数据客户端查不到,会修改一下es里面的状态值,如果出错后需要修改回去,如果不出错则需要发送打印之类的信息
- *
- * @param executeError execute是否出错 true表示出错,false表示没出错
- * @param source 传入参数
- * @param dest execute的返回值
- */
- default void afterExecute(boolean executeError, S source, R dest) {
- }
- default RetResult<List<R>> executeList(S source) {
- return null;
- }
- }
|