hrjy 3 years ago
parent
commit
afdea474a5

+ 2 - 9
app/admin/controller/user/Achievement.php

@@ -9,7 +9,7 @@ use think\facade\Route as Url;
 use app\admin\model\user\UserNotice as UserNoticeModel;
 use app\admin\model\user\UserNoticeSee as UserNoticeSeeModel;
 use app\admin\model\wechat\WechatUser as UserModel;
-Use app\admin\model\user\UserApply as model;
+Use app\admin\model\user\Achievement as model;
 
 /**
  * 用户通知
@@ -23,17 +23,11 @@ class Achievement extends AuthController
      *
      * @return \think\Response
      */
-    public function index($type)
+    public function index()
     {
         return $this->fetch();
     }
 
-    public function indexs($type)
-    {
-
-        $this->assign('type', $type);
-        return $this->fetch();
-    }
 
     public function list()
     {
@@ -42,7 +36,6 @@ class Achievement extends AuthController
             ['page', 1],
             ['limit', 20],
             ['name', ''],
-            ['type', ''],
             ['status', ''],
         ]);
 

+ 6 - 15
app/admin/view/user/achievment/index.php → app/admin/view/user/achievement/index.php

@@ -80,7 +80,7 @@
                 <div class="layui-card-body">
 
                     <div class="layui-btn-container" id="container-action">
-                        <a class="layui-btn layui-btn-sm" onclick="$eb.createModalFrame(this.innerText,'{:Url('create')}',{h:700,w:1100})">添加众筹</a>
+<!--                        <a class="layui-btn layui-btn-sm" onclick="$eb.createModalFrame(this.innerText,'{:Url('create')}',{h:700,w:1100})">添加众筹</a>-->
 <!--                        <button class="layui-btn layui-btn-sm" data-type="del_auction">批量删除</button>-->
                     </div>
                     <table class="layui-hide" id="List" lay-filter="List"></table>
@@ -109,12 +109,6 @@
                         <div> {{d.detail}}</div>
                     </script>
                     <script type="text/html" id="act">
-                        <button type="button" class="layui-btn layui-btn-xs layui-btn-danger" lay-event='tg' id="">
-                            通过
-                        </button>
-                        <button type="button" class="layui-btn layui-btn-xs layui-btn-danger" lay-event='btg' id="">
-                            不通过
-                        </button>
                         <button type="button" class="layui-btn layui-btn-xs layui-btn-danger" lay-event='delete' id="">
                             删除
                         </button>
@@ -130,17 +124,14 @@
 {/block}
 {block name="script"}
 <script>
-    var type = {$type};
     layList.form.render();
