package com.cloudroam.service.impl;
|
|
import cn.hutool.core.util.IdUtil;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.cloudroam.bo.EmailTaskSettingBO;
|
import com.cloudroam.common.LocalUser;
|
import com.cloudroam.dto.emailTask.CreateOrUpdateEmailTaskDTO;
|
import com.cloudroam.dto.emailTask.QueryEmailTaskDTO;
|
import com.cloudroam.common.enumeration.DeletedEnum;
|
import com.cloudroam.common.enumeration.EmailTaskTagEnum;
|
|
import com.cloudroam.mapper.EmailTaskSettingMapperCustom;
|
import com.cloudroam.model.EmailSmtpSettingDO;
|
import com.cloudroam.model.EmailTaskSettingDO;
|
import com.cloudroam.mapper.EmailTaskSettingMapper;
|
import com.cloudroam.model.UserDO;
|
import com.cloudroam.service.EmailTaskSettingService;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
|
import java.util.Date;
|
import java.util.List;
|
|
/**
|
* <p>
|
* 服务实现类
|
* </p>
|
*
|
* @author generator@TaoJie
|
* @since 2023-08-15
|
*/
|
@Service
|
public class EmailTaskSettingServiceImpl extends ServiceImpl<EmailTaskSettingMapper, EmailTaskSettingDO> implements EmailTaskSettingService {
|
|
@Autowired
|
private EmailTaskSettingMapperCustom emailTaskSettingMapperCustom;
|
@Override
|
public EmailTaskSettingDO getEmailTaskSettingByTag(EmailTaskTagEnum emailTaskTagEnum) {
|
|
QueryWrapper<EmailTaskSettingDO> wrapper = new QueryWrapper<>();
|
if(null!=emailTaskTagEnum){
|
wrapper.eq("task_tag",emailTaskTagEnum.getCode());
|
}
|
|
List<EmailTaskSettingDO> emailTaskSettingDOS = this.baseMapper.selectList(wrapper);
|
if(null!=emailTaskSettingDOS && emailTaskSettingDOS.size()>0){
|
return emailTaskSettingDOS.get(0);
|
}
|
return null;
|
}
|
|
@Override
|
@Transactional
|
public boolean createEmailTask(CreateOrUpdateEmailTaskDTO validator) {
|
UserDO user = LocalUser.getLocalUser();
|
|
EmailTaskSettingDO emailTaskSettingDO=new EmailTaskSettingDO();
|
BeanUtils.copyProperties(validator,emailTaskSettingDO);
|
|
emailTaskSettingDO.setId(IdUtil.simpleUUID());
|
|
emailTaskSettingDO.setCreateTime(new Date());
|
emailTaskSettingDO.setCreateUserId(String.valueOf(user.getId()));
|
emailTaskSettingDO.setCreateUserName(user.getNickname());
|
|
emailTaskSettingDO.setUpdateTime(new Date());
|
emailTaskSettingDO.setUpdateUserId(String.valueOf(user.getId()));
|
emailTaskSettingDO.setUpdateUserName(user.getNickname());
|
emailTaskSettingDO.setIsDeleted(DeletedEnum.DELETED_NO.getCode());
|
return baseMapper.insert(emailTaskSettingDO)>0;
|
}
|
|
@Override
|
@Transactional
|
public boolean updateEmailTaskSetting(CreateOrUpdateEmailTaskDTO validator) {
|
UserDO user = LocalUser.getLocalUser();
|
|
EmailTaskSettingDO emailTaskSettingDO=new EmailTaskSettingDO();
|
BeanUtils.copyProperties(validator,emailTaskSettingDO);
|
|
emailTaskSettingDO.setCreateTime(new Date());
|
emailTaskSettingDO.setCreateUserId(String.valueOf(user.getId()));
|
emailTaskSettingDO.setCreateUserName(user.getNickname());
|
|
emailTaskSettingDO.setUpdateTime(new Date());
|
emailTaskSettingDO.setUpdateUserId(String.valueOf(user.getId()));
|
emailTaskSettingDO.setUpdateUserName(user.getNickname());
|
emailTaskSettingDO.setIsDeleted(DeletedEnum.DELETED_NO.getCode());
|
return baseMapper.updateById(emailTaskSettingDO)>0;
|
}
|
|
@Override
|
@Transactional
|
public boolean removeByIdLogic(String id) {
|
UserDO user = LocalUser.getLocalUser();
|
|
EmailTaskSettingDO emailTaskSettingDO=new EmailTaskSettingDO();
|
emailTaskSettingDO.setId(id);
|
emailTaskSettingDO.setIsDeleted(DeletedEnum.DELETED_YES.getCode());
|
emailTaskSettingDO.setDeleteTime(new Date());
|
emailTaskSettingDO.setDeleteUserId(String.valueOf(user.getId()));
|
emailTaskSettingDO.setDeleteUserName(user.getNickname());
|
|
|
return baseMapper.updateById(emailTaskSettingDO)>0;
|
}
|
|
@Override
|
public IPage<EmailTaskSettingBO> getEmailTaskSettingPage(QueryEmailTaskDTO dto) {
|
Page<EmailSmtpSettingDO> page = new Page<EmailSmtpSettingDO>(dto.getPage(), dto.getCount());
|
return emailTaskSettingMapperCustom.getEmailTaskSettingPage(page, dto.getKeyword(),
|
dto.getTaskName(),dto.getTaskStopFlag(), dto.getTaskHour(),dto.getTaskDesc());
|
}
|
}
|