Commit 0642873b 0642873bb72a64d9bb83dcc81d94bfb60fbe2f33 by xianghan

1.优化

1 parent 5ac353c1
......@@ -25,9 +25,6 @@ public class DataSyncMsg implements Serializable {
// 其他属性
private String extraData;
/** 模板参数 */
private TaskTemplateParam param;
/**
* 消息体
*/
......@@ -55,14 +52,4 @@ public class DataSyncMsg implements Serializable {
private String description;
}
@Data
@AllArgsConstructor
@NoArgsConstructor
public static class TaskTemplateParam {
/** 类别 */
private String category;
/** 编码 */
private String code;
}
}
......
......@@ -53,14 +53,4 @@ public class MemberProfileController {
MemberProfileDTO memberProfileDTO = this.memberProfileOperationService.updateMemberProfileAndMember(resources);
return ResultInfo.success(memberProfileDTO);
}
@Log("修改会员属性并同步会员信息")
@PutMapping
@ApiOperation("修改会员属性并同步会员信息")
@AnonymousAccess
public ResultInfo updateMemberProfileAndMember_(@Validated @RequestBody MemberProfile resources) {
log.info("MemberProfileServiceImpl ==>> update ==>> resources ===>> [{}]",resources);
MemberProfileDTO memberProfileDTO = this.memberProfileOperationService.updateMemberProfileAndMember(resources);
return ResultInfo.success(memberProfileDTO);
}
}
......
......@@ -118,10 +118,10 @@ public class MemberProfileServiceImpl implements MemberProfileService {
// 检查会员是否存在
this.checkMember(resources);
// 真实姓名(加密)
String realName = resources.getRealname();
/*String realName = resources.getRealname();
if (StringUtils.isNotBlank(realName)) {
resources.setRealname(Base64Util.encode(realName));
}
}*/
MemberProfile memberProfile = new MemberProfile();
BeanUtils.copyProperties(resources,memberProfile);
......
......@@ -6,5 +6,9 @@ public interface TaskTemplateType {
int TYPE_2 = 2;
int TYPE_3 = 3;
int TYPE_4 = 4;
// 签到
int TYPE_6 = 6;
// 播放记录
int TYPE_8 = 8;
}
......
package com.topdraw.business.process.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.topdraw.business.module.coupon.service.CouponService;
......@@ -32,11 +31,9 @@ import com.topdraw.business.module.task.template.domain.TaskTemplate;
import com.topdraw.business.module.task.template.service.TaskTemplateService;
import com.topdraw.business.process.domian.*;
import com.topdraw.business.process.service.UserOperationService;
import com.topdraw.business.process.service.dto.TaskOperationQueryCriteria;
import com.topdraw.common.ResultInfo;
import com.topdraw.exception.BadRequestException;
import com.topdraw.module.mq.DataSyncMsg;
import com.topdraw.module.mq.EventType;
import com.topdraw.util.*;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
......@@ -96,35 +93,6 @@ public class TaskOperationServiceImpl implements TaskOperationService {
private static final Integer POINTS_MIN = 1;
public static void main(String[] args) {
/*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}\\\"}}";
TaskOperationQueryCriteria pointsQueryCriteria = new TaskOperationQueryCriteria();
pointsQueryCriteria.setContent(s);
String s1 = JSON.toJSONString(pointsQueryCriteria);
DataSyncMsg dataSyncMsg = JSONUtil.parseMsg2Object(s1, DataSyncMsg.class);
System.out.println(dataSyncMsg);*/
DataSyncMsg dataSyncMsg = new DataSyncMsg();
dataSyncMsg.setEventType(EventType.PLAY.name());
DataSyncMsg.MsgData msgData = new DataSyncMsg.MsgData();
msgData.setEvent(8); // 类型 1-登录 2-观影 3-参加活动 4-订购 5-优享会员 6-签到
msgData.setMemberCode("1511275342935937024");
// 1:大屏;2:小屏(微信)3.小屏(xx)
msgData.setDeviceType(1);
String param = "{\"playDuration\":60}";
msgData.setParam(param);
String des = "{\"playDuration\":60,\"time\":\"2022-04-01 00:10:09\",\"mediaId\":3433,\"mediaCode\":\"media_123\",\"mediaName\":\"白宫陷落\"}";
msgData.setDescription(des);
dataSyncMsg.setMsg(msgData);
String a = JSON.toJSONString(dataSyncMsg);
TaskOperationQueryCriteria pointsQueryCriteria = new TaskOperationQueryCriteria();
pointsQueryCriteria.setContent(a);
String s1 = JSON.toJSONString(pointsQueryCriteria);
System.out.println(s1);
DataSyncMsg dataSyncMsg1 = JSONUtil.parseMsg2Object(s1, DataSyncMsg.class);
System.out.println(dataSyncMsg1);
}
@Override
public ResultInfo dealTask(String content) {
......@@ -490,7 +458,7 @@ public class TaskOperationServiceImpl implements TaskOperationService {
TempExp tempExp = new TempExp();
tempExp.setMemberId(memberId);
tempExp.setAppCode(msgData.getAppCode());
tempExp.setMemberId(msgData.getMemberId());
tempExp.setMemberId(memberId);
tempExp.setMemberCode(msgData.getMemberCode());
tempExp.setItemId(msgData.getItemId());
tempExp.setAccountId(msgData.getAccountId());
......@@ -747,6 +715,15 @@ public class TaskOperationServiceImpl implements TaskOperationService {
Objects.nonNull(completionTime1) &&
completionTime1.toLocalDateTime().toLocalDate().compareTo(LocalDate.now()) == 0) {
// 任务重复类型
Integer taskDailyReset = task.getTaskDailyReset();
if (taskDailyReset == -1) {
return true;
} else if (currentActionAmount_ < taskDailyReset){
return true;
}
return false;
// 未做,成功
......@@ -806,10 +783,7 @@ public class TaskOperationServiceImpl implements TaskOperationService {
// 更新任务完成情况
this.doRefreshTrTaskProcess(trTaskProgress);
// 行为量达标
if (currentActionAmount.compareTo(actionAmount) == 0) {
return true;
}
return true;
}
return false;
......@@ -853,7 +827,7 @@ public class TaskOperationServiceImpl implements TaskOperationService {
if (Objects.nonNull(msgData.getParam())) {
String param = msgData.getParam();
Map<String,String> jsonObjectMap = JSONObject.parseObject(param,Map.class);
Map<String,String> jsonObjectMap = JSONObject.parseObject(param, Map.class);
Collection<String> values = jsonObjectMap.values();
for (Task task : taskList) {
......@@ -882,12 +856,45 @@ public class TaskOperationServiceImpl implements TaskOperationService {
taskList1.add(task);
break;
// 参加活动
case TaskTemplateType.TYPE_3:
String activityCode = values_0.get(0).toString();
String activityCode_ = values.toArray()[0].toString();
if (activityCode_.equalsIgnoreCase(activityCode)) {
taskList1.add(task);
}
break;
// 订购
case TaskTemplateType.TYPE_4:
if (values_0.containsAll(values))
taskList1.add(task);
break;
// 签到
case TaskTemplateType.TYPE_6:
Integer sign0 = (Integer)values_0.get(0);
Integer sign1 = (Integer)values_0.get(1);
List<Integer> signi0List = Arrays.asList(sign0, sign1);
String signs0 = values.toArray()[0].toString();
Integer signi0 = Integer.valueOf(signs0);
boolean signb0 = UcListUtils.compareIntegerList(signi0, signi0List);
if (signb0)
taskList1.add(task);
break;
// 播放记录
case TaskTemplateType.TYPE_8:
Integer play0 = (Integer)values_0.get(0);
Integer play1 = (Integer)values_0.get(1);
List<Integer> playList = Arrays.asList(play0, play1);
String s0 = values.toArray()[0].toString();
Integer i0 = Integer.valueOf(s0);
boolean b0 = UcListUtils.compareIntegerList(i0, playList);
if (b0)
taskList1.add(task);
break;
default:
break;
}
......@@ -969,11 +976,17 @@ public class TaskOperationServiceImpl implements TaskOperationService {
String templateParams = taskTemplate.getParams();
if(StringUtils.hasText(templateParams)) {
String templateParamsUpperCase = templateParams.toUpperCase();
boolean b = jsonObject.containsKey(templateParamsUpperCase);
if (b)
return taskTemplate;
Set<String> keySet = jsonObject.keySet();
for (String key : keySet) {
String s = key.toUpperCase();
if (s.equals(templateParamsUpperCase)) {
return taskTemplate;
}
continue;
}
}
}
}
}
......
......@@ -146,19 +146,19 @@ public class MemberOperationServiceImpl implements MemberOperationService {
return Objects.nonNull(memberId) ? memberDTO : null;
}
@CachePut(key = "#resources.id")
// @CachePut(key = "#resources.id")
@Override
public MemberDTO doUpdateMemberExp(Member resources) {
return this.update(resources);
}
@CachePut(key = "#resources.id")
// @CachePut(key = "#resources.id")
@Override
public MemberDTO doUpdateMemberPoints(Member resources) {
return this.memberService.doUpdateMemberPoints(resources);
}
@CachePut(key = "#resources.id")
// @CachePut(key = "#resources.id")
@Override
public MemberDTO doUpdateMemberCoupon(Member member) {
return this.update(member);
......
......@@ -18,7 +18,7 @@ public class TaskOperationControllerTest extends BaseTest {
TaskOperationController taskOperationController;
@Test
public void dealTask() {
public void activity() {
try {
/* DataSyncMsg dataSyncMsg = new DataSyncMsg();
dataSyncMsg.setEventType(EventType.VIEWING.name());
......@@ -35,17 +35,63 @@ public class TaskOperationControllerTest extends BaseTest {
pointsQueryCriteria.setContent(s);
String s1 = JSON.toJSONString(pointsQueryCriteria);
System.out.println(s1);*/
String s = "{\n" +
" \"eventType\": \"play\",\n" +
" \"msg\": {\n" +
" \"description\": \"{\\\"playDuration\\\":60,\\\"time\\\":\\\"2022-04-01 00:10:09\\\",\\\"mediaId\\\":3433,\\\"mediaCode\\\":\\\"media_123\\\",\\\"mediaName\\\":\\\"白宫陷落\\\"}\",\n" +
" \"deviceType\": 1,\n" +
" \"event\": 8,\n" +
" \"mediaId\": 3433,\n" +
" \"memberCode\": \"1511275342935937024\",\n" +
" \"param\":\\\"{\\\"playDuration\\\":60}\\\"\n" +
" }\n" +
"}";
String s = "{\"eventType\":\"ACTIVITY\",\"msg\":{\"deviceType\":1,\"event\":3,\"memberCode\":\"1511275342935937024\",\"param\":\"{\\\"ACTIVITY_CODE\\\":3}\"}}";
TaskOperationQueryCriteria pointsQueryCriteria = new TaskOperationQueryCriteria();
pointsQueryCriteria.setContent(s);
String s1 = JSON.toJSONString(pointsQueryCriteria);
this.taskOperationController.dealTask(pointsQueryCriteria);
} catch (Exception e) {
e.printStackTrace();
}
}
@Test
public void sign() {
try {
/* DataSyncMsg dataSyncMsg = new DataSyncMsg();
dataSyncMsg.setEventType(EventType.VIEWING.name());
DataSyncMsg.MsgData msgData = new DataSyncMsg.MsgData();
msgData.setEvent(2); // 类型 1-登录 2-观影 3-参加活动 4-订购 5-优享会员 6-签到
msgData.setRemarks("remark");
msgData.setMemberId(20592L);
// 1:大屏;2:小屏(微信)3.小屏(xx)
msgData.setDeviceType(1);
msgData.setAppCode("WEI_XIN_GOLD_PANDA");
dataSyncMsg.setMsg(msgData);
String s = JSON.toJSONString(dataSyncMsg);
TaskOperationQueryCriteria pointsQueryCriteria = new TaskOperationQueryCriteria();
pointsQueryCriteria.setContent(s);
String s1 = JSON.toJSONString(pointsQueryCriteria);
System.out.println(s1);*/
String s = "{\"eventType\":\"SIGN\",\"msg\":{\"deviceType\":1,\"event\":6,\"memberCode\":\"1511275342935937024\",\"param\":\"{\\\"SIGN\\\":3}\"}}";
TaskOperationQueryCriteria pointsQueryCriteria = new TaskOperationQueryCriteria();
pointsQueryCriteria.setContent(s);
String s1 = JSON.toJSONString(pointsQueryCriteria);
this.taskOperationController.dealTask(pointsQueryCriteria);
} catch (Exception e) {
e.printStackTrace();
}
}
@Test
public void play() {
try {
/* DataSyncMsg dataSyncMsg = new DataSyncMsg();
dataSyncMsg.setEventType(EventType.VIEWING.name());
DataSyncMsg.MsgData msgData = new DataSyncMsg.MsgData();
msgData.setEvent(2); // 类型 1-登录 2-观影 3-参加活动 4-订购 5-优享会员 6-签到
msgData.setRemarks("remark");
msgData.setMemberId(20592L);
// 1:大屏;2:小屏(微信)3.小屏(xx)
msgData.setDeviceType(1);
msgData.setAppCode("WEI_XIN_GOLD_PANDA");
dataSyncMsg.setMsg(msgData);
String s = JSON.toJSONString(dataSyncMsg);
TaskOperationQueryCriteria pointsQueryCriteria = new TaskOperationQueryCriteria();
pointsQueryCriteria.setContent(s);
String s1 = JSON.toJSONString(pointsQueryCriteria);
System.out.println(s1);*/
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}\"}}";
TaskOperationQueryCriteria pointsQueryCriteria = new TaskOperationQueryCriteria();
pointsQueryCriteria.setContent(s);
String s1 = JSON.toJSONString(pointsQueryCriteria);
......