Explorar o código

开户环境,客户勾选不发送邮件开户时,生成待发送邮件记录

Robin %!s(int64=6) %!d(string=hai) anos
pai
achega
f3f3b5b3bd
Modificáronse 1 ficheiros con 49 adicións e 8 borrados
  1. 49 8
      normandcrm/service/backend/controllers/OpenController.php

+ 49 - 8
normandcrm/service/backend/controllers/OpenController.php

@@ -14,6 +14,7 @@ use backend\models\IbOpenRecord;
 use backend\models\Member;
 use backend\models\MemberBankInfo;
 use backend\models\Open;
+use backend\models\MailRecord;
 use backend\models\UserMember;
 use common\helpers\MtKit;
 use backend\helpers\LogHelper;
@@ -412,22 +413,62 @@ class OpenController extends BaseController
         }
 
         $config = Config::findOne(1);
+        $paramArray = [
+            'email' => $username,
+            'name' => $name,
+            'mt4Login' => $open->mt4_login,
+            'mt4LoginPwd' => $open->mt4_login_pwd,
+            'mt4ViewPwd' => $open->mt4_view_pwd,
+            'xTradePwd' => $password,
+        ];
         if (!empty($isSendMail)) {
-            $paramArray = [
-                'email' => $username,
-                'name' => $name,
-                'mt4Login' => $open->mt4_login,
-                'mt4LoginPwd' => $open->mt4_login_pwd,
-                'mt4ViewPwd' => $open->mt4_view_pwd,
-                'xTradePwd' => $password,
-            ];
             // 发送邮件
             MailHelper::sendMail("恭喜您,您的账户已成功开通", $username, $paramArray, '', $config->mail_open);
+        }else{
+            //不即时发送邮件,生成邮件记录,事后补发
+            $mailRecord = new MailRecord();
+            $mailRecord->content = $this->replaceVariable($config->mail_open,$paramArray);
+            $mailRecord->receiver = $username;
+            $mailRecord->status = 0;
+            $mailRecord->subject = "恭喜您,您的账户已成功开通";
+            $mailRecord->in_time = DateTimeHelper::microtime_float();
+            $mailRecord->mail_num = 0;
+            $mailRecord->save();
         }
 
         return $this->outJson(1, $member, '操作成功');
     }
 
+    /**
+     * 将模板中的变量替换为入参
+     * @param $content string
+     * @param $paramArray array
+     * @return string
+     */
+    private function replaceVariable($content, $paramArray)
+    {
+        if (!empty($content) && !empty($paramArray)) {
+            foreach ($paramArray as $key => $value) {
+                $variable='${'.$key.'}';
+                $variable1 = '#{'.$key.'}';
+                $variable2 = '#'.$key.'#';
+                if (is_null($value)) {
+                    continue;
+                }
+                while (strpos($content, $variable, 0) > -1) {
+                    $content = str_replace($variable, $value, $content);
+                }
+                while (strpos($content, $variable1, 0) > -1) {
+                    $content = str_replace($variable1, $value, $content);
+                }
+                while (strpos($content, $variable2, 0) > -1) {
+                    $content = str_replace($variable2, $value, $content);
+                }
+            }
+        }
+        return $content;
+    }
+
     /**
      * 加入xbroker账户
      * @return \yii\web\Response