hrjy 2 rokov pred
rodič
commit
78050a08ee

+ 1 - 1
app/admin/controller/store/StoreProduct.php

@@ -315,7 +315,7 @@ class StoreProduct extends AuthController
         $attr = $data['items'];
         unset($data['items'], $data['video'], $data['attrs']);
         if (count($data['cate_id']) < 1) return Json::fail('请选择产品分类');
-        if (count($data['coupon']) < 1) return Json::fail('请绑定优惠券');
+//        if (count($data['coupon']) < 1) return Json::fail('请绑定优惠券');
         $data['coupon'] = implode($data['coupon'], ',');
         if (!in_array($data['store_type'], [1, 2])) return Json::fail('请选择正确的商品类型');
         $cate_id = $data['cate_id'];

+ 56 - 16
app/admin/controller/ump/StoreCoupon.php

@@ -71,6 +71,8 @@ class StoreCoupon extends AuthController
         return $this->fetch();
     }
 
+
+
     /**
      * 选择商品
      * @param int $id
@@ -126,17 +128,28 @@ class StoreCoupon extends AuthController
      */
     public function edit($id)
     {
-        $coupon = CouponModel::get($id);
-        if (!$coupon) return Json::fail('数据不存在!');
+        $details = \app\admin\model\ump\StoreCoupon::find($id);
+        $data = Util::getMore(['type',]);//接收参数
+        $tab_id = !empty(request()->param('tab_id')) ? request()->param('tab_id') : 1;
+        //前面通用字段
         $f = [];
-        $f[] = Form::input('title', '优惠券名称', $coupon->getData('title'));
-        $f[] = Form::number('coupon_price', '优惠券面值', $coupon->getData('coupon_price'))->min(0);
-        $f[] = Form::number('use_min_price', '优惠券最低消费', $coupon->getData('use_min_price'))->min(0);
-        $f[] = Form::number('coupon_time', '优惠券有效期限', $coupon->getData('coupon_time'))->min(0);
-        $f[] = Form::number('sort', '排序', $coupon->getData('sort'));
-        $f[] = Form::radio('status', '状态', $coupon->getData('status'))->options([['label' => '开启', 'value' => 1], ['label' => '关闭', 'value' => 0]]);
-
-        $form = Form::make_post_form('添加优惠券', $f, Url::buildUrl('update', array('id' => $id)));
+        $f[] = Form::input('title', '优惠券名称', $details->getData('title'));
+        //不同类型不同字段
+        $formbuider = [];
+        //后面通用字段
+        $formbuiderfoot = array();
+        $formbuiderfoot[] = Form::number('coupon_price', '优惠券面值', $details->getData('coupon_price'))->min(0);
+        $formbuiderfoot[] =  Form::selectOne('store_id', '绑定商家', json_encode($details->getData('store_id')))
+            ->options(SystemStore::field('id as value,name as label')->where('is_show', 1)->where('is_del', 0)->select()->toArray())->filterable(1)->col(10);
+//        $formbuiderfoot[] = Form::number('use_min_price', '最低消费')->min(0);
+//        $formbuiderfoot[] = Form::number('coupon_time', '有效期限')->min(0);
+        $formbuiderfoot[] = Form::number('sort', '排序', $details->getData('sort'));
+        $formbuiderfoot[] = Form::hidden('type', $data['type']);
+        $formbuiderfoot[] = Form::hidden('id',$id);
+        $formbuiderfoot[] = Form::dateTimeRange('range_date', '使用时间',date('Y-m-d H:i:s',$details->getData('start_time')), date('Y-m-d H:i:s',$details->getData('end_time')))->placeholder('不填为永久有效');
+        $formbuiderfoot[] = Form::radio('status', '状态', $details->getData('status'))->options([['label' => '开启', 'value' => 1], ['label' => '关闭', 'value' => 0]])->value(1);
+        $formbuiders = array_merge($f, $formbuider, $formbuiderfoot);
+        $form = Form::make_post_form('添加优惠券', $formbuiders, Url::buildUrl('update'));
         $this->assign(compact('form'));
         return $this->fetch('public/form-builder');
     }
@@ -150,18 +163,45 @@ class StoreCoupon extends AuthController
     public function update($id)
     {
         $data = Util::postMore([
+            'id',
             'title',
+            ['product_id', []],
+            ['category_id', 0],
             'coupon_price',
-            'use_min_price',
-            'coupon_time',
+            [ 'use_min_price', 0],
             'sort',
-            ['status', 0]
+            ['status', 0],
+            ['type', 0],
+            ['range_date', ['', '']],
+            ['store_id']
         ]);
+        $rangeTime = $data['range_date'];
+        if (count($rangeTime) != 2) return Json::fail('请选择正确的时间区间');
+        list($startTime, $endTime) = $rangeTime;
+//        echo $startTime;echo $endTime;var_dump($rangeTime);die;
+        if (!$startTime) $startTime = 0;
+        if (!$endTime) $endTime = 0;
+        if (!$startTime && $endTime) return Json::fail('请选择正确的开始时间');
+        if ($startTime && !$endTime) return Json::fail('请选择正确的结束时间');
+        if (!in_array($data['type'],[0,1,2])) return Json::fail('优惠券类型有误');
         if (!$data['title']) return Json::fail('请输入优惠券名称');
         if (!$data['coupon_price']) return Json::fail('请输入优惠券面值');
-        if (!$data['coupon_time']) return Json::fail('请输入优惠券有效期限');
-        CouponModel::edit($data, $id);
-        return Json::successful('修改成功!');
+
+        $details = CouponModel::find($data['id']);
+        unset($data['id']);
+        $details['start_time'] = $startTime != 0 ? strtotime($startTime) : 0;
+        $details['end_time'] = $endTime != 0 ? strtotime($endTime) : 0;
+        $details['title'] = $data['title'];
+        $details['category_id'] = $data['category_id'];
+        $details['coupon_price'] = $data['coupon_price'];
+        $details['use_min_price'] = $data['use_min_price'];
+        $details['sort'] = $data['sort'];
+        $details['status'] = $data['status'];
+        $details['type'] = $data['type'];
+        $details['store_id'] = $data['store_id'];
+        $details['product_id'] = implode(',', $data['product_id']);
+        $details->save();
+        return Json::success('修改优惠券成功!');
     }
 
     /**

+ 8 - 8
app/admin/view/store/store_product/create.php

@@ -161,7 +161,7 @@
                         <ul class="layui-tab-title">
                             <li class="layui-this" lay-id='1'>基础信息</li>
                             <li lay-id='2'>详情</li>
-<!--                            <li lay-id='3'>其他设置</li>-->
+                            <li lay-id='3'>其他设置</li>
                         </ul>
                         <div class="layui-tab-content">
                             <div class="layui-tab-item layui-show">
@@ -966,7 +966,7 @@
                                                     @click="back" v-if="layTabId != 1">上一步
                                             </button>
                                             <button class="layui-btn layui-btn-normal layui-btn-sm" type="button"
-                                                    v-if="layTabId != 2" @click="next">下一步
+                                                    v-if="layTabId != 3" @click="next">下一步
                                             </button>
                                         </div>
                                         <div class="layui-form-item" v-else>
@@ -974,10 +974,10 @@
                                                     @click="back" v-if="layTabId != 1">上一步
                                             </button>
                                             <button class="layui-btn layui-btn-normal layui-btn-sm" type="button"
-                                                    @click="next" v-if="layTabId != 2">下一步
+                                                    @click="next" v-if="layTabId != 3">下一步
                                             </button>
                                             <button class="layui-btn layui-btn-normal layui-btn-sm" type="button"
-                                                    v-if="layTabId == 2" @click="handleSubmit()">提交
+                                                    v-if="layTabId == 3" @click="handleSubmit()">提交
                                             </button>
                                         </div>
                                     </div>
@@ -1554,7 +1554,7 @@
                             //默认值
                             , selected: that.formData.coupon || []
                             //最多选中个数,默认5
-                            , max: 20
+                            , max: 30
                             , name: 'coupon'
                             , model: 'formData.coupon'
                             //值的分隔符
@@ -1619,9 +1619,9 @@
                 if (!that.formData.cate_id.length) {
                     return that.showMsg('请选择商品分类');
                 }
-                if (!that.formData.coupon.length) {
-                    return that.showMsg('请绑定优惠券');
-                }
+                // if (!that.formData.coupon.length) {
+                //     return that.showMsg('请绑定优惠券');
+                // }
                 // if (!that.formData.temp_id) {
                 //     return that.showMsg('请选择运费模板');
                 // }

+ 1 - 1
app/admin/view/system/system_store/add.php

@@ -224,7 +224,7 @@
                     var that = this;
                     if(!that.form.name) return  $eb.message('error','请填写门店行名称');
                     if(!that.form.phone) return  $eb.message('error','请输入手机号码');
-                    if(!that.isPhone(that.form.phone)) return  $eb.message('error','请输入正确的手机号码');
+                    // if(!that.isPhone(that.form.phone)) return  $eb.message('error','请输入正确的手机号码');
                     if(!that.form.address) return  $eb.message('error','请选择门店地址');
                     if(!that.form.detailed_address) return  $eb.message('error','请填写门店详细地址');
                     if(!that.form.image) return  $eb.message('error','请选择门店logo');

+ 5 - 0
app/admin/view/ump/store_coupon/index.php

@@ -96,6 +96,11 @@
                                         </button>
                                         <ul class="dropdown-menu">
                                             {if condition="$vo['status']"}
+                                            <li>
+                                                <a href="javascript:void(0);" onclick="$eb.createModalFrame(this.innerText,'{:Url('edit')}?type=0&id={$vo['id']}')">
+                                                    <i class="fa  fa-yelp"></i> 编辑
+                                                </a>
+                                            </li>
                                             <li>
                                                 <a href="javascript:void(0);" class="del" data-url="{:Url('status',array('id'=>$vo['id']))}">
                                                     <i class="fa  fa-yelp"></i> 立即失效

+ 31 - 0
app/api/controller/PublicController.php

@@ -361,4 +361,35 @@ class PublicController
         return app('json')->successful($data);
     }
 
+    /**
+     * 地址
+     * @return mixed
+     */
+    public function address()
+    {
+        $data = UtilService::getMore([
+            'lat',
+            'lng'
+        ]);
+        $key = '4A5BZ-GV7K4-G2PUH-DIIQJ-CIG6T-CKFT2';
+        $url = 'https://apis.map.qq.com/ws/geocoder/v1/';
+        $post_data['location'] = $data['lat'].','.$data['lng'];
+        $post_data['key'] = $key;
+        $ch = curl_init();
+        curl_setopt($ch, CURLOPT_URL, $url);
+        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
+        // post数据
+        curl_setopt($ch, CURLOPT_POST, 1);
+        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); // https请求 不验证证书和hosts
+        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
+        // post的变量
+        curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
+        $output=json_decode(curl_exec($ch),true);
+        curl_close($ch);
+        return app('json')->successful($output['result']['address_component']);
+    }
+
+
+
+
 }

