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

Commit b75d2eba authored by anjiabin's avatar anjiabin

提交chime社交相关

parent 43d2e783
......@@ -14,7 +14,5 @@ import com.liquidnet.service.chime.dto.NewPageResult;
* @date 2021/9/9 12:03
*/
public interface IChimePerformanceService {
// PageInfo<ChimeUserInfoDto> getUserListByCon(ChimeUserListQueryReqDto reqDto);
NewPageResult<ChimeUserInfoDto> getUserListByCon(ChimeUserListQueryReqDto reqDto);
}
......@@ -4,6 +4,8 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @author AnJiabin <anjiabin@zhengzai.tv>
* @version V1.0
......@@ -36,6 +38,8 @@ public class ChimeUserInfoVo {
private String area;
@ApiModelProperty(position = 8, value = "在场ID")
private String joinPerformanceId;
@ApiModelProperty(position = 9,value = "用户标签")
private List<ChimeUserTagsMappingVo> userTagsVoList;
private static final ChimeUserInfoVo obj = new ChimeUserInfoVo();
public static ChimeUserInfoVo getNew() {
......
......@@ -49,6 +49,11 @@ liquidnet:
port: 27017
user: admin
pwd: S&y$6d*JwJ
chime:
host: s-2ze04ffc16a54af4-pub.mongodb.rds.aliyuncs.com:3717
port: 3717
user: admin
pwd: S&y$6d*JwJ
service:
adam:
url-pay:
......
use prod_ln_scene;
#创建集合
db.createCollection("ChimeUserInfoVo");
db.createCollection("ChimeUserTagsMappingVo");
#创建索引
db.ChimeUserInfoVo.createIndex({userId:"hashed"});
db.ChimeUserInfoVo.createIndex({sex:"hashed"});
db.ChimeUserInfoVo.createIndex({joinPerformanceId:"hashed"});
db.ChimeUserTagsMappingVo.createIndex({userId:"hashed"});
db.ChimeUserTagsMappingVo.createIndex({tagCode:"hashed"});
#创建分片
sh.enableSharding("prod_ln_scene");
sh.shardCollection("prod_ln_scene.ChimeUserInfoVo",{"userId":"hashed"});
sh.shardCollection("prod_ln_scene.ChimeUserTagsMappingVo",{"userId":"hashed"});
sh.enableSharding("dev_ln_scene");
sh.shardCollection("dev_ln_scene.ChimeUserInfoVo",{"userId":"hashed"});
......@@ -3,9 +3,11 @@ 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.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.vo.mongo.ChimeUserTagsMappingVo;
......@@ -60,6 +62,35 @@ public class ChimeUserBiz {
return userTagList;
}
/**
* Json转换list
* @param tags
* @return
*/
public List<ChimeUserTagDto> buildUserTagDtoList(String userId, String tags){
List<ChimeUserTagsMappingVo> userTagVoList = new ArrayList<>();
List<ChimeUserTagDto> userTagDtoList = new ArrayList<>();
if(StringUtil.isNotEmpty(tags)){
ObjectMapper mapper = new ObjectMapper();
try {
userTagVoList = 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
userTagVoList.parallelStream().forEach(vo -> {
ChimeUserTagDto userTagDto = ChimeUserTagDto.getNew();
vo.setUserId(userId);
BeanUtil.copy(vo,userTagDto);
userTagDtoList.add(userTagDto);
});
return userTagDtoList;
}
/**
* 演出voList转换为DtoList
* @param performanceVoList
......
package com.liquidnet.service.chime.controller;
import com.alibaba.fastjson.JSONObject;
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.ChimeUserRegisterRespDto;
import com.liquidnet.service.chime.dto.ChimeUserUpdateReqDto;
import com.liquidnet.service.chime.service.IChimeUserService;
import io.swagger.annotations.Api;
......@@ -16,7 +14,10 @@ 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.*;
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;
/**
* @author AnJiabin <anjiabin@zhengzai.tv>
......@@ -46,7 +47,7 @@ public class ChimeUserController {
@ApiImplicitParam(type = "form", required = false, dataType = "String", name = "performanceId", value = "演出id")
})
@PostMapping(value = {"register"})
public ResponseDto<ChimeUserRegisterRespDto> register(@RequestParam @Validated String userId
public ResponseDto<String> register(@RequestParam @Validated String userId
, @RequestParam @Validated String nickname
, @RequestParam @Validated String sex
, @RequestParam @Validated String tags
......@@ -63,18 +64,11 @@ public class ChimeUserController {
//云在场
reqDto.setPerformanceId("-1");
}
//获取等前登陆用户 CurrentUtil.getCurrentUid()
JSONObject jsonObject = chimeUserService.register(reqDto);
if(StringUtil.isNotNull(jsonObject.get("error"))){
return ResponseDto.failure(jsonObject.get("error").toString());
ChimeUserInfoDto chimeUserInfoDto = chimeUserService.createChimeUserInfo(reqDto);
if(StringUtil.isNull(chimeUserInfoDto)){
return ResponseDto.failure("chime创建社交用户失败!");
}
ChimeUserRegisterRespDto respDto = ChimeUserRegisterRespDto.getNew();
respDto = JSONObject.parseObject(jsonObject.toJSONString(),ChimeUserRegisterRespDto.class);
if(respDto.getActivated()){
chimeUserService.createChimeUserInfo(reqDto);
}
return ResponseDto.success(respDto);
return ResponseDto.success("创建成功!");
}
@ApiOperationSupport(order = 5)
......@@ -97,21 +91,19 @@ public class ChimeUserController {
reqDto.setSex(sex);
reqDto.setTags(tags);
//更新用户信息
chimeUserService.updateUserInfo(reqDto);
//更新标签
boolean rs = chimeUserService.updateUserTags(reqDto);
Boolean rs = chimeUserService.updateUserInfo(reqDto);
return ResponseDto.success(rs);
}
@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);
}
// @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);
// }
}
......@@ -4,19 +4,15 @@ import com.liquidnet.commons.lang.util.BeanUtil;
import com.liquidnet.commons.lang.util.StringUtil;
import com.liquidnet.service.chime.dto.ChimeUserInfoDto;
import com.liquidnet.service.chime.dto.ChimeUserListQueryReqDto;
import com.liquidnet.service.chime.dto.ChimeUserTagDto;
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;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.aggregation.*;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service;
......@@ -24,7 +20,6 @@ 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,10 +32,9 @@ import java.util.stream.Collectors;
*/
@Slf4j
@Service
public class ChimePerformanceServiceImpl implements IChimePerformanceService{
public class ChimePerformanceServiceImpl implements IChimePerformanceService {
@Autowired
private MongoTemplate mongoTemplate;
/**
* 用户关联查询
* @param reqDto
......@@ -54,119 +48,55 @@ public class ChimePerformanceServiceImpl implements IChimePerformanceService{
int pageSize = reqDto.getPageSize();
//初始化分页
pagedResult.setPageSize(pageSize).setCurrentPage(pageNum+1);
//获取总数
// 排序 分页
Pageable pageable = PageRequest.of(pageNum, pageSize, Sort.by(Sort.Direction.DESC, "userId"));
//关联表
LookupOperation lookupToLots = LookupOperation.newLookup().
from("ChimeUserTagsMappingVo").//关联表名 lots
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(",")));
criteria = criteria.and("userTagsVoList.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");
// if (!reqDto.getPerformanceId().isEmpty()) {
// criteria.and("title").regex(".*?\\" + reqDto.getTitle());
// }
project.andInclude("_id");
Query query = Query.query(criteria);
query.fields().include("_id");
// 排序
//获取总数
// 查询总数
long startTime = System.currentTimeMillis();
SkipOperation skipOp = Aggregation.skip(0);
LimitOperation limitOp = Aggregation.limit(1000);
Aggregation newAggregation = Aggregation.newAggregation(lookupToLots,matchToLots,project,skipOp,limitOp);
List<ChimeUserInfoVo> tempChimeUserInfoVoList = mongoTemplate.aggregate(newAggregation,ChimeUserInfoVo.class.getSimpleName(),ChimeUserInfoVo.class).getMappedResults();
long count = tempChimeUserInfoVoList.size();
// long count = 1000;
// int count = (int) mongoTemplate.count(query, ChimeUserInfoVo.class, ChimeUserInfoVo.class.getSimpleName());
int count = 1000;
long endTime = System.currentTimeMillis();
log.info("获取总数 count:{}条",count);
log.info("获取总数 耗时:{}ms",endTime-startTime);
log.info("查询标签数据 count:{} 耗时:{}ms",count,endTime-startTime);
// 每页五个
Pageable pageable = PageRequest.of(pageNum, pageSize); // get 5 profiles on a page
query = Query.query(criteria);
query.with(pageable);
//查询分页数据
startTime = System.currentTimeMillis();
SkipOperation skipOperation = Aggregation.skip(pageNum*pageSize);
LimitOperation limitOperation = Aggregation.limit(pageSize);
Aggregation aggregation = Aggregation.newAggregation(lookupToLots,matchToLots,project,skipOperation,limitOperation);
List<ChimeUserInfoVo> chimeUserInfoVoList = mongoTemplate.aggregate(aggregation,ChimeUserInfoVo.class.getSimpleName(),ChimeUserInfoVo.class).getMappedResults();
List<ChimeUserInfoVo> chimeUserInfoVoList = mongoTemplate.find(query, ChimeUserInfoVo.class, ChimeUserInfoVo.class.getSimpleName());
endTime = System.currentTimeMillis();
log.info("查询分页数据 耗时:{}ms",endTime-startTime);
log.info("查询标签数据 分页数据 耗时:{}ms",endTime-startTime);
//获取标签
if(StringUtil.isNull(chimeUserInfoVoList)){
return pagedResult;
};
//处理Vo
List<ChimeUserInfoDto> dtoList = new ArrayList<>();
startTime = System.currentTimeMillis();
List<String> userIdList = chimeUserInfoVoList.parallelStream().map(ChimeUserInfoVo::getUserId).collect(Collectors.toList());
Query query= Query.query(Criteria.where("userId").in(userIdList));
List<ChimeUserTagDto> tagVoList = mongoTemplate.find(query, ChimeUserTagDto.class,ChimeUserTagsMappingVo.class.getSimpleName());
for (ChimeUserInfoVo item : chimeUserInfoVoList) {
ChimeUserInfoDto voData = ChimeUserInfoDto.getNew();
BeanUtil.copy(item,voData);
voData.setPassWord("123456");
List<ChimeUserTagDto> tempUserTag = tagVoList.parallelStream().filter(userVo -> userVo.getUserId().equalsIgnoreCase(voData.getUserId())).collect(Collectors.toList());
voData.setUserTags(tempUserTag);
dtoList.add(voData);
}
endTime = System.currentTimeMillis();
log.info("查询标签数据 耗时:{}ms",endTime-startTime);
log.info("dto转换vo 耗时:{}ms",endTime-startTime);
pagedResult.setList(dtoList).setTotal(count, pageSize);
} catch (Exception e) {
e.printStackTrace();
}
return pagedResult;
}
// @Override
// public PagedResult<ChimeUserInfoDto> getUserListByCon(ChimeUserListQueryReqDto reqDto) {
// PagedResult<ChimeUserInfoDto> pagedResult = ObjectUtil.getChimeUserInfoDtoPagedResult();
// try {
// int pageNum = reqDto.getPageNum() - 1;
// int pageSize = reqDto.getPageSize();
// //初始化分页
// pagedResult.setPageSize(pageSize).setCurrentPage(pageNum+1);
//
// // 排序 分页
// Pageable pageable = PageRequest.of(pageNum, pageSize, Sort.by(Sort.Direction.DESC, "userId"));
// //条件
// Criteria criteria = Criteria.where("joinPerformanceId").is(reqDto.getPerformanceId());
//// if (!reqDto.getPerformanceId().isEmpty()) {
//// criteria.and("title").regex(".*?\\" + reqDto.getTitle());
//// }
// Query query = Query.query(criteria);
// // 查询总数
// long count = mongoTemplate.count(query, ChimeUserInfoVo.class, ChimeUserInfoVo.class.getSimpleName());
//
// query.with(pageable);
// List<ChimeUserInfoVo> chimeUserInfoVoList = mongoTemplate.find(query, ChimeUserInfoVo.class, ChimeUserInfoVo.class.getSimpleName());
// //处理Vo
// List<ChimeUserInfoDto> dtoList = new ArrayList<>();
// for (ChimeUserInfoVo item : chimeUserInfoVoList) {
// ChimeUserInfoDto voData = ChimeUserInfoDto.getNew();
// BeanUtil.copy(item,voData);
// voData.setUserTags(null);
// dtoList.add(voData);
// }
// pagedResult.setList(dtoList).setTotal(count, pageSize);
// } catch (Exception e) {
// e.printStackTrace();
// }
// return pagedResult;
// }
}
......@@ -11,6 +11,7 @@ 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;
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;
......@@ -56,27 +57,28 @@ public class ChimeUserServiceImpl implements IChimeUserService {
@Override
public ChimeUserInfoDto createChimeUserInfo(ChimeUserRegisterReqDto reqDto) {
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());
//插入mongo
dataUtils.createChimeUser(chimeUserInfoDto);
//插入userTagMapping
List<ChimeUserTagsMappingVo> userTagList = chimeUserBiz.buildUserTagVoList(reqDto.getUserId(),reqDto.getTags());
dataUtils.createUserTagMapping(userTagList);
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);
return chimeUserInfoDto;
} catch (Exception e) {
log.error("创建社交用户异常 e:{}",e.getMessage());
}
return null;
}
......@@ -91,6 +93,8 @@ public class ChimeUserServiceImpl implements IChimeUserService {
chimeUserInfoVo.setUserName(vo.getUid());
chimeUserInfoVo.setUserMobile(vo.getMobile());
chimeUserInfoVo.setAvatar(vo.getAvatar());
List<ChimeUserTagsMappingVo> userTagList = chimeUserBiz.buildUserTagVoList(reqDto.getUserId(),reqDto.getTags());
chimeUserInfoVo.setUserTagsVoList(userTagList);
dataUtils.updateChimeUser(chimeUserInfoVo);
} catch (Exception e) {
e.printStackTrace();
......
......@@ -45,6 +45,13 @@ public class DataUtils {
mongoTemplate.save(chimeUserInfoVo,ChimeUserInfoVo.class.getSimpleName());
}
/**
* 注册社交用户
*/
public void createBatchChimeUser(List<ChimeUserInfoVo> chimeUserInfoVoList){
mongoTemplate.insert(chimeUserInfoVoList,ChimeUserInfoVo.class.getSimpleName());
}
/**
* 修改社交用户
* @param chimeUserInfoVo
......
package com.liquidnet.service.chime.utils;
import com.liquidnet.service.base.PagedResult;
import com.liquidnet.service.chime.dto.ChimeUserInfoDto;
import com.liquidnet.service.chime.dto.NewPageResult;
public class ObjectUtil {
private static final NewPageResult<ChimeUserInfoDto> chimeUserInfoDtoPagedResult = new NewPageResult<>();
public static NewPageResult<ChimeUserInfoDto> getChimeUserInfoDtoPagedResult() {
return chimeUserInfoDtoPagedResult.clone();
}
......
......@@ -2,12 +2,14 @@ package com.liquidnet.service.chime.test;
import com.liquidnet.common.third.easemob.util.EasemobUtil;
import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.commons.lang.util.RandomUtil;
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.NewPageResult;
import com.liquidnet.service.chime.service.IChimePerformanceService;
import com.liquidnet.service.chime.utils.DataUtils;
import com.liquidnet.service.chime.vo.mongo.ChimeUserInfoVo;
import com.liquidnet.service.chime.vo.mongo.ChimeUserTagsMappingVo;
import lombok.extern.slf4j.Slf4j;
import org.junit.Test;
......@@ -146,6 +148,69 @@ public class TestDataUtils {
// EasemobUtil.createUsers();
}
@Test
public void createUserInfoNewVo(){
ExecutorService executorService = Executors.newFixedThreadPool(200);
long start = System.currentTimeMillis();
List<ChimeUserInfoVo> voNewList = new ArrayList<>();
int totalNum = 200000;
int pageSize = 1000;
int pageNum = 1;
int totalPage = totalNum % pageSize == 0 ? totalNum / pageSize : (totalNum / pageSize) + 1;;
for(int i=0;i<totalNum;i++){
try {
int num = i+1;
ChimeUserInfoVo chimeUserInfoDto = ChimeUserInfoVo.getNew();
chimeUserInfoDto.setUserId("TEST"+ IDGenerator.nextTimeId());
chimeUserInfoDto.setSex("男");
chimeUserInfoDto.setUserName("TestName"+num);
chimeUserInfoDto.setUserMobile("1381111"+num);
chimeUserInfoDto.setAvatar("https://img.zhengzai.tv/user/2021/07/27/a4cc2a4e6dcd44d1812dc60e079086b4.png");
chimeUserInfoDto.setBirthday("2021-09-01");
chimeUserInfoDto.setSignature("测试签名");
chimeUserInfoDto.setArea("山西省 太原市 迎泽区");
chimeUserInfoDto.setJoinPerformanceId("-1");
// easemobUtil.createUser(chimeUserInfoDto.getUserId(),chimeUserInfoDto.getPassWord());
List<ChimeUserTagsMappingVo> userTagList = new ArrayList<>();
for(int j=0;j<5;j++){
ChimeUserTagsMappingVo chimeUserTagDto = ChimeUserTagsMappingVo.getNew();
chimeUserTagDto.setUserId(chimeUserInfoDto.getUserId());
chimeUserTagDto.setTagCode("tags"+ RandomUtil.getRandomInt(2,10));
chimeUserTagDto.setTagDesc("标签"+ RandomUtil.getRandomInt(2,10));
userTagList.add(chimeUserTagDto);
}
chimeUserInfoDto.setUserTagsVoList(userTagList);
voNewList.add(chimeUserInfoDto);
if(num%pageSize==0){
dataUtils.createBatchChimeUser(voNewList);
voNewList = new ArrayList<>();
// Future future = executorService.submit(new Callable(){
// public Object call() throws Exception {
//
// dataUtils.createBatchChimeUser(voNewList);
//
// return Boolean.parseBoolean("true");
// }
// });
System.out.println("=================执行第几批次============"+pageNum);
pageNum++;
}
System.out.println("执行第几个===="+num);
} catch (Exception e) {
e.printStackTrace();
}
}
System.out.println("耗时:"+(System.currentTimeMillis() - start)/1000 + "秒");
executorService.shutdown();
// EasemobUtil.createUsers();
}
@Test
public void testUserList(){
for(int i=0;i<10;i++){
......@@ -158,12 +223,11 @@ public class TestDataUtils {
reqDto.setOrderItem(null);
reqDto.setOrderSc(null);
reqDto.setSex("男");
// reqDto.setTags("");
reqDto.setTags("Tags8,tags9,tags2");
// PageInfo<ChimeUserInfoDto> pageInfo = chimePerformanceService.getUserListByCon(reqDto);
NewPageResult<ChimeUserInfoDto> pageInfo = chimePerformanceService.getUserListByCon(reqDto);
long endTime = System.currentTimeMillis();
log.info("耗时:{}ms",endTime-startTime);
}
}
}
......@@ -2,4 +2,4 @@ spring:
application:
name: liquidnet-support-eureka
profiles:
active: test-server1
\ No newline at end of file
active: dev-server1
\ No newline at end of file
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