hrjy 3 роки тому
батько
коміт
46c4b93797

+ 2 - 2
app/admin/controller/auction/AuctionBooking.php

@@ -234,8 +234,8 @@ class AuctionBooking extends AuthController
             'uid' => $user['uid'],
             'pm' => 1,
             'title' => '预约卷退回',
-            'category' => '预约卷',
-            'type' => '预约卷',
+            'category' => 'anticipate',
+            'type' => 'add_anticipate',
             'number' => $data['anticipate'],
             'balance' => $user['anticipate'],
             'mark' => '后台操作退回',

+ 34 - 3
app/admin/controller/user/User.php

@@ -119,6 +119,8 @@ class User extends AuthController
         $f[] = Form::number('money', '余额')->min(0);
         $f[] = Form::radio('integration_status', '修改趣豆', 1)->options([['value' => 1, 'label' => '增加'], ['value' => 2, 'label' => '减少']]);
         $f[] = Form::number('integration', '趣豆')->min(0);
+        $f[] = Form::radio('anticipate_status', '修改预约卷', 1)->options([['value' => 1, 'label' => '增加'], ['value' => 2, 'label' => '减少']]);
+        $f[] = Form::number('anticipate', '预约券')->min(0);
         $form = Form::make_post_form('修改其他', $f, Url::buildUrl('update_other', array('uid' => $uid)));
         $this->assign(compact('form'));
         return $this->fetch('public/form-builder');
@@ -131,6 +133,8 @@ class User extends AuthController
             ['money', 0],
             ['integration_status', 0],
             ['integration', 0],
+            ['anticipate_status', 0],
+            ['anticipate', 0],
         ], $this->request);
         if (!$uid) return $this->failed('数据不存在');
         $user = UserModel::get($uid);
@@ -138,6 +142,7 @@ class User extends AuthController
         BaseModel::beginTrans();
         $res1 = false;
         $res2 = false;
+        $res3 = false;
         $edit = array();
         if ($data['money_status'] && $data['money']) {//余额增加或者减少
             if ($data['money_status'] == 1) {//增加
@@ -185,9 +190,34 @@ class User extends AuthController
         } else {
             $res2 = true;
         }
-        if ($edit) $res3 = UserModel::edit($edit, $uid);
-        else $res3 = true;
-        if ($res1 && $res2 && $res3) $res = true;
+
+        if ($data['anticipate_status'] && $data['anticipate']) {//趣豆增加或者减少
+            if ($data['anticipate_status'] == 1) {//增加
+                $edit['anticipate'] = bcadd($user['anticipate'], $data['anticipate'], 2);
+                $res3 = UserBillAdmin::income('系统增加预约券', $user['uid'], 'anticipate', 'add_anticipate', $data['anticipate'], $this->adminId, $edit['anticipate'], '系统增加了' . floatval($data['anticipate']) . '趣豆');
+                try {
+                    UserRepository::adminAddIntegral($user, $data['integration']);
+                } catch (\Exception $e) {
+                    BaseModel::rollbackTrans();
+                    return Json::fail($e->getMessage());
+                }
+            } else if ($data['anticipate_status'] == 2) {//减少
+                $edit['anticipate'] = bcsub($user['anticipate'], $data['anticipate'], 2);
+                $res3 = UserBillAdmin::expend('系统减少预约券', $user['uid'], 'anticipate', 'reduce_anticipate', $data['anticipate'], $this->adminId, $edit['anticipate'], '系统扣除了' . floatval($data['anticipate']) . '趣豆');
+                try {
+                    UserRepository::adminSubIntegral($user, $data['anticipate']);
+                } catch (\Exception $e) {
+                    BaseModel::rollbackTrans();
+                    return Json::fail($e->getMessage());
+                }
+            }
+        } else {
+            $res3 = true;
+        }
+
+        if ($edit) $res4 = UserModel::edit($edit, $uid);
+        else $res4 = true;
+        if ($res1 && $res2 && $res3 && $res4) $res = true;
         else $res = false;
         BaseModel::checkTrans($res);
         if ($res) return Json::successful('修改成功!');
@@ -366,6 +396,7 @@ class User extends AuthController
             ['status', 0],
             ['is_agent', 0],
             ['spread_time', ''],
+            ['anticipate']
         ]);
         if (!$uid) return $this->failed('数据不存在');
         $user = UserModel::get($uid);

+ 2 - 2
app/admin/view/store/store_product/create.php

@@ -754,7 +754,7 @@
                                     <div class="layui-col-xs12 layui-col-sm4 layui-col-md4">
                                         <div class="grid-demo grid-demo-bg1">
                                             <div class="layui-form-item">
