From 46c9df6a151464011dec997d12b83f31eda83bcb Mon Sep 17 00:00:00 2001 From: wuhui_zzw <1760308791@qq.com> Date: Tue, 28 May 2024 14:44:25 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=EF=BC=9A=E8=B5=84=E6=BA=90?= =?UTF-8?q?=E8=82=A1=E4=B8=9C=E8=87=AA=E5=8A=A8=E7=BB=93=E7=AE=97=E9=94=99?= =?UTF-8?q?=E8=AF=AF=20=E4=BF=AE=E5=A4=8D=EF=BC=9A=E8=B5=84=E6=BA=90?= =?UTF-8?q?=E8=82=A1=E4=B8=9C=E7=BB=93=E7=AE=97=E5=90=8E=E6=8F=90=E7=8E=B0?= =?UTF-8?q?=E4=BD=A3=E9=87=91=E6=97=A0=E5=8F=98=E5=8C=96=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98=20=E5=A2=9E=E5=8A=A0=EF=BC=9A=E8=B5=84=E6=BA=90?= =?UTF-8?q?=E8=82=A1=E4=B8=9C=E7=A7=BB=E5=8A=A8=E7=AB=AF=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E7=9B=B8=E5=85=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/common/dao/user/UserBillDao.php | 8 +- .../store/order/StoreOrderRepository.php | 2 +- .../repositories/user/UserBillRepository.php | 2 + app/controller/api/user/Member.php | 84 +++++++++++++++++-- route/api.php | 9 +- 5 files changed, 92 insertions(+), 13 deletions(-) diff --git a/app/common/dao/user/UserBillDao.php b/app/common/dao/user/UserBillDao.php index 9d6737c..6dad448 100644 --- a/app/common/dao/user/UserBillDao.php +++ b/app/common/dao/user/UserBillDao.php @@ -54,7 +54,7 @@ class UserBillDao extends BaseDao public function getTimeoutBrokerageBill($time) { return UserBill::getDB()->where('create_time', '<=', $time)->where('category', 'brokerage') - ->whereIn('type', ['order_one', 'order_two'])->with('user')->where('status', 0)->select(); + ->whereIn('type', ['order_one', 'order_two','resource_shareholders'])->with('user')->where('status', 0)->select(); } public function getTimeoutIntegralBill($time) @@ -104,7 +104,7 @@ class UserBillDao extends BaseDao public function lockBrokerage($uid) { $lst = UserBill::getDB()->where('category', 'brokerage') - ->whereIn('type', ['order_one', 'order_two'])->where('uid', $uid)->where('status', 0)->field('link_id,number')->select()->toArray(); + ->whereIn('type', ['order_one', 'order_two','resource_shareholders'])->where('uid', $uid)->where('status', 0)->field('link_id,number')->select()->toArray(); $refundPrice = 0; if (count($lst)) { $refundPrice = -1 * UserBill::getDB()->whereIn('link_id', array_column($lst, 'link_id'))->where('uid', $uid) @@ -164,7 +164,7 @@ class UserBillDao extends BaseDao public function totalBrokerage($uid) { return bcsub(UserBill::getDB()->where('category', 'brokerage') - ->whereIn('type', ['order_one', 'order_two'])->where('uid', $uid)->sum('number'), + ->whereIn('type', ['order_one', 'order_two','resource_shareholders'])->where('uid', $uid)->sum('number'), UserBill::getDB()->where('uid', $uid) ->where('category', 'brokerage')->whereIn('type', ['refund_two', 'refund_one'])->sum('number'), 2); } @@ -178,7 +178,7 @@ class UserBillDao extends BaseDao public function yesterdayBrokerage($uid) { return getModelTime(UserBill::getDB()->where('category', 'brokerage') - ->whereIn('type', ['order_one', 'order_two'])->where('uid', $uid), 'yesterday')->sum('number'); + ->whereIn('type', ['order_one', 'order_two','resource_shareholders'])->where('uid', $uid), 'yesterday')->sum('number'); } /** diff --git a/app/common/repositories/store/order/StoreOrderRepository.php b/app/common/repositories/store/order/StoreOrderRepository.php index 44f827c..e78020d 100644 --- a/app/common/repositories/store/order/StoreOrderRepository.php +++ b/app/common/repositories/store/order/StoreOrderRepository.php @@ -412,7 +412,7 @@ class StoreOrderRepository extends BaseRepository // 记录用户流水 app()->make(UserBillRepository::class)->incBill($rsUid, 'brokerage', 'resource_shareholders', [ 'link_id' => $order->order_id, - 'status' => 1, + 'status' => 0, 'title' => '资源股东收益', 'number' =>$resourceShareholdersMoney, 'mark' => $provinceHereMerchant['mer_name'] . '产生订单,获得资源股东收益' . $resourceShareholdersMoney, diff --git a/app/common/repositories/user/UserBillRepository.php b/app/common/repositories/user/UserBillRepository.php index 64ebfd0..480f6c2 100644 --- a/app/common/repositories/user/UserBillRepository.php +++ b/app/common/repositories/user/UserBillRepository.php @@ -34,6 +34,8 @@ class UserBillRepository extends BaseRepository 'brokerage/order_two' => '获得二级推广佣金', 'brokerage/refund_one' => '退还一级佣金', 'brokerage/refund_two' => '退还二级佣金', + 'brokerage/resource_shareholders' => '资源股东佣金', + 'brokerage/refund_shareholders' => '退还资源股东佣金', 'integral/cancel' => '退回积分', 'integral/deduction' => '购买商品', 'integral/points' => '兑换商品', diff --git a/app/controller/api/user/Member.php b/app/controller/api/user/Member.php index 59c1c50..b376417 100644 --- a/app/controller/api/user/Member.php +++ b/app/controller/api/user/Member.php @@ -5,23 +5,22 @@ 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 -{ +class Member extends BaseController{ protected $repository; - public function __construct(App $app, UserBillRepository $repository) - { + public function __construct(App $app, UserBillRepository $repository){ parent::__construct($app); $this->repository = $repository; } - public function getMemberValue() - { + public function getMemberValue(){ $where = [ 'uid' => $this->request->uid(), 'category' => 'sys_members', @@ -29,4 +28,77 @@ class Member extends BaseController $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')); + } + + + } diff --git a/route/api.php b/route/api.php index 18a8eb6..d957d07 100644 --- a/route/api.php +++ b/route/api.php @@ -197,9 +197,15 @@ Route::group('api/', function () { //客服列表 Route::get('services', 'User/services'); - Route::get('member/info', 'User/memberInfo'); Route::get('member/log', 'Member/getMemberValue'); + + // 资源股东 + Route::get('shareholders/statistics', 'Member/shareholdersStatistics'); + Route::get('shareholders/mer_list', 'Member/shareholdersMerList'); + Route::get('shareholders/order_list', 'Member/shareholdersOrderList'); + + })->prefix('api.user.'); //购物车 Route::group('user/cart', function () { @@ -452,7 +458,6 @@ Route::group('api/', function () { - })->middleware(UserTokenMiddleware::class, true); //非强制登录 Route::group(function () {