hrjy 3 years ago
parent
commit
0b281bc785

+ 17 - 4
app/api/controller/PublicController.php

@@ -5,6 +5,8 @@ namespace app\api\controller;
 use app\admin\model\system\SystemAttachment;
 use app\admin\model\system\SystemAttachment;
 use app\models\store\StoreCategory;
 use app\models\store\StoreCategory;
 use app\models\store\StoreCouponIssue;
 use app\models\store\StoreCouponIssue;
+use app\models\store\StoreOrder;
+use app\models\store\StoreOrderCartInfo;
 use app\models\store\StoreProduct;
 use app\models\store\StoreProduct;
 use app\models\store\StoreService;
 use app\models\store\StoreService;
 use app\models\system\Express;
 use app\models\system\Express;
@@ -286,15 +288,25 @@ class PublicController
      */
      */
     public function store_list(Request $request)
     public function store_list(Request $request)
     {
     {
-        list($latitude, $longitude, $page, $limit, $cate_id) = UtilService::getMore([
+        list($latitude, $longitude, $page, $limit, $cate_id, $name) = UtilService::getMore([
             ['latitude', ''],
             ['latitude', ''],
             ['longitude', ''],
             ['longitude', ''],
             ['page', 1],
             ['page', 1],
             ['limit', 10],
             ['limit', 10],
-            ['cate_id']
+            ['cate_id'],
+            ['name', '']
         ], $request, true);
         ], $request, true);
-        $list = SystemStore::lst($latitude, $longitude, $page, $limit, $cate_id);
-        if (!$list) $list = [];
+        $list = SystemStore::lst($latitude, $longitude, $page, $limit, $cate_id,$name);
+        if (!$list){
+            $list = [];
+        } else{
+            foreach ($list as &$item) {
+                $item['coupon'] = StoreProduct::field('id,store_name,price,ot_price')->where('coupon', $item['id'])->where('id', '>', 2)->select();
+                $id = StoreProduct::where('coupon', $item['id'])->where('id', '>', 2)->column('id');
+                $orderId = StoreOrderCartInfo::where('product_id', 'in',$id)->column('oid');
+                $item['count'] = count($orderId) > 0?StoreOrder::where('id', $orderId)->where('status', '>', 2)->count():0;
+            }
+        }
         $data['list'] = $list;
         $data['list'] = $list;
         $data['tengxun_map_key'] = sys_config('tengxun_map_key');
         $data['tengxun_map_key'] = sys_config('tengxun_map_key');
         return app('json')->successful($data);
         return app('json')->successful($data);
@@ -345,6 +357,7 @@ class PublicController
         $data = empty($data) ? [] : $data->toArray();
         $data = empty($data) ? [] : $data->toArray();
         $data['slider_image'] = json_decode($data['slider_image']);
         $data['slider_image'] = json_decode($data['slider_image']);
         $data['images'] = json_decode($data['gatehead']);
         $data['images'] = json_decode($data['gatehead']);
+        $data['coupon'] = StoreProduct::field('id,store_name,price,ot_price,image')->where('coupon', $data['id'])->where('id', '>', 2)->select();
         return app('json')->successful($data);
         return app('json')->successful($data);
     }
     }
 
 

+ 1 - 1
app/api/controller/admin/StoreOrderController.php

@@ -493,7 +493,7 @@ class StoreOrderController
         if (!$verify_code) return app('json')->fail('缺少核销码');
         if (!$verify_code) return app('json')->fail('缺少核销码');
         $coupon = StoreCouponUser::where('code', $verify_code)->where('status', 0)->find();
         $coupon = StoreCouponUser::where('code', $verify_code)->where('status', 0)->find();
         $coupons = StoreCoupon::where('id', $coupon['cid'])->find();
         $coupons = StoreCoupon::where('id', $coupon['cid'])->find();
-        if (!$coupon) return app('json')->fail('核销的优惠券不存在或已使用');
+        if (!$coupon) return app('json')->fail('核销的优惠券不存在或已使用或过期');
         $user = SystemStoreStaff::where('uid', $request->uid())->find();
         $user = SystemStoreStaff::where('uid', $request->uid())->find();
         if (!$user) return app('json')->fail('你不是店员');
         if (!$user) return app('json')->fail('你不是店员');
         if ($coupons['store_id'] != $user['store_id']) return app('json')->fail('你不是门店优惠券指定店员,没有权限核销');
         if ($coupons['store_id'] != $user['store_id']) return app('json')->fail('你不是门店优惠券指定店员,没有权限核销');

+ 3 - 0
app/api/controller/user/UserController.php

@@ -4,6 +4,7 @@ namespace app\api\controller\user;
 
 
 use app\http\validates\user\AddressValidate;
 use app\http\validates\user\AddressValidate;
 use app\models\system\SystemCity;
 use app\models\system\SystemCity;
+use app\models\system\SystemStoreStaff;
 use app\models\user\UserVisit;
 use app\models\user\UserVisit;
 use think\db\exception\DataNotFoundException;
 use think\db\exception\DataNotFoundException;
 use think\db\exception\DbException;
 use think\db\exception\DbException;
@@ -69,6 +70,8 @@ class UserController
         }else{
         }else{
             $info['level_name'] = '普通用户';
             $info['level_name'] = '普通用户';
         }
         }
+        $info['clerk_type'] = 0;
+        if (SystemStoreStaff::where('uid', $info['uid'])->find()) $info['clerk_type'] = 1;
         return app('json')->success($info);
         return app('json')->success($info);
     }
     }
 
 

+ 3 - 2
app/models/system/SystemStore.php

@@ -144,15 +144,16 @@ class SystemStore extends BaseModel
      * 门店列表
      * 门店列表
      * @return mixed
      * @return mixed
      */
      */
-    public static function lst($latitude, $longitude, $page, $limit,$cate_id)
+    public static function lst($latitude, $longitude, $page, $limit,$cate_id, $name)
     {
     {
         $model = new self();
         $model = new self();
         $model = $model->where('is_del', 0);
         $model = $model->where('is_del', 0);
         $model = $model->where('is_show',1);
         $model = $model->where('is_show',1);
-        $model = $model->where('cate_id', $cate_id);
         if ($latitude && $longitude) {
         if ($latitude && $longitude) {
             $model = $model->field(['*', self::distanceSql($latitude, $longitude)])->order('distance asc');
             $model = $model->field(['*', self::distanceSql($latitude, $longitude)])->order('distance asc');
         }
         }
+        if ($name) $model = $model->where('name', 'like', '%'.$name.'%');
+        if ($cate_id) $model = $model->where('cate_id', $cate_id);
         $list = $model->page((int)$page, (int)$limit)
         $list = $model->page((int)$page, (int)$limit)
             ->select()
             ->select()
             ->hidden(['is_show', 'is_del'])
             ->hidden(['is_show', 'is_del'])