package org.jeecg.modules.system.app.utils;

import com.google.gson.Gson;
import org.jeecg.modules.system.app.entity.AppSitePriceRules;

import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.Date;

/**
 * @author DM
 * @date 2025/7/3 20:39
 * @description
 */
public class CusUtil {
    /**
     *
     * @param rate
     * @return
     */
    /**
     * 计算好评率并返回 BigDecimal 类型
     *
     * @param totalReviews  总评价数
     * @param goodReviews   好评数
     * @return BigDecimal 好评率，保留一位小数，范围 [0.0, 100.0]
     */
    public static BigDecimal calculateGoodRate(int totalReviews, int goodReviews) {
        if (totalReviews <= 0) {
            return BigDecimal.ZERO.setScale(1, RoundingMode.HALF_UP);
        }

        BigDecimal total = new BigDecimal(totalReviews);
        BigDecimal good = new BigDecimal(goodReviews);

        // 计算百分比，并保留一位小数
        BigDecimal rate = good.divide(total, 3, RoundingMode.HALF_UP)
                .multiply(new BigDecimal("100"))
                .setScale(1, RoundingMode.HALF_UP);

        // 控制范围
        if (rate.compareTo(BigDecimal.ZERO) < 0) {
            return BigDecimal.ZERO;
        }
        if (rate.compareTo(new BigDecimal("100.0")) > 0) {
            return new BigDecimal("100.0");
        }

        return rate;
    }
    public static void LixTest(){

    }
    public static void main(String[] args) {
       LixTest();
    }
}