From 3152a6a93337ba25815f7372c60dece41c3957d3 Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Tue, 19 Jul 2022 11:29:05 +0800
Subject: [PATCH] 根据实际任务时长进行积分分配

---
 src/main/java/org/springblade/modules/taskfk/controller/TaskfkController.java |   38 ++++++++++++++++++++++++++++++++++++--
 1 files changed, 36 insertions(+), 2 deletions(-)

diff --git a/src/main/java/org/springblade/modules/taskfk/controller/TaskfkController.java b/src/main/java/org/springblade/modules/taskfk/controller/TaskfkController.java
index 7e3715f..11cf6ff 100644
--- a/src/main/java/org/springblade/modules/taskfk/controller/TaskfkController.java
+++ b/src/main/java/org/springblade/modules/taskfk/controller/TaskfkController.java
@@ -28,6 +28,8 @@
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.core.tool.utils.StringUtil;
+import org.springblade.modules.integral.entity.Integral;
+import org.springblade.modules.integral.service.IIntegralService;
 import org.springblade.modules.taskfk.entity.Taskfk;
 import org.springblade.modules.taskfk.mapper.TaskfkMapper;
 import org.springblade.modules.taskfk.service.impl.TaskfkServiceImpl;
@@ -40,6 +42,7 @@
 import org.springframework.web.bind.annotation.*;
 
 import javax.validation.Valid;
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -55,6 +58,10 @@
 public class TaskfkController extends BladeController {
 
 	private final TaskfkServiceImpl taskfkService;
+
+	private final TaskqdServiceImpl taskqdService;
+
+	private final IIntegralService integralService;
 
 	/**
 	 * 详情
@@ -85,7 +92,34 @@
 	@PostMapping("/save")
 	@ApiOperationSupport(order = 4)
 	@ApiOperation(value = "新增", notes = "传入task")
-	public R save(@Valid @RequestBody Taskfk taskfk) {
+	public R save(@Valid @RequestBody TaskfkVO taskfk) {
+		taskqdService.updateRtype("1",taskfk.getHdid());
+		//计算实际任务时间
+		int subTime = taskqdService.getRealTime(taskfk.getHdid());
+		if (!taskfk.getSeridList().equals("")){
+			String[] list = taskfk.getSeridList().split(",");
+
+			for (int i = 0; i < list.length; i++) {
+
+				Integral integral = new Integral();
+				//设置获取的积分
+				//积分数额获取规则  一小时以内5分,一至三小时10分,三小时以上15分
+				if (subTime>0&&subTime<60*60){
+					integral.setIntegral(5);
+				}else if (subTime>60*60&&subTime<60*60*3){
+					integral.setIntegral(10);
+				}else {
+					integral.setIntegral(15);
+				}
+				integral.setAccess(taskfk.getAccess());
+				integral.setUid(Long.valueOf(list[i]));
+				integral.setTime(new Date());
+				integral.setType("1");
+				integralService.save(integral);
+
+			}
+		}
+
 		return R.status(taskfkService.save(taskfk));
 	}
 
@@ -105,7 +139,7 @@
 	@PostMapping("/submit")
 	@ApiOperationSupport(order = 6)
 	@ApiOperation(value = "新增或修改", notes = "传入task")
-	public R submit(@Valid @RequestBody Taskfk taskfk) {
+	public R submit(@Valid @RequestBody TaskfkVO taskfk) {
 		return R.status(taskfkService.saveOrUpdate(taskfk));
 	}
 

--
Gitblit v1.9.3