From 1fc5510367dcf321ac85e50e31c9dcdaaf5cd09e Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Wed, 21 Dec 2022 11:56:27 +0800
Subject: [PATCH] 20221221

---
 src/main/java/cc/mrbird/febs/common/enumerates/StarRatingEnum.java |   35 +++++++++++++++++++++++++++--------
 1 files changed, 27 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..b0cbafa 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,21 @@
         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;
+    }
+
     public static void main(String[] args) {
         String s = StarRatingEnum.NORMAL.belongStarRating(String.valueOf(100));
         System.out.println(s);

--
Gitblit v1.9.1