+ 11 - 14
app/models/store/StoreOrder.php

@@ -300,15 +300,9 @@ class StoreOrder extends BaseModel
                 $payPostage = self::getOrderPriceGroup($cartInfo, $addr)['storePostage'];
             }
             if ($shipping_type === 1) {
-                $addressInfo['real_name'] = '';
-                $addressInfo['phone'] = '';
-                $addressInfo['province'] = '';
-                $addressInfo['city'] = '';
-                $addressInfo['district'] = '';
-                $addressInfo['detail'] = '';
-//                if (!$test && !$addressId) return self::setErrorInfo('请选择收货地址!', true);
-//                if (!$test && (!UserAddress::be(['uid' => $uid, 'id' => $addressId, 'is_del' => 0]) || !($addressInfo = UserAddress::find($addressId))))
-//                    return self::setErrorInfo('地址选择有误!', true);
+                if (!$test && !$addressId) return self::setErrorInfo('请选择收货地址!', true);
+                if (!$test && (!UserAddress::be(['uid' => $uid, 'id' => $addressId, 'is_del' => 0]) || !($addressInfo = UserAddress::find($addressId))))
+                    return self::setErrorInfo('地址选择有误!', true);
             } else {
                 if ((!$real_name || !$phone) && !$test) return self::setErrorInfo('请填写姓名和电话', true);
                 $addressInfo['real_name'] = $real_name;
@@ -803,11 +797,14 @@ class StoreOrder extends BaseModel
         $product = StoreProduct::where('id', 'in', $cart)->select();
         foreach ($product as $item){
             $coupon = StoreCoupon::where('id', 'in',$item['coupon'])->select();
-            foreach ($coupon as $v){
-                $store = SystemStore::where('id', $v['store_id'])->find();
-                $store['sales'] += 1;
-                $store->save();
+            if ($coupon){
+                foreach ($coupon as $v){
+                    $store = SystemStore::where('id', $v['store_id'])->find();
+                    $store['sales'] += 1;
+                    $store->save();
+                }
             }
+
         }
     }
 
@@ -855,7 +852,7 @@ class StoreOrder extends BaseModel
                 $order->save();
                 if ($user['spread_uid']) self::superior_push($user['spread_uid']);
                 if ($user['level'] < 2) $user['level'] = 2;
-            }else if ($product['id'] = 2){
+            }else if ($product['id'] == 2){
                 if ($user['spread_uid']) self::superior($user['spread_uid']);
                 if ($user['level'] < 1) $user['level'] = 1;
             }

+ 3 - 1
route/api/route.php

@@ -169,6 +169,8 @@ Route::group(function () {
     Route::get('coupon_user', 'user.UserController/coupon_user')->name('coupon_user');//用户优惠券
     Route::post('share', 'user.UserController/share')->name('share');//分享领取优惠券
     Route::get('coupon_datalis', 'user.UserController/coupon_datalis')->name('coupon_datalis');//优惠券详情
+
+
 })->middleware(\app\http\middleware\AllowOriginMiddleware::class)->middleware(\app\http\middleware\AuthTokenMiddleware::class, true);
 //未授权接口
 Route::group(function () {
@@ -239,7 +241,7 @@ Route::group(function () {
     Route::get('city_list', 'PublicController/city_list')->name('cityList');
     //门店分类类
     Route::get('store_cate', 'store.CategoryController/store_cate')->name('store_cate'); // 门店分类
-
+    Route::get('address', 'PublicController/address')->name('address');//地址
 })->middleware(\app\http\middleware\AllowOriginMiddleware::class)->middleware(\app\http\middleware\AuthTokenMiddleware::class, false);