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