Commit 2bf41a44 2bf41a448855911167d5b9130e68861b7eb3fd69 by xianghan

1.update

1 parent 99016a4c
......@@ -319,12 +319,13 @@ public class UserOperationServiceImpl implements UserOperationService {
String appid = userWeixinDTO.getAppid();
MemberDTO memberDTO = memberAndWeixinUserDTO.getMemberDTO();
UserWeixinDTO _userWeixinDTO = this.userWeixinService.findFirstByAppIdAndOpenId(appid, openid);
UserWeixinDTO _userWeixinDTO = this.userWeixinService.findFirstByUnionIdAndAppIdAndOpenId(unionid, appid, openid);
// 有账号
if (Objects.nonNull(_userWeixinDTO.getId())) {
UserWeixinDTO _userWeixinDTO0 = this.userWeixinService.findFirstByAppIdAndOpenId(appid, openid);
// 会员存在
if(Objects.nonNull(_userWeixinDTO.getMemberId())) {
if(Objects.nonNull(_userWeixinDTO0.getMemberId())) {
// 账号存在,修改账号和会员
this.updateWeixin(_userWeixinDTO, userWeixinDTO);
MemberDTO _memberDTO = this.memberService.findById(_userWeixinDTO.getMemberId());
......
......@@ -34,6 +34,7 @@ import org.springframework.stereotype.Component;
import java.io.IOException;
import java.text.ParseException;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.*;
@Component
......@@ -108,7 +109,7 @@ public class UcEventBusIptv2ManagementUcEngine {
*/
private void parseContent(String content) throws ParseException {
CommonMsg commonMsg = JSONUtil.parseMsg2Object(content, CommonMsg.class);
PlayContent commonMsg = JSONUtil.parseMsg2Object(content, PlayContent.class);
String evt = commonMsg.getEvt();
switch (evt.toUpperCase()) {
......@@ -116,7 +117,7 @@ public class UcEventBusIptv2ManagementUcEngine {
case "PLAY":
PlayContent playContent = JSONUtil.parseMsg2Object(content, PlayContent.class);
PlayContent.MsgData msgData = playContent.getMsgData();
PlayContent.MsgData msgData = playContent.getMsg();
if (Objects.nonNull(msgData)) {
String time = playContent.getTime();
String formatDate = DateUtil.formatDate(time);
......@@ -127,10 +128,13 @@ public class UcEventBusIptv2ManagementUcEngine {
Long mediaId = msgData.getMediaId();
String mediaName = msgData.getMediaName();
Integer playDuration = msgData.getPlayDuration();
if (Objects.isNull(playDuration) || playDuration == 0) {
return;
}
log.info("playDuration ==>> {}", playDuration);
DataSyncMsg dataSyncMsg = new DataSyncMsg();
dataSyncMsg.setEventType(evt);
dataSyncMsg.setEvt(evt);
DataSyncMsg.MsgData msg = new DataSyncMsg.MsgData();
Integer playDurationValueTotal = 0;
......@@ -164,18 +168,13 @@ public class UcEventBusIptv2ManagementUcEngine {
Integer totalKey = this.getRedisTotalKey(hmget);
Integer maxSize = totalKey + 1;
// DataSyncMsg dataSyncMsg1 =
this.checkTask(playDurationValueTotal, time, deviceType,
mediaCode, mediaId, mediaName, dataSyncMsg, msg, userTvDTO);
// if (Objects.nonNull(dataSyncMsg1)) {
Map<String, Object> map = new HashMap<>();
map.put(String.valueOf(maxSize), playDuration);
map.put("total", playDurationValueTotal);
this.redisUtils.hmset(key, map);
// }
}
}
......@@ -235,7 +234,10 @@ public class UcEventBusIptv2ManagementUcEngine {
if (playDurationValueTotal >= integer) {
dataSyncMsg1 = getDataSyncMsg(time, deviceType, mediaCode, mediaId, mediaName, integer, dataSyncMsg,
msgData, userTvDTO);
dataSyncMsg1.setEvt("PLAY");
dataSyncMsg1.setEvent(8);
dataSyncMsg1.setTime(LocalDateTime.now());
dataSyncMsg1.setDeviceType(1);
this.taskDeal(dataSyncMsg1);
}
......@@ -291,8 +293,8 @@ public class UcEventBusIptv2ManagementUcEngine {
msgData1.setMemberCode(memberCode);
msgData1.setEvent(8);
msgData1.setDeviceType(deviceType);
// msgData1.setEvent(8);
// msgData1.setDeviceType(deviceType);
msgData1.setMediaId(mediaId);
JSONObject param = new JSONObject();
......@@ -322,9 +324,10 @@ public class UcEventBusIptv2ManagementUcEngine {
@Data
static class PlayContent {
private String evt;
private Integer event;
private Integer deviceType;
private String time;
private MsgData msgData;
private MsgData msg;
@Data
static class MsgData {
......@@ -335,11 +338,4 @@ public class UcEventBusIptv2ManagementUcEngine {
private String mediaName;
}
}
@Data
static class CommonMsg {
private String evt;
private Integer deviceType;
private String time;
}
}
......
......@@ -3,6 +3,10 @@ package com.topdraw.mq.consumer;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.rabbitmq.client.Channel;
import com.topdraw.business.module.member.service.MemberService;
import com.topdraw.business.module.member.service.dto.MemberDTO;
import com.topdraw.business.module.user.iptv.service.UserTvService;
import com.topdraw.business.module.user.iptv.service.dto.UserTvDTO;
import com.topdraw.mq.domain.DataSyncMsg;
import com.topdraw.resttemplate.RestTemplateClient;
import com.topdraw.util.FileUtil;
......@@ -17,6 +21,7 @@ import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import org.springframework.util.Assert;
import javax.validation.constraints.NotNull;
import java.io.IOException;
import java.time.LocalDate;
import java.util.Map;
......@@ -32,6 +37,11 @@ public class UcGatewayIptv2IptvConsumer {
@Autowired
AutoRoute autoUser;
@Autowired
private MemberService memberService;
@Autowired
private UserTvService userTvService;
@Value("#{rabbitMqErrorLogConfig.getUcgError()}")
private Map<String, String> error;
......@@ -86,6 +96,27 @@ public class UcGatewayIptv2IptvConsumer {
DataSyncMsg dataSyncMsg = JSONUtil.parseMsg2Object(content,DataSyncMsg.class);
Assert.notNull(dataSyncMsg,"ERROR -->> operationConsumer -->> parseContent -->> 【dataSyncMsg】 not be null !!");
DataSyncMsg.MsgData msgData = dataSyncMsg.getMsg();
Long memberId = msgData.getMemberId();
String memberCode = msgData.getMemberCode();
if (Objects.nonNull(memberId) && StringUtils.isBlank(memberCode)) {
MemberDTO memberDTO = this.memberService.findById(memberId);
String code = memberDTO.getCode();
msgData.setMemberCode(code);
}
String platformAccount = msgData.getPlatformAccount();
if (StringUtils.isNotBlank(platformAccount)) {
UserTvDTO userTvDTO = userTvService.findByPlatformAccount(platformAccount);
if (Objects.nonNull(userTvDTO)) {
String priorityMemberCode = userTvDTO.getPriorityMemberCode();
if (StringUtils.isNotBlank(priorityMemberCode)) {
msgData.setMemberCode(priorityMemberCode);
} else {
MemberDTO memberDTO = this.memberService.findById(userTvDTO.getMemberId());
msgData.setMemberCode(memberDTO.getCode());
}
}
}
Assert.notNull(msgData,"ERROR -->> operationConsumer -->> parseContent -->> 【msgData】 not be null !!");
return dataSyncMsg;
}
......
......@@ -6,6 +6,7 @@ import lombok.NoArgsConstructor;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
*
......@@ -15,21 +16,18 @@ import java.io.Serializable;
@NoArgsConstructor
public class DataSyncMsg implements Serializable {
// 实体类型(表示需要修改的数据模型)
// @NotNull
// private EntityType entityType;
// 事件类型(用户的实际操作)
@NotNull
private String eventType;
private String evt;
// 具体事件 行为事件类型 1:登录;2:观影;3:参与活动;4:订购;10:跨屏绑定;11:积分转移;30:积分兑换商品;98:系统操作;99:其他
private Integer event;
//设备类型 1:大屏;2:小屏(微信)3.小屏(xx)
@NotNull
private Integer deviceType;
// 发送时间
private LocalDateTime time;
// 消息体
private MsgData msg;
// 其他属性
private String extraData;
/**
* 消息体
*/
......@@ -37,23 +35,16 @@ public class DataSyncMsg implements Serializable {
@AllArgsConstructor
@NoArgsConstructor
public static class MsgData {
private String remarks; //备注
@NotNull
private Integer event; // 具体事件 行为事件类型 1:登录;2:观影;3:参与活动;4:订购;10:跨屏绑定;11:积分转移;30:积分兑换商品;98:系统操作;99:其他
@NotNull
private Long memberId; // 会员id
@NotNull
private Integer deviceType; //设备类型 1:大屏;2:小屏(微信)3.小屏(xx)
@NotNull
private String appCode; //用户对应的应用code
private String memberCode;
private Long accountId; // 账号id
private Long orderId;
private Long activityId;
private Long mediaId;
private Long itemId;
private String param;
private String description;
private String param;
private String platformAccount;
}
}
......