114 lines
3.8 KiB
PHP
114 lines
3.8 KiB
PHP
<?php
|
|
namespace app\controller\api\store\user;
|
|
|
|
use app\common\repositories\user\IntegralGiveRecordRepository;
|
|
use app\common\repositories\user\IntegralRepository;
|
|
use app\common\repositories\user\UserBillRepository;
|
|
use app\common\repositories\user\UserMerchantRepository;
|
|
use app\common\repositories\user\UserRepository;
|
|
use crmeb\basic\BaseController;
|
|
use EasyWeChat\Support\Log;
|
|
use Exception;
|
|
use think\App;
|
|
use think\facade\Db;
|
|
|
|
/**
|
|
* Common: 客户管理
|
|
* Author: wu-hui
|
|
* Time: 2023/11/09 16:58
|
|
* Class UserMerchant
|
|
* @package app\controller\merchant\user
|
|
*/
|
|
class UserMerchant extends BaseController{
|
|
|
|
/**
|
|
* @var UserMerchantRepository
|
|
*/
|
|
protected $repository;
|
|
|
|
/**
|
|
* UserMerchant constructor.
|
|
* @param App $app
|
|
* @param UserMerchantRepository $repository
|
|
*/
|
|
public function __construct(App $app, UserMerchantRepository $repository)
|
|
{
|
|
parent::__construct($app);
|
|
$this->repository = $repository;
|
|
}
|
|
|
|
|
|
/**
|
|
* Common: 列表获取
|
|
* Author: wu-hui
|
|
* Time: 2023/11/09 17:04
|
|
* @param $merId
|
|
* @return mixed
|
|
*/
|
|
public function getList($merId){
|
|
$where = $this->request->params(['nickname','default_consume_id']);
|
|
$where['mer_id'] = $merId;
|
|
if((int)$where['default_consume_id'] > 0) $where['uids'] = [$where['default_consume_id']] ?? [];
|
|
[$page, $limit] = $this->getPage();
|
|
|
|
return app('json')->success($this->repository->getList($where, $page, $limit));
|
|
}
|
|
/**
|
|
* Common: 商户赠送积分(客户积分变更)
|
|
* Author: wu-hui
|
|
* Time: 2023/11/10 11:28
|
|
* @param $merId
|
|
* @return mixed
|
|
*/
|
|
public function integralChange($merId){
|
|
$params = $this->request->params(['uid','pm','number','voucher_image']);
|
|
$params['number'] = abs($params['number']);
|
|
// 变更操作
|
|
try {
|
|
Db::transaction(function () use ($merId, $params) {
|
|
// 变更记录
|
|
$giveRecord = app()->make(IntegralGiveRecordRepository::class)->create([
|
|
'operate_uid' => $this->request->uid(),
|
|
'uid' => $params['uid'],
|
|
'mer_id' => $merId,
|
|
'number' => $params['number'],
|
|
'voucher_image' => $params['voucher_image'],
|
|
]);
|
|
// 总积分到账 & 记录总平台积分变更日志
|
|
app()->make(UserRepository::class)->incIntegral((int)$params['uid'],$params['number'],'商户赠送积分','mer_give',[
|
|
'link_id' => $giveRecord->record_id,
|
|
'number' => $params['number'],
|
|
'mark' => '商户赠送积分' . $params['number']
|
|
]);
|
|
// 商户积分变更
|
|
app()->make(IntegralRepository::class)->changeIntegral((int)$params['uid'],(int)$merId,$params['number']);
|
|
// 记录商户端积分变更日志
|
|
$user = app()->make(UserRepository::class)->get($params['uid']);
|
|
app()->make(UserBillRepository::class)->create([
|
|
'uid' => $params['uid'],
|
|
'link_id' => $giveRecord->record_id,
|
|
'pm' => $params['pm'],
|
|
'title' => '商户赠送积分',
|
|
'category' => 'mer_integral',
|
|
'type' => 'mer_give',
|
|
'number' => $params['number'],
|
|
'balance' => $user->integral,
|
|
'mark' => '商户赠送积分'.$params['number'],
|
|
'mer_id' => $merId,
|
|
'status' => 1
|
|
]);
|
|
});
|
|
|
|
return app('json')->success('操作成功');
|
|
} catch (\Throwable $e) {
|
|
return app('json')->fail($e->getMessage());
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|