涉及的业务 去重 创建 。本次创建并没有在实体类中重新创建两个参数的构造方法,而是通过set去赋值 涉及的代码

List<GroupDetailsUser> saveList = userList.stream().map(e -> {GroupDetailsUser groupDetailsUser = new GroupDetailsUser();groupDetailsUser.setUserPid(e);groupDetailsUser.setGroupDetailsPid(groupPid);return groupDetailsUser;}).collect(Collectors.toList());

全代码

 @Transactional(rollbackFor = Exception.class)public void saveUser(String groupPid, List<String> userList) {List<GroupDetailsUser> groupDetailsUsers = groupDetailsUserRepository.findAllByGroupDetailsPid(groupPid);List<String> repeatUser = groupDetailsUsers.stream().map(GroupDetailsUser::getUserPid).collect(Collectors.toList());userList.removeAll(repeatUser);List<GroupDetailsUser> saveList = userList.stream().map(e -> {GroupDetailsUser groupDetailsUser = new GroupDetailsUser();groupDetailsUser.setUserPid(e);groupDetailsUser.setGroupDetailsPid(groupPid);return groupDetailsUser;}).collect(Collectors.toList());groupDetailsUserRepository.saveAll(saveList);}

JpaSpecificationExecutor
时间排序 涉及的业务不要在controller层给默认创建时间排序,在service相应的代码如下
涉及到的代码

query.orderBy(criteriaBuilder.desc(root.get("createTime")));

全部代码

@Transactional(readOnly = true)@SuppressWarnings("unchecked")public Page<GroupDetails> findAllByPage(String uid, String title, LocalDateTime startTime, LocalDateTime endTime, Pageable pageable) {return repository.findAll((root, query, criteriaBuilder) -> {query.where(criteriaBuilder.equal(root.get("userPid"), uid));if (startTime != null || endTime != null) {query.where(criteriaBuilder.between(root.get("createTime"), startTime, endTime));}if (title != null && !title.isEmpty()) {query.where(criteriaBuilder.like(root.get("groupName"), "%" + title + "%"));}query.orderBy(criteriaBuilder.desc(root.get("createTime")));return null;}, pageable);}

map操作;时间排序;repository.existsById(pid);相关推荐

  1. java字符串字典排序_java实现对map的字典序排序操作示例

    本文实例讲述了java实现对map的字典序排序操作.分享给大家供大家参考,具体如下: java中对map的字典序排序,算法验证比对微信官网https://mp.weixin.qq.com/wiki?t ...

  2. pandas操作1(读csv不要索引/写csv不要索引/删除有空值行/按时间排序)

    pandas常用csv操作 读csv不要索引(index) 写csv不要索引 删除有空值的行 按时间排序 其他操作 读csv不要索引(index) 在使用pandas读csv(read_csv())时 ...

  3. Map集合的按时间排序方法

    Map集合的按时间排序方法 一.简单介绍Map 在讲解Map排序之前,我们先来稍微了解下map.map是键值对的集合接口,它的实现类主要包括:HashMap,TreeMap,Hashtable以及Li ...

  4. 字典序 java_java实现对map的字典序排序操作示例

    本文实例讲述了java实现对map的字典序排序操作.分享给大家供大家参考,具体如下: java中对map的字典序排序,算法验证比对微信官网https://mp.weixin.qq.com/wiki?t ...

  5. Java8 Stream接口流式方法:map操作、filter操作以及flatMap操作

    点击关注公众号,利用碎片时间学习 关于stream 流式操作,在rt.jar 包里面,ReferencePipeline管道方式操作数据 下面集成所有操作方法,利用这些流,处理大数据的方式,效率提升明 ...

  6. Android 类似淘宝 电商 搜索功能,监听软键盘搜索事件,延迟自动搜索,以及时间排序的搜索历史记录的实现

    最近跳槽去新公司,接受的第一个任务是在 一个电商模块的搜索功能以及搜索历史记录的实现. 需求和淘宝等电商的功能大体差不多,最上面一个搜索框,下面显示搜索历史记录.在EditText里输入要搜索的关键字 ...

  7. python按时间排序 文件

    python按时间排序目录下的文件 python文件夹遍历,文件操作,获取文件修改创建时间可以参考另一篇博客.  如:  os.path.getmtime() 函数是获取文件最后修改时间  os.pa ...

  8. 时间排序python_算法导论 第八章 线性时间排序(python)

    比较排序:各元素的次序依赖于它们之间的比较{插入排序O(n**2) 归并排序O(nlgn) 堆排序O(nlgn)快速排序O(n**2)平均O(nlgn)} 本章主要介绍几个线性时间排序:(运算排序非比 ...

  9. java国际化——日期和时间+排序

    [0]README 1) 本文部分文字描述转自 core java volume 2 , 测试源代码均为原创, 旨在理解 java国际化--日期和时间+排序 的基础知识 : [1]日期和时间 1)当格 ...

最新文章

  1. Kafka那些值得我们学习的优秀设计
  2. SQL与NoSQL区别-扩展方式
  3. 2021年4月12日 阿里供应链Java研发实习面试(一面)(含总结)
  4. keepalived VRRP同步组配置
  5. CTFshow 命令执行 web71
  6. 软件工程导论个人项目 -- 中小学数学卷子自动生成程序
  7. hdu 4497 GCD and LCM
  8. 高端网站建设css3动画响应式模板_网站建设中整站定制与模板建站存在着什么差异...
  9. mysql审计 社区版有吗_mysql 5.6 社区版上审计功能,不扯皮
  10. php strchr 截断,PHP strchr() 函数
  11. 如何创建支持不同屏幕尺寸的Android应用(转载)
  12. Android UI设计--ListView Item的OnItemLongClickListener同时监听两种事件
  13. 蓝湖+Vue.js+SosoApi+Spring Cloud+Rancher——项目架构总结介绍
  14. 课时5 企业Web服务器现场抓鸡案例分享
  15. node-red实现MQTT通讯
  16. Unity动态(在代码中)更改Shader的相关属性(如颜色、Smoothness、材质……)
  17. 网络测试仪测试交换机的基本指标。
  18. 阿尔法ct_X光、CT、B超、核磁共振、核医学到底有什么不同?
  19. 通信NR-5G测试频段大全
  20. GMS 发短信的515错误

热门文章

  1. 直播 | 清华大学李一鸣:后门攻击简介
  2. KDD 18 AAAI 19 | 异构信息网络表示学习论文解读
  3. 直播预告:基于动态词表的对话生成研究 | PhD Talk #21
  4. 电脑键盘怎么代替鼠标_今日电脑展上展出的鼠标、键盘、耳机
  5. Docker笔记整理
  6. visual studio code python插件下载_visual studio code 的必装推荐插件plugin, vscode, vsc
  7. java培训学费_参加java培训大概的费用是多少钱?
  8. linux实验三shell程序设计,实验三 LINUX SHELL编程
  9. 安卓 java编译_Android源码分析(七)-----如何解决java编译版本问题
  10. 零基础带你一步步搭建Nacos高可用集群(史上最详细,赛过教科书!)为此我准备了三台云服务器+云数据库