-                                                <label class="layui-form-label">热卖单品</label>
+                                                <label class="layui-form-label">品</label>
                                                 <div class="layui-input-block">
                                                     <input type="radio" name="is_hot" lay-filter="is_hot" value="1" title="开启"
                                                            :checked="formData.is_hot == 1 ? true : false">
@@ -767,7 +767,7 @@
                                     <div class="layui-col-xs12 layui-col-sm4 layui-col-md4">
                                         <div class="grid-demo grid-demo-bg1">
                                             <div class="layui-form-item">
-                                                <label class="layui-form-label">促销单品</label>
+                                                <label class="layui-form-label">随意嗨购</label>
                                                 <div class="layui-input-block">
                                                     <input type="radio" name="is_benefit" lay-filter="is_benefit" value="1" title="开启"
                                                            :checked="formData.is_benefit == 1 ? true : false">

+ 77 - 2
app/api/controller/auction/AuctionController.php

@@ -4,8 +4,10 @@ namespace app\api\controller\auction;
 
 
 use app\models\auction\Auction;
+use app\models\auction\AuctionApply;
 use app\models\auction\AuctionBooking;
 use app\models\auction\AuctionGu;
+use app\models\auction\AuctionOrder;
 use app\models\auction\AuctionPay;
 use app\models\user\User;
 use app\models\user\UserBill;
@@ -145,9 +147,31 @@ class AuctionController
             [['page', 'd'], 0],
             [['limit', 'd'], 0],
         ], $request);
+        $user = User::where('spread_uid', $request->uid())->page($data['page'], $data['limit'])->field('uid,nickname,avatar')->order('uid DESC')->select();
+        $user = empty($user) ? [] : $user->toArray();
+        if ($user) {
+            foreach ($user as $k => $v){
+                $user[$k]['count'] = User::where('spread_uid',$v['uid'])->count(); // 粉丝人数
+                $user[$k]['money'] = AuctionOrder::where('uid', $v['uid'])
+                    ->whereBetweenTime('create_time', date('Y-m-d 00:00:00'), date('Y-m-d 00:00:00', strtotime('+1 day')))
+                    ->where('status', 3)
+                    ->sum('price');
+            }
+        }
+        $count =  User::where('spread_uid', $request->uid())->count(); // 粉丝人数
+        $active =  User::where('spread_uid', $request->uid())->whereBetweenTime('last_time', date('Y-m-d H:i:s', strtotime('-1 week')), date('Y-m-d H:i:s'))->count(); // 活跃人数
+        $money = AuctionOrder::where('uid', 'in', User::where('spread_uid', $request->uid())->column('uid'))
+            ->where('status', 3)
+            ->sum('price');
+        $data = [
+            'user' => $user, // 下级用户
+            'count' => $count, // 下级用户人数
+            'active' => $active,// 活跃人数
+            'money' => $money // 总金额
+        ];
 
-        $user = User::where('spread_uid', $request->uid())->page($data['page'], $data['limit'])->order('uid DESC')->select()->toArray();
-        return app('json')->successful($user);
+
+        return app('json')->successful($data);
     }
 
 
@@ -305,6 +329,14 @@ class AuctionController
         }
     }
 
+    /**
+     * 收款方式详情
+     * @param Request $request
+     * @return mixed
+     * @throws \think\db\exception\DataNotFoundException
+     * @throws \think\db\exception\DbException
+     * @throws \think\db\exception\ModelNotFoundException
+     */
     public function pay_list(Request $request)
     {
         $model = new AuctionPay();
@@ -324,6 +356,49 @@ class AuctionController
         return app('json')->successful($data);
     }
 
+    /**
+     * 馆长申请
+     * @param Request $request
+     * @return mixed
+     * @throws \think\db\exception\DataNotFoundException
+     * @throws \think\db\exception\DbException
+     * @throws \think\db\exception\ModelNotFoundException
+     */
+    public function apply(Request $request)
+    {
+        if (!AuctionApply::where('status', '>', 0)->find($request->uid())){
+            $res = AuctionApply::create([
+                'uid' => $request->uid()
+            ]);
+            if ($res)return app('json')->successful('申请成功');
+            return app('json')->fail('申请失败');
+        }
+        return app('json')->fail('已申请,请等待管理员操作');
+
+    }
+
+    public function apply_status(Request $request)
+    {
+        $data = AuctionApply::where('uid', $request->uid())->find($request->uid());
+        if (!$data){
+            return app('json')->successful(['status' => 0, 'str' => '未提交申请']); // 未提交申请
+        }
+        $data = AuctionApply::where([['status', '=', 1], ['uid', '=', $request->uid()]])->find();
+        if ($data){
+            return app('json')->successful(['status' => 1, 'str' => '待审核']);// 待审核
+        }
+        $data = AuctionApply::where([['status', '=', 2], ['uid', '=', $request->uid()]])->find();
+        if ($data){
+            return app('json')->successful(['status' => 2 ,'str' => '已完成']);// 已完成
+        }
+        $data = AuctionApply::where([['status', '=', 0], ['uid', '=', $request->uid()]])->find();
+        if ($data){
+            return app('json')->successful(['status' => 3, 'str' => '失败']);// 失败
+        }
+
+
+
+    }
 
 
 

