From 3c607f075990d6d3238daa7db1c68eaae8126424 Mon Sep 17 00:00:00 2001
From: zhongrj <123456>
Date: Mon, 22 Aug 2022 15:05:47 +0800
Subject: [PATCH] 新增数据同步方式及配置,当选择为sql时则为数据库直连同步,全局替换所有的同步方法,用户修改,离职,注销修改调整,文件上传去除同步推送上传
---
src/main/java/org/springblade/modules/talk/controller/TalkController.java | 76 +++++++++++++++++++++++++++++---------
1 files changed, 58 insertions(+), 18 deletions(-)
diff --git a/src/main/java/org/springblade/modules/talk/controller/TalkController.java b/src/main/java/org/springblade/modules/talk/controller/TalkController.java
index 7c58e37..22a25cb 100644
--- a/src/main/java/org/springblade/modules/talk/controller/TalkController.java
+++ b/src/main/java/org/springblade/modules/talk/controller/TalkController.java
@@ -24,12 +24,14 @@
import javax.validation.Valid;
+import org.springblade.common.config.FtpConfig;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springblade.modules.FTP.FtpUtil;
import org.springblade.modules.information.entity.Information;
+import org.springblade.modules.system.service.MyAsyncService;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.modules.talk.entity.Talk;
@@ -39,6 +41,7 @@
import springfox.documentation.annotations.ApiIgnore;
import java.text.SimpleDateFormat;
+import java.util.List;
import java.util.Map;
/**
@@ -54,6 +57,7 @@
public class TalkController extends BladeController {
private final ITalkService talkService;
+ private final MyAsyncService myAsyncService;
/**
* 详情
@@ -95,25 +99,31 @@
@ApiOperationSupport(order = 4)
@ApiOperation(value = "新增", notes = "传入talk")
public R save(@Valid @RequestBody Talk talk) {
- talkService.save(talk);
+ boolean save = talkService.save(talk);
+ String url = "";
String[] split = talk.getImgurl().split(",");
- for (int i=0;i<split.length;i++){
- String s = split[i].substring(0,split[i].indexOf("/"));
- System.out.println(s);
+ for (int i = 0; i < split.length; i++) {
+ String s = split[i].substring(26, split[i].length());
+ url += FtpConfig.ip + s + ",";
}
-// //数据同步
-// String s1 =
-// "insert into sys_talk(id,title,real_name,talkcontent,talktime,conclusion,evaluate,deptid,imgurl) " +
-// "values(" + "'" + talk.getId() + "'" + "," +
-// "'" + talk.getTitle() + "'" + "," +
-// "'" + talk.getRealName() + "'" + "," +
-// "'" + talk.getTalkcontent() + "'" + "," +
-// "'" + new SimpleDateFormat("yyyy-MM-dd").format(talk.getTalktime()) + "'" + "," +
-// "'" + talk.getConclusion() + "'" + "," +
-// "'" + talk.getEvaluate() + "'" + "," +
-// "'" + talk.getDeptid() + "'" + "," +
-// "'" + talk.getImgurl() + "'" + ")";
-// FtpUtil.sqlFileUpload(s1);
+ String substring = url.substring(0, url.length() - 1);
+ talk.setImgurl(substring);
+ if (save) {
+ //数据同步
+ String s1 =
+ "insert into sys_talk(id,title,real_name,talkcontent,talktime,conclusion,evaluate,deptid,imgurl) " +
+ "values(" + "'" + talk.getId() + "'" + "," +
+ "'" + talk.getTitle() + "'" + "," +
+ "'" + talk.getRealName() + "'" + "," +
+ "'" + talk.getTalkcontent() + "'" + "," +
+ "'" + new SimpleDateFormat("yyyy-MM-dd").format(talk.getTalktime()) + "'" + "," +
+ "'" + talk.getConclusion() + "'" + "," +
+ "'" + talk.getEvaluate() + "'" + "," +
+ "'" + talk.getDeptid() + "'" + "," +
+ "'" + talk.getImgurl() + "'" + ")";
+ //FtpUtil.sqlFileUpload(s1);
+ myAsyncService.dataSync(s1);
+ }
return R.success("新增成功");
}
@@ -124,7 +134,29 @@
@ApiOperationSupport(order = 5)
@ApiOperation(value = "修改", notes = "传入talk")
public R update(@Valid @RequestBody Talk talk) {
- return R.status(talkService.updateById(talk));
+ boolean b = talkService.updateById(talk);
+ String url = "";
+ String[] split = talk.getImgurl().split(",");
+ for (int i = 0; i < split.length; i++) {
+ String s = split[i].substring(26, split[i].length());
+ url += FtpConfig.ip + s + ",";
+ }
+ String substring = url.substring(0, url.length() - 1);
+ talk.setImgurl(substring);
+ if (b) {
+ String s1 = "update sys_talk set title = " + "'" + talk.getTitle() + "'" +
+ ",real_name = " + "'" + talk.getRealName() + "'" +
+ ",talkcontent = " + "'" + talk.getTalkcontent() + "'" +
+ ",talktime = " + "'" + new SimpleDateFormat("yyyy-MM-dd").format(talk.getTalktime()) + "'" +
+ ",conclusion = " + "'" + talk.getConclusion() + "'" +
+ ",evaluate = " + "'" + talk.getEvaluate() + "'" +
+ ",deptid = " + "'" + talk.getDeptid() + "'" +
+ ",imgurl = " + "'" + talk.getImgurl() + "'" +
+ " " + "where id = " + "'" + talk.getId() + "'";
+ //FtpUtil.sqlFileUpload(s1);
+ myAsyncService.dataSync(s1);
+ }
+ return R.success("修改成功");
}
/**
@@ -145,6 +177,14 @@
@ApiOperationSupport(order = 8)
@ApiOperation(value = "删除", notes = "传入ids")
public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
+ //内网删除
+ List<Long> list = Func.toLongList(ids);
+ list.forEach(id -> {
+ //内网同步
+ String s1 = "delete from sys_talk where id = " + "'" + id + "'";
+ //FtpUtil.sqlFileUpload(s1);
+ myAsyncService.dataSync(s1);
+ });
return R.status(talkService.removeByIds(Func.toLongList(ids)));
}
--
Gitblit v1.9.3