| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 |
- <?php
- /**
- * 重庆赤晓店信息科技有限公司
- * https://www.chixiaodian.com
- * Copyright (c) 2023 赤店商城 All rights reserved.
- */
- namespace app\modules\client\models\v1;
- use app\models\Address;
- use yii\base\Model;
- class AddressSetDefaultForm extends Model
- {
- public $store_id;
- public $user_id;
- public $address_id;
- public function rules()
- {
- return [
- [['address_id'], 'required'],
- ];
- }
- public function save()
- {
- if (!$this->validate()) {
- return [
- 'code' => 1,
- 'msg' => $this->getErrorSummary(false)[0],
- ];
- }
- $address = Address::findOne($this->address_id);
- if (!$address) {
- return [
- 'code' => 1,
- 'msg' => '操作失败,收货地址不存在',
- ];
- }
- Address::updateAll(['is_default' => Address::DEFAULT_STATUS_FALSE], [
- 'user_id' => $this->user_id,
- 'is_delete' => Address::DELETE_STATUS_FALSE,
- ]);
- $address->is_default = Address::DEFAULT_STATUS_TRUE;
- $address->save();
- return [
- 'code' => 0,
- 'msg' => '操作成功',
- ];
- }
- public function info()
- {
- $address = Address::find()->select('id,name,mobile,province_id,province,city_id,city,district_id,district,detail,is_default,longitude,latitude,town_id,town,village_id,village')->where([
- 'user_id' => $this->user_id,
- 'is_delete' => 0,
- 'id' => $this->address_id,
- ])->one();
- if (!$address) {
- return [
- 'code' => 1,
- 'msg' => '收货地址不存在',
- ];
- }
- return [
- 'code' => 0,
- 'msg' => 'success',
- 'data' => [
- 'address_id' => $address->id,
- 'name' => $address->name,
- 'mobile' => $address->mobile,
- 'district' => [
- 'province' => [
- 'id' => $address->province_id,
- 'name' => $address->province,
- ],
- 'city' => [
- 'id' => $address->city_id,
- 'name' => $address->city,
- ],
- 'district' => [
- 'id' => $address->district_id,
- 'name' => $address->district,
- ],
- 'town' => [
- 'id' => $address->town_id?:0,
- 'name' => $address->town?:'',
- ],
- 'village' => [
- 'id' => $address->village_id?:0,
- 'name' => $address->village?:'',
- ],
- ],
- 'detail' => $address->detail,
- 'latitude' => $address->latitude,
- 'longitude' => $address->longitude,
- 'is_default' => $address->is_default
- ],
- ];
- }
- public function delete()
- {
- if (!$this->validate()) {
- return [
- 'code' => 1,
- 'msg' => $this->getErrorSummary(false)[0],
- ];
- }
- $address = Address::findOne($this->address_id);
- if (!$address) {
- return [
- 'code' => 1,
- 'msg' => '操作失败,收货地址不存在',
- ];
- }
- $address->is_delete = Address::DELETE_STATUS_TRUE;
- $address->save();
- return [
- 'code' => 0,
- 'msg' => '操作成功',
- ];
- }
- }
|