Card.php 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. <?php
  2. namespace app\admin\controller;
  3. use think\facade\View;
  4. use think\facade\Lang;
  5. use think\facade\Db;
  6. class Card extends AdminControl
  7. {
  8. public function initialize()
  9. {
  10. parent::initialize();
  11. Lang::load(base_path() . 'admin/lang/'.config('lang.default_lang').'/chain.lang.php');
  12. }
  13. public function index()
  14. {
  15. $condition = [];
  16. $order = 'id desc';
  17. $list = Db::name('sub_card')->where($condition)->order($order)->paginate(['list_rows'=>10,'query' => request()->param()],false);
  18. $cateIds = [];
  19. foreach ($list as $v) {
  20. if (!empty($v['goods_cate_ids'])) {
  21. $cateData = explode('|', $v['goods_cate_ids']);
  22. if (!empty($cateData)) {
  23. foreach ($cateData as $c) {
  24. $cateIds[] = $c;
  25. }
  26. }
  27. }
  28. }
  29. $showCateList = [];
  30. if (!empty($cateIds)) {
  31. $showCateList = Db::name('goodsclass')
  32. ->where([['gc_id', 'in', $cateIds]])->column('gc_name', 'gc_id');
  33. }
  34. $data = [];
  35. $state_text = [1=>'未使用', 2=>'使用中',3=>'已失效',5=>'已冻结'];
  36. foreach ($list as $key => $value){
  37. $state = $value['card_status'];
  38. $value['state_text'] = $state_text[$state]??'';
  39. $member = Db::name('member')->where(['member_id '=>$value['member_id']])->find();
  40. $value['member'] = $member['member_nickname'];
  41. if (empty($value['goods_cate_ids'])) {
  42. $value['using_range'] = '所有';
  43. } else if($value['bind_cate'] == '9999'){
  44. $value['using_range'] = '电影票';
  45. } else {
  46. $cateIds = explode('|', $value['goods_cate_ids']);
  47. $rangeList = [];
  48. foreach ($cateIds as $c) {
  49. if (!empty($showCateList[$c])) {
  50. $rangeList[] = $showCateList[$c];
  51. }
  52. }
  53. $value['using_range'] = str_replace(' ', '', implode('、', $rangeList));
  54. }
  55. $data[$key] = $value;
  56. }
  57. View::assign('list', $data);
  58. View::assign('show_page', $list->render());
  59. $this->setAdminCurItem('index');
  60. return View::fetch();
  61. }
  62. public function state(){
  63. $id = input('param.id');
  64. $state = input('param.state');
  65. if($state != 5){
  66. $card = Db::name('sub_card')->where(['id'=>$id])->find();
  67. if($card){
  68. if($card['freeze'] == 0){
  69. $state = 1;
  70. }else if($card['freeze'] == $card['balance']){
  71. $state = 3;
  72. }
  73. }
  74. }
  75. $result = Db::name('sub_card')->where(['id'=>$id])->update(['card_status'=>$state]);
  76. if(!$result){
  77. ds_json_encode('10001', lang('ds_common_op_fail'));
  78. }
  79. ds_json_encode('10000', lang('ds_common_op_succ'));
  80. }
  81. }