Files
zyt/server/app/adminapi/validate/tcm/PrescriptionOrderValidate.php
T
2026-04-30 17:36:47 +08:00

81 lines
3.4 KiB
PHP

<?php
declare(strict_types=1);
namespace app\adminapi\validate\tcm;
use app\common\validate\BaseValidate;
class PrescriptionOrderValidate extends BaseValidate
{
protected $rule = [
'id' => 'require|integer',
'diagnosis_id' => 'require|integer|gt:0',
'prescription_id' => 'require|integer',
'pay_order_ids' => 'array',
'recipient_name' => 'require|max:50',
'recipient_phone' => 'require|max:20',
'shipping_address' => 'require|max:500',
'is_follow_up' => 'in:0,1',
'prev_staff' => 'max:100',
'service_channel' => 'max:100',
'service_package' => 'max:100',
'tracking_number' => 'max:80',
'express_company' => 'max:20',
'ship_mode' => 'in:gancao,direct',
'fee_type' => 'require|in:1,2,3,4,5,6,7,8',
'amount' => 'require|float',
'order_type' => 'require|in:1,2,3,4,5,6,7,8',
'pay_amount' => 'require|float|gt:0',
'pay_remark' => 'max:200',
'remark_extra' => 'max:500',
'action' => 'require|in:approve,reject',
'remark' => 'max:500',
'fulfillment_status' => 'require|integer|in:3,7,8,9,10,11,12',
'patient_name' => 'require|max:50',
'phone' => 'require|max:20',
'phone_tail' => 'max:20|regex:/^\\d*$/',
];
protected $message = [
'prescription_id.require' => '请选择处方',
'diagnosis_id.require' => '请选择诊单',
'recipient_name.require' => '请输入收货人',
'recipient_phone.require' => '请输入收货手机',
'shipping_address.require' => '请输入收货地址',
'fee_type.require' => '请选择费用类别',
'amount.require' => '请输入订单金额',
'action.require' => '请选择审核操作',
'patient_name.require' => '请输入患者姓名',
'phone.require' => '请输入手机号',
'phone_tail.regex' => '手机后四位仅支持数字',
];
protected $scene = [
'create' => [
'prescription_id', 'diagnosis_id', 'recipient_name', 'recipient_phone', 'shipping_address',
'is_follow_up', 'prev_staff', 'service_channel', 'service_package',
'tracking_number', 'express_company', 'fee_type', 'amount', 'remark_extra', 'pay_order_ids',
],
'detail' => ['id'],
'edit' => [
'id', 'recipient_name', 'recipient_phone', 'shipping_address',
'is_follow_up', 'prev_staff', 'service_channel', 'service_package',
'tracking_number', 'express_company', 'fee_type', 'amount', 'remark_extra', 'pay_order_ids',
],
'logisticsTrace' => ['id', 'phone_tail'],
'auditPrescription' => ['id', 'action', 'remark'],
'auditPayment' => ['id', 'action', 'remark'],
'withdraw' => ['id'],
'ship' => ['id', 'tracking_number', 'express_company', 'ship_mode'],
'logs' => ['id'],
'paidPayOrders' => ['diagnosis_id'],
'addPayOrder' => ['id', 'order_type', 'pay_amount', 'pay_remark'],
'linkPayOrder' => ['id', 'pay_order_id'],
'complete' => ['id', 'fulfillment_status'],
'submitGancaoRecipel' => ['id'],
'previewGancaoRecipel' => ['id'],
'patchPrescriptionPatient' => ['id', 'patient_name', 'phone'],
];
}