From cb640a492a5bd90b240f7e9d3006f3f9b8a726b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BD=AD=E6=A1=83?= <1098598843@qq.com> Date: Sat, 11 Mar 2023 10:47:18 +0800 Subject: [PATCH 01/10] =?UTF-8?q?=E5=95=86=E6=88=B7=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E8=BF=94=E5=9B=9E=E4=BC=98=E6=83=A0=E5=88=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/common/repositories/system/merchant/MerchantRepository.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/common/repositories/system/merchant/MerchantRepository.php b/app/common/repositories/system/merchant/MerchantRepository.php index 090d0fdd..9fe7c184 100644 --- a/app/common/repositories/system/merchant/MerchantRepository.php +++ b/app/common/repositories/system/merchant/MerchantRepository.php @@ -313,6 +313,8 @@ class MerchantRepository extends BaseRepository $item['recommend'] = isset($where['delivery_way']) ? $item['CityRecommend'] : $item['AllRecommend']; $item['area_name'] = Db::name('merchant_address')->alias('a')->join('eb_geo_area b','a.area_id=b.area_code')->where('a.mer_id',$item['mer_id'])->value('b.area_name')??''; $item['street_name'] = Db::name('merchant_address')->alias('a')->join('eb_geo_street b','a.street_id=b.street_code')->where('a.mer_id',$item['mer_id'])->value('b.street_name'); +// 查询优惠券 + $item['store_coupon'] = Db::name('store_coupon')->where('mer_id',$item['mer_id'])->column('title'); return $item; }); From 636df2af31e74776e73a5124944460eeaed41215 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BD=AD=E6=A1=83?= <1098598843@qq.com> Date: Sat, 11 Mar 2023 10:51:11 +0800 Subject: [PATCH 02/10] 1 --- app/common/repositories/system/merchant/MerchantRepository.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/common/repositories/system/merchant/MerchantRepository.php b/app/common/repositories/system/merchant/MerchantRepository.php index 9fe7c184..8a40eab0 100644 --- a/app/common/repositories/system/merchant/MerchantRepository.php +++ b/app/common/repositories/system/merchant/MerchantRepository.php @@ -314,7 +314,7 @@ class MerchantRepository extends BaseRepository $item['area_name'] = Db::name('merchant_address')->alias('a')->join('eb_geo_area b','a.area_id=b.area_code')->where('a.mer_id',$item['mer_id'])->value('b.area_name')??''; $item['street_name'] = Db::name('merchant_address')->alias('a')->join('eb_geo_street b','a.street_id=b.street_code')->where('a.mer_id',$item['mer_id'])->value('b.street_name'); // 查询优惠券 - $item['store_coupon'] = Db::name('store_coupon')->where('mer_id',$item['mer_id'])->column('title'); + $item['store_coupon'] = Db::name('store_coupon')->where('mer_id',$item['mer_id'])->where('is_del',0)->column('title'); return $item; }); From cc2f74ae0b738064d32497919019bfab01aa2ba7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BD=AD=E6=A1=83?= <1098598843@qq.com> Date: Sat, 11 Mar 2023 17:44:33 +0800 Subject: [PATCH 03/10] =?UTF-8?q?=E5=95=86=E6=88=B7=E7=BC=96=E8=BE=91?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/store/merchant/Merchant.php | 81 +++++++++++++++++++ route/api.php | 2 + 2 files changed, 83 insertions(+) diff --git a/app/controller/api/store/merchant/Merchant.php b/app/controller/api/store/merchant/Merchant.php index ba309f0b..97f9abbb 100644 --- a/app/controller/api/store/merchant/Merchant.php +++ b/app/controller/api/store/merchant/Merchant.php @@ -12,10 +12,17 @@ namespace app\controller\api\store\merchant; +use app\common\repositories\store\MerchantTakeRepository; +use app\common\repositories\store\product\ProductRepository; +use app\common\repositories\system\config\ConfigValueRepository; use app\common\repositories\user\UserMerchantRepository; +use app\validate\merchant\MerchantTakeValidate; +use app\validate\merchant\MerchantUpdateValidate; +use crmeb\jobs\ChangeMerchantStatusJob; use think\App; use crmeb\basic\BaseController; use app\common\repositories\system\merchant\MerchantRepository as repository; +use think\facade\Queue; class Merchant extends BaseController { @@ -119,4 +126,78 @@ class Merchant extends BaseController return app('json')->success($this->repository->getList($where, $page, $limit, $this->userInfo)); } + /** + * @param MerchantUpdateValidate $validate + * @return mixed + * @author xaboy + * @day 2020/6/25 + */ + public function update(MerchantUpdateValidate $validate, MerchantTakeValidate $takeValidate, MerchantTakeRepository $repository) + { + + $type = $this->request->param('type',1); + $id = $this->request->param('id'); + if(empty($id)){ + return app('json')->fail('参数错误'); + } + + $merchant = Db::name('merchant')->where('mer_id',$id)->find(); + if ($type == 2) { + $data = $this->request->params([ + 'mer_info', + 'mer_certificate', + 'service_phone', + 'mer_avatar', + 'mer_banner', + 'mer_state', + 'mini_banner', + 'mer_keyword', + 'mer_address', + 'long', + 'lat', + ['delivery_way',[2]], + ]); + $validate->check($data); + $sys_bases_status = systemConfig('sys_bases_status') === '0' ? 0 : 1; + if ($sys_bases_status && empty($data['mer_certificate'])) + return app('json')->fail('店铺资质不可为空'); + + app()->make(ConfigValueRepository::class)->setFormData([ + 'mer_certificate' => $data['mer_certificate'] + ], $id); + unset($data['mer_certificate']); + + foreach ($data['delivery_way'] as $datum) { + if ($datum == 1) { + $takeData = $this->request->params(['mer_take_status', 'mer_take_name', 'mer_take_phone', 'mer_take_address', 'mer_take_location', 'mer_take_day', 'mer_take_time']); + $takeValidate->check($takeData); + $repository->set($id, $takeData); + break; + } + } + $delivery_way = implode(',',$data['delivery_way']); + if (count($data['delivery_way']) == 1 && $data['delivery_way'] != $merchant['delivery_way']) { + app()->make(ProductRepository::class)->getSearch([]) + ->where('mer_id',$merchant['mer_id']) + ->update(['delivery_way' => $delivery_way]); + } + + $data['delivery_way'] = $delivery_way; + + } else { + $data = $this->request->params(['mer_state']); + + if ($merchant['is_margin'] == 1 && $data['mer_state'] == 1) + return app('json')->fail('开启店铺前请先支付保证金'); + + if ($data['mer_state'] && !$merchant['sub_mchid'] && systemConfig('open_wx_combine')) + return app('json')->fail('开启店铺前请先完成微信子商户入驻'); + } + Db::name('merchant')->where('mer_id',$id)->update($data); + + Queue::push(ChangeMerchantStatusJob::class, $id); + return app('json')->success('修改成功'); + } + + } diff --git a/route/api.php b/route/api.php index 8ecd2d5b..7f621df9 100644 --- a/route/api.php +++ b/route/api.php @@ -494,6 +494,8 @@ Route::group('api/', function () { Route::get('/detail/:id', 'Merchant/detail'); Route::get('/qrcode/:id', 'Merchant/qrcode'); Route::get('/local', 'Merchant/localLst'); + //编辑商户信息 + Route::post('update', 'Merchant/update'); })->prefix('api.store.merchant.'); Route::post('store/certificate/:merId', 'api.Auth/getMerCertificate'); From ffa11f501e9b570e4102aecb0588b559126b5e3d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BD=AD=E6=A1=83?= <1098598843@qq.com> Date: Mon, 13 Mar 2023 10:01:34 +0800 Subject: [PATCH 04/10] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=BF=94=E5=9B=9E?= =?UTF-8?q?=E6=98=AF=E5=90=A6=E5=AE=8C=E5=96=84=E5=95=86=E6=88=B7=E4=BF=A1?= =?UTF-8?q?=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controller/api/Auth.php | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/app/controller/api/Auth.php b/app/controller/api/Auth.php index 718440f3..8bf66ae7 100644 --- a/app/controller/api/Auth.php +++ b/app/controller/api/Auth.php @@ -170,6 +170,17 @@ class Auth extends BaseController } // 新增返回商户后台登录地址 $data['merchant_login'] = $this->request->domain().'/merchant'; +// 判断是否是商户,并且有没有完善信息 + $mer_arr = Db::name('merchant_intention')->alias('a')->join('merchant b','a.mer_id=b.mer_id')->where('a.uid',$data['uid'])->field('b.mer_avatar,b.mer_banner,b.mer_info,b.service_phone,b.mer_address')->find(); + if($mer_arr){ + if (!$mer_arr['mer_avatar'] || !$mer_arr['mer_banner'] || !$mer_arr['mer_info'] || !$mer_arr['service_phone'] || !$mer_arr['mer_address']) { + $data['is_wsxx'] = 0; + }else{ + $data['is_wsxx'] = 1; + } + }else{ + $data['is_wsxx'] = 0; + } return app('json')->success($data); } From 181386afd7cd8b191cf819430d7cfaf436e3424d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BD=AD=E6=A1=83?= <1098598843@qq.com> Date: Mon, 13 Mar 2023 10:04:52 +0800 Subject: [PATCH 05/10] 1 --- app/controller/api/store/merchant/Merchant.php | 1 + 1 file changed, 1 insertion(+) diff --git a/app/controller/api/store/merchant/Merchant.php b/app/controller/api/store/merchant/Merchant.php index 97f9abbb..9d58b3ff 100644 --- a/app/controller/api/store/merchant/Merchant.php +++ b/app/controller/api/store/merchant/Merchant.php @@ -23,6 +23,7 @@ use think\App; use crmeb\basic\BaseController; use app\common\repositories\system\merchant\MerchantRepository as repository; use think\facade\Queue; +use think\facade\Db; class Merchant extends BaseController { From f86f1f95bb9463d845133a89f0cefcac9ae00f56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BD=AD=E6=A1=83?= <1098598843@qq.com> Date: Mon, 13 Mar 2023 16:34:00 +0800 Subject: [PATCH 06/10] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E5=95=86=E6=88=B7=E4=BF=A1=E6=81=AF=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/store/merchant/Merchant.php | 26 +++++++++++++++++++ route/api.php | 2 ++ 2 files changed, 28 insertions(+) diff --git a/app/controller/api/store/merchant/Merchant.php b/app/controller/api/store/merchant/Merchant.php index 9d58b3ff..bec2101e 100644 --- a/app/controller/api/store/merchant/Merchant.php +++ b/app/controller/api/store/merchant/Merchant.php @@ -25,6 +25,7 @@ use app\common\repositories\system\merchant\MerchantRepository as repository; use think\facade\Queue; use think\facade\Db; + class Merchant extends BaseController { protected $repository; @@ -200,5 +201,30 @@ class Merchant extends BaseController return app('json')->success('修改成功'); } + /** + * @return mixed + * @author xaboy + * @day 2020/7/21 + */ + public function info(MerchantTakeRepository $repository) + { + $id = $this->request->param('id'); + if(empty($id)){ + return app('json')->fail('参数错误'); + } + + $data = Db::name('merchant')->where('mer_id',$id)->find(); + // $append = ['merchantCategory', 'merchantType', 'mer_certificate']; + // if ($merchant['is_margin'] == -10) + // $append[] = 'refundMarginOrder'; + + // $data = $merchant->append($append)->hidden(['mark', 'reg_admin_id', 'sort'])->toArray(); + $delivery = $repository->get($id) + systemConfig(['tx_map_key']); + $data = array_merge($data,$delivery); + $data['sys_bases_status'] = systemConfig('sys_bases_status') === '0' ? 0 : 1; + + return app('json')->success($data); + } + } diff --git a/route/api.php b/route/api.php index 7f621df9..59e037fe 100644 --- a/route/api.php +++ b/route/api.php @@ -496,6 +496,8 @@ Route::group('api/', function () { Route::get('/local', 'Merchant/localLst'); //编辑商户信息 Route::post('update', 'Merchant/update'); +// 商户信息 + Route::get('info', 'Merchant/info'); })->prefix('api.store.merchant.'); Route::post('store/certificate/:merId', 'api.Auth/getMerCertificate'); From d5c224d8feb4d7eeb1cdbd2cd90b612f1e9ba4c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BD=AD=E6=A1=83?= <1098598843@qq.com> Date: Tue, 14 Mar 2023 09:52:36 +0800 Subject: [PATCH 07/10] 1 --- app/controller/api/Auth.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controller/api/Auth.php b/app/controller/api/Auth.php index 8bf66ae7..a36364bd 100644 --- a/app/controller/api/Auth.php +++ b/app/controller/api/Auth.php @@ -171,7 +171,7 @@ class Auth extends BaseController // 新增返回商户后台登录地址 $data['merchant_login'] = $this->request->domain().'/merchant'; // 判断是否是商户,并且有没有完善信息 - $mer_arr = Db::name('merchant_intention')->alias('a')->join('merchant b','a.mer_id=b.mer_id')->where('a.uid',$data['uid'])->field('b.mer_avatar,b.mer_banner,b.mer_info,b.service_phone,b.mer_address')->find(); + $mer_arr = Db::name('merchant_intention')->alias('a')->join('merchant b','a.mer_id=b.mer_id')->where('a.uid',$data['uid'])->where('a.is_del',0)->where('a.status',1)->field('b.mer_avatar,b.mer_banner,b.mer_info,b.service_phone,b.mer_address')->find(); if($mer_arr){ if (!$mer_arr['mer_avatar'] || !$mer_arr['mer_banner'] || !$mer_arr['mer_info'] || !$mer_arr['service_phone'] || !$mer_arr['mer_address']) { $data['is_wsxx'] = 0; From 43c6e997afc284584fa7cd12ba65900d3460c5ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BD=AD=E6=A1=83?= <1098598843@qq.com> Date: Tue, 14 Mar 2023 16:15:04 +0800 Subject: [PATCH 08/10] 1 --- app/controller/api/store/merchant/Merchant.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/controller/api/store/merchant/Merchant.php b/app/controller/api/store/merchant/Merchant.php index bec2101e..92f36ba4 100644 --- a/app/controller/api/store/merchant/Merchant.php +++ b/app/controller/api/store/merchant/Merchant.php @@ -171,7 +171,9 @@ class Merchant extends BaseController foreach ($data['delivery_way'] as $datum) { if ($datum == 1) { - $takeData = $this->request->params(['mer_take_status', 'mer_take_name', 'mer_take_phone', 'mer_take_address', 'mer_take_location', 'mer_take_day', 'mer_take_time']); + $takeData = $this->request->params(['mer_take_status', 'mer_take_phone', 'mer_take_location', 'mer_take_day', 'mer_take_time']); + $takeData['mer_take_name'] = $merchant['mer_name']; + $takeData['mer_take_address'] = $data['mer_address']; $takeValidate->check($takeData); $repository->set($id, $takeData); break; From 73cc7e66d21521723ea994737e782c1dcf293300 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BD=AD=E6=A1=83?= <1098598843@qq.com> Date: Tue, 14 Mar 2023 16:26:37 +0800 Subject: [PATCH 09/10] 1 --- app/controller/api/store/merchant/Merchant.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/controller/api/store/merchant/Merchant.php b/app/controller/api/store/merchant/Merchant.php index 92f36ba4..99aa81fc 100644 --- a/app/controller/api/store/merchant/Merchant.php +++ b/app/controller/api/store/merchant/Merchant.php @@ -171,9 +171,10 @@ class Merchant extends BaseController foreach ($data['delivery_way'] as $datum) { if ($datum == 1) { - $takeData = $this->request->params(['mer_take_status', 'mer_take_phone', 'mer_take_location', 'mer_take_day', 'mer_take_time']); + $takeData = $this->request->params(['mer_take_status', 'mer_take_location', 'mer_take_day', 'mer_take_time']); $takeData['mer_take_name'] = $merchant['mer_name']; $takeData['mer_take_address'] = $data['mer_address']; + $takeData['mer_take_phone'] = $merchant['mer_phone']; $takeValidate->check($takeData); $repository->set($id, $takeData); break; From c7336b33874b3a55fb057a69e927d75ff670ba07 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BD=AD=E6=A1=83?= <1098598843@qq.com> Date: Thu, 16 Mar 2023 10:59:49 +0800 Subject: [PATCH 10/10] 1 --- app/common/repositories/store/MerchantTakeRepository.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/common/repositories/store/MerchantTakeRepository.php b/app/common/repositories/store/MerchantTakeRepository.php index 452576d4..b613e06f 100644 --- a/app/common/repositories/store/MerchantTakeRepository.php +++ b/app/common/repositories/store/MerchantTakeRepository.php @@ -21,7 +21,7 @@ class MerchantTakeRepository public function get($merId) { return merchantConfig($merId, [ - 'mer_take_status', 'mer_take_name', 'mer_take_phone', 'mer_take_address', 'mer_take_location', 'mer_take_day', 'mer_take_time' + 'mer_take_status', 'mer_take_name', 'mer_take_phone', 'mer_take_address', 'mer_take_location', 'mer_take_day', 'mer_take_time','mer_certificate' ]); }