From 194ecd2dbc3a9c7eccfe5d9809ff947715960465 Mon Sep 17 00:00:00 2001
From: sinake <sinake1@qq.com>
Date: 星期二, 13 十月 2026 17:32:14 +0800
Subject: [PATCH] 上传命名规则调整

---
 ruoyi-project/src/main/java/com/ruoyi/project/service/ExpertFeeCheckResult.java |  121 ++++++++++++++++++++++++++++++++++++++++
 1 files changed, 121 insertions(+), 0 deletions(-)

diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/service/ExpertFeeCheckResult.java b/ruoyi-project/src/main/java/com/ruoyi/project/service/ExpertFeeCheckResult.java
new file mode 100644
index 0000000..c5a3de5
--- /dev/null
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/service/ExpertFeeCheckResult.java
@@ -0,0 +1,121 @@
+package com.ruoyi.project.service;
+
+import com.ruoyi.project.domain.ServiceFunddetailVO;
+import lombok.Data;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 涓撳鍔冲姟璐规牎楠岀粨鏋�
+ *
+ * 鍖哄垎涓ょ被缁撴灉锛�
+ * - errors   闃绘柇鎬ч棶棰橈細缁忓姙浜轰笉鑳戒繚瀛樸�佸鎵逛汉涓嶈兘瀹℃壒閫氳繃
+ * - warnings 鎻愮ず鎬ч棶棰橈細涓嶉樆鏂祦绋嬶紝浠呮彁绀虹粡鍔炰汉鑷澶勭悊锛堣鍒� 5銆�6锛�
+ *
+ * @author ruoyi
+ */
+@Data
+public class ExpertFeeCheckResult {
+
+    /** 闃绘柇鎬ч敊璇紙瓒呴檺棰濈瓑锛� */
+    private List<String> errors = new ArrayList<>();
+
+    /** 鎻愮ず淇℃伅锛堝悓涓�涓撳璺ㄩ」鐩彇楂樸�佺浜屽櫒瀹樿秴 500 绛夛級 */
+    private List<String> warnings = new ArrayList<>();
+
+    public void addError(String message) {
+        this.errors.add(message);
+    }
+
+    public void addWarning(String message) {
+        this.warnings.add(message);
+    }
+
+    /** 鏄惁瀛樺湪闃绘柇鎬ч棶棰� */
+    public boolean hasError() {
+        return !this.errors.isEmpty();
+    }
+
+    public boolean hasWarning() {
+        return !this.warnings.isEmpty();
+    }
+
+    /** 閿欒淇℃伅鎷间负涓�琛岋紝渚夸簬鎺ュ彛鐩存帴杩斿洖 */
+    public String errorMessage() {
+        return String.join("锛�", this.errors);
+    }
+
+    /** 鎻愮ず淇℃伅鎷间负涓�琛� */
+    public String warningMessage() {
+        return String.join("锛�", this.warnings);
+    }
+
+    /** 閿欒 + 鎻愮ず鍚堝苟锛堢敤浜庡墠绔竴娆℃�у睍绀猴級 */
+    public String allMessage() {
+        List<String> all = new ArrayList<>();
+        all.addAll(this.errors);
+        all.addAll(this.warnings);
+        return String.join("锛�", all);
+    }
+
+    /**
+     * 鏍¢獙鐢ㄧ殑鏄庣粏琛岋紙鎶婇噾棰濈粺涓�鎴� BigDecimal锛岄伩鍏嶅悗缁� double 杩愮畻锛�
+     */
+    @Data
+    public static class DetailRow {
+        /** 鏄庣粏涓婚敭锛堣惤搴撳悗鎵嶆湁鍊硷級 */
+        private Long id;
+        private Long fundid;
+        private Long infoid;
+        private Long itemid;
+        private String itemname;
+        private String idcardno;
+        private String servicesscopename;
+        /** 绋庡墠閲戦 */
+        private java.math.BigDecimal amount;
+        /** 绋庡悗閲戦 */
+        private java.math.BigDecimal taxedamount;
+
+        public static DetailRow of(ServiceFunddetailVO vo) {
+            DetailRow row = new DetailRow();
+            row.setId(vo.getId());
+            row.setFundid(vo.getFundid());
+            row.setInfoid(vo.getInfoid());
+            row.setItemid(vo.getItemid());
+            row.setItemname(vo.getItemname());
+            row.setIdcardno(vo.getIdcardno());
+            row.setServicesscopename(vo.getServicesscopename());
+            row.setAmount(toDecimal(vo.getAmount()));
+            row.setTaxedamount(toDecimal(vo.getTaxedamount()));
+            return row;
+        }
+
+        private static java.math.BigDecimal toDecimal(Double value) {
+            return value == null ? java.math.BigDecimal.ZERO : java.math.BigDecimal.valueOf(value);
+        }
+
+        /** 璐圭敤璇存槑鏄惁鍖呭惈鍏抽敭瀛楋紙璐圭敤璇存槑鍙兘涓虹┖锛� */
+        public boolean scopeContains(String keyword) {
+            return this.servicesscopename != null && this.servicesscopename.contains(keyword);
+        }
+
+        /**
+         * 璐圭敤璇存槑鏄惁鍖呭惈浠讳竴鍏抽敭瀛楋紙璐圭敤璇存槑鍙兘涓虹┖锛夈��
+         *
+         * <p>鍚屼竴鍦烘櫙鍦ㄤ笉鍚岀幆澧�/骞村害鐨勪笅鎷夋枃鏈笉涓�鑷达紙濡傘�屽競鍐呫�嶄笌銆屾湰甯傘�嶏級锛�
+         * 鐢ㄥ叧閿瓧闆嗗悎鍏煎锛岄伩鍏嶅洜鏂囨宸紓瀵艰嚧闄愰鏍¢獙闈欓粯澶辨晥銆�
+         */
+        public boolean scopeContainsAny(String... keywords) {
+            if (this.servicesscopename == null || keywords == null) {
+                return false;
+            }
+            for (String keyword : keywords) {
+                if (keyword != null && this.servicesscopename.contains(keyword)) {
+                    return true;
+                }
+            }
+            return false;
+        }
+    }
+}

--
Gitblit v1.9.3