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