TaskTemplateOperationServiceImpl.java 2.66 KB
package com.topdraw.business.process.service.impl;

import com.topdraw.business.module.task.template.domain.TaskTemplate;
import com.topdraw.business.module.task.template.service.TaskTemplateService;
import com.topdraw.business.module.task.template.service.dto.TaskTemplateDTO;
import com.topdraw.business.process.service.TaskTemplateOperationService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.Objects;


/**
 * @author :
 * @description:
 * @function :
 * @date :Created in 2022/4/25 22:27
 * @version: :
 * @modified By:
 * @since : modified in 2022/4/25 22:27
 */
@Service
@Slf4j
public class TaskTemplateOperationServiceImpl implements TaskTemplateOperationService {

    @Autowired
    private TaskTemplateService taskTemplateService;

    public void asyncCreate(TaskTemplate resources) {
        this.create(resources);
    }

    public void asyncUpdate(TaskTemplate resources) {
        this.update(resources);
    }

    public void asyncDelete(TaskTemplate resources) {
        this.delete(resources);
    }

    private void create(TaskTemplate resources) {
        String code = resources.getCode();
        TaskTemplateDTO taskTemplateDTO = this.findByCode(code);
        if (Objects.isNull(taskTemplateDTO.getId())) {
            this.taskTemplateService.create(resources);
        }

    }

    private void update(TaskTemplate resources) {
        String code = resources.getCode();
        TaskTemplateDTO taskTemplateDTO = this.findByCode(code);
        if (Objects.nonNull(taskTemplateDTO.getId())) {
            Long id = taskTemplateDTO.getId();
            resources.setId(id);
            this.taskTemplateService.update(resources);
        }
    }

    private void delete(TaskTemplate resources) {
        String code = resources.getCode();
        TaskTemplateDTO taskTemplateDTO = this.findByCode(code);
        if (Objects.nonNull(taskTemplateDTO.getId())) {
            Long id = taskTemplateDTO.getId();
            this.taskTemplateService.delete(id);
        }
    }

    private void delete(Long id) {
        TaskTemplateDTO taskTemplateDTO = this.findById(id);
        this.taskTemplateService.delete(id);

        TaskTemplate taskTemplate = new TaskTemplate();
        BeanUtils.copyProperties(taskTemplateDTO, taskTemplate);
        taskTemplate.setDeleteMark(1);
    }

    @Override
    public TaskTemplateDTO findByCode(String code) {
        return this.taskTemplateService.findByCode(code);
    }


    private TaskTemplateDTO findById(Long id) {
        return this.taskTemplateService.findById(id);
    }

}