geek лет назад: 4
Родитель
Сommit
af7412e343

+ 1 - 0
application/api/BaseController.php

@@ -77,6 +77,7 @@ abstract class BaseController {
             $this->isAdmin = $decodeToken['isAdmin'];
             Until::$isAdmin = $this->isAdmin();
             $this->adminId = $decodeToken['adminId'];
+            Until::$adminId = $this->adminId;
         }
         // 控制器初始化
         $this->initialize();

+ 15 - 4
application/api/controller/Order.php

@@ -269,14 +269,16 @@ class Order extends BaseController {
             $model = new UserModel();
             $rs = $model::where(['mobile' => $input['mobile']])->find();
             if (empty($rs)) {
-                $model->insertGetId([
+                $id = $model->insertGetId([
                     'name'          => $input['name'],
                     'avatar'        => '',
                     'mobile'        => $input['mobile'],
                     'join_type'     => 2,
                 ]);
+                $input['userId'] = $id;
             }else {
-                $model::where(['id' => $rs['id']])->update(['name' => $input['name']]);
+                $rs = $model::where(['id' => $rs['id']])->update(['name' => $input['name']]);
+                $input['userId'] = $rs['id'];
             }
         }
 
@@ -363,7 +365,9 @@ class Order extends BaseController {
      *       mediaType="multipart/form-data",
      *         @OA\Schema(
      *           @OA\Property(description="订单id", property="orderId", type="integer", default="1"),
-     *           required={"orderId"})
+     *            @OA\Property(description="支付方式", property="payType", type="string", default="1微信 2支付宝 3银行卡 4现金 "),
+     *           @OA\Property(description="备注", property="remark", type="integer", default="1"),
+     *           required={"orderId","payType"})
      *       )
      *     ),
      *   @OA\Response(response="200", description="请求成功")
@@ -373,6 +377,7 @@ class Order extends BaseController {
         $input = Until::getInput();
         $rule = [
             'orderId|订单id' => 'require',
+            'payType|支付方式' => 'require',
         ];
         Until::check($rule, $input);
         $model = new OrderModel();
@@ -384,11 +389,17 @@ class Order extends BaseController {
         if ($orderInfo['status'] === OrderModel::IS_PAY) {
             throw new ApiException('该订单已支付');
         }
+
+        if ($orderInfo['order_type'] !== 2) {
+            throw new ApiException('该订单已不是pad端下单');
+        }
         $model::where(['id' => (int)$input['orderId']])->update([
             'status' => OrderModel::IS_PAY,
-            'admin_id' => $this->adminId,
+            'pay_type' => $input['payType'],
+            'remark' => $input['remark'],
             'pay_time' => date('Y-m-d H:i:s')
         ]);
+        Db::table('pay_record')->insertGetId(['order_id' => $input['orderId'], 'admin_id' => $this->adminId]);
         $code = random_int(10000, 99999);
         $wModel = new WriteOffModel();
         $wModel::where(['order_id' => $input['orderId']])->update([

+ 13 - 0
application/api/controller/Store.php

@@ -28,6 +28,8 @@ class Store extends BaseController {
      *   @OA\Parameter(name="name", in="query", description="门店名称", @OA\Schema(type="string")),
      *   @OA\Parameter(name="lat", in="query", description="经度", @OA\Schema(type="string")),
      *   @OA\Parameter(name="lon", in="query", description="纬度", @OA\Schema(type="string")),
+     *   @OA\Parameter(name="brandId", in="query", description="品牌id", @OA\Schema(type="string")),
+     *   @OA\Parameter(name="companyId", in="query", description="公司id", @OA\Schema(type="string")),
      *   @OA\Parameter(name="groupId", in="query", description="集团id", @OA\Schema(type="string")),
      *   @OA\Parameter(name="type", in="query", description="类型 1为当前管理人员的门店", @OA\Schema(type="integer")),
      *   @OA\RequestBody(
@@ -51,6 +53,17 @@ class Store extends BaseController {
         if (!empty($input['name'])) {
             $where[] = ['s.store_name', 'like', "%{$input['name']}%"];
         }
+
+        if (!empty($input['companyId'])) {
+            $ids = explode(',', $input['companyId']);
+            $where[] = ['c.id', 'in', $ids];
+        }
+
+        if (!empty($input['brandId'])) {
+            $ids = explode(',', $input['brandId']);
+            $where[] = ['b.id', 'in', $ids];
+        }
+
         if (!empty($input['groupId'])) {
             $ids = explode(',', $input['groupId']);
             $where[] = ['s.group_id', 'in', $ids];

+ 7 - 1
application/api/model/OrderModel.php

@@ -37,7 +37,8 @@ class OrderModel  extends BaseModel {
             ->field('o.*,store.store_name,store.address,discussOrder.id as discussId,staff.staff_name,wo.write_off_code,
             wo.write_off_status,wo.write_off_time,wo.admin_id as writeOffAdminId,wo.over_time as  writeOffOverTime,
             p.product_name,p.product_img,p.type as productType,
-            u.name as userName,ad.name as writeOffName')
+            u.name as userName,ad.name as writeOffName,
+            ad2.name as payAdminName,ad3.name as allocateAdminName,ad4.name as orderAdminName')
             ->join('store store', 'store.id = o.store_id','left')
             ->join('staff staff', 'staff.id = o.staff_id','left')
             ->join('product p', 'p.id = o.product_id','left')
@@ -45,6 +46,11 @@ class OrderModel  extends BaseModel {
             ->join('user u','u.id = o.user_id','left')
             ->join('admin ad','ad.id = wo.admin_id','left')
             ->join('discuss_order discussOrder','discussOrder.order_id = o.id and discussOrder.user_id = o.user_id','left')
+            ->join('pay_record pr','pr.order_id = o.id','left')
+            ->join('admin ad2','ad2.id = pr.admin_id','left')
+            ->join('allocate_staff as','as.order_id = o.id','left')
+            ->join('admin ad3','ad3.id = as.admin_id','left')
+            ->join('admin ad4','ad4.id = o.admin_id','left')
             ->order('o.id desc');
         return $this->joinModelPageList($countModel, $selectModel);
 

+ 2 - 1
application/common/service/OrderService.php

@@ -43,7 +43,7 @@ class OrderService {
         }
         $model = new OrderModel();
         try {
-            $userId = Until::$userId;
+            $userId = Until::$userId ?: $input['userId'];
             $orderType = 1;
             if (Until::$isAdmin) {
                 $userId = 0;
@@ -64,6 +64,7 @@ class OrderService {
                 'status'           => 1,
                 'order_type'       => $orderType,
                 'user_id'          => $userId,
+                'admin_id'         => Until::$isAdmin
             ]);
             $opModel = new OrderProductModel();
             $opModel->insert([

+ 1 - 0
application/common/until/Until.php

@@ -15,6 +15,7 @@ use think\Validate;
 class Until {
 
     public static $userId = 0;
+    public static $adminId = 0;
     public static $isAdmin = false;
     public static $startTime = 0;
     public static $endTime = 0;

+ 9 - 0
public/api.yaml

@@ -1010,11 +1010,20 @@ paths:
             schema:
               required:
                 - orderId
+                - payType
               properties:
                 orderId:
                   description: 订单id
                   type: integer
                   default: '1'
+                payType:
+                  description: 支付方式
+                  type: string
+                  default: '1微信 2支付宝 3银行卡 4现金 '
+                remark:
+                  description: 备注
+                  type: integer
+                  default: '1'
               type: object
       responses:
         '200':