public static function getMobileVar($params) { if (empty($params['memberId'])) { throw new BadRequestHttpException('missing params'); } $type = $params['type']; if (!in_array($type, [self::REDEMPTION_TYPE, self::PROMOCODE_TYPE])) { throw new BadRequestHttpException('type is invaild'); } $params['memberId'] = new \MongoId($params['memberId']); $member = Member::getMemberInfo($params['memberId'], ['name', 'gender', 'email', 'tel', 'birthday', 'score']); if ('male' == $member['gender']) { $gender = '男'; } else { $gender = '女'; } $product = $promoCode = ''; if (!empty($params['data'])) { //create product list foreach ($params['data'] as $data) { if (isset($data['productName'])) { $product .= $data['productName'] . ','; } else { $promoCode = implode(',', $params['data']); break; } } $product = rtrim($product, ','); } $memberInfo = Member::findByPk($params['memberId']); $vars = ['address' => !empty($params['address']) ? $params['address'] : '', 'pointBalance' => !isset($memberInfo->score) ? 0 : $memberInfo->score, 'product' => $product, 'promoCode' => $promoCode, 'username' => $member['name'], 'gender' => $gender, 'email' => $member['email'], 'phone' => $member['tel'], 'birthday' => date('Y-m-d', $member['birthday'] / TimeUtil::MILLI_OF_SECONDS), 'total' => empty($params['total']) ? 0 : $params['total'], 'totalScore' => empty($params['totalScore']) ? 0 : $params['totalScore'], 'number' => count($params['data']), 'amount' => empty($params['usedScore']) ? 0 : $params['usedScore']]; //to suport member propertyId $properties = MemberProperty::getMemberProperty($memberInfo->accountId, $memberInfo->properties); $vars = array_merge($vars, $properties); return $vars; }