lambda表达式方式编写修改

迈不过友情╰ 2024-03-23 15:58 31阅读 0赞

这段代码的意思是,根据传入的 discloseCapabilityDetailDTO 对象的 businessIddeptNumprojectNumdisclose 字段的值在数据库中查找匹配的记录,如果 disclose 字段的值为false,则将其更新为true,并调用 remoteDiscloseCapabilityServicesave() 方法保存在远程系统中。

这段代码没有明显的问题,但可以进行如下优化:

  1. updateWrapper 中使用 and() 方法将多个条件连接起来,可读性更好。
  2. 在进行远程调用时,应该使用try-catch语句来处理异常情况。如果远程调用失败,应该根据具体业务情况考虑如何处理,当前的实现方式可能存在问题。

优化后的代码如下所示:

  1. @Transactional
  2. public void discloseByWrapper(DiscloseCapabilityDetailDTO discloseCapabilityDetailDTO) {
  3. UpdateWrapper<QualityFirstProject> updateWrapper = new UpdateWrapper<>();
  4. updateWrapper.lambda()
  5. .set(QualityFirstProject::getDisclose, true)
  6. .eq(QualityFirstProject::getId, discloseCapabilityDetailDTO.getBusinessId())
  7. .eq(QualityFirstProject::getDeptNum, discloseCapabilityDetailDTO.getDeptNum())
  8. .eq(QualityFirstProject::getProjectNum, discloseCapabilityDetailDTO.getProjectNum())
  9. .eq(QualityFirstProject::getDisclose, false);
  10. int updateCount = qualityFirstProjectMapper.update(null, updateWrapper);
  11. if (updateCount > 0) {
  12. try {
  13. remoteDiscloseCapabilityService.save(discloseCapabilityDetailDTO);
  14. } catch (Exception e) {
  15. // 根据具体业务情况处理异常
  16. }
  17. }
  18. }

发表评论

表情:
评论列表 (有 0 条评论,31人围观)

还没有评论,来说两句吧...

相关阅读

    相关 lambda表达式

    作用:极大精简代码量 副作用:太过精简,以至于维护时难以阅读 表现形式:本质上是一个匿名方法。让我们来看下面这个例子: public int add(int

    相关 Lambda表达式

    Lambda表达式支持将代码块作为方法的参数,它允许使用更简洁的代码来创建只有一个抽象方法的接口,亦即是函数式接口(FunctionalInterface) 如果不采用Lam

    相关 Lambda表达式

    lambda表达式是对匿名方法的一种改进,具有更加简洁的语法和更易理解的形式,lambda表达式可以包括表达式和语句,并且可以用与创建委托或表达式目录树类型。 lambda表

    相关 lambda表达式

    一、定义 `Lambda` 表达式是一种可用于创建 委托 或 表达式目录树 类型的 匿名函数 。通过使用 `lambda` 表达式,可以写入可作为参数传递或作为函数调用值