UserController.php 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. <?php
  2. namespace console\controllers;
  3. use common\enums\StatusEnum;
  4. use common\models\mall\Mall;
  5. use common\models\user\User;
  6. use common\models\user\UserInviteCode;
  7. use yii\console\Controller;
  8. class UserController extends Controller
  9. {
  10. /**
  11. * @Description: 邀请码补发
  12. * @Author: zsan
  13. * @DateTime 2023-05-23 16:51:41
  14. * @return void
  15. */
  16. public function actionReissueCode()
  17. {
  18. try {
  19. // 获取有效的商城
  20. $mall_list = Mall::getEnableMallList(true);
  21. if (!empty($mall_list)) {
  22. foreach ($mall_list as $mall) {
  23. $mallId = $mall['id']; // 商城id
  24. $allUserIds = User::lists([
  25. 'where' => [['mall_id' => $mallId], ['status' => [StatusEnum::ENABLED, StatusEnum::DISABLED]]],
  26. 'select' => 'id'
  27. ]);
  28. $allUserIds = array_column($allUserIds, 'id') ?? [];
  29. $existUserIds = UserInviteCode::lists([
  30. 'where' => [['mall_id' => $mallId], ['status' => [StatusEnum::ENABLED, StatusEnum::DISABLED]]],
  31. 'select' => 'user_id'
  32. ]);
  33. $existUserIds = array_column($existUserIds, 'user_id') ?? [];
  34. $needUserIds = array_diff($allUserIds, $existUserIds);
  35. foreach ($needUserIds as $userId) {
  36. try {
  37. $res = UserInviteCode::setData([
  38. 'mall_id' => $mallId,
  39. 'user_id' => $userId,
  40. ]);
  41. if($res === false) throw new \Exception(UserInviteCode::getStaticError());
  42. } catch (\Exception $ex) {
  43. \Yii::error(self::class.'->'.__FUNCTION__.'//errMsg1:'.$ex->getMessage().'//params:'.json_encode(['mall_id' => $mallId, 'user_id' => $userId]));
  44. }
  45. }
  46. }
  47. }
  48. } catch (\Exception $e) {
  49. echo $e->getMessage();
  50. \Yii::error(self::class.'->'.__FUNCTION__.'//errMsg:'.$e->getMessage());
  51. }
  52. }
  53. }