From 5f1b9791ca47743df83fde1c8e7fe6b1c12b4a81 Mon Sep 17 00:00:00 2001
From: zengh <123456>
Date: Mon, 07 Mar 2022 20:03:40 +0800
Subject: [PATCH] 任务增加类型

---
 src/main/java/org/springblade/modules/taskqd/mapper/TaskqdMapper.java            |    2 +-
 src/main/java/org/springblade/modules/taskqd/service/ITaskqdService.java         |    2 +-
 src/main/java/org/springblade/modules/taskqd/mapper/TaskqdMapper.xml             |    2 +-
 src/main/java/org/springblade/modules/taskqd/controller/TaskqdController.java    |   29 +++++++++++++++++++++++++----
 src/main/java/org/springblade/modules/taskqd/service/impl/TaskqdServiceImpl.java |    4 ++--
 5 files changed, 30 insertions(+), 9 deletions(-)

diff --git a/src/main/java/org/springblade/modules/taskqd/controller/TaskqdController.java b/src/main/java/org/springblade/modules/taskqd/controller/TaskqdController.java
index b3d533e..ecbcf27 100644
--- a/src/main/java/org/springblade/modules/taskqd/controller/TaskqdController.java
+++ b/src/main/java/org/springblade/modules/taskqd/controller/TaskqdController.java
@@ -308,21 +308,42 @@
 	}
 
 	@GetMapping("/cancelTask")
-	public R cancelTask(String rid, String serid) {
-		//获取当前成员id
-		String id = taskqdService.querySerid(rid);
+	public R cancelTask(String rid, String serid,String name) {
+		//任务查询
+		//String id = taskqdService.querySerid(rid);
+		List<Taskqd> list = taskqdService.selectList(Integer.valueOf(rid));
+
+		//获取参与者id
+		String id = list.get(0).getSerid();
 
 		String captain[] = id.split(",");
 		if(captain[0].equals(serid)){
 			return R.status(taskqdService.removeByIds(Func.toLongList(rid)));
 		}
 
+		//获取参与者名称
+		String[] nameList = list.get(0).getTeam().split(",");
+		//创建新的参与者
+		String newteam = "";
+		for (int i = 0; i < nameList.length; i++) {
+			if (!name.equals(nameList[i])){
+				newteam += nameList[i] +  ",";
+			}
+		}
+		//去除最后的逗号
+		if (newteam.length() != 0){
+			newteam.substring(0,newteam.length()-1);
+		}
+
+		//扣去人数
+		int newnum = list.get(0).getNum() - 1;
+
 		//成员id拼接逗号方便删除
 		String delid = "," + serid;
 		//将指定成员删除
 		String resid = id.replaceAll(delid,"");
 
-		return R.status(taskqdService.updateSerid(rid,resid));
+		return R.status(taskqdService.updateSerid(rid,resid,newteam,newnum));
 	}
 
 }
diff --git a/src/main/java/org/springblade/modules/taskqd/mapper/TaskqdMapper.java b/src/main/java/org/springblade/modules/taskqd/mapper/TaskqdMapper.java
index b1c73e6..7bb78f4 100644
--- a/src/main/java/org/springblade/modules/taskqd/mapper/TaskqdMapper.java
+++ b/src/main/java/org/springblade/modules/taskqd/mapper/TaskqdMapper.java
@@ -37,7 +37,7 @@
 	//抢单任务
 	void updatet(Integer id, Integer num, String serid,String captain,String team);
 	void updateRtype(String type,String rid);
-	boolean updateSerid(String rid,String serid);
+	boolean updateSerid(String rid,String serid,String newteam,int newnum);
 	List<Taskqd> selectList(Integer id);
 	List<Map<String, Object>> queryReceiver(String serid);
 	List<TaskqdVO> selectLi(String type, String serid,String jurisdiction,String workjurisdiction,String tasktype);
diff --git a/src/main/java/org/springblade/modules/taskqd/mapper/TaskqdMapper.xml b/src/main/java/org/springblade/modules/taskqd/mapper/TaskqdMapper.xml
index e6a606d..dfe0d81 100644
--- a/src/main/java/org/springblade/modules/taskqd/mapper/TaskqdMapper.xml
+++ b/src/main/java/org/springblade/modules/taskqd/mapper/TaskqdMapper.xml
@@ -51,7 +51,7 @@
 
     <update id="updateSerid">
         update sys_taskqd
-        SET serid=#{serid}
+        SET serid=#{serid},team=#{newteam},num=#{newnum}
         where id = #{rid}
     </update>
 
diff --git a/src/main/java/org/springblade/modules/taskqd/service/ITaskqdService.java b/src/main/java/org/springblade/modules/taskqd/service/ITaskqdService.java
index e66aeba..b0d13ba 100644
--- a/src/main/java/org/springblade/modules/taskqd/service/ITaskqdService.java
+++ b/src/main/java/org/springblade/modules/taskqd/service/ITaskqdService.java
@@ -36,7 +36,7 @@
 public interface ITaskqdService extends IService<Taskqd> {
 	void updatet(Integer id, Integer num, String serid,String captain,String team);
 	void updateRtype(String type,String rid);
-	Boolean updateSerid(String type,String rid);
+	Boolean updateSerid(String type,String rid,String newteam,int newnum);
 	List<Taskqd> selectList(Integer id);
 	List<Map<String, Object>> queryReceiver(String serid);
 	List<TaskqdVO> selectLi(String type, String serid,String jurisdiction,String workjurisdiction,String tasktype);
diff --git a/src/main/java/org/springblade/modules/taskqd/service/impl/TaskqdServiceImpl.java b/src/main/java/org/springblade/modules/taskqd/service/impl/TaskqdServiceImpl.java
index 388649a..c345f12 100644
--- a/src/main/java/org/springblade/modules/taskqd/service/impl/TaskqdServiceImpl.java
+++ b/src/main/java/org/springblade/modules/taskqd/service/impl/TaskqdServiceImpl.java
@@ -47,8 +47,8 @@
 	}
 
 	@Override
-	public Boolean updateSerid(String rid, String serid) {
-		return baseMapper.updateSerid(rid,serid);
+	public Boolean updateSerid(String rid, String serid,String newteam,int newnum) {
+		return baseMapper.updateSerid(rid,serid,newteam,newnum);
 	}
 
 	@Override

--
Gitblit v1.9.3