+ 10 - 0
app/api/controller/user/UserController.php

@@ -3,6 +3,7 @@
 namespace app\api\controller\user;
 
 use app\http\validates\user\AddressValidate;
+use app\models\auction\AuctionOrder;
 use app\models\system\SystemCity;
 use think\exception\ValidateException;
 use app\Request;
@@ -56,6 +57,15 @@ class UserController
         $info['commissionCount'] = bcsub($info['brokerage_price'], $info['broken_commission'], 2);
         if ($info['commissionCount'] < 0)
             $info['commissionCount'] = 0;
+        $buy = AuctionOrder::where([['status', '=', 3], ['uid', '=', $request->uid()]])->sum('price');// 购买商品总额
+        $sell = AuctionOrder::where([['status', '=', 3], ['collection_id', '=', $request->uid()]])->sum('price');// 出售商品总额
+        if ($sell){
+            $info['profit'] = bcsub($sell, $buy, 2); // 收益
+        }else{
+            $info['profit'] = 0; // 收益
+        }
+
+
         return app('json')->success($info);
     }
     /**

+ 32 - 0
app/models/auction/AuctionApply.php

@@ -0,0 +1,32 @@
+<?php
+
+namespace app\models\auction;
+
+use app\models\store\StoreProduct;
+use crmeb\services\SystemConfigService;
+use think\facade\Db;
+use crmeb\traits\ModelTrait;
+use crmeb\basic\BaseModel;
+
+/**
+ * TODO 场馆model
+ * Class Article
+ * @package app\models\article
+ */
+class AuctionApply extends BaseModel
+{
+    /**
+     * 数据表主键
+     * @var string
+     */
+    protected $pk = 'id';
+
+    /**
+     * 模型名称
+     * @var string
+     */
+    protected $name = 'auction_apply';
+    protected $autoWriteTimestamp = true;
+
+    use ModelTrait;
+}

+ 24 - 5
app/models/auction/AuctionOrder.php

@@ -99,16 +99,35 @@ class AuctionOrder extends BaseModel
                 ->where('a.order_id', $data['order_id'])->find(); //详细订单
         }else{
             if ($data['type'] == 1){
-                $list = self::where([['collection_id', '=', $uid], ['status', '=', 1]])->page($data['page'], $data['limit'])->select()->toArray(); //待上传订单
+                $list = self::alias('a')
+                    ->field('a.*,u.nickname,u.avatar,u.uid as user_id')
+                    ->leftJoin('user u', 'a.uid = u.uid')
+                    ->where([['a.collection_id', '=', $uid], ['a.status', '=', 1]])
+                    ->page($data['page'], $data['limit'])
+                    ->select(); //待上传订单
 
             }else if($data['type'] == 2){
-                $list = self::where([['collection_id', '=', $uid], ['status', '=', 2]])->page($data['page'], $data['limit'])->select()->toArray(); //待审核订单
+                $list = self::alias('a')
+                    ->field('a.*,u.nickname,u.avatar,u.uid as user_id')
+                    ->leftJoin('user u', 'a.uid = u.uid')
+                    ->where([['a.collection_id', '=', $uid], ['a.status', '=', 2]])
+                    ->page($data['page'], $data['limit'])
+                    ->select(); //待审核订单
 
             }else if($data['type'] == 3) {
-                $list = self::where([['collection_id', '=', $uid], ['status', '=', 3]])->page($data['page'], $data['limit'])->select()->toArray(); //完成订单
+                $list = self::alias('a')
+                    ->field('a.*,u.nickname,u.avatar,u.uid as user_id')
+                    ->leftJoin('user u', 'a.uid = u.uid')
+                    ->where([['a.collection_id', '=', $uid], ['a.status', '=', 3]])
+                    ->page($data['page'], $data['limit'])
+                    ->select(); //完成订单
             }else{
-
-                $list = self::where([['collection_id', '=', $uid], ['status', '<', 1]])->page($data['page'], $data['limit'])->select()->toArray(); //过期订单
+                $list = self::alias('a')
+                    ->field('a.*,u.nickname,u.avatar,u.uid as user_id')
+                    ->leftJoin('user u', 'a.uid = u.uid')
+                    ->where([['a.collection_id', '=', $uid], ['a.status', '=', 0]])
+                    ->page($data['page'], $data['limit'])
+                    ->select(); //过期订单
             }
         }
         $list = !empty($list)? $list->toArray(): [];