-    layList.tableList('List', "{:Url('list')}?type="+type, function () {
+    layList.tableList('List', "{:Url('list')}", function () {
         return [
             {type: 'checkbox'},
             {field: 'id', title: 'ID', sort: true, event: 'id', width: '5%', templet: '#id'},
-            {field: 'nickname', title: '用户名称',  align: 'center'},
-            {field: 'name', title: '姓名', align: 'center'},
-            {field: 'phone', title: '手机号', align: 'center'},
-            {field: 'address', title: '地址', templet: '#address',align: 'center'},
-            {field: 'status', title: '状态',  templet: '#status',align: 'center'},
+            {field: 'province', title: '省',  align: 'center'},
+            {field: 'number', title: '分红人数', align: 'center'},
+            {field: 'price', title: '奖金', align: 'center'},
             {field: 'create_time', title: '时间', align: 'center'},
             {field: 'right', title: '操作', align: 'center', toolbar: '#act',width: '15%'},
         ];
@@ -155,7 +146,7 @@
     layList.tool(function (event,data,obj) {
         switch (event) {
             case 'delete':
-                var url=layList.U({c:'user.userApply',a:'delete',q:{id:data.id}});
+                var url=layList.U({c:'user.achievement',a:'delete',q:{id:data.id}});
                 var code = {title:"操作提示",text:"确定将该商品移入回收站吗?",type:'info',confirm:'是的,移入回收站'};
                 $eb.$swal('delete',function(){
                     $eb.axios.get(url).then(function(res){

+ 1 - 1
app/admin/view/user/user_apply/index.php

@@ -80,7 +80,7 @@
                 <div class="layui-card-body">
 
                     <div class="layui-btn-container" id="container-action">
-                        <a class="layui-btn layui-btn-sm" onclick="$eb.createModalFrame(this.innerText,'{:Url('create')}',{h:700,w:1100})">添加众筹</a>
+<!--                        <a class="layui-btn layui-btn-sm" onclick="$eb.createModalFrame(this.innerText,'{:Url('create')}',{h:700,w:1100})">添加众筹</a>-->
 <!--                        <button class="layui-btn layui-btn-sm" data-type="del_auction">批量删除</button>-->
                     </div>
                     <table class="layui-hide" id="List" lay-filter="List"></table>

+ 1 - 1
app/admin/view/user/user_apply/indexs.php

@@ -80,7 +80,7 @@
                 <div class="layui-card-body">
 
                     <div class="layui-btn-container" id="container-action">
-                        <a class="layui-btn layui-btn-sm" onclick="$eb.createModalFrame(this.innerText,'{:Url('create')}',{h:700,w:1100})">添加众筹</a>
+<!--                        <a class="layui-btn layui-btn-sm" onclick="$eb.createModalFrame(this.innerText,'{:Url('create')}',{h:700,w:1100})">添加众筹</a>-->
 <!--                        <button class="layui-btn layui-btn-sm" data-type="del_auction">批量删除</button>-->
                     </div>
                     <table class="layui-hide" id="List" lay-filter="List"></table>

+ 16 - 0
app/api/controller/AuthController.php

@@ -417,4 +417,20 @@ class AuthController
         if ($token) return app('json')->success('ok', compact('token'));
         return app('json')->fail('未授权');
     }
+
+    /**
+     * 收款信息
+     * @return mixed
+     */
+    public function bank()
+    {
+        $data = [
+            'bank_name' => sys_config('bank_name'),
+            'bank' => sys_config('bank'),
+            'sub_branch' => sys_config('sub_branch'),
+            'bank_number' => sys_config('bank_number'),
+            'code' => sys_config('code'),
+        ];
+        return app('json')->success($data);
+    }
 }

+ 27 - 0
app/api/controller/store/StoreProductController.php

@@ -205,6 +205,33 @@ class StoreProductController
         return app('json')->successful($productHot);
     }
 
+
+
+    /**
+     * 升级
+     *
+     * @param Request $request
+     * @return mixed
+     * @throws \think\db\exception\DataNotFoundException
+     * @throws \think\db\exception\ModelNotFoundException
+     * @throws DbException
+     */
+    public function product_upgrade(Request $request)
+    {
+        list($page, $limit) = UtilService::getMore([
+            ['page', 0],
+            ['limit', 0]
+        ], $request, true);
+        if (!$limit) return app('json')->successful([]);
+        $productHot = StoreProduct::getUpgradeProductLoading('id,image,store_name,cate_id,price,unit_name,ot_price', (int)$page, (int)$limit);
+        if (!empty($productHot)) {
+            foreach ($productHot as $k => $v) {
+                $productHot[$k]['activity'] = StoreProduct::activity($v['id']);
+            }
+        }
+        return app('json')->successful($productHot);
+    }
+
     /**
      * 获取首页推荐不同类型产品的轮播图和产品
      * @param Request $request

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

@@ -890,5 +890,24 @@ class UserController
 
     }
 
+    /**
+     * 每月分红
+     * @return void
+     * @throws DataNotFoundException
+     * @throws DbException
+     * @throws ModelNotFoundException
+     */
+    public function bonus()
+    {
+        try {
+            Db::startTrans();
+            StoreOrder::bonus();
+            StoreOrder::team();
+            Db::commit();
+        } catch (\Exception $e) {
+            Db::rollback();
+        }
+    }
+
 
 }

+ 18 - 0
app/common.php

@@ -606,4 +606,22 @@ if (!function_exists('do_request')) {
 
         }
     }
+
+    if (!function_exists('getParent')){
+        //获取指定级别的所有上级
+        function getParent($p_id,$array) {
+            $subs=array();
+            foreach($array as $item){
+                if($item['uid'] == $p_id){
+                    if ($item['group'] == 1){
+                        $subs[]=$item['uid'];//这里自己看着办,我是获取用户名
+                        break;
+                    }
+                    $subs=array_merge($subs,getParent($item['spread_uid'],$array));
+                }
+
+            }
+            return $subs;
+        }
+    }
 }

+ 76 - 0
app/models/store/StoreOrder.php

@@ -9,6 +9,7 @@ namespace app\models\store;
 
 use app\admin\model\system\ShippingTemplatesFree;
 use app\admin\model\system\ShippingTemplatesRegion;
+use app\admin\model\user\Achievement;
 use app\admin\model\user\UserProduct;
 use crmeb\basic\BaseModel;
 use think\db\exception\DataNotFoundException;
@@ -2209,4 +2210,79 @@ class StoreOrder extends BaseModel
         return compact('list', 'count');
     }
 
+
+    /**
+     * 分红
+     * @return bool
+     * @throws DataNotFoundException
+     * @throws DbException
+     * @throws ModelNotFoundException
+     */
+    public static function bonus()
+    {
+        $user_address = User::where('provinces', 1)->column('address');
+        $time = strtotime('-1 month');
+        $date1 = mktime(0,0,0,date('m',$time),01,date('Y',$time));
+        $date2 = mktime(23,59,59,date('m',$time),date('t',$time),date('Y',$time));
+        if (count($user_address) > 0){
+            $eve = [];
+            foreach ($user_address as $item){
+                $order = StoreOrder::where('user_address', 'like', '%'.$item.'%')->whereBetweenTime('add_time', $date1, $date2)->where('paid', 1)->count();
+                if ($order > 0){
+                    $eve[] = [
+                        'province' => $item,
+                        'number' => User::where('provinces', 1)->where('address', 'like', '%'.$item.'%')->count(),
+                        'price' => $order * sys_config('bonus'),
+                    ];
+
+                }
+            }
+            if ($eve){
+                foreach ($eve as $item){
+                    $users = User::where('provinces', 1)->where('address', 'like', '%'.$item['province'].'%')->select()->toArray();
+                    foreach ($users as $v)
+                    {
+                        $jl = round(($item['price']/2)/$item['number'], 2);
+                        User::where('uid', $v['uid'])->inc('brokerage_price', $jl)->update();
+                        UserBill::income('业绩分红',$v['uid'], 'now_money', 'bonus', $jl, 0, $v['brokerage_price']+$jl, $item['province'].'业绩分红');
+                    }
+                    Achievement::create($item);
+                }
+            }
+        }
+        return true;
+
+    }
+
+    /**
+     * 团队
+     * @return bool
+     * @throws DataNotFoundException
+     * @throws DbException
+     * @throws ModelNotFoundException
+     */
+    public static function team()
+    {
+        $user= User::select();
+        $time = strtotime('-1 month');
+        $date1 = mktime(0,0,0,date('m',$time),01,date('Y',$time));
+        $date2 = mktime(23,59,59,date('m',$time),date('t',$time),date('Y',$time));
+        foreach ($user as $item)
+        {
+            $order = StoreOrder::where('uid', $item['uid'])->where('paid', 1)->count();
+            if ($order > 1){
+                $uid = getParent($item['spread_uid'], $user->toArray());
+                if ($uid){
+                    $details = User::where('uid', $uid[0])->find();
+                    $jl = $order * sys_config('team');
+                    User::where('uid', $details['uid'])->inc('brokerage_price', $jl)->update();
+                    UserBill::income('业绩分红',$details['uid'], 'now_money', 'team', $jl, 0, $details['brokerage_price']+$jl, '团队奖励');
+
+                }
+            }
+        }
+        return true;
+
+    }
+
 }

+ 22 - 0
app/models/store/StoreProduct.php

@@ -235,6 +235,28 @@ class StoreProduct extends BaseModel
         return $list;
     }
 
+    /**
+     * 升级产品
+     * @param string $field
+     * @param int $page
+     * @param int $limit
+     * @return array|\think\Collection
+     * @throws \think\db\exception\DataNotFoundException
+     * @throws \think\db\exception\ModelNotFoundException
+     * @throws \think\exception\DbException
+     */
+    public static function getUpgradeProductLoading($field = '*', $page = 0, $limit = 0)
+    {
+        if (!$limit) return [];
+        $model = self::where('is_upgrade', 1)->where('is_del', 0)->where('mer_id', 0)
+            ->where('stock', '>', 0)->where('is_show', 1)->field($field)
+            ->order('sort DESC, id DESC');
+        if ($page) $model->page($page, $limit);
+        $list = $model->select();
+        if (is_object($list)) return $list->toArray();
+        return $list;
+    }
+
     /**
      * 精品产品
      * @param string $field

+ 6 - 0
route/api/route.php

@@ -186,6 +186,8 @@ Route::group(function () {
     Route::get('groom/list/:type', 'store.StoreProductController/groom_list')->name('groomList');//获取首页推荐不同类型产品的轮播图和产品
     Route::get('products', 'store.StoreProductController/lst')->name('products');//产品列表
     Route::get('product/hot', 'store.StoreProductController/product_hot')->name('productHot');//为你推荐
+
+    Route::get('product/upgrade', 'store.StoreProductController/product_upgrade')->name('productUpgrade');//升级产品
     Route::get('reply/list/:id', 'store.StoreProductController/reply_list')->name('replyList');//产品评价列表
     Route::get('reply/config/:id', 'store.StoreProductController/reply_config')->name('replyConfig');//产品评价数量和好评度
     //文章分类类
@@ -238,6 +240,10 @@ Route::group(function () {
     Route::get('store_list', 'PublicController/store_list')->name('storeList');
     //获取城市列表
     Route::get('city_list', 'PublicController/city_list')->name('cityList');
+    //分红
+    Route::get('bonus', 'user.UserController/bonus')->name('bonus');
+    //收款信息
+    Route::get('bank', 'AuthController/bank')->name('bank');
 
 
 })->middleware(\app\http\middleware\AllowOriginMiddleware::class)->middleware(\app\http\middleware\AuthTokenMiddleware::class, false);