浏览代码

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

- 在系统配置中添加"award_integral_price"字段,用于设置分红积分基准价格
- 添加对分红积分基准价格的验证,确保其值大于 0
- 优化了代码格式,调整了数组元素的缩进
kirin 5 月之前
父节点
当前提交
d552b2328b

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

@@ -57,7 +57,7 @@ class AwardIntegralPriceRepository extends BaseRepository
         $time_end = strtotime($day) + 86400;
         //todo 业绩
         $achievement = StoreOrder::where('paid', 1)
-            ->whereBetween('create_time', [$time_start, $time_end])
+            ->whereBetween('create_time', [$day . ' 00:00:00', $day . ' 23:59:59'])
             ->where('is_del', 0)->where('is_system_del', 0)
             ->where('status', '>=', 0)
             ->sum('total_price');
@@ -65,7 +65,7 @@ class AwardIntegralPriceRepository extends BaseRepository
         $achievement = bcmul((string)$achievement, '0.05', 2);
         /** @var UserExtractRepository $extractRepositories */
         $extractRepositories = app()->make(UserExtractRepository::class);
-        $commission = $extractRepositories->search(['status' => 1])  ->whereBetween('create_time', [$time_start, $time_end])->sum('commission');
+        $commission = $extractRepositories->search(['status' => 1])->whereBetween('create_time', [$time_start, $time_end])->sum('commission');
         @file_put_contents('yesterday.txt', UserExtract::getLastSql() . PHP_EOL, FILE_APPEND);
         $userService = app()->make(UserRepository::class);
         $num = $userService->search(['status' => 1])->sum('award_integral');

+ 22 - 0
app/common/repositories/user/UserRepository.php

@@ -2675,4 +2675,26 @@ class UserRepository extends BaseRepository
     {
         return app()->make(AwardIntegralPriceRepository::class)->awardIntegralPrice();
     }
+
+    public function checkAward($uid)
+    {
+        $info = $this->dao->get($uid);
+        if ($info['award_range'] > 0) {
+            $price = $this->awardIntegralPrice();
+            if ($price['price'] > 0) {
+                $all_price = bcmul($info['award_integral'], $price['price']);
+                if ($all_price >= $info['award_range']) {
+                    $this->extractIntegral($uid);
+                }
+            }
+        } else {
+            if ($info['award_integral'] > 0)
+                $this->dao->update($uid, ['award_integral' => 0]);
+        }
+    }
+
+    public function extractIntegral($uid)
+    {
+        
+    }
 }