package com.inspect.patrol.service.impl;

import com.inspect.base.core.utils.DateUtils;
import com.inspect.patrol.domain.PatrolLinkageMessage;
import com.inspect.patrol.mapper.PatrolLinkageMessageMapper;
import com.inspect.patrol.service.IPatrolLinkageMessageService;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
public class PatrolLinkageMessageServiceImpl implements IPatrolLinkageMessageService {
    private final PatrolLinkageMessageMapper patrolLinkageMessageMapper;

    public PatrolLinkageMessageServiceImpl(PatrolLinkageMessageMapper patrolLinkageMessageMapper) {
        this.patrolLinkageMessageMapper = patrolLinkageMessageMapper;
    }

    public PatrolLinkageMessage selectPatrolLinkageMessageByLinkageMessageId(Long linkageMessageId) {
        return this.patrolLinkageMessageMapper.selectPatrolLinkageMessageByLinkageMessageId(linkageMessageId);
    }

    public List<PatrolLinkageMessage> selectPatrolLinkageMessageList(PatrolLinkageMessage patrolLinkageMessage) {
        return this.patrolLinkageMessageMapper.selectPatrolLinkageMessageList(patrolLinkageMessage);
    }

    public int insertPatrolLinkageMessage(String type, String content) {
        new Thread(() -> {
            PatrolLinkageMessage patrolLinkageMessage = new PatrolLinkageMessage();
            patrolLinkageMessage.setType(type);
            patrolLinkageMessage.setContent(content);
            patrolLinkageMessage.setCreateTime(DateUtils.getNowDate());
            this.patrolLinkageMessageMapper.insertPatrolLinkageMessage(patrolLinkageMessage);
        });
        return 0;
    }

    public int updatePatrolLinkageMessage(PatrolLinkageMessage patrolLinkageMessage) {
        return this.patrolLinkageMessageMapper.updatePatrolLinkageMessage(patrolLinkageMessage);
    }

    public int deletePatrolLinkageMessageByLinkageMessageIds(Long[] linkageMessageIds) {
        return this.patrolLinkageMessageMapper.deletePatrolLinkageMessageByLinkageMessageIds(linkageMessageIds);
    }

    public int deletePatrolLinkageMessageByLinkageMessageId(Long linkageMessageId) {
        return this.patrolLinkageMessageMapper.deletePatrolLinkageMessageByLinkageMessageId(linkageMessageId);
    }
}
