ClerkLogController.php 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. <?php
  2. namespace addons\Clerk\backend\controllers;
  3. use addons\Clerk\common\models\ClerkLog;
  4. use addons\Store\common\models\Store;
  5. use common\enums\AddonsEnum;
  6. use common\enums\StatusEnum;
  7. use common\models\mall\MallAddons;
  8. use common\models\user\User;
  9. /**
  10. * 默认控制器
  11. *
  12. * Class DefaultController
  13. * @package addons\Clerk\backend\controllers
  14. */
  15. class ClerkLogController extends BaseController
  16. {
  17. //核销记录
  18. public function actionIndex()
  19. {
  20. if (\Yii::$app->request->isAjax) {
  21. if (\Yii::$app->request->isGet) {
  22. $params = \Yii::$app->request->get();
  23. $where[] = ['mall_id' => $this->mall_id];
  24. $where[] = ['status' => [StatusEnum::ENABLED, StatusEnum::DISABLED]];
  25. $where[] = ['verify_type' => ClerkLog::VERIFY_ELECTRON_COUPON];
  26. if (!empty($get['keyword'])) {
  27. $user_list = User::lists(['where'=>[['mall_id'=>$this->mall_id],[
  28. 'or',
  29. ['like', 'mobile', $get['keyword']]
  30. ]],'select'=>'id']);
  31. $user_ids = array_column($user_list,'id');
  32. $where[] = ['user_id'=>$user_ids];
  33. }
  34. if (!empty($params['user_id'])) $where[] = ['user_id'=>$params['user_id']];
  35. if (!empty($params['start'])) $where[] = $where[] = ['>=', 'created_at', strtotime($params['start'])];
  36. if (!empty($params['end'])) $where[] =$where[] = ['<=', 'created_at', strtotime($params['end'])];
  37. $params['where'] = $where;
  38. $params['order'] = 'id DESC';
  39. $params['select'] = 'id,mall_id,store_id,clerk_id,user_id,mobile,commission,title,created_at';
  40. $pageData = ClerkLog::listPage($params, false);
  41. if (!empty($pageData['list'])) {
  42. $user_ids = array_column($pageData['list'], 'user_id');
  43. $store_ids = array_column($pageData['list'], 'store_id');
  44. $user_list = User ::lists(['where' => [['id' => $user_ids]], 'select' => 'id,nickname,mobile,username', 'index' => 'id']);
  45. if (MallAddons::isInstall($this->mall_id, AddonsEnum::ADDONS_NAME_STORE)) {
  46. $store_list = Store::lists(['where' => [['id' => $store_ids]], 'select' => 'id,store_name', 'index' => 'id']);
  47. }
  48. foreach ($pageData['list'] as &$item) {
  49. $item['nickname'] = $item['mobile'] = $item['username'] = $item['store_name'] = '';
  50. if (isset($user_list[$item['user_id']])) {
  51. $user = $user_list[$item['user_id']];
  52. $item['nickname'] = $user['nickname'];
  53. $item['mobile'] = $user['mobile'];
  54. $item['username'] = $user['username'];
  55. }
  56. if (isset($store_list[$item['store_id']])) {
  57. $item['store_name'] = $store_list[$item['store_id']]['store_name'];
  58. }
  59. }
  60. }
  61. return $this->success('操作成功', $pageData);
  62. }
  63. }
  64. return $this->render('index',[
  65. ]);
  66. }
  67. }