llm-survey/src/main/java/ltd/qubit/survey/service/impl/OptionServiceImpl.java
2025-02-20 15:34:19 +08:00

73 lines
1.8 KiB
Java

package ltd.qubit.survey.service.impl;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Optional;
import lombok.RequiredArgsConstructor;
import ltd.qubit.survey.dao.OptionDao;
import ltd.qubit.survey.model.Option;
import ltd.qubit.survey.service.OptionService;
import org.springframework.stereotype.Service;
/**
* 选项服务实现类
*/
@Service
@RequiredArgsConstructor
public class OptionServiceImpl implements OptionService {
private final OptionDao optionDao;
@Override
public Option create(Option option) {
option.setCreatedAt(LocalDateTime.now());
optionDao.insert(option);
return option;
}
@Override
public void delete(Long id) {
optionDao.deleteById(id);
}
@Override
public Option update(Option option) {
optionDao.update(option);
return option;
}
@Override
public Optional<Option> findById(Long id) {
return optionDao.findById(id);
}
@Override
public List<Option> findAll() {
return optionDao.findAll();
}
@Override
public List<Option> findByQuestionId(Long questionId) {
return optionDao.findByQuestionId(questionId);
}
@Override
public Optional<Option> findByQuestionIdAndCode(Long questionId, String optionCode) {
return optionDao.findByQuestionIdAndCode(questionId, optionCode);
}
@Override
public List<Option> batchCreate(List<Option> options) {
// 设置创建时间
LocalDateTime now = LocalDateTime.now();
options.forEach(option -> option.setCreatedAt(now));
// 批量插入
optionDao.batchInsert(options);
return options;
}
@Override
public void deleteByQuestionId(Long questionId) {
optionDao.deleteByQuestionId(questionId);
}
}