package com.cloudroam.service.impl;
|
|
import cn.hutool.core.util.IdUtil;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.cloudroam.common.LocalUser;
|
import com.cloudroam.common.enumeration.CalendarTypeEnum;
|
import com.cloudroam.common.enumeration.DeletedEnum;
|
import com.cloudroam.dto.calendarHoliday.CalendarHolidayPageDTO;
|
import com.cloudroam.dto.calendarHoliday.CreateCalendarHolidayDTO;
|
import com.cloudroam.dto.calendarHoliday.UpdateCalendarHolidayDTO;
|
import com.cloudroam.mapper.CalCalendarHolidayMapperCustom;
|
import com.cloudroam.mapper.CalCalendarMapperCustom;
|
import com.cloudroam.model.CalCalendarHolidayDO;
|
import com.cloudroam.mapper.CalCalendarHolidayMapper;
|
import com.cloudroam.model.MeetingDO;
|
import com.cloudroam.model.UserDO;
|
import com.cloudroam.service.CalCalendarHolidayService;
|
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 2024-07-25
|
*/
|
@Service
|
public class CalCalendarHolidayServiceImpl extends ServiceImpl<CalCalendarHolidayMapper, CalCalendarHolidayDO> implements CalCalendarHolidayService {
|
|
@Autowired
|
private CalCalendarHolidayMapperCustom calCalendarHolidayMapperCustom;
|
|
@Autowired
|
private CalCalendarMapperCustom calCalendarMapperCustom;
|
|
@Transactional
|
@Override
|
public boolean insertCalendarHoliday(CreateCalendarHolidayDTO validator) {
|
UserDO user = LocalUser.getLocalUser();
|
CalCalendarHolidayDO calCalendarHolidayDO=new CalCalendarHolidayDO();
|
BeanUtils.copyProperties(validator,calCalendarHolidayDO);
|
calCalendarHolidayDO.setId(IdUtil.simpleUUID());
|
|
calCalendarHolidayDO.setCreateTime(new Date());
|
calCalendarHolidayDO.setCreateUserId(String.valueOf(user.getId()));
|
calCalendarHolidayDO.setCreateUserName(user.getNickname());
|
|
calCalendarHolidayDO.setUpdateTime(new Date());
|
calCalendarHolidayDO.setUpdateUserId(String.valueOf(user.getId()));
|
calCalendarHolidayDO.setUpdateUserName(user.getNickname());
|
calCalendarHolidayDO.setIsDeleted(DeletedEnum.DELETED_NO.getCode());
|
|
// 更新日志的类型
|
calCalendarMapperCustom.updateCalCalendarType(calCalendarHolidayDO);
|
|
return baseMapper.insert(calCalendarHolidayDO)>0;
|
}
|
|
@Transactional
|
@Override
|
public boolean updateCalendarHoliday(UpdateCalendarHolidayDTO validator) {
|
UserDO user = LocalUser.getLocalUser();
|
|
CalCalendarHolidayDO calCalendarHolidayDO=new CalCalendarHolidayDO();
|
BeanUtils.copyProperties(validator,calCalendarHolidayDO);
|
calCalendarHolidayDO.setUpdateTime(new Date());
|
calCalendarHolidayDO.setUpdateUserId(String.valueOf(user.getId()));
|
calCalendarHolidayDO.setUpdateUserName(user.getNickname());
|
|
// 先获取之前的日历
|
final CalCalendarHolidayDO beforeCalendarHolidayDO = baseMapper.selectById(validator.getId());
|
// 将之前日历的数据类型替换成null
|
beforeCalendarHolidayDO.setType(CalendarTypeEnum.NONE.getCode());
|
calCalendarMapperCustom.updateCalCalendarType(beforeCalendarHolidayDO);
|
|
// 更新日历之后的类型
|
calCalendarMapperCustom.updateCalCalendarType(calCalendarHolidayDO);
|
|
return baseMapper.updateById(calCalendarHolidayDO)>0;
|
}
|
|
@Override
|
@Transactional
|
public boolean deleteCalendarHolidayById(String id) {
|
|
UserDO user = LocalUser.getLocalUser();
|
|
final CalCalendarHolidayDO calCalendarHolidayDO = baseMapper.selectById(id);
|
calCalendarHolidayDO.setIsDeleted(DeletedEnum.DELETED_YES.getCode());
|
calCalendarHolidayDO.setDeleteTime(new Date());
|
calCalendarHolidayDO.setDeleteUserName(user.getNickname());
|
calCalendarHolidayDO.setDeleteUserId(String.valueOf(user.getId()));
|
|
// 将要删除的日历记事关联的日历数据设置为无(0)
|
CalCalendarHolidayDO deleteCalCalendarHolidayDO=new CalCalendarHolidayDO();
|
deleteCalCalendarHolidayDO.setType(CalendarTypeEnum.NONE.getCode());
|
deleteCalCalendarHolidayDO.setStartDate(calCalendarHolidayDO.getStartDate());
|
deleteCalCalendarHolidayDO.setEndDate(calCalendarHolidayDO.getEndDate());
|
calCalendarMapperCustom.updateCalCalendarType(deleteCalCalendarHolidayDO);
|
|
return baseMapper.updateById(calCalendarHolidayDO)>0;
|
}
|
|
@Override
|
public IPage<CalCalendarHolidayDO> getCalendarHolidayPage(CalendarHolidayPageDTO dto) {
|
Page<MeetingDO> page=new Page<MeetingDO>(dto.getPage(),dto.getCount());
|
return calCalendarHolidayMapperCustom.getCalendarHolidayPage(page,dto);
|
}
|
|
@Override
|
public List<CalCalendarHolidayDO> getCalendarHolidayList(CalendarHolidayPageDTO dto) {
|
return calCalendarHolidayMapperCustom.getCalendarHolidayList(dto);
|
}
|
|
|
}
|