package com.tcm.training.admin.system.service;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.tcm.training.admin.system.dto.SystemSettingsSaveRequest;
|
import com.tcm.training.admin.system.entity.SystemSettings;
|
import com.tcm.training.admin.system.mapper.SystemSettingsMapper;
|
import com.tcm.training.admin.system.vo.SystemSettingsVO;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
|
@Service
|
public class SystemSettingsAppService {
|
|
private final SystemSettingsMapper systemSettingsMapper;
|
|
public SystemSettingsAppService(SystemSettingsMapper systemSettingsMapper) {
|
this.systemSettingsMapper = systemSettingsMapper;
|
}
|
|
public SystemSettingsVO current() {
|
SystemSettings config = systemSettingsMapper.selectOne(new LambdaQueryWrapper<SystemSettings>()
|
.eq(SystemSettings::getDeleted, 0)
|
.orderByDesc(SystemSettings::getId)
|
.last("limit 1"));
|
return toVO(config);
|
}
|
|
@Transactional
|
public SystemSettingsVO saveCurrent(SystemSettingsSaveRequest request) {
|
SystemSettings config = systemSettingsMapper.selectOne(new LambdaQueryWrapper<SystemSettings>()
|
.eq(SystemSettings::getDeleted, 0)
|
.orderByDesc(SystemSettings::getId)
|
.last("limit 1"));
|
if (config == null) {
|
config = new SystemSettings();
|
fillConfig(config, request);
|
systemSettingsMapper.insert(config);
|
} else {
|
fillConfig(config, request);
|
systemSettingsMapper.updateById(config);
|
}
|
return toVO(config);
|
}
|
|
private void fillConfig(SystemSettings config, SystemSettingsSaveRequest request) {
|
config.setServicePhone(request.getServicePhone().trim());
|
config.setServiceOnlineTime(request.getServiceOnlineTime().trim());
|
config.setBackupCycleDays(request.getBackupCycleDays());
|
config.setMemberExpireRemindDays(request.getMemberExpireRemindDays());
|
}
|
|
private SystemSettingsVO toVO(SystemSettings config) {
|
if (config == null) {
|
return null;
|
}
|
SystemSettingsVO vo = new SystemSettingsVO();
|
vo.setId(config.getId());
|
vo.setServicePhone(config.getServicePhone());
|
vo.setServiceOnlineTime(config.getServiceOnlineTime());
|
vo.setBackupCycleDays(config.getBackupCycleDays());
|
vo.setMemberExpireRemindDays(config.getMemberExpireRemindDays());
|
return vo;
|
}
|
}
|