Explorar o código

fix: 商品金额计算

Joburgess %!s(int64=4) %!d(string=hai) anos
pai
achega
ec3c8cdad0

+ 16 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentRepairServiceImpl.java

@@ -1,5 +1,8 @@
 package com.ym.mec.biz.service.impl;
 
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.StudentDao;
@@ -17,6 +20,7 @@ import com.ym.mec.common.service.IdGeneratorService;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.thirdparty.message.MessageSenderPluginContext;
 import com.ym.mec.util.collection.MapUtil;
+import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -114,6 +118,18 @@ public class StudentRepairServiceImpl extends BaseServiceImpl<Integer, StudentRe
             MapUtil.populateMap(repairInfoMap, repairInfo);
             return repairInfoMap;
         }
+
+        if(StringUtils.isNoneBlank(repairInfo.getGoodsJson())){
+            JSONArray goods = JSON.parseArray(repairInfo.getGoodsJson());
+            for (Object good : goods) {
+                JSONObject goodObject= (JSONObject) good;
+                BigDecimal groupPurchasePrice = goodObject.getBigDecimal("groupPurchasePrice");
+                if(Objects.nonNull(groupPurchasePrice)){
+                    amount=amount.add(groupPurchasePrice);
+                }
+            }
+        }
+
         repairInfo.setPayStatus(1);
         String channelType = "";