记得上下班打卡 | git大法好,push需谨慎

Commit 747ce72e authored by anjiabin's avatar anjiabin

提交chime社交相关

parent 08c87643
......@@ -24,9 +24,7 @@ public class ChimeUserInfoDto {
@ApiModelProperty(position = 2, value = "性别")
private String sex;
@ApiModelProperty(position = 2, value = "用户昵称")
private String userName;
@ApiModelProperty(position = 3, value = "用户手机号")
private String userMobile;
private String nickName;
@ApiModelProperty(position = 4, value = "头像")
private String avatar;
@ApiModelProperty(position = 4, value = "封面")
......
......@@ -17,10 +17,8 @@ import lombok.Data;
public class ChimeUserRegisterReqDto {
@ApiModelProperty(position = 0, value = "用户id", example = "")
private String userId;
private String nickName;
private String sex;
private String tags;
private String performanceId;
@Override
public String toString(){
......
package com.liquidnet.service.chime.dto;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -18,9 +17,6 @@ import lombok.Data;
@Data
public class ChimeUserTagDto {
private static final long serialVersionUID = 5325511589667456214L;
@ApiModelProperty(position = 0, value = "用户ID[64]")
@JsonIgnore
private String userId;
@ApiModelProperty(position = 1, value = "标签code")
private String tagCode;
@ApiModelProperty(position = 2, value = "标签描述")
......
......@@ -17,7 +17,6 @@ import lombok.Data;
public class ChimeUserUpdateReqDto {
@ApiModelProperty(position = 0, value = "用户id", example = "")
private String userId;
private String nickName;
private String sex;
private String tags;
......
package com.liquidnet.service.chime.service;
import com.alibaba.fastjson.JSONObject;
import com.liquidnet.service.chime.dto.ChimeUserInfoDto;
import com.liquidnet.service.chime.dto.ChimeUserRegisterReqDto;
import com.liquidnet.service.chime.dto.ChimeUserUpdateReqDto;
......@@ -15,12 +14,6 @@ import com.liquidnet.service.chime.dto.ChimeUserUpdateReqDto;
* @date 2021/9/8 16:14
*/
public interface IChimeUserService {
/**
* 社交用户注册
* @param reqDto
* @return
*/
JSONObject register(ChimeUserRegisterReqDto reqDto);
ChimeUserInfoDto createChimeUserInfo(ChimeUserRegisterReqDto reqDto);
......
......@@ -24,20 +24,10 @@ public class ChimeUserInfoVo {
private String userId;
@ApiModelProperty(position = 1, value = "性别")
private String sex;
@ApiModelProperty(position = 2, value = "用户昵称")
private String userName;
@ApiModelProperty(position = 3, value = "用户手机号")
private String userMobile;
@ApiModelProperty(position = 4, value = "头像")
private String avatar;
@ApiModelProperty(position = 5, value = "生日")
private String birthday;
@ApiModelProperty(position = 6, value = "签名")
private String signature;
@ApiModelProperty(position = 7, value = "常住地/区域")
private String area;
@ApiModelProperty(position = 8, value = "在场ID")
private String joinPerformanceId;
@ApiModelProperty(position = 8, value = "是否在场")
private Boolean isOnLine;
@ApiModelProperty(position = 9,value = "用户标签")
private List<ChimeUserTagsMappingVo> userTagsVoList;
......
......@@ -17,8 +17,6 @@ import lombok.Data;
@Data
public class ChimeUserTagsMappingVo {
private static final long serialVersionUID = 5325511589667456214L;
@ApiModelProperty(position = 0, value = "用户ID[64]")
private String userId;
@ApiModelProperty(position = 1, value = "标签code")
private String tagCode;
@ApiModelProperty(position = 2, value = "标签描述")
......
......@@ -3,14 +3,18 @@ package com.liquidnet.service.chime.biz;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.liquidnet.commons.lang.util.BeanUtil;
import com.liquidnet.commons.lang.util.StringUtil;
import com.liquidnet.service.adam.dto.rsc.AdamChimeUinfoDto;
import com.liquidnet.service.adam.dto.rsc.AdamChimeUinfoReq;
import com.liquidnet.service.adam.dto.vo.AdamTagVo;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.chime.dto.ChimeJoinUserCountDto;
import com.liquidnet.service.chime.dto.ChimeUserTagDto;
import com.liquidnet.service.chime.dto.PerformanceDto;
import com.liquidnet.service.chime.utils.DataUtils;
import com.liquidnet.service.chime.utils.ObjectUtil;
import com.liquidnet.service.chime.vo.mongo.ChimeUserTagsMappingVo;
import com.liquidnet.service.feign.adam.api.FeignAdamBaseClient;
import com.liquidnet.service.feign.kylin.api.FeignKylinForChimeClient;
import com.liquidnet.service.kylin.constant.KylinPerformanceStatusEnum;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo;
......@@ -19,6 +23,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
......@@ -39,6 +44,9 @@ public class ChimeUserBiz {
@Autowired
private FeignKylinForChimeClient feignKylinForChimeClient;
@Autowired
private FeignAdamBaseClient feignAdamBaseClient;
/**
* Json转换list
* @param tags
......@@ -57,8 +65,6 @@ public class ChimeUserBiz {
return null;
}
}
//设置用户id
userTagList.stream().forEach(vo -> vo.setUserId(userId));
return userTagList;
}
......@@ -68,12 +74,12 @@ public class ChimeUserBiz {
* @return
*/
public List<ChimeUserTagDto> buildUserTagDtoList(String userId, String tags){
List<ChimeUserTagsMappingVo> userTagVoList = new ArrayList<>();
List<ChimeUserTagDto> userTagDtoList = new ArrayList<>();
List<AdamTagVo> userTagVoList = ObjectUtil.getAdamTagVoArrayList();
List<ChimeUserTagDto> userTagDtoList = ObjectUtil.getChimeUserTagDtoList();
if(StringUtil.isNotEmpty(tags)){
ObjectMapper mapper = new ObjectMapper();
try {
userTagVoList = mapper.readValue(tags, new TypeReference<List<ChimeUserTagsMappingVo>>() {});
userTagVoList = mapper.readValue(tags, new TypeReference<List<AdamTagVo>>() {});
} catch (JsonProcessingException e) {
e.printStackTrace();
log.error("createChimeUserInfo msg:{}",e.getMessage());
......@@ -84,8 +90,8 @@ public class ChimeUserBiz {
//设置用户id
userTagVoList.parallelStream().forEach(vo -> {
ChimeUserTagDto userTagDto = ChimeUserTagDto.getNew();
vo.setUserId(userId);
BeanUtil.copy(vo,userTagDto);
userTagDto.setTagCode(vo.getVal());
userTagDto.setTagDesc(vo.getDesc());
userTagDtoList.add(userTagDto);
});
return userTagDtoList;
......@@ -171,4 +177,18 @@ public class ChimeUserBiz {
}
return isOnline;
}
public AdamChimeUinfoDto getAdamUserInfoDto(String userId){
List<AdamChimeUinfoDto> userInfoDtoList = this.getAdamUserInfoDtoList(Arrays.asList(new String[]{userId}));
if(StringUtil.isNotNull(userInfoDtoList)&&userInfoDtoList.size()>0){
return userInfoDtoList.get(0);
}
return null;
}
public List<AdamChimeUinfoDto> getAdamUserInfoDtoList(List<String> userIdList){
AdamChimeUinfoReq adamChimeUinfoReq = new AdamChimeUinfoReq();
adamChimeUinfoReq.setUid(userIdList);
ResponseDto<List<AdamChimeUinfoDto>> responseDto = feignAdamBaseClient.queryForChimeUserInfo(adamChimeUinfoReq);
return responseDto.getData();
}
}
......@@ -2,6 +2,8 @@ package com.liquidnet.service.chime.service.impl;
import com.liquidnet.commons.lang.util.BeanUtil;
import com.liquidnet.commons.lang.util.StringUtil;
import com.liquidnet.service.adam.dto.rsc.AdamChimeUinfoDto;
import com.liquidnet.service.chime.biz.ChimeUserBiz;
import com.liquidnet.service.chime.dto.ChimeUserInfoDto;
import com.liquidnet.service.chime.dto.ChimeUserListQueryReqDto;
import com.liquidnet.service.chime.dto.ChimeUserTagDto;
......@@ -22,6 +24,7 @@ import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
/**
* @author AnJiabin <anjiabin@zhengzai.tv>
......@@ -37,6 +40,9 @@ import java.util.List;
public class ChimePerformanceServiceImpl implements IChimePerformanceService {
@Autowired
private MongoTemplate mongoTemplate;
@Autowired
private ChimeUserBiz chimeUserBiz;
/**
* 用户关联查询
* @param reqDto
......@@ -89,10 +95,28 @@ public class ChimePerformanceServiceImpl implements IChimePerformanceService {
List<ChimeUserInfoDto> dtoList = new ArrayList<>();
startTime = System.currentTimeMillis();
//获取分页结果list中的userId
List<String> userIdList = chimeUserInfoVoList.stream().map(ChimeUserInfoVo::getUserId).collect(Collectors.toList());
//批量获取用户信息
List<AdamChimeUinfoDto> adamChimeUinfoDtoList = chimeUserBiz.getAdamUserInfoDtoList(userIdList);
for (ChimeUserInfoVo item : chimeUserInfoVoList) {
ChimeUserInfoDto dto = ChimeUserInfoDto.getNew();
BeanUtil.copy(item,dto);
dto.setPassWord("123456");
//补充用户信息
if(StringUtil.isNotNull(adamChimeUinfoDtoList)&&adamChimeUinfoDtoList.size()>0){
adamChimeUinfoDtoList.stream().forEach(userDto -> {
if(userDto.getUserId().equalsIgnoreCase(item.getUserId())){
dto.setNickName(userDto.getNickName());
dto.setAvatar(userDto.getAvatar());
dto.setUserCover(userDto.getUserCover());
dto.setBirthday(userDto.getBirthday());
dto.setSignature(userDto.getSignature());
dto.setArea(userDto.getArea());
}
});
}
//获取标签转换
List<ChimeUserTagsMappingVo> userTagsMappingVoList = item.getUserTagsVoList();
List<ChimeUserTagDto> userTagDtoList = ObjectUtil.getChimeUserTagDtoList();
......
package com.liquidnet.service.chime.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.common.third.easemob.util.EasemobUtil;
import com.liquidnet.commons.lang.util.BeanUtil;
import com.liquidnet.commons.lang.util.CurrentUtil;
import com.liquidnet.commons.lang.util.StringUtil;
import com.liquidnet.service.adam.constant.AdamRedisConst;
import com.liquidnet.service.adam.dto.vo.AdamUserInfoVo;
import com.liquidnet.service.chime.biz.ChimeUserBiz;
import com.liquidnet.service.chime.dto.ChimeUserInfoDto;
import com.liquidnet.service.chime.dto.ChimeUserRegisterReqDto;
......@@ -35,9 +31,6 @@ import java.util.List;
@Slf4j
@Service
public class ChimeUserServiceImpl implements IChimeUserService {
@Autowired
private EasemobUtil easemobUtil;
@Autowired
private DataUtils dataUtils;
......@@ -47,34 +40,20 @@ public class ChimeUserServiceImpl implements IChimeUserService {
@Autowired
private ChimeUserBiz chimeUserBiz;
@Override
public JSONObject register(ChimeUserRegisterReqDto reqDto) {
String result = easemobUtil.createUser(reqDto.getUserId(),"123456",reqDto.getNickName());
log.info("chime easemobUtil.createUser result:{}",result);
JSONObject jsonObject = JSONObject.parseObject(result);
return jsonObject;
}
@Override
public ChimeUserInfoDto createChimeUserInfo(ChimeUserRegisterReqDto reqDto) {
try {
String rk = AdamRedisConst.INFO_USER.concat(reqDto.getUserId());
AdamUserInfoVo vo = (AdamUserInfoVo) redisUtil.get(rk);
ChimeUserInfoDto chimeUserInfoDto = ChimeUserInfoDto.getNew();
chimeUserInfoDto.setUserId(reqDto.getUserId());
chimeUserInfoDto.setSex(reqDto.getSex());
chimeUserInfoDto.setUserName(vo.getUid());
chimeUserInfoDto.setUserMobile(vo.getMobile());
chimeUserInfoDto.setAvatar(vo.getAvatar());
chimeUserInfoDto.setJoinPerformanceId(reqDto.getPerformanceId());
chimeUserInfoDto.setBirthday(vo.getBirthday());
chimeUserInfoDto.setSignature(vo.getSignature());
chimeUserInfoDto.setArea(vo.getArea());
List<ChimeUserTagDto> userTagList = chimeUserBiz.buildUserTagDtoList(reqDto.getUserId(), reqDto.getTags());
chimeUserInfoDto.setUserTags(userTagList);
//插入mongo
dataUtils.createChimeUser(chimeUserInfoDto);
if(StringUtil.isNotNull(reqDto)){
chimeUserInfoDto.setUserId(reqDto.getUserId());
chimeUserInfoDto.setSex(reqDto.getSex());
chimeUserInfoDto.setJoinPerformanceId("-1");
List<ChimeUserTagDto> userTagList = chimeUserBiz.buildUserTagDtoList(reqDto.getUserId(), reqDto.getTags());
chimeUserInfoDto.setUserTags(userTagList);
//插入mongo
dataUtils.createChimeUser(chimeUserInfoDto);
}
return chimeUserInfoDto;
} catch (Exception e) {
log.error("创建社交用户异常 e:{}",e.getMessage());
......@@ -85,16 +64,11 @@ public class ChimeUserServiceImpl implements IChimeUserService {
@Override
public boolean updateUserInfo(ChimeUserUpdateReqDto reqDto) {
try {
String rk = AdamRedisConst.INFO_USER.concat(reqDto.getUserId());
AdamUserInfoVo vo = (AdamUserInfoVo) redisUtil.get(rk);
//插入userTagMapping
ChimeUserInfoVo chimeUserInfoVo = ChimeUserInfoVo.getNew();
BeanUtil.copy(reqDto,chimeUserInfoVo);
chimeUserInfoVo.setUserName(vo.getUid());
chimeUserInfoVo.setUserMobile(vo.getMobile());
chimeUserInfoVo.setAvatar(vo.getAvatar());
List<ChimeUserTagsMappingVo> userTagList = chimeUserBiz.buildUserTagVoList(reqDto.getUserId(),reqDto.getTags());
chimeUserInfoVo.setUserTagsVoList(userTagList);
chimeUserInfoVo.setSex(reqDto.getSex());
dataUtils.updateChimeUser(chimeUserInfoVo);
} catch (Exception e) {
e.printStackTrace();
......
package com.liquidnet.service.chime.utils;
import com.liquidnet.service.adam.dto.vo.AdamTagVo;
import com.liquidnet.service.chime.dto.ChimeUserInfoDto;
import com.liquidnet.service.chime.dto.ChimeUserTagDto;
import com.liquidnet.service.chime.dto.NewPageResult;
......@@ -9,6 +10,7 @@ import java.util.ArrayList;
public class ObjectUtil {
private static final NewPageResult<ChimeUserInfoDto> chimeUserInfoDtoPagedResult = new NewPageResult<>();
private static final ArrayList<ChimeUserTagDto> chimeUserTagDtoList = new ArrayList<>();
private static final ArrayList<AdamTagVo> adamTagVoArrayList = new ArrayList<>();
public static NewPageResult<ChimeUserInfoDto> getChimeUserInfoDtoPagedResult() {
return chimeUserInfoDtoPagedResult.clone();
}
......@@ -16,4 +18,8 @@ public class ObjectUtil {
public static ArrayList<ChimeUserTagDto> getChimeUserTagDtoList() {
return (ArrayList<ChimeUserTagDto>)chimeUserTagDtoList.clone();
}
public static ArrayList<AdamTagVo> getAdamTagVoArrayList() {
return (ArrayList<AdamTagVo>)adamTagVoArrayList.clone();
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment