package cn.lihu.jh.module.queue.service.sequence;
|
|
import org.springframework.stereotype.Service;
|
import jakarta.annotation.Resource;
|
import org.springframework.validation.annotation.Validated;
|
import org.springframework.transaction.annotation.Transactional;
|
|
import java.util.*;
|
import cn.lihu.jh.module.queue.controller.admin.sequence.vo.*;
|
import cn.lihu.jh.module.queue.dal.dataobject.sequence.SequenceDO;
|
import cn.lihu.jh.framework.common.pojo.PageResult;
|
import cn.lihu.jh.framework.common.pojo.PageParam;
|
import cn.lihu.jh.framework.common.util.object.BeanUtils;
|
|
import cn.lihu.jh.module.queue.dal.mysql.sequence.SequenceMapper;
|
|
import static cn.lihu.jh.framework.common.exception.util.ServiceExceptionUtil.exception;
|
import static cn.lihu.jh.module.queue.enums.ErrorCodeConstants.*;
|
|
/**
|
* 当天序号 Service 实现类
|
*
|
* @author 金华医院
|
*/
|
@Service
|
@Validated
|
public class SequenceServiceImpl implements SequenceService {
|
|
@Resource
|
private SequenceMapper sequenceMapper;
|
|
@Override
|
public Integer createSequence(SequenceSaveReqVO createReqVO) {
|
// 插入
|
SequenceDO sequence = BeanUtils.toBean(createReqVO, SequenceDO.class);
|
sequenceMapper.insert(sequence);
|
// 返回
|
return sequence.getId();
|
}
|
|
@Override
|
public void updateSequence(SequenceSaveReqVO updateReqVO) {
|
// 校验存在
|
validateSequenceExists(updateReqVO.getId());
|
// 更新
|
SequenceDO updateObj = BeanUtils.toBean(updateReqVO, SequenceDO.class);
|
sequenceMapper.updateById(updateObj);
|
}
|
|
@Override
|
public void deleteSequence(Integer id) {
|
// 校验存在
|
validateSequenceExists(id);
|
// 删除
|
sequenceMapper.deleteById(id);
|
}
|
|
private void validateSequenceExists(Integer id) {
|
if (sequenceMapper.selectById(id) == null) {
|
throw exception(SEQUENCE_NOT_EXISTS);
|
}
|
}
|
|
@Override
|
public SequenceDO getSequence(Integer id) {
|
return sequenceMapper.selectById(id);
|
}
|
|
@Override
|
public PageResult<SequenceDO> getSequencePage(SequencePageReqVO pageReqVO) {
|
return sequenceMapper.selectPage(pageReqVO);
|
}
|
|
}
|