diff --git a/Laravel/app/Http/Controllers/API/Admin/YeWu/ComboController.php b/Laravel/app/Http/Controllers/API/Admin/YeWu/ComboController.php
new file mode 100644
index 0000000..0b51f6e
--- /dev/null
+++ b/Laravel/app/Http/Controllers/API/Admin/YeWu/ComboController.php
@@ -0,0 +1,83 @@
+"0","价格上限"=>"999999","性别"=>null,"妇检"=>false,"请求来源"=>"小程序"
+ ];
+ $peis=new PEISApiController();
+ $info= $peis::Post('套餐查询',$hospital_id,$data,false);
+ $successCount=0;//成功的数量
+
+ if(count($info['data'])>0){
+ $combos=$info['data'];
+ foreach ($combos as $c_key=>$combo){
+
+ $item=[];
+ $comboDetail= $peis::Post('套餐详情查询',$hospital_id,['套餐Id'=>$combo['Id']],false);
+ if($comboDetail['code']!=0) return \Yz::echoError1("套餐详情查询失败");
+
+ $comboDetail_list=$comboDetail['data'][0]['包含项目'];
+ foreach ($comboDetail_list as $key=>$v){
+ $item[]=[
+ 'id'=>$v['Id'],
+ 'name'=>$v['名称'],
+ 'desc'=>$v['简介'],
+ ];
+ }
+
+ $item=json_encode($item,JSON_UNESCAPED_UNICODE);
+
+
+ $db_combo=DB::table('combos')->where(['combo_id'=>$combo['Id']])->first();
+ $comboData=[
+ 'hospital_id'=>$hospital_id,
+ 'combo_id'=>$combo['Id'],
+ 'name'=>$combo['名称'],
+ 'original_price'=>$combo['原价'],
+ 'price'=>$combo['价格'],
+ 'items'=>$item,
+ 'updated_at'=>date('Y-m-d H:i:s'),
+ ];
+ if(!!$db_combo){
+ //如果存在套餐
+ $u=DB::table('combos')->where(['combo_id'=>$combo['Id']])->update($comboData);
+ }else{
+ //如果不存在套餐
+ $u= DB::table('combos')->insert($comboData);
+ }
+ if($u){
+ $successCount++;
+ }else{
+ return \Yz::echoError1('更新失败');
+ }
+
+ }
+ $hospital=DB::table('hospital')->where(['id'=>$hospital_id])->first();
+ if(!!$hospital->frequency){
+ $date = new DateTime();
+ $date->modify('+'.$hospital->frequency.' minutes');
+ $formatted_time = $date->format('Y-m-d H:i:s');
+ DB::table("hospital")->where(['id'=>$hospital_id])->update([
+ 'next_time'=>$formatted_time
+ ]);
+ }
+ return \Yz::Return(true,'操作完成',['success_count'=>$successCount,'combos_count'=>count($combos)]);
+
+ }else{
+ return \Yz::echoError1('未查询到套餐');
+ }
+ }
+}
diff --git a/Laravel/app/Http/Controllers/API/Admin/YeWu/HospitalController.php b/Laravel/app/Http/Controllers/API/Admin/YeWu/HospitalController.php
index f3a7b69..a3f875c 100644
--- a/Laravel/app/Http/Controllers/API/Admin/YeWu/HospitalController.php
+++ b/Laravel/app/Http/Controllers/API/Admin/YeWu/HospitalController.php
@@ -51,13 +51,27 @@ class HospitalController extends Controller
{
$id = request('id');
$info=DB::table('hospital')
- ->select('id','name','code','address','longitude','latitude','logo','dev','tel','status')
->where(['id'=>$id,'is_del'=>0])->first();
if(!!$info){
+ $info->api_list= $info->api_list?implode(',',json_decode( $info->api_list)):'';
return \Yz::Return(true,'查询成功',$info);
}else{
return \Yz::echoError1("查询失败");
}
}
+ public function SaveCacheInfo()
+ {
+ $Info =request('Info');
+ $ex=DB::table('hospital')->where(['id'=>$Info['id']])->update([
+ 'frequency'=>$Info['frequency'],
+ 'api_list'=>json_encode($Info['api_list'],JSON_UNESCAPED_UNICODE)
+ ]);
+ if($ex){
+ return \Yz::Return(true,"保存成功",[]);
+ }else{
+ return \Yz::echoError1("保存失败");
+ }
+
+ }
//获取
}
diff --git a/Laravel/app/Http/Controllers/API/Admin/YeWu/PEISApiController.php b/Laravel/app/Http/Controllers/API/Admin/YeWu/PEISApiController.php
new file mode 100644
index 0000000..dcd72f8
--- /dev/null
+++ b/Laravel/app/Http/Controllers/API/Admin/YeWu/PEISApiController.php
@@ -0,0 +1,57 @@
+where(['id'=>$hospital_id,'status'=>1,'is_del'=>0])->first();
+ if (!$hospital) return \Yz::echoError1('医院不存在');
+ $code = $hospital->code;
+ $url = self::Api($url_code, $code);
+// self::RequestLog($url, $data, $code, $url_code);
+ $data_string = json_encode($data, JSON_UNESCAPED_UNICODE);
+ $ch = curl_init();
+ curl_setopt($ch, CURLOPT_URL, $url);
+ curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
+ curl_setopt($ch, CURLOPT_HTTPHEADER, [
+ 'Content-Type: application/json; charset=utf-8',
+ 'Content-Length: ' . strlen($data_string)
+ ]);
+ curl_setopt($ch, CURLOPT_POST, 1);
+ curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
+ $res_string = curl_exec($ch);
+ curl_close($ch);
+
+
+ if (!json_decode($res_string, true)) {
+ return \Yz::Return(false,'获取失败', [
+ 'url' => $url,
+ 'data' => $data,
+ 'res' => $res_string
+ ]);
+ }
+ $res = json_decode($res_string, true);
+
+
+ return [
+ 'code' => $res['ResultCode'],
+ 'message' => $res['ResultContent'],
+ 'data' => $res['Records']
+ ];
+ }
+}
diff --git a/Laravel/app/Http/Controllers/API/Admin/YeWu/healthCalendarController.php b/Laravel/app/Http/Controllers/API/Admin/YeWu/healthCalendarController.php
index 072f58b..132f981 100644
--- a/Laravel/app/Http/Controllers/API/Admin/YeWu/healthCalendarController.php
+++ b/Laravel/app/Http/Controllers/API/Admin/YeWu/healthCalendarController.php
@@ -9,7 +9,7 @@ use App\Services\Admin\YeWu\HealthCalendarService;
class healthCalendarController extends Controller
{
public function getList(Request $request){
- $userid = $request->get('userid');//中间件产生的参数
+ $userid = $request->get('userid');//中间件产生的参数1
$group = $request->get('role');//中间件产生的参数
$page =request('page');
$pageSize =request('pageSize');
diff --git a/Laravel/routes/api.php b/Laravel/routes/api.php
index aee7233..8c8d609 100644
--- a/Laravel/routes/api.php
+++ b/Laravel/routes/api.php
@@ -58,12 +58,13 @@ Route::group(['middleware'=>['checktoken','log'],'prefix'=>'v1'],function () {
Route::post('admin/HospitalSave','App\Http\Controllers\API\Admin\YeWu\HospitalController@Save');
Route::post('admin/HospitalGetList','App\Http\Controllers\API\Admin\YeWu\HospitalController@GetList');
Route::post('admin/GetBaseInfoDetail','App\Http\Controllers\API\Admin\YeWu\HospitalController@GetBaseInfoDetail');
+ Route::post('admin/SaveCacheInfo','App\Http\Controllers\API\Admin\YeWu\HospitalController@SaveCacheInfo');
});
-
+Route::post('admin/UpdateCombo','App\Http\Controllers\API\Admin\YeWu\ComboController@UpdateCombo')->middleware('log');
diff --git a/admin/.env.development b/admin/.env.development
index 83bc6a6..37d4560 100644
--- a/admin/.env.development
+++ b/admin/.env.development
@@ -1,3 +1,3 @@
ENV = 'development'
VITE_APP_API = '/api/'
-VITE_APP_FILE = 'http://tijian-composite'
\ No newline at end of file
+VITE_APP_FILE = 'http://tjweb.pi.sa0.online:88'
\ No newline at end of file
diff --git a/admin/src/api/api.js b/admin/src/api/api.js
index 70df43f..42a122e 100644
--- a/admin/src/api/api.js
+++ b/admin/src/api/api.js
@@ -136,4 +136,13 @@ export const HospitalGetList = (data={}) => {
//获取医院基本信息
export const GetBaseInfoDetail = (data={}) => {
return axios({url:import.meta.env.VITE_APP_API+'v1/admin/GetBaseInfoDetail',data:data})
+}
+
+//更新缓存
+export const UpdateCombo = (data={}) => {
+ return axios({url:import.meta.env.VITE_APP_API+'admin/UpdateCombo',data:data})
+}
+//更新缓存
+export const SaveCacheInfo = (data={}) => {
+ return axios({url:import.meta.env.VITE_APP_API+'v1/admin/SaveCacheInfo',data:data})
}
\ No newline at end of file
diff --git a/admin/src/views/OrganizationMngr/HospitalMngr.vue b/admin/src/views/OrganizationMngr/HospitalMngr.vue
index f2b1263..59423ed 100644
--- a/admin/src/views/OrganizationMngr/HospitalMngr.vue
+++ b/admin/src/views/OrganizationMngr/HospitalMngr.vue
@@ -6,7 +6,7 @@
新建医院
-
+
@@ -23,11 +23,12 @@
关闭
+
- 缓存配置
+ 缓存配置
@@ -42,7 +43,7 @@
-
+
@@ -80,6 +81,30 @@
+
+
+
+
+
+
+
+
+
+ {{Info.next_time}}
+
+
+ 立即更新缓存
+
+
+
+
+
+
@@ -96,7 +121,8 @@
UpFileUrl,
HospitalSave,
HospitalGetList,
- GetBaseInfoDetail
+ GetBaseInfoDetail,
+ UpdateCombo,SaveCacheInfo
} from '@/api/api.js'
import {
Edit
@@ -108,6 +134,7 @@
let pageSize = ref(15) //每页数量
let total = 0 //总数量
let dialogVisible = ref(false)
+ let CacheDialogVisible=ref(false);
const PageSizeChange = (e) => { // 修改每页数量
pageSize.value = e
GetList()
@@ -123,7 +150,7 @@
}
let logo = ref('');
//上传成功钩子
- let BaseUrl=import.meta.env.VITE_APP_FILE
+ let BaseUrl=ref(import.meta.env.VITE_APP_FILE)
const upLoadSuccess = (res) => {
logo.value =BaseUrl.value + res.data
Info.value.logo = res.data
@@ -135,31 +162,38 @@
hospital: '',
domain: '',
})
+ const GetDetail=(row)=>{
+ loading.value = true
+ GetBaseInfoDetail({
+ id: row.id
+ }).then(res => {
+ loading.value = false
+ if (res.status) {
+ Info.value=res.data
+ logo.value =BaseUrl.value + res.data.logo
+
+ } else {
+ ElMessage.error(res.msg)
+ }
+ })
+ }
const Add = (row = null) => {
dialogVisible.value = true
Info.value = {
status: 1,
}
if (row) {
- loading.value = true
- GetBaseInfoDetail({
- id: row.id
- }).then(res => {
- loading.value = false
- if (res.status) {
- Info.value=res.data
- } else {
- ElMessage.error(res.msg)
- }
- })
+ GetDetail(row)
}
}
const GetList = () => {
+ loading.value = true
HospitalGetList({
page: currentPage.value,
pageSize: pageSize.value
}).then(res => {
+ loading.value = false
if (res.status) {
tableData.value = res.data.list
total = res.data.count
@@ -194,6 +228,45 @@
}
return str.split(",")
}
+ const CacheConfig=(row)=>{
+ CacheDialogVisible.value=true,
+ GetDetail(row)
+ }
+ //更新缓存
+ const updateCache=()=>{
+ loading.value=true
+ UpdateCombo({hospital:Info.value.id}).then(res=>{
+ loading.value=false
+ if(res.status){
+ ElMessage({
+ message: "套餐包含"+res.data.combos_count+"条项目,成功更新"+res.data.success_count+"条",
+ type: 'success',
+ })
+ CacheDialogVisible.value=false
+ GetList()
+ }else{
+ ElMessage.error(res.msg)
+ }
+ })
+ }
+ //保存缓存设置
+ const SaveCache=()=>{
+ Info.value.api_list = toArray(Info.value.api_list)
+ loading.value=true
+ SaveCacheInfo({Info: Info.value}).then(res=>{
+ loading.value=false
+ if(res.status){
+ ElMessage({
+ message: "保存成功",
+ type: 'success',
+ })
+ CacheDialogVisible.value=false
+ }else{
+ ElMessage.error(res.msg)
+ }
+ })
+ }
+
onMounted(() => {
GetList()
})
diff --git a/admin/vite.config.js b/admin/vite.config.js
index 0439e10..8f68666 100644
--- a/admin/vite.config.js
+++ b/admin/vite.config.js
@@ -24,7 +24,7 @@ export default defineConfig({
port: 5174,
proxy: {
'/api': {
- target: 'http://tijian-composite/api', // 实际的API服务器地址
+ target: 'http://tjweb.pi.sa0.online:88/api', // 实际的API服务器地址
changeOrigin: true,
rewrite: (path) => path.replace(/^\/api/, '') // 如果API地址有前缀,可以进行转写
}