Bläddra i källkod

feat(admin): 添加分红积分基准价格设置并进行有效性验证

- 在系统配置中添加"award_integral_price"字段,用于设置分红积分基准价格
- 添加对分红积分基准价格的验证,确保其值大于 0
- 优化了代码格式,调整了数组元素的缩进
kirin 5 månader sedan
förälder
incheckning
cd6691a3f5
1 ändrade filer med 7 tillägg och 2 borttagningar
  1. 7 2
      app/common/repositories/user/AwardIntegralPriceRepository.php

+ 7 - 2
app/common/repositories/user/AwardIntegralPriceRepository.php

@@ -15,6 +15,7 @@ namespace app\common\repositories\user;
 
 
 use app\common\dao\user\AwardIntegralPriceDao;
+use app\common\model\store\order\StoreOrder;
 use app\common\model\user\AwardIntegralPrice;
 use app\common\repositories\BaseRepository;
 
@@ -52,13 +53,17 @@ class AwardIntegralPriceRepository extends BaseRepository
             $basePrice = systemConfig('award_integral_price', 0.1);
         }
         //todo 业绩
-        $achievement = 0;
+        $achievement = StoreOrder::where('paid', 1)->whereTime('add_time', $day)->where('refund_status', 0)
+            ->where('is_del', 0)->where('is_system_del', 0)
+            ->where('status', '>=', 0)
+            ->sum('total_price');
+        $achievement = bcmul((string)$achievement, '0.05', 2);
         /** @var UserExtractRepository $extractRepositories */
         $extractRepositories = app()->make(UserExtractRepository::class);
         $commission = $extractRepositories->search(['status' => 1])->whereTime('check_time', $day)->sum('commission');
         $userService = app()->make(UserRepository::class);
         $num = $userService->search(['status' => 1])->sum('award_integral');
-        $sum_achievement = $commission + $achievement;
+        $sum_achievement = bcadd((string)$commission, (string)$achievement, 2);
 
         $rise = $num > 0 ? bcdiv($sum_achievement, $num, 3) : 0;
         $price = bcadd($rise, $basePrice, 3);