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

Commit 7e1dcbb9 authored by anjiabin's avatar anjiabin

提交chime社交相关

parent 0e05de95
......@@ -31,7 +31,13 @@ public class ChimeUserInfoDto {
private String avatar;
@ApiModelProperty(position = 4, value = "封面")
private String userCover;
@ApiModelProperty(position = 5, value = "在场ID")
@ApiModelProperty(position = 6, value = "生日")
private String birthday;
@ApiModelProperty(position = 7, value = "签名")
private String signature;
@ApiModelProperty(position = 8, value = "常住地/区域")
private String area;
@ApiModelProperty(position = 9, value = "在场ID")
private String joinPerformanceId;
@ApiModelProperty(position = 5, value = "用户标签")
private List<ChimeUserTagDto> userTags;
......
package com.liquidnet.service.chime.dto;
import com.liquidnet.commons.lang.util.JsonUtils;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author AnJiabin <anjiabin@zhengzai.tv>
* @version V1.0
* @Description: TODO
* @class: ChimeUserRegisterReqDto
* @Package com.liquidnet.service.chime.dto
* @Copyright: LightNet @ Copyright (c) 2021
* @date 2021/9/8 16:11
*/
@Data
public class ChimeUserUpdateReqDto {
@ApiModelProperty(position = 0, value = "用户id", example = "")
private String userId;
private String nickName;
private String sex;
private String tags;
@Override
public String toString(){
return JsonUtils.toJson(this);
}
private static final ChimeUserUpdateReqDto obj = new ChimeUserUpdateReqDto();
public static ChimeUserUpdateReqDto getNew() {
try {
return (ChimeUserUpdateReqDto) obj.clone();
} catch (CloneNotSupportedException e) {
return new ChimeUserUpdateReqDto();
}
}
}
......@@ -3,6 +3,7 @@ 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;
/**
* @author AnJiabin <anjiabin@zhengzai.tv>
......@@ -23,7 +24,9 @@ public interface IChimeUserService {
ChimeUserInfoDto createChimeUserInfo(ChimeUserRegisterReqDto reqDto);
boolean updateUserTags(String userId,String tags);
boolean updateUserInfo(ChimeUserUpdateReqDto reqDto);
boolean updateUserTags(ChimeUserUpdateReqDto reqDto);
ChimeUserInfoDto getUserByUserId(String userId);
......
......@@ -28,7 +28,13 @@ public class ChimeUserInfoVo {
private String userMobile;
@ApiModelProperty(position = 4, value = "头像")
private String avatar;
@ApiModelProperty(position = 5, value = "在场ID")
@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;
private static final ChimeUserInfoVo obj = new ChimeUserInfoVo();
......
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.StringUtil;
import com.liquidnet.service.chime.vo.mongo.ChimeUserTagsMappingVo;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.List;
/**
* @author AnJiabin <anjiabin@zhengzai.tv>
* @version V1.0
* @Description: TODO
* @class: ChimeUserBiz
* @Package com.liquidnet.service.chime.biz
* @Copyright: LightNet @ Copyright (c) 2021
* @date 2021/9/11 16:16
*/
@Slf4j
@Component
public class ChimeUserBiz {
/**
* Json转换list
* @param tags
* @return
*/
public List<ChimeUserTagsMappingVo> buildUserTagVoList(String userId,String tags){
List<ChimeUserTagsMappingVo> userTagList = new ArrayList<>();
if(StringUtil.isNotEmpty(tags)){
ObjectMapper mapper = new ObjectMapper();
try {
userTagList = mapper.readValue(tags, new TypeReference<List<ChimeUserTagsMappingVo>>() {});
} catch (JsonProcessingException e) {
e.printStackTrace();
log.error("createChimeUserInfo msg:{}",e.getMessage());
log.error("createChimeUserInfo error : ",e);
return null;
}
}
//设置用户id
userTagList.stream().forEach(vo -> vo.setUserId(userId));
return userTagList;
}
}
......@@ -7,6 +7,7 @@ import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.chime.dto.ChimeUserInfoDto;
import com.liquidnet.service.chime.dto.ChimeUserRegisterReqDto;
import com.liquidnet.service.chime.dto.ChimeUserRegisterRespDto;
import com.liquidnet.service.chime.dto.ChimeUserUpdateReqDto;
import com.liquidnet.service.chime.service.IChimeUserService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
......@@ -77,16 +78,28 @@ public class ChimeUserController {
}
@ApiOperationSupport(order = 5)
@ApiOperation(value = "用户兴趣标签修改同步")
@ApiOperation(value = "用户信息修改同步")
@ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "userId", value = "用户id"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "nickname", value = "昵称"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "sex", value = "性别"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "tags", value = "兴趣标签(多个用逗号隔开)")
})
@PostMapping(value = {"updateUserTags"})
public ResponseDto<Boolean> updateUserTags(@RequestParam @Validated String userId
, @RequestParam @Validated String nickname
, @RequestParam @Validated String sex
, @RequestParam @Validated String tags
) {
boolean rs = chimeUserService.updateUserTags(userId,tags);
ChimeUserUpdateReqDto reqDto = ChimeUserUpdateReqDto.getNew();
reqDto.setUserId(userId);
reqDto.setNickName(nickname);
reqDto.setSex(sex);
reqDto.setTags(tags);
//更新用户信息
chimeUserService.updateUserInfo(reqDto);
//更新标签
boolean rs = chimeUserService.updateUserTags(reqDto);
return ResponseDto.success(rs);
}
......
......@@ -56,8 +56,6 @@ public class ChimePerformanceServiceImpl implements IChimePerformanceService{
// 排序 分页
Pageable pageable = PageRequest.of(pageNum, pageSize, Sort.by(Sort.Direction.DESC, "userId"));
//条件
Criteria criteria = Criteria.where("joinPerformanceId").is(reqDto.getPerformanceId());
//关联表
LookupOperation lookupToLots = LookupOperation.newLookup().
......@@ -65,11 +63,17 @@ public class ChimePerformanceServiceImpl implements IChimePerformanceService{
localField("userId").//关联字段
foreignField("userId").//主表关联字段对应的次表字段
as("userTag");//查询结果集合名
//条件
Criteria criteria = Criteria.where("joinPerformanceId").is(reqDto.getPerformanceId());
if(StringUtil.isNotEmpty(reqDto.getTags())){
criteria = criteria.and("userTag.tagCode").in(Arrays.asList(reqDto.getTags().split(",")));
}
if(StringUtil.isNotEmpty(reqDto.getSex())){
criteria = criteria.and("sex").is(reqDto.getSex());
}
AggregationOperation matchToLots = Aggregation.match(criteria);
ProjectionOperation project = Aggregation.project("mid","userId","sex","avatar","joinPerformanceId","userTag.tagCode","userTag.tagDesc");
ProjectionOperation project = Aggregation.project("mid","userId","sex","avatar","joinPerformanceId");
// if (!reqDto.getPerformanceId().isEmpty()) {
// criteria.and("title").regex(".*?\\" + reqDto.getTitle());
// }
......
......@@ -8,9 +8,10 @@ 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.constant.ChimeConstant;
import com.liquidnet.service.chime.biz.ChimeUserBiz;
import com.liquidnet.service.chime.dto.ChimeUserInfoDto;
import com.liquidnet.service.chime.dto.ChimeUserRegisterReqDto;
import com.liquidnet.service.chime.dto.ChimeUserUpdateReqDto;
import com.liquidnet.service.chime.service.IChimeUserService;
import com.liquidnet.service.chime.utils.DataUtils;
import com.liquidnet.service.chime.vo.mongo.ChimeUserInfoVo;
......@@ -19,8 +20,6 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
......@@ -44,6 +43,9 @@ public class ChimeUserServiceImpl implements IChimeUserService {
@Autowired
private RedisUtil redisUtil;
@Autowired
private ChimeUserBiz chimeUserBiz;
@Override
public JSONObject register(ChimeUserRegisterReqDto reqDto) {
String result = easemobUtil.createUser(reqDto.getUserId(),"123456",reqDto.getNickName());
......@@ -54,73 +56,56 @@ public class ChimeUserServiceImpl implements IChimeUserService {
@Override
public ChimeUserInfoDto createChimeUserInfo(ChimeUserRegisterReqDto reqDto) {
String rk = AdamRedisConst.INFO_USER.concat(CurrentUtil.getCurrentUid());
String rk = AdamRedisConst.INFO_USER.concat(reqDto.getUserId());
AdamUserInfoVo vo = (AdamUserInfoVo) redisUtil.get(rk);
ChimeUserInfoVo chimeUserInfoVo = ChimeUserInfoVo.getNew();
chimeUserInfoVo.setMid(ChimeConstant.getNewUserId());
chimeUserInfoVo.setUserId(reqDto.getUserId());
if(StringUtil.isNotNull(vo.getSex())){
chimeUserInfoVo.setSex(vo.getSex().getDesc());
}else{
chimeUserInfoVo.setSex("");
}
chimeUserInfoVo.setUserName(vo.getUid());
chimeUserInfoVo.setUserMobile(vo.getMobile());
chimeUserInfoVo.setAvatar(vo.getAvatar());
chimeUserInfoVo.setJoinPerformanceId(reqDto.getPerformanceId());
//
// AdamTagVo sex = vo.getSex();
// if (null == sex) {
// return ResponseDto.failure(ErrorMapping.get("10011"));
// }
// if (null != sex) {
// String sexVal = sex.getVal();
// List<AdamTagVo> allSexTagVos = this.getTagsForSex().getData();
// Optional<AdamTagVo> existSexTagVoOptional = allSexTagVos.stream().filter(r -> r.getVal().equals(sexVal)).findAny();
// if (!existSexTagVoOptional.isPresent()) {
// // 已选中的性别标签不在系统性别标签库中
// return ResponseDto.failure(ErrorMapping.get("10011"));
// }
// sex = existSexTagVoOptional.get();
// }
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());
//插入mongo
dataUtils.createChimeUser(chimeUserInfoVo);
dataUtils.createChimeUser(chimeUserInfoDto);
//插入userTagMapping
List<ChimeUserTagsMappingVo> userTagList = new ArrayList<>();
if(StringUtil.isNotEmpty(reqDto.getTags())){
List<String> list = Arrays.asList(reqDto.getTags().split(","));
for(String tagCode:list){
ChimeUserTagsMappingVo tempvo = ChimeUserTagsMappingVo.getNew();
tempvo.setUserId(reqDto.getUserId());
tempvo.setTagCode(tagCode);
tempvo.setTagDesc("描述"+tagCode);
userTagList.add(tempvo);
}
}
List<ChimeUserTagsMappingVo> userTagList = chimeUserBiz.buildUserTagVoList(reqDto.getUserId(),reqDto.getTags());
dataUtils.createUserTagMapping(userTagList);
return null;
}
@Override
public boolean updateUserTags(String userId,String tags) {
public boolean updateUserInfo(ChimeUserUpdateReqDto reqDto) {
try {
String rk = AdamRedisConst.INFO_USER.concat(reqDto.getUserId());
AdamUserInfoVo vo = (AdamUserInfoVo) redisUtil.get(rk);
//插入userTagMapping
List<ChimeUserTagsMappingVo> userTagList = new ArrayList<>();
if(StringUtil.isNotEmpty(tags)){
List<String> list = Arrays.asList(tags.split(","));
for(String tagCode:list){
ChimeUserTagsMappingVo tempvo = ChimeUserTagsMappingVo.getNew();
tempvo.setUserId(userId);
tempvo.setTagCode(tagCode);
tempvo.setTagDesc("描述"+tagCode);
userTagList.add(tempvo);
ChimeUserInfoVo chimeUserInfoVo = ChimeUserInfoVo.getNew();
BeanUtil.copy(reqDto,chimeUserInfoVo);
chimeUserInfoVo.setUserName(vo.getUid());
chimeUserInfoVo.setUserMobile(vo.getMobile());
chimeUserInfoVo.setAvatar(vo.getAvatar());
dataUtils.updateChimeUser(chimeUserInfoVo);
} catch (Exception e) {
e.printStackTrace();
log.error("updateUserInfo error msg:{}",e.getMessage());
log.error("updateUserInfo error info:{}",e);
return false;
}
return true;
}
return dataUtils.updateUserTagMapping(userId,userTagList);
@Override
public boolean updateUserTags(ChimeUserUpdateReqDto reqDto) {
//插入userTagMapping
List<ChimeUserTagsMappingVo> userTagList = chimeUserBiz.buildUserTagVoList(reqDto.getUserId(),reqDto.getTags());
return dataUtils.updateUserTagMapping(reqDto.getUserId(),userTagList);
}
@Override
......
package com.liquidnet.service.chime.utils;
import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.util.BeanUtil;
import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.chime.constant.ChimeConstant;
import com.liquidnet.service.chime.dto.ChimeUserInfoDto;
import com.liquidnet.service.chime.dto.ChimeUserTagDto;
import com.liquidnet.service.chime.vo.mongo.ChimeUserInfoVo;
import com.liquidnet.service.chime.vo.mongo.ChimeUserTagsMappingVo;
......@@ -33,9 +36,12 @@ public class DataUtils {
/**
* 注册社交用户
* @param chimeUserInfoVo
* @param chimeUserInfoDto
*/
public void createChimeUser(ChimeUserInfoVo chimeUserInfoVo){
public void createChimeUser(ChimeUserInfoDto chimeUserInfoDto){
ChimeUserInfoVo chimeUserInfoVo = ChimeUserInfoVo.getNew();
BeanUtil.copy(chimeUserInfoDto,chimeUserInfoVo);
chimeUserInfoVo.setMid(ChimeConstant.getNewUserId());
mongoTemplate.save(chimeUserInfoVo,ChimeUserInfoVo.class.getSimpleName());
}
......
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