|
|
@@ -2,8 +2,10 @@
|
|
|
|
|
|
namespace app\jobs\integral;
|
|
|
|
|
|
+use app\services\user\UserAwardIntegralServices;
|
|
|
use crmeb\basic\BaseJobs;
|
|
|
use crmeb\traits\QueueTrait;
|
|
|
+use think\facade\Log;
|
|
|
|
|
|
/**
|
|
|
* 订单消息队列
|
|
|
@@ -17,12 +19,32 @@ class IntegralJob extends BaseJobs
|
|
|
|
|
|
public function dealOrderIntegral($order)
|
|
|
{
|
|
|
- $integral_price =
|
|
|
+ /** @var UserAwardIntegralServices $awardIntegralService */
|
|
|
+ $awardIntegralService = app()->make(UserAwardIntegralServices::class);
|
|
|
+ $integral_price = $awardIntegralService->getPrice($order['id']);
|
|
|
$total_price = $order['total_price'];
|
|
|
- $static_integral_ratio = sys_config('static_integral_ratio', 0);
|
|
|
- $give_static_integral = bcdiv(bcmul($total_price, $static_integral_ratio), 100, 2);
|
|
|
-
|
|
|
|
|
|
+ try {
|
|
|
+ //添加静态积分
|
|
|
+ $static_integral_ratio = sys_config('static_integral_ratio', 0);
|
|
|
+ $give_static_integral = bcdiv(bcmul($total_price, $static_integral_ratio), 100, 2);
|
|
|
+ if ($give_static_integral > 0) {
|
|
|
+ $rate = sys_config('static_integral_rate', 3);
|
|
|
+ $extract_sum = bcmul($total_price, $rate, 2);
|
|
|
+ $mark = '购买商品,获得静态积分';
|
|
|
+ $awardIntegralService->incIntegral($order['uid'], $integral_price, $give_static_integral, 0, $extract_sum, $order['id'], $mark);
|
|
|
+ }
|
|
|
+ //添加奖池
|
|
|
+ $lake_ratio = sys_config('lake_ratio', 0);
|
|
|
+ $add_lake = bcdiv(bcmul($total_price, $lake_ratio), 100, 2);
|
|
|
+ if ($add_lake > 0) {
|
|
|
+ $mark = '用户' . $order['uid'] . '购买商品,添加资金池';
|
|
|
+ $awardIntegralService->addLake($add_lake, $order['id'], $mark);
|
|
|
+ }
|
|
|
+ //TODO 加动态积分
|
|
|
+ } catch (\Throwable $e) {
|
|
|
+ Log::error('处理积分奖池失败,失败原因:' . $e->getMessage());
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -39,17 +61,5 @@ class IntegralJob extends BaseJobs
|
|
|
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * 加积分
|
|
|
- * @param int $uid 用户
|
|
|
- * @param float $static 静态积分
|
|
|
- * @param float $action 动态积分
|
|
|
- * @param float $cash 资金池
|
|
|
- * @param int $link_id 关联ID
|
|
|
- * @param string $mark 备注
|
|
|
- */
|
|
|
- public function incIntegral(int $uid, float $static, float $action, float $cash, int $link_id = 0, string $mark = '')
|
|
|
- {
|
|
|
|
|
|
- }
|
|
|
}
|