Level.php 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183
  1. <?php
  2. /**
  3. * 易优CMS
  4. * ============================================================================
  5. * 版权所有 2016-2028 海南赞赞网络科技有限公司,并保留所有权利。
  6. * 网站地址: http://www.eyoucms.com
  7. * ----------------------------------------------------------------------------
  8. * 如果商业用途务必到官方购买正版授权, 以免引起不必要的法律纠纷.
  9. * ============================================================================
  10. * Author: 陈风任 <491085389@qq.com>
  11. * Date: 2019-06-21
  12. */
  13. namespace app\admin\controller;
  14. use think\Page;
  15. use think\Db;
  16. use think\Config;
  17. class Level extends Base {
  18. /**
  19. * 构造方法
  20. */
  21. public function __construct(){
  22. parent::__construct();
  23. /*会员中心数据表*/
  24. $this->users_db = Db::name('users'); // 会员信息表
  25. $this->users_level_db = Db::name('users_level'); // 会员等级表
  26. $this->users_money_db = Db::name('users_money'); // 会员充值表
  27. $this->users_type_manage_db = Db::name('users_type_manage'); // 会员等级表
  28. /*结束*/
  29. // 是否开启支付功能设置
  30. $UsersConfigData = getUsersConfigData('all');
  31. $this->assign('userConfig',$UsersConfigData);
  32. }
  33. /**
  34. * 列表
  35. */
  36. public function index()
  37. {
  38. // 会员级别
  39. $list = $this->users_level_db->where(['is_system'=>0])->order('level_value asc, level_id asc')->select();
  40. $this->assign('list',$list);
  41. // 会员升级期限
  42. $member_limit_arr = Config::get('global.admin_member_limit_arr');
  43. $this->assign('member_limit_arr',$member_limit_arr);
  44. // 会员升级产品分类
  45. $users_type = $this->users_type_manage_db->order('sort_order asc, type_id asc')->select();
  46. $this->assign('users_type',$users_type);
  47. return $this->fetch();
  48. }
  49. /**
  50. * 会员升级业务列表
  51. */
  52. public function upgrade_index()
  53. {
  54. // 查询条件
  55. $where = [
  56. // 升级消费
  57. 'a.cause_type' => 0,
  58. // 已完成状态
  59. 'a.status' => 2,
  60. // 语言标识
  61. 'a.lang' => $this->admin_lang,
  62. ];
  63. // 订单号查询
  64. $order_number = input('order_number/s');
  65. if (!empty($order_number)) {
  66. $where['order_number'] = array('LIKE', "%{$order_number}%");
  67. }
  68. // 查询满足要求的总记录数
  69. $count = $this->users_money_db->alias('a')->where($where)->count('moneyid');
  70. // 实例化分页类 传入总记录数和每页显示的记录数
  71. $pageObj = new Page($count, config('paginate.list_rows'));
  72. // 订单表数据查询
  73. $list = $this->users_money_db->field('a.*,b.username')
  74. ->alias('a')
  75. ->join('__USERS__ b', 'a.users_id = b.users_id', 'LEFT')
  76. ->where($where)
  77. ->order('moneyid desc')
  78. ->limit($pageObj->firstRow.','.$pageObj->listRows)
  79. ->select();
  80. foreach ($list as $key => $value) {
  81. // 反序列化参数
  82. $list[$key]['cause'] = unserialize($value['cause']);
  83. }
  84. // 分页显示
  85. $pageStr = $pageObj->show();
  86. $this->assign('pageStr', $pageStr);
  87. // 订单数据
  88. $this->assign('list',$list);
  89. // 支付方式
  90. $pay_method_arr = config('global.pay_method_arr');
  91. $this->assign('pay_method_arr',$pay_method_arr);
  92. // 支付状态
  93. $pay_status_arr = config('global.pay_status_arr');
  94. $this->assign('pay_status_arr',$pay_status_arr);
  95. return $this->fetch();
  96. }
  97. // 删除
  98. public function level_type_del()
  99. {
  100. $type_id = input('type_id/d');
  101. if (IS_AJAX_POST && !empty($type_id)) {
  102. $where = [
  103. 'type_id' => $type_id,
  104. 'lang' => $this->admin_lang,
  105. ];
  106. $type_name_list = $this->users_type_manage_db->where($where)->getField('type_name');
  107. // 删除会员升级级别
  108. $return = $this->users_type_manage_db->where($where)->delete();
  109. if ($return) {
  110. adminLog('删除会员升级级别:'.$type_name_list);
  111. $this->success('删除成功');
  112. }else{
  113. $this->error('删除失败');
  114. }
  115. }
  116. $this->error('参数有误');
  117. }
  118. // 新增/修改
  119. public function add_level_data()
  120. {
  121. if (IS_POST) {
  122. $post = input('post.');
  123. // 处理新增数据
  124. $AddLevelData = [];
  125. foreach ($post['type_name'] as $key => $value) {
  126. $type_id = $post['type_id'][$key];
  127. $type_name = trim($value);
  128. $level_id = $post['level_id'][$key];
  129. $price = $post['price'][$key];
  130. $limit_id = $post['limit_id'][$key];
  131. $sort_order = $post['sort_order'][$key];
  132. if (empty($type_name)) $this->error('产品名称不可为空');
  133. if (empty($level_id)) $this->error('会员级别不可为空');
  134. if (empty($price)) $this->error('产品价格不可为空');
  135. if (empty($limit_id)) $this->error('会员期限不可为空');
  136. $AddLevelData[] = [
  137. 'type_id' => $type_id,
  138. 'type_name' => $type_name,
  139. 'level_id' => $level_id,
  140. 'price' => $price,
  141. 'limit_id' => $limit_id,
  142. 'sort_order' => $sort_order,
  143. 'update_time' => getTime(),
  144. ];
  145. if (empty($type_id)) {
  146. $AddLevelData[$key]['lang'] = $this->admin_lang;
  147. $AddLevelData[$key]['add_time'] = getTime();
  148. unset($AddLevelData[$key]['type_id']);
  149. }
  150. }
  151. if (!empty($AddLevelData)) {
  152. $ReturnId = model('UsersTypeManage')->saveAll($AddLevelData);
  153. }
  154. // 返回
  155. if (!empty($ReturnId)) {
  156. $this->success('保存成功');
  157. }else{
  158. $this->error('保存失败');
  159. }
  160. }
  161. }
  162. }