Browse Source

FIX:自定义get方法导致JSON序列化出错

郑杰 3 years ago
parent
commit
b3106289b9

+ 2 - 2
framework/src/main/java/cn/lili/modules/order/customs/model/Order.java

@@ -59,8 +59,8 @@ public class Order {
59
             orderList.add(
59
             orderList.add(
60
                     OrderList.builder()
60
                     OrderList.builder()
61
                             .gnum(i + 1)
61
                             .gnum(i + 1)
62
-                            .itemNo(item.getGoodsCode())
63
-                            .itemName(item.getGoodsShortName())
62
+                            .itemNo(item.goodCode())
63
+                            .itemName(item.goodsShortName())
64
                             .itemDescribe("")
64
                             .itemDescribe("")
65
                             .barCode("")
65
                             .barCode("")
66
                             .unit(JGS20Unit.ofCnName(cnName).code)
66
                             .unit(JGS20Unit.ofCnName(cnName).code)

+ 12 - 3
framework/src/main/java/cn/lili/modules/order/order/entity/dos/OrderItem.java

@@ -2,6 +2,7 @@ package cn.lili.modules.order.order.entity.dos;
2
 
2
 
3
 import cn.hutool.core.collection.CollUtil;
3
 import cn.hutool.core.collection.CollUtil;
4
 import cn.hutool.json.JSONUtil;
4
 import cn.hutool.json.JSONUtil;
5
+import cn.lili.common.exception.ServiceException;
5
 import cn.lili.common.utils.BeanUtil;
6
 import cn.lili.common.utils.BeanUtil;
6
 import cn.lili.common.utils.SnowFlake;
7
 import cn.lili.common.utils.SnowFlake;
7
 import cn.lili.common.utils.StringUtils;
8
 import cn.lili.common.utils.StringUtils;
@@ -23,6 +24,8 @@ import lombok.NoArgsConstructor;
23
 
24
 
24
 import java.util.stream.Collectors;
25
 import java.util.stream.Collectors;
25
 
26
 
27
+import static cn.lili.common.enums.ResultCode.GOODS_ERROR;
28
+
26
 /**
29
 /**
27
  * 子订单
30
  * 子订单
28
  *
31
  *
@@ -158,16 +161,22 @@ public class OrderItem extends BaseEntity {
158
     /**
161
     /**
159
      * @return 商品名称
162
      * @return 商品名称
160
      */
163
      */
161
-    public String getGoodsShortName(){
164
+    public String goodsShortName(){
162
         return goodsName.substring(0, StringUtils.findFirstIdxAlphabetNumber(goodsName));
165
         return goodsName.substring(0, StringUtils.findFirstIdxAlphabetNumber(goodsName));
163
     }
166
     }
164
 
167
 
165
     /**
168
     /**
166
      * @return 商品货号
169
      * @return 商品货号
167
      */
170
      */
168
-    public String getGoodsCode(){
171
+    public String goodCode(){
169
         int i = StringUtils.findFirstIdxAlphabetNumber(goodsName);
172
         int i = StringUtils.findFirstIdxAlphabetNumber(goodsName);
170
-        int endIdx = goodsName.indexOf(" ");
173
+        if (i == goodsName.length() - 1){
174
+            return goodsName;
175
+        }
176
+        int endIdx = goodsName.lastIndexOf(" ");
177
+        if(i >= endIdx){
178
+            throw new ServiceException(GOODS_ERROR, "商品名称货号格式不正确");
179
+        }
171
         return goodsName.substring(i, endIdx == -1 ? goodsName.length() : endIdx);
180
         return goodsName.substring(i, endIdx == -1 ? goodsName.length() : endIdx);
172
     }
181
     }
173
 
182