Commit ffba4dcd ffba4dcda12ee85fa1ec1f2073fd790e063d8fd9 by xianghan

1.将任务查询替换成按照even进行查找

1 parent 61938e0d
......@@ -29,5 +29,11 @@ public interface TaskRepository extends JpaRepository<Task, Long>, JpaSpecificat
@Query(value = "SELECT ta.* FROM tr_task ta LEFT JOIN tr_task_template tm ON ta.task_template_id = tm.id " +
" WHERE ta.`status` = 1 AND ta.valid_time <= now() and ta.expire_time >= now() AND ta.delete_mark = 0 AND " +
" tm.type = ?1 AND ta.`member_level` <= ?2 and ta.`member_vip` <= ?3", nativeQuery = true)
List<Map<String,Object>> findByEventAndLevelAndVip(Integer event, Integer level, Integer vip);
List<Map<String,Object>> findByTypeAndLevelAndVip(Integer type, Integer level, Integer vip);
@Query(value = "SELECT ta.* FROM tr_task ta LEFT JOIN tr_task_template tm ON ta.task_template_id = tm.id " +
" WHERE ta.`status` = 1 AND ta.valid_time <= now() and ta.expire_time >= now() AND ta.delete_mark = 0 AND " +
" tm.event = ?1 AND ta.`member_level` <= ?2 and ta.`member_vip` <= ?3", nativeQuery = true)
List<Map<String,Object>> findByEventAndLevelAndVip(String event, Integer level, Integer vip);
}
......
......@@ -64,6 +64,6 @@ public interface TaskService {
* @param event
* @return
*/
List<Task> findByEventAndMemberLevelAndVip(Integer event, Integer level, Integer vip);
List<Task> findByEventAndMemberLevelAndVip(String event, Integer level, Integer vip);
}
......
......@@ -89,7 +89,7 @@ public class TaskServiceImpl implements TaskService {
@Override
@Transactional(readOnly = true)
public List<Task> findByEventAndMemberLevelAndVip(Integer event, Integer level, Integer vip) {
public List<Task> findByEventAndMemberLevelAndVip(String event, Integer level, Integer vip) {
try {
boolean b = this.redisUtils.hasKey(RedisKeyConstants.cacheTaskByEventAndMemberLevelAndVip + "::" + event + ":" + level + ":" + vip);
......
......@@ -12,7 +12,7 @@ package com.topdraw.business.module.task.template.constant;
public interface TaskEventType {
//类型 1:登录;2:观影;3:参加活动;4:订购;5:优享会员;6:签到;7:完成设置;
// 8:播放记录;10:跨屏绑定;11:积分转移;30:积分兑换商品;98:系统操作;99:其他
int LOGIN = 1;
/*int LOGIN = 1;
int VIEW = 2;
int ACTIVITY = 3;
int ORDER = 4;
......@@ -24,6 +24,21 @@ public interface TaskEventType {
int POINTS_TRANS = 11;
int POINTS_EXCHANGE_GOODS = 14;
int SYSTEM_OPERATE = 98;
int OHHER = 99;
int OHHER = 99;*/
String LOGIN = "login";
String VIEWING = "viewing";
String JOINACTIVITIES = "joinactivitys";
String ORDER = "order";
String SIGN = "sign";
String COMPLETEMEMBERINFO = "completememberinfo";
String POINTSTRANS = "pointstrans";
String WECHATSHARE = "wechatshare";
String SUBSCRIBE = "SUBSCRIBE";
String GROWTHREPORT = "GROWTHREPORT";
String PLAY = "PLAY";
String BINDING = "BINDING";
String POINTSEXCHANGE = "POINTSEXCHANGE";
String SYSTEM_OPERATE = "SYSTEM_OPERATE";
String OTHER = "other";
}
......
......@@ -264,7 +264,7 @@ public class TaskOperationServiceImpl implements TaskOperationService {
}
// 检索满足条件的任务 1.先检查redis中是否存在符合条件的任务 2.从redis中获取当前会员未完成的任务
List<Task> tasks = this.findValidTasksAndRefreshTaskProcess(memberDTO, dataSyncMsg.getEvent(), msgData);
List<Task> tasks = this.findValidTasksAndRefreshTaskProcess(memberDTO, dataSyncMsg.getEvt(), msgData);
log.info("当前用户可执行的任务详情, dealTask# tasks ==>> [{}]", tasks);
if (CollectionUtils.isEmpty(tasks)) {
// 类型 1:登录;2:观影;3:参加活动;4:订购;5:优享会员;6:签到;7:完成设置;8:播放记录;
......@@ -333,7 +333,11 @@ public class TaskOperationServiceImpl implements TaskOperationService {
* @param event 任务模板类型
* @return
*/
private List<Task> findValidTasksAndRefreshTaskProcess(MemberSimpleDTO memberDTO, Integer event, JSONObject msgData) {
private List<Task> findValidTasksAndRefreshTaskProcess(MemberSimpleDTO memberDTO, String event, JSONObject msgData) {
if (StringUtils.isNotBlank(event)) {
event = event.toUpperCase();
}
// 任务是否存在
List<Task> tasks = this.taskService.findByEventAndMemberLevelAndVip(event, memberDTO.getLevel(), memberDTO.getVip());
......@@ -407,13 +411,13 @@ public class TaskOperationServiceImpl implements TaskOperationService {
}
break;
// 观影
case TaskEventType.VIEW:
case TaskEventType.VIEWING:
if (this.doViewEvent(msgData, task, memberDTO)) {
tasksResult.add(task);
}
break;
// 参加活动
case TaskEventType.ACTIVITY:
case TaskEventType.JOINACTIVITIES:
if (this.doActivityEvent(msgData, task, memberDTO)) {
tasksResult.add(task);
}
......@@ -424,9 +428,6 @@ public class TaskOperationServiceImpl implements TaskOperationService {
tasksResult.add(task);
}
break;
// 优享会员
case TaskEventType.MEMBER_PRIORITY:
break;
// 签到
case TaskEventType.SIGN:
if (this.doSignEvent(msgData, task, memberDTO)) {
......@@ -434,7 +435,7 @@ public class TaskOperationServiceImpl implements TaskOperationService {
}
break;
// 完善个人资料
case TaskEventType.COMPLETE_INFO:
case TaskEventType.COMPLETEMEMBERINFO:
if (this.doCompleteMemberInfoEvent(msgData, task, memberDTO)) {
tasksResult.add(task);
}
......@@ -454,13 +455,13 @@ public class TaskOperationServiceImpl implements TaskOperationService {
}
break;
// 积分转移
case TaskEventType.POINTS_TRANS:
case TaskEventType.POINTSTRANS:
if (this.doPointsTransEvent(msgData, task, memberDTO)) {
tasksResult.add(task);
}
break;
// 积分兑换商品
case TaskEventType.POINTS_EXCHANGE_GOODS:
case TaskEventType.POINTSEXCHANGE:
// 完成设置次数
if (this.doPointsExchangeGoodsEvent(msgData, task, memberDTO)) {
tasksResult.add(task);
......