SubscribeController.php 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. <?php
  2. namespace addons\Store\client\controllers;
  3. ;
  4. use addons\Store\client\controllers\BaseController;
  5. use addons\Subscribe\common\enums\SubscribeEnum;
  6. use addons\Subscribe\common\models\Subscribe;
  7. use addons\Subscribe\common\models\SubscribeOrder;
  8. use common\enums\StatusEnum;
  9. use Yii;
  10. use common\controllers\AddonsController;
  11. use yii\db\Exception;
  12. /**
  13. * 默认控制器
  14. *
  15. * Class DefaultController
  16. * @package addons\Subscribe\backend\controllers
  17. */
  18. class SubscribeController extends BaseController
  19. {
  20. public $enableCsrfValidation = false;
  21. /**
  22. * 首页
  23. *
  24. * @return string
  25. */
  26. public function actionIndex()
  27. {
  28. $retuest = Yii::$app->request;
  29. if ($retuest->isAjax) {
  30. if ($retuest->isPost) {
  31. $params = Yii::$app->request->post();
  32. // 检查提交的参数
  33. $res = Yii::$app->services->validate->validate($params,[
  34. [['start_time','code','end_time','type','active_id','status','goods_type','store_type'], 'integer'],
  35. [['name'], 'string'],
  36. [['create_time'],'safe']
  37. ]);
  38. if($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage());
  39. $where = [];
  40. $time = time();
  41. $where[] = ['=', 'is_pay', SubscribeEnum::IS_PAY];
  42. !empty($params['name']) && $where[] = ['like', 'name', $params['name']];
  43. !empty($params['code']) && $where[] = ['like', 'code', $params['code']];
  44. !empty($params['active_id']) && $where[] = ['=', 'active_id', $params['active_id']];
  45. !empty($params['type']) && $where[] = ['=', 'type', $params['type']];
  46. !empty($params['goods_type']) && $where[] = ['=', 'goods_type', $params['goods_type']];
  47. !empty($params['store_type']) && $where[] = ['=', 'store_type', $params['store_type']];
  48. if($params['create_time']) $where[] = ['between', 'created_at', strtotime($params['create_time'][0]),strtotime($params['create_time'][1])];
  49. $where[] = ['=', 'store_id', $this->store_id];
  50. $where[] = ['>=', 'status', StatusEnum::DISABLED];
  51. $order = 'id desc';
  52. $params = array('where' => $where,'with'=>['user','activity','storeOrder.detail'], 'order'=>$order, 'limit' => $params['limit']);
  53. $list = SubscribeOrder::listPage($params, false, true);
  54. if($list['list']){
  55. foreach ($list['list'] as $k => $v){
  56. $list['list'][$k]['active']['active_time'] = date("Y-m-d H:i:s",$v['activity']['start_at'])."至".date("Y-m-d H:i:s",$v['activity']['end_at']);
  57. $list['list'][$k]['active']['use_time'] = date("Y-m-d H:i:s",$v['activity']['use_start_time'])."至".date("Y-m-d H:i:s",$v['activity']['use_end_time']);
  58. $list['list'][$k]['active']['subscribe_time'] = date("Y-m-d H:i:s",$v['activity']['subscribe_start_time'])."至".date("Y-m-d H:i:s",$v['activity']['subscribe_end_time']);
  59. }
  60. }
  61. // var_dump($list);
  62. $list['now_time'] = time();
  63. $this->success('获取成功', $list);
  64. }
  65. } else {
  66. return $this->render($this->action->id);
  67. }
  68. }
  69. /**
  70. * 操作处理
  71. *
  72. * @return void
  73. */
  74. public function actionHandle()
  75. {
  76. $request = Yii::$app->request;
  77. if ($request->isAjax && $request->isPost) {
  78. $params = Yii::$app->request->post();
  79. // 检查提交的参数
  80. $res = Yii::$app->services->validate->validate($params,[
  81. [['code','id','user_id','store_id'], 'integer']
  82. ]);
  83. if($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage());
  84. $params['mall_id'] = $this->mall_id;
  85. $setting = Yii::$app->services->setting->addons->get($this->mall_id, SubscribeEnum::ADDONSNAME, 'basic');
  86. // 修改数据
  87. $params['percentage'] = $setting['percentage'];
  88. $params['use_time'] = time();
  89. $params['check_time'] = time();
  90. $params['operator'] = 2; //操作人 [1=>平台,2=>门店]
  91. $store = Yii::$app->session->get('o2o');
  92. if($res == false) return $this->error("核销失败,门店不存在");
  93. $params['store_user_id'] = $store['user_id'];
  94. $res = SubscribeOrder::setData($params);
  95. if($res == false) return $this->error("核销失败" . Subscribe::getStaticError());
  96. return $this->success("修改成功");
  97. }
  98. }
  99. }