Browse Source

完善功能

gorden 10 months ago
parent
commit
cccfea07fe

+ 21 - 2
app/admin/controller/member/BenefitController.php

@@ -16,7 +16,7 @@ class BenefitController extends Curd
 
     protected function doSelect(array $where, string $field = null, string $order = 'desc')
     {
-        $model = $this->model->with('member','goods');
+        $model = $this->model->with('member', 'goods');
         foreach ($where as $column => $value) {
             if (is_array($value)) {
                 if ($value[0] === 'like' || $value[0] === 'not like') {
@@ -52,6 +52,25 @@ class BenefitController extends Curd
         return $model;
     }
 
+    public function my($id)
+    {
+        $benefit = MemberBenefit::with([
+            'goods' => function ($query) {
+                $query->select('goods_id', 'goods_name');
+            },
+            'package' => function ($query) {
+                $query->select('goods_id', 'goods_name');
+            },
+            'order'
+        ])
+            ->where('join_benefit_member_id', $id)
+            ->get()
+            ->toArray();
+
+        return json_success('', $benefit);
+
+    }
+
     protected function updateInput(Request $request): array
     {
         $primary_key = $this->model->getKeyName();
@@ -61,7 +80,7 @@ class BenefitController extends Curd
         if (!$model) {
             throw new BusinessException('记录不存在', 2);
         }
-        $data['member_benefit_valid_datetimes'] = date('Y-m-d H:i:s',strtotime($data['member_benefit_valid_datetimes']));
+        $data['member_benefit_valid_datetimes'] = date('Y-m-d H:i:s', strtotime($data['member_benefit_valid_datetimes']));
 
         unset($data[$primary_key]);
         return [$id, $data];

+ 5 - 0
app/admin/controller/order/AppointmentController.php

@@ -28,4 +28,9 @@ class AppointmentController
     {
         return AppointmentService::confirm($id);
     }
+
+    public function update(Request $request)
+    {
+        return AppointmentService::update($request);
+    }
 }

+ 32 - 1
app/admin/service/order/AppointmentService.php

@@ -5,6 +5,7 @@ namespace app\admin\service\order;
 use app\model\Appointment;
 use support\Db;
 use support\Request;
+use function _PHPStan_cc8d35ffb\RingCentral\Psr7\str;
 
 class AppointmentService
 {
@@ -20,6 +21,7 @@ class AppointmentService
             ->leftJoin('member', 'member.member_id', '=', 'appointment.join_appointment_member_id')
             ->leftJoin('goods', 'goods.goods_id', '=', 'appointment.join_appointment_goods_id')
             ->leftJoin('order', 'order.order_id', '=', 'appointment.join_appointment_order_id')
+            ->leftJoin('member_benefit', 'member_benefit.member_benefit_id', '=', 'appointment.join_appointment_member_benefit_id')
             ->leftJoin('goods_sku', 'goods_sku.goods_sku_id', '=', 'appointment.join_appointment_goods_sku_id')
             ->when($id != '', function ($query) use ($id) {
                 $query->where('appointment.appointment_id', 'like', '%' . $id . '%');
@@ -31,7 +33,9 @@ class AppointmentService
         $rows = $rows->select('member.member_mobile', 'appointment.*', 'goods.goods_name', 'goods.goods_cover',
             'order.order_name', 'goods_sku.goods_sku_specs_json', 'order.order_amount_total', 'order.order_amount_pay',
             'order.order_category', 'order.order_status_system', 'order.order_status_payment', 'order.order_status_storage',
-            'order.order_addtimes')
+            'order.order_addtimes',
+            'member_benefit.member_benefit_name'
+        )
             ->orderBy('appointment.appointment_addtimes', 'desc')
             ->forPage($page, $pageSize)
             ->get();
@@ -62,4 +66,31 @@ class AppointmentService
             return json_fail("操作失败");
         }
     }
+
+    public static function update(Request $request)
+    {
+        $appointmentId = $request->post('appointment_id');
+        if (!Appointment::where('appointment_id', $appointmentId)->exists()) {
+            return json_fail("数据不存在");
+        }
+        $params = $request->post();
+        try {
+            $data = [
+                'appointment_status'=>$params['appointment_status'],
+                'appointment_datetime'=>$params['appointment_datetime'] ? date('Y-m-d H:i:s',strtotime($params['appointment_datetime'])) : null,
+                'appointment_apply_datetime'=>$params['appointment_apply_datetime'] ? date('Y-m-d H:i:s',strtotime($params['appointment_apply_datetime'])) : null,
+                'appointment_doing_datetime'=>$params['appointment_doing_datetime'] ? date('Y-m-d H:i:s',strtotime($params['appointment_doing_datetime'])) : null,
+                'appointment_done_datetime'=>$params['appointment_done_datetime'] ? date('Y-m-d H:i:s',strtotime($params['appointment_done_datetime'])) : null,
+                'appointment_cancel_datetime'=>$params['appointment_cancel_datetime'] ? date('Y-m-d H:i:s',strtotime($params['appointment_cancel_datetime'])) : null,
+                'appointment_remark'=>$params['appointment_remark'] ?? '',
+            ];
+
+            Appointment::where('appointment_id', $appointmentId)->update($data);
+
+            return json_success("数据更新成功");
+        }catch (\Exception $e){
+            dump($e->getMessage());
+            return json_fail("数据更新失败");
+        }
+    }
 }

+ 9 - 0
app/model/MemberBenefit.php

@@ -35,4 +35,13 @@ class MemberBenefit extends Model
         return $this->hasOne(Goods::class, 'goods_id','join_benefit_goods_id')
             ->select('goods_id','goods_cover','goods_name');
     }
+    public function package(){
+        return $this->hasOne(Goods::class, 'goods_id','join_benefit_package_id')
+            ->select('goods_id','goods_cover','goods_name');
+    }
+    public function order(){
+        return $this->hasOne(Order::class, 'order_id','join_benefit_order_id')
+            ->select('order_id','order_name');
+    }
+
 }

+ 3 - 2
route/admin.php

@@ -494,6 +494,7 @@ Route::group('/admin', function () {
         /* 核销管理 */
         Route::group('/benefit', function () {
             Route::get('/list', [\app\admin\controller\member\BenefitController::class, 'select']);
+            Route::get('/my/{id:[0-9a-zA-Z]+}', [\app\admin\controller\member\BenefitController::class, 'my']);
             Route::post('/add', [\app\admin\controller\member\BenefitController::class, 'insert']);
             Route::post('/update', [\app\admin\controller\member\BenefitController::class, 'update']);
             Route::delete('/delete', [\app\admin\controller\member\BenefitController::class, 'delete']);
@@ -653,8 +654,8 @@ Route::group('/admin', function () {
         ]);
     });
     /* 统计 */
-    Route::group('/statistics',function (){
-        Route::get('/member',[\app\admin\controller\statistics\MemberController::class,'index']);
+    Route::group('/statistics', function () {
+        Route::get('/member', [\app\admin\controller\statistics\MemberController::class, 'index']);
     })->middleware([
         \app\middleware\AdminAuthCheck::class
     ]);