+ 3 - 0
route/api/route.php

@@ -182,6 +182,9 @@ Route::group(function () {
     Route::post('auction/pay', 'auction.auctionController/pay')->name('pay');// 添加收款方式
     Route::get('auction/pay_list', 'auction.auctionController/pay_list')->name('pay_list');// 用户收款方式
 
+    Route::post('auction/apply', 'auction.auctionController/apply')->name('apply');// 馆长申请
+    Route::get('auction/apply_status', 'auction.auctionController/apply_status')->name('apply_status');// 申请馆长状态
+
 })->middleware(\app\http\middleware\AllowOriginMiddleware::class)->middleware(\app\http\middleware\AuthTokenMiddleware::class, true);
 //未授权接口
 Route::group(function () {

+ 3 - 3
runtime/admin/temp/3842d4cff02ed8a8fdaa7dea044f6e6b.php

@@ -1,4 +1,4 @@
-<?php /*a:1:{s:71:"D:\phpstudy_pro\WWW\CRMEB\app\admin\view\store\store_product\create.php";i:1647854872;}*/ ?>
+<?php /*a:1:{s:71:"D:\phpstudy_pro\WWW\CRMEB\app\admin\view\store\store_product\create.php";i:1648705820;}*/ ?>
 <!DOCTYPE html>
 <html>
 <head>
@@ -755,7 +755,7 @@
                                     <div class="layui-col-xs12 layui-col-sm4 layui-col-md4">
                                         <div class="grid-demo grid-demo-bg1">
                                             <div class="layui-form-item">
-                                                <label class="layui-form-label">热卖单品</label>
+                                                <label class="layui-form-label">品</label>
                                                 <div class="layui-input-block">
                                                     <input type="radio" name="is_hot" lay-filter="is_hot" value="1" title="开启"
                                                            :checked="formData.is_hot == 1 ? true : false">
@@ -768,7 +768,7 @@
                                     <div class="layui-col-xs12 layui-col-sm4 layui-col-md4">
                                         <div class="grid-demo grid-demo-bg1">
                                             <div class="layui-form-item">
-                                                <label class="layui-form-label">促销单品</label>
+                                                <label class="layui-form-label">随意嗨购</label>
                                                 <div class="layui-input-block">
                                                     <input type="radio" name="is_benefit" lay-filter="is_benefit" value="1" title="开启"
                                                            :checked="formData.is_benefit == 1 ? true : false">

+ 1 - 1
runtime/cache/2e/26d95f3b2397f1dbd714cb44636198.php

@@ -1,4 +1,4 @@
 <?php
 //000000086400
  exit();?>
-2
+8

+ 1 - 1
runtime/session/sess_e933a47d1e79bb070a55a2d46e11eb99

@@ -1 +1 @@
-a:3:{s:7:"adminId";i:1;s:9:"adminInfo";a:12:{s:2:"id";i:1;s:7:"account";s:5:"admin";s:3:"pwd";s:32:"e10adc3949ba59abbe56e057f20f883e";s:9:"real_name";s:5:"admin";s:5:"roles";s:1:"1";s:7:"last_ip";s:11:"192.168.2.1";s:9:"last_time";i:1648687689;s:8:"add_time";i:1647842101;s:11:"login_count";i:0;s:5:"level";i:0;s:6:"status";i:1;s:6:"is_del";i:0;}s:11:"login_error";N;}
+a:3:{s:7:"adminId";i:1;s:9:"adminInfo";a:13:{s:2:"id";i:1;s:7:"account";s:5:"admin";s:3:"pwd";s:32:"e10adc3949ba59abbe56e057f20f883e";s:9:"real_name";s:5:"admin";s:5:"roles";s:1:"1";s:7:"last_ip";s:11:"192.168.2.1";s:9:"last_time";i:1648705370;s:8:"add_time";i:1647842101;s:11:"login_count";i:0;s:5:"level";i:0;s:6:"status";i:1;s:6:"is_del";i:0;s:3:"uid";N;}s:11:"login_error";N;}