/** * Handle the dma.friends.reward.redeemed event * @param Reward $reward * The reward model that has just been redeemed * @param User $user * The user that redeemed the reward */ public function onRewardRedeemed($reward, $user) { $data = ['reward' => $reward, 'user' => $user]; // Send an email to the user that redeemed the reward if ($reward->enable_email) { Mail::send($reward->email_template, $data, function ($message) use($reward, $user) { $message->to($user->email, $user->full_name); }); } if ($reward->enable_admin_email) { Mail::send($reward->admin_email_template, $data, function ($message) use($reward, $user) { // If a group is configured email those users if (!empty($reward->admin_email_group)) { $group = UserGroup::find($reward->admin_email_group); foreach ($group->users as $user) { $message->to($user->email, $user->first_name . ' ' . $user->last_name); } } // If an individual email is configured email that person if (!empty($reward->admin_email_address)) { $message->to($reward->admin_email_address, 'Anonymous'); } }); } // Print the reward if user is at a kiosk $location = LocationManager::getLocation(); if ($location) { $printManager = new PrintManager($location, $user); $printManager->printCoupon($reward); } }
/** * 普通用户组成员 */ public function actionGroupuser() { $view = \Yii::$app->view; $view->params['moduleName'] = '用户分组'; $request = \Yii::$app->request; $groupId = $request->_get('groupId', ''); $search = $request->_get('search', ''); $where = 1; if (preg_match('/^1[0-9]{10}$/', $search)) { $where .= ' AND userMobile LIKE \'%' . $search . '%\''; } elseif (preg_match('/@/', $search)) { $where .= ' AND userEmail LIKE \'%' . $search . '%\''; } else { $where .= ' AND nickName LIKE \'%' . $search . '%\''; } $userModel = User::find()->where($where); $pageSize = \Yii::$app->params['pageSize']; $total = $userModel->count(); $pagination = new Pagination(['defaultPageSize' => $pageSize, 'totalCount' => $total]); $data = $userModel->asArray()->offset($pagination->offset)->limit($pagination->limit)->all(); $groupuser = UserGroup::find()->where('groupId=' . $groupId)->asArray()->All(); foreach ($data as &$user) { foreach ($groupuser as $group) { if ($user['userId'] == $group['userId']) { $user['inGroup'] = 1; } } } $token = Token::getToken(); $userId = \Yii::$app->user->id; $savegroupuserIdentity = EasyHelpers::dataEncrypt('savegroupuser,' . $userId); return $this->render('groupuser', ['data' => $data, 'search' => $search, 'groupId' => $groupId, 'token' => $token, 'pagination' => $pagination, 'savegroupuserIdentity' => $savegroupuserIdentity]); }
/** * 组管理(编辑组成员) */ public function actionSavegroupuser() { $request = \Yii::$app->request; $identity = Identity::checkIdentity('savegroupuser', '/app-backend/backend/adminmanage/savegroupuser'); if (is_array($identity)) { return $identity; } $groupId = $request->_get('groupId', 0); $userId = $request->_get('userId', 0); if (!$groupId || !$userId) { return ['code' => 1, 'msg' => '数据非法', 'data' => []]; } $check = UserGroup::find()->where('groupId=' . $groupId . ' And userId=' . $userId)->one(); if ($check) { $res = UserGroup::deleteAll('groupId=' . $groupId . ' And userId=' . $userId); } else { $usergroup = new UserGroup(); $usergroup->userId = $userId; $usergroup->groupId = $groupId; $res = $usergroup->save(); } if ($res !== false) { return ['code' => 0, 'msg' => '操作成功', 'data' => []]; } else { return ['code' => 2, 'msg' => '操作失败,请重试', 'data' => []]; } }