1.优化
Showing
1 changed file
with
39 additions
and
7 deletions
1 | package com.topdraw.business.process.service.impl; | 1 | package com.topdraw.business.process.service.impl; |
2 | 2 | ||
3 | import com.alibaba.fastjson.JSON; | ||
3 | import com.alibaba.fastjson.JSONArray; | 4 | import com.alibaba.fastjson.JSONArray; |
4 | import com.alibaba.fastjson.JSONObject; | 5 | import com.alibaba.fastjson.JSONObject; |
6 | import com.google.gson.JsonObject; | ||
5 | import com.topdraw.business.module.coupon.service.CouponService; | 7 | import com.topdraw.business.module.coupon.service.CouponService; |
6 | import com.topdraw.business.module.coupon.service.dto.CouponDTO; | 8 | import com.topdraw.business.module.coupon.service.dto.CouponDTO; |
7 | import com.topdraw.business.module.member.group.service.MemberGroupService; | 9 | import com.topdraw.business.module.member.group.service.MemberGroupService; |
... | @@ -111,14 +113,14 @@ public class TaskOperationServiceImpl implements TaskOperationService { | ... | @@ -111,14 +113,14 @@ public class TaskOperationServiceImpl implements TaskOperationService { |
111 | } | 113 | } |
112 | 114 | ||
113 | // 1.通过任务标识获取任务模板,通过模板参数获取具体的模板 | 115 | // 1.通过任务标识获取任务模板,通过模板参数获取具体的模板 |
114 | TaskTemplate taskTemplate = this.getTaskTemplate(event,dataSyncMsg); | 116 | TaskTemplate taskTemplate = this.getTaskTemplate(event, dataSyncMsg); |
115 | // 2.通过任务模板获取对应的任务列表 | 117 | // 2.通过任务模板获取对应的任务列表 |
116 | List<Task> taskList = this.loadListTaskByTaskTemplate(taskTemplate,dataSyncMsg); | 118 | List<Task> taskList = this.loadListTaskByTaskTemplate(taskTemplate, dataSyncMsg); |
117 | // 4.判断当前用户是否满足任务完成条件 | 119 | // 4.判断当前用户是否满足任务完成条件 |
118 | boolean checkResult = this.checkTaskCompletion(memberId,taskList); | 120 | boolean checkResult = this.checkTaskCompletion(memberId, taskList, event, msgData); |
119 | if (checkResult) { | 121 | if (checkResult) { |
120 | // 5.权益区分(积分、权益、成长值) | 122 | // 5.权益区分(积分、权益、成长值) |
121 | Map<RightType,Object> tempRightsMap = this.distinguishRight(memberId,taskList,msgData); | 123 | Map<RightType,Object> tempRightsMap = this.distinguishRight(memberId, taskList, msgData); |
122 | 124 | ||
123 | // 6.风控检查 | 125 | // 6.风控检查 |
124 | boolean result = this.checkRiskManagement(memberId,tempRightsMap); | 126 | boolean result = this.checkRiskManagement(memberId,tempRightsMap); |
... | @@ -532,7 +534,7 @@ public class TaskOperationServiceImpl implements TaskOperationService { | ... | @@ -532,7 +534,7 @@ public class TaskOperationServiceImpl implements TaskOperationService { |
532 | * @return boolean true:success false:fail | 534 | * @return boolean true:success false:fail |
533 | */ | 535 | */ |
534 | //<taskId,boolean> | 536 | //<taskId,boolean> |
535 | private boolean checkTaskCompletion(Long memberId , List<Task> taskList) { | 537 | private boolean checkTaskCompletion(Long memberId , List<Task> taskList, Integer event, DataSyncMsg.MsgData msgData) { |
536 | if (!CollectionUtils.isEmpty(taskList)) { | 538 | if (!CollectionUtils.isEmpty(taskList)) { |
537 | // 会员信息 | 539 | // 会员信息 |
538 | MemberDTO memberDTO = this.memberService.findById(memberId); | 540 | MemberDTO memberDTO = this.memberService.findById(memberId); |
... | @@ -557,7 +559,7 @@ public class TaskOperationServiceImpl implements TaskOperationService { | ... | @@ -557,7 +559,7 @@ public class TaskOperationServiceImpl implements TaskOperationService { |
557 | return false; | 559 | return false; |
558 | 560 | ||
559 | // 获取当前任务的完成情况 | 561 | // 获取当前任务的完成情况 |
560 | boolean result = this.checkAndRefreshTaskCompletion(memberId,taskList); | 562 | boolean result = this.checkAndRefreshTaskCompletion(memberId,taskList,event,msgData); |
561 | 563 | ||
562 | return result; | 564 | return result; |
563 | 565 | ||
... | @@ -673,7 +675,7 @@ public class TaskOperationServiceImpl implements TaskOperationService { | ... | @@ -673,7 +675,7 @@ public class TaskOperationServiceImpl implements TaskOperationService { |
673 | * @param taskStream | 675 | * @param taskStream |
674 | * @return boolean false:失败 true:成功 | 676 | * @return boolean false:失败 true:成功 |
675 | */ | 677 | */ |
676 | private boolean checkAndRefreshTaskCompletion(Long memberId , List<Task> taskStream) { | 678 | private boolean checkAndRefreshTaskCompletion(Long memberId , List<Task> taskStream, Integer event, DataSyncMsg.MsgData msgData) { |
677 | String time1 = LocalDateTimeUtil.todayStart(); | 679 | String time1 = LocalDateTimeUtil.todayStart(); |
678 | for (Task task : taskStream) { | 680 | for (Task task : taskStream) { |
679 | 681 | ||
... | @@ -690,6 +692,30 @@ public class TaskOperationServiceImpl implements TaskOperationService { | ... | @@ -690,6 +692,30 @@ public class TaskOperationServiceImpl implements TaskOperationService { |
690 | // 行为量(完成此任务需要多少次相同行为的触发) | 692 | // 行为量(完成此任务需要多少次相同行为的触发) |
691 | Integer actionAmount = task.getActionAmount(); | 693 | Integer actionAmount = task.getActionAmount(); |
692 | 694 | ||
695 | switch (event) { | ||
696 | // 播放记录 | ||
697 | case 8: | ||
698 | if (!CollectionUtils.isEmpty(trTaskProgressDTOS)) { | ||
699 | TrTaskProgressDTO trTaskProgressDTO_0 = trTaskProgressDTOS.get(0); | ||
700 | Integer status_0 = trTaskProgressDTO_0.getStatus(); | ||
701 | Integer currentActionAmount_0 = trTaskProgressDTO_0.getCurrentActionAmount(); | ||
702 | Timestamp completionTime_0 = trTaskProgressDTO_0.getCompletionTime(); | ||
703 | if (status_0 == 1 && currentActionAmount_0 != null && Objects.nonNull(completionTime_0)) { | ||
704 | return false; | ||
705 | } | ||
706 | } | ||
707 | String param = msgData.getParam(); | ||
708 | JSONObject jsonObject = JSON.parseObject(param); | ||
709 | Integer value = Integer.valueOf(jsonObject.get("playDuration").toString()); | ||
710 | if (value >= actionAmount) { | ||
711 | currentActionAmount = actionAmount; | ||
712 | completionTime = TimestampUtil.now(); | ||
713 | status = TASK_FINISH_STATUS; | ||
714 | } | ||
715 | |||
716 | break; | ||
717 | |||
718 | default: | ||
693 | // 行为量 1 | 719 | // 行为量 1 |
694 | if (actionAmount == 1) { | 720 | if (actionAmount == 1) { |
695 | 721 | ||
... | @@ -769,6 +795,12 @@ public class TaskOperationServiceImpl implements TaskOperationService { | ... | @@ -769,6 +795,12 @@ public class TaskOperationServiceImpl implements TaskOperationService { |
769 | 795 | ||
770 | } | 796 | } |
771 | 797 | ||
798 | break; | ||
799 | |||
800 | } | ||
801 | |||
802 | |||
803 | |||
772 | TrTaskProgress trTaskProgress = new TrTaskProgress(); | 804 | TrTaskProgress trTaskProgress = new TrTaskProgress(); |
773 | trTaskProgress.setId(id); | 805 | trTaskProgress.setId(id); |
774 | trTaskProgress.setCurrentActionAmount(currentActionAmount); | 806 | trTaskProgress.setCurrentActionAmount(currentActionAmount); | ... | ... |
-
Please register or sign in to post a comment