Kaynağa Gözat

fix:“修复线下订单添加重复问题“

soobin 1 yıl önce
ebeveyn
işleme
92b1d704bd

+ 49 - 45
src/main/java/com/szwl/controller/TCoinOrderController.java

@@ -171,59 +171,63 @@ public class TCoinOrderController {
             tOrderDetails.setCreateDate(new Date());
         }
         coinOrderService.save(coinOrder);
-        if (name.contains("-")) {
-            HashMap<String, Integer> map = new HashMap<>();
-            String[] split = name.split(",");
-            for (String s : split) {
-                String[] strings = s.split("-");
-                map.put(strings[0],Integer.valueOf(strings[1]));
-            }
-            for (String key : map.keySet()) {
-                // key:"A01",value:"1"
-                // 找到商品名称对应设备的商品信息
-                Integer productNumber = map.get(key);
-                tOrderDetails.setId(HuifuUtils.initDetailsId());
-                tOrderDetails.setProductNumber(productNumber);
-                tOrderDetails.setProductName(key);
-                TProduct product = R.getDataIfSuccess(szwlFeign.getProduct(String.valueOf(equipment.getId()), key));
-                if (product == null) {
-                    // 找到对应的商品名称的字典
-                    LambdaQueryWrapper<TNameDictionary> wrapper = Wrappers.lambdaQuery();
-                    wrapper.eq(TNameDictionary::getName, key);
-                    List<TNameDictionary> list = nameDictionaryService.list(wrapper);
-                    if (list.size() > 0) {
-                        tOrderDetails.setProductNo(list.get(0).getNo());
+        try {
+            if (name.contains("-")) {
+                HashMap<String, Integer> map = new HashMap<>();
+                String[] split = name.split(",");
+                for (String s : split) {
+                    String[] strings = s.split("-");
+                    map.put(strings[0],Integer.valueOf(strings[1]));
+                }
+                for (String key : map.keySet()) {
+                    // key:"A01",value:"1"
+                    // 找到商品名称对应设备的商品信息
+                    Integer productNumber = map.get(key);
+                    tOrderDetails.setId(HuifuUtils.initDetailsId());
+                    tOrderDetails.setProductNumber(productNumber);
+                    tOrderDetails.setProductName(key);
+                    TProduct product = R.getDataIfSuccess(szwlFeign.getProduct(String.valueOf(equipment.getId()), key));
+                    if (product == null) {
+                        // 找到对应的商品名称的字典
+                        LambdaQueryWrapper<TNameDictionary> wrapper = Wrappers.lambdaQuery();
+                        wrapper.eq(TNameDictionary::getName, key);
+                        List<TNameDictionary> list = nameDictionaryService.list(wrapper);
+                        if (list.size() > 0) {
+                            tOrderDetails.setProductNo(list.get(0).getNo());
+                        } else {
+                            tOrderDetails.setProductNo("A01");
+                        }
                     } else {
-                        tOrderDetails.setProductNo("A01");
+                        tOrderDetails.setProductNo(product.getNo());
                     }
-                } else {
-                    tOrderDetails.setProductNo(product.getNo());
+                    orderDetailsService.save(tOrderDetails);
                 }
-                orderDetailsService.save(tOrderDetails);
-            }
-        } else {
-            tOrderDetails.setId(HuifuUtils.initDetailsId());
-            tOrderDetails.setProductName(name);
-            tOrderDetails.setProductNumber(1);
-            if (name.contains("DIY")) {
-                tOrderDetails.setProductNo("A99");
             } else {
-                TProduct product = R.getDataIfSuccess(szwlFeign.getProduct(String.valueOf(equipment.getId()), name));
-                if (product == null) {
-                    // 找到对应的商品名称的字典
-                    LambdaQueryWrapper<TNameDictionary> wrapper = Wrappers.lambdaQuery();
-                    wrapper.eq(TNameDictionary::getName, name);
-                    List<TNameDictionary> list = nameDictionaryService.list(wrapper);
-                    if (list.size() > 0) {
-                        tOrderDetails.setProductNo(list.get(0).getNo());
+                tOrderDetails.setId(HuifuUtils.initDetailsId());
+                tOrderDetails.setProductName(name);
+                tOrderDetails.setProductNumber(1);
+                if (name.contains("DIY")) {
+                    tOrderDetails.setProductNo("A99");
+                } else {
+                    TProduct product = R.getDataIfSuccess(szwlFeign.getProduct(String.valueOf(equipment.getId()), name));
+                    if (product == null) {
+                        // 找到对应的商品名称的字典
+                        LambdaQueryWrapper<TNameDictionary> wrapper = Wrappers.lambdaQuery();
+                        wrapper.eq(TNameDictionary::getName, name);
+                        List<TNameDictionary> list = nameDictionaryService.list(wrapper);
+                        if (list.size() > 0) {
+                            tOrderDetails.setProductNo(list.get(0).getNo());
+                        } else {
+                            tOrderDetails.setProductNo("A01");
+                        }
                     } else {
-                        tOrderDetails.setProductNo("A01");
+                        tOrderDetails.setProductNo(product.getNo());
                     }
-                } else {
-                    tOrderDetails.setProductNo(product.getNo());
                 }
+                orderDetailsService.save(tOrderDetails);
             }
-            orderDetailsService.save(tOrderDetails);
+        } catch (Exception e) {
+            e.printStackTrace();
         }
         try {
             esTCoinOrderService.insertData(coinOrder);