对接套餐增删改,套餐多选一,完善改约,调整二线设备接口

main
yanzai 1 year ago
parent d7edda0738
commit 6b95517eaa

@ -91,7 +91,7 @@ class ComboController extends Controller
// 查询在库里缓存但思信已经没有的项目ids,标注为弃用0 // 查询在库里缓存但思信已经没有的项目ids,标注为弃用0
$k_ids = array_diff($db_combo_item_ids, $sixin_combo_item_ids); $k_ids = array_diff($db_combo_item_ids, $sixin_combo_item_ids);
if(count($k_ids)>0){ if(count($k_ids)>0){
DB::table('combo_items')->whereIn('item_id',$k_ids)->update(['status'=>0]); DB::table('combo_items')->where(['combo_id'=>$combo['Id']])->whereIn('item_id',$k_ids)->delete();
} }

@ -120,6 +120,26 @@ select combo_id as c_id,count(*) as count from orders where status in(2,4) group
'text_color' => '#34C292', 'text_color' => '#34C292',
'color' => '#E9F8F3', 'color' => '#E9F8F3',
]; ];
//多选一
$duo_xuan_yi=[];
if(json_decode($combo->duo_xuan_yi)){
$N1=json_decode($combo->duo_xuan_yi);
foreach ($N1 as $k=>$v){
foreach ($v->包含项目 as $k2=>$v2){
$duo_xuan_yi[$k][]=[
'item_id' =>$v2->Id,
'item_name' => $v2->名称,
'price'=>$v2->价格
];
}
}
}
$combo->duo_xuan_yi =$duo_xuan_yi;
} }
$hospital_info = $hospital; $hospital_info = $hospital;

@ -16,16 +16,41 @@ class NMRController extends Controller
$month=request('month'); $month=request('month');
$list=[ $list=[
[ [
'date'=>'2024-9-29', 'date'=>'2024-10-18',
'count'=>20, 'count'=>20,
], ],
[ [
'date'=>'2024-9-30', 'date'=>'2024-10-19',
'count'=>10, 'count'=>10,
], ],
]; ];
return \Yz::Return(true,"查询完成",['list'=>$list]); //获取整月日期
// 获取当月的第一天
$firstDay = date("Y-m-d", strtotime($month . "-01"));
// 获取当月的最后一天
$lastDay = date("Y-m-t", strtotime($month));
$dates = array();
$k=0;
for ($i = $firstDay; $i <= $lastDay; $i = date("Y-m-d", strtotime($i . " +1 day"))) {
$xingqi=\App\Lib\Tools::GetWeekName($i);
$dates[]=[
'date'=>$i,
'xingqi'=>$xingqi,
'count'=>0
];
foreach ($list as $item) {
if($item['date'] == $i){
$dates[$k]=[
'date'=>$i,
'xingqi'=>$xingqi,
'count'=>$item['count']
];
break;
}
}
$k++;
}
return \Yz::Return(true,"查询完成",['list'=>$dates]);
} }
//核磁当日号源 //核磁当日号源

@ -3,6 +3,7 @@
namespace App\Http\Controllers\API\Internal; namespace App\Http\Controllers\API\Internal;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use App\Services\ComboItemGroupService;
use App\Services\ReportService; use App\Services\ReportService;
use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Schema\Blueprint;
use Illuminate\Http\Request; use Illuminate\Http\Request;
@ -34,7 +35,8 @@ class SiXinPushController extends Controller
} }
//如果推送的是套餐、项目、分组 //如果推送的是套餐、项目、分组
if ($code == 'updateInfo') { if ($code == 'updateInfo') {
$ComboItemGroup=new ComboItemGroupService();
return $ComboItemGroup->Save($content);
} }
return \Yz::Return(true, "接收完成", $code); return \Yz::Return(true, "接收完成", $code);
} else { } else {

@ -29,7 +29,7 @@ class PEISApiController extends Controller
$api['团检预约取消'] = "{$url}/PEISCommon/CancelUnitAppointment/{$code}"; $api['团检预约取消'] = "{$url}/PEISCommon/CancelUnitAppointment/{$code}";
$api['体检报告查询'] = "{$url}/PEISCommon/QueryExamReport/{$code}"; $api['体检报告查询'] = "{$url}/PEISCommon/QueryExamReport/{$code}";
$api['预约时段修改'] = "{$url}/PEISCommon/ModifyAppointmentDTRange/{$code}"; $api['预约时段修改'] = "{$url}/PEISCommon/ModifyAppointmentDTRange/{$code}";
$api['修改用户预约时间'] = "http://10.0.20.227:8888/ExtAPI/SetAppointmentMoment?key=YmMxOGI2MDUxZmFh&{$code}"; $api['修改用户预约时间'] = "http://220.174.210.111:8888/ExtAPI/SetAppointmentMoment?key=YmMxOGI2MDUxZmFh&{$code}";
$api['分诊查询体检号'] = "{$url}/PEISCommon/QueryEventNo/{$code}"; $api['分诊查询体检号'] = "{$url}/PEISCommon/QueryEventNo/{$code}";
return $api["{$url_code}"] ?? $url_code; return $api["{$url_code}"] ?? $url_code;
} }
@ -109,23 +109,7 @@ class PEISApiController extends Controller
if (!json_decode($res_string, true)) { return $res_string;
return \Yz::Return(false, '获取失败', [
'url' => $url,
'data' => $data,
'res' => $res_string
]);
}
$res = json_decode($res_string, true);
if ($res['ResultCode'] != 0){
throw new HttpResponseException( \Yz::echoError1("体检系统提示:". $res['ResultContent']));
}
return [
'code' => $res['ResultCode'],
'message' => $res['ResultContent'],
'data' => $res['Records']
];
} }
public static function RequestLog($url, $post_data, $code, $mark) public static function RequestLog($url, $post_data, $code, $mark)

