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