空指针异常,

代码是这样的

    public AddScanRecordResult addScanRecord(AddScanParmsDTO parms) {

        AddScanRecordResult result = new AddScanRecordResult();
        FBAReceiveScan fBAReceiveScan = new FBAReceiveScan();
//报错的是下面这一行
        FBAReceiveBasket existingProduct = fBAReceiveBasketRepository.getBasketByProductId(parms.getResult().getProduct().getId(), parms.getCode());
        final FBAReceiveBasket fbaReceiveBasket = existingProduct == null ? new FBAReceiveBasket() : existingProduct;
        // set scan record
        fBAReceiveScan.setProduct(parms.getResult().getProduct());
        fBAReceiveScan.setFnsku(parms.getResult().getScanned());
        fBAReceiveScan.setQuantity(parms.getFbaReceiveQTY());
        fBAReceiveScan.setTracking(parms.getResult().getTracking());
        fBAReceiveScan.setCode(parms.getCode());

报错是这样的,只要第一次查询库里没有这个product 就会报错,第二次就正常了,如何解决呢

2022-04-13 09:31:27.183 ERROR 19868 --- [nio-8400-exec-3] o.a.c.c.C.[.[.[/].[dispatcherServlet]    : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.lang.NullPointerException] with root cause

java.lang.NullPointerException: null
	at com.cwf.wms.inbound.fba.FBAReceiveService.addScanRecord(FBAReceiveService.java:113)
	at com.cwf.wms.inbound.fba.FBAReceiveService$$FastClassBySpringCGLIB$$580b887f.invoke(<generated>)
	at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
	at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:689)
	at com.cwf.wms.inbound.fba.FBAReceiveService$$EnhancerBySpringCGLIB$$6505438d.addScanRecord(<generated>)
	at com.cwf.wms.inbound.controller.FBAInBoundReceiveController.addToScanReccords(FBAInBoundReceiveController.java:62)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)
	at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150)
	at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117)
	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895)
	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)
	at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1067)
	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963)
	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
	at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:681)
	at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)

1.AddScanParmsDTO parms 中 parms 具体的内容是什么?有没有一种可能 parms 中get的某个参数是null
2.检查fBAReceiveBasketRepository否为空

嗯,产品为空,上一步就没有保存,大意了