From 3bad1c11833fe8e41988001e5f3b7bb410a0fa05 Mon Sep 17 00:00:00 2001 From: chenbo <709206448@qq.com> Date: Fri, 10 Nov 2023 17:01:30 +0800 Subject: [PATCH 1/2] =?UTF-8?q?update=20=E5=BE=AE=E4=BF=A1=E6=94=AF?= =?UTF-8?q?=E4=BB=98-=E5=AD=90=E5=95=86=E6=88=B7=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/app/common/model/SubMerchant.php | 57 +++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 server/app/common/model/SubMerchant.php diff --git a/server/app/common/model/SubMerchant.php b/server/app/common/model/SubMerchant.php new file mode 100644 index 0000000..0f3229a --- /dev/null +++ b/server/app/common/model/SubMerchant.php @@ -0,0 +1,57 @@ +where(['province_code' => $this->province])->value('province_name'); + } + + public function getCityNameAttr($value) + { + return Db::name('geo_city')->where(['city_code' => $this->city])->value('city_name'); + } + + public function getAreaNameAttr($value) + { + return Db::name('geo_area')->where(['area_code' => $this->area])->value('area_name'); + } + + public function getStreetNameAttr($value) + { + return Db::name('geo_street')->where(['street_code' => $this->street])->value('street_name'); + } + + public function getVillageNameAttr($value) + { + return Db::name('geo_village')->where(['village_code' => $this->village])->value('village_name'); + } + +} \ No newline at end of file From bdc728dce663b45dfe82d05d5b20d9e483870fad Mon Sep 17 00:00:00 2001 From: chenbo <709206448@qq.com> Date: Fri, 10 Nov 2023 17:17:30 +0800 Subject: [PATCH 2/2] =?UTF-8?q?update=20=E5=BE=AE=E4=BF=A1=E6=94=AF?= =?UTF-8?q?=E4=BB=98-=E5=AD=90=E5=95=86=E6=88=B7=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/adminapi/lists/SubMerchantLists.php | 166 ++++++++++-------- .../app/adminapi/logic/SubMerchantLogic.php | 14 +- 2 files changed, 103 insertions(+), 77 deletions(-) diff --git a/server/app/adminapi/lists/SubMerchantLists.php b/server/app/adminapi/lists/SubMerchantLists.php index db11d40..98f830f 100644 --- a/server/app/adminapi/lists/SubMerchantLists.php +++ b/server/app/adminapi/lists/SubMerchantLists.php @@ -1,77 +1,91 @@ - ['sub_merchant_name', 'sub_mch_id', 'province', 'city', 'area', 'street', 'village'], - ]; - } - - - /** - * @notes 获取列表 - * @return array - * @throws \think\db\exception\DataNotFoundException - * @throws \think\db\exception\DbException - * @throws \think\db\exception\ModelNotFoundException - * @author likeadmin - * @date 2023/11/10 09:54 - */ - public function lists(): array - { - return SubMerchant::where($this->searchWhere) - ->field(['id', 'sub_merchant_name', 'sub_mch_id', 'province', 'city', 'area', 'street', 'village']) - ->limit($this->limitOffset, $this->limitLength) - ->order(['id' => 'desc']) - ->select() - ->toArray(); - } - - - /** - * @notes 获取数量 - * @return int - * @author likeadmin - * @date 2023/11/10 09:54 - */ - public function count(): int - { - return SubMerchant::where($this->searchWhere)->count(); - } - + ['sub_merchant_name', 'sub_mch_id', 'province', 'city', 'area', 'street', 'village'], + + ]; + } + + + /** + * @notes 获取列表 + * @return array + * @throws \think\db\exception\DataNotFoundException + * @throws \think\db\exception\DbException + * @throws \think\db\exception\ModelNotFoundException + * @author likeadmin + * @date 2023/11/10 09:54 + */ + public function lists(): array + { + return SubMerchant::where($this->searchWhere) + ->field(['id', 'sub_merchant_name', 'sub_mch_id', 'province', 'city', 'area', 'street', 'village']) + ->limit($this->limitOffset, $this->limitLength) + ->order(['id' => 'desc']) + ->withAttr('province',function($value,$data){ + return Db::name('geo_province')->where('province_code',$value)->value('province_name'); + }) + ->withAttr('city',function($value,$data){ + return Db::name('geo_city')->where('city_code',$value)->value('city_name'); + }) + ->withAttr('area',function($value,$data){ + return Db::name('geo_area')->where('area_code',$value)->value('area_name'); + }) + ->withAttr('street',function($value,$data){ + return Db::name('geo_street')->where('street_code',$value)->value('street_name'); + }) + ->select() + ->toArray(); + } + + + /** + * @notes 获取数量 + * @return int + * @author likeadmin + * @date 2023/11/10 09:54 + */ + public function count(): int + { + return SubMerchant::where($this->searchWhere)->count(); + } + } \ No newline at end of file diff --git a/server/app/adminapi/logic/SubMerchantLogic.php b/server/app/adminapi/logic/SubMerchantLogic.php index 1d94d4e..a3d34e1 100644 --- a/server/app/adminapi/logic/SubMerchantLogic.php +++ b/server/app/adminapi/logic/SubMerchantLogic.php @@ -113,6 +113,18 @@ class SubMerchantLogic extends BaseLogic */ public static function detail($params): array { - return SubMerchant::findOrEmpty($params['id'])->toArray(); + return SubMerchant::findOrEmpty($params['id']) ->withAttr('province',function($value,$data){ + return Db::name('geo_province')->where('province_code',$value)->value('province_name'); + }) + ->withAttr('city',function($value,$data){ + return Db::name('geo_city')->where('city_code',$value)->value('city_name'); + }) + ->withAttr('area',function($value,$data){ + return Db::name('geo_area')->where('area_code',$value)->value('area_name'); + }) + ->withAttr('street',function($value,$data){ + return Db::name('geo_street')->where('street_code',$value)->value('street_name'); + }) + ->toArray(); } } \ No newline at end of file