From 2f8e70ad2884d2b6b7443dfae0af11ae9cfc8b99 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期五, 28 二月 2025 17:44:10 +0800 Subject: [PATCH] bug修改 --- manage/src/main/java/com/jilongda/manage/service/impl/TLensGoodsServiceImpl.java | 41 +++++++++++++++++++++++++++++++++++++++++ 1 files changed, 41 insertions(+), 0 deletions(-) diff --git a/manage/src/main/java/com/jilongda/manage/service/impl/TLensGoodsServiceImpl.java b/manage/src/main/java/com/jilongda/manage/service/impl/TLensGoodsServiceImpl.java index a790454..19c4c89 100644 --- a/manage/src/main/java/com/jilongda/manage/service/impl/TLensGoodsServiceImpl.java +++ b/manage/src/main/java/com/jilongda/manage/service/impl/TLensGoodsServiceImpl.java @@ -1,5 +1,7 @@ package com.jilongda.manage.service.impl; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.jilongda.common.basic.PageInfo; import com.jilongda.manage.mapper.SecSettingMapper; @@ -17,7 +19,10 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.HashMap; import java.util.List; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; /** * <p> @@ -33,6 +38,7 @@ @Resource private SecSettingMapper secSettingMapper; + private Map<String, Map<String, JSONObject>> cachedSphereMaps = new ConcurrentHashMap<>(); @Override public PageInfo<TLensGoodsVO> lensReceiptList(TLensGoodsQuery query) { PageInfo<TLensGoodsVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize()); @@ -42,8 +48,43 @@ if (tFrameGoodsVO.getTotal() < secSetting.getLensThreshold()) { tFrameGoodsVO.setIsWarning(1); } + String sphere = null; + switch (tFrameGoodsVO.getLensType()) { + case 1: + sphere = tFrameGoodsVO.getSphere(); + break; + case 2: + sphere = tFrameGoodsVO.getAsphericSurface(); + break; + case 3: + sphere = tFrameGoodsVO.getDoubleNon(); + break; + } + + if (sphere != null && sphere.contains("cost")) { + updateSaleAndCost(tFrameGoodsVO, sphere); + } } pageInfo.setRecords(list); return pageInfo; } + private void updateSaleAndCost(TLensGoodsVO tFrameGoodsVO, String sphere) { + Map<String, JSONObject> costMap = cachedSphereMaps.get(sphere); + if (costMap == null) { + costMap = new HashMap<>(); + JSONArray objects = JSONObject.parseArray(sphere); + for (Object object : objects) { + JSONObject jsonObject = (JSONObject) object; + costMap.put(jsonObject.getString("refractiveIndex"), jsonObject); + } + cachedSphereMaps.put(sphere, costMap); + } + + JSONObject matchingObject = costMap.get(tFrameGoodsVO.getRefractiveIndex()); + if (matchingObject != null) { + tFrameGoodsVO.setSale(matchingObject.getString("sales")); + tFrameGoodsVO.setCost(matchingObject.getString("cost")); + } + } + } -- Gitblit v1.7.1