springboot vue ElmentUi考虑到前端要的样式数据为:根据会议显示所有议题 格式为:会议名称(议题一,议题二)前端显示慢,所以考虑后端操作数据

springboot后端的字段拼接

//存放数据的set(议题)
Set<MmIssues> mmIssues1=new HashSet<>();
//获取所有的会议列表数据
List<MmMeeting> list= mmIssuesService.getUserMeetingList(loginUser.getUserId());
//遍历会议查询关联的议题
for (MmMeeting mmMeeting : list) {
    for (MmIssues issues : mmIssuesService.meetingListById(Math.toIntExact(mmMeeting.getMeetingId()))) 
{
  //存放数据的set(议题)
  mmIssues1.add(issues);
 }}
 //实现list分组stream(根据会议的名字分组)
Map<String,List<MmIssues>> grouMap=mmIssues1.stream().collect(Collectors.groupingBy(MmIssues::getMeetingName));
//存储我前端想要的数据形式(k,v)
Map<String,String> map=new HashMap<>();
grouMap.forEach((k,v)->{
//定义字符串
String arr=null;
//定义获取某个会议下的所有议题名称
Set<String> jj=new HashSet<>();
//遍历v来获取数据(把议题名称放入到jj)
for (int i = 0; i < v.size(); i++) {
//存放议题的数据
jj.add(v.get(i).getIssuesName());
}
//拼接想要获取对应会议下的所有议题数据
//(例如:(议题一,议题二) 格式)
arr=k.concat((").concat(StringUtils.join(jj.toArray(),",")).concat(")");
//map 作用是把对应会议下的所有议题数据存入对应的map
(例如:k="会议" v=(议题一,议题二))
 map.put(k,arr);
 });
 //遍历map
 map.forEach((k,v)->{
 //根据上面的实体类来实现替换:会议名称字段的数据
 //例如:原来的字段数据name="会议" 
 //替换完成为  name="会议(议题一,议题二)" 格式
if(k!=null){         
  for (MmMeeting mmMeeting : list) {                     
      if(k.equals(mmMeeting.getMeetingName())){
        //如果k和字段的名字相等就替换该字段数据
        mmMeeting.setMeetingName(v);} }}});
        //返回该类型
return getDataTable(list);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值