@ -0,0 +1,103 @@
<?php
namespace App\Services;
use Illuminate\Support\Facades\DB;
class ComboItemGroupService
{
public function Save($res){
if(isset($res['变更套餐'])){
$combos=$res['变更套餐'];
$successCount = 0;//成功的数量
foreach ($combos as $combo){
if($combo['变更类别']=='删除'){
DB::table('combos')->where(['combo_id' => $combo['Id']])->delete();
DB::table('combo_items')->where(['combo_id' => $combo['Id']])->delete();
}
$sixin_combo_item_ids=[];//思信套餐内项目ids
if($combo['变更类别']=='修改' || $combo['变更类别']=='新增'){
$item = [];
foreach ($combo['包含项目'] as $key => $v) {
$sixin_combo_item_ids[]=$v['Id'];
//在独立表中缓存一份套餐对应的项目信息
$item_sex = null;
if (isset($v['性别限制'])) {
$item_sex_array = ['全部' => 0, '男' => 1, '女' => 2];
$item_sex = $item_sex_array[$combo['性别限制']] >= 0 ? $item_sex_array[$combo['性别限制']] : null;
}
$item_date = [
'combo_id'=>$combo['Id'],
'item_id'=>$v['Id'],
'name'=>$v['名称'],
'desc' => $v['简介'],
'keshi_id' => $v['科室Id'],
'keshi_name' => $v['科室名称'],
'price'=> $v['价格'],
'sex'=>$item_sex,
'can_qian_hou'=>$v['餐前餐后'],
'status'=>1
];
$db_combo_item = DB::table('combo_items')->where(['item_id' => $v['Id'], 'combo_id' => $combo['Id']])->first();
if (!!$db_combo_item) {
//如果存在项目
$u = DB::table('combo_items')->where(['id' => $db_combo_item->id])->update($item_date);
} else {
//如果不在项目
$u = DB::table('combo_items')->insert($item_date);
}
$item[] = [
'id' => $v['Id'],
'name' => $v['名称'],
'desc' => $v['简介'],
'keshi_name' => $v['科室名称'],
];
}
//查询当前套餐缓存的套餐项目ids
$db_combo_item_ids=DB::table('combo_items')
->where(['combo_id' => $combo['Id']])->pluck('item_id')->toArray();
// 查询在库里缓存但思信已经没有的项目ids,标注为弃用0
$k_ids = array_diff($db_combo_item_ids, $sixin_combo_item_ids);
if(count($k_ids)>0){
DB::table('combo_items')->where(['combo_id'=>$combo['Id']])->whereIn('item_id',$k_ids)->delete();
}
$item = json_encode($item, JSON_UNESCAPED_UNICODE);
$sex = null;
if (isset($combo['性别限制'])) {
$sex_array = ['全部' => 0, '男' => 1, '女' => 2];
$sex = $sex_array[$combo['性别限制']] >= 0 ? $sex_array[$combo['性别限制']] : null;
}
$db_combo = DB::table('combos')->where(['combo_id' => $combo['Id']])->first();
$comboData = [
'combo_id' => $combo['Id'],
'sex' => $sex,
'name' => $combo['名称'],
'pinyin' => $combo['拼音'],
'original_price' => $combo['原价'],
'price' => $combo['价格'],
'items' => $item,
'item_count' => $combo['项目数量'],
'duo_xuan_yi'=>json_encode($combo['包含多选一组'], JSON_UNESCAPED_UNICODE),
'status' => 1,
'updated_at' => date('Y-m-d H:i:s'),
];
if (!!$db_combo) {
//如果存在套餐
$u = DB::table('combos')->where([ 'combo_id' => $combo['Id']])->update($comboData);
} else {
//如果不存在套餐
$comboData['tags'] = json_encode([]);
$comboData['tags2'] = json_encode([]);
$u = DB::table('combos')->insert($comboData);
}
if ($u) {
$successCount++;
} else {
return \Yz::echoError1('更新失败');
}
}
}
return \Yz::Return(true, '操作完成', ['success_count' => $successCount, 'combos_count' => count($combos)]);
}
}
}

@ -335,9 +335,12 @@
uni.showToast({ uni.showToast({
title: '改约完成' title: '改约完成'
}); });
uni.redirectTo({ setTimeout(()=>{
url:'/pages/main/order/order' uni.redirectTo({
}) url:'/pages/main/order/order'
})
},1000)
} }
}); });
} }

Loading…
Cancel
Save