package org.springblade.system.service.impl;

import jakarta.annotation.Resource;
import org.springblade.common.core.domain.AjaxResult;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.system.domain.TransferProblemDto;
import org.springblade.system.mapper.TransferProblemMapper;
import org.springblade.system.service.TransferProblemService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;



/**
 * @Author：liang.chao
 * @Date：2025/9/19 - 14:50
 */
@Service
public class TransferProblemServiceImpl implements TransferProblemService {

    @Resource
    private TransferProblemMapper transferProblemMapper;

    @Override
    public List<TransferProblemDto> list(TransferProblemDto dto) {
        return transferProblemMapper.list(dto);
    }

    @Override
    public AjaxResult add(TransferProblemDto dto) {
        dto.setCreateUserId(AuthUtil.getUser().getUserId());
        dto.setUpdateUserId(AuthUtil.getUser().getUserId());
        dto.setCreateUserName(AuthUtil.getUser().getUserName());
        dto.setUpdateUserName(AuthUtil.getUser().getUserName());
        Integer result = transferProblemMapper.add(dto);
        return result > 0 ? AjaxResult.success() : AjaxResult.error();
    }

    @Override
    public AjaxResult edit(TransferProblemDto dto) {
        dto.setUpdateUserId(AuthUtil.getUser().getUserId());
        dto.setUpdateUserName(AuthUtil.getUser().getUserName());
        Integer result = transferProblemMapper.edit(dto);
        return result > 0 ? AjaxResult.success() : AjaxResult.error();
    }

    @Override
    public AjaxResult del(TransferProblemDto dto) {
        Integer result = transferProblemMapper.del(dto);
        return result > 0 ? AjaxResult.success() : AjaxResult.error();
    }

    @Override
    public AjaxResult getTransferProblemById(TransferProblemDto dto) {
        TransferProblemDto transferProblemDto = transferProblemMapper.getTransferProblemById(dto);
        return AjaxResult.success(transferProblemDto);
    }
}
