Browse Source

service层轮循对私帐户

Robin 6 years ago
parent
commit
75a50f7189

+ 89 - 0
normandcrm/service/backend/controllers/PrivateAccountController.php

@@ -0,0 +1,89 @@
+<?php
+/**
+ * Created by PhpStorm.
+ * User: user
+ * Date: 2019/11/17
+ * Time: 14:38
+ */
+
+
+namespace backend\controllers;
+
+use backend\helpers\DateTimeHelper;
+use backend\helpers\MailHelper;
+use backend\helpers\PaginationHelper;
+use backend\helpers\ValidatorHelper;
+use backend\models\Config;
+use backend\models\Mail;
+use backend\models\MailEvent;
+use backend\models\MailRecord;
+
+use backend\models\MailConfig;
+use backend\models\PrivateAccount;
+
+class PrivateAccountController extends BaseController
+{
+
+    /**
+     * 获取所有对私帐户信息
+     */
+    public function actionGetConfig()
+    {
+
+        $result =  PrivateAccount::find()->asArray()->all();
+        return $this->outJson(1, $result);
+    }
+
+    /**
+     * 获取单个对私帐户信息详情
+     */
+    public function actionView()
+    {
+        $request = \Yii::$app->request->get();
+        $id = isset($request['id']) ? (int)$request['id'] : '';
+        $result = PrivateAccount::find()->where(['id' => $id])->one();
+        return $this->outJson(1, $result);
+    }
+
+
+
+    /**
+     * 新增对私帐户
+     */
+    public function actionSave()
+    {
+        $request = \Yii::$app->request->post();
+        $params['url'] = isset($request['url']) ? $request['url'] : '';                               //钱包地址
+        $params['is_close'] = (int)$request['is_close'];                                              //是否启用
+        $params['add_time'] = time();
+
+        $obj = new PrivateAccount();
+        $obj->setAttributes($params);
+        if ($obj->save()) {
+            return $this->outJson(1, $obj->getAttributes());
+        } else {
+            return $this->outJson(0, [], $obj->getErrors());
+        }
+    }
+
+    /**
+     * 修改对私帐户
+     */
+    public function actionUpdatepage()
+    {
+        $request = \Yii::$app->request->post();
+        $params['url'] = isset($request['url']) ? $request['url'] : '';                               //钱包地址
+        $params['is_close'] = (int)$request['is_close'];                                              //是否启用
+
+        $result = PrivateAccount::updateAll([
+            'url'=> $params['url'],
+            'is_close'=> $params['is_close'],
+        ],
+            "id =".$request['id']);
+        if ($result) {
+            return $this->outJson(1, true);
+        } else {
+            return $this->outJson(0, [], "没有任何更新");
+        }
+    }
+}

+ 0 - 10
normandcrm/service/backend/controllers/PublicAccountController.php

@@ -8,16 +8,6 @@
 
 namespace backend\controllers;
 
-use backend\helpers\DateTimeHelper;
-use backend\helpers\MailHelper;
-use backend\helpers\PaginationHelper;
-use backend\helpers\ValidatorHelper;
-use backend\models\Config;
-use backend\models\Mail;
-use backend\models\MailEvent;
-use backend\models\MailRecord;
-
-use backend\models\MailConfig;
 use backend\models\PublicAccount;
 
 class PublicAccountController extends BaseController

+ 71 - 0
normandcrm/service/backend/models/PrivateAccount.php

@@ -0,0 +1,71 @@
+<?php
+/**
+ * Created by PhpStorm.
+ * User: user
+ * Date: 2019/11/17
+ * Time: 14:38
+ */
+namespace backend\models;
+
+use Yii;
+
+/**
+ * This is the model class for table "crm_private_account".
+ *
+ * @property integer $id
+ * @property integer $add_time
+ * @property integer $is_close
+ * @property integer $is_used
+ * @property string $url
+ */
+class PrivateAccount extends \yii\db\ActiveRecord
+{
+
+    /**
+     * @inheritdoc
+     */
+    public static function tableName()
+    {
+        return 'crm_private_account';
+    }
+
+    /**
+     * @return \yii\db\Connection the database connection used by this AR class.
+     */
+    public static function getDb()
+    {
+        return Yii::$app->get('dbXcrm');
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function rules()
+    {
+        return [
+            [['id', 'add_time','is_close','is_used'], 'number'],
+            [['url'], 'string'],
+        ];
+    }
+
+    /**
+     * @return array|bool|\yii\db\ActiveRecord[]
+     */
+    public function getAccountConfig()
+    {
+        $sql = "select id from crm_private_account where is_close = 0";
+        $res = static::findBySql($sql)->asArray()->all();
+        if(empty($res)){
+            return false;//没有开放的对公帐户
+        }
+        $sql = "select url from crm_private_account where is_close = 0 and is_used = 0 order by id desc limit 1";
+        $account_arr = static::findBySql($sql)->asArray()->all();
+        if($account_arr){
+            return $account_arr[0];
+        }else{
+            $sql = "update crm_private_account set is_used = 1 where is_close = 1";
+            Yii::$app->db->createCommand($sql)->execute();
+            static::getAccountConfig();
+        }
+    }
+}