Commit 0642873b 0642873bb72a64d9bb83dcc81d94bfb60fbe2f33 by xianghan

1.优化

1 parent 5ac353c1
...@@ -25,9 +25,6 @@ public class DataSyncMsg implements Serializable { ...@@ -25,9 +25,6 @@ public class DataSyncMsg implements Serializable {
25 // 其他属性 25 // 其他属性
26 private String extraData; 26 private String extraData;
27 27
28 /** 模板参数 */
29 private TaskTemplateParam param;
30
31 /** 28 /**
32 * 消息体 29 * 消息体
33 */ 30 */
...@@ -55,14 +52,4 @@ public class DataSyncMsg implements Serializable { ...@@ -55,14 +52,4 @@ public class DataSyncMsg implements Serializable {
55 private String description; 52 private String description;
56 } 53 }
57 54
58 @Data
59 @AllArgsConstructor
60 @NoArgsConstructor
61 public static class TaskTemplateParam {
62 /** 类别 */
63 private String category;
64 /** 编码 */
65 private String code;
66 }
67
68 } 55 }
......
...@@ -53,14 +53,4 @@ public class MemberProfileController { ...@@ -53,14 +53,4 @@ public class MemberProfileController {
53 MemberProfileDTO memberProfileDTO = this.memberProfileOperationService.updateMemberProfileAndMember(resources); 53 MemberProfileDTO memberProfileDTO = this.memberProfileOperationService.updateMemberProfileAndMember(resources);
54 return ResultInfo.success(memberProfileDTO); 54 return ResultInfo.success(memberProfileDTO);
55 } 55 }
56
57 @Log("修改会员属性并同步会员信息")
58 @PutMapping
59 @ApiOperation("修改会员属性并同步会员信息")
60 @AnonymousAccess
61 public ResultInfo updateMemberProfileAndMember_(@Validated @RequestBody MemberProfile resources) {
62 log.info("MemberProfileServiceImpl ==>> update ==>> resources ===>> [{}]",resources);
63 MemberProfileDTO memberProfileDTO = this.memberProfileOperationService.updateMemberProfileAndMember(resources);
64 return ResultInfo.success(memberProfileDTO);
65 }
66 } 56 }
......
...@@ -118,10 +118,10 @@ public class MemberProfileServiceImpl implements MemberProfileService { ...@@ -118,10 +118,10 @@ public class MemberProfileServiceImpl implements MemberProfileService {
118 // 检查会员是否存在 118 // 检查会员是否存在
119 this.checkMember(resources); 119 this.checkMember(resources);
120 // 真实姓名(加密) 120 // 真实姓名(加密)
121 String realName = resources.getRealname(); 121 /*String realName = resources.getRealname();
122 if (StringUtils.isNotBlank(realName)) { 122 if (StringUtils.isNotBlank(realName)) {
123 resources.setRealname(Base64Util.encode(realName)); 123 resources.setRealname(Base64Util.encode(realName));
124 } 124 }*/
125 125
126 MemberProfile memberProfile = new MemberProfile(); 126 MemberProfile memberProfile = new MemberProfile();
127 BeanUtils.copyProperties(resources,memberProfile); 127 BeanUtils.copyProperties(resources,memberProfile);
......
...@@ -6,5 +6,9 @@ public interface TaskTemplateType { ...@@ -6,5 +6,9 @@ public interface TaskTemplateType {
6 int TYPE_2 = 2; 6 int TYPE_2 = 2;
7 int TYPE_3 = 3; 7 int TYPE_3 = 3;
8 int TYPE_4 = 4; 8 int TYPE_4 = 4;
9 // 签到
10 int TYPE_6 = 6;
11 // 播放记录
12 int TYPE_8 = 8;
9 13
10 } 14 }
......
1 package com.topdraw.business.process.service.impl; 1 package com.topdraw.business.process.service.impl;
2 2
3 import com.alibaba.fastjson.JSON;
4 import com.alibaba.fastjson.JSONArray; 3 import com.alibaba.fastjson.JSONArray;
5 import com.alibaba.fastjson.JSONObject; 4 import com.alibaba.fastjson.JSONObject;
6 import com.topdraw.business.module.coupon.service.CouponService; 5 import com.topdraw.business.module.coupon.service.CouponService;
...@@ -32,11 +31,9 @@ import com.topdraw.business.module.task.template.domain.TaskTemplate; ...@@ -32,11 +31,9 @@ import com.topdraw.business.module.task.template.domain.TaskTemplate;
32 import com.topdraw.business.module.task.template.service.TaskTemplateService; 31 import com.topdraw.business.module.task.template.service.TaskTemplateService;
33 import com.topdraw.business.process.domian.*; 32 import com.topdraw.business.process.domian.*;
34 import com.topdraw.business.process.service.UserOperationService; 33 import com.topdraw.business.process.service.UserOperationService;
35 import com.topdraw.business.process.service.dto.TaskOperationQueryCriteria;
36 import com.topdraw.common.ResultInfo; 34 import com.topdraw.common.ResultInfo;
37 import com.topdraw.exception.BadRequestException; 35 import com.topdraw.exception.BadRequestException;
38 import com.topdraw.module.mq.DataSyncMsg; 36 import com.topdraw.module.mq.DataSyncMsg;
39 import com.topdraw.module.mq.EventType;
40 import com.topdraw.util.*; 37 import com.topdraw.util.*;
41 import lombok.extern.slf4j.Slf4j; 38 import lombok.extern.slf4j.Slf4j;
42 import org.springframework.beans.BeanUtils; 39 import org.springframework.beans.BeanUtils;
...@@ -96,35 +93,6 @@ public class TaskOperationServiceImpl implements TaskOperationService { ...@@ -96,35 +93,6 @@ public class TaskOperationServiceImpl implements TaskOperationService {
96 private static final Integer POINTS_MIN = 1; 93 private static final Integer POINTS_MIN = 1;
97 94
98 95
99 public static void main(String[] args) {
100 /*String s = "{\\\"eventType\\\":\\\"PLAY\\\",\\\"msg\\\":{\\\"description\\\":\\\"{\\\\\\\"playDuration\\\\\\\":60,\\\\\\\"time\\\\\\\":\\\\\\\"2022-04-01 00:10:09\\\\\\\",\\\\\\\"mediaId\\\\\\\":3433,\\\\\\\"mediaCode\\\\\\\":\\\\\\\"media_123\\\\\\\",\\\\\\\"mediaName\\\\\\\":\\\\\\\"白宫陷落\\\\\\\"}\\\",\\\"deviceType\\\":1,\\\"event\\\":8,\\\"memberCode\\\":\\\"1511275342935937024\\\",\\\"param\\\":\\\"{\\\\\\\"playDuration\\\\\\\":60}\\\"}}";
101 TaskOperationQueryCriteria pointsQueryCriteria = new TaskOperationQueryCriteria();
102 pointsQueryCriteria.setContent(s);
103 String s1 = JSON.toJSONString(pointsQueryCriteria);
104 DataSyncMsg dataSyncMsg = JSONUtil.parseMsg2Object(s1, DataSyncMsg.class);
105 System.out.println(dataSyncMsg);*/
106
107 DataSyncMsg dataSyncMsg = new DataSyncMsg();
108 dataSyncMsg.setEventType(EventType.PLAY.name());
109 DataSyncMsg.MsgData msgData = new DataSyncMsg.MsgData();
110 msgData.setEvent(8); // 类型 1-登录 2-观影 3-参加活动 4-订购 5-优享会员 6-签到
111 msgData.setMemberCode("1511275342935937024");
112 // 1:大屏;2:小屏(微信)3.小屏(xx)
113 msgData.setDeviceType(1);
114 String param = "{\"playDuration\":60}";
115 msgData.setParam(param);
116 String des = "{\"playDuration\":60,\"time\":\"2022-04-01 00:10:09\",\"mediaId\":3433,\"mediaCode\":\"media_123\",\"mediaName\":\"白宫陷落\"}";
117 msgData.setDescription(des);
118 dataSyncMsg.setMsg(msgData);
119 String a = JSON.toJSONString(dataSyncMsg);
120 TaskOperationQueryCriteria pointsQueryCriteria = new TaskOperationQueryCriteria();
121 pointsQueryCriteria.setContent(a);
122 String s1 = JSON.toJSONString(pointsQueryCriteria);
123 System.out.println(s1);
124 DataSyncMsg dataSyncMsg1 = JSONUtil.parseMsg2Object(s1, DataSyncMsg.class);
125 System.out.println(dataSyncMsg1);
126 }
127
128 @Override 96 @Override
129 public ResultInfo dealTask(String content) { 97 public ResultInfo dealTask(String content) {
130 98
...@@ -490,7 +458,7 @@ public class TaskOperationServiceImpl implements TaskOperationService { ...@@ -490,7 +458,7 @@ public class TaskOperationServiceImpl implements TaskOperationService {
490 TempExp tempExp = new TempExp(); 458 TempExp tempExp = new TempExp();
491 tempExp.setMemberId(memberId); 459 tempExp.setMemberId(memberId);
492 tempExp.setAppCode(msgData.getAppCode()); 460 tempExp.setAppCode(msgData.getAppCode());
493 tempExp.setMemberId(msgData.getMemberId()); 461 tempExp.setMemberId(memberId);
494 tempExp.setMemberCode(msgData.getMemberCode()); 462 tempExp.setMemberCode(msgData.getMemberCode());
495 tempExp.setItemId(msgData.getItemId()); 463 tempExp.setItemId(msgData.getItemId());
496 tempExp.setAccountId(msgData.getAccountId()); 464 tempExp.setAccountId(msgData.getAccountId());
...@@ -747,6 +715,15 @@ public class TaskOperationServiceImpl implements TaskOperationService { ...@@ -747,6 +715,15 @@ public class TaskOperationServiceImpl implements TaskOperationService {
747 Objects.nonNull(completionTime1) && 715 Objects.nonNull(completionTime1) &&
748 completionTime1.toLocalDateTime().toLocalDate().compareTo(LocalDate.now()) == 0) { 716 completionTime1.toLocalDateTime().toLocalDate().compareTo(LocalDate.now()) == 0) {
749 717
718 // 任务重复类型
719 Integer taskDailyReset = task.getTaskDailyReset();
720 if (taskDailyReset == -1) {
721 return true;
722 } else if (currentActionAmount_ < taskDailyReset){
723 return true;
724 }
725
726
750 return false; 727 return false;
751 728
752 // 未做,成功 729 // 未做,成功
...@@ -806,11 +783,8 @@ public class TaskOperationServiceImpl implements TaskOperationService { ...@@ -806,11 +783,8 @@ public class TaskOperationServiceImpl implements TaskOperationService {
806 // 更新任务完成情况 783 // 更新任务完成情况
807 this.doRefreshTrTaskProcess(trTaskProgress); 784 this.doRefreshTrTaskProcess(trTaskProgress);
808 785
809 // 行为量达标
810 if (currentActionAmount.compareTo(actionAmount) == 0) {
811 return true; 786 return true;
812 } 787 }
813 }
814 788
815 return false; 789 return false;
816 } 790 }
...@@ -853,7 +827,7 @@ public class TaskOperationServiceImpl implements TaskOperationService { ...@@ -853,7 +827,7 @@ public class TaskOperationServiceImpl implements TaskOperationService {
853 if (Objects.nonNull(msgData.getParam())) { 827 if (Objects.nonNull(msgData.getParam())) {
854 828
855 String param = msgData.getParam(); 829 String param = msgData.getParam();
856 Map<String,String> jsonObjectMap = JSONObject.parseObject(param,Map.class); 830 Map<String,String> jsonObjectMap = JSONObject.parseObject(param, Map.class);
857 Collection<String> values = jsonObjectMap.values(); 831 Collection<String> values = jsonObjectMap.values();
858 832
859 for (Task task : taskList) { 833 for (Task task : taskList) {
...@@ -882,12 +856,45 @@ public class TaskOperationServiceImpl implements TaskOperationService { ...@@ -882,12 +856,45 @@ public class TaskOperationServiceImpl implements TaskOperationService {
882 taskList1.add(task); 856 taskList1.add(task);
883 break; 857 break;
884 858
859 // 参加活动
860 case TaskTemplateType.TYPE_3:
861 String activityCode = values_0.get(0).toString();
862 String activityCode_ = values.toArray()[0].toString();
863 if (activityCode_.equalsIgnoreCase(activityCode)) {
864 taskList1.add(task);
865 }
866 break;
867
885 // 订购 868 // 订购
886 case TaskTemplateType.TYPE_4: 869 case TaskTemplateType.TYPE_4:
887 if (values_0.containsAll(values)) 870 if (values_0.containsAll(values))
888 taskList1.add(task); 871 taskList1.add(task);
889 break; 872 break;
890 873
874 // 签到
875 case TaskTemplateType.TYPE_6:
876 Integer sign0 = (Integer)values_0.get(0);
877 Integer sign1 = (Integer)values_0.get(1);
878 List<Integer> signi0List = Arrays.asList(sign0, sign1);
879 String signs0 = values.toArray()[0].toString();
880 Integer signi0 = Integer.valueOf(signs0);
881 boolean signb0 = UcListUtils.compareIntegerList(signi0, signi0List);
882 if (signb0)
883 taskList1.add(task);
884 break;
885
886 // 播放记录
887 case TaskTemplateType.TYPE_8:
888 Integer play0 = (Integer)values_0.get(0);
889 Integer play1 = (Integer)values_0.get(1);
890 List<Integer> playList = Arrays.asList(play0, play1);
891 String s0 = values.toArray()[0].toString();
892 Integer i0 = Integer.valueOf(s0);
893 boolean b0 = UcListUtils.compareIntegerList(i0, playList);
894 if (b0)
895 taskList1.add(task);
896 break;
897
891 default: 898 default:
892 break; 899 break;
893 } 900 }
...@@ -969,10 +976,16 @@ public class TaskOperationServiceImpl implements TaskOperationService { ...@@ -969,10 +976,16 @@ public class TaskOperationServiceImpl implements TaskOperationService {
969 String templateParams = taskTemplate.getParams(); 976 String templateParams = taskTemplate.getParams();
970 if(StringUtils.hasText(templateParams)) { 977 if(StringUtils.hasText(templateParams)) {
971 String templateParamsUpperCase = templateParams.toUpperCase(); 978 String templateParamsUpperCase = templateParams.toUpperCase();
972 boolean b = jsonObject.containsKey(templateParamsUpperCase); 979 Set<String> keySet = jsonObject.keySet();
973 if (b) 980 for (String key : keySet) {
981 String s = key.toUpperCase();
982 if (s.equals(templateParamsUpperCase)) {
974 return taskTemplate; 983 return taskTemplate;
975 } 984 }
985 continue;
986 }
987 }
988
976 } 989 }
977 990
978 } 991 }
......
...@@ -146,19 +146,19 @@ public class MemberOperationServiceImpl implements MemberOperationService { ...@@ -146,19 +146,19 @@ public class MemberOperationServiceImpl implements MemberOperationService {
146 return Objects.nonNull(memberId) ? memberDTO : null; 146 return Objects.nonNull(memberId) ? memberDTO : null;
147 } 147 }
148 148
149 @CachePut(key = "#resources.id") 149 // @CachePut(key = "#resources.id")
150 @Override 150 @Override
151 public MemberDTO doUpdateMemberExp(Member resources) { 151 public MemberDTO doUpdateMemberExp(Member resources) {
152 return this.update(resources); 152 return this.update(resources);
153 } 153 }
154 154
155 @CachePut(key = "#resources.id") 155 // @CachePut(key = "#resources.id")
156 @Override 156 @Override
157 public MemberDTO doUpdateMemberPoints(Member resources) { 157 public MemberDTO doUpdateMemberPoints(Member resources) {
158 return this.memberService.doUpdateMemberPoints(resources); 158 return this.memberService.doUpdateMemberPoints(resources);
159 } 159 }
160 160
161 @CachePut(key = "#resources.id") 161 // @CachePut(key = "#resources.id")
162 @Override 162 @Override
163 public MemberDTO doUpdateMemberCoupon(Member member) { 163 public MemberDTO doUpdateMemberCoupon(Member member) {
164 return this.update(member); 164 return this.update(member);
......
...@@ -18,7 +18,7 @@ public class TaskOperationControllerTest extends BaseTest { ...@@ -18,7 +18,7 @@ public class TaskOperationControllerTest extends BaseTest {
18 TaskOperationController taskOperationController; 18 TaskOperationController taskOperationController;
19 19
20 @Test 20 @Test
21 public void dealTask() { 21 public void activity() {
22 try { 22 try {
23 /* DataSyncMsg dataSyncMsg = new DataSyncMsg(); 23 /* DataSyncMsg dataSyncMsg = new DataSyncMsg();
24 dataSyncMsg.setEventType(EventType.VIEWING.name()); 24 dataSyncMsg.setEventType(EventType.VIEWING.name());
...@@ -35,17 +35,63 @@ public class TaskOperationControllerTest extends BaseTest { ...@@ -35,17 +35,63 @@ public class TaskOperationControllerTest extends BaseTest {
35 pointsQueryCriteria.setContent(s); 35 pointsQueryCriteria.setContent(s);
36 String s1 = JSON.toJSONString(pointsQueryCriteria); 36 String s1 = JSON.toJSONString(pointsQueryCriteria);
37 System.out.println(s1);*/ 37 System.out.println(s1);*/
38 String s = "{\n" + 38 String s = "{\"eventType\":\"ACTIVITY\",\"msg\":{\"deviceType\":1,\"event\":3,\"memberCode\":\"1511275342935937024\",\"param\":\"{\\\"ACTIVITY_CODE\\\":3}\"}}";
39 " \"eventType\": \"play\",\n" + 39 TaskOperationQueryCriteria pointsQueryCriteria = new TaskOperationQueryCriteria();
40 " \"msg\": {\n" + 40 pointsQueryCriteria.setContent(s);
41 " \"description\": \"{\\\"playDuration\\\":60,\\\"time\\\":\\\"2022-04-01 00:10:09\\\",\\\"mediaId\\\":3433,\\\"mediaCode\\\":\\\"media_123\\\",\\\"mediaName\\\":\\\"白宫陷落\\\"}\",\n" + 41 String s1 = JSON.toJSONString(pointsQueryCriteria);
42 " \"deviceType\": 1,\n" + 42 this.taskOperationController.dealTask(pointsQueryCriteria);
43 " \"event\": 8,\n" + 43 } catch (Exception e) {
44 " \"mediaId\": 3433,\n" + 44 e.printStackTrace();
45 " \"memberCode\": \"1511275342935937024\",\n" + 45 }
46 " \"param\":\\\"{\\\"playDuration\\\":60}\\\"\n" + 46 }
47 " }\n" + 47
48 "}"; 48 @Test
49 public void sign() {
50 try {
51 /* DataSyncMsg dataSyncMsg = new DataSyncMsg();
52 dataSyncMsg.setEventType(EventType.VIEWING.name());
53 DataSyncMsg.MsgData msgData = new DataSyncMsg.MsgData();
54 msgData.setEvent(2); // 类型 1-登录 2-观影 3-参加活动 4-订购 5-优享会员 6-签到
55 msgData.setRemarks("remark");
56 msgData.setMemberId(20592L);
57 // 1:大屏;2:小屏(微信)3.小屏(xx)
58 msgData.setDeviceType(1);
59 msgData.setAppCode("WEI_XIN_GOLD_PANDA");
60 dataSyncMsg.setMsg(msgData);
61 String s = JSON.toJSONString(dataSyncMsg);
62 TaskOperationQueryCriteria pointsQueryCriteria = new TaskOperationQueryCriteria();
63 pointsQueryCriteria.setContent(s);
64 String s1 = JSON.toJSONString(pointsQueryCriteria);
65 System.out.println(s1);*/
66 String s = "{\"eventType\":\"SIGN\",\"msg\":{\"deviceType\":1,\"event\":6,\"memberCode\":\"1511275342935937024\",\"param\":\"{\\\"SIGN\\\":3}\"}}";
67 TaskOperationQueryCriteria pointsQueryCriteria = new TaskOperationQueryCriteria();
68 pointsQueryCriteria.setContent(s);
69 String s1 = JSON.toJSONString(pointsQueryCriteria);
70 this.taskOperationController.dealTask(pointsQueryCriteria);
71 } catch (Exception e) {
72 e.printStackTrace();
73 }
74 }
75
76 @Test
77 public void play() {
78 try {
79 /* DataSyncMsg dataSyncMsg = new DataSyncMsg();
80 dataSyncMsg.setEventType(EventType.VIEWING.name());
81 DataSyncMsg.MsgData msgData = new DataSyncMsg.MsgData();
82 msgData.setEvent(2); // 类型 1-登录 2-观影 3-参加活动 4-订购 5-优享会员 6-签到
83 msgData.setRemarks("remark");
84 msgData.setMemberId(20592L);
85 // 1:大屏;2:小屏(微信)3.小屏(xx)
86 msgData.setDeviceType(1);
87 msgData.setAppCode("WEI_XIN_GOLD_PANDA");
88 dataSyncMsg.setMsg(msgData);
89 String s = JSON.toJSONString(dataSyncMsg);
90 TaskOperationQueryCriteria pointsQueryCriteria = new TaskOperationQueryCriteria();
91 pointsQueryCriteria.setContent(s);
92 String s1 = JSON.toJSONString(pointsQueryCriteria);
93 System.out.println(s1);*/
94 String s = "{\"eventType\":\"PLAY\",\"msg\":{\"description\":\"{\\\"playDuration\\\":60,\\\"time\\\":\\\"2022-04-01 00:10:09\\\",\\\"mediaId\\\":3433,\\\"mediaCode\\\":\\\"media_123\\\",\\\"mediaName\\\":\\\"白宫陷落\\\"}\",\"deviceType\":1,\"event\":8,\"memberCode\":\"1511275342935937024\",\"param\":\"{\\\"playDuration\\\":60}\"}}";
49 TaskOperationQueryCriteria pointsQueryCriteria = new TaskOperationQueryCriteria(); 95 TaskOperationQueryCriteria pointsQueryCriteria = new TaskOperationQueryCriteria();
50 pointsQueryCriteria.setContent(s); 96 pointsQueryCriteria.setContent(s);
51 String s1 = JSON.toJSONString(pointsQueryCriteria); 97 String s1 = JSON.toJSONString(pointsQueryCriteria);
......