创建服务包订单增加健康包订单关联商品、新增了获取患者服务包订单服务权益详情(待完成)
This commit is contained in:
parent
24c248f8cd
commit
f8cabb455a
@ -356,4 +356,15 @@ class PatientOrderController extends AbstractController
|
||||
$data = $PatientOrderService->getPatientServiceOrderInfo();
|
||||
return $this->response->json($data);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取患者服务包订单服务权益详情
|
||||
* @return ResponseInterface
|
||||
*/
|
||||
public function getPatientServiceOrderDetailInfo(): ResponseInterface
|
||||
{
|
||||
$PatientOrderService = new PatientOrderService();
|
||||
$data = $PatientOrderService->getPatientServiceOrderDetailInfo();
|
||||
return $this->response->json($data);
|
||||
}
|
||||
}
|
||||
@ -17,8 +17,8 @@ use Hyperf\Snowflake\Concern\Snowflake;
|
||||
* @property string $effective_days 服务有效天数
|
||||
* @property string $service_rate 服务费率。100为满值,表示1,正常费率。
|
||||
* @property string $discount_product_total_amount 折扣商品总价格
|
||||
* @property \Carbon\Carbon $created_at 创建时间
|
||||
* @property \Carbon\Carbon $updated_at 修改时间
|
||||
* @property Carbon $created_at 创建时间
|
||||
* @property Carbon $updated_at 修改时间
|
||||
*/
|
||||
class HealthPackage extends Model
|
||||
{
|
||||
|
||||
81
app/Model/OrderServicePackageProduct.php
Normal file
81
app/Model/OrderServicePackageProduct.php
Normal file
@ -0,0 +1,81 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace App\Model;
|
||||
|
||||
|
||||
|
||||
use Carbon\Carbon;
|
||||
use Hyperf\Database\Model\Collection;
|
||||
use Hyperf\Snowflake\Concern\Snowflake;
|
||||
|
||||
/**
|
||||
* @property int $service_product_id 主键id
|
||||
* @property int $order_service_id 订单-服务包id
|
||||
* @property int $product_id 商品id
|
||||
* @property string $product_name 商品名称
|
||||
* @property int $quantity 商品数量
|
||||
* @property string $discount_product_price 折扣商品价格
|
||||
* @property Carbon $created_at 创建时间
|
||||
* @property Carbon $updated_at 修改时间
|
||||
*/
|
||||
class OrderServicePackageProduct extends Model
|
||||
{
|
||||
use Snowflake;
|
||||
|
||||
/**
|
||||
* The table associated with the model.
|
||||
*/
|
||||
protected ?string $table = 'order_service_package_product';
|
||||
|
||||
/**
|
||||
* The attributes that are mass assignable.
|
||||
*/
|
||||
protected array $fillable = ['service_product_id', 'order_service_id', 'product_id', 'product_name', 'quantity', 'discount_product_price', 'created_at', 'updated_at'];
|
||||
|
||||
protected string $primaryKey = "service_product_id";
|
||||
|
||||
/**
|
||||
* 获取信息-单条
|
||||
* @param array $params
|
||||
* @param array $fields
|
||||
* @return object|null
|
||||
*/
|
||||
public static function getOne(array $params, array $fields = ['*']): object|null
|
||||
{
|
||||
return self::where($params)->first($fields);
|
||||
}
|
||||
|
||||
/**
|
||||
* 多条
|
||||
* @param array $params
|
||||
* @param array $fields
|
||||
* @return Collection|array
|
||||
*/
|
||||
public static function getList(array $params, array $fields = ['*']): Collection|array
|
||||
{
|
||||
return self::where($params)->get($fields);
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增
|
||||
* @param array $data
|
||||
* @return OrderServicePackageProduct|\Hyperf\Database\Model\Model
|
||||
*/
|
||||
public static function addOrderServicePackageProduct(array $data): \Hyperf\Database\Model\Model|OrderServicePackageProduct
|
||||
{
|
||||
return self::create($data);
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改
|
||||
* @param array $params
|
||||
* @param array $data
|
||||
* @return int
|
||||
*/
|
||||
public static function edit(array $params = [], array $data = []): int
|
||||
{
|
||||
return self::where($params)->update($data);
|
||||
}
|
||||
}
|
||||
@ -13,6 +13,7 @@ use App\Model\DoctorConfigFollowPackageItem;
|
||||
use App\Model\DoctorConfigHealthPackage;
|
||||
use App\Model\DoctorInquiryConfig;
|
||||
use App\Model\HealthPackage;
|
||||
use App\Model\HealthPackageProduct;
|
||||
use App\Model\InquiryCaseProduct;
|
||||
use App\Model\Order;
|
||||
use App\Model\OrderCoupon;
|
||||
@ -23,6 +24,7 @@ use App\Model\OrderServicePackage;
|
||||
use App\Model\OrderServicePackageCase;
|
||||
use App\Model\OrderServicePackageDetail;
|
||||
use App\Model\OrderServicePackageInquiry;
|
||||
use App\Model\OrderServicePackageProduct;
|
||||
use App\Model\PatientFamily;
|
||||
use App\Model\PatientFamilyHealth;
|
||||
use App\Model\PatientFamilyPersonal;
|
||||
@ -531,6 +533,41 @@ class OrderServicePackageService extends BaseService
|
||||
return fail(HttpEnumCode::SERVER_ERROR, "订单创建失败");
|
||||
}
|
||||
|
||||
// 增加健康包订单关联商品
|
||||
if ($request_params['service_type'] == 1){
|
||||
// 获取医生健康包配置
|
||||
$params = array();
|
||||
$health_package = HealthPackage::getOne($params);
|
||||
if (empty($health_package)){
|
||||
Db::rollBack();
|
||||
return fail(HttpEnumCode::SERVER_ERROR, "订单创建失败");
|
||||
}
|
||||
|
||||
// 获取医生健康包关联商品
|
||||
$params = array();
|
||||
$params['package_id'] = $health_package['package_id'];
|
||||
$health_package_products = HealthPackageProduct::getList($params);
|
||||
if (empty($health_package_product)){
|
||||
Db::rollBack();
|
||||
return fail(HttpEnumCode::SERVER_ERROR, "订单创建失败");
|
||||
}
|
||||
|
||||
// 增加健康包订单关联商品
|
||||
foreach ($health_package_products as $health_package_product){
|
||||
$data = array();
|
||||
$data['order_service_id'] = $order_service_package['order_service_id'];
|
||||
$data['product_id'] = $health_package_product['product_id'];
|
||||
$data['product_name'] = $health_package_product['product_name'];
|
||||
$data['quantity'] = $health_package_product['quantity'];
|
||||
$data['discount_product_price'] = $health_package_product['discount_product_price'];
|
||||
$order_service_package_product = OrderServicePackageProduct::addOrderServicePackageProduct($data);
|
||||
if (empty($order_service_package_product)){
|
||||
Db::rollBack();
|
||||
return fail(HttpEnumCode::SERVER_ERROR, "订单创建失败");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 增加患者服务包病例
|
||||
$data = array();
|
||||
$data['user_id'] = $user_info['user_id'];
|
||||
@ -616,6 +653,8 @@ class OrderServicePackageService extends BaseService
|
||||
/**
|
||||
* 创建服务包问诊订单
|
||||
* @return array
|
||||
* @throws ContainerExceptionInterface
|
||||
* @throws NotFoundExceptionInterface
|
||||
*/
|
||||
public function addServiceInquiryOrder(): array
|
||||
{
|
||||
|
||||
@ -31,6 +31,7 @@ use App\Model\OrderProductItem;
|
||||
use App\Model\OrderProductLogistic;
|
||||
use App\Model\OrderServicePackage;
|
||||
use App\Model\OrderServicePackageCase;
|
||||
use App\Model\OrderServicePackageDetail;
|
||||
use App\Model\OrderServicePackageRefund;
|
||||
use App\Model\PatientFamily;
|
||||
use App\Model\PatientFamilyHealth;
|
||||
@ -2690,6 +2691,42 @@ class PatientOrderService extends BaseService
|
||||
return success($order_service_package->toArray());
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取患者服务包订单服务权益详情
|
||||
* @return array
|
||||
*/
|
||||
public function getPatientServiceOrderDetailInfo(): array
|
||||
{
|
||||
$user_info = $this->request->getAttribute("userInfo") ?? [];
|
||||
|
||||
$order_no = $this->request->route('order_no');
|
||||
|
||||
// 获取订单数据
|
||||
$params = array();
|
||||
$params['patient_id'] = $user_info['client_user_id'];
|
||||
$params['order_service_no'] = $order_no;
|
||||
$params['is_delete'] = 0;
|
||||
$order_service_package = OrderServicePackage::getOne($params);
|
||||
if (empty($order_service_package)) {
|
||||
return fail(HttpEnumCode::HTTP_ERROR,"非法订单");
|
||||
}
|
||||
|
||||
$params = array();
|
||||
$params['order_service_id'] = $order_service_package['order_service_id'];
|
||||
$order_service_package_detail = OrderServicePackageDetail::getOne($params);
|
||||
if (empty($order_service_package_detail)){
|
||||
return fail(HttpEnumCode::HTTP_ERROR,"非法订单");
|
||||
}
|
||||
|
||||
// 健康报
|
||||
if ($order_service_package['order_service_type'] == 1){
|
||||
$params = array();
|
||||
$params['order_service_id'] = $order_service_package['order_service_id'];
|
||||
}
|
||||
|
||||
return success($order_service_package_detail->toArray());
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取患者未完成订单
|
||||
* @param string $patient_id
|
||||
|
||||
@ -558,6 +558,9 @@ Router::addGroup('/patient', function () {
|
||||
|
||||
// 获取患者服务包订单详情
|
||||
Router::get('/{order_no}', [PatientOrderController::class, 'getPatientServiceOrderInfo']);
|
||||
|
||||
// 获取患者服务包订单服务权益详情
|
||||
Router::get('/detail/{order_no}', [PatientOrderController::class, 'getPatientServiceOrderDetailInfo']);
|
||||
});
|
||||
|
||||
// 获取患者订单支付数据
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user