From 73b3813c2d110bf446f251350f120bb1e2b51d0c Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Tue, 10 Jan 2023 10:45:14 +0800
Subject: [PATCH] 20221227 充值归集

---
 src/main/java/cc/mrbird/febs/common/enumerates/StarRatingEnum.java |   63 +++++++++++++++++++++++++++----
 1 files changed, 55 insertions(+), 8 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/common/enumerates/StarRatingEnum.java b/src/main/java/cc/mrbird/febs/common/enumerates/StarRatingEnum.java
index 20c120e..ee66ed0 100644
--- a/src/main/java/cc/mrbird/febs/common/enumerates/StarRatingEnum.java
+++ b/src/main/java/cc/mrbird/febs/common/enumerates/StarRatingEnum.java
@@ -3,16 +3,17 @@
 import lombok.Getter;
 
 import java.math.BigDecimal;
+//商品星级
 @Getter
 public enum StarRatingEnum {
     /**
      * 定级规则
      *      大于最小值,小于等于最大值
      */
-    NORMAL("普通",0,30),
-    ONE_STAR("一星",30,50),
-    TWO_STAR("二星",50,100),
-    THREE_STAR("三星",100,200);
+    NORMAL("普通",0,30,1),
+    ONE_STAR("一星",30,50,2),
+    TWO_STAR("二星",50,100,3),
+    THREE_STAR("三星",100,200,4);
 
     private String name;
 
@@ -20,10 +21,13 @@
 
     private Integer maxValue;
 
-    StarRatingEnum(String name,Integer minValue, Integer maxValue) {
+    private Integer code;
+
+    StarRatingEnum(String name,Integer minValue, Integer maxValue,Integer code) {
         this.name = name;
         this.minValue = minValue;
         this.maxValue = maxValue;
+        this.code = code;
     }
 
     /**
@@ -33,10 +37,10 @@
      */
     public String belongStarRating(String price){
         String name = StarRatingEnum.NORMAL.name;
-        BigDecimal priceBig = new BigDecimal(price).setScale(BigDecimal.ROUND_DOWN,2);
+        BigDecimal priceBig = new BigDecimal(price).setScale(2,BigDecimal.ROUND_DOWN);
         for (StarRatingEnum starRatingEnum : StarRatingEnum.values()) {
-            BigDecimal minValue = new BigDecimal(starRatingEnum.minValue).setScale(BigDecimal.ROUND_DOWN, 2);
-            BigDecimal maxValue = new BigDecimal(starRatingEnum.maxValue).setScale(BigDecimal.ROUND_DOWN, 2);
+            BigDecimal minValue = new BigDecimal(starRatingEnum.minValue).setScale(2, BigDecimal.ROUND_DOWN);
+            BigDecimal maxValue = new BigDecimal(starRatingEnum.maxValue).setScale(2, BigDecimal.ROUND_DOWN);
             if(priceBig.compareTo(minValue) > 0 && priceBig.compareTo(maxValue) <= 0){
                 name = starRatingEnum.name;
             }
@@ -44,6 +48,49 @@
         return name;
     }
 
+    /**
+     * 根据输入的商品星级获取对应的Code
+     * @param name
+     * @return
+     */
+    public Integer getGoodsStarCode(String name){
+        Integer code = 0;
+        for(StarRatingEnum starRatingEnum : StarRatingEnum.values()){
+            if(starRatingEnum.name.equals(name)){
+                code = starRatingEnum.code;
+            }
+        }
+        return  code;
+    }
+
+    /**
+     * 获取商品可以设置的最小价格
+     * @return
+     */
+    public Integer getMinValue(){
+        Integer totalMinvalue = 0;
+        for(StarRatingEnum starRatingEnum : StarRatingEnum.values()){
+            if(starRatingEnum.minValue < totalMinvalue){
+                totalMinvalue = starRatingEnum.minValue;
+            }
+        }
+        return totalMinvalue;
+    }
+
+    /**
+     * 获取商品可以设置的最大价格
+     * @return
+     */
+    public Integer getMaxValue(){
+        Integer totalMaxValue = 0;
+        for(StarRatingEnum starRatingEnum : StarRatingEnum.values()){
+            if(starRatingEnum.maxValue > totalMaxValue){
+                totalMaxValue = starRatingEnum.maxValue;
+            }
+        }
+        return totalMaxValue;
+    }
+
     public static void main(String[] args) {
         String s = StarRatingEnum.NORMAL.belongStarRating(String.valueOf(100));
         System.out.println(s);

--
Gitblit v1.9.1