weizong song 3 years ago
parent fd06b4a1ca
commit 2935fecf1c

@ -253,7 +253,6 @@ class StatisticsController extends CommonController
$before_datetime = strtotime($before_date . " 23:59:59");
DB::enableQueryLog();
$customers = (new Customer())
->whereNull("deleted_at")
->with([

@ -662,4 +662,106 @@ class OrdersController extends CommonController
])->select("id", "customer_id", "money", "balance", "belongs_type", "belongs_id", "remark", "order_id", "created_at")->orderBy("id", "desc")->paginate(10);
return response()->json($balances->toArray());
}
/**
* @OA\POST(
* path="/customer/score-order/{id}",
* tags={"用户端订单处理"},
* summary="评价订单",
* description="评价订单",
* @OA\Parameter(name="token", in="query", @OA\Schema(type="string"), required=true, description="token"),
* @OA\Parameter(name="id", in="path", @OA\Schema(type="integer"), required=true, description="订单id"),
* @OA\Parameter(name="score", in="query", @OA\Schema(type="number"), required=true, description="分数5分制0.5分为一个阶梯"),
* @OA\Parameter(name="comment", in="query", @OA\Schema(type="string"), required=false, description="评语不超过255字节"),
* @OA\Response(
* response="200",
* description="评价订单"
* )
* )
*/
public function scoreOrder($id)
{
$order = (new Orders())->where("customer_id", $this->customer->id)->find($id);
if (!$order) {
return response()->json([
"errorcode" => 40004,
"errormsg" => "没找到订单"
]);
}
if ($order->status !== Orders::STATUS_FINISHED) {
return response()->json([
"errorcode" => 50001,
"errormsg" => "订单状态不适配"
]);
}
DB::beginTransaction();
try {
$order->update([
"score" => request()->score,
"comment" => request()->comment,
"scored_at" => date("Y-m-d H:i:s"),
]);
DB::commit();
return response()->json($order);
} catch (\Exception $exception) {
DB::rollBack();
return response()->json([
"errorcode" => $exception->getCode(),
"errormsg" => $exception->getMessage()
]);
}
}
/**
* @OA\POST(
* path="/customer/delete-score-order/{id}",
* tags={"用户端订单处理"},
* summary="删除订单评价",
* description="删除订单评价",
* @OA\Parameter(name="token", in="query", @OA\Schema(type="string"), required=true, description="token"),
* @OA\Parameter(name="id", in="path", @OA\Schema(type="integer"), required=true, description="订单id"),
* @OA\Response(
* response="200",
* description="删除订单评价"
* )
* )
*/
public function deleteScoreOrder($id)
{
$order = (new Orders())->where("customer_id", $this->customer->id)->find($id);
if (!$order) {
return response()->json([
"errorcode" => 40004,
"errormsg" => "没找到订单"
]);
}
if ($order->status !== Orders::STATUS_FINISHED) {
return response()->json([
"errorcode" => 50001,
"errormsg" => "订单状态不适配"
]);
}
DB::beginTransaction();
try {
$order->update([
"score" => null,
"comment" => null,
"scored_at" =>null
]);
DB::commit();
return response()->json($order);
} catch (\Exception $exception) {
DB::rollBack();
return response()->json([
"errorcode" => $exception->getCode(),
"errormsg" => $exception->getMessage()
]);
}
}
}

@ -0,0 +1,32 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class UpdateOrdersAddScore extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table("orders", function (Blueprint $table) {
$table->decimal("score")->nullable();
$table->timestamp("scored_at")->nullable();
$table->string("comment")->nullable();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
//
}
}

@ -119,6 +119,8 @@ Route::group(["namespace" => "Customer", "prefix" => "customer"], function () {
Route::post('create-order', 'OrdersController@createOrder');
Route::post('cancel-order/{id}', 'OrdersController@cancelOrder');
Route::post('reserve-order/{id}', 'OrdersController@reserveOrder');
Route::post('score-order/{id}', 'OrdersController@scoreOrder');
Route::post('delete-score-order/{id}', 'OrdersController@deleteScoreOrder');
Route::get('recharge', 'OrdersController@recharge');
Route::get('get-balances', 'OrdersController@getBalances');
});

Loading…
Cancel
Save