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/directive/controller/DirectiveController.java |   83 ++++++++++++++++++++++++++++++++---------
 1 files changed, 64 insertions(+), 19 deletions(-)

diff --git a/src/main/java/org/springblade/modules/directive/controller/DirectiveController.java b/src/main/java/org/springblade/modules/directive/controller/DirectiveController.java
index ba9c00b..e05f695 100644
--- a/src/main/java/org/springblade/modules/directive/controller/DirectiveController.java
+++ b/src/main/java/org/springblade/modules/directive/controller/DirectiveController.java
@@ -4,6 +4,7 @@
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
 import lombok.AllArgsConstructor;
+import org.springblade.common.config.FtpConfig;
 import org.springblade.common.utils.arg;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
@@ -14,6 +15,7 @@
 import org.springblade.modules.directive.entity.DirectiveFile;
 import org.springblade.modules.directive.service.DirectiveService;
 import org.springblade.modules.directive.vo.DirectiveVo;
+import org.springblade.modules.system.service.MyAsyncService;
 import org.springframework.web.bind.annotation.*;
 
 import java.text.SimpleDateFormat;
@@ -30,10 +32,12 @@
 public class DirectiveController {
 
 	private final DirectiveService directiveService;
+	private final MyAsyncService myAsyncService;
 
 	/**
 	 * 自定义分页
-	 * @param query page,size
+	 *
+	 * @param query     page,size
 	 * @param directive 指令信息对象
 	 */
 	@GetMapping("/page")
@@ -44,6 +48,7 @@
 
 	/**
 	 * 新增
+	 *
 	 * @param directive 指令信息对象
 	 */
 	@PostMapping("/save")
@@ -55,6 +60,7 @@
 
 	/**
 	 * 指令信息新增,同时新增图片到指令文件表中
+	 *
 	 * @param directive 指令信息对象
 	 */
 	@PostMapping("/saveDirectiveAndFile")
@@ -63,27 +69,41 @@
 		boolean status = false;
 		directive.setSendTime(new Date());
 		status = directiveService.save(directive);
-		//数据同步
-		String s1 =
-			"insert into sys_directive(id,type,send_directive_id,receive_directive_ids,send_time,content) " +
-				"values(" + "'" + directive.getId() + "'" + "," +
-				"'" + directive.getType() + "'" + "," +
-				"'" + directive.getSendDirectiveId() + "'" + "," +
-				"'" + directive.getReceiveDirectiveIds() + "'" + "," +
-				"'" + new SimpleDateFormat("yyyy-MM-dd").format(directive.getStartTime()) + "'" + "," +
-				"'" +directive.getContent() + "'" + ")";
-		FtpUtil.sqlFileUpload(s1);
 		if (status){
+			//数据同步
+			String s1 =
+				"insert into sys_directive(id,type,send_directive_id,receive_directive_ids,send_time,content) " +
+					"values(" + "'" + directive.getId() + "'" + "," +
+					"'" + directive.getType() + "'" + "," +
+					"'" + directive.getSendDirectiveId() + "'" + "," +
+					"'" + directive.getReceiveDirectiveIds() + "'" + "," +
+					"'" + directive.getSendTime() + "'" + "," +
+					"'" + directive.getContent() + "'" + ")";
+			//FtpUtil.sqlFileUpload(s1);
+			myAsyncService.dataSync(s1);
+		}
+		if (status) {
 			//新增图片
-			if (null!=directive.getUrl() && directive.getUrl()!=""){
+			if (null != directive.getUrl() && directive.getUrl() != "") {
 				String[] directiveUrl = directive.getUrl().split(",");
 				for (String url : directiveUrl) {
+					String s = url.substring(26, url.length());
+					//内网url
+					String urls = FtpConfig.ip + s;
 					DirectiveFile directiveFile = new DirectiveFile();
 					directiveFile.setType(1);
 					directiveFile.setDirectiveId(directive.getId());
 					directiveFile.setUrl(url);
 					status = directiveService.saveDirectiveFile(directiveFile);
-					if (!status){
+					String s2 =
+						"insert into sys_directive_file(id,type,directive_id,url) " +
+							"values(" + "'" + directiveFile.getId() + "'" + "," +
+							"'" + directiveFile.getType() + "'" + "," +
+							"'" + directiveFile.getDirectiveId() + "'" + "," +
+							"'" + urls+ "'"+ ")";
+					//FtpUtil.sqlFileUpload(s2);
+					myAsyncService.dataSync(s2);
+					if (!status) {
 						return R.status(false);
 					}
 				}
@@ -97,28 +117,48 @@
 
 	/**
 	 * 指令信息修改,同时新增图片到指令文件表中
+	 *
 	 * @param directive 指令信息对象
 	 */
 	@PostMapping("/updateDirectiveAndFile")
 	public R updateDirectiveAndFile(@RequestBody DirectiveVo directive) throws Exception {
 		//新增指令信息
 		boolean update = directiveService.updateById(directive);
+		if (update) {
+			//内网同步
+			String s1 = "update sys_directive set type = " + "'" + directive.getType() + "'" +
+				",send_directive_id = " + "'" + directive.getSendDirectiveId() + "'" +
+				",receive_directive_ids = " + "'" + directive.getReceiveDirectiveIds() + "'" +
+				",send_time = " + "'" + directive.getSendTime() + "'" +
+				",content = " + "'" + directive.getContent() + "'" +
+				" " + "where id = " + "'" + directive.getId() + "'";
+			//FtpUtil.sqlFileUpload(s1);
+			myAsyncService.dataSync(s1);
+		}
 		boolean status = false;
-		//内网新增
-		//arg.test01(arg.url+"/directive/updateDirectiveAndFile",directive);
-		if (update){
+		if (update) {
 			//先删除图片
 			int i = directiveService.deleleByDirectiveId(directive.getId());
 			//新增图片
-			if (null!=directive.getUrl() && directive.getUrl()!=""){
+			if (null != directive.getUrl() && directive.getUrl() != "") {
 				String[] directiveUrl = directive.getUrl().split(",");
 				for (String url : directiveUrl) {
+					String s = url.substring(26, url.length());
+					String urls = FtpConfig.ip + s;
 					DirectiveFile directiveFile = new DirectiveFile();
 					directiveFile.setType(1);
 					directiveFile.setDirectiveId(directive.getId());
 					directiveFile.setUrl(url);
 					status = directiveService.saveDirectiveFile(directiveFile);
-					if (!status){
+					String s2 =
+						"insert into sys_directive_file(id,type,directive_id,url) " +
+							"values(" + "'" + directiveFile.getId() + "'" + "," +
+							"'" + directiveFile.getType() + "'" + "," +
+							"'" + directiveFile.getDirectiveId() + "'" + "," +
+							"'" + urls + "'"+ ")";
+					//FtpUtil.sqlFileUpload(s2);
+					myAsyncService.dataSync(s2);
+					if (!status) {
 						R.status(false);
 					}
 				}
@@ -131,6 +171,7 @@
 
 	/**
 	 * 修改
+	 *
 	 * @param directive 指令信息对象
 	 */
 	@PostMapping("/update")
@@ -140,6 +181,7 @@
 
 	/**
 	 * 新增或修改
+	 *
 	 * @param directive 指令信息对象
 	 */
 	@PostMapping("/submit")
@@ -149,12 +191,13 @@
 
 	/**
 	 * 删除
+	 *
 	 * @param ids 指令信息ids 数组
 	 */
 	@PostMapping("/remove")
 	public R remove(@ApiParam(value = "主键集合") @RequestParam String ids) {
 		//图片也删除
-		if (null!=ids && ids!=""){
+		if (null != ids && ids != "") {
 			String[] directiveIds = ids.split(",");
 			for (String directiveId : directiveIds) {
 				directiveService.deleleByDirectiveId(Long.parseLong(directiveId));
@@ -167,6 +210,7 @@
 
 	/**
 	 * 详情
+	 *
 	 * @param directive 指令信息对象
 	 */
 	@GetMapping("/detail")
@@ -179,6 +223,7 @@
 
 	/**
 	 * 自定义详情查询
+	 *
 	 * @param directive 指令信息对象
 	 */
 	@GetMapping("/details")

--
Gitblit v1.9.3