| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145 |
- <?php
- namespace backend\models;
- use Yii;
- /**
- * This is the model class for table "crm_member".
- *
- * @property integer $id
- * @property integer $member_id
- * @property integer $is_enable
- * @property string $bank_name
- * @property string $bank_branch
- * @property string $bank_swift_code
- * @property string $bank_card_no
- * @property string $bank_province
- * @property string $bank_city
- * @property string $bank_district
- * @property string $name
- * @property string $mobile
- * @property integer $create_time
- * @property string $last_modified
- */
- class MemberBankInfo extends \yii\db\ActiveRecord
- {
- /**
- * @inheritdoc
- */
- public static function tableName()
- {
- return 'crm_member_bank_info';
- }
- /**
- * @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 [
- [['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();
- }
-
- }
|