StoreCoupon.php 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. <?php
  2. /**
  3. * @author: xaboy<365615158@qq.com>
  4. * @day: 2017/11/11
  5. */
  6. namespace app\admin\model\ump;
  7. use crmeb\services\FormBuilder as Form;
  8. use crmeb\traits\ModelTrait;
  9. use crmeb\basic\BaseModel;
  10. use think\facade\Route as Url;
  11. use app\admin\model\store\StoreCategory as CategoryModel;
  12. /**
  13. * Class StoreCategory
  14. * @package app\admin\model\store
  15. */
  16. class StoreCoupon extends BaseModel
  17. {
  18. /**
  19. * 数据表主键
  20. * @var string
  21. */
  22. protected $pk = 'id';
  23. /**
  24. * 模型名称
  25. * @var string
  26. */
  27. protected $name = 'store_coupon';
  28. use ModelTrait;
  29. /**
  30. * @param $where
  31. * @return array
  32. */
  33. public static function systemPage($where)
  34. {
  35. $model = new self;
  36. $model = $model->alias('a')
  37. ->field('a.*,b.name')
  38. ->leftJoin('system_store b', 'b.id = a.store_id');
  39. if ($where['status'] != '') $model = $model->where('a.status', $where['status']);
  40. if ($where['type'] != '') $model = $model->where('a.type', $where['type']);
  41. if ($where['title'] != '') $model = $model->where('a.title', 'LIKE', "%$where[title]%");
  42. // if($where['is_del'] != '') $model = $model->where('is_del',$where['is_del']);
  43. $model = $model->where('a.is_del', 0);
  44. $model = $model->order('a.id desc');
  45. $list = self::page($model, $where);
  46. if ($list){
  47. foreach ($list['list'] as &$v){
  48. $v['start_time'] = $v['start_time'] > 0 ? date('Y-m-d H:i:s', $v['start_time']) : 0;
  49. $v['end_time'] = $v['start_time'] > 0 ? date('Y-m-d H:i:s', $v['end_time']) : 0;
  50. }
  51. }
  52. return $list;
  53. }
  54. /**
  55. * @param $where
  56. * @return array
  57. */
  58. public static function systemPageCoupon($where)
  59. {
  60. $model = new self;
  61. if ($where['status'] != '') $model = $model->where('status', $where['status']);
  62. if ($where['title'] != '') $model = $model->where('title', 'LIKE', "%$where[title]%");
  63. // if($where['is_del'] != '') $model = $model->where('is_del',$where['is_del']);
  64. $model = $model->where('is_del', 0);
  65. $model = $model->where('status', 1);
  66. $model = $model->order('sort desc,id desc');
  67. return self::page($model, $where);
  68. }
  69. public static function editIsDel($id)
  70. {
  71. $data['status'] = 0;
  72. self::beginTrans();
  73. $res1 = self::edit($data, $id);
  74. $res2 = false !== StoreCouponUser::where('cid', $id)->update(['is_fail' => 1]);
  75. $res3 = false !== StoreCouponIssue::where('cid', $id)->update(['status' => -1]);
  76. $res = $res1 && $res2 && $res3;
  77. self::checkTrans($res);
  78. return $res;
  79. }
  80. /**
  81. * 品类券
  82. * @param $tab_id
  83. * @return array
  84. * @throws \FormBuilder\exception\FormBuilderException
  85. */
  86. public static function createClassRule($tab_id)
  87. {
  88. $formbuider = [];
  89. $formbuider[] = Form::select('category_id', '选择品类')->setOptions(function () {
  90. $list = CategoryModel::getTierList(null, 1);
  91. $menus = [];
  92. foreach ($list as $menu) {
  93. $menus[] = ['value' => $menu['id'], 'label' => $menu['html'] . $menu['cate_name']];
  94. }
  95. return $menus;
  96. })->filterable(1)->col(12);
  97. return $formbuider;
  98. }
  99. /**
  100. * 商品券
  101. * @param $tab_id
  102. * @return array
  103. * @throws \FormBuilder\exception\FormBuilderException
  104. */
  105. public static function createProductRule($tab_id)
  106. {
  107. $formbuider = [];
  108. $formbuider[] = Form::frameImages('image', '商品', Url::buildUrl('admin/ump.StoreCoupon/select', array('fodder' => 'image')))->icon('plus')->width('100%')->height('500px');
  109. $formbuider[] = Form::hidden('product_id', 0);
  110. return $formbuider;
  111. }
  112. }