Преглед изворни кода

fix 系统配置修改客服值班任务执行

zoujiajian пре 2 година
родитељ
комит
393ea24dcb

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

@@ -10,5 +10,5 @@ import com.cyksj.model.entity.SysConfigChangeRecord;
  * 创建时间:2023/11/24 10:44
  */
 public interface SysConfigChangeRecordService extends IService<SysConfigChangeRecord> {
-	void changeRecord(Long adminId, String sysKey, String sysValue, String updateValue) throws Exception;
+	Boolean changeRecord(Long adminId, String sysKey, String sysValue, String updateValue) throws Exception;
 }

+ 3 - 6
netflix-service/src/main/java/com/cyksj/service/sys/impl/SysConfigChangeRecordServiceImpl.java

@@ -7,8 +7,6 @@ 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 com.cyksj.xxljob.XxlJobInfo;
-import com.cyksj.xxljob.XxlJobUtil;
 import lombok.RequiredArgsConstructor;
 import org.springframework.stereotype.Service;
 
@@ -26,7 +24,7 @@ public class SysConfigChangeRecordServiceImpl extends ServiceImpl<SysConfigChang
 	private final CmsUserMapper cmsUserMapper;
 
 	@Override
-	public void changeRecord(Long adminId, String sysKey, String sysValue, String updateValue) throws Exception {
+	public Boolean changeRecord(Long adminId, String sysKey, String sysValue, String updateValue) throws Exception {
 		//保存客服系统配置key前后更新数据
 		if (Constant.serviceKeys.contains(sysKey)) {
 			if (!StrUtil.equals(sysValue, updateValue)) {
@@ -37,10 +35,9 @@ public class SysConfigChangeRecordServiceImpl extends ServiceImpl<SysConfigChang
 				Optional.ofNullable(cmsUserMapper.selectById(adminId))
 						.ifPresent(cm -> sysConfigChangeRecord.setOperator(cm.getNickname()));
 				this.save(sysConfigChangeRecord);
-
-				//立即执行客服值班定时任务
-				XxlJobUtil.executeMarkDynamicRuleTagJob(XxlJobInfo.getExecuteTaskInstance(Constant.CORP_LINK_JOB_ID, StrUtil.EMPTY).toString());
+				return true;
 			}
 		}
+		return false;
 	}
 }

+ 8 - 1
netflix-web/src/main/java/com/cyksj/web/controller/sys/SysConfigController.java

@@ -22,6 +22,8 @@ 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 com.cyksj.xxljob.XxlJobInfo;
+import com.cyksj.xxljob.XxlJobUtil;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.transaction.annotation.Transactional;
@@ -91,10 +93,15 @@ public class SysConfigController {
 			}
 		}
 
-		sysConfigChangeRecordService.changeRecord(adminId, sysConfig.getSysKey(), byId.getSysValue(), sysConfig.getSysValue());
+		Boolean isChanged = sysConfigChangeRecordService.changeRecord(adminId, sysConfig.getSysKey(), byId.getSysValue(), sysConfig.getSysValue());
 
 		sysConfigService.updateById(sysConfig);
 
+		if (isChanged) {
+			//立即执行客服值班定时任务
+			XxlJobUtil.executeMarkDynamicRuleTagJob(XxlJobInfo.getExecuteTaskInstance(Constant.CORP_LINK_JOB_ID, StrUtil.EMPTY).toString());
+		}
+
 		return GatewayResponse.SUCCESS.newBuilder().toResult(sysConfig);
 	}