7 天以前 ffe7921a138331185186fd100846fe50dcaf841c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
package cn.iocoder.yudao.module.mes.service.cal.holiday;
 
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.module.mes.controller.admin.cal.holiday.vo.MesCalHolidaySaveReqVO;
import cn.iocoder.yudao.module.mes.dal.dataobject.cal.holiday.MesCalHolidayDO;
import cn.iocoder.yudao.module.mes.dal.mysql.cal.holiday.MesCalHolidayMapper;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
 
import java.time.LocalDateTime;
import java.util.List;
 
/**
 * MES 假期设置 Service 实现类
 *
 * @author 芋道源码
 */
@Service
@Validated
public class MesCalHolidayServiceImpl implements MesCalHolidayService {
 
    @Resource
    private MesCalHolidayMapper holidayMapper;
 
    @Override
    public Long saveHoliday(MesCalHolidaySaveReqVO saveReqVO) {
        // Upsert 逻辑:如果该日期已有记录,则更新
        MesCalHolidayDO existing = holidayMapper.selectByDay(saveReqVO.getDay());
        if (existing != null) {
            MesCalHolidayDO updateObj = BeanUtils.toBean(saveReqVO, MesCalHolidayDO.class);
            updateObj.setId(existing.getId());
            holidayMapper.updateById(updateObj);
            return existing.getId();
        }
 
        // 插入新记录
        MesCalHolidayDO holiday = BeanUtils.toBean(saveReqVO, MesCalHolidayDO.class);
        holidayMapper.insert(holiday);
        return holiday.getId();
    }
 
    @Override
    public List<MesCalHolidayDO> getHolidayList(LocalDateTime startDay, LocalDateTime endDay) {
        return holidayMapper.selectList(startDay, endDay);
    }
 
    @Override
    public MesCalHolidayDO getHolidayByDay(LocalDateTime day) {
        return holidayMapper.selectByDay(day);
    }
 
}