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

Commit 43be65ff authored by anjiabin's avatar anjiabin

提交chime社交相关

parent ce55657f
......@@ -13,6 +13,12 @@ import com.liquidnet.commons.lang.util.IDGenerator;
*/
public class ChimeConstant {
public static String USER_ID_PREFIX = "CHE";
public static final String PREFIX = "chime:";
public static final String REDIS_CITY_NAME_ALLOW = PREFIX.concat("per:cityName:allow");
public static final String REDIS_CITY_NAME_NOT_ALLOW = PREFIX.concat("per:cityName:notAllow");
public static final String REDIS_PERFORMANCE_IDS_ALLOW = PREFIX.concat("per:performanceIds:allow");
public static final String REDIS_PERFORMANCE_IDS_NOT_ALLOW = PREFIX.concat("per:performanceIds:notAllow");
public static String getNewUserId(){
return USER_ID_PREFIX + IDGenerator.nextTimeId();
}
......
......@@ -3,12 +3,14 @@ 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;
......@@ -150,6 +152,7 @@ public class ChimeUserBiz {
// }
performanceDtoList.add(dto);
}
//
return performanceDtoList;
}
......@@ -240,4 +243,22 @@ public class ChimeUserBiz {
}
return rsSexDesc;
}
/**
* userTagMappingVo转换为dtoList
* @param userTagsMappingVoList
* @return
*/
public List<ChimeUserTagDto> buildUserTagDtoListFromVo(List<ChimeUserTagsMappingVo> userTagsMappingVoList){
//获取标签转换
List<ChimeUserTagDto> userTagDtoList = ObjectUtil.getChimeUserTagDtoList();
if(StringUtil.isNotNull(userTagsMappingVoList)){
userTagsMappingVoList.stream().forEach(chimeUserTagsMappingVo -> {
ChimeUserTagDto userTagDto = ChimeUserTagDto.getNew();
BeanUtil.copy(chimeUserTagsMappingVo,userTagDto);
userTagDtoList.add(userTagDto);
});
}
return userTagDtoList;
}
}
......@@ -3,6 +3,7 @@ package com.liquidnet.service.chime.controller;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.liquidnet.commons.lang.util.StringUtil;
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.ChimeUserUpdateReqDto;
import com.liquidnet.service.chime.service.IChimeUserService;
......@@ -14,10 +15,7 @@ import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
/**
* @author AnJiabin <anjiabin@zhengzai.tv>
......@@ -79,4 +77,15 @@ public class ChimeUserController {
}
return null;
}
@GetMapping("getUserByUserId")
@ApiOperation("查询单个用户信息")
@ApiImplicitParams({
@ApiImplicitParam(type = "query", dataType = "String", name = "userId", value = "用户ID", required = true)
})
public ResponseDto<ChimeUserInfoDto> getUserByUserId(
@RequestParam(defaultValue = "") String userId
) {
ChimeUserInfoDto userInfoDto = chimeUserService.getUserByUserId(userId);
return ResponseDto.success(userInfoDto);
}
}
package com.liquidnet.service.chime.service.impl;
import com.liquidnet.commons.lang.util.BeanUtil;
import com.liquidnet.commons.lang.util.CurrentUtil;
import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.commons.lang.util.StringUtil;
import com.liquidnet.service.adam.dto.rsc.AdamChimeUinfoDto;
......@@ -12,7 +13,6 @@ import com.liquidnet.service.chime.dto.NewPageResult;
import com.liquidnet.service.chime.service.IChimePerformanceService;
import com.liquidnet.service.chime.utils.ObjectUtil;
import com.liquidnet.service.chime.vo.mongo.ChimeUserInfoVo;
import com.liquidnet.service.chime.vo.mongo.ChimeUserTagsMappingVo;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.PageRequest;
......@@ -59,11 +59,17 @@ public class ChimePerformanceServiceImpl implements IChimePerformanceService {
//初始化分页
pagedResult.setPageSize(pageSize).setCurrentPage(pageNum+1);
//获取总数
Criteria criteria = Criteria.where("joinPerformanceId").is(reqDto.getPerformanceId());
//过滤本人 获取当前用户id
String userId = CurrentUtil.getCurrentUid();
if(StringUtil.isNotEmpty(userId)){
criteria = criteria.and("userId").ne(userId);
}
//过滤标签
if(StringUtil.isNotEmpty(reqDto.getTags())){
criteria = criteria.and("userTagsVoList.tagCode").in(Arrays.asList(reqDto.getTags().split(",")));
}
//过滤性别
if(StringUtil.isNotEmpty(reqDto.getSex())){
criteria = criteria.and("sex").is(reqDto.getSex());
}
......@@ -108,28 +114,20 @@ public class ChimePerformanceServiceImpl implements IChimePerformanceService {
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());
adamChimeUinfoDtoList.stream().forEach(adamUserDto -> {
if(adamUserDto.getUserId().equalsIgnoreCase(item.getUserId())){
dto.setNickName(adamUserDto.getNickName());
dto.setAvatar(adamUserDto.getAvatar());
dto.setUserCover(adamUserDto.getUserCover());
dto.setBirthday(adamUserDto.getBirthday());
dto.setSignature(adamUserDto.getSignature());
dto.setArea(adamUserDto.getArea());
}
});
}
//获取标签转换
List<ChimeUserTagsMappingVo> userTagsMappingVoList = item.getUserTagsVoList();
List<ChimeUserTagDto> userTagDtoList = ObjectUtil.getChimeUserTagDtoList();
if(StringUtil.isNotNull(userTagsMappingVoList)){
userTagsMappingVoList.stream().forEach(chimeUserTagsMappingVo -> {
ChimeUserTagDto userTagDto = ChimeUserTagDto.getNew();
BeanUtil.copy(chimeUserTagsMappingVo,userTagDto);
userTagDtoList.add(userTagDto);
});
}
List<ChimeUserTagDto> userTagDtoList = chimeUserBiz.buildUserTagDtoListFromVo(item.getUserTagsVoList());
dto.setUserTags(userTagDtoList);
dtoList.add(dto);
}
......
......@@ -4,9 +4,11 @@ import com.liquidnet.common.cache.redis.util.RedisUtil;
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.dto.rsc.AdamChimeUinfoDto;
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.ChimeUserTagDto;
import com.liquidnet.service.chime.dto.ChimeUserUpdateReqDto;
import com.liquidnet.service.chime.service.IChimeUserService;
import com.liquidnet.service.chime.utils.DataUtils;
......@@ -17,6 +19,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.Arrays;
import java.util.List;
/**
......@@ -92,13 +95,27 @@ public class ChimeUserServiceImpl implements IChimeUserService {
@Override
public ChimeUserInfoDto getUserByUserId(String userId) {
//获取分页结果list中的userId
List<String> userIdList = Arrays.asList(new String[]{userId});
//批量获取用户信息
List<AdamChimeUinfoDto> adamChimeUinfoDtoList = chimeUserBiz.getAdamUserInfoDtoList(userIdList);
ChimeUserInfoVo chimeUserInfoVo = dataUtils.getUserByUserId(userId);
if(StringUtil.isNotNull(chimeUserInfoVo)){
ChimeUserInfoDto chimeUserInfoDto = ChimeUserInfoDto.getNew();
BeanUtil.copy(chimeUserInfoVo,chimeUserInfoDto);
chimeUserInfoDto.setPassWord("123456");
// chimeUserInfoDto.setPassWord("123456");
if(adamChimeUinfoDtoList!=null&&adamChimeUinfoDtoList.size()>0){
AdamChimeUinfoDto adamChimeUinfoDto = adamChimeUinfoDtoList.get(0);
chimeUserInfoDto.setNickName(adamChimeUinfoDto.getNickName());
chimeUserInfoDto.setAvatar(adamChimeUinfoDto.getAvatar());
chimeUserInfoDto.setUserCover(adamChimeUinfoDto.getUserCover());
chimeUserInfoDto.setBirthday(adamChimeUinfoDto.getBirthday());
chimeUserInfoDto.setSignature(adamChimeUinfoDto.getSignature());
chimeUserInfoDto.setArea(adamChimeUinfoDto.getArea());
}
//获取标签
chimeUserInfoDto.setUserTags(dataUtils.getUserTagList(userId));
List<ChimeUserTagDto> userTagDtoList = chimeUserBiz.buildUserTagDtoListFromVo(chimeUserInfoVo.getUserTagsVoList());
chimeUserInfoDto.setUserTags(userTagDtoList);
return chimeUserInfoDto;
}
return null;
......
......@@ -6,7 +6,6 @@ import com.liquidnet.service.adam.dto.rsc.AdamChimeUinfoDto;
import com.liquidnet.service.chime.biz.ChimeUserBiz;
import com.liquidnet.service.chime.constant.ChimeConstant;
import com.liquidnet.service.chime.dto.ChimeJoinUserCountDto;
import com.liquidnet.service.chime.dto.ChimeUserTagDto;
import com.liquidnet.service.chime.vo.mongo.ChimeUserInfoVo;
import com.liquidnet.service.chime.vo.mongo.ChimeUserTagsMappingVo;
import com.mongodb.client.result.UpdateResult;
......@@ -103,16 +102,6 @@ public class DataUtils {
return chimeUserInfoVo;
}
/**
* 获取用户标签
* @param userId
* @return
*/
public List<ChimeUserTagDto> getUserTagList(String userId){
Query query= Query.query(Criteria.where("userId").is(userId));
return mongoTemplate.find(query, ChimeUserTagDto.class,ChimeUserTagsMappingVo.class.getSimpleName());
}
/**
* 根据演出idList获取在场人数和默认头像图片(最多获取5个url)
* @param performanceIdList
......
package com.liquidnet.service.chime.utils;
import com.liquidnet.common.cache.redis.util.RedisUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* @author AnJiabin <anjiabin@zhengzai.tv>
* @version V1.0
* @Description: TODO
* @class: RedisDataUtil
* @Package com.liquidnet.service.chime.utils
* @Copyright: LightNet @ Copyright (c) 2021
* @date 2021/9/22 11:08
*/
@Component
public class RedisDataUtil {
@Autowired
private RedisUtil redisUtil;
/**
* 根据演出id判断是否开放社交
* @param performanceId
* @return
*/
public boolean isPassedByPerformanceId(String performanceId){
return true;
}
/**
* 根据演出地点判断是否开放社交
* @param cityName
* @return
*/
public boolean isPassedByCityName(String cityName){
return true;
}
}
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