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/taskqd/mapper/TaskqdMapper.java | 2 ++
src/main/java/org/springblade/modules/taskfk/controller/TaskfkController.java | 12 ++++++++++--
src/main/java/org/springblade/modules/taskqd/entity/Taskqd.java | 16 ++++++++++++++++
src/main/java/org/springblade/modules/taskqd/service/ITaskqdService.java | 2 ++
src/main/java/org/springblade/modules/taskqd/mapper/TaskqdMapper.xml | 16 +++++++++++++---
src/main/java/org/springblade/modules/taskqd/service/impl/TaskqdServiceImpl.java | 5 +++++
6 files changed, 48 insertions(+), 5 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 7d75e5f..11cf6ff 100644
--- a/src/main/java/org/springblade/modules/taskfk/controller/TaskfkController.java
+++ b/src/main/java/org/springblade/modules/taskfk/controller/TaskfkController.java
@@ -94,7 +94,8 @@
@ApiOperation(value = "新增", notes = "传入task")
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(",");
@@ -102,7 +103,14 @@
Integral integral = new Integral();
//设置获取的积分
- integral.setIntegral(taskfk.getIntegral());
+ //积分数额获取规则 一小时以内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());
diff --git a/src/main/java/org/springblade/modules/taskqd/entity/Taskqd.java b/src/main/java/org/springblade/modules/taskqd/entity/Taskqd.java
index 5e9bf19..6d25274 100644
--- a/src/main/java/org/springblade/modules/taskqd/entity/Taskqd.java
+++ b/src/main/java/org/springblade/modules/taskqd/entity/Taskqd.java
@@ -71,6 +71,22 @@
private String endtime;
/**
+ * 实际开始时间
+ */
+ @ApiModelProperty(value = "实际开始时间")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private String stime;
+
+ /**
+ * 实际结束时间
+ */
+ @ApiModelProperty(value = "实际结束时间")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private String sendtime;
+
+ /**
* 省
*/
@ApiModelProperty(value = "省")
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 898a41d..a97b4c7 100644
--- a/src/main/java/org/springblade/modules/taskqd/mapper/TaskqdMapper.java
+++ b/src/main/java/org/springblade/modules/taskqd/mapper/TaskqdMapper.java
@@ -50,4 +50,6 @@
String querySerid(String rid);
List<Taskqd> countTaskByJur(@Param("jurisdiction") String jurisdiction, @Param("startTime") String startTime,@Param("period") String period);
+
+ int getRealTime(String hdid);
}
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 5d55aff..0177ebd 100644
--- a/src/main/java/org/springblade/modules/taskqd/mapper/TaskqdMapper.xml
+++ b/src/main/java/org/springblade/modules/taskqd/mapper/TaskqdMapper.xml
@@ -44,9 +44,12 @@
where id = #{id}
</update>
<update id="updateRtype">
- update sys_taskqd
- SET rtype=#{type}
- where id = #{rid}
+ UPDATE sys_taskqd
+ <set>
+ <if test='type == "0" '>rtype=#{type},stime = now(),</if>
+ <if test='type == "1" '>rtype=#{type},sendtime = now(),</if>
+ </set>
+ WHERE id = #{rid}
</update>
<update id="updateSerid">
@@ -186,4 +189,11 @@
</choose>
LIMIT 0,15
</select>
+
+ <select id="getRealTime" resultType="java.lang.Integer">
+ SELECT (UNIX_TIMESTAMP(sendtime)-UNIX_TIMESTAMP(stime))
+ subsecond
+ FROM sys_taskqd
+ WHERE id = #{hdid}
+ </select>
</mapper>
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 287132f..000ab3e 100644
--- a/src/main/java/org/springblade/modules/taskqd/service/ITaskqdService.java
+++ b/src/main/java/org/springblade/modules/taskqd/service/ITaskqdService.java
@@ -44,4 +44,6 @@
String querySerid(String rid);
List<Taskqd> countTaskByJur(String jurisdiction, String startTime, String period);
+
+ int getRealTime(String hdid);
}
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 c7dbec0..bfec1b3 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
@@ -94,4 +94,9 @@
public List<Taskqd> countTaskByJur(String jurisdiction, String startTime, String period) {
return baseMapper.countTaskByJur(jurisdiction,startTime,period);
}
+
+ @Override
+ public int getRealTime(String hdid) {
+ return baseMapper.getRealTime(hdid);
+ }
}
--
Gitblit v1.9.3