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;
 }