zoukankan      html  css  js  c++  java
  • 子表批量保存CRUD

    @Data
    @TableName("im_notice_details")
    @ApiModel(value = "入库单据明细")
    @EqualsAndHashCode(of = {"detailsId", "noticeId"})
    public class ImNoticeDetails extends Model<ImNoticeDetails> {
    
        private static final long serialVersionUID = 1L;
    
        @TableId(type = IdType.ASSIGN_ID)
        @ApiModelProperty(value = "明细ID")
        private String detailsId;
    
        @ApiModelProperty(value = "单据ID")
        private String noticeId;
    
        @ApiModelProperty(value = "商品ID")
        private String goodsId;
    
            ......
    }
        @Override
        @Transactional(rollbackFor = Exception.class)
        public Boolean updateNotice(ImNoticeDto dto) {
            try {
                List<ImNoticeDetails> detailsList = dto.getDetailsList();
                // 获取oldList与newList的交差
                List<ImNoticeDetails> oldDetailList = baseMapper.listOldDetail(dto.getNoticeId());
    
                oldDetailList.removeAll(detailsList);
    
                // 删除库存数据及中间表数据
                Set<String> hasDeleteIds = oldDetailList.stream().map(item -> item.getDetailsId()).collect(Collectors.toSet());
    
                imNoticeDetailsService.removeByIds(hasDeleteIds);
    
                for (ImNoticeDetails imNoticeDetails : detailsList) {
                    imNoticeDetails.setNoticeId(dto.getNoticeId());
                    imNoticeDetailsService.saveOrUpdate(imNoticeDetails);
                }
            } catch (Exception e) {
                e.printStackTrace();
                log.info("更新入库单据失败!!!");
                return Boolean.FALSE;
            }
            return Boolean.TRUE;
        }
  • 相关阅读:
    hadoop-2.7.6源码学习之 -- HDFS_Client端FileSystem获取
    Hadoop伪分布式搭建
    Hadoop技术集
    spark2.0源码学习
    hive资料
    Wiki动画回顾系列序&&目录
    阴暗的底层阶级版罗密欧与朱丽叶——甲贺忍法帖
    【搬家】夏令营感想
    “破晓之战”星杯传说赛后复盘分析
    leetcode刷题总结一
  • 原文地址:https://www.cnblogs.com/fangts/p/13729612.html
Copyright © 2011-2022 走看看