Java接口说明

package fx.custom.apl.example.scheduledtask;

import com.fxiaoke.functions.FunctionContext;
import com.fxiaoke.functions.Fx;
import com.fxiaoke.functions.client.DebugHelper;
import com.fxiaoke.functions.model.APIResult;
import com.fxiaoke.functions.template.IScheduledTaskAction;
import com.fxiaoke.functions.utils.Lists;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import static com.fxiaoke.functions.Fx.log;

/**
 * 计划任务基础模板
 * <p>
 * 计划任务需要从context.objectIds拿到数据id,然后自己查出相关数据再进行操作
 */
public class ScheduledTaskExample implements IScheduledTaskAction {

    /**
     * 计划任务函数的运行方法
     */
    @Override
    public void execute(FunctionContext context, Map<String, Object> args) {
        List<String> ids = context.getObjectIds();
        if (ids == null || ids.size() == 0) {
            log.info("ids is empty!");
            return;
        }

        APIResult result = Fx.object.findByIds("AccountObj", ids);
        if (result.isError() || result.getData() == null) {
            log.info(result.message());
            return;
        }
        // result.getData()默认是Object,需要强制类型转换
        List dataList = (List) result.getData();
        if (dataList == null || dataList.size() == 0) {
            log.info("dataList is empty!");
            return;
        }

        //处理数据
        for (Object data : dataList) {
            //按逻辑处理
            log.info("data: " + data);
        }
    }


    public static void main(String[] args) {
        //调试器
        DebugHelper helper = new DebugHelper();
        helper.init();
        Map<String, Object> param = new HashMap<>();
        //计划任务分两种场景
        // 1是需要从context.objectIds拿到数据id,然后自己查出相关数据再进行操作
        // 2是与参数无关,做自定义查询/自定义业务操作
        FunctionContext context = helper.scheduledContext(Lists.newArrayList("111"));
        new ScheduledTaskExample().execute(context, param);
    }
}



2024-10-22
0 0