WIN-2308041133\Administrator 3 weeks ago
parent
commit
ced7dd2683

+ 30 - 0
app/admin/controller/user/User.php

@@ -110,6 +110,36 @@ class User extends AuthController
         $this->assign(compact('form'));
         return $this->fetch('public/form-builder');
     }
+    /**
+     * 赠送团队等级
+     * @param int $uid
+     * @return string|void
+     * @throws \think\db\exception\DataNotFoundException
+     * @throws \think\db\exception\DbException
+     * @throws \think\db\exception\ModelNotFoundException
+     */
+    public function give_group_level($uid = 0)
+    {
+        if (!$uid) return $this->failed('缺少参数');
+        $level = GroupLevel::getUserLevel($uid);
+        //获取当前会员等级
+        if ($level === false)
+            $grade = 0;
+        else
+            $grade = Level::getUserLevelInfo($level, 'grade');
+        //查询高于当前会员的所有会员等级
+        $systemLevelList = SystemUserLevel::where('grade', '>', $grade)->where(['is_show' => 1, 'is_del' => 0])->field(['name', 'id'])->select();
+        $field[] = Form::select('level_id', '会员等级')->setOptions(function () use ($systemLevelList) {
+            $menus = [];
+            foreach ($systemLevelList as $menu) {
+                $menus[] = ['value' => $menu['id'], 'label' => $menu['name']];
+            }
+            return $menus;
+        })->filterable(1);
+        $form = Form::make_post_form('赠送会员', $field, Url::buildUrl('save_give_level', ['uid' => $uid]), 2);
+        $this->assign(compact('form'));
+        return $this->fetch('public/form-builder');
+    }
 
     public function edit_other($uid)
     {

+ 7 - 0
app/admin/view/user/user/index.php

@@ -242,6 +242,10 @@
                                 <a href="javascript:void(0);" lay-event="give_level">
                                     <i class="layui-icon layui-icon-star-fill" aria-hidden="true"></i> 修改会员等级</a>
                             </li>
+                            <li>
+                                <a href="javascript:void(0);" lay-event="give_group_level">
+                                    <i class="layui-icon layui-icon-star-fill" aria-hidden="true"></i> 修改团队等级</a>
+                            </li>
                             <li>
                                 <a href="javascript:void(0);" lay-event="set_group">
                                     <i class="layui-icon layui-icon-star-fill" aria-hidden="true"></i> 设置分组</a>
@@ -396,6 +400,9 @@
             case 'give_level':
                 $eb.createModalFrame(data.nickname+'-赠送会员',layList.Url({a:'give_level',p:{uid:data.uid}}),{w:500,h:300});
                 break;
+            case 'give_group_level':
+                $eb.createModalFrame(data.nickname+'-赠送团队会员',layList.Url({a:'give_group_level',p:{uid:data.uid}}),{w:500,h:300});
+                break;
             case 'set_group':
                 $eb.createModalFrame(data.nickname+'-设置分组',layList.Url({a:'set_group',p:{uid:data.uid}}),{w:500,h:300});
                 break;

+ 15 - 2
app/models/store/StoreCouponUser.php

@@ -136,15 +136,28 @@ class StoreCouponUser extends BaseModel
             $cateId = array_merge($cateId, $temp);
             $cateId = array_unique($cateId);
             foreach ($cateId as $value) {
+//                $lst2[] = $model->alias('a')
+//                    ->join('store_coupon b', 'b.id=a.cid')
+//                    ->where('a.uid', $uid)
+//                    ->where('a.is_fail', 0)
+//                    ->where('a.status', 0)
+//                    ->where('a.use_min_price', '<=', $_price)
+//                    ->whereFindinSet('b.category_id', $value)
+//                    ->where('b.type', 1)
+//                    ->field('a.*,b.type')
+//                    ->order('a.coupon_price', 'DESC')
+//                    ->select()
+//                    ->hidden(['status', 'is_fail'])
+//                    ->toArray();
                 $lst2[] = $model->alias('a')
                     ->join('store_coupon b', 'b.id=a.cid')
                     ->where('a.uid', $uid)
                     ->where('a.is_fail', 0)
                     ->where('a.status', 0)
                     ->where('a.use_min_price', '<=', $_price)
-                    ->whereFindinSet('b.category_id', $value)
+                    ->whereFindInSet('b.category_id', $value) // 确保这里使用的是 whereFindInSet
                     ->where('b.type', 1)
-                    ->field('a.*,b.type')
+                    ->field('a.*, b.type')
                     ->order('a.coupon_price', 'DESC')
                     ->select()
                     ->hidden(['status', 'is_fail'])