get('dbXcrm'); } /** * @inheritdoc */ public function rules() { return [ [['member_id','bank_name', 'bank_branch', 'bank_card_no', 'name'], 'required'], [['id', 'create_time', 'last_modified'], 'safe'], [['bank_name', 'bank_branch', 'bank_swift_code', 'bank_card_no', 'bank_province', 'bank_city', 'bank_district', 'name', 'mobile'], 'string', 'max' => 32], [['bank_name', 'bank_branch', 'bank_swift_code', 'bank_card_no', 'bank_province', 'bank_city', 'bank_district', 'name', 'mobile'], 'trim'], [['is_enable'], 'in', 'range' => [0, 1]], ]; } /** * @inheritdoc */ public function attributeLabels() { return [ 'id' => 'ID', 'member_id' => 'Member ID', 'is_enable' => '是否启用', 'bank_name' => '收款银行', 'bank_branch' => '所属支行', 'bank_swift_code' => 'swift代码', 'bank_card_no' => '收款卡号', 'bank_province' => '所在省份', 'bank_city' => '所在城市', 'bank_district' => '所在城市区域', 'name' => '收款人', 'mobile' => '联系手机', 'create_time' => '创建时间', 'last_modified' => '更新时间', ]; } /** * 修改银行卡信息 * @param array $post * @return array */ public function updateBankInfo($post) { $result = ['code' => 0, 'data' => [], 'message' => '']; if (empty($post['MemberBankInfo'])) { $result['message'] = '参数错误'; return $result; } $post['MemberBankInfo']['is_enable'] = isset($post['MemberBankInfo']['is_enable']) ? 1 : 0; // 这是个checkbox $member_id = isset($post['member_id']) ? (int) $post['member_id'] : 0; $member_type = isset($post['member_type']) ? (int) $post['member_type'] : 0; if (!$member_id || !in_array($member_type, [Member::MEMBER_TYPE_IB])) { $result['message'] = '参数错误'; return $result; } $member = Member::find()->where(['id' => $member_id, 'type' => $member_type])->limit(1)->one(); if (!$member) { $result['message'] = '参数错误.'; return $result; } /** @var MemberBankInfo $model */ $model = static::find()->where(['member_id' => $member_id])->limit(1)->one(); if (!$model) { $model = new static(); $model->member_id = $member_id; $model->create_time = time(); } $model->setAttributes($post['MemberBankInfo']); if ($model->save()) { $result['code'] = 1; $result['message'] = '更新成功'; } else { $result['message'] = array_values($model->getFirstErrors())[0]; } return $result; } /** * 根据member_id获取启用的银行卡信息 * @param int $member_id * @param int $is_enable * @return array|null */ public static function getBankInfoByMemberId($member_id, $is_enable = 1) { $where = ['member_id' => $member_id]; if ($is_enable) { $where['is_enable'] = $is_enable; } return MemberBankInfo::find()->where($where)->limit(1)->asArray()->one(); } }