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 | 66 +++++++++++++++++++++++++++++++++ 1 files changed, 66 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 6099a03..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,13 +1,28 @@ 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; import com.jilongda.manage.mapper.TFrameGoodsMapper; import com.jilongda.manage.mapper.TLensGoodsMapper; +import com.jilongda.manage.model.SecSetting; import com.jilongda.manage.model.TFrameGoods; import com.jilongda.manage.model.TLensGoods; +import com.jilongda.manage.query.TFrameGoodsQuery; +import com.jilongda.manage.query.TLensGoodsQuery; import com.jilongda.manage.service.TFrameGoodsService; import com.jilongda.manage.service.TLensGoodsService; +import com.jilongda.manage.vo.TFrameGoodsVO; +import com.jilongda.manage.vo.TLensGoodsVO; 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> @@ -21,4 +36,55 @@ public class TLensGoodsServiceImpl extends ServiceImpl<TLensGoodsMapper, TLensGoods> implements TLensGoodsService { + @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()); + List<TLensGoodsVO> list = this.baseMapper.lensReceiptList(query, pageInfo); + SecSetting secSetting = secSettingMapper.selectOne(null); + for (TLensGoodsVO tFrameGoodsVO : list) { + 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