ソースを参照

专题赠送。

赵启卫 2 年 前
コミット
8e43cae9bb

+ 34 - 0
application/admin/controller/user/User.php

xqd xqd
@@ -41,6 +41,8 @@ use app\admin\model\questions\TestPaperObtain;
 use app\admin\model\questions\TestPaper;
 use app\admin\model\download\DataDownloadBuy;
 use app\admin\model\merchant\Merchant;
+use app\admin\model\study\Plan as PlanModel;
+use app\admin\model\study\PlanBuy;
 
 /**
  * 用户管理控制器
@@ -239,6 +241,38 @@ class User extends AuthController
         }
     }
 
+    /** 赠送学习计划
+     * 
+     */
+    public function sendplan($uid) {
+        $mer_list = Merchant::getMerchantList();
+        $this->assign(['uid' => $uid,'mer_list' => $mer_list]);
+        return $this->fetch();
+    }
+
+    public function get_plan_list(){
+        $where = parent::getMore([
+            ['page', 1],
+            ['is_show', ''],
+            ['limit', 20],
+            ['title', ''],
+        ]);
+        return JsonService::successlayui(PlanModel::getplanList($where));
+    }
+
+    public function save_plan(){
+        $data = parent::getMore([
+            ['uid', 0],
+            ['planid', 0],
+        ]);
+        if (!$data['uid']) return Json::fail('请选择被赠送的用户');
+        if (!$data['planid']) return Json::fail('请选择要赠送的专题');
+        $plan = PlanModel::where(['id' => $data['planid'], 'is_del' => 0])->find();
+        if (PlanBuy::be(['uid' => $data['uid'], 'planid' => $data['planid'], 'is_del' => 0])) return Json::fail('此用户已经拥有此专题无需赠送');
+        PlanBuy::setAllBuyPlan('', $data['uid'], $data['planid'], 3);
+        return Json::successful('赠送成功');
+    }
+
     /**赠送专题
      * @param int $uid
      * @return mixed

+ 2 - 2
application/admin/model/study/PlanBuy.php

xqd xqd
@@ -46,7 +46,7 @@ class PlanBuy extends ModelBasic {
      * @throws \think\exception\DbException
      */
     public static function setAllBuyPlan($order_id, $uid, $plan_id, $type = 0){
-        if (!$order_id || !$uid || !$plan_id) return false;
+        if (!$uid || !$plan_id) return false;
         //如果是专栏,记录专栏下所有专题购买。
         $plan = Plan::where(['id'=>$plan_id])->find();
         $planItem = PlanItems::where('pid', $plan['id'])->select();
@@ -59,7 +59,7 @@ class PlanBuy extends ModelBasic {
                 TestPaperObtain::setTestPaper($order_id, $uid, $v['cid'], 2, $plan_id);
             }
         }
-        self::setBuyPlan($order_id, $uid, $plan_id, $type);
+        return self::setBuyPlan($order_id, $uid, $plan_id, $type);
     }
 
     public static function setBuyPlan($order_id, $uid, $plan_id, $type){

+ 5 - 0
application/admin/view/user/user/index.php

xqd
@@ -209,6 +209,11 @@
                                     <i class="fa fa-paste"></i>赠送试卷
                                 </a>
                             </li>
+                            <li>
+                                <a href="javascript:void(0);" onclick="$eb.createModalFrame('赠送学习计划','{:Url('sendplan')}?uid='+{{d.uid}},{w:1000})">
+                                    <i class="fa fa-paste"></i>赠送学习计划
+                                </a>
+                            </li>
                         </ul>
                     </script>
                 </div>

+ 100 - 0
application/admin/view/user/user/sendplan.php

xqd
@@ -0,0 +1,100 @@
+{extend name="public/container"}
+{block name="content"}
+<div class="layui-fluid">
+    <div class="layui-row layui-col-space15"  id="app">
+        <div class="layui-col-md12">
+            <div class="layui-card">
+                <div class="layui-card-header">搜索条件</div>
+                <div class="layui-card-body">
+                    <div class="layui-form layui-form-pane">
+                        <div class="layui-form-item">
+                            <div class="layui-inline">
+                                <label class="layui-form-label">专题名称</label>
+                                <div class="layui-input-inline">
+                                    <input type="text" autocomplete="off" class="layui-input" name="title" id="demoReload" placeholder="请输入专题名称">
+                                </div>
+                            </div>
+                            <div class="layui-inline">
+                                <button type="button" class="layui-btn layui-btn-sm layui-btn-normal" lay-submit="" lay-filter="search" >
+                                    <i class="layui-icon">&#xe615;</i>搜索
+                                </button>
+                                <button class="layui-btn layui-btn-normal layui-btn-sm" onclick="window.location.reload()"><i class="layui-icon layui-icon-refresh"></i> 刷新</button>
+                            </div>
+                        </div>
+                    </div>
+                </div>
+            </div>
+        </div>
+        <!--产品列表-->
+        <div class="layui-col-md12">
+            <div class="layui-card">
+                <div class="layui-card-body">
+                    <table class="layui-hide" id="List" lay-filter="List"></table>
+                    <script type="text/html" id="image">
+                        <img style="cursor: pointer;width: 80px;height: 40px;" lay-event='open_image' src="{{d.plan_head}}">
+                    </script>
+                    <script type="text/html" id="act">
+                        <button type="button" class="layui-btn layui-btn-normal layui-btn-xs" lay-event='give'>
+                            赠送学习计划
+                        </button>
+                    </script>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+<script src="{__ADMIN_PATH}js/layuiList.js"></script>
+{/block}
+{block name="script"}
+<script>
+    var uid="{$uid}";
+    var $ = layui.jquery;
+    var layer = layui.layer;
+    //实例化form
+    layList.form.render();
+    //加载列表
+    layList.tableList('List',"{:Url('get_plan_list')}",function () {
+        return [
+            {field: 'id', title: '编号', width:60,align: 'center'},
+            {field: 'plan_name', title: '计划名称',align: 'center'},
+            {field: 'plan_head', title: '计划封面',templet:'#image',align: 'center'},
+            {title: '操作',align:'center',toolbar:'#act',minWidth:81},
+        ];
+    });
+    //查询
+    layList.search('search',function(where){
+        layList.reload({
+            title: where.title,
+            mer_id: where.mer_id,
+            type: where.type
+        },true);
+    });
+    //点击事件绑定
+    layList.tool(function (event,data,obj) {
+        switch (event) {
+            case 'give':
+                var url=layList.U({a:'save_plan',q:{uid:uid,planid:data.id}});
+                $eb.$swal('delete',function(){
+                    $eb.axios.get(url).then(function(res){
+                        if(res.status == 200 && res.data.code == 200) {
+                            window.location.reload();
+                            $eb.$swal('success',res.data.msg);
+                        }else
+                            return Promise.reject(res.data.msg || '赠送失败')
+                    }).catch(function(err){
+                        $eb.$swal('error',err);
+                    });
+                }, {
+                    title:'确定赠送专题吗?',
+                    text:'通过后无法撤销,请谨慎操作!',
+                    confirm:'确认'
+                });
+                break;
+            case 'open_image':
+                $eb.openImage(data.image);
+                break;
+        }
+    })
+
+</script>
+{/block}