修正医生处方列表参数错误问题,新增获取处方列表接口
This commit is contained in:
parent
d8d30b9328
commit
673dca88ca
@ -157,4 +157,20 @@ class PatientOrderController extends AbstractController
|
||||
$data = $PatientOrderService->addPatientProductOrder();
|
||||
return $this->response->json($data);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取处方订单列表
|
||||
* @return ResponseInterface
|
||||
* @throws ContainerExceptionInterface
|
||||
* @throws NotFoundExceptionInterface
|
||||
*/
|
||||
public function getPatientPrescriptionOrderList(): ResponseInterface
|
||||
{
|
||||
$request = $this->container->get(PatientOrderRequest::class);
|
||||
$request->scene('getPatientPrescriptionOrderList')->validateResolved();
|
||||
|
||||
$PatientOrderService = new PatientOrderService();
|
||||
$data = $PatientOrderService->getPatientPrescriptionOrderList();
|
||||
return $this->response->json($data);
|
||||
}
|
||||
}
|
||||
@ -20,6 +20,8 @@ use Extend\TencentIm\Group;
|
||||
use Extend\TencentIm\Message;
|
||||
use Extend\TencentIm\MessageParams;
|
||||
use Extend\TencentIm\Profile;
|
||||
use Extend\VerifyDun\BankCard;
|
||||
use Extend\VerifyDun\IdCard;
|
||||
use Extend\Wechat\Wechat;
|
||||
use Extend\Wechat\WechatPay;
|
||||
use Hyperf\Amqp\Producer;
|
||||
@ -220,7 +222,17 @@ class UserController extends AbstractController
|
||||
// $imService = new ImService();
|
||||
// $imService->addRecentContactRecordCache("491925054779883520", 2, 10004, $data);
|
||||
|
||||
|
||||
// 银行卡三要素认证
|
||||
// $BankCard = new BankCard();
|
||||
//
|
||||
// $params = array();
|
||||
// $params['bankCardNo'] = "6217000010175646317";
|
||||
// $params['name'] = "吴从兴";
|
||||
// $params['idCardNo'] = "372929199610075412";
|
||||
// $res = $BankCard->checkBankCard($params);
|
||||
// if (!empty($res)) {
|
||||
// return fail(HttpEnumCode::HTTP_ERROR, $res);
|
||||
// }
|
||||
|
||||
}
|
||||
}
|
||||
@ -18,7 +18,7 @@ use Hyperf\Snowflake\Concern\Snowflake;
|
||||
* @property int $doctor_id 医生id
|
||||
* @property int $patient_id 患者id
|
||||
* @property int $pharmacist_id 药师id
|
||||
* @property int $prescription_status 处方状态(1:待审核 3:待使用 4:已失效 5:已使用)
|
||||
* @property int $prescription_status 处方状态(1:待审核 2:待使用 3:已失效 4:已使用)
|
||||
* @property int $pharmacist_audit_status 药师审核状态(0:审核中 1:审核成功 2:审核驳回)
|
||||
* @property string $pharmacist_fail_reason 药师审核驳回原因
|
||||
* @property int $platform_audit_status 处方平台审核状态(0:审核中 1:审核成功 2:审核驳回)
|
||||
@ -52,13 +52,29 @@ class OrderPrescription extends Model
|
||||
protected string $primaryKey = "order_prescription_id";
|
||||
|
||||
/**
|
||||
* 关联处方病例表
|
||||
* 关联处方疾病表
|
||||
*/
|
||||
public function OrderPrescriptionIcd(): HasMany
|
||||
{
|
||||
return $this->HasMany(OrderPrescriptionIcd::class, 'order_prescription_id','order_prescription_id');
|
||||
}
|
||||
|
||||
/**
|
||||
* 关联处方商品表
|
||||
*/
|
||||
public function OrderPrescriptionProduct(): HasMany
|
||||
{
|
||||
return $this->HasMany(OrderPrescriptionProduct::class, 'order_prescription_id','order_prescription_id');
|
||||
}
|
||||
|
||||
/**
|
||||
* 关联医生表
|
||||
*/
|
||||
public function UserDoctor(): HasOne
|
||||
{
|
||||
return $this->hasOne(UserDoctor::class, 'doctor_id','doctor_id');
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取信息-单条
|
||||
* @param array $params
|
||||
@ -168,4 +184,33 @@ class OrderPrescription extends Model
|
||||
return self::where($params)->count();
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页
|
||||
* 处方疾病表
|
||||
* 处方商品表
|
||||
* @param array $params
|
||||
* @param array $fields
|
||||
* @param int|null $page
|
||||
* @param int|null $per_page
|
||||
* @return array
|
||||
*/
|
||||
public static function getWithPage(array $params, array $fields = ["*"], int $page = null, ?int $per_page = 10): array
|
||||
{
|
||||
$raw = self::with([
|
||||
"UserDoctor:doctor_id,user_name,doctor_title",
|
||||
"OrderPrescriptionIcd:prescription_icd_id,order_prescription_id,icd_name",
|
||||
"OrderPrescriptionProduct:prescription_product_id,order_prescription_id,product_name,product_spec"
|
||||
])
|
||||
->where($params)->paginate($per_page, $fields, "page", $page);
|
||||
|
||||
$data = array();
|
||||
$data['current_page'] = $raw->currentPage();// 当前页码
|
||||
$data['total'] = $raw->total();//数据总数
|
||||
$data['data'] = $raw->items();//数据
|
||||
$data['per_page'] = $raw->perPage();//每页个数
|
||||
$data['last_page'] = $raw->lastPage();//最后一页
|
||||
|
||||
return $data;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -24,6 +24,8 @@ class PatientOrderRequest extends FormRequest
|
||||
],
|
||||
'addPatientProductOrder' => [ // 创建药品订单
|
||||
],
|
||||
'getPatientPrescriptionOrderList' => [ // 获取处方订单列表
|
||||
],
|
||||
];
|
||||
|
||||
/**
|
||||
|
||||
@ -41,7 +41,7 @@ class UserDoctorRequest extends FormRequest
|
||||
'county_id',
|
||||
],
|
||||
'getPrescriptionList' => [ // 获取处方列表
|
||||
'prescription_status' // 处方审核状态(0:审核中 1:审核成功 2:审核驳回)
|
||||
'pharmacist_audit_status' // 药师审核状态(0:审核中 1:审核成功 2:审核驳回)
|
||||
],
|
||||
'getDoctorWords' => [ // 获取常用语列表
|
||||
'words_type'
|
||||
@ -98,7 +98,7 @@ class UserDoctorRequest extends FormRequest
|
||||
'province_id' => 'required|required_with:city_id,county_id',
|
||||
'city_id' => 'required|required_with:county_id',
|
||||
'county_id' => 'required',
|
||||
'prescription_status' => 'required|integer|min:0|max:2',
|
||||
'pharmacist_audit_status' => 'required|integer|min:0|max:2',
|
||||
'words_type' => 'required|integer|min:1|max:3',
|
||||
'words' => 'required',
|
||||
'doctor_id' => 'required',
|
||||
@ -145,10 +145,10 @@ class UserDoctorRequest extends FormRequest
|
||||
'city_id.required_with' => "请选择城市",
|
||||
'city_id.required' => "请选择城市",
|
||||
'county_id.required' => "请选择区县",
|
||||
'prescription_status.required' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR),
|
||||
'prescription_status.integer' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR),
|
||||
'prescription_status.min' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR),
|
||||
'prescription_status.max' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR),
|
||||
'pharmacist_audit_status.required' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR),
|
||||
'pharmacist_audit_status.integer' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR),
|
||||
'pharmacist_audit_status.min' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR),
|
||||
'pharmacist_audit_status.max' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR),
|
||||
'words_type.required' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR),
|
||||
'words_type.integer' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR),
|
||||
'words_type.min' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR),
|
||||
|
||||
@ -484,9 +484,13 @@ class InquiryService extends BaseService
|
||||
return success();
|
||||
}
|
||||
|
||||
public function getInquiryLowestPrice(){
|
||||
/**
|
||||
* 获取问诊最低价格
|
||||
* @return array
|
||||
*/
|
||||
public function getInquiryLowestPrice(): array
|
||||
{
|
||||
$user_info = $this->request->getAttribute("userInfo") ?? [];
|
||||
$doctor_id = $this->request->input('doctor_id');
|
||||
|
||||
// 快速
|
||||
$quick_inquiry_price = 0;
|
||||
@ -525,7 +529,6 @@ class InquiryService extends BaseService
|
||||
}
|
||||
|
||||
// 公益问诊
|
||||
$welfare_inquiry_price = 0;
|
||||
$params = array();
|
||||
$params['inquiry_type'] = 1;
|
||||
$params['inquiry_mode'] = 1;
|
||||
|
||||
@ -100,7 +100,7 @@ class OrderPrescriptionService extends BaseService
|
||||
/**
|
||||
* 获取患者某一状态下的处方数量
|
||||
* @param string $patient_id 患者id
|
||||
* @param int $prescription_status 处方状态(1:待审核 3:待使用 4:已失效 5:已使用)
|
||||
* @param int $prescription_status 处方状态(1:待审核 2:待使用 3:已失效 4:已使用)
|
||||
* @return int
|
||||
*/
|
||||
public function getPatientPrescriptionWithStatus(string $patient_id,int $prescription_status): int
|
||||
|
||||
@ -705,4 +705,28 @@ class PatientOrderService extends BaseService
|
||||
public function addPatientProductOrder(){
|
||||
return success();
|
||||
}
|
||||
|
||||
public function getPatientPrescriptionOrderList(): array
|
||||
{
|
||||
$user_info = $this->request->getAttribute("userInfo") ?? [];
|
||||
$page = $this->request->input('page',1);
|
||||
$per_page = $this->request->input('per_page',10);
|
||||
|
||||
// 获取处方数据
|
||||
$params = array();
|
||||
$params['patient_id'] = $user_info['client_user_id'];
|
||||
$params['pharmacist_audit_status'] = 1;
|
||||
$params['platform_audit_status'] = 1;
|
||||
$params['is_delete'] = 0;
|
||||
$order_prescription = OrderPrescription::getWithPage($params,['*'],$page,$per_page);
|
||||
if (!empty($order_prescription['data'])){
|
||||
foreach ($order_prescription['data'] as &$item){
|
||||
if (!empty($item['UserDoctor'])){
|
||||
$item['UserDoctor']['doctor_title'] = DoctorTitleCode::getMessage($item['UserDoctor']['doctor_title']);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return success($order_prescription);
|
||||
}
|
||||
}
|
||||
@ -47,7 +47,6 @@ class SystemService extends BaseService
|
||||
return fail();
|
||||
}
|
||||
|
||||
|
||||
$time = [];
|
||||
foreach ($system_inquiry_time as $item){
|
||||
$time[] = $item['start_time'] . '-' . $item['end_time'];
|
||||
|
||||
@ -376,7 +376,7 @@ class UserDoctorService extends BaseService
|
||||
{
|
||||
$user_info = $this->request->getAttribute("userInfo") ?? [];
|
||||
|
||||
$prescription_status = $this->request->input('prescription_status');
|
||||
$pharmacist_audit_status = $this->request->input('pharmacist_audit_status');
|
||||
$page = $this->request->input('page', 1);
|
||||
$per_page = $this->request->input('per_page', 10);
|
||||
|
||||
@ -410,7 +410,7 @@ class UserDoctorService extends BaseService
|
||||
// 获取处方数据
|
||||
$params = array();
|
||||
$params['doctor_id'] = $user_info['client_user_id'];
|
||||
$params['pharmacist_audit_status'] = $prescription_status;
|
||||
$params['pharmacist_audit_status'] = $pharmacist_audit_status;
|
||||
$params['is_delete'] = 0;
|
||||
$order_prescriptions = OrderPrescription::getWithIcdPage($params,$page,$per_page);
|
||||
if (empty($order_prescriptions)) {
|
||||
@ -939,7 +939,7 @@ class UserDoctorService extends BaseService
|
||||
}
|
||||
|
||||
// 检测处方状态
|
||||
if ($order_prescription['prescription_status'] == 5) {
|
||||
if ($order_prescription['prescription_status'] == 4) {
|
||||
// 已使用
|
||||
return fail(HttpEnumCode::HTTP_ERROR, "处方已使用,无法更改");
|
||||
}
|
||||
|
||||
@ -315,7 +315,7 @@ Router::addGroup('/patient', function () {
|
||||
// 处方订单
|
||||
Router::addGroup('/prescription', function () {
|
||||
// 获取处方订单列表
|
||||
Router::post('/14', [PatientOrderController::class, 'imCallBack']);
|
||||
Router::get('', [PatientOrderController::class, 'getPatientPrescriptionOrderList']);
|
||||
|
||||
// 获取处方订单详情
|
||||
Router::post('/8', [PatientOrderController::class, 'imCallBack']);
|
||||
|
||||
78
extend/VerifyDun/BankCard.php
Normal file
78
extend/VerifyDun/BankCard.php
Normal file
@ -0,0 +1,78 @@
|
||||
<?php
|
||||
|
||||
namespace Extend\VerifyDun;
|
||||
|
||||
use App\Exception\BusinessException;
|
||||
|
||||
/**
|
||||
* 银行卡三/四要素认证
|
||||
*/
|
||||
class BankCard extends Base
|
||||
{
|
||||
public function checkBankCard(array $params){
|
||||
try {
|
||||
// 组合请求地址
|
||||
$api_url = $this->api_url . $this->version . '/bankcard/check';
|
||||
|
||||
$this->params['businessId'] = "98c43b77719e4752b15519fbce011a58";
|
||||
|
||||
$this->params = array_merge($this->params,$params);
|
||||
|
||||
// 获取签名
|
||||
$this->params['signature'] = $this->gen_signature();
|
||||
|
||||
$this->options["form_params"] = $this->params;
|
||||
|
||||
$result = $this->httpRuest->postRequest($api_url,$this->options);
|
||||
|
||||
if (empty($result)){
|
||||
return "银行卡认证失败";
|
||||
}
|
||||
|
||||
if ($result['code'] != "200"){
|
||||
throw new BusinessException("银行卡认证失败");
|
||||
}
|
||||
|
||||
if (empty($result['result'])){
|
||||
return "银行卡认证失败";
|
||||
}
|
||||
|
||||
// 处理不通过情况
|
||||
if ($result['result']['status'] == 2){
|
||||
switch ($result['result']['reasonType']) {
|
||||
case 2:
|
||||
return "持卡人信息与输入信息不一致";
|
||||
break;
|
||||
case 3:
|
||||
return "查无此银行卡";
|
||||
break;
|
||||
case 4:
|
||||
return "查无此身份证";
|
||||
break;
|
||||
case 5:
|
||||
return "手机号码格式不正确";
|
||||
break;
|
||||
case 6:
|
||||
return "银行卡号不正确";
|
||||
break;
|
||||
case 7:
|
||||
return "其他出错,请联系客服";
|
||||
break;
|
||||
|
||||
default:
|
||||
return "银行卡认证失败";
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// 处理status为其他情况
|
||||
if ($result['result']['status'] != 1){
|
||||
return "身份证认证失败";
|
||||
}
|
||||
|
||||
return "";
|
||||
} catch (\Exception $e) {
|
||||
throw new BusinessException($e->getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -12,7 +12,7 @@ DOMAIN_NAME_PROD=https://dev.hospital.applets.igandanyiyuan.com/
|
||||
|
||||
# [mysql]
|
||||
DB_DRIVER=mysql
|
||||
DB_HOST=123.57.91.25
|
||||
DB_HOST=121.5.206.61
|
||||
DB_PORT=3306
|
||||
DB_DATABASE=internet_hospital
|
||||
DB_USERNAME=root
|
||||
@ -22,7 +22,7 @@ DB_COLLATION=utf8mb4_unicode_ci
|
||||
DB_PREFIX=gdxz_
|
||||
|
||||
# [redis]
|
||||
REDIS_HOST=123.57.91.25
|
||||
REDIS_HOST=121.5.206.61
|
||||
REDIS_AUTH=Wucongxing1..
|
||||
REDIS_PORT=6379
|
||||
REDIS_DB=0
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user