| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- <?php
- // +----------------------------------------------------------------------
- // | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
- // +----------------------------------------------------------------------
- // | Copyright (c) 2016~2023 https://www.crmeb.com All rights reserved.
- // +----------------------------------------------------------------------
- // | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
- // +----------------------------------------------------------------------
- // | Author: CRMEB Team <admin@crmeb.com>
- // +----------------------------------------------------------------------
- declare (strict_types=1);
- namespace app\services\user;
- use app\dao\user\UserGiftQuotaDao;
- use app\services\BaseServices;
- use crmeb\exceptions\AdminException;
- use think\facade\Log;
- /**
- * 礼包额度服务
- * Class UserGiftQuotaServices
- * @package app\services\user
- */
- class UserGiftQuotaServices extends \app\services\BaseServices
- {
- /**
- * 礼包额度记录类型
- * @var array
- */
- protected $incomeData = [
- 'order_gift_quota' => [
- 'title' => '购买礼包赠送额度',
- 'type' => 'order_gift_quota',
- 'mark' => '购买礼包商品消费{%pay_price%}元,赠送额度{%number%}',
- 'status' => 1,
- 'pm' => 1
- ],
- ];
- /**
- * UserGiftQuotaServices constructor.
- * @param UserGiftQuotaDao $dao
- */
- public function __construct(UserGiftQuotaDao $dao)
- {
- $this->dao = $dao;
- }
- /**
- * 写入礼包额度记录
- * @param string $type 写入类型
- * @param int $uid
- * @param int|string|array $number
- * @param int|string $balance
- * @param $linkId
- * @return bool|mixed
- */
- public function income(string $type, int $uid, $number, $balance, $linkId)
- {
- $data = $this->incomeData[$type] ?? null;
- if (!$data) {
- return true;
- }
- $data['uid'] = $uid;
- $data['balance'] = $balance ?? 0;
- $data['link_id'] = $linkId;
- if (is_array($number)) {
- $key = array_keys($number);
- $key = array_map(function ($item) {
- return '{%' . $item . '%}';
- }, $key);
- $value = array_values($number);
- $data['number'] = $number['number'] ?? 0;
- $data['mark'] = str_replace($key, $value, $data['mark']);
- } else {
- $data['number'] = $number;
- $data['mark'] = str_replace(['{%number%}'], $number, $data['mark']);
- }
- $data['add_time'] = time();
- return $this->dao->save($data);
- }
- }
|