Merge remote-tracking branch 'origin/master'

pull/1/head
zccbbg 2 years ago
commit 1851b8c564

@ -0,0 +1,37 @@
package com.ruoyi.web.controller.system;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.system.domain.SysConfig;
import com.ruoyi.system.domain.vo.SysConfigVo;
import com.ruoyi.system.service.ISysConfigService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/sys/config")
public class ConfigController extends BaseController {
@Autowired
private ISysConfigService configService;
@GetMapping(value = "/configKey2/{configKey}")
public AjaxResult getConfigKey2(@PathVariable String configKey) {
return AjaxResult.success(configService.selectConfigByKey2(configKey));
}
@PostMapping("/addOrUpdate")
public AjaxResult addOrUpdate(@RequestBody SysConfigVo content) {
SysConfig config = new SysConfig();
BeanUtils.copyProperties(content,config);
if (config.getConfigId() == null) {
config.setCreateBy(getUserId());
return toAjax(configService.insertConfig(config));
}
config.setUpdateBy(getUserId());
return toAjax(configService.updateConfig(config));
}
}

@ -1,6 +1,9 @@
package com.ruoyi.web.controller.system;
import java.util.List;
import com.ruoyi.system.domain.vo.SysConfigVo;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
@ -30,8 +33,7 @@ import com.ruoyi.system.service.ISysConfigService;
*/
@RestController
@RequestMapping("/system/config")
public class SysConfigController extends BaseController
{
public class SysConfigController extends BaseController {
@Autowired
private ISysConfigService configService;
@ -40,8 +42,7 @@ public class SysConfigController extends BaseController
*/
@PreAuthorize("@ss.hasPermi('system:config:list')")
@GetMapping("/list")
public TableDataInfo list(SysConfig config)
{
public TableDataInfo list(SysConfig config) {
startPage();
List<SysConfig> list = configService.selectConfigList(config);
return getDataTable(list);
@ -50,8 +51,7 @@ public class SysConfigController extends BaseController
@Log(title = "参数管理", businessType = BusinessType.EXPORT)
@PreAuthorize("@ss.hasPermi('system:config:export')")
@GetMapping("/export")
public AjaxResult export(SysConfig config)
{
public AjaxResult export(SysConfig config) {
List<SysConfig> list = configService.selectConfigList(config);
ExcelUtil<SysConfig> util = new ExcelUtil<SysConfig>(SysConfig.class);
return util.exportExcel(list, "参数数据");
@ -62,8 +62,7 @@ public class SysConfigController extends BaseController
*/
@PreAuthorize("@ss.hasPermi('system:config:query')")
@GetMapping(value = "/{configId}")
public AjaxResult getInfo(@PathVariable Long configId)
{
public AjaxResult getInfo(@PathVariable Long configId) {
return AjaxResult.success(configService.selectConfigById(configId));
}
@ -71,11 +70,12 @@ public class SysConfigController extends BaseController
*
*/
@GetMapping(value = "/configKey/{configKey}")
public AjaxResult getConfigKey(@PathVariable String configKey)
{
public AjaxResult getConfigKey(@PathVariable String configKey) {
return AjaxResult.success(configService.selectConfigByKey(configKey));
}
/**
*
*/
@ -83,10 +83,8 @@ public class SysConfigController extends BaseController
@Log(title = "参数管理", businessType = BusinessType.INSERT)
@PostMapping
@RepeatSubmit
public AjaxResult add(@Validated @RequestBody SysConfig config)
{
if (UserConstants.NOT_UNIQUE.equals(configService.checkConfigKeyUnique(config)))
{
public AjaxResult add(@Validated @RequestBody SysConfig config) {
if (UserConstants.NOT_UNIQUE.equals(configService.checkConfigKeyUnique(config))) {
return AjaxResult.error("新增参数'" + config.getConfigName() + "'失败,参数键名已存在");
}
config.setCreateBy(getUserId());
@ -99,24 +97,24 @@ public class SysConfigController extends BaseController
@PreAuthorize("@ss.hasPermi('system:config:edit')")
@Log(title = "参数管理", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@Validated @RequestBody SysConfig config)
{
if (UserConstants.NOT_UNIQUE.equals(configService.checkConfigKeyUnique(config)))
{
public AjaxResult edit(@Validated @RequestBody SysConfig config) {
if (UserConstants.NOT_UNIQUE.equals(configService.checkConfigKeyUnique(config))) {
return AjaxResult.error("修改参数'" + config.getConfigName() + "'失败,参数键名已存在");
}
config.setUpdateBy(getUserId());
return toAjax(configService.updateConfig(config));
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('system:config:remove')")
@Log(title = "参数管理", businessType = BusinessType.DELETE)
@DeleteMapping("/{configIds}")
public AjaxResult remove(@PathVariable Long[] configIds)
{
public AjaxResult remove(@PathVariable Long[] configIds) {
configService.deleteConfigByIds(configIds);
return success();
}
@ -127,8 +125,7 @@ public class SysConfigController extends BaseController
@PreAuthorize("@ss.hasPermi('system:config:remove')")
@Log(title = "参数管理", businessType = BusinessType.CLEAN)
@DeleteMapping("/refreshCache")
public AjaxResult refreshCache()
{
public AjaxResult refreshCache() {
configService.resetConfigCache();
return AjaxResult.success();
}

@ -12,6 +12,7 @@ import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.redis.RedisService;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.OssUtils;
import com.ruoyi.system.service.ISysConfigService;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
@ -24,7 +25,7 @@ import java.util.*;
import java.util.stream.Collectors;
@RestController
@RequestMapping("/h5")
@RequestMapping
public class H5CommonController {
@Autowired
@ -35,16 +36,18 @@ public class H5CommonController {
private RedisService redisService;
@Autowired
private FeedbackService feedbackService;
@Autowired
private ISysConfigService sysConfigService;
@ApiOperation("新增意见反馈")
@Log(title = "意见反馈", businessType = BusinessType.INSERT)
@PostMapping("/feedback/create")
@PostMapping("/h5/feedback/create")
public ResponseEntity<Integer> add(@RequestBody Feedback feedback) {
return ResponseEntity.ok(feedbackService.insert(feedback));
}
@GetMapping("/area")
@GetMapping("/h5/area")
public AjaxResult getAddressList() {
String addresses = redisService.getAddressList();
if (StringUtils.isNotEmpty(addresses)) {
@ -90,10 +93,16 @@ public class H5CommonController {
return AjaxResult.success(result);
}
@PostMapping("/file/upload")
@PostMapping("/h5/file/upload")
public AjaxResult uploadFile(MultipartFile file) {
String url = ossUtils.uploadOneFile(file);
return AjaxResult.successData(url);
}
@GetMapping("/no-auth/config/get")
public AjaxResult getSysConfig(String configKey) {
String s = sysConfigService.selectConfigByKey(configKey);
return AjaxResult.successData(s);
}
}

@ -72,7 +72,6 @@ public class SysConfig extends BaseEntity
}
@NotBlank(message = "参数键值不能为空")
@Size(min = 0, max = 500, message = "参数键值长度不能超过500个字符")
public String getConfigValue()
{
return configValue;

@ -0,0 +1,17 @@
package com.ruoyi.system.domain.vo;
import lombok.Data;
@Data
public class SysConfigVo {
private Long configId;
private String configKey;
private String configName;
private String configValue;
private String configType;
}

@ -25,6 +25,7 @@ public interface ISysConfigService
* @return
*/
public String selectConfigByKey(String configKey);
public SysConfig selectConfigByKey2(String configKey);
/**
*

@ -13,6 +13,7 @@ import com.ruoyi.system.mapper.SysConfigMapper;
import com.ruoyi.system.service.ISysConfigService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.PostConstruct;
import java.util.Collection;
import java.util.List;
@ -23,8 +24,7 @@ import java.util.List;
* @author ruoyi
*/
@Service
public class SysConfigServiceImpl implements ISysConfigService
{
public class SysConfigServiceImpl implements ISysConfigService {
@Autowired
private SysConfigMapper configMapper;
@ -35,8 +35,7 @@ public class SysConfigServiceImpl implements ISysConfigService
*
*/
@PostConstruct
public void init()
{
public void init() {
loadingConfigCache();
}
@ -48,8 +47,7 @@ public class SysConfigServiceImpl implements ISysConfigService
*/
@Override
@DataSource(DataSourceType.MASTER)
public SysConfig selectConfigById(Long configId)
{
public SysConfig selectConfigById(Long configId) {
SysConfig config = new SysConfig();
config.setConfigId(configId);
return configMapper.selectConfig(config);
@ -62,35 +60,46 @@ public class SysConfigServiceImpl implements ISysConfigService
* @return
*/
@Override
public String selectConfigByKey(String configKey)
{
public String selectConfigByKey(String configKey) {
String configValue = Convert.toStr(redisCache.getCacheObject(getCacheKey(configKey)));
if (StringUtils.isNotEmpty(configValue))
{
if (StringUtils.isNotEmpty(configValue)) {
return configValue;
}
SysConfig config = new SysConfig();
config.setConfigKey(configKey);
SysConfig retConfig = configMapper.selectConfig(config);
if (StringUtils.isNotNull(retConfig))
{
if (StringUtils.isNotNull(retConfig)) {
redisCache.setCacheObject(getCacheKey(configKey), retConfig.getConfigValue());
return retConfig.getConfigValue();
}
return StringUtils.EMPTY;
}
@Override
public SysConfig selectConfigByKey2(String configKey) {
SysConfig config = redisCache.getCacheObject(getCacheKey2(configKey));
if (config != null) {
return config;
}
SysConfig configQuery = new SysConfig();
configQuery.setConfigKey(configKey);
SysConfig retConfig = configMapper.selectConfig(configQuery);
if (StringUtils.isNotNull(retConfig)) {
redisCache.setCacheObject(getCacheKey2(configKey), retConfig);
return retConfig;
}
return null;
}
/**
*
*
* @return truefalse
*/
@Override
public boolean selectCaptchaOnOff()
{
public boolean selectCaptchaOnOff() {
String captchaOnOff = selectConfigByKey("sys.account.captchaOnOff");
if (StringUtils.isEmpty(captchaOnOff))
{
if (StringUtils.isEmpty(captchaOnOff)) {
return true;
}
return Convert.toBool(captchaOnOff);
@ -103,8 +112,7 @@ public class SysConfigServiceImpl implements ISysConfigService
* @return
*/
@Override
public List<SysConfig> selectConfigList(SysConfig config)
{
public List<SysConfig> selectConfigList(SysConfig config) {
return configMapper.selectConfigList(config);
}
@ -115,12 +123,14 @@ public class SysConfigServiceImpl implements ISysConfigService
* @return
*/
@Override
public int insertConfig(SysConfig config)
{
public int insertConfig(SysConfig config) {
int row = configMapper.insertConfig(config);
if (row > 0)
{
redisCache.setCacheObject(getCacheKey(config.getConfigKey()), config.getConfigValue());
if (row > 0) {
if ("N".equals(config.getConfigType())){
redisCache.setCacheObject(getCacheKey2(config.getConfigKey()), config);
} else {
redisCache.setCacheObject(getCacheKey(config.getConfigKey()), config.getConfigValue());
}
}
return row;
}
@ -132,12 +142,14 @@ public class SysConfigServiceImpl implements ISysConfigService
* @return
*/
@Override
public int updateConfig(SysConfig config)
{
public int updateConfig(SysConfig config) {
int row = configMapper.updateConfig(config);
if (row > 0)
{
redisCache.setCacheObject(getCacheKey(config.getConfigKey()), config.getConfigValue());
if (row > 0) {
if ("N".equals(config.getConfigType())){
redisCache.setCacheObject(getCacheKey2(config.getConfigKey()), config);
} else {
redisCache.setCacheObject(getCacheKey(config.getConfigKey()), config.getConfigValue());
}
}
return row;
}
@ -149,13 +161,10 @@ public class SysConfigServiceImpl implements ISysConfigService
* @return
*/
@Override
public void deleteConfigByIds(Long[] configIds)
{
for (Long configId : configIds)
{
public void deleteConfigByIds(Long[] configIds) {
for (Long configId : configIds) {
SysConfig config = selectConfigById(configId);
if (StringUtils.equals(UserConstants.YES, config.getConfigType()))
{
if (StringUtils.equals(UserConstants.YES, config.getConfigType())) {
throw new ServiceException(String.format("内置参数【%1$s】不能删除 ", config.getConfigKey()));
}
configMapper.deleteConfigById(configId);
@ -167,11 +176,9 @@ public class SysConfigServiceImpl implements ISysConfigService
*
*/
@Override
public void loadingConfigCache()
{
public void loadingConfigCache() {
List<SysConfig> configsList = configMapper.selectConfigList(new SysConfig());
for (SysConfig config : configsList)
{
for (SysConfig config : configsList) {
redisCache.setCacheObject(getCacheKey(config.getConfigKey()), config.getConfigValue());
}
}
@ -180,8 +187,7 @@ public class SysConfigServiceImpl implements ISysConfigService
*
*/
@Override
public void clearConfigCache()
{
public void clearConfigCache() {
Collection<String> keys = redisCache.keys(Constants.SYS_CONFIG_KEY + "*");
redisCache.deleteObject(keys);
}
@ -190,8 +196,7 @@ public class SysConfigServiceImpl implements ISysConfigService
*
*/
@Override
public void resetConfigCache()
{
public void resetConfigCache() {
clearConfigCache();
loadingConfigCache();
}
@ -203,12 +208,10 @@ public class SysConfigServiceImpl implements ISysConfigService
* @return
*/
@Override
public String checkConfigKeyUnique(SysConfig config)
{
public String checkConfigKeyUnique(SysConfig config) {
Long configId = StringUtils.isNull(config.getConfigId()) ? -1L : config.getConfigId();
SysConfig info = configMapper.checkConfigKeyUnique(config.getConfigKey());
if (StringUtils.isNotNull(info) && info.getConfigId().longValue() != configId.longValue())
{
if (StringUtils.isNotNull(info) && info.getConfigId().longValue() != configId.longValue()) {
return UserConstants.NOT_UNIQUE;
}
return UserConstants.UNIQUE;
@ -220,8 +223,11 @@ public class SysConfigServiceImpl implements ISysConfigService
* @param configKey
* @return key
*/
private String getCacheKey(String configKey)
{
private String getCacheKey(String configKey) {
return Constants.SYS_CONFIG_KEY + configKey;
}
private String getCacheKey2(String configKey) {
return Constants.SYS_CONFIG_KEY + configKey + "_all";
}
}

Loading…
Cancel
Save