new-admin-api/app/controller/api/user/Member.php

105 lines
3.2 KiB
PHP

<?php
namespace app\controller\api\user;
use app\common\model\user\UserBill;
use app\common\repositories\system\merchant\MerchantRepository;
use app\common\repositories\user\UserBillRepository;
use crmeb\basic\BaseController;
use app\common\repositories\user\FeedbackRepository;
use think\App;
class Member extends BaseController{
protected $repository;
public function __construct(App $app, UserBillRepository $repository){
parent::__construct($app);
$this->repository = $repository;
}
public function getMemberValue(){
$where = [
'uid' => $this->request->uid(),
'category' => 'sys_members',
];
$data = $this->repository->month($where);
return app('json')->success($data);
}
/**
* Common: 资源股东 - 统计
* Author: wu-hui
* Time: 2024/05/28 11:31
* @return mixed
*/
public function shareholdersStatistics(){
$uid = $this->request->uid();
$query = app()->make(UserBillRepository::class)->getSearch([]);
$data = [
[
'title' => '总收益',
'num' => $query->where(['uid' => $uid,'category' => 'brokerage','type' => 'resource_shareholders'])->sum('number')
],
[
'title' => '待结算',
'num' => $query->where(['uid' => $uid,'category' => 'brokerage','type' => 'resource_shareholders', 'status'=>0])->sum('number')
],
[
'title' => '已退款',
'num' => $query->where(['uid' => $uid,'category' => 'brokerage','type' => 'refund_shareholders'])->sum('number')
]
];
return app('json')->success($data);
}
/**
* Common: 资源股东 - 关联的商户列表
* Author: wu-hui
* Time: 2024/05/28 10:29
* @return mixed
*/
public function shareholdersMerList(){
$uid = $this->request->uid();
[$page, $limit] = $this->getPage();
// 信息获取
$query = app()->make(MerchantRepository::class)
->getSearch(['resource_shareholders_uid' => $uid])
->field('mer_id,mer_name,mer_avatar,resource_shareholders_rate');
$count = $query->count();
$list = $query->page($page,$limit)->select();
return app('json')->success(compact('count','list'));
}
/**
* Common: 资源股东 - 相关订单列表
* Author: wu-hui
* Time: 2024/05/28 13:57
* @return mixed
*/
public function shareholdersOrderList(){
$uid = $this->request->uid();
[$page, $limit] = $this->getPage();
// 查询
$query = (new UserBill())
->alias('a')
->join('store_order so','so.order_id = a.link_id')
->field('a.number,a.status,a.mark,a.create_time,a.pm,so.order_sn,so.order_id')
->where('a.category', 'brokerage')
->whereIn('a.type', ['resource_shareholders','refund_shareholders'])
->where('a.uid', $uid)
->order('a.link_id DESC');
$count = $query->count();
$list = $query->page($page,$limit)->select();
return app('json')->success(compact('count','list'));
}
}