Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

官网演示一对多示例,当编辑订单时,子表新增多行客户信息和机票信息,每次都只能保存一条记录。 #7048

Closed
kevinchan1979 opened this issue Aug 8, 2024 · 3 comments

Comments

@kevinchan1979
Copy link

版本号:3.7.0
问题描述:

官网演示一对多示例,当编辑订单时,子表新增多行客户信息和机票信息,每次都只能保存一条记录。,同时删除多行记录则正常。

错误截图:

1111
2222
3333
4444

友情提示:

  • 未按格式要求发帖、描述过于简单的,会被直接删掉;
  • 描述问题请图文并茂,方便我们理解并快速定位问题;
  • 如果使用的不是master,请说明你使用的分支;
@zhangdaiscott
Copy link
Member

jl

@kevinchan1979
Copy link
Author

kevinchan1979 commented Aug 13, 2024

已经自己解决了
src/main/java/org/jeecg/modules/demo/test/service/impl/JeecgOrderMainServiceImpl.java
第87行updateCopyMain函数
去掉break就正常了,之前循环一次就跳出中断了!

    // 循环前台传过来的数据
    for (JeecgOrderTicket ticket:jeecgOrderTicketList){
        // 先查询子表数据库
        JeecgOrderTicket orderTicket = jeecgOrderTicketMapper.selectById(ticket.getId());
        if(orderTicket == null){
            // 当传过来的id数据库不存在时,说明数据库没有,走新增逻辑
            ticket.setOrderId(jeecgOrderMain.getId());
            jeecgOrderTicketMapper.insert(ticket);
            //break;
        }
        if(orderTicket.getId().equals(ticket.getId())){
            // 传过来的id和数据库id一至时,说明数据库存在该数据,走更新逻辑
            jeecgOrderTicketMapper.updateById(ticket);
        }
    }
    for (JeecgOrderCustomer customer:jeecgOrderCustomerList){
        // 先查询子表数据库
        JeecgOrderCustomer customers = jeecgOrderCustomerMapper.selectById(customer.getId());
        if(customers == null){
            // 当传过来的id数据库不存在时,说明数据库没有,走新增逻辑
            customer.setOrderId(jeecgOrderMain.getId());
            jeecgOrderCustomerMapper.insert(customer);
            //break;
        }
        if(customers.getId().equals(customer.getId())){
            //TODO 传过来的id和数据库id一至时,说明数据库存在该数据,走更新逻辑
            jeecgOrderCustomerMapper.updateById(customer);
        }
    }

@sjlei
Copy link

sjlei commented Aug 13, 2024

已经自己解决了 src/main/java/org/jeecg/modules/demo/test/service/impl/JeecgOrderMainServiceImpl.java 第87行updateCopyMain函数 去掉break就正常了,之前循环一次就跳出中断了!

应该把break换成continue,不然有可能报空指针异常

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants