<?php /** * 数据库表类 fx_user_openid * ============================================================================ * * 版权所有 蜘蛛出行 * * * 网站地址: http://www.zhizhuchuxing.com * ---------------------------------------------------------------------------- * 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和 * 使用;不允许对程序代码以任何形式任何目的的再发布。 * ============================================================================ * Author By: 倪宗锋 * PhpStorm LoginController.php * Create By 2017/07/31 10:20 $ */ namespace common\models; use common\util\Util; use yii\db\ActiveRecord; use yii\db\Expression; /** * 数据库表类 fx_user_openid. * @property integer $id * @property string $open_id * @property integer $fx_uid * @property string $reg_time */ class FxUserOpenid extends ActiveRecord { /** * @inheritdoc */ public static function tableName() { return 'fx_user_openid'; } /** * @inheritdoc */ public function rules() { return [ [['open_id'], 'required'], [['fx_uid'], 'integer'], [['reg_time'], 'safe'], [['open_id'], 'string', 'max' => 255], [['open_id'], 'unique'], ]; } /** * @inheritdoc */ public function attributeLabels() { return [ 'id' => 'ID', 'open_id' => 'Open ID', 'fx_uid' => 'Fx Uid', 'reg_time' => 'Reg Time', ]; } /** * Des:根据openid获取fx_uid * Name: getFxUidByOpenId * @param $openId * @return bool|mixed * @author 倪宗锋 */ public function getFxUidByOpenId($openId) { $select = [ 'fx_uid' => new Expression("if(ifnull(b.fx_uid,0)=0,a.fx_uid,b.fx_uid)") ]; $result = self::find()->select($select) ->from(self::tableName() . ' a') ->leftJoin(FxUserQrcode::tableName() . ' b', 'a.fx_uid=b.qr_id') ->where(['=', 'a.open_id', $openId]) ->asArray() ->one(); if (isset($result['fx_uid']) && $result['fx_uid']) { return $result['fx_uid']; } return false; } /** * @param $openid * @param $from_qrcode_id * @throws \yii\db\Exception */ public function editFxWeChatFxUid($openid, $from_qrcode_id) { $from_qrcode_id = $from_qrcode_id - 50000; $sql = "replace into fx_user_openid(open_id,fx_uid) VALUES('{$openid}',{$from_qrcode_id})"; $this->getDb()->createCommand($sql)->execute(); } }