class TaskOperationServiceImpl extends ServiceImpl<OaTaskOperationMapper, OaTaskOperation>
        implements TaskOperationService, DataProxy<OaTaskOperation> {

    @Autowired
    private EruptUserService eruptUserService;

    @Override
    @Transactional(rollbackFor = Exception.class)
    public void log(OaTask task, String operation, String remarks) {<FILL_FUNCTION_BODY>}

    @Override
    @Transactional(rollbackFor = Exception.class)
    public void log(OaTask task, String operation, String remarks, String nodeId, String nodeName) {
        EruptUser currentEruptUser = eruptUserService.getCurrentEruptUser();
        OaTaskOperation build = OaTaskOperation.builder()
                .processInstId(task.getProcessInstId())
                .processDefId(task.getProcessDefId())
                .taskId(task.getId())
                .taskName(task.getTaskName())
                .operator(currentEruptUser.getAccount())
                .operatorName(currentEruptUser.getName())
                .operation(operation)
                .remarks(remarks)
                .operationDate(new Date())
                .targetNodeId(nodeId)
                .targetNodeName(nodeName)
                .build();
        this.save(build);
    }

    @Override
    public List<OaTaskOperation> listByOperator(String account) {
        return this.list(new LambdaQueryWrapper<OaTaskOperation>()
                .eq(OaTaskOperation::getOperator, account)
                .orderByDesc(OaTaskOperation::getOperationDate)
        );
    }
}

        EruptUser currentEruptUser = eruptUserService.getCurrentEruptUser();
        OaTaskOperation build = OaTaskOperation.builder()
                .processInstId(task.getProcessInstId())
                .processDefId(task.getProcessDefId())
                .taskId(task.getId())
                .taskName(task.getTaskName())
                .operator(currentEruptUser.getAccount())
                .operatorName(currentEruptUser.getName())
                .operation(operation)
                .remarks(remarks)
                .operationDate(new Date())
                .build();
        this.save(build);
    
<no_super_class>