修改药品优惠卷及药品订单数据

This commit is contained in:
wucongxing8150 2024-04-29 17:28:23 +08:00
parent 5baf6de537
commit 7967447f6a
2 changed files with 46 additions and 11 deletions

View File

@ -184,6 +184,33 @@ class UserCoupon extends Model
->get($fields);
}
/**
* 获取患者某一类型下的全部优惠卷
* @param string|int $user_id
* @param int $distribution_object
* @param array $fields
* @return Collection|array
*/
public static function getUserAllObjectTypeCoupon(string|int $user_id,int $distribution_object,array $fields = ['*']): Collection|array
{
$params = array();
$params[] = ['user_id', '=', $user_id];
$params[] = ['valid_start_time', '<', date('Y-m-d H:i:s', time())]; // 有效使用时间
$params[] = ['valid_end_time', '>', date('Y-m-d H:i:s', time())]; // 过期使用时间
return self::with(['Coupon'])
->whereHas('Coupon', function ($query) use ($distribution_object) {
$query->where("coupon_client",1)
->where("coupon_status",1)
->where(function ($query) use ($distribution_object) {
$query->orwhere("distribution_object",$distribution_object);
});
})
->where($params)
->groupBy("coupon_id")
->get($fields);
}
/**
* 获取患者今日过期优惠卷
* @param array $params

View File

@ -1720,16 +1720,24 @@ class PatientOrderService extends BaseService
ProductPlatformAmount::dec($params, 'stock', $product_data['product_num']);
// 处理健康包数据,增加使用数量
if (!empty($order_service_package)){
$data = array();
$data['order_service_id'] = $order_service_package['order_service_id'];
$data['order_product_id'] = $order_product['order_product_id'];
$data['order_product_no'] = $order_product['order_product_no'];
$data['product_item_id'] = $order_product_item['product_item_id'];
$data['product_id'] = $product_data['product_id'];
$data['used_quantity'] = $product_data['used_quantity'];
if (!empty($order_service_package) && !empty($order_service_package_detail)){
// 获取服务包内所有药品
$health_package_products = $OrderServicePackageService->getOrderServiceProduct($order_service_package_detail['package_id']);
foreach ($health_package_products as $health_package_product) {
if ($health_package_product['product_id'] == $product_data['product_id']){
$data = array();
$data['order_service_id'] = $order_service_package['order_service_id'];
$data['order_product_id'] = $order_product['order_product_id'];
$data['order_product_no'] = $order_product['order_product_no'];
$data['product_item_id'] = $order_product_item['product_item_id'];
$data['product_id'] = $product_data['product_id'];
$data['used_quantity'] = $product_data['used_quantity'];
OrderServicePackageProduct::addOrderServicePackageProduct($data);
OrderServicePackageProduct::addOrderServicePackageProduct($data);
break;
}
}
}
}
@ -3170,8 +3178,8 @@ class PatientOrderService extends BaseService
// 健康包关联优惠卷数据
if (in_array($order_service_package['order_service_status'],[3,4,5])){
// 订单状态1:待支付 2:未开始 3:服务中 4:服务完成 5:服务取消)
// 获取用户优惠卷
$coupon = UserCoupon::getUserObjectTypeCoupon($order_service_package['user_id'],7);
// 获取患者某一类型下的全部优惠卷
$coupon = UserCoupon::getUserAllObjectTypeCoupon($order_service_package['user_id'],7);
if (!empty($coupon)){
$result['order_service_package_coupon'] = $coupon->toArray();
}