Переглянути джерело

记录客服系统key前后更新变化

zoujiajian 2 роки тому
батько
коміт
3280a22470

+ 13 - 0
netflix-dao/src/main/java/com/cyksj/mapper/SysConfigChangeRecordMapper.java

@@ -0,0 +1,13 @@
+package com.cyksj.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.cyksj.model.entity.SysConfigChangeRecord;
+
+/**
+ * 项目名: yhlxj
+ * 文件名: SysConfigChangeRecordMapper
+ * 创建者: JavaZou
+ * 创建时间:2023/11/24 10:43
+ */
+public interface SysConfigChangeRecordMapper extends BaseMapper<SysConfigChangeRecord> {
+}

+ 22 - 0
netflix-dao/src/main/java/com/cyksj/model/entity/SysConfigChangeRecord.java

@@ -0,0 +1,22 @@
+package com.cyksj.model.entity;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 项目名: yhlxj
+ * 文件名: SysConfigChangeRecord
+ * 创建者: JavaZou
+ * 创建时间:2023/11/24 10:42
+ */
+@Getter
+@Setter
+public class SysConfigChangeRecord extends BaseEntity{
+	private String sysKey;
+
+	private String preValue;
+
+	private String backValue;
+
+	private String operator;
+}

+ 14 - 0
netflix-service/src/main/java/com/cyksj/service/sys/SysConfigChangeRecordService.java

@@ -0,0 +1,14 @@
+package com.cyksj.service.sys;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.cyksj.model.entity.SysConfigChangeRecord;
+
+/**
+ * 项目名: yhlxj
+ * 文件名: SysConfigChangeRecordService
+ * 创建者: JavaZou
+ * 创建时间:2023/11/24 10:44
+ */
+public interface SysConfigChangeRecordService extends IService<SysConfigChangeRecord> {
+	void changeRecord(Long adminId, String sysKey, String sysValue, String updateValue);
+}

+ 41 - 0
netflix-service/src/main/java/com/cyksj/service/sys/impl/SysConfigChangeRecordServiceImpl.java

@@ -0,0 +1,41 @@
+package com.cyksj.service.sys.impl;
+
+import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.cyksj.common.constant.Constant;
+import com.cyksj.mapper.SysConfigChangeRecordMapper;
+import com.cyksj.mapper.manage.cms.CmsUserMapper;
+import com.cyksj.model.entity.SysConfigChangeRecord;
+import com.cyksj.service.sys.SysConfigChangeRecordService;
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Service;
+
+import java.util.Optional;
+
+/**
+ * 项目名: yhlxj
+ * 文件名: SysConfigChangeRecordServiceImpl
+ * 创建者: JavaZou
+ * 创建时间:2023/11/24 10:44
+ */
+@Service
+@RequiredArgsConstructor
+public class SysConfigChangeRecordServiceImpl extends ServiceImpl<SysConfigChangeRecordMapper, SysConfigChangeRecord> implements SysConfigChangeRecordService {
+	private final CmsUserMapper cmsUserMapper;
+
+	@Override
+	public void changeRecord(Long adminId, String sysKey, String sysValue, String updateValue) {
+		//保存客服系统配置key前后更新数据
+		if (Constant.serviceKeys.contains(sysKey)) {
+			if (!StrUtil.equals(sysValue, updateValue)) {
+				SysConfigChangeRecord sysConfigChangeRecord = new SysConfigChangeRecord();
+				sysConfigChangeRecord.setSysKey(sysKey);
+				sysConfigChangeRecord.setPreValue(sysValue);
+				sysConfigChangeRecord.setBackValue(updateValue);
+				Optional.ofNullable(cmsUserMapper.selectById(adminId))
+						.ifPresent(cm -> sysConfigChangeRecord.setOperator(cm.getNickname()));
+				this.save(sysConfigChangeRecord);
+			}
+		}
+	}
+}

+ 7 - 0
netflix-web/src/main/java/com/cyksj/web/controller/sys/SysConfigController.java

@@ -1,5 +1,6 @@
 package com.cyksj.web.controller.sys;
 
+import cn.dev33.satoken.stp.StpUtil;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -19,6 +20,7 @@ import com.cyksj.model.entity.HelpQuestionClassification;
 import com.cyksj.model.entity.SysConfig;
 import com.cyksj.model.views.HelpQuestionClassificationView;
 import com.cyksj.service.corp.CorpFollowService;
+import com.cyksj.service.sys.SysConfigChangeRecordService;
 import com.cyksj.service.sys.SysConfigService;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
@@ -45,6 +47,8 @@ public class SysConfigController {
 
 	private final CorpFollowService corpFollowService;
 
+	private final SysConfigChangeRecordService sysConfigChangeRecordService;
+
 	@GetMapping("/get")
 	public Result<SysConfig> get(String key) {
 		SysConfig sysConfig = sysConfigService.getOne(Wrappers.lambdaQuery(SysConfig.class).eq(SysConfig::getSysKey, key).last(" limit 1"));
@@ -67,6 +71,7 @@ public class SysConfigController {
 	@PutMapping("/update")
 	@Log(module = "系统设置/编辑配置", businessType = BusinessType.PUT, isSaveRequestData = true)
 	public Result<SysConfig> update(@RequestBody SysConfig sysConfig) throws Exception {
+		long adminId = StpUtil.getLoginIdAsLong();
 		Long id = sysConfig.getId();
 		SysConfig byId = sysConfigService.getById(id);
 		sysConfig.setSysKey(byId.getSysKey());
@@ -89,6 +94,8 @@ public class SysConfigController {
 			corpFollowService.syncActiveCodeFollowRelate(sysConfig.getSysValue());
 		}
 
+		sysConfigChangeRecordService.changeRecord(adminId, sysConfig.getSysKey(), byId.getSysValue(), sysConfig.getSysValue());
+
 		sysConfigService.updateById(sysConfig);
 
 		return GatewayResponse.SUCCESS.newBuilder().toResult(sysConfig);