From 2d27b24029adafdbfc5703b38a519d65beda6a68 Mon Sep 17 00:00:00 2001 From: heheng <heheng@123456> Date: 星期三, 20 十一月 2024 16:23:23 +0800 Subject: [PATCH] 更改 --- expert-system/src/main/java/com/gkhy/system/service/impl/SysSettingsServiceImpl.java | 137 +++++++++++++++++++++++++++++++-------------- 1 files changed, 93 insertions(+), 44 deletions(-) diff --git a/expert-system/src/main/java/com/gkhy/system/service/impl/SysSettingsServiceImpl.java b/expert-system/src/main/java/com/gkhy/system/service/impl/SysSettingsServiceImpl.java index 6568a77..9fdb3c3 100644 --- a/expert-system/src/main/java/com/gkhy/system/service/impl/SysSettingsServiceImpl.java +++ b/expert-system/src/main/java/com/gkhy/system/service/impl/SysSettingsServiceImpl.java @@ -1,12 +1,24 @@ package com.gkhy.system.service.impl; +import cn.hutool.core.date.DateUtil; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import java.util.List; +import com.gkhy.common.core.redis.RedisCache; +import com.gkhy.common.core.text.Convert; +import com.gkhy.common.enums.OpenFlagEnum; +import com.gkhy.common.exception.ServiceException; +import com.gkhy.common.utils.SecurityUtils; +import com.gkhy.common.utils.StringUtils; +import com.gkhy.system.domain.ApplyRecord; +import com.gkhy.system.domain.SysSettings; +import com.gkhy.system.mapper.ApplyRecordMapper; +import com.gkhy.system.mapper.SysSettingsMapper; +import com.gkhy.system.service.ISysSettingsService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import com.gkhy.system.mapper.SysSettingsMapper; -import com.gkhy.system.domain.SysSettings; -import com.gkhy.system.service.ISysSettingsService; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.PostConstruct; +import java.util.List; /** * 系统配置Service业务层处理 @@ -19,38 +31,53 @@ @Autowired private SysSettingsMapper sysSettingsMapper; + @Autowired + private RedisCache redisCache; + + @Autowired + private ApplyRecordMapper applyRecordMapper; + +public static final String APPLY_SETTINGS = "APPLY_SETTINGS_KEY"; + + @PostConstruct + public void init() + { + loadingSettingsCache(); + } + /** * 查询系统配置 * - * @param state 系统配置主键 + * @return 系统配置 */ @Override - public SysSettings selectSysSettingsByState(String state) { - return sysSettingsMapper.selectSysSettingsByState(state); + public String selectSysSettings() { + + String state = Convert.toStr(redisCache.getCacheObject(APPLY_SETTINGS)); + if (StringUtils.isNotEmpty(state)) + { + return state; + } + + SysSettings sysSettings = sysSettingsMapper.selectSysSettingsByState(); + if (StringUtils.isNotNull(sysSettings)) { + redisCache.setCacheObject(APPLY_SETTINGS, sysSettings.getState()); + return sysSettings.getState(); + } + + return OpenFlagEnum.CLOSE.getCode(); } - /** - * 查询系统配置列表 - * - * @param sysSettings 系统配置 - * @return 系统配置 - */ - @Override - public List<SysSettings> selectSysSettingsList(SysSettings sysSettings) { - return sysSettingsMapper.selectSysSettingsList(sysSettings); + public void loadingSettingsCache(){ + SysSettings sysSettings = sysSettingsMapper.selectSysSettingsByState(); + if (sysSettings != null) { + redisCache.setCacheObject(APPLY_SETTINGS, sysSettings.getState()); + }else { + redisCache.setCacheObject(APPLY_SETTINGS, OpenFlagEnum.CLOSE.getCode()); + } } - /** - * 新增系统配置 - * - * @param sysSettings 系统配置 - * @return 结果 - */ - @Override - public int insertSysSettings(SysSettings sysSettings) { - return sysSettingsMapper.insertSysSettings(sysSettings); - } /** * 修改系统配置 @@ -59,29 +86,51 @@ * @return 结果 */ @Override - public int updateSysSettings(SysSettings sysSettings) { - return sysSettingsMapper.updateSysSettings(sysSettings); + @Transactional + public int updateSysSettings(String sysSettings) { + + int i = sysSettingsMapper.updateSysSettingsState(sysSettings); + if (i > 0){ + String state = Convert.toStr(redisCache.getCacheObject(APPLY_SETTINGS)); + + if (OpenFlagEnum.OPEN.getCode().equals(sysSettings)){ + if (StringUtils.isNotEmpty(state) && OpenFlagEnum.OPEN.getCode().equals(state)){ + throw new ServiceException("当前状态已开启!"); + } + ApplyRecord applyRecord = new ApplyRecord(); + applyRecord.setStartTime(DateUtil.date()); + applyRecord.setCreateBy(SecurityUtils.getUsername()); + int i1 = applyRecordMapper.insertApplyRecord(applyRecord); + if (i1 < 1){ + throw new ServiceException("开启失败,稍后再试!"); + } + }else { + if (StringUtils.isNotEmpty(state) && OpenFlagEnum.CLOSE.getCode().equals(state)){ + throw new ServiceException("当前状态已关闭!"); + } + List<ApplyRecord> list = applyRecordMapper.selectApplyRecordList(); + if (StringUtils.isNotEmpty(list)){ + ApplyRecord applyRecord = list.get(0); + applyRecord.setEndTime(DateUtil.date()); + applyRecord.setUpdateBy(SecurityUtils.getUsername()); + int i1 = applyRecordMapper.updateApplyRecord(applyRecord); + if (i1 < 1){ + throw new ServiceException("关闭失败,稍后再试!"); + } + } + } + redisCache.setCacheObject(APPLY_SETTINGS, sysSettings); + } + return i; } /** - * 批量删除系统配置 + * 查询开启申请记录列表 * - * @param states 需要删除的系统配置主键 - * @return 结果 + * @return 开启申请记录 */ @Override - public int deleteSysSettingsByStates(String[] states) { - return sysSettingsMapper.deleteSysSettingsByStates(states); - } - - /** - * 删除系统配置信息 - * - * @param state 系统配置主键 - * @return 结果 - */ - @Override - public int deleteSysSettingsByState(String state) { - return sysSettingsMapper.deleteSysSettingsByState(state); + public List<ApplyRecord> selectApplyRecordList() { + return applyRecordMapper.selectApplyRecordList(); } } \ No newline at end of file -- Gitblit v1.9.2