73 lines
1.8 KiB
Java
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);
|
|
}
|
|
} |