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; /** *

* 服务实现类 *

* * @author generator@TaoJie * @since 2024-07-25 */ @Service public class CalCalendarHolidayServiceImpl extends ServiceImpl 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 getCalendarHolidayPage(CalendarHolidayPageDTO dto) { Page page=new Page(dto.getPage(),dto.getCount()); return calCalendarHolidayMapperCustom.getCalendarHolidayPage(page,dto); } @Override public List getCalendarHolidayList(CalendarHolidayPageDTO dto) { return calCalendarHolidayMapperCustom.getCalendarHolidayList(dto); } }