From a881267112cc737874f64cee9d6196e3bc06f95f Mon Sep 17 00:00:00 2001
From: lyh <925863403@qq.com>
Date: 星期四, 10 七月 2025 14:53:50 +0800
Subject: [PATCH] 系统参数配置

---
 lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysParamsServiceImpl.java |   57 +++++++++
 lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/SysParamsMapper.xml         |    4 
 lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/entity/SysParams.java                  |   58 +++++++++
 lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/controller/SysParamsController.java    |  160 ++++++++++++++++++++++++++
 lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/event/SysParamChangeEvent.java         |   24 ++++
 lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/ISysParamsService.java         |   29 ++++
 lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/SysParamsMapper.java            |   13 ++
 7 files changed, 345 insertions(+), 0 deletions(-)

diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/controller/SysParamsController.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/controller/SysParamsController.java
new file mode 100644
index 0000000..ada8135
--- /dev/null
+++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/controller/SysParamsController.java
@@ -0,0 +1,160 @@
+package org.jeecg.modules.system.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.modules.system.entity.SysParams;
+import org.jeecg.modules.system.event.SysParamChangeEvent;
+import org.jeecg.modules.system.service.ISysParamsService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.ApplicationEventPublisher;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.Arrays;
+
+/**
+ * @Description: 绯荤粺鍙傛暟琛�
+ * @Author: server-boot
+ * @Date:   2020-12-28
+ * @Version: V1.0
+ */
+@Api(tags="绯荤粺鍙傛暟琛�")
+@RestController
+@RequestMapping("/system/sysParams")
+@Slf4j
+public class SysParamsController {
+	@Autowired
+	private ISysParamsService ISysParamsService;
+ 	@Autowired
+ 	private ApplicationEventPublisher applicationEventPublisher;
+	/**
+	 * 鍒嗛〉鍒楄〃鏌ヨ
+	 *
+	 * @param sysParams
+	 * @param req
+	 * @return
+	 */
+	@ApiOperation(value="绯荤粺鍙傛暟琛�-鍒嗛〉鍒楄〃鏌ヨ", notes="绯荤粺鍙傛暟琛�-鍒嗛〉鍒楄〃鏌ヨ")
+	@GetMapping(value = "/list")
+	public Result<IPage<SysParams>> queryPageList(SysParams sysParams,
+												  @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+												  @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+												  HttpServletRequest req) {
+		QueryWrapper<SysParams> queryWrapper = QueryGenerator.initQueryWrapper(sysParams, req.getParameterMap());
+		Page<SysParams> page = new Page<SysParams>(pageNo, pageSize);
+		IPage<SysParams> pageList= ISysParamsService.page(page, queryWrapper);
+		return Result.OK(pageList);
+	}
+
+	/**
+	 *   娣诲姞
+	 *
+	 * @param sysParams
+	 * @return
+	 */
+	@ApiOperation(value="绯荤粺鍙傛暟琛�-娣诲姞", notes="绯荤粺鍙傛暟琛�-娣诲姞")
+	@PostMapping(value = "/add")
+	public Result<?> add(@RequestBody SysParams sysParams) {
+		ISysParamsService.save(sysParams);
+		return Result.ok("娣诲姞鎴愬姛锛�");
+	}
+	 /**
+	  *  缂栬緫(鏍规嵁settingKey)
+	  *
+	  * @param sysParams
+	  * @return
+	  */
+	 @ApiOperation(value="绯荤粺鍙傛暟琛�-缂栬緫(鏍规嵁settingKey)", notes="绯荤粺鍙傛暟琛�-缂栬緫(鏍规嵁settingKey)")
+	 @PostMapping(value = "/edit/for/settingkey")
+	 public Result<?> editForSettingKey(@RequestBody SysParams sysParams) {
+
+		 SysParams params = ISysParamsService.getOne(new QueryWrapper<SysParams>().eq("setting_key",sysParams.getSettingKey()));
+		 if(params==null){
+			 ISysParamsService.save(sysParams);
+		 }else{
+			 params.setSettingValue(sysParams.getSettingValue());
+			 ISysParamsService.updateById(params);
+		 }
+		 return Result.ok("璁剧疆鎴愬姛!");
+	 }
+
+	/**
+	 *  缂栬緫
+	 *
+	 * @param sysParams
+	 * @return
+	 */
+	@ApiOperation(value="绯荤粺鍙傛暟琛�-缂栬緫", notes="绯荤粺鍙傛暟琛�-缂栬緫")
+	@PutMapping(value = "/edit")
+	public Result<?> edit(@RequestBody SysParams sysParams) {
+		ISysParamsService.updateById(sysParams);
+		//Event瑙﹀彂鍒锋柊
+		applicationEventPublisher.publishEvent(new SysParamChangeEvent(this, sysParams));
+		return Result.ok("缂栬緫鎴愬姛!");
+	}
+
+	/**
+	 *   閫氳繃id鍒犻櫎
+	 *
+	 * @param id
+	 * @return
+	 */
+	@ApiOperation(value="绯荤粺鍙傛暟琛�-閫氳繃id鍒犻櫎", notes="绯荤粺鍙傛暟琛�-閫氳繃id鍒犻櫎")
+	@DeleteMapping(value = "/delete")
+	public Result<?> delete(@RequestParam(name="id",required=true) String id) {
+		ISysParamsService.removeById(id);
+		return Result.ok("鍒犻櫎鎴愬姛!");
+	}
+
+	/**
+	 *  鎵归噺鍒犻櫎
+	 *
+	 * @param ids
+	 * @return
+	 */
+	@ApiOperation(value="绯荤粺鍙傛暟琛�-鎵归噺鍒犻櫎", notes="绯荤粺鍙傛暟琛�-鎵归噺鍒犻櫎")
+	@DeleteMapping(value = "/deleteBatch")
+	public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+		this.ISysParamsService.removeByIds(Arrays.asList(ids.split(",")));
+		return Result.ok("鎵归噺鍒犻櫎鎴愬姛!");
+	}
+
+	/**
+	 * 閫氳繃id鏌ヨ
+	 *
+	 * @param id
+	 * @return
+	 */
+	@ApiOperation(value="绯荤粺鍙傛暟琛�-閫氳繃id鏌ヨ", notes="绯荤粺鍙傛暟琛�-閫氳繃id鏌ヨ")
+	@GetMapping(value = "/queryById")
+	public Result<?> queryById(@RequestParam(name="id",required=true) String id) {
+		SysParams sysParams = ISysParamsService.getById(id);
+		if(sysParams==null) {
+			return Result.error("鏈壘鍒板搴旀暟鎹�");
+		}
+		return Result.ok(sysParams);
+	}
+
+	 /**
+	  * 閫氳繃settingkey鏌ヨ
+	  *
+	  * @param settingKey
+	  * @return
+	  */
+	 @ApiOperation(value="绯荤粺鍙傛暟琛�-閫氳繃settingkey鏌ヨ", notes="绯荤粺鍙傛暟琛�-閫氳繃settingkey鏌ヨ")
+	 @GetMapping(value = "/query/by/settingKey")
+	 public Result<?> queryBySettingKey(@RequestParam(name="settingKey",required=true) String settingKey) {
+		 SysParams sysParams = ISysParamsService.getOne(new QueryWrapper<SysParams>().eq("setting_key",settingKey));
+		 if(sysParams==null) {
+			 return Result.error("鏈壘鍒板搴旀暟鎹�");
+		 }
+		 return Result.ok(sysParams);
+	 }
+
+}
diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/entity/SysParams.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/entity/SysParams.java
new file mode 100644
index 0000000..a0aca9b
--- /dev/null
+++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/entity/SysParams.java
@@ -0,0 +1,58 @@
+package org.jeecg.modules.system.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @Description: 绯荤粺鍙傛暟琛�
+ * @Version: V1.0
+ */
+@Data
+@TableName("sys_params")
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="sys_params瀵硅薄", description="绯荤粺鍙傛暟琛�")
+public class SysParams implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    /**涓婚敭*/
+    @ApiModelProperty(value = "涓婚敭")
+    private String id;
+    /**鍙傛暟鍚嶇О*/
+    @ApiModelProperty(value = "鍙傛暟鍚嶇О")
+    private String settingName;
+    /**鍙傛暟閿�*/
+    @ApiModelProperty(value = "鍙傛暟閿�")
+    private String settingKey;
+    /**鍙傛暟鍊�*/
+    @ApiModelProperty(value = "鍙傛暟鍊�")
+    private String settingValue;
+    /**澶囨敞*/
+    @ApiModelProperty(value = "澶囨敞")
+    private String remark;
+    /**鍒涘缓浜�*/
+    @ApiModelProperty(value = "鍒涘缓浜�")
+    private String createBy;
+    /**鍒涘缓鏃ユ湡*/
+    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "鍒涘缓鏃ユ湡")
+    private Date createTime;
+    /**鏇存柊浜�*/
+    @ApiModelProperty(value = "鏇存柊浜�")
+    private String updateBy;
+    /**鏇存柊鏃ユ湡*/
+    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "鏇存柊鏃ユ湡")
+    private Date updateTime;
+}
diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/event/SysParamChangeEvent.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/event/SysParamChangeEvent.java
new file mode 100644
index 0000000..f9a589b
--- /dev/null
+++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/event/SysParamChangeEvent.java
@@ -0,0 +1,24 @@
+package org.jeecg.modules.system.event;
+
+import lombok.Data;
+import org.jeecg.modules.system.entity.SysParams;
+import org.springframework.context.ApplicationEvent;
+
+/**
+ * 绯荤粺鍙傛暟鍙樻洿Event浜嬩欢
+ */
+@Data
+public class SysParamChangeEvent extends ApplicationEvent {
+
+    private SysParams sysParams;
+
+    public SysParamChangeEvent(Object source, SysParams sysParams) {
+        super(source);
+        this.sysParams = sysParams;
+    }
+
+    public SysParams getSysParams(){
+        return sysParams;
+    }
+
+}
diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/SysParamsMapper.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/SysParamsMapper.java
new file mode 100644
index 0000000..97d5651
--- /dev/null
+++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/SysParamsMapper.java
@@ -0,0 +1,13 @@
+package org.jeecg.modules.system.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.jeecg.modules.system.entity.SysParams;
+
+/**
+ * @Description: 绯荤粺鍙傛暟琛�
+ * @Author: server-boot
+ * @Date:   2020-12-28
+ * @Version: V1.0
+ */
+public interface SysParamsMapper extends BaseMapper<SysParams> {
+}
diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/SysParamsMapper.xml b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/SysParamsMapper.xml
new file mode 100644
index 0000000..4623ef8
--- /dev/null
+++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/SysParamsMapper.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.jeecg.modules.system.mapper.SysParamsMapper">
+</mapper>
diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/ISysParamsService.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/ISysParamsService.java
new file mode 100644
index 0000000..07102a4
--- /dev/null
+++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/ISysParamsService.java
@@ -0,0 +1,29 @@
+package org.jeecg.modules.system.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.system.entity.SysParams;
+
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
+/**
+ * @Description: 绯荤粺鍙傛暟琛�
+ * @Author: server-boot
+ * @Date:   2020-12-28
+ * @Version: V1.0
+ */
+public interface ISysParamsService extends  IService<SysParams> {
+    /**
+     * 鏍规嵁鍙傛暟閿幏鍙栧��
+     * @param settingKey 閿�
+     *
+     * */
+    List<SysParams> getSysPramsBySettingKey(String settingKey);
+
+    /**
+     * 鏌ヨ閰嶇疆淇℃伅
+     * @param keyName
+     * @return
+     */
+    SysParams getSysPramBySettingKey(@NotNull String keyName);
+}
diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysParamsServiceImpl.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysParamsServiceImpl.java
new file mode 100644
index 0000000..a0a558c
--- /dev/null
+++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysParamsServiceImpl.java
@@ -0,0 +1,57 @@
+package org.jeecg.modules.system.service.impl;
+
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.exception.ExceptionCast;
+import org.jeecg.modules.system.entity.SysParams;
+import org.jeecg.modules.system.mapper.SysParamsMapper;
+import org.jeecg.modules.system.service.ISysParamsService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
+/**
+ * <p>
+ * 鐢ㄦ埛琛� 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @Author: scott
+ * @Date: 2018-12-20
+ */
+@Service
+@Slf4j
+public class SysParamsServiceImpl extends ServiceImpl<SysParamsMapper, SysParams> implements ISysParamsService {
+    @Autowired
+    private SysParamsMapper sysParamsMapper;
+    /**
+     * 鏍规嵁key鑾峰彇value
+     * */
+    @Override
+    public List<SysParams> getSysPramsBySettingKey(@NotNull String settingKey) {
+        return this.list(Wrappers.query(new SysParams().setSettingKey(settingKey)));
+    }
+
+    /**
+     * 鏌ヨ閰嶇疆淇℃伅
+     * @param keyName
+     * @return
+     */
+    @Override
+    public SysParams getSysPramBySettingKey(@NotNull String keyName) {
+        List<SysParams>  keys = this.getSysPramsBySettingKey(keyName);
+
+        if(keys.size() <= 0){
+            log.error("绯荤粺閰嶇疆閿欒锛孾"+keyName+"]涓嶅瓨鍦�");
+            return null;
+        }
+        if(keys.size() > 1){
+            ExceptionCast.cast("绯荤粺閰嶇疆閿欒锛孾"+keyName+"]瀛樺湪澶氫釜閰嶇疆椤�");
+        }
+
+        return keys.get(0);
+    }
+
+}

--
Gitblit v1.9.3