Compare commits

...

3212 Commits

Author SHA1 Message Date
Lei OT ce50661b47 水灯节: 更新16号库存 10 months ago
LMR ef6c32141c fix 10 months ago
LMR 0ad4ef2539 sleep2 10 months ago
LMR dd5546d0a9 Merge branch 'master' of https://github.com/hainatravel/information-system 10 months ago
LMR 44f33a72d4 fix 10 months ago
Lei OT d8dd692606 . 10 months ago
Lei OT c5bb739916 水灯节: 更新16号, S票 10 months ago
LMR d948a78039 d 10 months ago
LMR fc0fdb4d1d da 10 months ago
LMR 01d126c115 ft 10 months ago
LMR 25727d79c2 fix 10 months ago
LMR f460db514c add backup 10 months ago
LMR b2fd56e4f0 da 10 months ago
LMR 56dd146567 f4 10 months ago
LMR 4cf7db8c78 f3 10 months ago
LMR 101450ae52 fix bug 2 10 months ago
LMR 3dac8c3fa6 fix bug 1 10 months ago
LMR 350c188a4b Merge branch 'master' of https://github.com/hainatravel/information-system 10 months ago
LMR ee7cbadeba add list_use_hb 10 months ago
Jimmy Liow e7ad46e8c3 16 默认选择 P 票 10 months ago
Jimmy Liow 6271beef73 15 号没票了 10 months ago
candice ac3acb43da 撤下社媒分享图标签 10 months ago
赵鹏 e8a6e256b2 Merge branch 'master' of github.com:hainatravel/information-system 10 months ago
赵鹏 b3a72eef38 澜海账单导入汉特 10 months ago
LMR 5a1f579d0b infofix fix 11 months ago
LMR 4c7411cd5d fix json 11 months ago
LMR 2d42fab88c fix 11 months ago
LMR 8674ef54f7 fix 11 months ago
LMR 8cb5d6e5dc Merge branch 'master' of https://github.com/hainatravel/information-system 11 months ago
LMR 42b43d1edd s 11 months ago
赵鹏 e49c754b5c Merge branch 'master' of github.com:hainatravel/information-system 11 months ago
赵鹏 f33e27eb62 澜海数据在携程那里设置默认。 11 months ago
LMR 89083cc115 fiux 11 months ago
LMR 6f2fe4207f da 11 months ago
LMR 80bebefca3 Merge branch 'master' of https://github.com/hainatravel/information-system 11 months ago
LMR c08a33053e add update_by_icid 11 months ago
LMR 25dc172813 add get_by_icid 11 months ago
Jimmy Liow b09b79331e 修改默认选中价格 11 months ago
candice 38b54ebf69 默认值修改 11 months ago
Jimmy Liow 323823197e Merge branch 'master' of github.com:hainatravel/information-system 11 months ago
Jimmy Liow 0bae215e03 解决价格未更新到页面 11 months ago
赵鹏 ce79335102 Merge branch 'master' of github.com:hainatravel/information-system 11 months ago
赵鹏 a4627555ac Merge branch 'master' of github.com:hainatravel/information-system 11 months ago
Jimmy Liow 10ea6e4269 修复日期切换默认价格错误 11 months ago
赵鹏 016a8ac5d0 澜海出票返回结果优化 11 months ago
Jimmy Liow fcf33477ba 水灯节15号Standard票重新开放 11 months ago
candice 728df071b0 删除updated news 11 months ago
赵鹏 b689adea83 Merge branch 'master' of github.com:hainatravel/information-system 11 months ago
赵鹏 0901389701 火车接口时效30分钟 11 months ago
Jimmy Liow ffb9eac9c3 修改切换日期默认价格获取方式 11 months ago
Jimmy Liow 3fa789bd2c 修复水灯节表单可以多选价格 11 months ago
Jimmy Liow 43ce2e052b Merge branch 'master' of github.com:hainatravel/information-system 11 months ago
Jimmy Liow 8a8e065bde 解决可以同时选择S+V票 11 months ago
赵鹏 edad5e19d2 Merge branch 'master' of github.com:hainatravel/information-system 11 months ago
赵鹏 48b55ab955 //英国传GB 11 months ago
Jimmy Liow 41f8539467 Merge branch 'master' of github.com:hainatravel/information-system 11 months ago
Jimmy Liow 161af09d13 解决16号P票问题 11 months ago
candice 12f0396f14 P票刷灰 11 months ago
candice f8e82bbd1d 票种余量信息更新 11 months ago
赵鹏 336d8c54ca CT站新导航 11 months ago
赵鹏 55fc1ec7d6 Merge branch 'master' of github.com:hainatravel/information-system 11 months ago
赵鹏 c760080141 新增澜海接口的查询出票信息,退票信息及账单列表信息。因为那边没后台查看。。。 11 months ago
candice 41e84116f1 底部logo添加alt文字 11 months ago
赵鹏 a8b567abf3 Merge branch 'master' of github.com:hainatravel/information-system 11 months ago
赵鹏 53bf5d6dd1 改用澜海接口 11 months ago
candice 8cad2785f8 S票加value值 Standard+Transfer+Dinner 11 months ago
candice 8f4ea7c012 tickets文字删除 11 months ago
黄文强@HWQ-PC 22899ec657 更改水灯节表单15号Standard+Transfer+Dinner不可选 11 months ago
黄文强@HWQ-PC e0d15de79f 增加水灯节表单16号Standard+Transfer+Dinner余票 11 months ago
黄文强@HWQ-PC 0bf582cd7c Merge branch 'master' of github.com:hainatravel/information-system
# Conflicts:
#	application/views/mobile_first/ah-lantern-form.php
11 months ago
黄文强@HWQ-PC d8103fd078 水灯节表单改正重复显示余票信息 11 months ago
candice 5146886e75 余量样式细节修改 11 months ago
candice 126b285955 泰铢价格删除 11 months ago
candice 6f5326d4b0 价格修改 11 months ago
candice 33d90a570d 价格修改 11 months ago
黄文强@HWQ-PC 688be20f80 Merge branch 'master' of github.com:hainatravel/information-system
# Conflicts:
#	application/views/mobile_first/ah-lantern-form.php
11 months ago
黄文强@HWQ-PC 7f74d2b195 增加水灯节表单 恢复余量信息 11 months ago
candice bf3bf3cad6 价格修改 11 months ago
candice ccfc82551f 11 11 months ago
candice fcd020811b 价格修改 11 months ago
candice 04b02c4440 11 11 months ago
candice d3bd7a7965 11 11 months ago
candice 9d33b2e70a 删除头条广告 11 months ago
candice 3b4b6cfad4 11 11 months ago
candice 8f81abed34 Merge branch 'master' of github.com:hainatravel/information-system into master 11 months ago
candice 61d1718e14 头部导航链接修改 11 months ago
赵鹏 e590ae3984 fix 11 months ago
赵鹏 ba9bc0a862 Merge branch 'master' of github.com:hainatravel/information-system 11 months ago
赵鹏 123b9de006 澜海正式接口上线。 11 months ago
candice 481c2b9a25 11 11 months ago
candice f49f79e3b5 11 11 months ago
candice eab9eeea4a 11 11 months ago
candice 34f2fbd3fa 11 11 months ago
candice 8c91de2b94 11 11 months ago
candice becd3ddc21 11 11 months ago
candice 27add997b6 11 11 months ago
candice 6467ab8328 标题大小写修改 11 months ago
黄文强@HWQ-PC f6533071b9 删除顾问头<p>标签 11 months ago
黄文强@HWQ-PC 078c79b3b8 增加顾问反馈H2标签 11 months ago
黄文强@HWQ-PC 7e18183df1 更改顾问反馈标题 11 months ago
candice 06759d35a4 h2标题修改 11 months ago
赵鹏 277aeebe30 Merge branch 'master' of github.com:hainatravel/information-system 11 months ago
赵鹏 a6aabc22ab 澜海火车票功能完成并测试完成。但还是测试接口。 11 months ago
黄文强@HWQ-PC 8dd89abc0e 修改gh顾问反馈的标签 11 months ago
黄文强@HWQ-PC f3f63a65ec 增加在GH网站根据顾问名字读取专属于顾问的反馈标签的功能 11 months ago
黄文强@HWQ-PC d2a928510a Merge branch 'master' of github.com:hainatravel/information-system 11 months ago
黄文强@HWQ-PC 440ed664c2 修改水灯节票种“Standard+Transfer+Dinner”可以选择 11 months ago
candice eb4fbfe261 年份改为2025 11 months ago
candice 16cfad4a5e 头部导航删除china tours 2024/2025 11 months ago
黄文强@HWQ-PC 77d96e9a10 Merge branch 'master' of github.com:hainatravel/information-system 11 months ago
黄文强@HWQ-PC 3f21ab7a50 水灯节标签修改 11 months ago
Jimmy Liow 40a6e04bc2 Merge branch 'master' of github.com:hainatravel/information-system 11 months ago
Jimmy Liow edbe59fc97 CH信息平台文件夹结构调整 11 months ago
黄文强@HWQ-PC be8c909d51 增加25年水灯节表单模板 11 months ago
黄文强@HWQ-PC 45fa4dffd7 Merge branch 'master' of github.com:hainatravel/information-system 12 months ago
黄文强@HWQ-PC 0f7969af7e 增加ah,ch,gh对$OPI_Code的初始化处理 12 months ago
赵鹏 d2ee307924 Merge branch 'master' of github.com:hainatravel/information-system 12 months ago
赵鹏 86ac718797 换回携程接口 12 months ago
黄文强@HWQ-PC d4b5a169ba 更改gh-h1多了">"的问题 12 months ago
黄文强@HWQ-PC eabbd75aff 修复gh作者名字加链接的bug 12 months ago
黄文强@HWQ-PC 427158c92c 增加ah,ch,gh作者名字添加链接 12 months ago
黄文强@HWQ-PC 6fd63be9f8 增加ch作者介绍链接逻辑 12 months ago
黄文强@HWQ-PC 81219c12a9 修改ch作者介绍链接逻辑 12 months ago
黄文强@HWQ-PC e37f0f07d8 Merge branch 'master' of github.com:hainatravel/information-system 12 months ago
黄文强@HWQ-PC 4be635abdb 增加ch作者名字添加链接 12 months ago
LMR 042c54cb3d add gm to series site 12 months ago
candice 51c45667f1 11 12 months ago
candice fe789b1d15 Merge branch 'master' of github.com:hainatravel/information-system into master 12 months ago
candice 82909b5a9f 导航按钮添加title 12 months ago
Jimmy Liow 55e7e47418 右侧推荐删除 aside 标签 12 months ago
candice a66966400b 11 12 months ago
candice 4f4182ae4f Merge branch 'master' of github.com:hainatravel/information-system into master 12 months ago
candice f27fe67244 aside main nav标签添加 12 months ago
Jimmy Liow 639688a626 AH 水灯节下线 Standard 类型 12 months ago
Jimmy Liow 804446ac24 删除水灯节在信息页面表单 12 months ago
candice 2751bf3c94 删除keywords一项 12 months ago
赵鹏 5eb7be4755 fix 1 year ago
赵鹏 ae3daef11b fix 1 year ago
赵鹏 a541af9a47 fix 1 year ago
赵鹏 f94c092f06 fix 1 year ago
赵鹏 123ed3a245 CT左右结构新表单 1 year ago
赵鹏 b38799aeaa fix 1 year ago
赵鹏 38935fcd0a Merge branch 'master' of github.com:hainatravel/information-system 1 year ago
赵鹏 15bb56eebc CT产品页表单兼容左右结构。 1 year ago
candice f9ad1b5470 11 1 year ago
candice b7d3eebd18 电话框type值改为tel 1 year ago
candice 17c4fd81f9 表单内容精简,删除CAD选项 1 year ago
candice b111edf848 11 1 year ago
赵鹏 7bcb6fe2c7 TS网站及手机端接口改澜海接口测试。 1 year ago
赵鹏 4e5cac7adc Merge branch 'master' of github.com:hainatravel/information-system 1 year ago
赵鹏 b5e58abbdb 澜海火车票接口上线 1 year ago
candice 9f93b9d0af TA获奖图标更新为2024 1 year ago
candice 7a282a7a3f TA获奖图标更新为2024 1 year ago
candice 0c50e78ce2 TA获奖图标更新为2024 1 year ago
赵鹏 c88477d5bc tp产品预订日期fix 1 year ago
赵鹏 00569cef02 新增澜海火车票查询接口。 1 year ago
赵鹏 81b0822beb Merge branch 'master' of github.com:hainatravel/information-system 1 year ago
赵鹏 681ec822b6 CH上的TP产品默认日期修改。 1 year ago
LMR 0f4ac70071 fix icid 1 year ago
LMR 67a4e3dc99 fix meta 1 year ago
LMR ae1395684f test meta 1 year ago
candice 91fa4f5c21 电话号码输入框type改为number 1 year ago
赵鹏 4be99b2d9c Merge branch 'master' of github.com:hainatravel/information-system 1 year ago
赵鹏 1423dc855f 上海站表单fix 1 year ago
YCC ee3079bba6 客运来源的订单访问路径抓取 1 year ago
赵鹏 009c11098a 上海站线路表单 1 year ago
赵鹏 f91ffc880e 上海站详细页加表单 1 year ago
赵鹏 fbae81a8b7 上海站线路详细页不调用表单。 1 year ago
candice a8e3dba319 搜索框按钮图片添加alt文字 alt="site search button" 1 year ago
Jimmy Liow af8327ca7d CT站删除谷歌广告代码 1 year ago
LMR 63225aa81d test order path 1 year ago
candice 3605c9a6eb 图片添加alt文字 1 year ago
YCC 93072cc51c 添加香港到一日游导航入口 1 year ago
YCC a8c1549ce0 添加导航入口 1 year ago
candice 9c387fa2ce 图片添加alt文字 1 year ago
candice 25cca56090 添加alt文字 1 year ago
candice ffb9629cbd 图片添加alt文字 1 year ago
candice 53924c2450 底部TM按钮链接修改为 /forms/create-my-trip.htm 1 year ago
candice d28e6ab06c 删除头部导航跨国链接 1 year ago
LMR 3c198cb7d1 注释 sms 1 1 year ago
赵鹏 b43cc94794 Merge branch 'master' of github.com:hainatravel/information-system 1 year ago
赵鹏 5f1a375473 CT站手动设置信息发布时间 1 year ago
黄文强@HWQ-PC 1c8ef378e6 CH成本换算成美元,增加判断是否是ch的逻辑 1 year ago
黄文强@HWQ-PC 4335e66225 CH成本币种换算成用美元 1 year ago
LMR f846137062 fix 1 year ago
LMR fb2b5de674 format 1 year ago
LMR 077712eaab fix show 1 year ago
LMR 0161f333c2 rm log 1 year ago
LMR ff16807980 test amp_json 1 year ago
LMR 07b6937f5f fix 50 txt 1 year ago
LMR ebf7170e51 fix url 1 year ago
LMR bd5eecc3c6 fix test 1 year ago
LMR 9432e6f43f Merge branch 'master' of https://github.com/hainatravel/information-system 1 year ago
LMR 0f4e4faf9d add @@@ 1 year ago
LMR a94c6fdcd3 format 1 year ago
candice a47335949e 底部社媒推荐添加链接 1 year ago
candice 63adaebf5a 底部社媒推荐添加链接 1 year ago
candice 5e1cac893a 底部社媒推荐添加链接 1 year ago
LMR 4e35f0282e echo json_encode(array('err'=>'容错1')); 1 year ago
LMR 516181d9f4 容错2 1 year ago
LMR 7b07b5a141 容错2 1 year ago
LMR 5b9b199ce4 fix update_info_by_keys 1 year ago
LMR 609b972176 fix header('Access-Control-Allow-Origin:*'); 1 year ago
LMR a329b45f19 返回值 1 year ago
LMR 2dba5aad3f fix up 2 1 year ago
LMR 0f4136181d fix strpos($keys, 'undefined') !== false 1 year ago
LMR 10c9024ccd fix 1 year ago
LMR 4719149e4c infox 1 year ago
LMR 9bff796497 add force ic_url 1 year ago
LMR 76f1d93ce6 add log 1 year ago
LMR e14baeecfa fix 30 1 year ago
LMR 3bbb1c0257 fix 1 year ago
LMR 59d0ea01b3 Merge branch 'master' of https://github.com/hainatravel/information-system 1 year ago
LMR 466e8f197f todo: list_info_by_keys 1 year ago
Jimmy Liow 33bd626cdb 水灯节表单禁用地点 Heritage 1 year ago
candice 5a6e974d8a 11 1 year ago
candice f64a59cdb4 样式细节修改 1 year ago
candice 5e3d382c3c 联系方式删减 1 year ago
candice 90cdb1880a 联系方式删减 1 year ago
candice 622e79fcf0 联系方式删减 1 year ago
LMR 0b49bff650 yrdy 1 year ago
LMR 7a6c6409a3 fix 1 year ago
LMR d3fc334525 fix 1 year ago
LMR 29218c5c9d fix2 1 year ago
LMR 19c0f5258b fix 1 1 year ago
LMR 6f8a287ac1 fix 1 year ago
LMR 3645a67b45 add infofix 1 year ago
Jimmy Liow 91387297e0 CH、GH 统一使用 optimize 目录的图片 1 year ago
Jimmy Liow 8b1a5d01c7 image 目录统一使用 chinahighlights 1 year ago
Jimmy Liow acbf779d0b 使用 optimize 做获取图片宽高目录 1 year ago
candice 894bbbc585 底部模板删除our differences链接 1 year ago
LMR 8b74fa95f0 fix index.htm 1 year ago
LMR dab7a9f50d Merge branch 'master' of https://github.com/hainatravel/information-system 1 year ago
LMR 114becf0e2 formate code 1 year ago
Jimmy Liow 8f6395303c Merge branch 'master' of github.com:hainatravel/information-system 1 year ago
Jimmy Liow 46a2bf2e55 客人信息表单日期不能超过四位数 1 year ago
LMR c1dcd41570 add pd tour 1 year ago
LMR 93d0f928c1 Merge branch 'master' of https://github.com/hainatravel/information-system 1 year ago
LMR 7b2877e911 da 1 year ago
candice 31bd67da9e 样式细节调整 1 year ago
candice e47d303d89 新增国家号选择 1 year ago
candice 5b3969f55e Merge branch 'master' of github.com:hainatravel/information-system into master 1 year ago
Jimmy Liow 8d282612a8 合并区号和手机号保存 1 year ago
candice c484005bf1 新增国家号选择 1 year ago
candice 5aac2e3387 样式细节调整 1 year ago
candice caa735c708 新增国家号选择 1 year ago
candice 2b630a31df 样式细节修改 1 year ago
candice bf6986e05f 电话框引导语修改,去掉lable,换成placeholder 1 year ago
candice 6fc73567ec 电话框引导语修改,去掉lable,换成placeholder 1 year ago
candice ce8cdfa4d0 添加国家号 1 year ago
candice 1af4a8671a 添加国家号 1 year ago
candice a8679db263 恢复国籍选择,取消区号 1 year ago
candice dbb057384c 添加国家号 1 year ago
candice c89e3d53b5 电话号码添加国家号 1 year ago
candice 7933f856bc Merge branch 'master' of github.com:hainatravel/information-system into master 1 year ago
candice 22b55ca5fc 11 1 year ago
Jimmy Liow 80375f3d69 删除 AH、CH、GH 机票信息必填 1 year ago
Jimmy Liow 573e2a8a01 删除机票必填验证和无用的jQuery日历 1 year ago
赵鹏 1c80267de8 修复预售时间表有重复站点的话无法获取数据的错误 1 year ago
赵鹏 1768776156 自动出票排序先按日期,再按预售时间。这样可以优先预售期内的先出。 1 year ago
赵鹏 ecdbe13813 优化自动出票sql,兼容多条收款记录的订单。 1 year ago
赵鹏 e36f5f885d 自动出票排序重新修改。(我记得改过了的,不知道怎么不见了。) 1 year ago
赵鹏 de21b4e693 超过12个小时才停止抢票 1 year ago
赵鹏 5c1d5c3877 Merge branch 'master' of github.com:hainatravel/information-system 1 year ago
赵鹏 fbfbbe2581 设置自动出票运行时间为3分钟 1 year ago
LMR b195f05e8f add log 1 year ago
赵鹏 4fbebb3b2e Merge branch 'master' of github.com:hainatravel/information-system 1 year ago
赵鹏 4c2414805f 自动出票符合条件出票时加日志,用来判断订单自动出票中哪一步出问题。 1 year ago
candice a19b664015 11 1 year ago
candice f359270696 Merge branch 'master' of github.com:hainatravel/information-system into master
# Conflicts:
#	application/views/mobile_first/ah-lantern-form-info-page.php
#	application/views/mobile_first/ah-lantern-form.php
1 year ago
candice 6a5523bdb2 11 1 year ago
candice 278d9bfb47 11 1 year ago
candice 05167e09c7 头部导航删除zodiac signs和dream meaning 1 year ago
Jimmy Liow a7341b4854 Heritage只有15号的票 1 year ago
Jimmy Liow 23981900c9 解决默认价格设置错误 1 year ago
Jimmy Liow 5d2cb7931c 水灯节信息页表单改版 1 year ago
Jimmy Liow 43e53085eb 增加十人以上价格优惠 1 year ago
Jimmy Liow 8c30de1ff9 AH 水灯节表单新优化 1 year ago
赵鹏 5f406b87f5 TA加nofollow 1 year ago
赵鹏 23f627eef7 预售日志关闭 1 year ago
赵鹏 9e0e5235c8 safri锚点问题 1 year ago
赵鹏 012980f612 证件号判断错误。 1 year ago
赵鹏 6ece6fb525 自动出票开启预售期的日志,检查8点整的订单为何没有自动出票。 1 year ago
赵鹏 ee2c60ee06 Merge branch 'master' of github.com:hainatravel/information-system 1 year ago
赵鹏 7729fb8da5 购物车加rel="nofollow" target="blank" 1 year ago
Jimmy Liow 22739403f8 航班日期超出 SQL Datetime 范围则设置为空 1 year ago
赵鹏 8e79ad252d Merge branch 'master' of github.com:hainatravel/information-system 1 year ago
赵鹏 213744009d 自动出票的订单根据出发城市的预售时间来排序。 1 year ago
Jimmy Liow 40ed5237a8 Merge branch 'master' of github.com:hainatravel/information-system 1 year ago
Jimmy Liow 8bea117546 客人信息表单增加日期范围限制 1 year ago
赵鹏 1624e36ad3 自动出票关闭预售期的测试日志 1 year ago
赵鹏 6d640bee99 fix 1 year ago
赵鹏 d1dec4bfd5 fix 1 year ago
赵鹏 2d3902209c 1. 火车搜索框替换标签<!--@TRAINSEARCH-FORM@--> 2.可以设置默认城市 1 year ago
赵鹏 814157ed87 Merge branch 'master' of github.com:hainatravel/information-system 1 year ago
赵鹏 318d4bd5a8 fix 1 year ago
LMR 463000da50 Merge branch 'master' of https://github.com/hainatravel/information-system 1 year ago
LMR 56cf181551 fix cache path 1 year ago
赵鹏 8a65396a35 自动出票优化 1 year ago
赵鹏 05ac02142b Merge branch 'master' of github.com:hainatravel/information-system 1 year ago
赵鹏 09e547096f 上海站静态话fix 1 year ago
LMR 2e932db6a2 fix 1 year ago
LMR 00718cf541 fuda 1 year ago
LMR b365bc5073 opt bad cache 1 year ago
赵鹏 e0633c07c3 fix 1 year ago
赵鹏 f67786c967 预售日支持自动出票 1 year ago
赵鹏 810cf54752 Merge branch 'master' of github.com:hainatravel/information-system 1 year ago
赵鹏 589c897c0d CH站TP版块调用自己的样式https://proxy-data.chinahighlights.com/css/daytrip/tpbase.css 1 year ago
candice ecbb96c8fd 新增三站 线路卡片 模板代码 1 year ago
candice 3d086bb0c2 添加提示语 1 year ago
赵鹏 3db8fe5513 Merge branch 'master' of github.com:hainatravel/information-system 1 year ago
赵鹏 139911b721 TP的详细页加限制,翰特找不到产品信息不出预订表单 1 year ago
candice d46627faca 样式细节调整 1 year ago
赵鹏 df8df51bbf Merge branch 'master' of github.com:hainatravel/information-system 1 year ago
赵鹏 470590af01 火车预售时间修改功能上线 1 year ago
candice 2aa44e9845 样式细节修改 1 year ago
candice f82f8c95a0 样式细节修改 1 year ago
candice 1609cf908b 细节样式添加 1 year ago
candice 90dc5d9243 票种部分文字加粗 1 year ago
Jimmy Liow f9cbccd499 Merge branch 'master' of github.com:hainatravel/information-system 1 year ago
Jimmy Liow 4087e73ff5 AH CAD 跨年表单 1 year ago
黄文强@HWQ-PC 08bbf9666f 增加ah和ph是否显示广告里面对空逻辑的判断 1 year ago
黄文强@HWQ-PC 4b17fa89ad Merge branch 'master' of github.com:hainatravel/information-system 1 year ago
黄文强@HWQ-PC d6b0503dc0 修改判断是否展示广告忘记加empty($meta_show_advertise)判断条件逻辑 1 year ago
赵鹏 ba98a93f2a Merge branch 'master' of github.com:hainatravel/information-system 1 year ago
赵鹏 39f6f144db 火车预售时间维护功能。 1 year ago
黄文强@HWQ-PC 165bb2a8d4 把“是否展示广告提示”改为“是否展示右侧广告” 1 year ago
黄文强@HWQ-PC 2e12851439 修改判断是否显示广告的逻辑错误 1 year ago
黄文强@HWQ-PC 35aa4ba386 Merge branch 'master' of github.com:hainatravel/information-system 1 year ago
黄文强@HWQ-PC e250747476 把是否展示广告的0-1判断逻辑改为"yes"-"no" 1 year ago
candice 39a90562d5 补附加样式和JS 1 year ago
candice 845c0b0f37 JS恢复 1 year ago
candice f408a7636f JS精简 1 year ago
candice 1c052d21de Merge branch 'master' of github.com:hainatravel/information-system into master 1 year ago
candice bc9bb92838 JS精简 1 year ago
黄文强@HWQ-PC ef523066c5 Merge branch 'master' of github.com:hainatravel/information-system 1 year ago
黄文强@HWQ-PC e3fc1423b3 修改依然显示class=right_brand_info的广告div 1 year ago
candice 3be7953948 JS精简 1 year ago
candice e70b8e38b3 Merge branch 'master' of github.com:hainatravel/information-system into master 1 year ago
candice 06b6824312 JS精简 1 year ago
黄文强@HWQ-PC bb83cf650a Merge branch 'master' of github.com:hainatravel/information-system 1 year ago
黄文强@HWQ-PC de54f8417c 信息平台增加是否显示右侧广告按钮 1 year ago
Jimmy Liow a9aac74fad 调整机票提醒位置 1 year ago
candice 3020b581f1 样式调整 1 year ago
candice 43dc57353d 删除 <script src="https://data.asiahighlights.com/min/?f=/js/jquery-1.8.2.min.js,/js/jquery.mailAutoComplete-4.0.min.js"></script> 1 year ago
candice 71eef37ba2 删除 <script src="https://data.asiahighlights.com/min/?f=/js/jquery-1.8.2.min.js,/js/jquery.mailAutoComplete-4.0.min.js"></script> 1 year ago
candice 0e2a702f14 删除 <script src="https://data.asiahighlights.com/min/?f=/js/jquery-1.8.2.min.js,/js/jquery.mailAutoComplete-4.0.min.js"></script> 1 year ago
candice 9feaa0804d 删除 <script src="https://data.asiahighlights.com/min/?f=/js/jquery-1.8.2.min.js,/js/jquery.mailAutoComplete-4.0.min.js"></script> 1 year ago
candice ffb803c6ea 删除 <script src="https://data.asiahighlights.com/min/?f=/js/jquery-1.8.2.min.js,/js/jquery.mailAutoComplete-4.0.min.js"></script> 1 year ago
candice a9c30cfcee 删除 <script src="https://data.asiahighlights.com/min/?f=/js/jquery-1.8.2.min.js,/js/jquery.mailAutoComplete-4.0.min.js"></script> 1 year ago
candice 3506a266e4 Merge branch 'master' of github.com:hainatravel/information-system into master 1 year ago
candice 48c2ca28b6 删除 <script src="https://data.asiahighlights.com/min/?f=/js/jquery-1.8.2.min.js,/js/jquery.mailAutoComplete-4.0.min.js"></script> 1 year ago
黄文强@HWQ-PC 10397e5c65 Merge branch 'master' of github.com:hainatravel/information-system 1 year ago
黄文强@HWQ-PC e68dff1005 修改gh-h1没加strtotime方法 1 year ago
candice c2f7301bb9 添加 <script src="https://data.asiahighlights.com/min/?f=/js/jquery-1.8.2.min.js,/js/jquery.mailAutoComplete-4.0.min.js"></script> 1 year ago
candice f4bf6b544c Merge branch 'master' of github.com:hainatravel/information-system into master 1 year ago
candice c0015a3523 添加 <script src="https://data.asiahighlights.com/min/?f=/js/jquery-1.8.2.min.js,/js/jquery.mailAutoComplete-4.0.min.js"></script> 1 year ago
黄文强@HWQ-PC 1d890a2387 Merge branch 'master' of github.com:hainatravel/information-system
# Conflicts:
#	application/controllers/information.php
#	application/views/mobile_first/ah-h1.php
1 year ago
黄文强@HWQ-PC 471b425861 增加ch和gh的发布日期功能 1 year ago
candice 13f6fb25e0 添加 <script src="https://data.asiahighlights.com/min/?f=/js/jquery-1.8.2.min.js,/js/jquery.mailAutoComplete-4.0.min.js"></script> 1 year ago
candice 4cfaf25162 移除 <script src="https://data.asiahighlights.com/min/?f=/js/jquery-1.8.2.min.js,/js/jquery.mailAutoComplete-4.0.min.js"></script> 至表单文件 1 year ago
candice 54dfe2bfc0 Merge branch 'master' of github.com:hainatravel/information-system into master 1 year ago
candice 3b95fccfde 移除 <script src="https://data.asiahighlights.com/min/?f=/js/jquery-1.8.2.min.js,/js/jquery.mailAutoComplete-4.0.min.js"></script> 至表单文件 1 year ago
Jimmy Liow 96b2131bec 客人信息表单增加机票提示 1 year ago
Jimmy Liow 917f449f04 取消发布日期默认值 1 year ago
Jimmy Liow faac9b862e AH 增加发布日期判断 1 year ago
黄文强@HWQ-PC dcb914b432 信息平台右侧增加发布日期框 1 year ago
candice 32afc727e4 底部模板history更换为loyalty program 1 year ago
Jimmy Liow 2a4a951a05 Merge branch 'master' of github.com:hainatravel/information-system 1 year ago
Jimmy Liow 60f57b38bd 删除 GH GG 广告代码 1 year ago
candice 0f40b89266 div精简 1 year ago
candice 963d40cc65 11 1 year ago
candice 935349967d div精简 1 year ago
candice b40ee07d4e 精简div 1 year ago
candice f849fb0a9c 11 1 year ago
candice 3b9afaf4d0 Merge branch 'master' of github.com:hainatravel/information-system into master 1 year ago
candice 18914682c4 div精简 1 year ago
Jimmy Liow 60e8599713 Merge branch 'master' of github.com:hainatravel/information-system 1 year ago
Jimmy Liow c1f4b2252a CH、GH底部图片加上延迟加载 1 year ago
candice bf430dfa91 div层级精简 1 year ago
candice 27212765cc Merge branch 'master' of github.com:hainatravel/information-system into master 1 year ago
candice 6265bbaad6 div层级精简 1 year ago
Jimmy Liow b4db47988f AH、CH、GH删除Google广告代码 1 year ago
candice 3211da0de1 png替换为jpg 1 year ago
candice 26fb30483b 底部why us图片添加宽和高 1 year ago
candice 05623249a8 png替换为jpg 1 year ago
candice 26fc372223 png替换为jpg 1 year ago
candice d8eeaad001 png替换为jpg 1 year ago
candice 785769e54b png图更换为jpg 1 year ago
Jimmy Liow b4e4496188 AH PC 端增加延迟加载 1 year ago
Jimmy Liow 59a7a91f87 AH 底部图片加上延迟加载 1 year ago
candice 61d1d7e08a 底部whyus内容修改 1 year ago
赵鹏 eb946c99f8 Merge branch 'master' of github.com:hainatravel/information-system 1 year ago
赵鹏 941555a4a6 更改火车票自动出票信息平台页面的价格显示栏目为销售的名字 1 year ago
candice 0afde5af9e 样式修改 1 year ago
Jimmy Liow cfc08936bc 精简CH、GH网站reviews个数 1 year ago
Jimmy Liow 14e3d0e7cb 忽略 /info.php 1 year ago
candice bc14f704bb TP分数修改 1 year ago
candice 9da5fe82c5 底部推荐位置更换 1 year ago
candice d14fc3dc49 底部推荐只保留4个位置 1 year ago
Jimmy Liow c9ab6495f3 Merge branch 'master' of github.com:hainatravel/information-system 1 year ago
Jimmy Liow 328871f456 忽略info.php 1 year ago
candice d4dc052240 11 1 year ago
candice 036194fad0 Merge branch 'master' of github.com:hainatravel/information-system into master 1 year ago
candice 734f11ab18 11 1 year ago
Jimmy Liow 49888b4e84 Merge branch 'master' of github.com:hainatravel/information-system 1 year ago
Jimmy Liow a95f0410a9 Merge branch 'master' of github.com:hainatravel/information-system 1 year ago
candice f774e8d5a9 底部推荐只保留4个位置 1 year ago
Jimmy Liow 638ede80d4 信息平台启用meta robots设置 1 year ago
candice 3889c6ea01 底部推荐只保留4个位置 1 year ago
candice fc6410b256 Merge branch 'master' of github.com:hainatravel/information-system into master 1 year ago
candice f36babb1fb 底部推荐只保留4个位置 1 year ago
Jimmy Liow 840f7e5b9f 修复AH目的地Review为三个 1 year ago
Jimmy Liow 46457a8785 精简AH网站reviews个数 1 year ago
candice 4398870a4b 右侧反馈标签删除 1 year ago
candice 671fdf9785 外链添加nofollow 1 year ago
赵鹏 f8ab581d34 还原回去先,不然TP网站无法使用 1 year ago
赵鹏 68a7a74c0f TP产品读取229的数据库链接改为和火车自动出票的链接,目前GH的网站上没有229 1 year ago
LMR 725ffb663e Merge branch 'master' of https://github.com/hainatravel/information-system 1 year ago
LMR 7f3fe43362 fix curl 1 year ago
LMR 2d4ad93a94 add curl header 1 year ago
candice 5b429599eb newsletter jquery删除 1 year ago
赵鹏 b03a126698 解决冲突 1 year ago
赵鹏 c600f95b47 火车首页fix 1 year ago
赵鹏 7c4080ab0d Merge branch 'master' of github.com:hainatravel/information-system
# Conflicts:
#	application/controllers/information.php
1 year ago
赵鹏 3622569c3b CH火车首页改版,去掉top banner 1 year ago
candice a269b1fdf4 头部导航增加about us 1 year ago
LMR 6c7d943631 fix 1 year ago
LMR f7cdf689b5 da 1 year ago
LMR a136eefbe6 tewt 1 year ago
LMR 359df1fd8e Merge branch 'master' of https://github.com/hainatravel/information-system 1 year ago
LMR 33d83cc68a fix 1 year ago
Jimmy Liow 94d4f1e1bb CH 删除头部视频模板 1 year ago
candice f2cda3dfaa 11 1 year ago
candice 08e87a3802 底部newsletter表单移至信息平台,替换为链接 1 year ago
candice 94574e015d 删除头部图片 1 year ago
赵鹏 b0aa3bf4e3 Merge branch 'master' of github.com:hainatravel/information-system 1 year ago
赵鹏 483dda454d 香港,台湾,澳门三地携程出票时,地区代码传CN 1 year ago
Jimmy Liow 6b2f5f0671 合并产品页信息页头部 1 year ago
Jimmy Liow d2b39cdaf9 CH 删除头部大图模板 1 year ago
Jimmy Liow 174937c6cc CH 删除头部大图模板 1 year ago
candice 8621609ed9 头部大图删除 1 year ago
candice 3da7745c6e 删除底部newsletter表单和相关JS 1 year ago
candice 8594ba2400 票价修改,增加泰铢价格 1 year ago
Jimmy Liow cac450b43f AH 撤下GG Ads 1 year ago
Jimmy Liow 4f8f5465b8 增加 Google Ad 代码 1 year ago
Jimmy Liow 9057b6c687 AH、CH、GH 撤下页头的单元广告 1 year ago
candice 668658776e 11 1 year ago
candice 8ee88e233b 11 1 year ago
candice 07f42b2051 11 1 year ago
candice 4700c8d0d0 新增rel="nofollow" 1 year ago
candice 38d6e033e8 新增 rel="nofollow" 1 year ago
candice 46aa1cada2 添加 rel="nofollow" 1 year ago
candice 991e8971a1 11 1 year ago
candice d0794575e0 11 1 year ago
candice 26098a350b 11 1 year ago
LMR e85bb4c117 fix 1 year ago
LMR cb12995763 fix 1 year ago
LMR c31bd10968 add gj_gm update cache 1 year ago
LMR 460d640211 up 3 1 year ago
LMR f7b7fd5e74 v3 1 year ago
LMR 58e99b79f4 +2 1 year ago
LMR d07f37173a test link gm database 1 year ago
LMR e54fd396d3 add test gm database 1 year ago
LMR fbad1da0e0 fix gh_gm tpl 1 year ago
candice e8d79dd3ab 11 1 year ago
candice 80838a76b9 人数选择恢复恢复为加减 1 year ago
candice 4d8f4ae958 人数删除0选项 1 year ago
Layne 506039d094 更改结构化标签的传递数据 1 year ago
Layne d711e5e333 更正结构化标签代码错误 1 year ago
Layne 23ff03d4e4 结构化标签新增在线作者判断 1 year ago
candice 747effe3e3 人数选择改为下拉框 1 year ago
LMR 09c61276c1 fix 1 year ago
LMR df70c3512c Merge branch 'master' of https://github.com/hainatravel/information-system 1 year ago
LMR ae6c935207 add gm copy 1 year ago
candice 6f7136f5af 11 1 year ago
candice 2fec3cafc4 11 1 year ago
candice bcf9bdccd1 头部导航logo调整 1 year ago
candice 75d0f6ec4c 头部导航Logo调整 1 year ago
candice 171dc0481e 11 1 year ago
candice 3f6a3b9656 模糊出发日期修改 1 year ago
candice b51c18ac5f 邮箱自动出现和相关样式删除 1 year ago
candice 027ba24b24 删除头部大图,PC和移动端一体 1 year ago
candice ad26727400 底部newsletter表单删除,替换为按钮,相关JS删除 1 year ago
candice fca64df64d html结构调整 1 year ago
candice 3fd1a82def 右侧品牌内容修改 1 year ago
candice 0999f5fbcd 右侧品牌内容修改 1 year ago
赵鹏 a157ca3983 Merge branch 'master' of github.com:hainatravel/information-system 1 year ago
赵鹏 5ae28c8d0e 顺途接口升级,根据要求增加人员国籍的数据 1 year ago
candice bc6f7a519a 11 1 year ago
candice 311817f9dc 11 1 year ago
candice bf0434bb87 11 1 year ago
candice cb016ba41c 11 1 year ago
candice edc98f3eaf 11 1 year ago
candice 6321f2a76f 11 1 year ago
candice fc9b3782de 11 1 year ago
candice d69728251b 11 1 year ago
candice 8c463a4c9a 底部aboutus模板内容优化 1 year ago
赵鹏 f99671d1e2 Merge branch 'master' of github.com:hainatravel/information-system 1 year ago
赵鹏 3bde269f21 CT机票首页去掉搜索框 1 year ago
Layne 1634128338 gh google adsense 代码位置修改 1 year ago
Layne 8bfafd1eef gh 新增 google adsense 判断 1 year ago
candice 45a9c583fa 11 1 year ago
candice 60884517cb 11 1 year ago
candice 9e64189cd9 11 1 year ago
candice a97149a6d4 11 1 year ago
candice a1cc35c4c1 底部aboutus模板内容优化 1 year ago
candice 25a651c9e6 微信二维码删除 1 year ago
candice bafdcdb1c1 Merge branch 'master' of github.com:hainatravel/information-system 1 year ago
candice 6855da951f 微信二维码隐藏 1 year ago
Jimmy Liow db9b9aa441 Merge branch 'master' of github.com:hainatravel/information-system 1 year ago
Jimmy Liow f3a857cfbd CH H1 兼容没有域名的图片地址 1 year ago
candice 0a8642bea0 11 1 year ago
candice c31c6f6803 11 1 year ago
candice 63b001717f 底部why us内容优化 1 year ago
candice a211cf3507 底部why us模板内容优化 1 year ago
candice 70f2cdee36 11 1 year ago
candice 4d24f969c5 11 1 year ago
candice 0772806f86 底部目的地链接内容修改 1 year ago
candice d4a2b2f0d7 11 1 year ago
candice eeb9b15bf1 右侧品牌内容修改 1 year ago
candice 01930e0f8a 11 1 year ago
candice 56a8d76a8c Merge branch 'master' of github.com:hainatravel/information-system 1 year ago
candice 52ca3bb1cb 右侧品牌内容修改 1 year ago
Jimmy Liow df8826d8a1 修改CH H1 大图无法显示 1 year ago
candice 36c58c5651 底部目的地链接内容修改 1 year ago
candice c0ec579c06 11 1 year ago
candice 6bd6a5ffa0 11 1 year ago
candice bc2ae6fb9c 底部目的地链接内容修改 1 year ago
candice bfaf5de955 11 1 year ago
candice 8ca0c612d5 11 1 year ago
candice 75f08d1118 11 1 year ago
candice a9a3237321 11 1 year ago
candice 5037960164 11 1 year ago
candice 6e95a791fd 11 1 year ago
candice 189a06fe7e 11 1 year ago
candice 062c48b853 底部why us和aboutus模板优化 1 year ago
candice c20faf3737 底部why us和about us模板优化 1 year ago
LMR db8b245d0f test hook 1 year ago
LMR 42c3145959 add case 'origin-gm.mycht.cn':
$base_url = 'https://gm.mycht.cn';
        break;
1 year ago
LMR cf72526b46 fix gm update cache 1 year ago
LMR 4d10ae4eac fix gm cache path 1 year ago
LMR c71a405ca8 add search new 1 year ago
candice 0aeb43f16c 成人人数name值恢复 1 year ago
YCC 14e3e2577c 修改搜索记录数 1 year ago
YCC 9604461cad 修改搜索结果项为48 1 year ago
candice d85ea4a9e6 隐藏hotjar JS 1 year ago
candice dc876151a1 成人人数name值修改为adult 1 year ago
Jimmy Liow 3fa46e4e22 AH CH GH所有含人数选择表单新增人数默认 1 year ago
candice f8ce3b83a4 恢复微信二维码 1 year ago
candice 150268b2f6 11 1 year ago
candice 3efb7dd59a 11 1 year ago
candice 5fcf379b4a 头部导航链接修改 1 year ago
candice b86a6197e0 11 1 year ago
candice c101b93a56 模糊出发日期改为下拉框 1 year ago
YCC 9f2c833b89 更新抓取的网站 1 year ago
赵鹏 2a782829b9 预售期的日期规则改动,是14天。 还有就是无效订单暂时不重复出票,避免数据错误的无效订单。 1 year ago
赵鹏 118b68f3ab 自动出票错误信息记录 1 year ago
赵鹏 45edae630a Merge branch 'master' of github.com:hainatravel/information-system 1 year ago
赵鹏 de578063dd 先去掉15天预售期当天的重复提交。默认都是3次。 1 year ago
candice 2ad621328d 头部导航链接更新:新增西班牙和欧洲链接 1 year ago
赵鹏 0a47b3793e Merge branch 'master' of github.com:hainatravel/information-system 1 year ago
赵鹏 8493c14add 添加判断出票号是否存在。如果有出票号,就不再重复提交自动出票 1 year ago
candice ef3ac88523 11 1 year ago
candice 1db303685d 11 1 year ago
candice f39b93740e 11 1 year ago
candice bcf9cfad54 添加星级图标 1 year ago
candice e656e3224d 添加星级图标 1 year ago
candice b7b2b77ae0 添加星级图标 1 year ago
candice fe83bf806f 11 1 year ago
candice e405a24195 11 1 year ago
candice d0e6207e2e Merge branch 'master' of github.com:hainatravel/information-system into master 1 year ago
candice 0f381ef790 11 1 year ago
赵鹏 e4a0874f4e Merge branch 'master' of github.com:hainatravel/information-system 1 year ago
赵鹏 345cb37a0e 自动出票测试版 1 year ago
candice 754da6f757 11 1 year ago
candice 487b680c8f 11 1 year ago
赵鹏 38ac4dc1c6 自动测试版,每次2个订单。 1 year ago
candice e18036b9fa 11 1 year ago
candice 4d64cf4bed 11 1 year ago
candice 529296e2ac 11 1 year ago
candice 5e5e314a03 11 1 year ago
candice 3caab889f5 11 1 year ago
candice 3100d1bb2f 头部导航链接修改 1 year ago
candice 802a91dee6 11 1 year ago
candice 99e4737dbb 11 1 year ago
candice af823716cc 11 1 year ago
candice d8369266c5 11 1 year ago
candice 8c11c3e4e4 11 1 year ago
candice d0282a2b6b 11 1 year ago
candice fd8fc01534 Merge branch 'master' of github.com:hainatravel/information-system into master 1 year ago
candice 6f381c049a 头部导航内容修改 1 year ago
Jimmy Liow dbed84450c 测试带星号反馈列表 1 year ago
YCC 2c774c234c 添加上海 ct站点的路径抓取 1 year ago
candice e3b3e6ea44 11 1 year ago
candice b4a5babc3e 底部目的地链接更新 1 year ago
candice a5e837de4b 11 1 year ago
candice da3eb5f805 11 1 year ago
candice 598157f50b 底部链接更新 1 year ago
candice 9c305e0107 底部目的地链接新增 1 year ago
candice f515032965 11 1 year ago
candice b0586786d0 Merge branch 'master' of github.com:hainatravel/information-system into master 1 year ago
candice 97cabf6e4a 底部目的地链接删除tours 1 year ago
hainatravel b477be6c85
Update information.php
开放广告重复显示
1 year ago
candice 1bf723fa3e 11 1 year ago
candice 24015cb433 11 1 year ago
candice 543e7d1e89 11 1 year ago
candice e1e470d4fa 底部目的地链接样式修改 1 year ago
candice aa1b5254a0 11 1 year ago
candice 4259157bef 11 1 year ago
candice ef5a1dd7e9 11 1 year ago
candice d74fd51650 成人人数选择修改 1 year ago
candice ae822174cb 11 1 year ago
candice 0001c45d63 11 1 year ago
candice 55b93e9391 11 1 year ago
candice 8c5daaf296 11 1 year ago
candice 1000479c95 恢复日期模糊选择 1 year ago
candice db722bb2ad JS恢复 1 year ago
candice e3abc9bcff JS修改,使用线路页面表单JS 1 year ago
candice 3a508cea72 成人人数选择修改 1 year ago
Jimmy Liow f3deedc925 护照表单增加塞尔维亚国籍 1 year ago
candice a76f70dbf1 11 1 year ago
candice a83efb394c 11 1 year ago
candice 1070b5f913 成人人数选择修改 1 year ago
candice 20ee13fabc 成人人数选择 1 year ago
candice 97cde28f5f 成人人数选择修改 1 year ago
Lei OT cc67d3eac0 fix: 日期隐藏; 提交按钮ID 1 year ago
Jimmy Liow e0042db6a8 解决模糊日期隐藏问题 1 year ago
Lei OT 47957ca92f perf: ah-info-page-form: 大致日期就不显示日期选择 1 year ago
Lei OT ecc5654a6b perf: ah-info-page-form: 大致日期就不显示日期选择 1 year ago
candice 533a8f1e71 11 1 year ago
candice 103ad258f6 11 1 year ago
candice 0c29043b7d 11 1 year ago
candice 9f1291b69c 11 1 year ago
candice 93af829b4d 11 1 year ago
candice 5909bda378 11 1 year ago
candice 307344e6d0 11 1 year ago
candice d2b8bcae36 11 1 year ago
candice a4e20a08d7 模糊触发日期修改 1 year ago
candice 9c3a03358d 11 1 year ago
candice 44066bcc17 11 1 year ago
candice 9115937155 11 1 year ago
candice 22ba4f40dc 11 1 year ago
candice fe39444447 11 1 year ago
candice a1f5510c1c 11 1 year ago
candice 30c12d7fda 11 1 year ago
candice 5e0a706c8f 11 1 year ago
candice a2e5cc6eea 11 1 year ago
candice 60334346f6 11 1 year ago
candice 889cc87d64 11 1 year ago
LMR bee9b24338 12 + 倒序 1 year ago
LMR 47b5212e52 faiux 1 year ago
LMR 469ab4833b add test 1 year ago
YCC 974895c64a 添加查询ts站点 1 year ago
LMR ddf2d3d0aa Merge branch 'master' of github.com:hainatravel/information-system 1 year ago
LMR e45156bb8a add gh 1 year ago
Jimmy Liow a290004181 修复 Japan Tours 集合页没有绑定产品编号 1 year ago
YCC c0fd213a04 添加ts网站的日志抓取 1 year ago
LMR 0065d3511a add gh 1 year ago
LMR 02cf2d188b Merge branch 'master' of github.com:hainatravel/information-system 1 year ago
LMR 75c3b41410 fix 1 year ago
Jimmy Liow aba590ee16 护照表单只需要保存第一个客人联系方式 1 year ago
LMR 872809de68 fx 1 year ago
Jimmy Liow cc1eefdefd 删除AH导航自动隐藏 2 years ago
candice 1a1b3236b5 11 2 years ago
candice be3888bfb8 Merge branch 'master' of github.com:hainatravel/information-system into master 2 years ago
Jimmy Liow 956c1935fc Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
candice b468fcc195 底部模板增加USTOA 2 years ago
Jimmy Liow 02ffa70913 删除无效的SQL测试 2 years ago
candice bcb779cd9c 底部模板增加USTOA 2 years ago
Jimmy Liow 16adc76d7b GH和CH网站实现线路价格代码 2 years ago
Jimmy Liow 2f29332245 解析价格标签增加 $dept_sn 2 years ago
Jimmy Liow 06f5b90258 Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
Jimmy Liow 9223a52a00 增加测试分段 2 years ago
candice f1e44f67b1 人数选择修改,和其他表单保持一致 2 years ago
LMR 7c369b4b11 dd 2 years ago
LMR 3c84380182 fix 2 years ago
Jimmy Liow a88cae1b95 价格增加事业部参数 2 years ago
Jimmy Liow aee1411ec3 使用 BASE64 传参 2 years ago
Jimmy Liow 99bfe0f593 增加动态测试价格标签 2 years ago
candice dee88907e8 移动端删除TP图标 2 years ago
candice cddf039344 11 2 years ago
candice 39fa84265a 移动端TP反馈图标修改 2 years ago
candice 39a620fa69 头部TP反馈图片修改 2 years ago
candice 42b35a4868 11 2 years ago
candice 69971c6c39 右侧反馈 替换为 <!--@FEEDBACK_Bangkok,Tokyo,Saigon,Siem Reap@--> 2 years ago
LMR 447a091693 add gh_vac 2 years ago
LMR 75d236e6ed Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
LMR ae2c233b2a fix gh_ 2 years ago
Jimmy Liow 0e8ade5c24 客人ID和日期增加空格 2 years ago
Jimmy Liow a30ea07f1c Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
Jimmy Liow ff26e35126 解决城市反馈标签重复标题 2 years ago
LMR b9ccf8f151 fix 2 years ago
candice 778b800fb2 11 2 years ago
candice bf9101b971 头部导航目的地下内容更新 2 years ago
candice 2bcbaf8967 11 2 years ago
candice d990f062d1 Merge branch 'master' of github.com:hainatravel/information-system into master 2 years ago
candice 3afaccdc5a 11 2 years ago
Jimmy Liow 4200778a5f 增加价格测试方法 2 years ago
candice c58abf902c Merge branch 'master' of github.com:hainatravel/information-system into master 2 years ago
candice 969c4dff00 11 2 years ago
Jimmy Liow 52fbb9ab14 Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
Jimmy Liow a9d7b36717 #ah-mtc-3,st,2# 2 years ago
candice 42ab2c9c81 头部导航目的地下内容修改 2 years ago
LMR 1d87b70c63 add config gh 2 years ago
Jimmy Liow 8aeabebfb5 Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
Jimmy Liow 848c49f44c test_get_feedback_by_city_name 2 years ago
candice 8d4c002b60 头部导航itinerary ideas相关内容修改 2 years ago
LMR b4b8f26dde fix 2 years ago
candice aad719abec 11 2 years ago
candice 59c52d288c 11 2 years ago
Jimmy Liow eb2354e756 修复标签没有生效 2 years ago
candice 3a53141f56 删除cookie相关内容 2 years ago
candice d5c5127743 Merge branch 'master' of github.com:hainatravel/information-system into master 2 years ago
candice 455b0960ea 11 2 years ago
candice 427177cdb8 右侧模板增加展示反馈10条 2 years ago
Jimmy Liow 8fc3933256 增加标签 NEWEST_FEEDBACK_10 2 years ago
Jimmy Liow b9eaff1db5 修改测试调用方法 2 years ago
Jimmy Liow a422d10148 Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
Jimmy Liow da2af2a259 最新反馈增加默认条数 2 years ago
LMR 71f9e187aa fux 2 years ago
LMR c3543627ae fix 2 years ago
LMR 3eadc7fe03 fix 2 years ago
LMR dae813af5b fix 2 years ago
LMR 6a25f9be8a fkx 2 years ago
LMR 396d7cf402 Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
LMR 479025ecf2 fix 2 years ago
candice 1b0af1f0c9 11 2 years ago
candice 3a7ca3ead8 国籍下拉框修改 2 years ago
Jimmy Liow 51bfadbe4f 航班信息改为必填 2 years ago
candice 54ddeec02d 解决冲突 2 years ago
candice 4e34e194bd 解决冲突 2 years ago
candice 65708169e7 Merge branch 'master' of github.com:hainatravel/information-system into master
# Conflicts:
#	application/third_party/order/views/ah/confirm_order.php
#	application/third_party/order/views/gh/confirm_order.php
2 years ago
candice babd2c3097 电话等内容修改 2 years ago
candice 297c2ea402 电话等内容修改 2 years ago
LMR bef3803745 Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
LMR 9dfbb11f8d fix 2 years ago
Jimmy Liow 0e5f3e708d 客人信息收集表单优化需求 2 years ago
LMR a9354ae961 Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
LMR 000fca2deb TODO: 非子节点信息 2 years ago
candice feff834a80 紧急联系人optional删除,必填 2 years ago
LMR 582a46e6f8 Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
LMR 776b0b6d86 test 2 years ago
candice a7d2eb6c86 国籍选项内容修改 2 years ago
candice bef99e193c Merge branch 'master' of github.com:hainatravel/information-system into master 2 years ago
candice f3d202f6b0 国籍选项内容修改 2 years ago
LMR eb244f7cab Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
LMR 281b6d0415 add get detail 2 years ago
candice 723deb7019 样式细节修改 2 years ago
candice 7b4605c9fd 新增delete功能 2 years ago
candice 4aaaf80bb5 11 2 years ago
candice e5baebe3cf 11 2 years ago
candice 5f7d2b012a Merge branch 'master' of github.com:hainatravel/information-system into master 2 years ago
candice c9040c2411 图片读取修改 2 years ago
LMR 7ba0cb58cc copy 1 2 years ago
LMR 5966f048a4 Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
LMR 8f105938c3 fix 2 years ago
Lei OT 5725539acf Merge remote-tracking branch 'origin/master' 2 years ago
LMR 03fa80f1c9 Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
LMR e829cbeadd fix 2 years ago
candice 2ff5fcea5f 11 2 years ago
candice 05b7dc61ff 11 2 years ago
candice 827d546759 电话地址等内容修改 2 years ago
Lei OT 407b6ccf6a perf: PayPal: 优化 显示 2 years ago
candice 49d3d160f3 下线cookie相关内容,新增google广告代码 2 years ago
candice e8d3d61187 下线cookie相关内容 2 years ago
candice 8e5176b037 下线cookie相关内容 2 years ago
Lei OT 9ef932c148 perf: PayPal: 已完成的pending 2 years ago
YCC 64b4dae2e3 Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
YCC aefdcaba02 允许ch和gh的广告重复出现 2 years ago
Jimmy Liow ade5a9d80a 更新客人信息表单机票信息 2 years ago
LMR b77654226d fix 2 years ago
LMR 39e8ef7fad fix 2 years ago
LMR b0089add28 fix 2 years ago
LMR 9b81410398 Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
LMR 9d024e8436 add gh cache cfg 2 years ago
Lei OT 9b63ffbdca fix: 支付宝线下扫码的记录查询 2 years ago
LMR 7aa376e4ab Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
LMR 2b26461811 add gh_vac cache 2 years ago
赵鹏 5a68e26218 /forms/customize.html修改 2 years ago
赵鹏 00c95a53f9 Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
赵鹏 38e1ffbb30 fix 2 years ago
Jimmy Liow 6c850b26bf 好评测试去除详细内容 2 years ago
Jimmy Liow 4712eadd7c 增加测试最新好评数据 2 years ago
赵鹏 66ece67c57 fix 2 years ago
赵鹏 47611d2d89 fix 2 years ago
赵鹏 df82ff0abc Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
赵鹏 9429cf4a27 CT新的预订表单。 2 years ago
candice f57386990c 11 2 years ago
candice 63d6a0a2c5 Merge branch 'master' of github.com:hainatravel/information-system into master 2 years ago
candice 95dac34c4d 人数选择细节修改 2 years ago
Lei OT 31a414ac52 PayPal记录: 默认不显示webhooks的 2 years ago
Jimmy Liow 3b266c537d 更新价格代码测试 2 years ago
candice 2b4bab2f33 11 2 years ago
candice 5ca832448a 11 2 years ago
candice 06ccc62ec6 人数选择细节修改 2 years ago
candice bf72bd6f2f 11 2 years ago
candice fdfad34b1e 11 2 years ago
candice 8fff23a748 人数选择细节修改 2 years ago
candice d8b96f5780 11 2 years ago
candice 05c6e555e1 11 2 years ago
candice 3edb6fc7cf 11 2 years ago
candice 6a722fd2c2 Merge branch 'master' of github.com:hainatravel/information-system into master 2 years ago
candice 835bedd96a 文中线路推荐缩减为4个 2 years ago
赵鹏 4b3556602d Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
赵鹏 6a3ae2369d fix 2 years ago
candice 74e43f5d97 11 2 years ago
candice 93d64398e7 Merge branch 'master' of github.com:hainatravel/information-system into master 2 years ago
candice 2ba4e41e54 11 2 years ago
candice 0f2ade8c1b Merge branch 'master' of github.com:hainatravel/information-system into master 2 years ago
candice 9ed8b8faae 11 2 years ago
赵鹏 3ea0a71714 Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
赵鹏 d3f389e625 精华线路价格默认读取4星价 2 years ago
Lei OT 58b90e4e01 Merge remote-tracking branch 'origin/master' 2 years ago
Lei OT 268bf30cc6 Merge remote-tracking branch 'origin/master' 2 years ago
Lei OT 13983fbc67 perf: 网站支付额退款 2 years ago
Jimmy Liow 2cb5f82ddc GH 表单成人累加规则变更 2 years ago
candice 85fb3c9d8c 11 2 years ago
candice 643a977af5 11 2 years ago
candice c029ec33ed Merge branch 'master' of github.com:hainatravel/information-system into master 2 years ago
candice 577b8cc578 人数选择修改 2 years ago
Jimmy Liow 47a4763cac Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
Jimmy Liow 445b25721c CH 表单成人累加规则变更 2 years ago
Lei OT 9ed733241e perf: 微信收款记录: 显示来源的APPID 的应用 2 years ago
Lei OT c372f56664 Merge remote-tracking branch 'origin/master' 2 years ago
Lei OT 53d30cc9fd perf: 微信收款记录: 显示来源的APPID 的应用 2 years ago
candice 857ac518ac 人数选择修改 2 years ago
Jimmy Liow 829cf99066 更新儿童人数选择 2 years ago
Jimmy Liow 8e48d62ffc AH 表单人数、天数改版 2 years ago
candice 9c60959461 人数选择修改 2 years ago
Jimmy Liow 1fce62f3be 站外好评只显示审核通过 2 years ago
Jimmy Liow a33d58eb25 Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
Jimmy Liow e52bfb9208 测试站外好评只显示审核通过 2 years ago
candice 2ff1d7298d 头部导航修改 2 years ago
LMR 428f30e17d fix is_series_site 2 years ago
LMR 2217500854 add gh site 2 years ago
Lei OT eb41f05e99 Merge remote-tracking branch 'origin/master' 2 years ago
Lei OT 70083f1de5 perf: PayPal多账户: +Trippest 显示收款的账户 2 years ago
candice 010a598fb9 11 2 years ago
Lei OT 0d8971f8ed Merge remote-tracking branch 'origin/master' 2 years ago
Lei OT c589ada3d1 perf: 支付宝多账户: +Trippest 下载对账单 2 years ago
Jimmy Liow 2ea1785d18 AH CH GH PC端导航自动隐藏 2 years ago
candice 2abb1b26dd 11 2 years ago
candice 53093ce817 11 2 years ago
candice a408bd84e0 11 2 years ago
Lei OT c324da7281 perf: 支付宝多账户: +Trippest 2 years ago
YCC 7a2a073306 ch和gh的广告不检测重复 2 years ago
candice 00de574fbf AH页面右侧模板展示10条反馈 2 years ago
candice 0e19c53664 11 2 years ago
candice 55c225b899 更新2024票种信息 2 years ago
candice 6a17476a7a 11 2 years ago
candice 97a5a93410 11 2 years ago
candice 1bc40ae8ef 更新2024票种信息 2 years ago
Jimmy Liow 07471ce439 Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
Jimmy Liow 08aa0a6cfa 解决广告没有设置链接时页面出错 2 years ago
candice 9f7f1652e2 11 2 years ago
candice 8588acfbb2 11 2 years ago
candice c70217071b 韩国链接修改为 /south-korea 2 years ago
Jimmy Liow 2cf63bab82 广告管理可以应用产品价格代码 2 years ago
Lei OT 3720c0c2cf fix: 微信收款记录字段 2 years ago
Lei OT 8fd2ffd1ed perf: PayPal: 网站直接的收款记录处理, 使用临时表的订单号 2 years ago
candice 72cec5586a 28号V S票售罄 2 years ago
Jimmy Liow 5151fedb39 AH水灯节表单添加票种必选判断 2 years ago
赵鹏 4ec557afcc Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
赵鹏 366f05580b 按人计算的支付规则 2 years ago
candice 71f9e1a942 28号P票售罄 2 years ago
Jimmy Liow cd61f8662b Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
Jimmy Liow 91329d4a0e 全文搜索增加图片链接 2 years ago
candice a4fa5b99d1 11 2 years ago
candice ad633cc7d7 Merge branch 'master' of github.com:hainatravel/information-system into master 2 years ago
candice daa91e6334 11 2 years ago
赵鹏 09d418d838 fix 2 years ago
赵鹏 6cb671ee0d Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
赵鹏 a044f3de3a 计算总额单独出来,有些分销商的计算非常复杂 2 years ago
candice 0293092eca 文中广告添加ID值 2 years ago
赵鹏 3d25adf592 CT分销商系统的接口文件 2 years ago
candice 83f8351ffe 头部导航日本下链接修改 2 years ago
Jimmy Liow 00a4029054 调整按钮样式使用小屏幕 2 years ago
Jimmy Liow 55e48c2340 修改关键词位置 2 years ago
Jimmy Liow 71fe63bf4a 增加 SQL like 转义处理 2 years ago
Jimmy Liow 5194a9152c 增加转义防止 SQL 出错 2 years ago
Jimmy Liow addfb51185 增加保留查询条件 2 years ago
Jimmy Liow 47c762d26a Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
Jimmy Liow 1a40cb100d 广告增加按类别搜索 2 years ago
candice 6bdc0040c2 11 2 years ago
Jimmy Liow 622ca4878e 代码改为标签 2 years ago
Jimmy Liow 9968607033 更新水灯节售票规则 2 years ago
candice 5e1e2c790b 11 2 years ago
candice 72a6bd7ea6 27号票余量更新 2 years ago
candice 78dd8837aa 添加不跟踪代码rel="nofollow" 2 years ago
candice 8a3692f731 11 2 years ago
candice e63888a938 Merge branch 'master' of github.com:hainatravel/information-system into master 2 years ago
candice 77aa8962dc 隐藏27号,28号票余量修改 2 years ago
Jimmy Liow 08815eb19d CH 标签表单增加邮箱提示 2 years ago
Jimmy Liow a98879207b CH Newsletter 表单增加邮箱提示 2 years ago
Jimmy Liow 3c88d6eb6a AH 表单标签增加邮箱自动提示 2 years ago
Jimmy Liow d1cb354a61 修改收款通知邮件称呼 2 years ago
Jimmy Liow fea7d60c5b 增加注释 2 years ago
Jimmy Liow eecb2a00e4 信息平台的广告管理新增查询功能 2 years ago
Jimmy Liow 6df816833b 增加关键词搜索 SQL 2 years ago
Jimmy Liow f75d6eb20b 增加搜索广告界面 2 years ago
candice 50c815c6a4 隐藏27号VIP票 2 years ago
Jimmy Liow c672a99566 删除原来多媒体中心入口 2 years ago
candice 52fb360a0a head里新增hotjar跟踪JS 2 years ago
candice 69b955b5f3 删除图片尺寸代码 2 years ago
Jimmy Liow a3b43eb9e5 修改 JS 加载位置 2 years ago
Jimmy Liow 2bf54c2485 AH Newsletter 增加邮箱提示 2 years ago
Lei OT d75483b0ac perf: PayPal记录按状态列表 2 years ago
candice b3e1eb2f44 11 2 years ago
candice b13862fdb5 删除广告标题DIV 2 years ago
candice 67a424f9af 11 2 years ago
candice 1af40a150c 文字修改 2 years ago
candice 0b8e302e88 底部模板链接错误修改 2 years ago
candice 0070c869d5 11 2 years ago
candice fe3cb52cd5 取消酒店选项内容 2 years ago
candice c0bcca2a9d 11 2 years ago
candice e69666f5d4 11 2 years ago
candice bf0328a78b 11 2 years ago
candice 3a30813ebe Merge branch 'master' of github.com:hainatravel/information-system into master 2 years ago
candice 319bde188c 11 2 years ago
Jimmy Liow 2924146a95 页面向下滑动时不展示头部导航,向上滑动时出现头部导航 2 years ago
candice fb50e1206f 11 2 years ago
candice 3923affebf 11 2 years ago
candice c4222b5443 表单恢复取消酒店选择 2 years ago
YCC 0eb80276ea bug fix 2 years ago
YCC b68c55f432 fix bug 2 years ago
YCC bd425ee8da AH页面的广告推荐取消重复检测 2 years ago
赵鹏 d27afa52da Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
赵鹏 c0f3f59f6b 修改港澳通行证为回乡证 2 years ago
candice 8e805a4fab 添加酒店选项 2 years ago
candice 266275fbac 11 2 years ago
candice 3f7ba3b016 11 2 years ago
candice 1457c40ad5 添加酒店选项 2 years ago
candice 34ff39b3f4 11 2 years ago
candice 0b539e9c41 11 2 years ago
candice 45ede22fa6 11 2 years ago
candice 84fefcb252 11 2 years ago
candice 2396ff592c 11 2 years ago
Jimmy Liow 4054fb4216 信息表单增加 P-H 选项 2 years ago
Jimmy Liow 626a86561a 增加 P-H 票选项 2 years ago
candice d077fd56df 11 2 years ago
candice 9893decc3b 11 2 years ago
candice ec2dcdab76 11 2 years ago
candice e3013464f5 11 2 years ago
candice 0b9fefc73c 11 2 years ago
candice cf09f97f97 11 2 years ago
Jimmy Liow 689649dfe0 27号V票下架 2 years ago
candice 82f4ee373d 11 2 years ago
candice cb7ae5f523 表单精简 2 years ago
candice a848acb5e0 11 2 years ago
candice 3da241ab45 表单精简 2 years ago
candice 5a46406032 11 2 years ago
candice 9f4661f622 11 2 years ago
Jimmy Liow 8e2ef69c7a 28 号 P 票也需要选择酒店 2 years ago
Jimmy Liow f2750b8108 水灯节表单增加酒店选项 2 years ago
candice 3522ce1d1b 11 2 years ago
candice 6d6663e5db Merge branch 'master' of github.com:hainatravel/information-system into master 2 years ago
candice 7823667f8d 2023修改 2 years ago
Jimmy Liow 0db348593a GP 表单删除价格计算 2 years ago
candice 16159eecf5 2023修改为2024 2 years ago
candice ddc28616a2 2023改为2024 2 years ago
candice ac86594728 票种余量更新 2 years ago
candice b7deb841c9 11 2 years ago
candice cb84e8b8a6 表单简化 2 years ago
candice 2c272539f3 11 2 years ago
Jimmy Liow 0dda4e4199 修复邮件地址 ID 错误 2 years ago
candice 7f313d61dd 11 2 years ago
candice 7bae268938 Merge branch 'master' of github.com:hainatravel/information-system into master 2 years ago
candice f58342d934 去掉table,改为PC端展示6条,移动端展示3条 2 years ago
Jimmy Liow f198ed7ef5 Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
Jimmy Liow c891b5fd3e GH Newsletter 增加邮箱提示 2 years ago
candice 1075853c49 11 2 years ago
candice b9df74e934 Merge branch 'master' of github.com:hainatravel/information-system into master 2 years ago
candice 3206372535 移动端展示3条,隐藏后3条 2 years ago
Jimmy Liow d33e12672e 增加邮箱地址提示 2 years ago
candice 6f34199907 去掉table,改为展示6个 2 years ago
candice f899b5ee32 票种说明文字修改 2 years ago
candice 845ee22e7c 11 2 years ago
candice 5279b792b1 修改票种说明文字 2 years ago
candice 0ff2b9ad48 11 2 years ago
candice 96dcb3cece 11 2 years ago
candice 89a192d6c5 Merge branch 'master' of github.com:hainatravel/information-system into master 2 years ago
candice 13f2b3ff0e 添加酒店星级选择 2 years ago
Jimmy Liow 1f48d91aee 水灯节27号的s和p票都隐藏起来 2 years ago
candice 3e4fc5305b 11 2 years ago
candice b66c7bf2cd 头部导航修改 2 years ago
candice 335c4faba4 11 2 years ago
candice 53c1c04cbe 11 2 years ago
candice 8bc6a9837a 11 2 years ago
candice ebb4ce3fb3 移动端头部导航位置修改 2 years ago
赵鹏 3deee3a0ff Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
赵鹏 6eff706253 火车票出票系统(third_party/trainsystem/)增加登陆验证。 2 years ago
Jimmy Liow c7b1cd9026 Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
Jimmy Liow c8e7871744 水灯节 GP 取消在线支付 2 years ago
赵鹏 9d2b4b1fea Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
赵鹏 9661b23051 fix 2 years ago
candice 36416ca065 删除在线支付引导语 2 years ago
Jimmy Liow f1da41d6e3 GP线路表单撤下在线支付 2 years ago
LMR 9f3021160a fix 2 years ago
LMR d839f712a1 fix usr 2 years ago
Jimmy Liow ec46db2e5b AH移动端头部导航增加浮动和固定切换 2 years ago
赵鹏 5eff49d459 Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
赵鹏 7a897eeaec 根据一哥要求替换GA4代码 2 years ago
candice 6c270919b1 余票量更新 2 years ago
LMR 398a1569b9 fix 2 years ago
candice 347497c6b4 引导文字修改 Your 1:1 travel consultant will reply within 1 working day. Over 50% of our clients complete their bookings within 10 days of submitting their inquiry. 2 years ago
candice f6ee0f3560 文字修改 Your 1:1 travel consultant will reply within 1 working day. Over 50% of our clients complete their bookings within 10 days of submitting their inquiry. 2 years ago
candice b806f81726 余票量更新 2 years ago
Jimmy Liow 8e2d870c96 移动端和桌面端统一使用移动图片 2 years ago
Jimmy Liow 2ea74ec96b AH 统一底部推荐桌面移动端模板 2 years ago
candice 0e3a57fafd 头部导航内容调整 2 years ago
Jimmy Liow 08cead7c3e 水灯节信息也表单增加余票显示 2 years ago
Jimmy Liow 2214d9ab1b 增加默认余票设置 2 years ago
Jimmy Liow 5a8ea8a0ac 水灯节门表单添加余票数量展示 2 years ago
Jimmy Liow f79343b7af 更新为网前正式地址 2 years ago
Jimmy Liow f5ec595a4d 多媒体图片上线测试 2 years ago
赵鹏 0d4502d4c9 TP产品增加张家界类型 2 years ago
Jimmy Liow 4a5587c860 解决 GH 反馈列表没有全宽 2 years ago
赵鹏 fdfb3dde11 fix 2 years ago
赵鹏 7c85d42fb4 Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
赵鹏 3178eda162 CT表单优化 2 years ago
candice 34cf4060c5 11 2 years ago
candice 881fd58c03 11 2 years ago
candice eea1583267 11 2 years ago
candice a2a16ac20b 11 2 years ago
candice 0968e032f5 11 2 years ago
candice ae701fdca8 Merge branch 'master' of github.com:hainatravel/information-system into master 2 years ago
candice c537d89d7f 11 2 years ago
Jimmy Liow 599f6167e0 调整测试链接位置 2 years ago
Jimmy Liow 43ea523022 解决获取站点代码错误 2 years ago
Jimmy Liow 96b0308c9d Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
Jimmy Liow d55316276b 增加多媒体图片测试链接 2 years ago
candice 199c753df9 11 2 years ago
candice e322cf78f0 11 2 years ago
Jimmy Liow 43684ebf03 增加用户 HT SN 2 years ago
candice 53de43660b 11 2 years ago
candice 0d842f7a34 11 2 years ago
candice 277ed075b4 11 2 years ago
candice 83ab7e61ca 11 2 years ago
candice 7daace9fc5 标题文字加链接 2 years ago
candice 3db9c61fa8 修改 <p style="text-align: center;margin-top: 80px;margin-bottom: 0;">China Highlights, Asia Highlights, and Global Highlights collaborate to provide families and couples with personalized and stress-free experiences in diverse destinations.</p> 2 years ago
candice 86f5b85230 <h3 style="
text-align: center;
    margin-top: 80px;
">China Highlights, Asia Highlights, and Global Highlights collaborate to provide families and couples with personalized and stress-free experiences in diverse destinations.</h3>
2 years ago
candice 3f72058fb2 11 2 years ago
candice fd47e69c6c 标题修改 <h3 style="
text-align: center;
    margin-bottom: 0;
    margin-top: 80px;
">China Highlights, Asia Highlights, and Global Highlights collaborate to provide families and couples with personalized and stress-free experiences in diverse destinations.</h3>
2 years ago
赵鹏 17a0d23704 Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
赵鹏 e0b97aaaab 上海站模板fix 2 years ago
candice 8ee27034fa id值修改 2 years ago
candice 364cd63038 去掉table代码 2 years ago
Jimmy Liow c3f001bde2 AH 推荐信息增加移动端和 PC 头部大图 2 years ago
candice 57a876cd4c 11 2 years ago
candice a899971024 11 2 years ago
candice d14a1f2c87 Merge branch 'master' of github.com:hainatravel/information-system into master 2 years ago
candice be9e9125db 删除H2 2 years ago
LMR f97251ecbe res -> cdn 替换二级域名 2 years ago
LMR a73e47ae72 fix 2 years ago
Jimmy Liow 20f1852ee1 AH GP 表单增加 Booking Yi Peng Festival Mini-Group Tour 2 years ago
Jimmy Liow b6c5189336 GH 取消 checkMoreButton 2 years ago
Jimmy Liow dbfb894a2f 删除测试文件 2 years ago
Lei OT 059cc7f728 conf: action notify [prod] no cc 2 years ago
Lei OT 1c3311bef4 111 2 years ago
Jimmy Liow 9fe41319a8 测试自动部署通知 2 years ago
Lei OT dcfd277c53 conf: action notify [prod] 2 years ago
Lei OT a3d9e84efe conf: action notify [prod] 2 years ago
Lei OT b01c455a9e conf: action notify [prod] 2 years ago
Lei OT 03bc01db06 conf: action notify [test] 2 years ago
Lei OT d7841fc9c8 conf: action notify [test] 2 years ago
Lei OT 2f297e386a conf: action notify [test] 2 years ago
Lei OT 17a0610ace conf: action notify [test] 2 years ago
Lei OT 870e37cb19 conf: action notify [test] 2 years ago
Lei OT 29bb1847c9 conf: action notify [test] 2 years ago
Lei OT ebd3962903 conf: action notify [test] 2 years ago
candice 221d5acd5a 11 2 years ago
candice c019eaf053 11 2 years ago
candice 75b79c8319 增加email勾选 2 years ago
candice 74a84b4701 添加 <div class="checkYes"><label for="Email"><input class="checkBorder" id="Email" name="contact_via_email" type="checkbox" value="yes">Email</label></div> 2 years ago
candice 69b0ca53d9 添加 <div class="checkYes">
<input type="checkbox" value="yes" name="contact_via_email" id="Email" class="checkBorder">
            <label for="Email">Email</label>
        </div>
2 years ago
candice 5f1559319e 11 2 years ago
candice c50d92c9dc 添加 We require a USD 300 deposit per adult or child charged at adult rates. For single room requests or if traveling with children, please inform us. Additional costs will be added to your balance. 2 years ago
Jimmy Liow 3a998ccebb GP 表单支持在线支付 2 years ago
candice 30c23ed527 提交按钮文字修改 2 years ago
candice 9f8caa479b 11 2 years ago
candice a216f6ea45 添加说明文字<p style="display: inline-block;">Premium ticket booking for the 27th is closed. However, we've reserved tickets for those booking our Lantern Festival Tour. We highly recommend our Lantern Festival Tour to secure a premium ticket for November 27th.</p> 2 years ago
Jimmy Liow ec75371d97 关闭水灯节门票在线支付表单上的27日的P票(意思是选择27日,不展示premium票种) 2 years ago
赵鹏 e78a01a102 上海站加图片上传 2 years ago
赵鹏 5cf372fb34 fix 2 years ago
赵鹏 dbd523a3ff fix 2 years ago
赵鹏 d55dc50dda fix 2 years ago
赵鹏 dea0520574 Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
赵鹏 763181b050 新增shanghai站点(上海站移动化) 2 years ago
candice 0c25bb74e8 增加水灯节链接 2 years ago
Jimmy Liow 6e204b6a75 修复 144 72 免签时间错误 2 years ago
candice e634397dbd 11 2 years ago
candice b006896ce6 11 2 years ago
candice 688d9c4a29 Merge branch 'master' of github.com:hainatravel/information-system into master 2 years ago
candice 1ebd15ea25 11 2 years ago
Jimmy Liow ea96ef1585 /day-tours/(278008224) 节点不使用推荐信息 2 years ago
candice 4b4ddf82d7 11 2 years ago
candice 145ffaea53 Merge branch 'master' of github.com:hainatravel/information-system into master 2 years ago
candice 77dbf74d55 <div class="visible-xs" style="margin: 0 20px; display: flex !important;">
<img  class="img-responsive" height="69" src="https://data.asiahighlights.com/image/forms/ah-ta-2023-certificate.png" style="float: left; width: 150px; " width="175">
<img  height="40" src="https://data.asiahighlights.com/image/forms/ah-ch-gh-tp-rating.png" style="width: 120px; height: auto; " width="211">
</div>
2 years ago
LMR 183862809d Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
LMR 07e0f81321 打印URL 2 years ago
candice 0c44ed86b3 11 2 years ago
candice d713ac94d8 11 2 years ago
candice be7bf0e1ec 11 2 years ago
candice 08b64c0879 文字修改 Chiang Mai CAD Yi Peng Festival 2023 - Secure Your Exclusive Tickets Before They're Gone! 2 years ago
candice 09b2af2cfa 文字修改 The premium tickets and hotel bookings are filling up quickly. Secure your seats on the tour right now! 2 years ago
candice dc05cefa84 Merge branch 'master' of github.com:hainatravel/information-system into master 2 years ago
YCC 5086d62de3 分离Infoauthors表 2 years ago
YCC 167775670a 判断是否有静态文件 2 years ago
YCC 998000e4bd Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
YCC d1a4c3e2a1 取消预览,严重影响速度 2 years ago
Jimmy Liow 8ed68b675c Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
Lei OT 164bfb08d6 deploy action 2 years ago
YCC 10c6bdaac9 拆分信息平台表到另外数据库 2 years ago
YCC cd2038550d 拆分信息平台表到另外数据库 2 years ago
candice 29f7c213c8 Merge branch 'master' of github.com:hainatravel/information-system into master 2 years ago
candice 516de2516a 11 2 years ago
Jimmy Liow 1de4f2e81b Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
Jimmy Liow c9c23989c5 推荐信息从数据库 INFORMATION 读取 2 years ago
Lei OT fd0a5336cb conf: 部署 [ready] 2 years ago
Lei OT 902ad5c82a conf: 部署 [test] 2 years ago
Lei OT 6cc6cb15c9 conf: 部署 [test] 2 years ago
Lei OT 4e6915608e Merge remote-tracking branch 'origin/master' 2 years ago
Lei OT 096b31d7fd conf: 部署 [test] 2 years ago
candice 84ced9d073 11 2 years ago
candice 1bb4de0752 Merge branch 'master' of github.com:hainatravel/information-system into master 2 years ago
candice 3f0881fb34 二级导航下顺序调整 2 years ago
Lei OT 8d685f4520 conf: 部署 [test] 2 years ago
Lei OT a945b0b431 conf: 部署 [test] 2 years ago
Lei OT 5932950850 conf: 部署的忽略 2 years ago
Lei OT 63a7052047 conf: 部署的忽略 [test] 2 years ago
Lei OT 74dd7cf9ee conf: 部署的忽略 [test] 2 years ago
Lei OT 54ac54f47c conf: 忽略本地生成的hash表文件. 同步状态文件 2 years ago
Lei OT 78d7572f33 test 差异上传 2 years ago
Lei OT 35161cd171 test exclude 2 years ago
Lei OT fb045fc57e test 差异上传 2 years ago
Lei OT 7a369ef1f6 test 差异上传 2 years ago
Lei OT eef1e0659d
#3 2 years ago
Lei OT 3bd6d1a352
#2 2 years ago
Lei OT b926d86b49
#1 2 years ago
Lei OT 020f422420
111 2 years ago
Lei OT a0f6cdb76e
us2 2 years ago
Lei OT 13d048a6f5
test us 2 years ago
Lei OT 573de2a60f . 2 years ago
Lei OT 65cd5afcba
Update Deploy CN.yml 2 years ago
Lei OT 10a063b0af
Update Deploy CN.yml 2 years ago
Lei OT 955630d611
Update Deploy CN.yml 2 years ago
Lei OT 8d63e3e081
Update Deploy CN.yml 2 years ago
Lei OT a42887565b
Update Deploy CN.yml 2 years ago
Lei OT 5d389145be
Update Deploy CN.yml 2 years ago
Lei OT 738d55138e
Update Deploy CN.yml 2 years ago
Lei OT 1b4028b5e1 test: Deploy CN cht 2 years ago
candice 36588f003e 11 2 years ago
candice a7a3928ee8 添加付款说明文字 2 years ago
Jimmy Liow f46ff386ef 修改单人票价 2 years ago
Jimmy Liow 75add3a41b AH水灯节GP表单改为在线支付 2 years ago
candice 87f9b9467b 11 2 years ago
candice fe174068c2 头部图片上添加TA获奖图标
<div class="ta_tag">
            <img src="https://data.chinahighlights.com/image/forms/ch-2023-trip-advisor-excellent-certificate.png" style="width: 120px !important;height: auto;" width="208" height="236">
        </div>
2 years ago
candice 10520cac84 11 2 years ago
candice 2ace55ba61 11 2 years ago
candice 39f502c49c 头部模板添加TA2023获奖图标 https://data.chinahighlights.com/image/forms/ch-2023-trip-advisor-excellent-certificate.png 2 years ago
candice 31180155a9 样式修改 2 years ago
candice 951eb363a6 价格value值修改 2 years ago
candice b1de297575 <!--@TIPS-RIGHT-LIST@--> 添加 2 years ago
candice f2b6f08f58 11 2 years ago
candice de65eddcf8 11 2 years ago
candice 407de70a11 11 2 years ago
candice cbafc96c2e 11 2 years ago
candice 9ee98f631b 11 2 years ago
candice 98b805f8cb 11 2 years ago
candice 0450d075bc 11 2 years ago
candice 71fa9cc2df 评分图标修改 2 years ago
candice 60a112bb1f 11 2 years ago
candice f5e70c91bc 11 2 years ago
candice 924979e973 头部导航添加链接,头部tp图标更换 2 years ago
candice 6d1ec38496 票种文字修改 Premium+Transfer+Dinner, VIP+Transfer+Dinner, Standard+Transfer+Dinner 2 years ago
candice 767634db6e TP图标修改 https://data.asiahighlights.com/image/forms/ah-top-banner-tp-rating.png 2 years ago
Jimmy Liow 058b4c1a97 CH 增加右侧信息推荐 2 years ago
LMR 90507e3456 print_r aliyun log error 2 years ago
LMR ee1f458246 fix 2 years ago
candice f05c17f5bd 头部导航链接修改 2 years ago
candice be9e39c21d 添加右侧信息推荐标签 <!--@TIPS-RIGHT-LIST@--> 2 years ago
Jimmy Liow 56a95c5cf7 GH 新增标签 <!--@TIPS-RIGHT-LIST@--> 2 years ago
赵鹏 e0e19ae926 Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
赵鹏 d32bd36990 港澳通行证加一个判断 2 years ago
candice c5cb80df2e 删除addthis插件标签 2 years ago
candice 43c447b7b2 11 2 years ago
candice 7d2464e38d 11 2 years ago
candice 17563a0088 底部推荐位置调整 2 years ago
candice 1d67159776 11 2 years ago
candice 71ca0c631a 取消轮换JS 2 years ago
LMR 814e6f9f24 fix 2 years ago
LMR 1a0a480732 fx 2 years ago
LMR 538bb88706 Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
LMR 56367f893a fix 2 years ago
candice 21aa054a86 11 2 years ago
candice b7ec440b6a 11 2 years ago
candice b8778f3eab 11 2 years ago
candice 5db333e3d3 11 2 years ago
candice 630a958f32 头部导航destinations下链接内容修改 2 years ago
赵鹏 68d82da7b9 Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
赵鹏 06930a847f 景点排序 2 years ago
Jimmy Liow 6c2b1c6f67 CH火车板块样式修改 2 years ago
Jimmy Liow 0c890e0f7f 电脑使用自动分配 IP,取消外网 IP 限制。 2 years ago
candice b4def9e7ec 11 2 years ago
赵鹏 24bb87bc27 fix 2 years ago
赵鹏 e6eae04a7b Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
赵鹏 a077bca9d4 火车票详细页设置默认的出发到达城市。 2 years ago
candice a3a028772e 11 2 years ago
candice 09c3b8cc87 111 2 years ago
candice 9677ebc012 11 2 years ago
candice a9e84f4bad 11 2 years ago
candice 9489d2453d 11 2 years ago
Jimmy Liow 5a3da1c94b GH TOUR 表单改版 2 years ago
candice e0039563b4 11 2 years ago
candice d6bc081400 11 2 years ago
candice 87e12c8193 11 2 years ago
candice 2766389cfb 底部模板增加reviews链接 2 years ago
candice a478a10acc 11 2 years ago
candice 2e777764fa 头部导航增加链接 href="/middle-east/tours" 2 years ago
candice 50c4a550a8 11 2 years ago
candice c2dc961868 新增反馈集合页标签 2 years ago
candice f9c40e747e 头部导航添加reviews 2 years ago
Jimmy Liow 6816ea2618 Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
Jimmy Liow f69bd6b2ff CH、GH 增加城市集合页反馈标签 2 years ago
candice cb96cc231f 11 2 years ago
candice 018ceef542 11 2 years ago
candice 890b15f7ba 11 2 years ago
candice 674dc67cdd 新增GH反馈页面标签 2 years ago
candice 56ac332d04 11 2 years ago
赵鹏 4b0ceaa7a4 Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
candice aa7ac58def 11 2 years ago
candice 8d69336ee5 底部增加亚洲目的地链接 2 years ago
赵鹏 90fb0f44a9 Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
赵鹏 a9384339d9 火车退票成功无论是否返回退票费都需要加上一条退票手续费的记录,无价格默认记录15 2 years ago
candice 303837d7f6 底部添加 /travel-agents.htm 2 years ago
candice 8390be89e7 底部模板添加 Travel Agents 链接 2 years ago
candice 1a3694f309 11 2 years ago
candice 7f9622b6ce 底部增加 <li><a href="/travel-agents">Travel Agents</a></li> 2 years ago
candice 78e9d1ead5 头部导航内容修改 2 years ago
candice 86c0f584f3 11 2 years ago
candice 69b3e206ad 头部导航内容修改 2 years ago
candice c44dbd6a76 11 2 years ago
candice b1223381c9 11 2 years ago
LMR 416bdfa0c8 fixdd 2 years ago
Jimmy Liow ec13581dfa GH 增加线路代号参数 2 years ago
candice c3ea36e5ab 线路和信息推荐位置互换 2 years ago
candice 1e07e2a36c 底部模板增加newsletter表单和相应JS 2 years ago
candice 28db1ea44c 11 2 years ago
candice dfcb0ec3b9 11 2 years ago
candice 82e7a5cfd7 底部模板添加newsletter表单和相应JS 2 years ago
candice 59f5b91a71 11 2 years ago
candice 9ba1e190ca 11 2 years ago
candice db86dad302 底部模板添加newsletter表单和相应JS 2 years ago
candice bedd2e67c3 h2标题修改 Get Inspired with Some Popular Itineraries 2 years ago
candice 8f80650c74 11 2 years ago
Jimmy Liow e3fbd3c2d6 兼容多表单在相同页面 2 years ago
candice 6ba46c7f44 JSk 2 years ago
candice f49d8be7a3 底部表单JS删除 2 years ago
candice 19df51c37f 11 2 years ago
candice 32e813edc7 底部模板添加newsletter表单 2 years ago
candice 2e8f7979cc 头部导航链接修改 /southeast-asia/tours/essential-thailand-cambodia-and-vietnam 2 years ago
candice f2f52d19b8 11 2 years ago
candice ffcb263a0d 11 2 years ago
candice 75393997d1 11 2 years ago
candice 199de5875c 11 2 years ago
candice 9dd4247c01 头部导航和底部模板增加reviews链接 2 years ago
candice f2254f97f6 GA4 ID值修改 2 years ago
candice ebb01899af 隐藏印度反馈 2 years ago
candice 07c92122d6 加h2标题 2 years ago
Jimmy Liow 4b34d290dc 修复城市名有空格情况 2 years ago
Jimmy Liow b9ecb46947 测试反馈列表标签 2 years ago
candice 060a8cbbcd 11 2 years ago
candice e648f56ae3 Merge branch 'master' of github.com:hainatravel/information-system into master 2 years ago
candice 34fc2d8c86 增加跳转锚点 2 years ago
赵鹏 50a7599e34 Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
赵鹏 181de7f274 CT浮动图标优化 2 years ago
candice 5a79a923ed 内容修改 2 years ago
Jimmy Liow c56e08716f 上线集合页面反馈列表 2 years ago
赵鹏 3de38cda6b Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
赵鹏 84e2f9aa9e CT模板导航优化 2 years ago
candice bf6cca868a 11 2 years ago
candice 6a47ba80f1 Merge branch 'master' of github.com:hainatravel/information-system into master 2 years ago
candice 5a217e4fd5 11 2 years ago
Jimmy Liow 6264b2a399 解决增加动态解析反馈标签 2 years ago
candice cceca141c9 11 2 years ago
candice 1468076ae3 11 2 years ago
candice ec13bd90e3 11 2 years ago
candice bef9d710d3 11 2 years ago
candice 0af266e931 头部导航内容优化 2 years ago
赵鹏 bba7c87e0e Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
赵鹏 b097349b09 CT导航优化 2 years ago
Jimmy Liow c58564bfa6 增加非空判断,适应城市增删 2 years ago
Jimmy Liow 73b172c4e9 增加不存在城市测试 2 years ago
Jimmy Liow bdedf0c444 新增城市反馈列表模板 2 years ago
Jimmy Liow 861fda8b78 输出 JSON 格式方便调试 2 years ago
Jimmy Liow cb2ad98a44 修复正则数据错误 2 years ago
Jimmy Liow feeb5e7515 测试同时获取多个城市反馈数据 2 years ago
Jimmy Liow 172302ef65 测试城市反馈数据指定数量 2 years ago
Jimmy Liow 99a4b2c9d9 目的地反馈标签拆分成三个 2 years ago
Jimmy Liow e12d0b1685 更新通用模板路径 2 years ago
Jimmy Liow 0be9ce25d2 解决模板路径问题 2 years ago
Jimmy Liow 962165460b 增加标签模板测试 2 years ago
Jimmy Liow 7e8c3c0f6e 测试读取泰国30条反馈内容 2 years ago
candice 63f442452a 11 2 years ago
candice d959bb9051 11 2 years ago
candice 402eee693b 11 2 years ago
candice 9ec0fc879e Merge branch 'master' of github.com:hainatravel/information-system into master 2 years ago
candice bb539a512b 11 2 years ago
candice 5abe7a6bbb 11 2 years ago
赵鹏 46560ef34d Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
candice 95689f08e8 11 2 years ago
赵鹏 edf6ebe55c CT网站新增子导航What is Tailor-Made Tour? 2 years ago
candice 8381720084 11 2 years ago
赵鹏 3e09ff7e2f fix 2 years ago
赵鹏 9c63d62fb6 去掉addthis改为互动图标。 2 years ago
赵鹏 38a6bf0721 Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
赵鹏 6e97777f8c 预订人数解除原来5人的上限,改为10人。 2 years ago
candice 707dbf6bdf 移动端头部导航修改 2 years ago
candice d3614da4a2 11 2 years ago
candice ea214ef517 11 2 years ago
candice 2ca6240dc5 11 2 years ago
candice 75485088ce 11 2 years ago
candice 02e490c5ac 11 2 years ago
candice 5e1c8c1782 添加跟踪代码 2 years ago
candice ab91bdd5aa 增加跟踪ID值 2 years ago
candice 945ff8e72a 11 2 years ago
Jimmy Liow 1c8fcdb727 正式更新右侧列表推荐分类 2 years ago
Jimmy Liow a5f85155c1 更新推荐类别名称 2 years ago
Jimmy Liow c15317f181 根据类别调试推荐信息 2 years ago
Jimmy Liow e33eb2bc94 调试推荐信息类别 2 years ago
YCC d139cec52e 显示分组名称 2 years ago
YCC ac7c2375d3 广告分组 2 years ago
candice 89ecc32523 底部目的地404错误修改 2 years ago
Jimmy Liow bb603ed36e 格式化推荐调试信息 2 years ago
Jimmy Liow cebc4de0d2 更新测试推荐信息 2 years ago
Jimmy Liow 3ceeeefeaa 排除不显示推荐 2 years ago
Jimmy Liow 7799241196 测试不显示推荐信息判断 2 years ago
Jimmy Liow 3ae6cdcc07 调试推荐信息 2 years ago
Jimmy Liow 29bb030ff0 增加调试推荐值 2 years ago
candice 61c4650c07 11 2 years ago
candice dc0a2b1f05 标题顺序调整 2 years ago
Jimmy Liow 5bc6baeebf 右侧广告为则不显示 2 years ago
Jimmy Liow 188103ad52 增加关闭右侧广告判断 2 years ago
Jimmy Liow fb323556f5 增加没有推荐广告时不加载标签 2 years ago
Jimmy Liow e8c66314b1 更新标签名字 2 years ago
Jimmy Liow 9f9aba02f5 上线 AH 右侧推荐广告列表 2 years ago
candice 42b026d0ee 航班时间样式修改 2 years ago
candice 248675b156 航班时间样式修改 2 years ago
candice b249a3fc3d 头部导航内容更新 2 years ago
candice 7cd965fc64 底部模板增加GH链接 2 years ago
candice 018741bbf5 11 2 years ago
candice 44b504ae01 11 2 years ago
candice 7bd8c057ce Merge branch 'master' of github.com:hainatravel/information-system into master 2 years ago
Jimmy Liow b4a346c5d1 修复读取数据出错 2 years ago
candice 378fa4364a 底部模板加GH链接 2 years ago
Jimmy Liow 98e72fb483 解决视图路径错误 2 years ago
Jimmy Liow 5d1d5908cf 测试右侧推荐广告模板 2 years ago
candice 32a20ef415 11 2 years ago
candice a0106af21b 头部导航contact us按钮和左下角TM按钮互换 2 years ago
Jimmy Liow 683f5c12a2 Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
Jimmy Liow 35b0a20423 按12个每组划分推荐广告 2 years ago
LMR 979746bde0 Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
LMR 58604e364a add gm hw meta 2 years ago
赵鹏 9ae755fdb4 fix 2 years ago
赵鹏 efdc11571f fix 2 years ago
赵鹏 6c9e947e50 火车票出票用自己的数据库链接。 2 years ago
赵鹏 b010d153f2 Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
赵鹏 4286bc825c 火车票出票测试新链接。 2 years ago
Jimmy Liow 54cff40d72 修复 for 循环出错 2 years ago
Jimmy Liow fc51e319d4 Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
Jimmy Liow f50b4455e4 增加 List Tips Right 测试 2 years ago
赵鹏 2d27e8d09f Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
赵鹏 9717b93c9e 去掉验证,外网测试 2 years ago
Jimmy Liow b9f9a7eace 推荐广告增加 is_id 2 years ago
Jimmy Liow 66363004e1 增加推荐广告测试 2 years ago
YCC 2c695b0854 36个广告位 2 years ago
YCC afc8381026 fix 2 years ago
YCC 19d6699a92 显示广告ID 2 years ago
YCC 7bedcb7a32 语法错误修复 2 years ago
YCC b1aadba300 更新广告位 2 years ago
LMR 47b6a74018 add meta_haiwai v2 2 years ago
LMR 49f8eb3870 add InfoMetas_model 2 years ago
candice be6f6d615e CH文中信息广告代码 隐藏 2 years ago
Jimmy Liow f2c56e82dd AH 日期和时间分开 2 years ago
赵鹏 747af07800 退款加长订单号的判断,报账多张退票的记录可以保存。 2 years ago
赵鹏 3157eac110 Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
赵鹏 2ca1e6bcfb get_ht_user_list改为使用各自的信息表读取数据,因为infoaccessmanage表在各自的信息库中。 2 years ago
candice 9605b41f98 11 2 years ago
candice a2141ae5e1 11 2 years ago
Jimmy Liow fb35c0b31b 增加模糊日期选择 JS 2 years ago
candice 63dbc33203 增加人数选择和日期模糊选择 2 years ago
candice acb6a67b53 11 2 years ago
candice 06f1154c7b 11 2 years ago
Jimmy Liow 955bcf99bf 解决日期清空错误 2 years ago
Jimmy Liow c6305a3b4c 解决手机号码验证错误 2 years ago
Jimmy Liow ee2ed42b04 修改提交按钮 ID 错误 2 years ago
Jimmy Liow 80c1668097 修复日期选择 JS 错误 2 years ago
candice 67daf81ae9 11 2 years ago
candice fb578957ca 11 2 years ago
candice 228468f4f8 11 2 years ago
candice 754852765c 11 2 years ago
candice 870c41a330 11 2 years ago
candice 8bbb0d23f7 增加出发日期选择 2 years ago
candice 463cd6913e 增加折叠 2 years ago
candice e98c755bd3 11 2 years ago
candice a7f147b99f 样式修改 2 years ago
candice ef6d17ae5d 添加活动范围和离境城市说明文字 2 years ago
Jimmy Liow ccac48d05e 更新CH、AH 日期选择 2 years ago
Jimmy Liow 2f34994790 Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
Jimmy Liow fcf768caac 处理datetime-local格式 2 years ago
LMR bdabd9c86d fix empty 2 years ago
LMR e996f34ac9 fix 2 years ago
Jimmy Liow e473e2b02b 处理datetime-local样式 2 years ago
Jimmy Liow 19deb374dc Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
Jimmy Liow 2733831f44 修改性别选择;去掉日期插件 2 years ago
candice 3dd37aa5b2 11 2 years ago
candice 2b54cee6ef 增加表单折叠 2 years ago
candice 379e7d4cac 可用国籍修改 2 years ago
Jimmy Liow 458b674921 更新日期类型错误 2 years ago
Jimmy Liow e87e575c6e Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
Jimmy Liow d32b53b28f 更新日期验证出错 2 years ago
赵鹏 1793d4a82e Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
赵鹏 3f2018cb60 fix 2 years ago
candice 024f1c9d1d 11 2 years ago
Jimmy Liow 559fe20d5e 修复表单验证出错 2 years ago
candice b3cb079ffb 11 2 years ago
candice e743daaff0 11 2 years ago
candice 908f03dfd5 11 2 years ago
candice 8507619bf5 11 2 years ago
candice 0052c1266d Merge branch 'master' of github.com:hainatravel/information-system into master 2 years ago
candice e3e17f3379 11 2 years ago
赵鹏 c860d496f7 Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
赵鹏 e5b4fa84f9 优化退款及回调记录保存 2 years ago
candice efae1a13b3 11 2 years ago
candice 43b3b0ad16 11 2 years ago
candice 4a4f9a1b0e 11 2 years ago
candice ee6dd973bc 11 2 years ago
candice ef61aa659b 11 2 years ago
candice def85f2099 11 2 years ago
candice 5a4a4d1494 11 2 years ago
candice 27e09e327e 人数样式调整 2 years ago
candice b390a7b313 添加客群类别选择和出发日期模糊选择 2 years ago
candice 4eea6f4de0 头部导航内容优化 2 years ago
candice 2f7a752ee1 头部导航内容优化 2 years ago
赵鹏 69e167bba2 转正式库 2 years ago
candice 8db7d9ea7c 内容还原 2 years ago
candice db1616c435 11 2 years ago
candice 0c1dbaad15 11 2 years ago
candice 846bbc14a7 内容还原 2 years ago
candice 3c7e01405c 头部二级导航文字调整 2 years ago
Jimmy Liow 3758133932 反馈标签新增客人ID去重 2 years ago
Jimmy Liow 8fef2478d9 解决价格标签出错 2 years ago
candice 239577f207 11 2 years ago
candice 475cf3c246 11 2 years ago
candice aa5acdeff7 Merge branch 'master' of github.com:hainatravel/information-system into master 2 years ago
candice ba7c4d239d 添加说明文字 You are only allowed to remain within the city limits upon entry. 2 years ago
Jimmy Liow af8ce2ee6d 测试读取客户不重复反馈 2 years ago
赵鹏 b8b8ea80f0 fix 2 years ago
赵鹏 1c14f810fa fix 2 years ago
赵鹏 ae1b25f074 Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
赵鹏 2a37754bca CT需要附加图片 2 years ago
Jimmy Liow e5c808a421 更新按钮样式,删除原来链接 2 years ago
Jimmy Liow 2d98b7b3a6 增加特殊代码模板链接 2 years ago
candice 9742f8f336 头部导航内容修改 2 years ago
LMR 83f82e3fd3 fix 2 years ago
LMR 9b27049466 Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
LMR 10df82d125 fix 2 years ago
Jimmy Liow ee2392ba5a AH 价格不用转换币种 2 years ago
Jimmy Liow 2b334ed32e 反馈数量调整为20条 2 years ago
赵鹏 04be79e002 Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
赵鹏 d605fa4470 手机端接口加一等卧,二等卧 2 years ago
Jimmy Liow c6e902cd26 上线价格标签测试 2 years ago
Jimmy Liow 79192d5628 增加多个价格测试,增加部门SN参数 2 years ago
Jimmy Liow d8100905c9 更新价格标签生成 2 years ago
Jimmy Liow 79a46fd76e 修复价格查询错误 2 years ago
Jimmy Liow ceb57adbc4 增加价格调试信息 2 years ago
Jimmy Liow 683c74cc4a 增加货币处理类库 2 years ago
Jimmy Liow 94ae3d4a72 测试 AH 价格标签 2 years ago
Jimmy Liow c266aad279 修改站点名称错误 2 years ago
Jimmy Liow 8ad3faee4f 增加价格标签功能测试 2 years ago
candice 7981fc21d3 性别value值修改 2 years ago
candice a670156864 性别选择html代码修改,样式修改 2 years ago
candice a4adac3412 11 2 years ago
candice 86bc175a69 11 2 years ago
candice c5f88941f5 11 2 years ago
candice 1ec46cf541 11 2 years ago
candice c5bd6c8263 11 2 years ago
candice df496ec5d1 头部导航内容更新 2 years ago
candice 6a4b7aaf31 11 2 years ago
candice 945657665e 11 2 years ago
candice a64db9a37c 11 2 years ago
candice 515742d0f9 按钮JS修改 2 years ago
candice a6a5c27f25 隐藏原日发日期框 2 years ago
candice 3000b5cbc5 11 2 years ago
candice c48f810199 11 2 years ago
candice d8abc8b2a0 添加日期选择样式 2 years ago
candice 41d953f4d9 增加日期选择和相应JS 2 years ago
candice 6d25e65d01 11 2 years ago
candice 7261dd0937 底部模板about us文字修改 2 years ago
赵鹏 22f8a5244e Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
赵鹏 5220408d9b 无票的容错处理:"orderTicketInfoList": null 2 years ago
candice 96bc2754da 底部模板表单隐藏 2 years ago
赵鹏 d17137f8ae Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
赵鹏 98d766456c 退票功能完成 2 years ago
candice acba252ccc TA图标增加 2 years ago
LMR 83926c229b fix 2 years ago
LMR 0fb39e30fd fix 2 years ago
LMR 03942dd4ae fix 2 years ago
LMR 5f2a99d3e6 移除打印代码,+2 2 years ago
LMR eabdcfaf40 fix ga client id 2 years ago
LMR 0a5ff48437 移除打印测试代码。 2 years ago
LMR 2dd7b11676 add v4 2 years ago
LMR 86f4bf1ca0 fix client id 2 years ago
LMR 2598455890 fix 2 years ago
LMR 4c16dac52e fix 2 years ago
LMR 11e36a8ac9 test async 2 years ago
LMR 4f5309b504 Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
LMR 3286969ab9 fix 2 years ago
LMR 6a81dc59f1 fiax 2 years ago
Jimmy Liow 46e5ac5aad VISA 规则 2 years ago
Jimmy Liow c2ce27fd6a 更新 VISA FREE 规则;增加 GH、AH 反馈标签 2 years ago
candice 53cdec28f6 增加TP图标 2 years ago
candice 577789078e 11 2 years ago
candice 4be4d437bd Merge branch 'master' of github.com:hainatravel/information-system into master 2 years ago
candice b15aecdea6 添加TP图标 2 years ago
Jimmy Liow dd13a79d68 更新标签名称 2 years ago
Jimmy Liow 9c501dc6cc 增加测试代码 2 years ago
赵鹏 f210010de3 Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
赵鹏 542e9ee80e fix 2 years ago
赵鹏 9717853aeb fix 2 years ago
Jimmy Liow caae5bcdc3 CH 增加最新客人反馈列表标签 2 years ago
赵鹏 fd5a0e1666 Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
赵鹏 2bb636a7b5 fix 2 years ago
candice e7f76b5ede 头部导航下链接修改 /southeast-asia 2 years ago
Jimmy Liow a93dc71b2d 隐藏 date tip 信息 2 years ago
candice cf8ed178cb 11 2 years ago
candice 8e70924f45 日期选择文字修改 2 years ago
candice 4f0c8bf7bd 日期选择样式修改 2 years ago
Jimmy Liow 9132de500c Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
Jimmy Liow e2c1cee480 解决隐藏flatpickr日期 2 years ago
赵鹏 654244d288 Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
赵鹏 20a92d4e24 fix 2 years ago
Jimmy Liow 4844d15f28 Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
Jimmy Liow 3703345617 隐藏不需要的日期 2 years ago
赵鹏 6c47b3b38e Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
赵鹏 93f78996b3 优化携程的一等卧和二等卧 2 years ago
Jimmy Liow 77e257f474 删除无效的日期验证 2 years ago
Jimmy Liow 420fd0e97d 修复日期未显示提示 2 years ago
Jimmy Liow 38c01eaa8a 修复判断日期错误 2 years ago
Jimmy Liow e403d8c165 修复日期错误提示 2 years ago
Jimmy Liow c977b6b6ee AH线路页面QI 添加日期选择 2 years ago
赵鹏 a040373467 Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
赵鹏 596a66df9d 自动出票1.0测试版(出票回调优化及完成取消及退款的回调) 2 years ago
candice da794f588a Departure date 引导文字修改 2 years ago
candice dc73e1f543 按钮位置恢复 2 years ago
candice e90f9ea37a 11 2 years ago
candice 9dc04a897e 11 2 years ago
candice 7845b2d92e 引导文字修改 2 years ago
LMR 6efca23ec4 rm test code 2 years ago
LMR 2167e725df add int test 2 years ago
LMR fcf6b3f743 up 1 2 years ago
LMR 1435606462 test int log 2 years ago
candice 6e6b64d965 右侧WHY US内容修改 2 years ago
candice aa5d936e73 11 2 years ago
candice 100eb5a74d 反馈总数数字修改 2 years ago
Jimmy Liow 6772656720 Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
Jimmy Liow 34f8408fa8 更新 VISA-FREE 逻辑 2 years ago
LMR 6288defd11 国际表单路径fix 2 years ago
LMR b7509b2dc1 Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
LMR 78fe1f03cc fix 2 years ago
candice a31e4f8978 11 2 years ago
candice 8a7058245a 11 2 years ago
candice 5b126e8192 底部模板增加tours列表页链接 2 years ago
candice 4eef87c9e3 11 2 years ago
candice 40a832aa25 11 2 years ago
candice c2cb4de693 底部模板增加tours列表页链接 2 years ago
candice 38931fb9b6 11 2 years ago
candice 5b2242289e 11 2 years ago
candice 2e8860a4dc 日历框样式修改 2 years ago
candice 992d4e854b 11 2 years ago
candice 7c8a1a1ebc 样式修改 2 years ago
candice db4a5c9069 11 2 years ago
赵鹏 9ad1c0a292 顺途自动出票1.0测试版。 2 years ago
赵鹏 ff67a58093 Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
赵鹏 cf7b8b5435 前台顺途接口也需要更新站点 2 years ago
candice 8a241fa7d5 11 2 years ago
candice 573b537d1a 11 2 years ago
candice ad857c3cce 11 2 years ago
candice eb283a55ff 11 2 years ago
candice 13f7fe2ecb 底部模板tours链接代码修改,取消h4,用列表 2 years ago
candice bf942bf641 底部模板tours链接代码修改,取消h4,用列表 2 years ago
candice 5c0a20952e 底部模板增加tours列表页链接 2 years ago
candice d37ecf3e72 选项文字优化 2 years ago
candice 03721a20a5 底部模板增加tours列表页链接 2 years ago
candice a79bac3a7f 11 2 years ago
candice b05690c57e 11 2 years ago
candice 7ed8e07f12 11 2 years ago
candice 3ee8d4c09e 11 2 years ago
candice b19a185b31 11 2 years ago
candice a14818a5d5 11 2 years ago
candice 790a9e838d 11 2 years ago
candice ac558970ca 11 2 years ago
candice 26e250ecca 111 2 years ago
candice 4c0c2c07f0 11 2 years ago
candice f15af9447d 11 2 years ago
candice b1792e77e6 11 2 years ago
candice 0e53f84552 11 2 years ago
candice fcf99542ba 11 2 years ago
candice ee02b8b3ea 11 2 years ago
candice f239444c3f 11 2 years ago
candice 73f15e5bc9 11 2 years ago
candice 786568fce3 11 2 years ago
candice a2d6b8aefa 底部增加各目的地tours列表页链接 2 years ago
candice e9a6642f8d 11 2 years ago
candice b1823e5d20 底部模板目的地连接背景图片修改 2 years ago
candice 0a2cd2ae1d 11 2 years ago
candice 6ccfc4c9ab 底部模板增加各目的地tours列表页链接 2 years ago
candice f7eab871b3 文字修改 2 years ago
candice 8019d61b8d 11 2 years ago
candice e0deb7c7d0 11 2 years ago
candice 5cbdcefaba 11 2 years ago
candice 9af9f8772a 11 2 years ago
candice 78cb31df13 11 2 years ago
candice 431d6b31a0 11 2 years ago
candice 6245bf378d 添加FB群组链接 2 years ago
candice 63aa66b461 11 2 years ago
candice cd1c43f34b 11 2 years ago
Jimmy Liow c03449a93c Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
Jimmy Liow c42effe673 取消护照有效期和拒签历史验证 2 years ago
unknown 8bb0b662e5 更新IP限制 2 years ago
candice 87d21872d8 11 2 years ago
candice fd4dfa0843 Merge branch 'master' of github.com:hainatravel/information-system into master 2 years ago
candice 716a554f0a 表单内容修改 2 years ago
Jimmy Liow f17376d5a6 增加日期插件 2 years ago
candice e63e7a42dc 11 2 years ago
candice 2602677054 11 2 years ago
Jimmy Liow fd179b307d GH-TOUR-FORM 修改产品代号 2 years ago
candice e487652c18 表单内容修改 2 years ago
candice ed48fb3ee6 文字修改 2 years ago
Jimmy Liow 5384cfcc7f 更新许可国家判断 2 years ago
Jimmy Liow b5b7677624 更新72/144判断逻辑 2 years ago
Jimmy Liow 3fb6b3cd0c 更新护照有效期验证 2 years ago
Jimmy Liow 5ac5c9d223 解决 JS 错误 2 years ago
Jimmy Liow cc3abe5fd5 不通过验证不能测试VISA 2 years ago
Jimmy Liow 81c59bc0b2 CH免签表单 补充修改内容 2 years ago
candice 505443107c 11 2 years ago
candice 91100dbe65 Merge branch 'master' of github.com:hainatravel/information-system into master 2 years ago
candice 5e76b9a470 11 2 years ago
LMR 72cc808263 . 2 years ago
LMR 390cb1425b fix 2 years ago
LMR c4a8721ea7 fix gm product type 2 years ago
candice fc26e3bfb9 11 2 years ago
candice 2cd9743926 样式调整 2 years ago
Jimmy Liow 5aa2fcdd3b 增加 VISA-FREE-TESTER 标签 2 years ago
Jimmy Liow d6fe119229 TOUR-FORM-TAG 迁移到产品页面 2 years ago
LMR 8489d7b9ac 配置德语产品模板 fix 3 2 years ago
LMR 00fe02ab5c Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
LMR ef0fc0e5a8 配置德语产品模板 fix 2 2 years ago
candice 1d09774275 11 2 years ago
candice ecef813568 Merge branch 'master' of github.com:hainatravel/information-system into master 2 years ago
candice 2b6e73d3b2 头部导航contact us按钮和左下角TM按钮位置互换 2 years ago
LMR f4cc390110 Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
LMR 8221806bb4 配置德语产品模板 fix 1 2 years ago
candice a6cabf415a 头部导航contact us按钮和左下角TM按钮互换位置 2 years ago
candice 4257027671 Merge branch 'master' of github.com:hainatravel/information-system into master 2 years ago
赵鹏 0a11f61b1c Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
赵鹏 09465f27d7 改用无压缩JS 2 years ago
Jimmy Liow 0c6dfbe008 完善收款订单信息 2 years ago
Jimmy Liow 3dc01ebc43 增加测试找不到订单信息使用 2 years ago
candice 54f4ba2431 11 2 years ago
candice 405a38cc4f 增加反馈数量 2 years ago
candice 2eea00fb28 11 2 years ago
candice 790b4cba1b 11 2 years ago
candice f4568e9eed 增加反馈数量 2 years ago
Jimmy Liow e68fe8181b 更新 AH 客人性别样式 2 years ago
Jimmy Liow 07eff3be14 更新 AH、GH 的客人信息表单 2 years ago
Jimmy Liow d1bc274d6c 更新性别样式 2 years ago
Jimmy Liow 3bdc8ba1db 增加客人性别 2 years ago
candice 0092870293 11 2 years ago
candice b40e6f1828 11 2 years ago
candice 0f14a3ff2f 添加反馈分数 2 years ago
candice 3baa5bf4ff 11 2 years ago
candice abf694efeb 11 2 years ago
candice 766ac098e4 11 2 years ago
candice 854fff18d6 11 2 years ago
candice d227d71819 11 2 years ago
candice cc5d9c76ed 11 2 years ago
candice 5e302f35d2 11 2 years ago
candice d0e10c585c 11 2 years ago
candice 1723a4e2d0 删除h2标题,添加logo 2 years ago
candice 66a646c527 删除h2标题,添加TA LOGO 2 years ago
candice 84148887a6 国家号修改 2 years ago
candice b5098a6e5b 国家号修改 2 years ago
Jimmy Liow 92a27718ad CH 增加产品跟踪 2 years ago
Jimmy Liow 0b6b7a8228 CH 模板增加产品跟踪 2 years ago
candice 3d34e0605a 11 2 years ago
LMR d5012b4bd8 fix 2 years ago
LMR f347e74be0 fix content 2 years ago
LMR 3e8c1cf57a show content 2 years ago
candice 537bfbbc73 11 2 years ago
candice 02fb8a269b Merge branch 'master' of github.com:hainatravel/information-system into master 2 years ago
candice 123bfb4158 隐藏微信联系方式内容 2 years ago
Jimmy Liow 75e923305d 限制客人信息表单编辑航班时间 2 years ago
candice fc5eff05f6 原ah内容修改为gh 2 years ago
candice 80db65c720 新增文中tour广告代码模板 2 years ago
candice c6acb1de22 头部广告文字修改,开放签证 2 years ago
Jimmy Liow 9a4b21055e 信息平台搜索结果无法批量更新 2 years ago
Jimmy Liow 298586e824 搜索结果增加信息ID 2 years ago
Jimmy Liow 19788e9ad3 更新 CSS 引用链接 2 years ago
Jimmy Liow 6b35d2818f 调整树形框大小 2 years ago
Jimmy Liow c619d15a09 更新CSS引用 2 years ago
Jimmy Liow 2d42994228 树形列表增加横向滚动 2 years ago
赵鹏 3874635464 fix 2 years ago
赵鹏 ee8d5191f3 Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
Jimmy Liow d6d5c9632c 解决重复图片无法保存 2 years ago
赵鹏 e8460da391 读取作者及权限调用各自数据库的人员 2 years ago
candice dbf7fc908c 11 2 years ago
candice 9f7db1079a Merge branch 'master' of github.com:hainatravel/information-system into master 2 years ago
candice 72af5cb240 11 2 years ago
Jimmy Liow ce2f2c840f 隐藏原来附加图片位置 2 years ago
Jimmy Liow bb1ea3ab41 Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
Jimmy Liow 9d339e64d9 迁移附加图片位置 2 years ago
candice aa1f93b816 11 2 years ago
candice c027e22e19 Merge branch 'master' of github.com:hainatravel/information-system into master 2 years ago
candice ab73ed1f30 11 2 years ago
Jimmy Liow 7a264002ac 表单标签增加功能注释 2 years ago
Jimmy Liow 895a561c0a 删除原来标题图片选择 2 years ago
Jimmy Liow 6f86fb18c8 修复 PHP 错误 2 years ago
Jimmy Liow ef97d136ac 增加标题图片修改方式 2 years ago
Jimmy Liow 6235048099 迁移常用按钮 2 years ago
Jimmy Liow b4b2dd4303 解决日期验证错误 2 years ago
Jimmy Liow 257bdf845a 取消人数选择和出发日期验证 2 years ago
candice ed7ef00be1 隐藏人数选择和出发日期 2 years ago
candice c1002d828e 11 2 years ago
candice f75a4f97ae Merge branch 'master' of github.com:hainatravel/information-system into master 2 years ago
candice 5e2efe617e 先恢复人数选择,JS未修改 2 years ago
Jimmy Liow 6385e75671 解决标签内容错误 2 years ago
candice 1fc745beaa 11 2 years ago
candice 270534935a 11 2 years ago
candice c4dfef4f30 11 2 years ago
candice 39e6534946 Merge branch 'master' of github.com:hainatravel/information-system into master 2 years ago
candice 4a7d8f3302 特殊需求的引导语参考TM表单最新优化的引导语
删除Number in your group (客人在信息收集阶段人数和出行日期可能都还不明确)
删除starting date
删除Having a phone number, especially with WhatsApp/iMessage capability will improve communication efficiency.
2 years ago
赵鹏 c25d94151e Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
赵鹏 df24c4fdbb 修改2023年导航 2 years ago
candice a06d291900 11 2 years ago
candice 9aa31d5904 Merge branch 'master' of github.com:hainatravel/information-system into master 2 years ago
candice 539321d0ae 恢复微信二维码展示 2 years ago
Jimmy Liow 50ab0f9330 修复TA标签模板错误 2 years ago
Jimmy Liow b7f368d2e1 增加海外国内 TA 标签 2 years ago
Jimmy Liow b3605d973b 增加中国 TA 标签 2 years ago
Jimmy Liow 6bea4ea766 增加常用代码模板 2 years ago
Jimmy Liow e5b769b98d 解决弹出窗口错误 2 years ago
Jimmy Liow 44cec1c020 解决在 HTML 中显示 HTML 2 years ago
Jimmy Liow 44de1268d0 测试常用代码片段 2 years ago
Jimmy Liow 55cfd3deaf GH 统一 product_code 2 years ago
candice ce93d48752 whyus内容图片修改 2 years ago
candice 61b06af7d4 whyus内容图片更新 2 years ago
Jimmy Liow dda175fe27 上线 AH-TOUR-LIST-FORM 标签 2 years ago
Jimmy Liow 0d9c8dfb8a 静态文件删除增加间距 2 years ago
candice add35bc4a9 新增tours列表页表单标签 2 years ago
Jimmy Liow 456111c4d2 更新 CH、AH 时间选择样式 2 years ago
Jimmy Liow 88bcad6886 时间选择禁止自动提示 2 years ago
Jimmy Liow beb94b355e 增加不需要的时间字段隐藏样式 2 years ago
Jimmy Liow d58c3de2f6 修改时间插件样式 2 years ago
Jimmy Liow 70d04c24fa GH 增加时间选择 2 years ago
Jimmy Liow c972b63e25 修复国籍和时间问题 2 years ago
Jimmy Liow 944123029c Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
Jimmy Liow 24e534f098 修复国籍代码出错 2 years ago
candice 16770f8435 11 2 years ago
candice b05a20258e 11 2 years ago
candice 0852167350 新增模板里右侧品牌广告内容 2 years ago
candice f2bb1594cc 11 2 years ago
candice d5adfd24b1 Merge branch 'master' of github.com:hainatravel/information-system into master 2 years ago
candice 048dd2c1e3 取消政策文字修改 2 years ago
Jimmy Liow a2c91c448c 调整 SEO Input 样式 2 years ago
Jimmy Liow 496bc9eaa2 移动SEO标题和SEO描述 2 years ago
Jimmy Liow a7bd73bdb5 修改附加图片 2 years ago
Jimmy Liow 8b8b4268c0 精简不需要的功能 2 years ago
Jimmy Liow 350e2e063a CH、AH、GH 上线新版客人信息表单 2 years ago
candice df6c644913 导航上站内搜索链接修改 2 years ago
赵鹏 c542f7626d Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
赵鹏 3eb648d2ed fix 2 years ago
Jimmy Liow 54f8364610 GH 客人信息表单增加提示页面 2 years ago
Jimmy Liow 67ed49059a Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
Jimmy Liow c35f17ef91 增加测试和表单重复验证 2 years ago
赵鹏 e13b461729 Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
赵鹏 443e59aae1 火车详细页表单 2 years ago
LMR 2481548654 fix 2 years ago
LMR 94a91c8983 faiox 2 years ago
赵鹏 48520c6466 Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
赵鹏 fff2787dfd CT详细页添加火车票 2 years ago
赵鹏 ba9008b9a7 解决日历插件丢失的问题。直接加在上面 2 years ago
candice 3995feb049 11 2 years ago
candice aa8633bfe7 头部广告更换为How to Plan an Incredible Family Trip to Japan in 2023/2024 <a href="/japan/how-to-plan-a-family-trip-to-japan">Learn more.</a> 2 years ago
candice 459a83214d 头部导航日本位置调整 2 years ago
candice 4166be3256 头部二级导航日本位置调整 2 years ago
candice b9fe3be585 头部一级导航增加日本 2 years ago
candice b47457f693 头部一级导航添加日本/japan/tours 2 years ago
candice 44c024924b 11 2 years ago
candice a37b81a477 订单入库name值统一修改为product_code 2 years ago
candice 1c52ddd8e2 11 2 years ago
candice 3c04b62e70 11 2 years ago
candice 8915115aca 11 2 years ago
candice 8de9603e38 11 2 years ago
candice de173bc745 asia tours下二级导航内容修改 2 years ago
candice c6176fb90d PC端右侧品牌内容文字修改 2 years ago
candice a8f6818e69 右侧品牌内容文字修改 2 years ago
candice 6c133bd6d2 底部模板增加公司号码 2 years ago
candice 3d21869ce0 底部增加预订按钮跳转锚点 2 years ago
candice 84d45a7377 name值total_price统一 2 years ago
candice 730f746bfe 按钮入库修改 2 years ago
candice 57daf2311c JS修改为和lantern form info page表单一致 2 years ago
candice 148ae5c564 11 2 years ago
candice 983c34c7c6 11 2 years ago
candice 225d658473 11 2 years ago
candice 88f189b863 跨国下二级导航内容修改 2 years ago
candice 56b2e4e811 11 2 years ago
candice 8e2176826b 11 2 years ago
candice 95861e5f65 11 2 years ago
candice c2fd479432 跨国下二级导航内容修改 2 years ago
candice a35904e7ff 还原 2 years ago
candice 79ca89dbc8 11 2 years ago
candice d44aca8cd8 11 2 years ago
candice 8a7704b366 11 2 years ago
candice ee1231c873 跨国下二级导航内容修改 2 years ago
candice 8675df0a49 11 2 years ago
candice f1e2ee8825 11 2 years ago
candice c597b7de14 头部导航跨国下二级导航内容修改 2 years ago
Jimmy Liow 34880245a9 删除不要的链接,新增不复制原来的内容 2 years ago
Jimmy Liow 0f061411d4 增加表单提交 2 years ago
Jimmy Liow c4d5305225 完成添加乘客 2 years ago
赵鹏 6078ebcf4f 加火车票搜索框 2 years ago
赵鹏 5ff111ed49 导游改为23年 2 years ago
LMR cbdacbe6c6 fix 2 years ago
Jimmy Liow f75e399586 完成HTML5自定义验证 2 years ago
Jimmy Liow abeac45655 修改完表单name值 2 years ago
candice d308bc508e 11 2 years ago
candice 566f985696 Merge branch 'master' of github.com:hainatravel/information-system into master 2 years ago
candice 352a2ca409 样式修改 2 years ago
Jimmy Liow bbbd518530 Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
Jimmy Liow e39304c456 增加表单提交文字提醒 2 years ago
candice 1ef38402e7 11 2 years ago
candice fface6ea85 11 2 years ago
candice e68fd077f8 ID值和底部模板相同,修改为不同 2 years ago
candice 4e18294fd9 联系方式样式修改 2 years ago
candice 3a465f9ef0 11 2 years ago
candice efc8ef15ab 11 2 years ago
candice d71b215d8b 11 2 years ago
candice 97d93f29cb Merge branch 'master' of github.com:hainatravel/information-system into master 2 years ago
candice c74162949f name值修改统一,增加国家号码下拉框,增加联系方式勾选,需求框位置调整至第一位 2 years ago
Jimmy Liow 0ec850008c Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
Jimmy Liow 9722f8ab86 解决 PayPal 重复问题 2 years ago
candice 4aa0402b5a name值修改统一,新增视频电话联系方式选择 2 years ago
candice bf9ed6901d 11 2 years ago
candice b73f9dedcd Merge branch 'master' of github.com:hainatravel/information-system into master 2 years ago
candice 0e0a20ad21 头部广告文字修改couples 2 years ago
Jimmy Liow 1016d6bd21 修改 name 错误 2 years ago
candice 6032b6d686 name值修改统一 2 years ago
candice f010635750 name值修改统一 2 years ago
Jimmy Liow 21a1df4a28 客人护照信息收集表单改版 2 years ago
Jimmy Liow 1d20327d11 解决 PayPal 重复记录 2 years ago
Jimmy Liow da7c647d37 增加表单提交文字提示 2 years ago
Jimmy Liow ab7a78e5e2 Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
Jimmy Liow 3a766c889d 调整收款记录数量以便测试 2 years ago
尹诚诚 98221cc4f9 现实48条搜索结果 2 years ago
Jimmy Liow fccf3155bf Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
Jimmy Liow eb3b768245 解决 QI 表单无法提交;增加提交文字提醒 2 years ago
candice 9e0218ce2c 11 2 years ago
candice b07ed2ca7b Merge branch 'master' of github.com:hainatravel/information-system into master 2 years ago
candice f0aadbb78d 11 2 years ago
candice 195210387f 11 2 years ago
candice 0cfa45abb3 11 2 years ago
candice 625d39ea22 name修改统一 2 years ago
candice 587e4d0336 11 2 years ago
candice c3c07f4d62 name值修改统一 2 years ago
Jimmy Liow dc35ee9ad3 Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
Jimmy Liow 7edfa8ef8c 先去掉重复,再导出 Excel,避免总金额错误 2 years ago
candice 06e33b0f48 name值修改统一 2 years ago
candice b3f670a236 name修改统一 2 years ago
candice b37b0ccfa4 头部导航增加CH链接 2 years ago
candice 968e20a902 11 2 years ago
candice 177dec8ea7 11 2 years ago
candice 6c41405c60 11 2 years ago
candice 3649ed0715 11 2 years ago
candice 83504aeed6 11 2 years ago
candice e4da0ea5bc 头部导航内容优化 2 years ago
candice 4d37500337 11 2 years ago
candice 29d6e9bcae 11 2 years ago
candice 80de54580f 11 2 years ago
candice e612551ec2 11 2 years ago
candice 0f245e3191 11 2 years ago
candice 32d8841a7a Merge branch 'master' of github.com:hainatravel/information-system into master
# Conflicts:
#	application/views/mobile_first/ch-pc.php
#	application/views/mobile_first/ch.php
2 years ago
candice 148905adfe 头部导航内容优化 2 years ago
赵鹏 8a863a0b17 Merge branch 'master' of github.com:hainatravel/information-system 2 years ago
赵鹏 b5098f74b0 火车票APP导航地址修改为/china-trains/china-train-app-download.htm 2 years ago
Jimmy Liow c7e4e19f27 PayPal 收款记录增加国籍;去掉重复的收款记录 2 years ago
candice 0bf4ce88c6 门票价格更新P 票199, V票 179, S票 139 2 years ago
candice df91cb01d9 11 2 years ago
candice 214161918e 底部about us文字修改 2 years ago
candice 1ab5f522de 11 2 years ago
candice ca1e654c40 11 2 years ago
candice 519b7ae570 11 2 years ago
LMR c3e07a8418 fix 2 years ago
LMR 50587c2d15 fix welcome cache 2 years ago
LMR 732c1a856e fix ic_summary 2 years ago
LMR f4b4b4ba0b fix 2 years ago
LMR b61fef96e1 fix 2 years ago
LMR 2806403035 fix 2 years ago
LMR 31b4b18d77 fix 2 years ago
candice 7b4025739c 隐藏whatsapp联系信息 2 years ago
candice a8d861eb98 whatsapp联系信息隐藏 2 years ago
candice f138b94383 11 2 years ago
candice fe43ef1225 人数入库展示修改 2 years ago
Jimmy 963b4bbd3c AH 新增水灯节GP线路表单 2 years ago
candice f35ae06f82 新增水灯节GP表单 2 years ago
Jimmy 2a6286c29e 解决 AH GP 表单人数控制 JS 错误 3 years ago
candice 9eb4c0c359 11 3 years ago
candice 65e26c370f 11 3 years ago
candice f05408b494 11 3 years ago
candice 2ad15c5d2a 电话name值修改为phoneno 3 years ago
candice 4f94d116d0 人数选择修改 3 years ago
candice 8bdea5cfcb 入库人数展示修改,添加下划线 3 years ago
hainatravel d13cec2505
需要返回 Content-type: application
否则ezoic会添加额外的js代码导致json解析错误
3 years ago
Jimmy 7cc87fc81c 表单增加提交成功提示,防止再次点击 3 years ago
Jimmy d5347505de CH Inquiry 表单增加团类型验证 3 years ago
candice 10c8572fd0 左下角按钮链接和内容修改 3 years ago
candice 3c628bf5bc 隐藏联系方式whatsapp wechat 3 years ago
candice aee0504ad7 11 3 years ago
candice f14091ef3a JS调整 3 years ago
candice 5b55829fcc 11 3 years ago
candice 1a57b6ed8f 11 3 years ago
candice 7df262eea1 11 3 years ago
Jimmy Liow e8f55c44cd Merge branch 'master' of github.com:hainatravel/information-system 3 years ago
Jimmy Liow 0a49c7d44c 解决 jQuery 出错 3 years ago
赵鹏 5cf4868a9a Merge branch 'master' of github.com:hainatravel/information-system 3 years ago
赵鹏 96afaacc23 添加trippest站点 3 years ago
candice 49e2f81a8b 11 3 years ago
candice 97980d1594 11 3 years ago
candice 7c8552c3af 11 3 years ago
candice 3a93659bb4 新增人数选择 3 years ago
candice 1513b6ba68 11 3 years ago
candice d9f424cd30 Merge branch 'master' of github.com:hainatravel/information-system into master 3 years ago
candice f2554ae48a 增加年龄选择,顺序调整 3 years ago
Jimmy Liow 8a16785b01 付款申请增加‘开户行’‘账号’ 3 years ago
Jimmy c3447c5777 更新 ezoic 单元广告代码 3 years ago
candice 503bd7fb97 成人人数入库信息修改 3 years ago
candice 387970d26f 11 3 years ago
candice 2ab07d745f 成人信息入库修改 3 years ago
candice 6b6e1fa907 when you plan to take the trip文字修改 3 years ago
candice d3098f6fc7 11 3 years ago
candice a2183ac5bb 11 3 years ago
candice 4d5259b920 人数入库信息修改 3 years ago
Jimmy Liow dc6ab6e075 改为 $template 内容 3 years ago
Jimmy Liow de2977b505 增加 meta_google_ad_article 为 FALSE 情况 3 years ago
Jimmy Liow 048d000245 增加 ezoic 识别 3 years ago
LMR 6a6e6d150c fix +1 3 years ago
LMR 2a211a7a02 fix +1 3 years ago
LMR 8830e86be6 fix gm wwwcache-intl 3 years ago
candice 8ad7225c7c 底部2022修改为2023 3 years ago
candice 526d8e6060 头部链接修改为2-Week Southeast Asia Itineraries for Honeymoons, Families, and More. <a href="/southeast-asia/2-weeks-itinerary">Learn more.</a> 3 years ago
Jimmy Liow c4bf5eaf5d AH TM 链接增加产品跟踪 3 years ago
candice 652b0bc98c 11 3 years ago
candice 511369b59d 2022修改为2023 3 years ago
candice 61ae0ba775 头部链接修改为 China Travel Restrictions 2023 & Travel Advisory 3 years ago
Jimmy b011f40d55 AH 信息表单增加人数必填校验 3 years ago
Jimmy b972c7629f 修复 jQuery 在没有加载完的情况无法执行 3 years ago
Jimmy 6aeeaac33b AH QI 表单增加人数必填校验 3 years ago
candice d48414e57d 增加人数漏填提醒文字 3 years ago
candice d4dac89769 添加人数按类别标签选择 3 years ago
candice 098b13e9bf 样式修改 3 years ago
candice ab78fd781a 人数加减JS修改 3 years ago
candice e1bb6b6f50 成人人数加减JS修改 3 years ago
candice ff301100df 增加人数加减JS 3 years ago
candice 774314c27e 111 3 years ago
candice 35a87e95f0 小孩人数改为下拉框 3 years ago
candice a4ca3ab52c QI表单和信息页QI表单新增人数选择 3 years ago
candice 3278b136b2 2023水灯节信息修改 3 years ago
candice 57c124833b 11 3 years ago
candice c2ff226570 增加成人和儿童年龄勾选项 3 years ago
candice 844f86329f 联系方式入库信息修改 3 years ago
赵鹏 cd254aaa21 Merge branch 'master' of github.com:hainatravel/information-system 3 years ago
赵鹏 e5861b99dc 水灯节修改导航 3 years ago
candice 01a6e5a823 底部2022修改为2023 3 years ago
尹诚诚 a75f294a09 www log 3 years ago
尹诚诚 b995cdabaa 优化查询ip 3 years ago
candice d2c9b12553 头部链接内容修改,底部2022改为2023 3 years ago
candice 9799589ceb 电话区号顺序调整,联系方式入库信息修改 3 years ago
LiaoYijun 95d656de92 移动端增加产品编号 3 years ago
LiaoYijun 9d6ffc81b9 AH PC 模板增加产品编号 3 years ago
LiaoYijun ef2ef6211d 去除水灯节日期切换 3 years ago
LiaoYijun 47c3d6c4d0 钉钉审批明确错误信息 3 years ago
candice 1703505031 联系方式样式修改 3 years ago
LiaoYijun 591f7eab7b 删除票价提示 3 years ago
LiaoYijun 246e1bc686 更新隐藏 P 票 3 years ago
LiaoYijun f97aaea254 8号的全部票卖完了 3 years ago
LiaoYijun c56ff55736 缺少元素 ID 3 years ago
LiaoYijun 7fb9d97b9c 删除 jQuery 错误 3 years ago
LiaoYijun 256927b3da 水灯节改为默认9号的票 3 years ago
LMR 6298f09ebe fix 3 years ago
LMR d5dc952012 fix path 3 years ago
赵鹏 6a831f9fb6 加chinatravel站点 3 years ago
赵鹏 29bf977940 Merge branch 'master' of github.com:hainatravel/information-system 3 years ago
赵鹏 fd197221b1 加chinatravel站点 3 years ago
candice 3418465248 11 3 years ago
candice 47ab5acb32 内容还原 3 years ago
candice 8f9ed4ea8e 11 3 years ago
candice 13d6ddf53b 头条内容修改 3 years ago
candice c3519a4d10 11 3 years ago
candice fb6fbce993 11 3 years ago
candice 380fab0faa Merge branch 'master' of github.com:hainatravel/information-system into master 3 years ago
candice b0a61f13eb 11 3 years ago
LiaoYijun f1ae4f81bd 解决 JS 错误 3 years ago
LiaoYijun e56c0931d3 水灯节默认价格统一设置为 159 3 years ago
candice 70c40b73c6 主导航新增哈尔滨,贵州,香港 3 years ago
LiaoYijun 3fd657db52 更新水灯节默认票的类型 3 years ago
LiaoYijun 7f65e72c65 邮件发送增加发送成功记录 3 years ago
LiaoYijun c39265c1a5 GH 同时启用 GA3(GTM), GA4, AW 3 years ago
LiaoYijun 8944d33a35 8 号的 premium 票卖完了,不显示该类型 3 years ago
candice a2ac670e57 11 3 years ago
candice ce4f7e4641 添加8号票售罄说明 3 years ago
LiaoYijun 9561e0b60a CH 反馈改为列表 3 years ago
赵鹏 6d7626b6f0 Merge branch 'master' of github.com:hainatravel/information-system 3 years ago
赵鹏 17bc8350f4 更改导航 3 years ago
LiaoYijun 087dc6b747 信息页面的水灯节表单增加优惠价格计算 3 years ago
LiaoYijun 51f3f6f4a8 水灯节价格只保留两位小数 3 years ago
LiaoYijun 1689a4f8a5 水灯节增加10人及以上优惠5%价格 3 years ago
candice e797b770d3 11 3 years ago
LiaoYijun 6486bde113 QI 表单增加电话验证 3 years ago
candice 56c2004b61 11 3 years ago
candice b20b13f978 电话漏填提醒文字添加 3 years ago
candice 967351a305 微信二维码修改 3 years ago
candice 57cb4d85d7 11 3 years ago
candice 317983446b Merge branch 'master' of github.com:hainatravel/information-system into master 3 years ago
candice 17112ce312 11 3 years ago
candice 89b0883bc0 11 3 years ago
candice 4c3510b7e3 11 3 years ago
candice c1a2f9a1da 11 3 years ago
candice 28c78112cf 11 3 years ago
candice 794bdbed13 11 3 years ago
candice ac2eea0e95 11 3 years ago
candice 76f51e3ab2 11 3 years ago
candice 1921677a00 底部国际站链接修改 3 years ago
LiaoYijun 6925367c37 更新提交按钮类型错误 3 years ago
LiaoYijun f32152c21c CH 使用 grecaptcha 验证 3 years ago
candice fdc3c0527e 票价修改 3 years ago
candice 99edd466fc 价格修改 3 years ago
candice 91af763711 11 3 years ago
candice 646077744b Merge branch 'master' of github.com:hainatravel/information-system into master
# Conflicts:
#	application/views/mobile_first/ch-info-page-form.php
3 years ago
candice b0b16094b9 Merge branch 'master' of github.com:hainatravel/information-system into master
# Conflicts:
#	application/views/mobile_first/ch-info-page-form.php
3 years ago
LiaoYijun b858dd45a2 fixed js error 3 years ago
LiaoYijun 91a64ebfd2 Merge branch 'master' of github.com:hainatravel/information-system
# Conflicts:
#	application/views/mobile_first/ah-gp-form.php
#	application/views/mobile_first/ah-info-page-form.php
#	application/views/mobile_first/ah-inquiry-form.php
3 years ago
尹诚诚 b048f27209 添加表单 3 years ago
candice 58e17786e3 Merge branch 'master' of github.com:hainatravel/information-system into master
# Conflicts:
#	application/views/mobile_first/ch-info-page-form.php
3 years ago
candice 1bec3cfced Merge branch 'master' of github.com:hainatravel/information-system into master
# Conflicts:
#	application/views/mobile_first/ch-info-page-form.php
3 years ago
LiaoYijun cab304fa38 fixed js error 3 years ago
LiaoYijun 89ba7399fc JS error 3 years ago
candice 35fbfb3557 11 3 years ago
candice 14983db4c2 11 3 years ago
LiaoYijun f0d2668f41 修复 JS 错误 3 years ago
LiaoYijun e601998a0b 修复 JS 语法错误 3 years ago
LiaoYijun d0af0ce978 更新 QI 相关表单使用 Google 令牌 3 years ago
LiaoYijun 284ce9c9ae CH QI 表单更新防垃圾 3 years ago
LiaoYijun d40be18652 Merge branch 'master' of github.com:hainatravel/information-system
# Conflicts:
#	application/views/mobile_first/ch-info-page-form.php
3 years ago
LiaoYijun 78e8bae5d2 CH 信息页面中QI 使用 Google 验证 3 years ago
尹诚诚 dbc62259ec Merge branch 'master' of github.com:hainatravel/information-system 3 years ago
hainatravel 577ae3fc39
Update gh.php 3 years ago
hainatravel b49950a364
Update gh-pc.php 3 years ago
尹诚诚 5a1b028967 更新GA4代码 3 years ago
candice 784099e9fd 11 3 years ago
candice 124bef0b9e 11 3 years ago
candice e567852331 11 3 years ago
candice 980f147965 11 3 years ago
candice 946acf4607 11 3 years ago
candice de93bc8f76 11 3 years ago
candice 34bf4c637f 11 3 years ago
candice ce2c73e39c 11 3 years ago
candice 6aec3f7959 11 3 years ago
candice 1f2fe7fcb5 Merge branch 'master' of github.com:hainatravel/information-system into master 3 years ago
candice 8bc4f4f508 11 3 years ago
LiaoYijun 162adb431f 水灯节增加行程信息 3 years ago
LiaoYijun 387cced000 更新 GP 表单,增加 itenerary 3 years ago
LiaoYijun 52d1f2f5d0 Merge branch 'master' of github.com:hainatravel/information-system 3 years ago
LiaoYijun 3d5eda7deb QI 表单增加信息标题 3 years ago
candice 43833e0bc5 文章和线路位置互换 3 years ago
candice 3d6170414e 表单电话增加葡萄牙区号 3 years ago
candice 01356a5e3d 11 3 years ago
candice e861de3d02 11 3 years ago
LiaoYijun 1986b1dfcb 增加线路代号显示 3 years ago
LiaoYijun 17cc046f25 增加在信息页面的水灯节表单 3 years ago
LiaoYijun d9545594cd 更新 GH 文章名字可以使用在线作者 3 years ago
LiaoYijun 595e146c60 轮播功能取消自动播放 3 years ago
尹诚诚 8abb177f63 修改GH的跟踪代码,为了测试GA4 3 years ago
candice 3a7d6a71a6 11 3 years ago
candice ddf0c67c89 Merge branch 'master' of github.com:hainatravel/information-system into master 3 years ago
candice 37f8deb972 增加左下角TM按钮 3 years ago
LiaoYijun 8dca83dbca 上线 GP 表单 3 years ago
candice f0046e5158 11 3 years ago
candice af07b6c941 Merge branch 'master' of github.com:hainatravel/information-system into master 3 years ago
candice 42848a4f33 11 3 years ago
尹诚诚 6335106aac gh的右侧广告 3 years ago
candice 2d234cbba4 11 3 years ago
candice 3f202e1098 11 3 years ago
candice 191009788c 11 3 years ago
candice 5b0d389ea4 删除表单why us部分 3 years ago
尹诚诚 7112cf5cbf 在线作者的名称不能显示问题 3 years ago
尹诚诚 be6bf711a0 在线作者的名称不能显示问题 3 years ago
尹诚诚 0f78df7c07 在线作者的名称不能显示问题 3 years ago
尹诚诚 3991402573 在线作者的名称不能显示问题 3 years ago
尹诚诚 2ec31f5c51 添加远程查询数据库的接口 3 years ago
尹诚诚 5d85150a80 添加远程查询数据库的接口 3 years ago
尹诚诚 4c16c47987 添加远程查询数据库的接口 3 years ago
candice 423581d3f7 11 3 years ago
candice 50bd5dba30 11 3 years ago
尹诚诚 2892f75517 优化编辑界面css和图片插入代码 3 years ago
candice 80922e311b 11 3 years ago
candice 8aeae0bd84 Merge branch 'master' of github.com:hainatravel/information-system into master 3 years ago
candice 5c3ceefcd2 头部导航撤下冬奥游 3 years ago
赵鹏 765c0e0550 mainland china 改为 the mainland of china 3 years ago
赵鹏 094c364bc1 Merge branch 'master' of github.com:hainatravel/information-system 3 years ago
赵鹏 0be455fd41 fix 3 years ago
candice 95315675d1 增加其他客人名字输入框 3 years ago
赵鹏 78500c2760 Merge branch 'master' of github.com:hainatravel/information-system 3 years ago
赵鹏 19fe10ea06 data-icht="zodiac-search" 3 years ago
candice a992a1b37e 11 3 years ago
LiaoYijun b65d41bb7d GH 修改 Cookie 提示 3 years ago
LiaoYijun 0a1e5530a8 CH 修改 Cookie 提示 3 years ago
LiaoYijun c1f48c1020 Merge branch 'master' of github.com:hainatravel/information-system 3 years ago
LiaoYijun 66533760d2 Cookie 提示时间改为 10秒 3 years ago
candice 62b465f05a 11 3 years ago
LiaoYijun 4281c203a5 增加定时、手动关闭 Cookie 提示 3 years ago
candice a167fda43f cookie添加关闭按钮 3 years ago
candice 69c3e8ef46 11 3 years ago
candice cdfe94ae92 11 3 years ago
candice 72b10c4183 11 3 years ago
candice b5a865fccd 11 3 years ago
candice eb22de2b98 11 3 years ago
LiaoYijun ba20b0d324 增加注释触发部署 3 years ago
LiaoYijun e8977b9971 Merge branch 'master' of github.com:hainatravel/information-system 3 years ago
LiaoYijun f6a3462275 上线水灯节表单 3 years ago
candice 659b63fa72 11 3 years ago
candice 6b888a0f4f 11 3 years ago
candice 96812eef44 11 3 years ago
candice dba4e96f86 11 3 years ago
candice 8360518890 11 3 years ago
candice 462bbffb2a 11 3 years ago
candice b9bfb6cdda 11 3 years ago
candice aa8b5a7ca7 11 3 years ago
candice fb64be3d56 11 3 years ago
candice beafd9b854 11 3 years ago
candice 9ba955a099 11 3 years ago
candice 14e79729d4 Merge branch 'master' of github.com:hainatravel/information-system into master 3 years ago
candice 35ac9c7655 11 3 years ago
LMR 29bc7a8933 fix 外部站点调用 3 years ago
LMR e5d65de108 fix 3 years ago
LMR 0463e7e488 add 是否显示作者和更新日期? 3 years ago
赵鹏 5d3373e4c4 Merge branch 'master' of github.com:hainatravel/information-system 3 years ago
赵鹏 7dbc9ba859 CT页面加作者 3 years ago
LiaoYijun 407a331834 Merge branch 'master' of github.com:hainatravel/information-system 3 years ago
LiaoYijun 96b6272050 修改 GH 面包屑获取数据方式 3 years ago
candice 02064c6643 11 3 years ago
candice f3e16ae96e 新增全站左下角微信按钮链接至contact us 3 years ago
赵鹏 f6eefa5379 去掉原卧铺价格加一定比例计算下卧的规则,直接读取携程接口的最高价。 3 years ago
赵鹏 18cb57ba6a 新接口座位类型完善 3 years ago
赵鹏 f47ca81cb1 所有站点更新 3 years ago
赵鹏 74dc40e4ca Merge branch 'master' of github.com:hainatravel/information-system 3 years ago
赵鹏 556801f149 新携程数据接口 3 years ago
LiaoYijun 52a36a693e GH 修改 Cookie 提示规则 3 years ago
candice fa40f7dd73 cookie修改 3 years ago
candice 95220d92e9 11 3 years ago
LiaoYijun 878fd9a896 AH 修改 Cookie 提示规则 3 years ago
candice 4f5a3a0f11 cookie修改 3 years ago
LiaoYijun 869faa7f6f 移动端修改 Cookie 提示规则 3 years ago
candice 241a4bcba6 11 3 years ago
LiaoYijun 587f2c2f28 修改 Cookie 显示规则 3 years ago
尹诚诚 335dca0a16 Merge remote-tracking branch 'origin/master' 3 years ago
尹诚诚 de257ac648 添加老客户海外站点 3 years ago
candice 27941778de 11 3 years ago
candice 34324c6e4e 11 3 years ago
candice 2f8a073974 Merge branch 'master' of github.com:hainatravel/information-system into master 3 years ago
candice a5144d7e3d 11 3 years ago
尹诚诚 ce50821b0e Merge remote-tracking branch 'origin/master' 3 years ago
尹诚诚 3ae9538512 添加老客户海外站点 3 years ago
candice d689329d51 11 3 years ago
candice 5890fe7434 11 3 years ago
candice 8f8afcae57 需求框更换到第一位,出发日期更换到需求框下方 3 years ago
candice e37d2e751d 11 3 years ago
candice 18426854f0 二维码和表单顺序调换, 出发日期调整至需求框上方 3 years ago
candice bbe8271a5d 11 3 years ago
candice ec750c6d97 二维码图片更新 3 years ago
赵鹏 90f7bb18be fix 3 years ago
赵鹏 1e4cfeed0e 导航更新 3 years ago
LMR 83f231c8d0 fix 3 years ago
candice a996a43454 TP分数修改为4.9 3 years ago
candice cdc23a0a59 11 3 years ago
candice 7b7a47d3cd Merge branch 'master' of github.com:hainatravel/information-system into master 3 years ago
candice 12f35e3a3f 11 3 years ago
LMR c56bd6118a f 3 years ago
candice ab438e0072 11 3 years ago
candice 5d6f7b52a3 新增国籍区号一栏 3 years ago
candice 8f1449c8be 11 3 years ago
candice e416851832 增加国籍区号一栏 3 years ago
candice e5b522c0c9 11 3 years ago
LiaoYijun 527e0d2a80 更新 AH 面包屑二级菜单名称 3 years ago
赵鹏 a11742663d Merge branch 'master' of github.com:hainatravel/information-system 3 years ago
赵鹏 3a0a2b102f 修改样式错误。 3 years ago
candice ee58866f38 11 3 years ago
candice b1130091ee 11 3 years ago
candice 17086ef775 11 3 years ago
LiaoYijun 89739b693a 信息表单增加电话验证 3 years ago
candice 7e534a782c 头部destinations二级导航添加新链接,顺序修改 3 years ago
赵鹏 4aef57e39b 谷歌广告代码还原为原始调用,去掉延迟加载 3 years ago
赵鹏 1aab21417b Merge branch 'master' of github.com:hainatravel/information-system 3 years ago
赵鹏 74f017ed49 广告代码放头部 3 years ago
candice 6fe3e5121a 11 3 years ago
candice 6f5350024d 头部banner添加TP星级图标 3 years ago
candice 50c5aa2427 11 3 years ago
candice 441b415ba0 底部模板添加一条TP星级 3 years ago
candice c9855197a7 11 3 years ago
candice 434dbf687d 电话引导文字修改 3 years ago
candice 40fa12f1b6 11 3 years ago
candice 90e64e1694 电话一栏引导文字修改 3 years ago
candice 8bf972a2c0 11 3 years ago
candice d4896c9ab6 11 3 years ago
candice 5c41046fe4 11 3 years ago
candice dcdb40f021 11 3 years ago
candice a384cccabe 二级导航跨国顺序调整 3 years ago
candice 6ffce90d8a TA图标更新为2022 3 years ago
candice 194962c2c3 推荐文章重复删除 3 years ago
candice 38c89792ff 11 3 years ago
candice 6e2c2f8ea6 11 3 years ago
candice c6ec018ba3 11 3 years ago
candice 554e4a7762 一级导航添加thailand vietnam cambodia集合链接 3 years ago
candice b563f2b7a0 导航上添加thailand vietnam cambodia集合链接 3 years ago
candice 6a9040e906 11 3 years ago
candice 4dde0ea973 11 3 years ago
candice 0ee6ee1295 11 3 years ago
LiaoYijun 21fcb258fb Merge branch 'master' of github.com:hainatravel/information-system
# Conflicts:
#	application/views/mobile_first/ah-inquiry-form.php
3 years ago
LiaoYijun a6c6422a23 AH QI 表单增加联系方式必填 3 years ago
candice b1bfb01a66 电话一栏改为必填 3 years ago
赵鹏 4eeba37459 fix 3 years ago
赵鹏 2e95d10395 Merge branch 'master' of github.com:hainatravel/information-system 3 years ago
赵鹏 bb45c2ee33 权限设置分到infomation_ct这边。 3 years ago
LMR 8e5eaf0e37 Merge branch 'master' of github.com:hainatravel/information-system 3 years ago
LMR 9e210dbe9a f 3 years ago
LiaoYijun dd9898e5c4 删除重复的日历框 3 years ago
LiaoYijun 9f46e3bdb5 AH 信息页面标签增加日历和验证 JS 3 years ago
LiaoYijun cb91580b63 CH 信息表单增加日历和表单验证 JS 3 years ago
LiaoYijun 4b0212c998 CH、GH 增加信息页面表单标签 3 years ago
赵鹏 ec4e6a2c54 Merge branch 'master' of github.com:hainatravel/information-system 3 years ago
赵鹏 44b6340511 fix 3 years ago
LiaoYijun 61712b8622 增加信息页面表单标签 3 years ago
LiaoYijun b1e839c65c AH 增加信息页表单标签 3 years ago
LiaoYijun 461a35a346 修改内容提示文本 3 years ago
candice 6d501a749e 面包屑上线 3 years ago
LiaoYijun ecdec9da7c 更新 AH 面包屑读取规则 3 years ago
candice ae98de1821 11 3 years ago
candice 94562b1cd6 11 3 years ago
LiaoYijun 945b9c3741 修改 AH 界面文字 3 years ago
candice c7d0c48b15 底部推荐顺序调整为先产品后信息 3 years ago
LiaoYijun 8bf3f0e878 增加 AH 客人信息填写页面 3 years ago
candice e3bbe6e079 修改头部导航链接 /southeast-asia/tours 3 years ago
赵鹏 2679453ea6 Merge branch 'master' of github.com:hainatravel/information-system 3 years ago
赵鹏 6fed9c47cc 加一日游表单 3 years ago
candice 6ff0b9d4ba 11 3 years ago
candice 76f321edd9 11 3 years ago
candice d0820c69d3 跟踪代码修改 3 years ago
candice da1e10a801 11 3 years ago
candice 85125f82f9 11 3 years ago
candice c27a7fd076 跟踪代码修改 3 years ago
candice be60ce6017 11 3 years ago
candice 876afa9628 11 3 years ago
candice d69dfa8121 11 3 years ago
candice 1d4203c182 头部导航添加southeast asia tours链接 3 years ago
candice 81e2c34d70 11 3 years ago
candice 016c74e22f Merge branch 'master' of github.com:hainatravel/information-system into master 3 years ago
candice 3184effdcf 添加ppc跟踪代码 3 years ago
尹诚诚 c2b345f15b 添加各站日志 3 years ago
尹诚诚 444038da55 Merge branch 'master' of github.com:hainatravel/information-system 3 years ago
LMR ec93af2bf5 f 3 years ago
LMR c234fae449 f 3 years ago
尹诚诚 e4886a28e7 Merge branch 'master' of github.com:hainatravel/information-system 3 years ago
LiaoYijun db2dcf66a7 修 GH 桌面端 INQUIRY 表单地址 3 years ago
LiaoYijun 1935e24bfe 修改 GH INQUIRY 表单模板 3 years ago
LiaoYijun 6dddbfaa24 修改 GH INQUIRY 表单提交地址 3 years ago
赵鹏 7ee151924d Merge branch 'master' of github.com:hainatravel/information-system 3 years ago
赵鹏 9e5b4af4f0 优化游船表单按钮 3 years ago
candice a1bc8bec65 11 3 years ago
candice afdb2fd6da 11 3 years ago
赵鹏 a5903f3790 Merge branch 'master' of github.com:hainatravel/information-system 3 years ago
赵鹏 fe7e412f11 top按钮 3 years ago
LiaoYijun 6a941a3c08 上线测试页面使用 TA 标签 3 years ago
LiaoYijun da7d54ae6a 修改 AH TA 模板错误 3 years ago
LiaoYijun 1a5b9d9942 Merge branch 'master' of github.com:hainatravel/information-system 3 years ago
LiaoYijun 788e949f5c 测试 AH TA 标签加载数据 3 years ago
赵鹏 fdb9e0fcc7 Merge branch 'master' of github.com:hainatravel/information-system 3 years ago
赵鹏 c2d1f6feb2 价格移动 3 years ago
LiaoYijun 61ef32c29b 增加 AH TA 标签测试 3 years ago
赵鹏 f1a7850e8f fix 3 years ago
赵鹏 fd1906541b Merge branch 'master' of github.com:hainatravel/information-system 3 years ago
赵鹏 8113e4550d fix 3 years ago
candice bd45fed9e6 11 3 years ago
candice 748182194a Merge branch 'master' of github.com:hainatravel/information-system into master 3 years ago
candice 80d01ea459 底部why us内容添加 3 years ago
赵鹏 48352f22e1 Merge branch 'master' of github.com:hainatravel/information-system 3 years ago
赵鹏 d35c2d4538 线路详细页加浮动按钮 3 years ago
candice 5d818afea0 11 3 years ago
candice 8943ceb617 Merge branch 'master' of github.com:hainatravel/information-system into master 3 years ago
candice 97836c56af 11 3 years ago
LiaoYijun 8ffe00b657 修复标签名字错误 3 years ago
candice 1e93442f5f Merge branch 'master' of github.com:hainatravel/information-system into master 3 years ago
candice 308f44fbb4 11 3 years ago
LiaoYijun 9ec50b640a Merge branch 'master' of github.com:hainatravel/information-system 3 years ago
LiaoYijun 2364db00de GH 增加两个标签 3 years ago
candice 3a522046de 11 3 years ago
candice 4441f54610 11 3 years ago
candice 224d47af45 11 3 years ago
candice 622d0d397e 11 3 years ago
candice 3e5d8f3b1d 新增底部why us 3 years ago
candice 4a41245542 11 3 years ago
candice 6c9e117f43 新增底部why us 3 years ago
candice 0045a49501 底部why us修改 3 years ago
candice 2270321042 11 3 years ago
candice 92b438e855 11 3 years ago
candice 02135bc04d 11 3 years ago
candice 2872afd79c 11 3 years ago
candice a3db617db6 TM按钮添加跟踪代码 3 years ago
candice 986892232f 11 3 years ago
candice 4548cb1b6e 11 3 years ago
candice c5982ec4cf 11 3 years ago
candice da842d527f 11 3 years ago
candice 1a49b3a9a4 增加底部TM按钮 3 years ago
candice 9ac7cdc202 11 3 years ago
candice 2b4880ea79 11 3 years ago
赵鹏 e08504ee3e Merge branch 'master' of github.com:hainatravel/information-system 3 years ago
赵鹏 57ab7b29b5 搜索框的自动填充,所有站点由于印度有8335个站点,循环读取系统吃不消 3 years ago
candice ad0be4b5af 11 3 years ago
candice 1a3c8ca236 11 3 years ago
candice 052be1141e 11 3 years ago
candice c3644d857e 11 3 years ago
candice 5a44dd6472 11 3 years ago
LMR 12659386bd fix up +1 3 years ago
LMR 4faf6f9538 meta 3 years ago
LMR f05892b023 Merge branch 'master' of github.com:hainatravel/information-system 3 years ago
LMR e7d2d47bd2 fd 3 years ago
LiaoYijun c9d0ef5076 修复 Why Us 模板错误 3 years ago
LiaoYijun cd87a986d0 修复 Why US 标签 3 years ago
LiaoYijun 375ef052b4 增加三个 why us 相关标签 3 years ago
LMR eecac847a4 移除AMP附加值 3 years ago
赵鹏 7b44220af0 Merge branch 'master' of github.com:hainatravel/information-system 3 years ago
赵鹏 58775d0f27 fix 3 years ago
candice 9e0bed6240 ppc跟踪 3 years ago
赵鹏 85c1f8605c Merge branch 'master' of github.com:hainatravel/information-system 3 years ago
赵鹏 a51c527f20 CT游船版块移动化优先 3 years ago
candice bb6d695d52 11 3 years ago
赵鹏 d3788a40a0 Merge branch 'master' of github.com:hainatravel/information-system 3 years ago
赵鹏 6f14aba0d4 CT页面类型添加游船 3 years ago
candice 9c8e61ccd2 11 3 years ago
尹诚诚 75457e1941 Merge remote-tracking branch 'origin/master' 3 years ago
尹诚诚 db7a783bb4 添加用户搜索功能 3 years ago
candice 693efeac3c 联系邮箱更换成contact@asiahighlights.com 3 years ago
candice 2fd3335cd0 11 3 years ago
candice 5b144ee404 增加whatsapp二维码信息 3 years ago
candice 8f977ea1d5 11 3 years ago
尹诚诚 b8667336d5 Merge remote-tracking branch 'origin/master' 3 years ago
尹诚诚 0b00b41018 添加用户搜索功能 3 years ago
candice d5c90c5a2d 11 3 years ago
candice d2d25ef7e9 11 3 years ago
candice 0162670bb0 11 3 years ago
candice d40bf3a695 11 3 years ago
candice 026f14090c 表单内文字修改 3 years ago
尹诚诚 d302301967 添加查看企业微信聊天记录功能 3 years ago
candice b3ef373b67 11 3 years ago
LiaoYijun 26747accef Merge branch 'master' of github.com:hainatravel/information-system 3 years ago
LiaoYijun 739ba0b43b AH、GH 增加 cookie 提醒 3 years ago
尹诚诚 c7303b2019 添加AH测试地址 3 years ago
candice ab03bcfd4e 删除asta和ustoa 3 years ago
candice fccc48de90 底部表单添加邮箱地址 3 years ago
candice 72610c860d 11 3 years ago
candice 63305c0336 11 3 years ago
candice 306013f148 why us内容修改 3 years ago
赵鹏 b7fc71759f Merge branch 'master' of github.com:hainatravel/information-system 3 years ago
赵鹏 2ac036bed9 一日游列表去掉翰特数据,只读取信息平台数据。 3 years ago
LiaoYijun d9688b8598 迁移滚动到表单 JS 3 years ago
candice 9ac14e6cf7 11 3 years ago
candice 6f0d4e992f 11 3 years ago
candice b3e611b1ab 11 3 years ago
candice 6d83871da8 11 3 years ago
candice c701ce21db 预订按钮添加跳转JS 3 years ago
candice 0c4b477598 11 3 years ago
candice e6caff8c21 Merge branch 'master' of github.com:hainatravel/information-system into master 3 years ago
candice 0c2306bbe5 11 3 years ago
赵鹏 a6ecb73cb5 22年导游 3 years ago
candice 559d69b1a3 11 3 years ago
candice 0407e779aa 11 3 years ago
candice a0d99d9b07 Merge branch 'master' of github.com:hainatravel/information-system into master 3 years ago
candice 2760286ce2 新增whatsapp二维码 3 years ago
LiaoYijun a67ba8ab8c GH 社媒分享按钮只用于信息页面 3 years ago
candice 0da4ca1e88 11 3 years ago
candice 0aab19f713 Merge branch 'master' of github.com:hainatravel/information-system into master 3 years ago
candice 5267c1c627 11 3 years ago
LiaoYijun ab46726de1 增加日历插件 JS 3 years ago
LiaoYijun eaf8bb9481 GH 增加日历插件 3 years ago
candice 1cd232551d 导航内容新增 3 years ago
candice 116ddff9c7 11 3 years ago
candice c2f6f67afb Merge branch 'master' of github.com:hainatravel/information-system into master 3 years ago
candice a6f3f62a1d 11 3 years ago
LMR 99b616c832 fix 3 years ago
LMR e37ab828ae fix cmd 3 years ago
candice a1ad4ca861 Merge branch 'master' of github.com:hainatravel/information-system into master 3 years ago
candice cd6a0fe2a8 11 3 years ago
LMR 2eef542d94 Merge branch 'master' of github.com:hainatravel/information-system 3 years ago
LMR 851029534a fix mammoth 3 years ago
candice ff605fd13f 头部广告更换成yipeng festival 3 years ago
LiaoYijun 4f3c18b084 GH 增加批量更新功能 3 years ago
LMR bfb7e13d7e ..+2 3 years ago
LMR cb439d4741 fix up docx 3 years ago
LMR df64d96b2d fix 3 years ago
LMR 1c4bc81234 f 3 years ago
LMR f100eaa776 修复 mammoth 路径 3 years ago
LMR 72cc2089dd Merge branch 'master' of github.com:hainatravel/information-system 3 years ago
LMR 6cc61dcee8 fix mon 3 years ago
赵鹏 9925690d60 更新谷歌跟踪代码 3 years ago
LMR 3b822c2c83 添加国家 埃及 3 years ago
candice f44348d4dd 11 3 years ago
candice 243a489fd1 Merge branch 'master' of github.com:hainatravel/information-system into master 3 years ago
candice a53a2ee0af 11 3 years ago
LMR 8da7189944 fix 3 years ago
LMR 7713d8d883 fix gh-int 3 years ago
LMR 1046b4fd95 fix D:\wwwcache-intl 3 years ago
candice ef26e1f12a 11 3 years ago
candice 800a09c09b 样式调整 3 years ago
candice 6e59e3d50a 11 3 years ago
candice a68377f166 11 3 years ago
LMR b0b13775a7 fix dbo 3 years ago
candice 2d17cbe614 11 3 years ago
LiaoYijun a3feb7d408 Merge branch 'master' of github.com:hainatravel/information-system
# Conflicts:
#	application/views/mobile_first/ah-h1.php
3 years ago
LiaoYijun 5e0ddcd8dd 处理模板错乱 3 years ago
candice f552e7858b 11 3 years ago
candice c15f27a308 Merge branch 'master' of github.com:hainatravel/information-system into master 3 years ago
candice d8700d7675 11 3 years ago
赵鹏 264049af88 Merge branch 'master' of github.com:hainatravel/information-system 3 years ago
赵鹏 75fffcedc0 景点读取原HT的数据 3 years ago
LiaoYijun 7fffb286e4 运营暂时没有时间处理 URL 问题,先隐藏起来 3 years ago
LiaoYijun ed3c9bc9c0 把隐藏的面包屑显示出来 3 years ago
LiaoYijun a786753050 Merge branch 'master' of github.com:hainatravel/information-system 3 years ago
LiaoYijun 32fc734703 增加 AH 面包屑标签 3 years ago
candice 85801c896d 头部广告位置调整 3 years ago
尹诚诚 8e2ae17e3e AH头部广告错误调整 3 years ago
candice 9362c31cf9 11 3 years ago
candice 4d113202ba 11 3 years ago
candice 129c8dd383 11 3 years ago
candice 56c6971989 11 3 years ago
candice 1078308243 11 3 years ago
candice e983668b9d 11 3 years ago
candice 6061c3f573 11 3 years ago
candice ce5a55c00a Merge branch 'master' of github.com:hainatravel/information-system into master 3 years ago
candice 4acb3b1f3e 11 3 years ago
尹诚诚 10db04f8f7 Merge remote-tracking branch 'origin/master' 3 years ago
尹诚诚 625626c9c1 统计分析平台 3 years ago
candice ff21d9bfe8 11 3 years ago
尹诚诚 2ac1ef71d4 解决静态更新日期错误问题,应该用信息修改时间而不是当前时间 3 years ago
尹诚诚 57b6be1c1a 解决静态更新日期错误问题,应该用信息修改时间而不是当前时间 3 years ago
尹诚诚 651c55b7bd 解决静态更新日期错误问题,应该用信息修改时间而不是当前时间 3 years ago
candice 10901428f0 11 3 years ago
candice 185fdc0fc8 添加预订按钮 3 years ago
LiaoYijun 7d5637c719 修改替换标签的方式 3 years ago
LiaoYijun 961a018752 Merge branch 'master' of github.com:hainatravel/information-system 3 years ago
LiaoYijun d514f72805 AH 增加表单标签 3 years ago
candice 7a9abe9039 11 3 years ago
candice a6f9c83ee5 11 3 years ago
candice 4f0f0d684b 11 3 years ago
candice bda4979c85 11 3 years ago
candice 40f6c633d3 11 3 years ago
candice d0d7d6c888 11 3 years ago
candice 9a0c938fbb 11 3 years ago
candice f277ef7b3a 11 3 years ago
candice 1ee5f36724 11 3 years ago
candice 215c489b8b 11 3 years ago
赵鹏 06c4049ddb Merge branch 'master' of github.com:hainatravel/information-system 3 years ago
赵鹏 fa10c9501d CT机票首页移动端去掉头部图片。 3 years ago
candice 1df76893a4 11 3 years ago
candice c3c04fc543 11 3 years ago
candice 6dcaf6555a 底部国旗改文字 3 years ago
candice 824346469c 11 3 years ago
candice e2d86954de 11 3 years ago
candice 7bd2710581 11 3 years ago
candice a27ed64466 11 3 years ago
candice 4c46ffe7d7 11 3 years ago
candice 209874ccab Merge branch 'master' of github.com:hainatravel/information-system into master 3 years ago
candice cccdafe844 11 3 years ago
赵鹏 1b34c0fbe7 fix 3 years ago
赵鹏 cc06f8165f fix 3 years ago
赵鹏 6134a58852 fix 3 years ago
赵鹏 440724119d 搜索框位置优化适应CLS 3 years ago
candice f9e86ade62 11 3 years ago
赵鹏 7efb75d4bf Merge branch 'master' of github.com:hainatravel/information-system 3 years ago
赵鹏 7d3944f4fe 无当前日期价格时,往前找价格。 3 years ago
candice 188bf8edfa 头部图片位置恢复 3 years ago
赵鹏 43cb5bf0ef fix 3 years ago
赵鹏 48d860dd83 fix 3 years ago
赵鹏 263828a1c0 fix 3 years ago
赵鹏 9c681fe296 Merge branch 'master' of github.com:hainatravel/information-system 3 years ago
赵鹏 5dcaf4abc5 CT线路页新增qi表单 3 years ago
candice 815fd63353 11 3 years ago
candice a5a4feede0 11 3 years ago
candice f60dc387f9 11 3 years ago
candice be297c5b5b 11 3 years ago
candice f280e048f7 Merge branch 'master' of github.com:hainatravel/information-system into master 3 years ago
candice 056eba192d 11 3 years ago
LiaoYijun 178de545fb 增加信息页面顶部大图标签 3 years ago
candice 586650557a 11 3 years ago
candice 0f5c68fa7c 11 3 years ago
candice 6ce14ce2d7 11 3 years ago
candice 4b88fc4204 11 3 years ago
candice e1ebb9945e 11 3 years ago
candice f8e0086ad1 Merge branch 'master' of github.com:hainatravel/information-system into master 3 years ago
candice ea25b2b26f 11 3 years ago
LMR 8090fd010a session_color 空置导致502错误 3 years ago
LMR 47878897e1 Merge branch 'master' of github.com:hainatravel/information-system 3 years ago
LMR d764009571 fix https baseurl 3 years ago
candice cafa558d45 11 3 years ago
candice 875a6424b0 11 3 years ago
candice 0a2416a797 11 3 years ago
candice 5ec59ed170 11 3 years ago
candice 0ec3dd0c63 信息页头部图片位置调整 3 years ago
LMR 186d08b2ed recove 3 years ago
LMR 8d2e0f75d2 fix get_ic_contents2 构建工具使用 3 years ago
LiaoYijun 76031d35e0 Merge branch 'master' of github.com:hainatravel/information-system 3 years ago
LiaoYijun 9300b3f81a 修复 Trippest 报表计算问题 3 years ago
candice 10f19aa42a 11 3 years ago
candice 2434c92f28 11 3 years ago
candice 02ea6cec73 11 3 years ago
candice 6cb530b90f 11 3 years ago
candice 26964b1fb3 11 3 years ago
candice 4f12a5a1fd 11 3 years ago
candice 780d2f3e88 11 3 years ago
赵鹏 98bd2058b0 CT站火车首页优化 3 years ago
赵鹏 7c39e276aa 优化火车搜索框 3 years ago
赵鹏 c97508affa Merge branch 'master' of github.com:hainatravel/information-system 3 years ago
赵鹏 6adf57668e 火车首页手机端的搜索框去掉背景图。 3 years ago
lmr@hainatravel.com 150d28f6cd add 3 years ago
LMR 9901dcde80 test database.php 3 years ago
赵鹏 e11eae9600 Merge branch 'master' of github.com:hainatravel/information-system 3 years ago
赵鹏 b009900603 优化 3 years ago
candice f507be8951 11 4 years ago
candice 8abd944664 11 4 years ago
candice 827eb9221c 11 4 years ago
candice 9537fb1af9 11 4 years ago
candice 3fb57a2581 11 4 years ago
candice 7c194f6ad0 11 4 years ago
candice c189d340bd 11 4 years ago
赵鹏 8bb849e82d 景点列表更新 4 years ago
赵鹏 3e401869fe 景点列表测试 4 years ago
candice 64356b25e2 11 4 years ago
LiaoYijun 91ac5497a8 解决天气图标和延迟加载功能冲突 4 years ago
candice effe0937e0 二维码更换 4 years ago
LiaoYijun b9d9f3ac23 团款审批增加“渠道类型” 4 years ago
赵鹏 dfaf8a54b4 导游搜索年份修改 4 years ago
赵鹏 4e35abd787 Merge branch 'master' of github.com:hainatravel/information-system 4 years ago
赵鹏 276cc1b1e1 数据库链接错误修改 4 years ago
candice 52de5ad9d5 11 4 years ago
candice 5585be1666 11 4 years ago
candice 5dc42a1da5 11 4 years ago
candice 23db2a3a16 11 4 years ago
candice 0e146dea25 11 4 years ago
candice 017da85a07 11 4 years ago
candice d144920789 11 4 years ago
candice f5eb176e94 Merge branch 'master' of github.com:hainatravel/information-system into master 4 years ago
candice 6550fa647c 11 4 years ago
Ling 841ac647c1 底部优化 4 years ago
Ling 843626e756 底部优化 4 years ago
candice ae445ba3aa 11 4 years ago
candice 194c782b9d 11 4 years ago
candice 8628d053a2 11 4 years ago
candice 8f13d9ffcb 年份修改 4 years ago
candice c6d76039af 11 4 years ago
candice e399212093 11 4 years ago
candice 1823b0eaff 11 4 years ago
candice 343a2586c1 AH右侧模板修改 4 years ago
Ling bc838afe3f CT底部优化 4 years ago
Ling 7fc0914f15 CT底部优化 4 years ago
Ling c819616f07 CT底部优化 4 years ago
LiaoYijun d4be2fa01c 更新最高温度和最低温度的格式 4 years ago
LiaoYijun da3a6fc24d 更新天气日期格式 4 years ago
赵鹏 9b9a78267b fix 4 years ago
赵鹏 673e31c2e0 Merge branch 'master' of github.com:hainatravel/information-system 4 years ago
赵鹏 44cdc90f6c fix 4 years ago
LiaoYijun b204bf223b 删除测试文件 4 years ago
LiaoYijun ba35896c3a 测试 CT 信息平台部署 4 years ago
LiaoYijun a641d8c51a 删除自动部署 4 years ago
赵鹏 3fb7e990d9 更新垮库查询 4 years ago
candice 3f107f449b 11 4 years ago
candice 36e5d0e788 11 4 years ago
LiaoYijun 5ab0b4ceb8 Merge branch 'master' of github.com:hainatravel/information-system 4 years ago
LiaoYijun 91aa83b797 更新华氏度格式 4 years ago
尹诚诚 a53cf533c1 修复日志用户名乱码问题 4 years ago
尹诚诚 67eea633a7 修复日志用户名乱码问题 4 years ago
LiaoYijun 1a601a5862 Merge branch 'master' of github.com:hainatravel/information-system 4 years ago
LiaoYijun 985fbb5a48 更新天气月份格式 4 years ago
candice 7aaac02665 11 4 years ago
LiaoYijun 70324b068c 天气增加华氏度 4 years ago
candice 6dfce4c217 11 4 years ago
candice 9a457db597 11 4 years ago
candice 8abc00ceeb 11 4 years ago
LiaoYijun f595fbb3ea 更新天气图标 4 years ago
LiaoYijun 9ac5c6bca6 更新存储过程调用错误 4 years ago
LiaoYijun 30c61052ff 完成测试,增加 PayPal 更新 4 years ago
LiaoYijun ba9e6aee2c Merge branch 'master' of github.com:hainatravel/information-system 4 years ago
LiaoYijun f95ed13983 增加同步支付统计过程调用 4 years ago
candice 0b1c17da4a 11 4 years ago
candice 10dc383a1f destinations下城市顺序调整 4 years ago
LiaoYijun 8d3efced56 使用 htmlentities 编码模版 4 years ago
LiaoYijun c15a41b240 取消使用 <script> 放模板 4 years ago
LiaoYijun e0bba0cbd3 使用<script>标签放置模版内容 4 years ago
LiaoYijun 59dee260b4 Merge branch 'master' of github.com:hainatravel/information-system 4 years ago
LiaoYijun 7496cba383 解决钉钉团款审批最后一步没有记录 4 years ago
尹诚诚 9614000522 测试修改数据库链接 4 years ago
赵鹏 dd5acd0ff6 Merge branch 'master' of github.com:hainatravel/information-system 4 years ago
赵鹏 2a9ded487f 样式调整 4 years ago
LiaoYijun 4591610206 Merge branch 'master' of github.com:hainatravel/information-system 4 years ago
LiaoYijun 45be6c8c24 GH 增加 addthis 插件 4 years ago
赵鹏 7da4fcbc20 Merge branch 'master' of github.com:hainatravel/information-system 4 years ago
赵鹏 ab08c5c9cd json数据里面放入html代码的处理 4 years ago
尹诚诚 fc4c6f5976 测试修改数据库链接 4 years ago
LiaoYijun ff01ec3f8e 修改调换标签位置 4 years ago
LiaoYijun 304675a8b8 增加天气预报模板 4 years ago
赵鹏 8ec896bf81 生肖查询框 4 years ago
candice 7d93e28759 11 4 years ago
candice 7ee59ab54c 11 4 years ago
candice cee08fe3d8 11 4 years ago
candice 4d2ac026db Merge branch 'master' of github.com:hainatravel/information-system into master 4 years ago
candice aadc6be69e 11 4 years ago
尹诚诚 e9dae04eaa 测试修改数据库链接 4 years ago
hainatravel 2aacf8d269
Update .gitignore
database.php设置为不用版本管理,方便部署各站点自己的数据库
4 years ago
尹诚诚 98551cb98a 测试修改数据库链接 4 years ago
LiaoYijun 97b1f41001 GH 底部表单增加产品编号 4 years ago
赵鹏 6f220aa722 fix 4 years ago
赵鹏 1b6ef9a849 Merge branch 'master' of github.com:hainatravel/information-system 4 years ago
赵鹏 0318bd0b5b 一日游表单优化 4 years ago
LiaoYijun 4718a5f0db 增加自动播放和循环设置 4 years ago
candice 37b5a4214a 文中广告修改 4 years ago
candice 6829e2c027 11 4 years ago
candice 9475d86aa8 11 4 years ago
candice e86d909ffa Merge branch 'master' of github.com:hainatravel/information-system into master 4 years ago
尹诚诚 bd003b4326 GH头部图片显示 4 years ago
尹诚诚 456bc82616 GH文件上传 4 years ago
尹诚诚 08de1b8759 GH文件上传 4 years ago
尹诚诚 d65a411a9b GH表单模板 4 years ago
candice 78af537cec Merge branch 'master' of github.com:hainatravel/information-system into master 4 years ago
LiaoYijun 7b216b0a7f 增加产品表单标签 4 years ago
LiaoYijun 59d254cdcd 修改移动端底部表单 4 years ago
LiaoYijun 6f43e0ea92 更新桌面端底部表单 4 years ago
LiaoYijun 20dd54a006 修改增加样式名 4 years ago
LiaoYijun 87f4d7b4e7 Check More 缺少参数 4 years ago
LiaoYijun 820183dbed Check more 增加样式 4 years ago
candice 06de212954 Merge branch 'master' of github.com:hainatravel/information-system into master 4 years ago
LiaoYijun 2964c3504e 去除站内搜索不必要的参数 4 years ago
LiaoYijun 0f85aa5ebb 修复 GH 桌面端站内搜索错误 4 years ago
LiaoYijun 497297c207 配置 GH 站内搜索 4 years ago
LiaoYijun e2c09a28d2 删除 GH 自动 TA 标签 4 years ago
LiaoYijun a0fccb9cd9 Merge branch 'master' of github.com:hainatravel/information-system 4 years ago
LiaoYijun 033bc81938 GH 增加结构化标签 Article 4 years ago
赵鹏 b66a1d199b Merge branch 'master' of github.com:hainatravel/information-system 4 years ago
赵鹏 0469e2918c fix 4 years ago
LiaoYijun a7a718d399 修复轮播 ID 错误 4 years ago
LiaoYijun 966ffb655c 推荐文章轮播自动切换移动和桌面端 4 years ago
candice a2e27da4d2 Merge branch 'master' of github.com:hainatravel/information-system into master 4 years ago
candice 43fbf8f96e 11 4 years ago
赵鹏 11f3b80495 Merge branch 'master' of github.com:hainatravel/information-system 4 years ago
赵鹏 ab40866a26 CT添加带表单的信息页类型 4 years ago
candice 5d27b50d88 11 4 years ago
candice 7b991e9841 Merge branch 'master' of github.com:hainatravel/information-system into master 4 years ago
candice 5cdf417d48 11 4 years ago
candice 453263da10 11 4 years ago
LiaoYijun adc2aa4cf1 AH 增加结构化标签:文章、面包屑 4 years ago
LiaoYijun 2a41c674a6 AH 增加结构化标签 Logo, LocalBiz, Search 4 years ago
LiaoYijun 37b11f70e4 Merge branch 'master' of github.com:hainatravel/information-system 4 years ago
LiaoYijun 71cbfa4c39 GH 增加 LOGO,LocalBuzz 结构化标签 4 years ago
candice 80718878c3 11 4 years ago
candice a2fe663a3c Merge branch 'master' of github.com:hainatravel/information-system into master 4 years ago
candice 4213d7027e 11 4 years ago
尹诚诚 60e7adbc59 Merge remote-tracking branch 'origin/master' 4 years ago
尹诚诚 11ac553c19 添加赵炎为超级管理员 4 years ago
赵鹏 ee1241f7f1 Merge branch 'master' of github.com:hainatravel/information-system 4 years ago
赵鹏 79ef39120c fix 4 years ago
尹诚诚 52283f3869 添加统计代码 4 years ago
尹诚诚 bafa2dfe14 添加统计代码 4 years ago
尹诚诚 583c3ed37b 读取0字节图片的异常处理 4 years ago
candice 6ea62d3365 11 4 years ago
尹诚诚 8bb2829112 广告模板更新 4 years ago
尹诚诚 d35c04d828 GH的静态化发布 4 years ago
尹诚诚 034ddee7dc GH的静态化发布 4 years ago
尹诚诚 0839b59708 GH的静态化发布 4 years ago
尹诚诚 af6b793dea GH的静态化发布 4 years ago
尹诚诚 b5417dfe78 Merge remote-tracking branch 'origin/master' 4 years ago
尹诚诚 e9fb05f1df GH的静态化发布 4 years ago
candice 15b0a4e306 11 4 years ago
LiaoYijun 668dd58a91 Merge branch 'master' of github.com:hainatravel/information-system 4 years ago
LiaoYijun 0cf26c5600 完成 PayPal、微信、支付宝收款审核提示 4 years ago
尹诚诚 e5b2279164 GH的静态化发布 4 years ago
尹诚诚 4291e685cd 优化批量更新 4 years ago
赵鹏 058781c896 Merge branch 'master' of github.com:hainatravel/information-system 4 years ago
赵鹏 7a3b939b5d CT加面包屑 4 years ago
尹诚诚 eb79a978f0 添加文中广告 4 years ago
尹诚诚 47a9ce1e3f 添加文中广告 4 years ago
尹诚诚 3545e692bc 添加文中广告 4 years ago
尹诚诚 22912b56b4 优化静态发布页面的速度 4 years ago
尹诚诚 781c5522fb 优化静态发布页面的速度 4 years ago
尹诚诚 c83bd0cace 优化静态发布页面的速度 4 years ago
candice 1eb41f2dbf 11 4 years ago
赵鹏 1b46c68530 day-tours版块增加导航 4 years ago
赵鹏 af3c6f8df6 Merge branch 'master' of github.com:hainatravel/information-system 4 years ago
赵鹏 95207569a5 更新谷歌跟踪代码 4 years ago
LiaoYijun 539f6454eb 增加面包屑数据 4 years ago
LiaoYijun 519a3942fb 增加 AH 面包屑功能 4 years ago
赵鹏 3f16a49f59 更新火车的谷歌跟踪代码 4 years ago
赵鹏 27fab77f7e utm_source,添加来源 4 years ago
赵鹏 77b338ce73 CT的静态化程序优化速度 4 years ago
赵鹏 3e7c44285a Merge branch 'master' of github.com:hainatravel/information-system 4 years ago
赵鹏 d216b24482 无机票数据的错误处理 4 years ago
candice 7db89ab6de 11 4 years ago
赵鹏 20aa158de9 fix 4 years ago
赵鹏 0d89928437 CT机票首页 4 years ago
赵鹏 c043483dee fix 4 years ago
赵鹏 3b2837c5f7 fix 4 years ago
赵鹏 6b8a55dff4 CH火车页面加自己的谷歌统计代码。 Daytours版块更新样式。 4 years ago
赵鹏 2a4273e2a1 移动端也显示TA 4 years ago
赵鹏 f21ebeff47 CH站点上面的daytours版块添加 4 years ago
candice 6f46939e66 11 4 years ago
赵鹏 b5ea96e917 优化手机机票接口search_simple,获取的座位类型每种只读取一个。 4 years ago
LiaoYijun d6057390e3 AH 单元广告居中展示 4 years ago
LiaoYijun 5f25353b27 首屏单元广告居中展示 4 years ago
candice 0aa95e4767 11 4 years ago
candice fe8d798487 Merge branch 'master' of github.com:hainatravel/information-system into master 4 years ago
candice 8e60f4f98a 11 4 years ago
LiaoYijun 23897c5875 AH 增加单元广告 4 years ago
尹诚诚 9b786e1b3d 社媒图片分享,优先读取标题图片,如果没有则读取移动端图片 4 years ago
尹诚诚 7e46f11383 Merge remote-tracking branch 'origin/master' 4 years ago
尹诚诚 52ad64ee9d 社媒图片分享,优先读取标题图片,如果没有则读取移动端图片 4 years ago
candice f79d976f45 11 4 years ago
candice 0d67631292 Merge branch 'master' of github.com:hainatravel/information-system into master 4 years ago
candice 6859e44716 导航增加great wall of china tours 4 years ago
尹诚诚 15d586b1bf 广告模板代码更新 4 years ago
尹诚诚 b4cc0a9f0c 广告模板代码更新 4 years ago
赵鹏 311d9161fe 字体调用 4 years ago
赵鹏 605ff16680 谷歌广告fix 4 years ago
赵鹏 8a48963e21 Merge branch 'master' of github.com:hainatravel/information-system 4 years ago
赵鹏 af29bdf3a5 广告代码fix 4 years ago
尹诚诚 1b6299dc89 GH站点变为mobile first模板 4 years ago
赵鹏 92f262ed2b fix 4 years ago
赵鹏 d2f175368a Merge branch 'master' of github.com:hainatravel/information-system 4 years ago
赵鹏 5ee239e278 火车票首页搜索框 4 years ago
LiaoYijun 339d611500 信息页面增加单元广告 4 years ago
赵鹏 cd131562eb 加CT的合作订单编码 <input type="hidden" name="utm_source" id="utm_source2" value="32150">,方便TS网站区分订单来源 4 years ago
赵鹏 c8cbe08c15 fix 4 years ago
赵鹏 fe4e7a73c7 CT火车首页搜索框 4 years ago
赵鹏 dc615cb331 Merge branch 'master' of github.com:hainatravel/information-system 4 years ago
赵鹏 f539578e6c CT火车首页搜索框 4 years ago
candice a04b362555 11 4 years ago
candice 86b372ee98 11 4 years ago
candice e8455a9b5b 11 4 years ago
candice d47271174c 11 4 years ago
candice 81c2359c9a 11 4 years ago
candice c71df1e543 11 4 years ago
candice 908c355b26 11 4 years ago
candice 2df06848e5 11 4 years ago
candice adce100a42 11 4 years ago
candice 3945256505 11 4 years ago
candice e01d4ced65 11 4 years ago
candice 4916f606f9 11 4 years ago
candice 10847ed186 11 4 years ago
candice 2662cc2bc6 11 4 years ago
candice a3f10a271d 11 4 years ago
candice 2ee2895bd7 11 4 years ago
candice 59f673fcbd 11 4 years ago
candice 89d4c80722 11 4 years ago
candice 69ce98c54d 11 4 years ago
candice a93ed6d4fa 11 4 years ago
candice de01797ca7 11 4 years ago
candice 1d43207000 11 4 years ago
candice f375833e56 11 4 years ago
candice f029e3b17f 11 4 years ago
candice b78799257f 11 4 years ago
candice eb45c59160 11 4 years ago
candice 78c4c24d0b 11 4 years ago
candice 1a1752b1fb 11 4 years ago
candice e0acf3f8fd 11 4 years ago
candice fe718d08ae 11 4 years ago
candice 8ba6d5ff8c 11 4 years ago
candice faecef8bb2 11 4 years ago
candice 723191d4d7 11 4 years ago
candice f620c0013f 11 4 years ago
candice 35a3be8ff8 11 4 years ago
candice 591e04c8e7 11 4 years ago
candice fff29b0a57 11 4 years ago
candice 10580f3e35 11 4 years ago
candice 40c0e47058 11 4 years ago
candice c13962765c 11 4 years ago
candice 4eb0d1ca28 11 4 years ago
candice acd3734b4f 11 4 years ago
candice cddac45f93 11 4 years ago
candice f6c68eba4e Merge branch 'master' of github.com:hainatravel/information-system into master 4 years ago
candice 5c20cd565a 11 4 years ago
LiaoYijun 3dc5cef590 Merge branch 'master' of github.com:hainatravel/information-system 4 years ago
LiaoYijun 453e65f8cd Merge branch 'master' of github.com:hainatravel/information-system 4 years ago
candice 1cf46eec7f 11 4 years ago
LiaoYijun d1d9e79fde 增加输出字段注释 4 years ago
candice a305a212a8 11 4 years ago
LiaoYijun bb8c922771 增加调试反馈的内容 4 years ago
LiaoYijun dc99f4b648 增加根据标签名测试功能 4 years ago
LiaoYijun 0ae4c7f954 修复读取反馈错误 4 years ago
LiaoYijun d5077c1ecc Merge branch 'master' of github.com:hainatravel/information-system 4 years ago
LiaoYijun 80fa82bd61 修改反馈标签读取错误 4 years ago
赵鹏 0078e6d3a2 no-photos.jpg 4 years ago
赵鹏 c29fbe31fc fix 4 years ago
赵鹏 93af3ee7f3 Merge branch 'master' of github.com:hainatravel/information-system 4 years ago
赵鹏 6f671e20eb 景点列表fix 4 years ago
LiaoYijun 5c3e206261 增加测试页面标题 4 years ago
LiaoYijun 6ac53e884b 增加测试反馈功能 4 years ago
LiaoYijun fd35b04a5a 上线反馈动态标签 4 years ago
赵鹏 90b4376313 景点列表只读新信息 4 years ago
赵鹏 6689f876e7 没有全价的航班,加一个默认的全价价格。 4 years ago
赵鹏 887c8bae58 Merge branch 'master' of github.com:hainatravel/information-system 4 years ago
赵鹏 49070a79ef HT2.0用到的机票接口search_simple 4 years ago
candice 23e13e5f43 11 4 years ago
LiaoYijun 023fd65432 测试反馈标签功能 4 years ago
LiaoYijun bf8d0b3567 Merge branch 'master' of github.com:hainatravel/information-system 4 years ago
赵鹏 a909791818 fix社媒图片 4 years ago
LiaoYijun 56c81240ab Merge branch 'master' of github.com:hainatravel/information-system 4 years ago
LiaoYijun cf4640f5f9 完成反馈标签功能,等网前数据库更新 4 years ago
赵鹏 c60ccebc20 /innerTrainSearch/get_train火车接口添加中文座位名称。 4 years ago
赵鹏 99ac336464 优化谷歌搜索 4 years ago
赵鹏 721353cfe2 fix 4 years ago
赵鹏 0ebf6029f7 优化导航 4 years ago
赵鹏 6bbbb1d5d8 fix 4 years ago
赵鹏 2e17795eac CT优化广告代码 4 years ago
赵鹏 696d8e5228 CT谷歌代码 4 years ago
赵鹏 ffec751bad 加谷歌广告代码 4 years ago
candice 2548a8080b 增加中亚tours入口 4 years ago
尹诚诚 1823c4b1f0 右侧顶部广告栏 4 years ago
尹诚诚 675b1be0b4 Merge remote-tracking branch 'origin/master'
# Conflicts:
#	application/views/mobile_first/ch-pc.php
4 years ago
尹诚诚 584eb6b4e4 右侧顶部广告栏 4 years ago
candice 474a5d1668 撤下品牌内容 4 years ago
赵鹏 484be43c5e Merge branch 'master' of github.com:hainatravel/information-system 4 years ago
赵鹏 4b4309bcfe 添加机票搜索接口 4 years ago
candice 8fd34ab6d7 导航增加china winter tours 4 years ago
赵鹏 3adf6d249a CT增加Addthis社媒代码 4 years ago
尹诚诚 486c3bad9a 加快静态化速度,减少查询内容 4 years ago
尹诚诚 75c223b945 去掉鼠标焦点 4 years ago
尹诚诚 35654f4f72 Merge remote-tracking branch 'origin/master' 4 years ago
尹诚诚 84b39ccde1 更新广告模板 4 years ago
LiaoYijun 744d4d503a 修改首页结构化标签错误 4 years ago
尹诚诚 3d4611ef22 默认推荐列表图片修改 4 years ago
尹诚诚 fef80129ec 添加测试页面 4 years ago
candice b786e90d05 11 4 years ago
candice f3ccdf1f5b 11 4 years ago
candice 86bd83512d 11 4 years ago
candice 0ec25293e8 11 4 years ago
candice 82613ae3aa 11 4 years ago
尹诚诚 085c8e760c CH文中信息推荐 4 years ago
尹诚诚 66b88fa041 CH图片添加宽高,添加受限说明 4 years ago
尹诚诚 ad86a8577b CH图片添加宽高 4 years ago
candice c50d688abb 11 4 years ago
candice bd3b34923e 11 4 years ago
candice 304d50e444 11 4 years ago
candice 9ff0e7aed2 11 4 years ago
candice 2dd07df33d 11 4 years ago
candice aeb472e1ef 11 4 years ago
candice 908beb13b8 Merge branch 'master' of github.com:hainatravel/information-system into master 4 years ago
candice 7aeb161d51 11 4 years ago
LiaoYijun 62f1a33cdb Merge branch 'master' of github.com:hainatravel/information-system 4 years ago
LiaoYijun f03282b2ba 更新 dns-prefetch 域名地址错误 4 years ago
candice 77088852de 11 4 years ago
candice 57153a306d 11 4 years ago
candice e12a6c3192 11 4 years ago
candice 3a21adeb38 11 4 years ago
candice f9f8059b19 Merge branch 'master' of github.com:hainatravel/information-system into master 4 years ago
candice 2353ced23a 底部轮换修改 4 years ago
尹诚诚 4b094e5971 CH推荐上线 4 years ago
LiaoYijun 40dce1aa6e 上线信息页面的结构化标签 4 years ago
LiaoYijun 8c7091af6c Merge branch 'master' of github.com:hainatravel/information-system 4 years ago
LiaoYijun b3cd03fcc9 修改更新日期格式 4 years ago
candice f50a38fa9d 11 4 years ago
candice 44419a5285 Merge branch 'master' of github.com:hainatravel/information-system into master 4 years ago
candice dace46bdb0 11 4 years ago
LiaoYijun 0e095098c2 解决作者名字错误 4 years ago
LiaoYijun d87a6cdbca 测试信息页面结构化标签 4 years ago
LiaoYijun 02be4434e3 增加搜索框的结构化标签 4 years ago
candice 6358ce1b8a 11 4 years ago
尹诚诚 5c2dc2cdbd CH推荐上线 4 years ago
尹诚诚 a1b129ae80 CH推荐上线 4 years ago
尹诚诚 56d503915f CH推荐上线 4 years ago
尹诚诚 b4114c2d98 CH推荐上线 4 years ago
尹诚诚 ea3cf23c47 CH推荐上线 4 years ago
candice db6363f059 11 4 years ago
candice fb50b00c88 Merge branch 'master' of github.com:hainatravel/information-system into master 4 years ago
candice 4487ffe24f 11 4 years ago
LiaoYijun f0c864c647 Merge branch 'master' of github.com:hainatravel/information-system 4 years ago
LiaoYijun e4b4a4e645 增加首页的判断 4 years ago
LiaoYijun 6577957648 Merge branch 'master' of github.com:hainatravel/information-system 4 years ago
LiaoYijun b139ceb4ce 面包屑结构化标签测试完成,上线使用 4 years ago
candice 3b9e1b8f9a 11 4 years ago
candice 69c14133ec Merge branch 'master' of github.com:hainatravel/information-system into master 4 years ago
candice 66f77da451 11 4 years ago
LiaoYijun a1336615a0 修改模板替换方法 4 years ago
candice e022a1f2a1 11 4 years ago
candice f7a55b9594 Merge branch 'master' of github.com:hainatravel/information-system into master 4 years ago
candice 72302c0e24 11 4 years ago
LiaoYijun f218fa00cc 测试为什么无法替换标签 4 years ago
candice 3d2085294e Merge branch 'master' of github.com:hainatravel/information-system into master 4 years ago
candice 2ed6d61fb8 11 4 years ago
LiaoYijun 3c8b68d7db 增加面包屑标签无法替换的调试信息 4 years ago
LiaoYijun 6f3dea3b10 is_id 使用字符方式来判断 4 years ago
LiaoYijun 611e197a75 修改测试页面的判断方式 4 years ago
LiaoYijun 7eb095043d 桌面端模板增加结构化标签 4 years ago
LiaoYijun 508e870471 增加面包屑结构化标签测试 4 years ago
LiaoYijun f678d36064 增加面包屑数量调试 4 years ago
LiaoYijun c9d1464eee 修复 Chinese Culture 类别错误 4 years ago
candice 10c908084d 11 4 years ago
candice 3093c4856a Merge branch 'master' of github.com:hainatravel/information-system into master 4 years ago
candice b8aa80b3a8 11 4 years ago
尹诚诚 1eee5dad9f Merge remote-tracking branch 'origin/master' 4 years ago
尹诚诚 70edded666 显示url title 4 years ago
LiaoYijun 16a9145f60 信息页面展示面包屑 4 years ago
candice 69f1c02fcb 11 4 years ago
candice 9a393a258e 11 4 years ago
candice 960d9e7dd5 11 4 years ago
candice ca8eab47fb 11 4 years ago
candice 52c8f5d152 11 4 years ago
candice da9cc5402a Merge branch 'master' of github.com:hainatravel/information-system into master 4 years ago
LiaoYijun d072dbf25e 修改面包屑注释 4 years ago
candice 203a2ea4ce 11 4 years ago
LiaoYijun 84edfc6a00 修改面包屑的位置 4 years ago
LiaoYijun f2a3dbd52b 增加产品页面的面包屑标签测试 4 years ago
LiaoYijun d258c778ea 增加面包屑索引 4 years ago
LiaoYijun d79092c571 使用 IS_ID 进行存储 4 years ago
LiaoYijun 1b687eac8e 更新 Group Map 的键值类型 4 years ago
LiaoYijun 85beb2771d Merge branch 'master' of github.com:hainatravel/information-system 4 years ago
LiaoYijun ba9464f099 更新第二级目录规则 4 years ago
尹诚诚 19cf7b98b5 显示url title 4 years ago
尹诚诚 d010b38584 显示url title 4 years ago
candice c7592f3de5 11 4 years ago
candice c5d82935ed 11 4 years ago
candice b4f24437ff 11 4 years ago
candice ace76ad992 11 4 years ago
candice 5866843cd2 11 4 years ago
candice 6448d134e4 11 4 years ago
candice 8324c5a430 11 4 years ago
candice 035d71d48f 11 4 years ago
candice fe7863d5d5 11 4 years ago
candice 3b76d61f83 Merge branch 'master' of github.com:hainatravel/information-system into master 4 years ago
candice 51309838f4 11 4 years ago
LiaoYijun 41cee54d8a is_id 修改为数值判断 4 years ago
LiaoYijun dcf261137e 面包屑 IC_ID 修改为 IS_ID 4 years ago
LiaoYijun c79a5cad39 增加 IC_ID 的判断和输出 4 years ago
candice cc58c179c6 11 4 years ago
candice 7452c01cd5 11 4 years ago
candice 1020e95f97 11 4 years ago
candice caa6b12a91 11 4 years ago
candice 785f2eb199 11 4 years ago
candice f340053efa 11 4 years ago
candice 1307399599 11 4 years ago
candice e4f170dd53 Merge branch 'master' of github.com:hainatravel/information-system into master 4 years ago
candice ed76ed5c07 11 4 years ago
LiaoYijun daa8d51f97 更新面包屑显示标签 4 years ago
LiaoYijun 5e19d6b69a 测试面包屑数据查询功能 4 years ago
candice b559ef76e0 11 4 years ago
candice 12fd644db5 11 4 years ago
candice 2d1814970f 11 4 years ago
赵鹏 93d4fd6ed2 Merge branch 'master' of github.com:hainatravel/information-system 4 years ago
赵鹏 9f4c2119bc TS产品增加快捷预订属性设置 4 years ago
LiaoYijun 1f7c7d2dad 增加结构化标签 Logo, LocalBus 4 years ago
candice 89b0a6d408 22 4 years ago
candice 54aee37558 11 4 years ago
candice 7dc66e5cdf 11 4 years ago
candice 69438e8088 11 4 years ago
candice 7e10a9f181 11 4 years ago
尹诚诚 92b1a8276c 添加why us的tag 4 years ago
赵鹏 e1f6367068 Merge branch 'master' of github.com:hainatravel/information-system 4 years ago
赵鹏 8db05f91aa 添加获取价格接口get_priceinfo 4 years ago
candice 897229fafd 11 4 years ago
candice 86ad1253af 二维码图加链接 4 years ago
赵鹏 a4c8b9c2aa 携程接口的预售期也改为15天,但是接口数据不正常,无法测试。 4 years ago
赵鹏 b7eedd11b1 Merge branch 'master' of github.com:hainatravel/information-system 4 years ago
赵鹏 9bdf3337e2 修改预售期为15天,不再是30天 4 years ago
candice 10286f3469 11 4 years ago
candice dcaa8f15c1 移动端cookie使用提醒删除 4 years ago
candice 9ac8423cc3 11 4 years ago
赵鹏 3e346cfc66 test 4 years ago
赵鹏 da5736c334 火车票搜索框模板 4 years ago
赵鹏 fda1a22ad1 fix 4 years ago
赵鹏 a0e90a2b3e Merge branch 'master' of github.com:hainatravel/information-system 4 years ago
赵鹏 b3335fda31 CH火车信息页面添加搜索框 4 years ago
candice 59d4f2ecdf 11 4 years ago
candice 238a1a84ea 11 4 years ago
candice b1b7df4fb3 火车版块添加链接在导航 4 years ago
candice 33cf381154 11 4 years ago
candice 1cc7de3f07 Merge branch 'master' of github.com:hainatravel/information-system into master 4 years ago
candice 48a99fa26f 11 4 years ago
尹诚诚 758cfc864c 推荐信息的范围内随机不重复处理 4 years ago
尹诚诚 b4f74c0733 调试信息推荐 4 years ago
candice 8c5c3cbd34 11 4 years ago
candice bda427ea06 AH增加推荐至8个 4 years ago
尹诚诚 9b2ef9e847 内容中推荐信息和线路 4 years ago
尹诚诚 d97ddef732 内容中推荐信息和线路 4 years ago
尹诚诚 580f96057d 内容中推荐信息和线路 4 years ago
尹诚诚 1644318fd7 内容中推荐信息和线路 4 years ago
赵鹏 27495aaf52 Merge branch 'master' of ssh://git.hainatravel.com:30001/developers/information-system 4 years ago
赵鹏 7ef47af2ae CT从旧URL导入内容到新信息功能 4 years ago
尹诚诚 ef5e753cb9 随机获取节点,改为用is_path判断,含子节点 4 years ago
尹诚诚 9a76f19974 添加文中线路推荐 4 years ago
candice 59cedae0fb member icon图片修改 4 years ago
尹诚诚 81fb8259f3 添加文中线路推荐 4 years ago
尹诚诚 97ce9facd3 添加文中广告推荐 4 years ago
LiaoYijun 723f036466 增加网站 Cookie 使用声明 4 years ago
尹诚诚 1b1c50c888 添加更多推荐信息和线路框 4 years ago
candice cc7a85ed6a Merge branch 'master' of github.com:hainatravel/information-system into master 4 years ago
赵鹏 74aa0ed5c6 fix 4 years ago
赵鹏 7e946a3d04 Merge branch 'master' of ssh://git.hainatravel.com:30001/developers/information-system 4 years ago
赵鹏 9c4d5f6157 优化产品页面预订按钮及表单。 4 years ago
candice 81e4b67889 Merge branch 'master' of github.com:hainatravel/information-system into master 4 years ago
candice b2bb67b747 底部推荐增加至8条 4 years ago
尹诚诚 f39679f86e 内容图片 4 years ago
尹诚诚 d39b8c3da7 Merge remote-tracking branch 'origin/master' 4 years ago
尹诚诚 a0eec7c646 广告默认模板 4 years ago
赵鹏 fac87c775b Merge branch 'master' of ssh://git.hainatravel.com:30001/developers/information-system 4 years ago
赵鹏 3deafac79e 一日游列表排除重复产品(翰特读取的产品排除已经搬迁到信息平台的。) 4 years ago
LiaoYijun 0a04598ba3 Merge branch 'master' of github.com:hainatravel/information-system 4 years ago
LiaoYijun d1bf4718ea 删除不需要的令牌字段 4 years ago
尹诚诚 5b824b07a9 广告过期提醒颜色 4 years ago
尹诚诚 7e8874dc62 广告和图片选择的便捷化功能开发 4 years ago
尹诚诚 75df6a8a64 取消 gogole reCaptcha V3,自己开发主动防御代码,在提交订单之前修改隐藏表单的值来判断对方是否是机器提交,原理是机器提交是不会执行本地js函数的 4 years ago
candice 772b4b8176 CH头部导航链接更换 4 years ago
59361885@qq.com 1fa7e20bc9 ok 4 years ago
LMR e6071931c9 修复图标 4 years ago
LMR b8172ef289 ok 4 years ago
LMR 6ab6efba43 忽略 JHTPP 4 years ago
LMR 187678c378 ok 4 years ago
candice 4f35f71dee 11 4 years ago
candice de59da674e 11 4 years ago
candice 33c5958e4b 11 4 years ago
candice be2b43d66b 11 4 years ago
LiaoYijun 20a9de0ffe 测试自动部署 4 years ago
LiaoYijun f752540525 增加邮箱验证错误信息 4 years ago
LiaoYijun 21bdb1b426 测试新服务器自动部署 4 years ago
尹诚诚 c303f21c04 延迟加载 gogole reCaptcha V3 脚本 4 years ago
赵鹏 c9cb64b504 Merge branch 'master' of github.com:hainatravel/information-system 4 years ago
赵鹏 e694bb9535 图片无需延迟加载的判断 4 years ago
candice 19ee8b6027 11 4 years ago
candice d6612aede7 Merge branch 'master' of github.com:hainatravel/information-system into master 4 years ago
尹诚诚 0d8bec8fca 防垃圾测试 gogole reCaptcha V3 4 years ago
LMR 39f3ddadfc +1 新窗口打开 4 years ago
LMR 722cb129c2 添加图片上传管理 4 years ago
LMR c859983c1a fix 4 years ago
LMR dbdcc677d7 ok 4 years ago
赵鹏 f27931d894 fix 4 years ago
赵鹏 25853867d1 价格靠9修改参数 4 years ago
赵鹏 f69f98507f Merge branch 'master' of github.com:hainatravel/information-system 4 years ago
赵鹏 13b4b2926c fix 4 years ago
尹诚诚 7e5efb0541 inquiry form表单标签化 4 years ago
赵鹏 ae4d2ea6ef chengdu链接fix 4 years ago
赵鹏 78db95ca6c fix 4 years ago
赵鹏 2817801c39 fix 4 years ago
赵鹏 eb6e695c9c 优化头部导航 4 years ago
candice 87ff06aaff Merge branch 'master' of github.com:hainatravel/information-system into master 4 years ago
candice 7ec3d49ca9 11 4 years ago
赵鹏 21e86a8c19 Merge branch 'master' of github.com:hainatravel/information-system 4 years ago
赵鹏 4362edd646 增加图片批量更新延迟加载及图片设置宽高功能 4 years ago
尹诚诚 1dd1760959 隐藏创建信息分组 4 years ago
candice de5d56adb6 错误链接修改 4 years ago
尹诚诚 057506c230 广告编辑替换多媒体图片临时预览地址 4 years ago
尹诚诚 41d9b6a370 AH模板优先显示视频 4 years ago
candice 978cf60284 链接修改 4 years ago
candice 66eb3c4a51 链接修改 4 years ago
尹诚诚 2c3a0caf6c 注释修改 4 years ago
尹诚诚 f6618739b7 推荐内容的表格错位问题 4 years ago
candice 597f2bda0f 底部推荐表格修改 4 years ago
candice 3c96cb1fef 11 4 years ago
candice 50dbe9d964 底部推荐文章修改 4 years ago
candice bc4b1e939c 11 4 years ago
candice a2d673c4e0 底部推荐线路修改 4 years ago
赵鹏 e9f6a8dfbe Merge branch 'master' of github.com:hainatravel/information-system 4 years ago
赵鹏 3ed13ac8f2 fix 4 years ago
candice d4c5432f3d about us链接修改 4 years ago
赵鹏 902bc8ae57 js加延迟 4 years ago
赵鹏 e1fca99852 Merge branch 'master' of github.com:hainatravel/information-system 4 years ago
赵鹏 9812ebc1c4 底部链接修改。 4 years ago
candice 87ae9f301d 删除链接新窗口打开 4 years ago
尹诚诚 7bbfc81869 广告过期时间可以选择月份和年 4 years ago
尹诚诚 91e8a9e250 文章内容中广告管理和显示 4 years ago
尹诚诚 301a68f88f 文章内容自动添加缓加载 4 years ago
candice c49cce0833 品牌信息位置修改 4 years ago
candice 8ebc302f18 增加品牌信息 4 years ago
赵鹏 3dc8ccafe9 fix 4 years ago
赵鹏 90c8b91717 js加defer 4 years ago
赵鹏 2a25752e54 底部图片延迟加载 4 years ago
赵鹏 2bfb2f4e84 contactus表单添加 4 years ago
赵鹏 cf6a649a40 优化日历样式读取 4 years ago
赵鹏 2556925c14 表单底部特殊处理 4 years ago
赵鹏 31499393d4 fix 4 years ago
赵鹏 db61dde3da 一日游列表图片读取规则更新 4 years ago
赵鹏 84c06cb1da Merge branch 'master' of github.com:hainatravel/information-system 4 years ago
赵鹏 68430b5763 增加表单项 4 years ago
赵鹏 b6fcf2e021 解决旧图片使用data.chinatravel.com的错误 4 years ago
CandiceSong 760af55dd0 11 4 years ago
CandiceSong 007ed6e693 Merge branch 'master' of github.com:hainatravel/information-system 4 years ago
CandiceSong 3813963966 右侧广告调整 4 years ago
ycc b849b0d8b2 Merge remote-tracking branch 'origin/master' 4 years ago
ycc f9d9c6b9d8 范围内随机规则,保存前清除前后空格 4 years ago
CandiceSong 1c5571b912 11 4 years ago
CandiceSong aa3b0a84e2 Merge branch 'master' of github.com:hainatravel/information-system 4 years ago
ycc 6644d63231 范围内随机规则 4 years ago
CandiceSong 153eede0e8 Merge branch 'master' of github.com:hainatravel/information-system 4 years ago
CandiceSong 2460844192 11 4 years ago
ycc 6bcccf02bc 继承上级规则不生效问题 4 years ago
ycc 683494c375 查询条件不生效问题 4 years ago
ycc 31899a1c6e 关闭聚合查询失败日志 4 years ago
ycc c44f0fa941 上线信息推荐管理 4 years ago
CandiceSong 49337b79a2 按钮链接 4 years ago
CandiceSong 927ba4da9b 推荐标题文字修改 4 years ago
ycc faaea8448b 上线信息推荐管理 4 years ago
ycc 7fc90fc197 上线信息推荐管理 4 years ago
ycc 850f9f4d34 上线信息推荐管理 4 years ago
ycc 56a213805d 上线信息推荐管理 4 years ago
ycc be84a8f665 上线信息推荐管理 4 years ago
ycc 33a57226fc 上线信息推荐管理 4 years ago
ycc 83d256f8c4 上线信息推荐管理 4 years ago
ycc a4b2010363 上线信息推荐管理 4 years ago
ycc 13b2454030 上线信息推荐管理 4 years ago
ycc f1954b814e 上线信息推荐管理 4 years ago
ycc 8f50024b8b 上线信息推荐管理 4 years ago
ycc 5c0b4dc627 上线信息推荐管理 4 years ago
赵鹏 26243b5959 lihghthouse pic fix 4 years ago
赵鹏 aa66102a67 lighthouse 图片处理 4 years ago
赵鹏 e6f7373637 Merge branch 'master' of github.com:hainatravel/information-system 4 years ago
赵鹏 5dedd85ffa fix weather 4 years ago
CandiceSong cdce06e160 日历控件 4 years ago
赵鹏 c6ea355881 Merge branch 'master' of github.com:hainatravel/information-system 4 years ago
赵鹏 72eb29cdf5 天气预报添加 4 years ago
CandiceSong 92df5a2763 社媒图片修改 4 years ago
ycc 320261d41e 上线信息推荐管理 4 years ago
CandiceSong 53f63967fe Merge branch 'master' of github.com:hainatravel/information-system 4 years ago
赵鹏 38634f32ca lighthouse优化 4 years ago
赵鹏 8fefc6c09c 根据lighthouse优化按钮,a标签 4 years ago
CandiceSong 9945a61e6c Merge branch 'master' of github.com:hainatravel/information-system 4 years ago
CandiceSong ba4a95758c 加入作者信息 4 years ago
赵鹏 f3cbbbb317 Merge branch 'master' of github.com:hainatravel/information-system 4 years ago
赵鹏 0c436630b1 导航优化 4 years ago
CandiceSong 0e913817bf PC搜索框 4 years ago
CandiceSong 1ba3cc7c8f PC搜索框 4 years ago
CandiceSong 64e43e5680 Merge branch 'master' of github.com:hainatravel/information-system 4 years ago
CandiceSong 0c5529518e 搜索框调整 4 years ago
赵鹏 fd2a487c3d Merge branch 'master' of github.com:hainatravel/information-system 4 years ago
赵鹏 829a054562 显示价格排序 4 years ago
CandiceSong 49ced89a59 11 4 years ago
CandiceSong 35eaf9c51c Merge branch 'master' of github.com:hainatravel/information-system 4 years ago
CandiceSong f43759d085 11 4 years ago
赵鹏 6e8a5a5327 fix 4 years ago
赵鹏 1adfe16118 不分人等价格 4 years ago
赵鹏 f8f68ef6cf Merge branch 'master' of github.com:hainatravel/information-system 4 years ago
赵鹏 3b2dd36d73 获取一日游价格表 4 years ago
CandiceSong ffe13c1e06 模板调整 4 years ago
CandiceSong b1245857a5 模板细节修改 4 years ago
赵鹏 e9c00d8922 线路获取价格fix 4 years ago
赵鹏 38f68af915 线路详细页 4 years ago
赵鹏 9bb91a9125 日历控件优化 4 years ago
赵鹏 2411380993 日历控件集成,减少单独调用时间 4 years ago
赵鹏 33c2f5ab9f Merge branch 'master' of github.com:hainatravel/information-system 4 years ago
赵鹏 7d12b84a69 日历框优化 4 years ago
ycc 07ee0cfb32 Google搜索和add this插件 4 years ago
ycc 43ab202d28 Google搜索和add this插件 4 years ago
ycc 6a97f9e1ad AH移动优先发布 4 years ago
ycc b94b472a83 Merge remote-tracking branch 'origin/master' 4 years ago
ycc 83f4f04c14 AH移动优先发布 4 years ago
赵鹏 a053555080 Merge branch 'master' of github.com:hainatravel/information-system 4 years ago
赵鹏 bd8d5b81cf 一日游详细页模板优化 4 years ago
ycc 1a47f631aa Merge remote-tracking branch 'origin/master' 4 years ago
ycc c456b6a6bd AH移动优先发布 4 years ago
赵鹏 c08a0cdef7 fix 4 years ago
赵鹏 297c94ddb0 fix 4 years ago
赵鹏 4092538385 Merge branch 'master' of github.com:hainatravel/information-system 4 years ago
赵鹏 4fc4f30f31 一日游详细页 4 years ago
ycc 5412018e37 AH移动优先发布 4 years ago
ycc 51634ef805 AH移动优先发布 4 years ago
ycc 69aef86264 Merge remote-tracking branch 'origin/master' 4 years ago
ycc 8e75072c0c AH移动优先发布 4 years ago
赵鹏 de4f2bafa5 Merge branch 'master' of github.com:hainatravel/information-system 4 years ago
赵鹏 b4da297fdf 景点图片获取修复 4 years ago
ycc f5099d8ff2 Merge remote-tracking branch 'origin/master'
# Conflicts:
#	application/controllers/information.php
4 years ago
ycc a2e84142b7 AH移动优先发布 4 years ago
赵鹏 e9e442c4b0 标题不显示修复 4 years ago
赵鹏 d3b7b136b0 信息列表完成 4 years ago
赵鹏 f9f2cad704 底部三个bbc图标去掉链接 4 years ago
赵鹏 7885fde984 底部BBC修改 4 years ago
赵鹏 ee36ab6499 所有调用地址改为网前 4 years ago
赵鹏 281645a224 fix 4 years ago
赵鹏 90774ce3df Merge branch 'ct-mobile-first'
# Conflicts:
#	application/controllers/welcome.php
#	application/views/bootstrap3/information_edit.php
4 years ago
ycc b767eb5535 开放广告测试 4 years ago
ycc 4187fd7c56 开放广告测试 4 years ago
ycc 84e168b4da 开放广告测试 4 years ago
ycc 824425cdd8 开放广告测试 4 years ago
ycc 91a8611404 开放广告测试 4 years ago
ycc cfae4d1241 开放广告选项 4 years ago
ycc ecd1a3b365 快速图片上传功能的安装说明 4 years ago
ycc bb4b1d70a4 添加图片上传功能 4 years ago
ycc 5bdf0b5d2e 改了个链接 4 years ago
ycc e4936fa835 添加根节点操作菜单 4 years ago
ycc 889b9cb077 日期样式调整 4 years ago
ycc 3e891e0518 模板调整 4 years ago
ycc 537dd7d758 模板调整 4 years ago
ycc 8b01ba7eae 模板调整 4 years ago

@ -0,0 +1,37 @@
# Disabled
name: 🚀 Deploy INFO-SYS
on:
# Triggers the workflow on push or pull request events but only for the master branch
push:
branches: [ master ]
jobs:
gh-win-cn-all-deploy:
name: 🎉 Deploy InfoSys to CN
runs-on: ubuntu-latest
steps:
- name: 🚚 Get latest code
uses: actions/checkout@v3
- name: 📂 Sync files
uses: SamKirkland/FTP-Deploy-Action@v4.3.4
with:
server: ${{ secrets.CN_FTP_SERVER }}
username: ${{ secrets.CN_FTP_USER }}
password: ${{ secrets.CN_FTP_PASSWORD }}
port: ${{ secrets.CN_FTP_PORT }}
local-dir: ./
server-dir: /wwwroot/origin-cht.mycht.cn/
# dry-run: true
# log-level: verbose
exclude: |
**/.git*
**/.git*/**
**/node_modules/**
document/**
download_statement/**
sample/**
**/logs/**
**/web.config
**/author/document/**
*.exe
*.docx

@ -0,0 +1,183 @@
name: 🚀 Deploy INFO-SYS
on:
# Triggers the workflow on push or pull request events but only for the master branch
push:
branches: [ master ]
jobs:
gh-win-cn-deploy:
name: 🎉 Deploy InfoSys to CN
runs-on: ubuntu-latest
steps:
- name: 🚚 Get latest code
uses: actions/checkout@v3
- name: 📂 Sync files to CHT
uses: SamKirkland/FTP-Deploy-Action@v4.3.4
with:
server: ${{ secrets.CN_FTP_SERVER }}
username: ${{ secrets.CN_FTP_USER }}
password: ${{ secrets.CN_FTP_PASSWORD }}
port: ${{ secrets.CN_FTP_PORT }}
local-dir: ./
server-dir: /wwwroot/origin-cht.mycht.cn/
# dry-run: true
# log-level: verbose
exclude: |
**/.git*
**/.git*/**
**/node_modules/**
document/**
download_statement/**
sample/**
**/logs/**
**/web.config
**/author/document/**
*.exe
*.docx
.ftp-deploy-sync-state.json
gh-win-us-deploy:
needs: gh-win-cn-deploy
name: 🎉 Deploy InfoSys to US
runs-on: ubuntu-latest
steps:
- name: 🚚 Get latest code
uses: actions/checkout@v3
- name: 📂 Sync files to CHT
uses: SamKirkland/FTP-Deploy-Action@v4.3.4
with:
server: ${{ secrets.US_FTP_SERVER }}
username: ${{ secrets.US_FTP_USER }}
password: ${{ secrets.US_FTP_PASSWORD }}
port: ${{ secrets.US_FTP_PORT }}
local-dir: ./
server-dir: /information-system/
# dry-run: true
exclude: |
**/.git*
**/.git*/**
**/node_modules/**
document/**
download_statement/**
sample/**
**/logs/**
**/web.config
**/author/document/**
*.exe
*.docx
.ftp-deploy-sync-state.json
- name: 📂 Sync files to CT
uses: SamKirkland/FTP-Deploy-Action@v4.3.4
with:
server: ${{ secrets.US_FTP_SERVER }}
username: ${{ secrets.US_FTP_USER }}
password: ${{ secrets.US_FTP_PASSWORD }}
port: ${{ secrets.US_FTP_PORT }}
local-dir: ./
server-dir: /origin-ct.mycht.cn/
# dry-run: true
exclude: |
**/.git*
**/.git*/**
**/node_modules/**
document/**
download_statement/**
sample/**
**/logs/**
**/web.config
**/author/document/**
*.exe
*.docx
.ftp-deploy-sync-state.json
hn-notification:
needs: gh-win-cn-deploy
name: 🔔 Send notificaiton
runs-on: ubuntu-latest
if: always() # set "always"
steps:
- name: 🚚 Get latest code
uses: actions/checkout@v3
# run this action to get the workflow conclusion
# You can get the conclusion via env (env.WORKFLOW_CONCLUSION)
- uses: technote-space/workflow-conclusion-action@v3
- name: Expose git commit data
uses: rlespinasse/git-commit-data-action@v1
- name: Print git commit data
run: |
echo "Get workflow conclusion"
echo " - ${{ env.WORKFLOW_CONCLUSION }}"
echo "Get commit info"
echo " - ${{ env.GIT_COMMIT_SHA }}"
echo " - ${{ env.GIT_COMMIT_SHORT_SHA }}"
# echo "Get author info"
# echo " - ${{ env.GIT_COMMIT_AUTHOR }}"
# echo " - ${{ env.GIT_COMMIT_AUTHOR_NAME }}"
# echo " - ${{ env.GIT_COMMIT_AUTHOR_EMAIL }}"
# echo "Get committer info"
# echo " - ${{ env.GIT_COMMIT_COMMITTER }}"
# echo " - ${{ env.GIT_COMMIT_COMMITTER_NAME }}"
# echo " - ${{ env.GIT_COMMIT_COMMITTER_EMAIL }}"
# echo "Get message info"
# echo " - ${{ env.GIT_COMMIT_MESSAGE_SUBJECT }}"
# echo " - ${{ env.GIT_COMMIT_MESSAGE_SUBJECT_SANITIZED }}"
# echo " - ${{ env.GIT_COMMIT_MESSAGE_BODY }}"
- name: ✉ Send some mail
uses: dawidd6/action-send-mail@v3
with:
# Specify connection via URL (replaces server_address, server_port, secure,
# username and password)
#
# Format:
#
# * smtp://user:password@server:port
# * smtp+starttls://user:password@server:port
# connection_url: ${{secrets.MAIL_CONNECTION}}
# Required mail server address if not connection_url:
server_address: hwsmtp.exmail.qq.com
# Server port, default 25:
server_port: 465
# Optional whether this connection use TLS (default is true if server_port is 465)
secure: true
# Optional (recommended) mail server username:
username: ${{secrets.MAIL_USERNAME}}
# Optional (recommended) mail server password:
password: ${{secrets.MAIL_PASSWORD}}
# Required mail subject:
subject: ${{env.WORKFLOW_CONCLUSION}} ${{ github.repository }}
# Required recipients' addresses:
to: ${{ env.GIT_COMMIT_COMMITTER_EMAIL }}
# Required sender full name (address can be skipped):
from: Git # <user@example.com>
# Optional plain body:
body: |
${{ env.WORKFLOW_CONCLUSION }}
${{ github.repository }}
${{ env.GIT_COMMIT_SHORT_SHA }}: ${{ env.GIT_COMMIT_MESSAGE_SUBJECT }}
# Optional HTML body read from file:
# html_body: file://README.html
# Optional carbon copy recipients:
# cc: lyt@hainatravel.com
# Optional blind carbon copy recipients:
# bcc: r2d2@example.com,hansolo@example.com
# Optional recipient of the email response:
# reply_to: luke@example.com
# Optional Message ID this message is replying to:
# in_reply_to: <random-luke@example.com>
# Optional unsigned/invalid certificates allowance:
ignore_cert: true
# Optional converting Markdown to HTML (set content_type to text/html too):
convert_markdown: true
# Optional attachments:
# attachments: attachments.zip,git.diff,./dist/static/*.js
# Optional priority: 'high', 'normal' (default) or 'low'
priority: low

8
.gitignore vendored

@ -1,5 +1,8 @@
.idea
.phpintel
/info.php
.*.json.bak
.ftp-deploy-sync-state.json
.svn/*
*/logs/log*
/web.config
@ -7,7 +10,12 @@
/kcfinder/cache/*
*/cache/*
/author/document/*
*/settlement_files/*
*/statement_files/*
*/paypal_activities/*
/author/document/*
/application/libraries/composer
/application/config/database.php

@ -2,3 +2,5 @@
网前订单数量查看 https://cht.mycht.cn/info.php/look_order/status
商务加传统订单超过500页面报错可用于监控
test

@ -1 +0,0 @@
deny from all

File diff suppressed because it is too large Load Diff

@ -158,7 +158,7 @@ class Cache extends CI_Controller
$file_temp = str_replace('###', '', $file_temp);
$path_temp = str_replace($this->dir, '', $dir);
$url_temp = $this->current_domain . $path_temp . '/' . $file_temp;
$url_temp = str_replace('index.htm', '', $url_temp);
$url_temp = str_replace('/index.htm', '/', $url_temp);
$file_time[$url_temp] = date("F d Y H:i:s", filemtime("$dir/$f"));
$encode = mb_detect_encoding($url_temp, array('ASCII', 'GBK', 'ISO-8859-1', 'UTF-8'));

@ -42,7 +42,7 @@ class City extends CI_Controller
//$is_sort=-99 代表根节点
public function addnode($is_parent_id,$is_sort=-99){
$Structure = $this->InfoStructures_model->Detail($is_parent_id);
if ($Structure == FALSE) {
if ($is_parent_id!=='-99' && $Structure == FALSE ) {
show_404();
}

@ -29,7 +29,7 @@ class Info_amp extends CI_Controller
$pc_html = $this->input->get_post('pc_html');
$pc_css = $this->input->get_post('pc_css');
$css = $this->input->get_post('css');
$schema = $this->input->get_post('schema');
$schema = $this->input->get_post('schema');
$script = $this->input->get_post('script');
$status = $this->input->get_post('status');
@ -86,7 +86,7 @@ class Info_amp extends CI_Controller
} else {
$this->InfoMetas_model->update($icid, 'AMP_SCRIPT', $script);
}
//schema
//schema
$meta = $this->InfoMetas_model->get($icid, 'AMP_SCHEMA');
if ($meta === FALSE) {
$this->InfoMetas_model->add($icid, 'AMP_SCHEMA', $schema);
@ -103,10 +103,10 @@ class Info_amp extends CI_Controller
echo json_encode(array(
"succ" => true
));
} catch(Exception $e) {
} catch (Exception $e) {
echo json_encode(array(
"succ" => false,
"message" => "save_amp() -> ".$e->getMessage()
"message" => "save_amp() -> " . $e->getMessage()
));
}
} else {
@ -165,14 +165,14 @@ class Info_amp extends CI_Controller
$json = $this->InfoMetas_model->get($icid, 'AMP_JSON');
$status = $this->InfoMetas_model->get($icid, 'AMP_STATUS');
$schema = $this->InfoMetas_model->get($icid, 'AMP_SCHEMA');
$schema = $this->InfoMetas_model->get($icid, 'AMP_SCHEMA');
if ($json) {
echo json_encode(array(
"succ" => true,
"icid" => $icid,
"icurl" => $site.$ic->ic_url,
"icurl" => $site . $ic->ic_url,
"json" => $json,
"schema" => $schema,
"schema" => $schema,
"status" => $status
));
} else {
@ -275,14 +275,14 @@ class Info_amp extends CI_Controller
if ($show_photo_meta == 'no') {
$use_photo = '';
} else {
$use_photo = $this->config->item('site_image_url').$info->ic_photo;
$use_photo = $this->config->item('site_image_url') . $info->ic_photo;
}
if ($info->ic_type === 'c_attraction' || $info->ic_template === 'city_info_attractions_list' || $info->ic_template === 'r_tpl_empty_navi1p') {
$list_info = true;
} else {
$list_info = false;
}
if ($list_info || !empty($info->ic_content) && !empty($info->ic_url) && stripos($info->ic_url, '/test/')===false) {
if ($list_info || !empty($info->ic_content) && !empty($info->ic_url) && stripos($info->ic_url, '/test/') === false) {
array_push($newrs, array(
'is_path' => $info->is_path,
'ic_url' => $info->ic_url,
@ -312,12 +312,12 @@ class Info_amp extends CI_Controller
if ($show_photo_meta == 'no') {
$use_photo = '';
} else {
$use_photo = $this->config->item('site_image_url').$ic->ic_photo;
$use_photo = $this->config->item('site_image_url') . $ic->ic_photo;
}
echo json_encode(array(
"succ" => true,
"info" => $ic->ic_content ? $ic->ic_content : "<p>".$ic->ic_seo_description."</p>",
"title" => $ic->ic_title,
"info" => $ic->ic_content ? $ic->ic_content : "<p>" . $ic->ic_seo_description . "</p>",
"title" => $ic->ic_title,
"photo" => $use_photo,
"url" => $ic->ic_url,
"site" => $this->config->item('site_url')
@ -336,12 +336,13 @@ class Info_amp extends CI_Controller
}
}
public function handel_png_source() {
public function handel_png_source()
{
//ini_set('memory_limit', '50M');
$png_base64 = $this->input->post('png_base64');
//$png_base64 = 'iVBORw0KGgoAAAANSUhEUgAAABwAAAASCAMAAAB/2U7WAAAABlBMVEUAAAD///+l2Z/dAAAASUlEQVR4XqWQUQoAIAxC2/0vXZDrEX4IJTRkb7lobNUStXsB0jIXIAMSsQnWlsV+wULF4Avk9fLq2r8a5HSE35Q3eO2XP1A1wQkZSgETvDtKdQAAAABJRU5ErkJggg==';
$file = md5($png_base64).'.jpg';
$path = realpath('../cht-system/views/information/word_img').'/'.$file;
$file = md5($png_base64) . '.jpg';
$path = realpath('../cht-system/views/information/word_img') . '/' . $file;
$png_base64 = str_replace('data:image/png;base64,', '', $png_base64);
$png_base64 = str_replace('data:image/jpg;base64,', '', $png_base64);
$png_base64 = base64_decode($png_base64);
@ -351,25 +352,26 @@ class Info_amp extends CI_Controller
//释放内存
imagedestroy($im);
$size = getimagesize($path);
if($png_base64 && $size) {
echo(json_encode(array(
if ($png_base64 && $size) {
echo (json_encode(array(
'status' => 'success',
'path' => '/information-view/information/word_img/'.$file,
'path' => '/information-view/information/word_img/' . $file,
'width' => $size[0],
'height' => $size[1]
)));
} else {
echo(json_encode(array(
echo (json_encode(array(
'status' => 'error'
)));
}
}
public function handel_image_source() {
public function handel_image_source()
{
@ini_set('memory_limit', '256M');
$file = $_FILES['file'];
if (!$file) {
echo(json_encode(array(
echo (json_encode(array(
'status' => 'error',
'msg' => "图片上传失败。"
)));
@ -378,20 +380,20 @@ class Info_amp extends CI_Controller
$usr = $this->input->post('usr');
$icid = $this->input->post('icid');
//转移文件
$md5_file = md5($usr.$icid.$file['name']);
$md5_file = md5($usr . $icid . $file['name']);
//ext
$ext = mb_strtolower(strrchr($file["name"],'.'));
$ext = mb_strtolower(strrchr($file["name"], '.'));
if ($ext != '.jpg') {
echo(json_encode(array(
echo (json_encode(array(
'status' => 'error',
'msg' => '只能接收(.jpg)图片。',
'filename' => $file["name"]
)));
return;
}
$md5_name = $md5_file.$ext;
$md5_name = $md5_file . $ext;
//临时docx文件
$image_path = realpath('../cht-system/views/information/word_img').'/'.basename($md5_name);
$image_path = realpath('../cht-system/views/information/word_img') . '/' . basename($md5_name);
$html = 'to use mammoth';
if (move_uploaded_file($file['tmp_name'], $image_path)) {
//图片处理
@ -399,31 +401,32 @@ class Info_amp extends CI_Controller
imagejpeg($im, $image_path);
imagedestroy($im);
$size = getimagesize($image_path);
if($size) {
echo(json_encode(array(
if ($size) {
echo (json_encode(array(
'status' => 'success',
'path' => '/information-view/information/word_img/'.$md5_name,
'path' => '/information-view/information/word_img/' . $md5_name,
'width' => $size[0],
'height' => $size[1]
)));
} else {
echo(json_encode(array(
echo (json_encode(array(
'status' => 'error'
)));
}
} else {
echo(json_encode(array(
echo (json_encode(array(
'status' => 'error',
'msg' => "图片文件解析失败。"
)));
}
}
public function handel_word_source() {
public function handel_word_source()
{
@ini_set('memory_limit', '256M');
$file = $_FILES['file'];
if (!$file) {
echo(json_encode(array(
echo (json_encode(array(
'status' => 'error',
'msg' => "文件上传失败。"
)));
@ -432,46 +435,46 @@ class Info_amp extends CI_Controller
$usr = $this->input->post('usr');
$icid = $this->input->post('icid');
//转移文件
$md5_file = md5($usr.$icid.$file['name']);
$md5_file = md5($usr . $icid . $file['name']);
//ext
$ext = mb_strtolower(strrchr($file["name"],'.'));
$ext = mb_strtolower(strrchr($file["name"], '.'));
if ($ext != '.docx') {
echo(json_encode(array(
echo (json_encode(array(
'status' => 'error',
'msg' => '只能接收word(.docx)文档。'
)));
return;
}
$md5_name = $md5_file.$ext;
$md5_name = $md5_file . $ext;
//临时docx文件
$docx_path = realpath('../cht-system/views/information/word_source').'/'.basename($md5_name);
$docx_path = realpath('../cht-system/views/information/word_source') . '/' . basename($md5_name);
$html = 'to use mammoth';
if (move_uploaded_file($file['tmp_name'], $docx_path)) {
$docx_dir = realpath('../cht-system/views/information/word_source');
//图片及html目录
$img_dir = $docx_dir.'/'.$md5_file;
$img_dir = $docx_dir . '/' . $md5_file;
is_dir($img_dir) || mkdir($img_dir, 0777);
//临时html文件
$docx_parh = $img_dir.'/'.$md5_name;
$docx_parh = $img_dir . '/' . $md5_name;
$html_parh = str_ireplace('.docx', '.html', $docx_parh);
//运行docx转化插件
if ($_SERVER['SERVER_NAME'] == 'localhost' || $_SERVER['SERVER_NAME'] == '202.103.68.62') {
$yarnbin = 'C:\Users\cht77\AppData\Local\Yarn\bin\mammoth ';
$test_host = '//202.103.68.62:9096';
} else {
$yarnbin = 'C:\Users\lmr\AppData\Local\Yarn\bin\mammoth ';
$yarnbin = 'C:\Users\lmr\AppData\Roaming\npm\mammoth ';
$test_host = '';
}
$command = $yarnbin.$docx_path.' --output-dir='.$img_dir. ' 2>&1';
//$command = 'C:\Users\lmr\AppData\Local\Yarn\bin\mammoth -h 2>&1';
$command = $yarnbin . $docx_path . ' --output-dir=' . $img_dir . ' 2>&1';
//$command = 'C:\Users\lmr\AppData\Local\Yarn\bin\mammoth -h 2>&1';
exec($command, $rs, $st);
//图片处理
$scan_img = scandir($img_dir);
$tmp = '';
foreach($scan_img as $f) {
foreach ($scan_img as $f) {
$tmp_ext = mb_strtolower(strrchr($f, '.'));
if ($tmp_ext == '.jpeg') {
$tmp_img = $img_dir.'/'.$f;
$tmp_img = $img_dir . '/' . $f;
$tmp_jpg = str_ireplace('.jpeg', '.jpg', $tmp_img);
$im = imagecreatefromjpeg($tmp_img);
imagejpeg($im, $tmp_jpg);
@ -485,38 +488,40 @@ class Info_amp extends CI_Controller
if (file_exists($html_parh)) {
$html = file_get_contents($html_parh);
} else {
echo(json_encode(array(
echo (json_encode(array(
'status' => 'error',
'html' => $command.' # '.$html_parh,
'rs' => print_r($rs, true).' # '.$st
'html' => $command . ' # ' . $html_parh,
'rs' => print_r($rs, true) . ' # ' . $st
)));
return;
}
$html = preg_replace('/src="([\d]+).jpeg"/i', 'src="'.$test_host.'/information-view/information/word_source/'.$md5_file.'/$1.jpg"', $html);
$html = preg_replace('/src="([\d]+).jpeg"/i', 'src="' . $test_host . '/information-view/information/word_source/' . $md5_file . '/$1.jpg"', $html);
//删除临时html
@unlink($html_parh);
//删除docx文档
@unlink($docx_path);
if ($html) {
echo(json_encode(array(
echo (json_encode(array(
'status' => 'success',
'path' => $docx_path,
'html' => $html
)));
}
} else {
echo(json_encode(array(
echo (json_encode(array(
'status' => 'error',
'msg' => "word文件解析失败。"
)));
}
}
public function save_history() {
public function save_history()
{
$json = $this->input->get_post('json');
$icid = $this->input->get_post('icid');
$action = $this->input->get_post('action') ? '_' . $this->input->get_post('action') : '';
if ($json && $icid) {
$code = $this->Logs_model->backup_meta($icid, $json, 'AMP_HISTORY');
$code = $this->Logs_model->backup_meta($icid, $json, 'AMP_HISTORY' . $action);
echo json_encode(array(
"succ" => true,
"info" => $this->Logs_model->pick_backup_meta($code)
@ -529,7 +534,8 @@ class Info_amp extends CI_Controller
}
}
public function list_history() {
public function list_history()
{
$icid = $this->input->get_post('icid');
if ($icid) {
echo json_encode(array(
@ -544,7 +550,8 @@ class Info_amp extends CI_Controller
}
}
public function pick_history() {
public function pick_history()
{
$log_action_id = $this->input->get_post('log_action_id');
if ($log_action_id) {
echo json_encode(array(
@ -558,5 +565,4 @@ class Info_amp extends CI_Controller
));
}
}
}

@ -0,0 +1,291 @@
<?php
if (!defined('BASEPATH')) {
exit('No direct script access allowed');
}
class infofix extends CI_Controller
{
public $site_code = '';
public function __construct()
{
parent::__construct();
$this->load->model('Information_model');
$this->load->model('infoContents_model');
$this->load->model('infoMetas_model');
$this->load->model('logs_model');
$this->site_code = $this->input->get('site_code') ? $this->input->get('site_code') : $this->config->item('site_code');
header('Access-Control-Allow-Origin: *');
}
/**
* 根据关键词搜索信息
*/
public function list_info_by_keys()
{
// 防止超时
set_time_limit(0);
// json参数
$site = $this->input->get_post('site');
$keys = $this->input->get_post('keys');
$key_arr = explode(',', $keys);
// 容错
if (
empty($site) ||
empty($keys) ||
mb_stripos($keys, '/') === false
) {
echo json_encode(array());
return false;
}
// 关键字信息
$rs = $this->Information_model->list_by_keywords($site, $key_arr);
// 调整数据
foreach ($rs as $info) {
$key_with_content = array();
foreach ($key_arr as $key) {
// 链接
$sub_url = mb_stripos($info->ic_url, $key) !== false ? $info->ic_url : '';
if ($sub_url) {
$sub_url = str_replace($key, '@@@' . $key . '@@@', $sub_url);
$sub_url = explode('@@@', $sub_url);
}
$limitStr = 100;
// 信息内容
$pos_content = 0;
$pos_content = mb_stripos($info->ic_content, $key);
$sub_content = array();
while ($pos_content) {
$_str = '[...' . mb_substr($info->ic_content, $pos_content - $limitStr, mb_strlen($key) + $limitStr * 2) . '...]';
$_str = str_replace($key, '@@@' . $key . '@@@', $_str);
$_str = explode('@@@', $_str);
array_push($sub_content, $_str);
$pos_content = mb_stripos($info->ic_content, $key, $pos_content + mb_strlen($key));
}
// amp_json
$sub_content2 = array();
if ($info->amp_json) {
$pos_content2 = 0;
$pos_content2 = mb_stripos($info->amp_json, $key);
while ($pos_content2) {
$_str = '[...' . mb_substr($info->amp_json, $pos_content2 - $limitStr, mb_strlen($key) + $limitStr * 2) . '...]';
$_str = str_replace($key, '@@@' . $key . '@@@', $_str);
$_str = explode('@@@', $_str);
array_push($sub_content2, $_str);
$pos_content2 = mb_stripos($info->amp_json, $key, $pos_content2 + mb_strlen($key));
}
}
// amp_body
$sub_content3 = array();
if ($info->amp_body) {
$pos_content3 = 0;
$pos_content3 = mb_stripos($info->amp_body, $key);
while ($pos_content3) {
$_str = '[...' . mb_substr($info->amp_body, $pos_content3 - $limitStr, mb_strlen($key) + $limitStr * 2) . '...]';
$_str = str_replace($key, '@@@' . $key . '@@@', $_str);
$_str = explode('@@@', $_str);
array_push($sub_content3, $_str);
$pos_content3 = mb_stripos($info->amp_body, $key, $pos_content3 + mb_strlen($key));
}
}
if ($sub_url != '' || count($sub_content) != 0 || count($sub_content2) != 0 || count($sub_content3) != 0) {
array_push(
$key_with_content,
array(
'key' => $key,
'sub_url' => $sub_url,
'sub_content' => $sub_content,
'sub_json' => $sub_content2,
'sub_body' => $sub_content3,
)
);
}
}
$info->ic_content = $key_with_content;
unset($info->amp_json);
unset($info->amp_body);
}
echo json_encode($rs);
}
/**
* 更新含有关键的信息
*/
public function update_info_by_keys()
{
// json参数
$site = $this->input->get_post('site');
$keys = $this->input->get_post('keys');
$keyArr = explode('@', $keys); // ic_id@oldurl@newurl@is_id
//sleep(2);
//echo ($keys);
//return true;
// 容错1
if (
empty($site) ||
count($keyArr) != 4 ||
mb_stripos($keys, '/') === false ||
mb_stripos($keys, 'undefined') !== false ||
mb_stripos($keys, 'null') !== false ||
mb_stripos($keys, '@@') !== false ||
mb_stripos($keys, '@ @') !== false
) {
echo json_encode(array('err' => '容错1'));
return false;
}
// 参数解析
$ic_id = $keyArr[0];
$oldStr = $keyArr[1];
$newStr = $keyArr[2];
$is_id = $keyArr[3];
// 容错2
if (
empty($ic_id) ||
empty($is_id) ||
empty($newStr) ||
empty($oldStr) ||
mb_stripos($newStr, '/') === false ||
mb_stripos($oldStr, '/') === false
) {
echo json_encode(array('err' => '容错2'));
return false;
}
// ic_content
$ic = $this->infoContents_model->get_ic_contents2($ic_id);
if (!empty($ic)) {
$ic->ic_content = str_ireplace($oldStr, $newStr, $ic->ic_content);
$this->infoContents_model->force_update($ic_id, $ic->ic_content);
$ic->ic_url = str_ireplace($oldStr, $newStr, $ic->ic_url);
$this->infoContents_model->force_update_url($ic_id, $ic->ic_url);
}
// amp_json
$meta = $this->infoMetas_model->get($ic_id, 'AMP_JSON');
if (!empty($meta)) {
$meta = str_ireplace($oldStr, $newStr, $meta);
$this->infoMetas_model->update($ic_id, 'AMP_JSON', $meta);
}
// amp_body_pc
$meta = $this->infoMetas_model->get($ic_id, 'AMP_BODY_PC');
if (!empty($meta)) {
$meta = str_ireplace($oldStr, $newStr, $meta);
$this->infoMetas_model->update($ic_id, 'AMP_BODY_PC', $meta);
}
echo json_encode($keyArr);
}
/**
* 无条件获取信息内容
* @param mixed $ic_id
*/
public function get_by_icid($ic_id)
{
$ic = $this->infoContents_model->get_ic_contents2($ic_id);
$json = json_decode($this->infoMetas_model->get($ic_id, 'AMP_JSON'));
$use = $this->infoMetas_model->get($ic_id, 'AMP_BODY_PC_STATUS');
if ($ic) {
echo json_encode(
array(
'state' => 0,
'ic_content' => $ic->ic_content,
'pc_use' => $use,
'json' => $json,
)
);
} else {
echo json_encode(
array(
'state' => -1,
'msg' => 'not content by ' . $ic_id,
)
);
}
}
/**
* 无条件更新信息内容(上线前内容)
*/
public function update_by_icid()
{
$ic_id = $this->input->get_post('ic_id');
$ic_content = $this->input->get_post('ic_content');
$this->infoContents_model->force_update($ic_id, $ic_content);
}
/**
* 列举使用旧版构建工具的信息,用于批量替换更新。
* @param mixed $site
*/
public function list_use_hb($site)
{
$rs = $this->infoContents_model->list_use_hb($site);
echo json_encode($rs);
}
/**
* 转化旧版构建工具数据(上线前的准备)
* @param mixed $ic_id
*/
public function migrate_hb($ic_id, $dev = 'prod')
{
// 本地测试参数
$api = 'https://hmk.arachina.com/beta/3733/server_render2';
if ($dev == 'dev') {
$api = 'http://127.0.0.1:3733/server_render2';
sleep(2);
}
// 请求api
$json = $this->infoMetas_model->get($ic_id, 'AMP_JSON');
if (!empty($json)) {
// 请求转化服务器
$post_data = 'json=' . urlencode($json);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $api);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
curl_setopt($ch, CURLOPT_TIMEOUT, 120);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //禁止直接显示获取的内容
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
$curl_rs = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if ($curl_rs && ($httpCode == 200 || $httpCode == 201)) {
// 先备份
$is = $this->infoContents_model->get_isid_by_icid($ic_id);
$ic = $this->infoContents_model->get_ic_contents2($ic_id);
$this->logs_model->backup($is->is_id, $ic->ic_content);
// 移除外部包裹标签
$curl_rs = str_replace(array('<my_lmr_tpl>', '</my_lmr_tpl>'), '', $curl_rs);
// 强制更新信息内容
$this->infoContents_model->force_update($ic_id, $curl_rs);
echo json_encode(array('status' => 1));
} else {
echo json_encode(array('status' => -1, 'msg' => 'err1'));
}
} else {
echo json_encode(array('status' => -1, 'msg' => 'err2'));
}
}
}
//end of infofix

File diff suppressed because it is too large Load Diff

@ -3,14 +3,18 @@
if (!defined('BASEPATH'))
exit('No direct script access allowed');
class Login extends CI_Controller {
class Login extends CI_Controller
{
function __construct() {
function __construct()
{
parent::__construct();
$this->load->model('Operator_model');
$this->load->helper('cookie');
}
public function index() {
public function index()
{
//添加找回用户密码功能
$usercode = $this->input->get('....ht-user');
if (!empty($usercode)) {
@ -26,7 +30,8 @@ class Login extends CI_Controller {
}
//退出登录清空session
public function out() {
public function out()
{
$this->session->unset_userdata('session_admin');
$this->session->unset_userdata('session_site');
$this->session->unset_userdata('session_color');
@ -37,18 +42,23 @@ class Login extends CI_Controller {
$this->session->unset_userdata('access_sitecode'); */
$this->session->sess_destroy();
//火车的third_party出票系统删除cookie 20231011 zp
delete_cookie("OPI_SN");
redirect(site_url('login'));
}
//当用户无权限时提醒页面
public function refuse() {
public function refuse()
{
$this->load->view('bootstrap/header');
$this->load->view('bootstrap/accessmanage/refuse');
$this->load->view('bootstrap/footer');
}
//站点切换
public function change_site($site_code) {
public function change_site($site_code)
{
//来源页面,成功切换站点之后转到原始页面去 ,如果在各编辑界面切换则会导致站点错误比如ch的文章id=100切换到gm下就没有id=100只能切换的某个板块
// $referer = empty($_SERVER['HTTP_REFERER']) ? false : $_SERVER['HTTP_REFERER'];
@ -73,7 +83,8 @@ class Login extends CI_Controller {
}
//主题切换
public function change_color($color = false) {
public function change_color($color = false)
{
if ($color) {
$this->session->set_userdata('session_color', $color . '-');
} else {
@ -84,7 +95,8 @@ class Login extends CI_Controller {
}
//登录检测
public function check() {
public function check()
{
//如果已经登陆则跳到管理首页
if ($this->session->userdata('session_admin')) {
$data[] = array('name' => 'go', 'value' => site_url());
@ -114,6 +126,7 @@ class Login extends CI_Controller {
$userdata = $this->Operator_model->get_author_user($this->input->post('user_code'));
$user_site = $this->Access_model->get_user_site_list($userdata['OPI_Code']);
}
//密码正确,再判断是否有站点编辑权限
$site_array = $this->config->item('site');
$user_site = trim($user_site);
@ -122,7 +135,7 @@ class Login extends CI_Controller {
$site_item = $site_array[trim($user_site_array[0])];
$this->session->set_userdata('session_admin', $userdata);
$this->session->set_userdata('session_site', $site_item);
$this->session->set_userdata('session_color', '');
// $this->session->set_userdata('session_color', '');
$data[] = array('name' => 'go', 'value' => site_url());
echo json_encode($data);
@ -151,4 +164,26 @@ class Login extends CI_Controller {
}
}
//thirdparty trainsystem 使用的登陆
public function indextrain()
{
//由于火车的third_party无法读取外面的session数值所以需要到这里来进行获取及判断判断如果是登陆就跳转会对应页面
//利用cookie来进行判断 2023-10-10 zp
$tmp = $this->session->userdata('session_admin');
$session_id = $this->session->userdata('session_id');
if ($tmp===false){
$this->load->view('bootstrap/login');
}else{
//cookies
$OPI_SN = $tmp["OPI_SN"];
$cookie = array(
'name' => 'OPI_SN',
'value' => $OPI_SN,
'expire' => '8650000'
);
set_cookie($cookie);
redirect(site_url('/apps/trainsystem/pages'));
}
}
}

@ -0,0 +1,58 @@
<?php
if (!defined('BASEPATH'))
exit('No direct script access allowed');
class Overseas extends CI_Controller
{
function __construct()
{
parent::__construct();
$this->permission->is_admin();
//$this->output->enable_profiler(TRUE);
$this->load->model('Area_model');
$this->load->model('Information_model');
$this->load->model('InfoContents_model');
$this->load->model('InfoStructures_model');
}
//团购信息
public function index()
{
$overseas_id = 1;
//查询结构根节点,当为空则建立
$rootStructure = $this->Information_model->GetRoot('g', $overseas_id);
if ($rootStructure == FALSE) {
$this->InfoContents_model->Add(
'',
'Overseas',
'root',
'',
'',
'',
'',
'',
'',
0,
0,
'',
'',
0,
0,
'',
'',
$overseas_id,
'g',
0,
'',
''
);
$this->InfoStructures_model->Add(0, $this->InfoContents_model->insert_id);
$is_id = $this->InfoStructures_model->insert_id;
} else {
$is_id = $rootStructure->is_id;
}
redirect(site_url('information/edit/' . $is_id));
}
}

@ -88,6 +88,8 @@ class Sendmail extends CI_Controller
{
//成功发送
$m->M_Web!='paypal msg' && $order_condition=" or (M_ToEmail='$m->M_ToEmail' and M_ToName='$m->M_ToName' and M_Title='$m->M_Title') ";
$this->Logs_model->write('send_mail_success',$m->M_SN,'成功发送:'.$m->M_ToEmail);
echo 'ok';
}
}

@ -0,0 +1,44 @@
<?php
if (!defined('BASEPATH'))
exit('No direct script access allowed');
class Test extends CI_Controller
{
function __construct()
{
parent::__construct();
$this->load->model('feedback_model');
$this->load->model('Information_model');
}
// https://cht.mycht.cn/info.php/test/feedback/?tag=%3Chtml%3E%3Cdiv%3E%3C!--%40FEEDBACK_Shanghai%40--%3E%3C%2Fdiv%3E%3C%2Fhtml%3E
public function feedback()
{
$tag = $this->input->get_post('tag');
$template_path = 'mobile_first/ch';
$feedback_array = array();
preg_match_all('^<!--@FEEDBACK_(.*)@-->^', $tag, $feedback_array);
if (!empty($feedback_array)) {
foreach ($feedback_array[0] as $index => $tag_name) {
$city_name = $feedback_array[1][$index];
echo 'city_name: '.$city_name.'<br>';
echo 'tag_name: '.htmlentities($tag_name).'<br>';
echo 'feedback_data: <br>';
$feedback_data = $this->feedback_model->get_feedback_by_city($city_name);
var_dump($feedback_data);
$feedback_content = $this->load->view(
$template_path . '-feedback',
array('feedback_data' => $feedback_data),
true);
echo $feedback_content;
}
}
}
}

@ -27,7 +27,7 @@ class Welcome extends CI_Controller {
$data['groupList']=$this->Information_model->group_list();
if($this->config->item('site_code')=='ch' || $this->config->item('site_code')=='ah' || $this->config->item("site_code")=="chinatravel" ){
if(is_mobile_first() ){
$this->load->view('bootstrap3/header', $data);
$this->load->view('bootstrap3/welcome');
@ -58,7 +58,7 @@ class Welcome extends CI_Controller {
$data['search_list'] = $this->Information_model->search_url($search_url);
if (count($data['search_list']) === 0) {
if (!empty($data['all_text_search']) && $data['all_text_search'] == 'true') {
$data['search_list'] = $this->Information_model->search_all_text($data['keywords']);
$data['search_list'] = $this->Information_model->search_all_text($data['keywords'],48);
} else {
$data['search_list'] = $this->Information_model->search($data['keywords']);
}
@ -98,9 +98,15 @@ class Welcome extends CI_Controller {
}
//获取某个信息节点和子节点url
//$is_parent_id 结构id或者是url
public function create_infomation_urls($is_parent_id, $view = false) {
$this->output->enable_profiler(FALSE);
$structure = $this->InfoStructures_model->Detail($is_parent_id);
$ic_url=$this->input->get_post('ic_url');
if(!empty($ic_url)){
$structure = $this->Information_model->Detail($ic_url);
}else{
$structure = $this->InfoStructures_model->Detail($is_parent_id);
}
if (empty($structure)) {
show_404();
return false;
@ -212,37 +218,6 @@ class Welcome extends CI_Controller {
}
}
// $information->ic_content = $htm_doc->saveHTML();
// $this->InfoContents_model->Update(
// $information->ic_id,
// $information->ic_url,
// $information->ic_url_title,
// $information->ic_type,
// $information->ic_title,
// $information->ic_content,
// $information->ic_summary,
// $information->ic_seo_title,
// $information->ic_seo_description,
// $information->ic_seo_keywords,
// $information->ic_show_bread_crumbs,
// $information->ic_status,
// $information->ic_template,
// $information->ic_photo,
// $information->ic_photo_width,
// $information->ic_photo_height,
// $information->ic_recommend_tours,
// $information->ic_recommend_packages,
// $information->ic_ht_area_id,
// $information->ic_ht_area_type,
// $information->ic_ht_product_id,
// $information->ic_ht_product_type,
// $information->ic_author);
// $this->echo_json(array(
// 'status' => 'ok',
// 'infoId' => $info_id,
// 'message' => 'success',
// 'date' => date('Y-m-d h:i:s')
// ));
}
public function count_redirect_nofollow() {

@ -77,7 +77,7 @@ function is_series_site()
{
$CI = &get_instance();
$sitecode = $CI->config->item('site_code');
if ($sitecode == 'vc' || $sitecode == 'ru' || $sitecode == 'jp' || $sitecode == 'vac' || $sitecode == 'it') {
if (in_array($sitecode, array('jp', 'vc', 'vac', 'ru', 'it', 'gh_jp', 'gh_vc', 'gh_vac', 'gh_ru', 'gh_it', 'gh_gm', 'gm'))) {
return true;
} else {
return false;
@ -97,6 +97,19 @@ function is_sub_site()
}
}
//是否是移动优先站点
function is_mobile_first()
{
$CI = &get_instance();
$sitecode = $CI->config->item('site_code');
if ($sitecode == 'ch' || $sitecode == 'ah' || $sitecode == 'chinatravel' || $sitecode == 'gh' || $sitecode == 'shanghai') {
return true;
} else {
return false;
}
}
function add_meta($im_ic_id, $im_key, $im_value)
{
$CI = &get_instance();
@ -209,7 +222,7 @@ function get_task_count_by_status()
function get_author_photo($author_code_id = false)
{
$CI = &get_instance();
$root_url = '';//'http://data.chtcdn.com';
$root_url = ''; //'http://data.chtcdn.com';
$avatar = $root_url . '/css/images/avatar.jpg';
if ($author_code_id && is_numeric($author_code_id)) {
$CI->load->model('Infoauthors_model');
@ -224,7 +237,7 @@ function get_author_photo($author_code_id = false)
//补全图片路径
function get_photo_url($photo)
{
$root_url = '';//'http://data.chtcdn.com';
$root_url = ''; //'http://data.chtcdn.com';
if ($photo == '') {
$avatar = $root_url . '/css/images/uploadPic.jpg';
} else {
@ -262,7 +275,8 @@ function show_page($page)
}
$html = '';
if ($nowview > 1) $befor--;
if ($nowview > 1)
$befor--;
if ($pageSize <= $total) {
for ($i = $befor; $i <= $after; $i++) {
if ($i == $currentPage) {
@ -308,11 +322,11 @@ function GET_HTTP($url, $data = '', $method = 'GET')
curl_setopt($curl, CURLOPT_URL, $url); // 要访问的地址
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检查
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0); // 从证书中检查SSL加密算法是否存在
if (isset($_SERVER['HTTP_USER_AGENT'])) {
$HTTP_USER_AGENT = $_SERVER['HTTP_USER_AGENT'];
} else {
$HTTP_USER_AGENT = 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36';
}
// if (isset($_SERVER['HTTP_USER_AGENT'])) {
// $HTTP_USER_AGENT = $_SERVER['HTTP_USER_AGENT'];
// } else {
$HTTP_USER_AGENT = 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; curl) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36';
// }
curl_setopt($curl, CURLOPT_USERAGENT, $HTTP_USER_AGENT); // 模拟用户使用的浏览器
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // 使用自动跳转
curl_setopt($curl, CURLOPT_AUTOREFERER, 1); // 自动设置Referer
@ -325,7 +339,7 @@ function GET_HTTP($url, $data = '', $method = 'GET')
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回
$tmpInfo = curl_exec($curl); // 执行操作
$httpCode = curl_getinfo($curl, CURLINFO_HTTP_CODE);
if ($httpCode >= 400) {//页面状态如果大于400说明页面打不开
if ($httpCode >= 400) { //页面状态如果大于400说明页面打不开
log_message('error', " curl {$httpCode} {$url} ");
return false;
}
@ -356,3 +370,10 @@ function compress_css($buffer)
$buffer = str_replace(array("\r\n", "\r", "\n", "\t", ' ', ' ', ' '), '', $buffer);
return $buffer;
}
//把临时多媒体中心预览图片地址替换为网前地址
function replace_image_url($ic_content)
{
$CI = &get_instance();
return str_replace($CI->config->item('media_image_url'), $CI->config->item('site_image_url'), $ic_content);
}

@ -6,41 +6,45 @@ if (!defined('BASEPATH'))
* AMP的相关方法
*/
class Amplib {
class Amplib
{
var $CI;
public function __construct() {
$this->CI = & get_instance();
public function __construct()
{
$this->CI = &get_instance();
$this->CI->load->model('Information_model');
$this->CI->load->model('InfoMetas_model');
$this->CI->load->model('Logs_model');
}
public function edit($ic_id) {
public function edit($ic_id)
{
$data = array();
$data['information'] = $this->CI->Information_model->detail_by_ic_id($ic_id);
if ($data['information'] == FALSE) {
show_404();
}
//查询上一次保存记录
$amp_log = $this->CI->Logs_model->get_last_edit_amp($ic_id);
if(!empty($amp_log)){
$data['last_edit_amp_id'] = $amp_log->log_id;
}else{
$data['last_edit_amp_id'] = '';
}
//查询上一次保存记录
$amp_log = $this->CI->Logs_model->get_last_edit_amp($ic_id);
if (!empty($amp_log)) {
$data['last_edit_amp_id'] = $amp_log->log_id;
} else {
$data['last_edit_amp_id'] = '';
}
$this->CI->load->view('bootstrap3/header', $data);
$this->CI->load->view('amp_editor');
$this->CI->load->view('bootstrap3/footer');
}
public function auto_create($ic_id) {
public function auto_create($ic_id)
{
$data = array();
if(strtolower($this->CI->config->item('site_code')) == 'cht'){
$this->CI->Information_model->ic_type = "AND ic.ic_type != 'none'";
}
if (strtolower($this->CI->config->item('site_code')) == 'cht') {
$this->CI->Information_model->ic_type = "AND ic.ic_type != 'none'";
}
$data['information'] = $this->CI->Information_model->detail_by_ic_id($ic_id);
if ($data['information'] == FALSE) {
return json_encode(array('result' => 'no', 'data' => '找不到这个页面'));
@ -61,7 +65,7 @@ class Amplib {
break;
case 'gm':
$websitehost = 'https://data.chinarundreisen.com';
$html_source_url = 'http://144.76.185.44:8029' . $data['information']->ic_url;
$html_source_url = 'https://www.chinarundreisen.com/' . $data['information']->ic_url;
break;
case 'ct':
$websitehost = 'https://data.chinatravel.com';
@ -75,23 +79,24 @@ class Amplib {
$html_source = GET_HTTP($html_source_url);
if (!empty($html_source)) {
$post_data = array('websitehost' => $websitehost, 'template_name' => $site_code, 'create_amp' => 'true', 'htmlsource' => $html_source);
//德语站点走另外一个控制器,其他站点还是走原来的流程
if($site_code == 'gm'){
if($data['information']->ic_url == '/massgeschneiderte-china-reisen/'){
return json_encode(array());
}else{
return GET_HTTP(site_url('/apps/htmlcompressor/index_gm/choose_way'), $post_data, 'POST');
}
}elseif($site_code == 'ah'){
return GET_HTTP(site_url('/apps/htmlcompressor/index_ah/choose_way'), $post_data, 'POST');
}else{
return GET_HTTP(site_url('/apps/htmlcompressor/index/optimize'), $post_data, 'POST');
}
//德语站点走另外一个控制器,其他站点还是走原来的流程
if ($site_code == 'gm') {
if ($data['information']->ic_url == '/massgeschneiderte-china-reisen/') {
return json_encode(array());
} else {
return GET_HTTP(site_url('/apps/htmlcompressor/index_gm/choose_way'), $post_data, 'POST');
}
} elseif ($site_code == 'ah') {
return GET_HTTP(site_url('/apps/htmlcompressor/index_ah/choose_way'), $post_data, 'POST');
} else {
return GET_HTTP(site_url('/apps/htmlcompressor/index/optimize'), $post_data, 'POST');
}
}
return json_encode(array('result' => 'no', 'data' => '不知道哪里错了,看代码'));
}
public function edit_save($ic_id = false, $textarea_htmlcode = false, $amp_status = false) {
public function edit_save($ic_id = false, $textarea_htmlcode = false, $amp_status = false)
{
$data = array();
if ($ic_id === false) {
$ic_id = $this->CI->input->post('ic_id');
@ -111,8 +116,8 @@ class Amplib {
//CH的页面没有canonical内容在这里帮补上
$textarea_htmlcode = str_replace('<!--@CANONICAL@-->', $this->CI->config->item('site_url') . $data['information']->ic_url, $textarea_htmlcode);
//备份修改的代码
$this->CI->Logs_model->write('backup_amp', $ic_id, $textarea_htmlcode);
//备份修改的代码
$this->CI->Logs_model->write('backup_amp', $ic_id, $textarea_htmlcode);
//AMP格式验证
if ($amp_status !== '0') {//只有发布的时候才需要验证

@ -0,0 +1,203 @@
<?php
if (!defined('BASEPATH'))
exit('No direct script access allowed');
/*
* 自动加载语种标签
*/
class Currency {
var $USD_Rate; //人民币兑美元汇率
var $EUR_Rate; //人民币兑欧元汇率
var $RUB_Rate; //人民币兑卢布汇率
public function __construct() {
$this->CI = & get_instance();
log_message('debug', "Language Tags Class Initialized");
$this->GetCurrencyRate();
}
function GetCurrencyRate() {
$this->HT = $this->CI->load->database('HT', TRUE);
$sql = "SELECT CRI_BuyIn / 100.00 AS tmpExRate, \n"
. " CRI_Code \n"
. "FROM tourmanager.dbo.CurrencyRateInfo \n"
. "WHERE CRI_Code IN ('USD', 'EUR', 'RUB') \n"
. " AND GETDATE() BETWEEN CRI_Start AND CRI_Stop";
$query = $this->HT->query($sql);
foreach ($query->result() as $item) {
switch ($item->CRI_Code) {
case 'USD':
$this->USD_Rate = $item->tmpExRate;
break;
case 'EUR':
$this->EUR_Rate = $item->tmpExRate;
break;
case 'RUB':
$this->RUB_Rate = $item->tmpExRate;
break;
}
}
// echo $this->USD_Rate . '<br/>';
// echo $this->EUR_Rate . '<br/>';
// echo $this->RUB_Rate . '<br/>';
return $query->result();
}
//根据人民币转换成站点对应的货币
public function GetSiteMoney($RMB, $fromCurrency) {
if (!is_numeric($RMB))
{
return $RMB;
}
$result = $RMB;
if (is_numeric($RMB)) {
switch ($fromCurrency) {
case 'USD':
$result = $RMB / $this->USD_Rate;
break;
case 'EUR':
$result = $RMB / $this->EUR_Rate;
break;
case 'RUB':
$result = $RMB / $this->RUB_Rate;
break;
}
}
return ceil($result);
}
//把美金转换为人民币
public function get_USD_RMB_SUM($USD) {
if (!is_numeric($USD))return $USD;
$result = $USD;
$result = $USD * $this->USD_Rate;
return ceil($result);
}
/**
* 返回站点的汇率。
*
* @author lmr
*/
public function get_site_currencyrate() {
switch (CONST_SITE_CURRENCY) {
case 'USD':
return $this->USD_Rate;
case 'EUR':
return $this->EUR_Rate;
case 'RUB':
return $this->RUB_Rate;
default:
return 1;
}
}
/**
* 返回带money_char的价格。
*
* @param $money Int 价格.
* @return String 带货币符号的价格。
*/
public function get_money_char($money='') {
switch (CONST_SITE_CODE) {
case 'JP':
return $money.'元';
case 'GM':
return '€'.$money;
case 'VC':
return $money.'€';
case 'VAC':
return '$'.$money;
case 'RU':
return '$'.$money;
case 'IT':
return '€'.$money;
case 'SHT':
return '$'.$money;
default:
return '$'.$money;
}
}
/**
* 返回带money_char的价格。
*
* @param $money Int 价格.
* @return String 带货币符号的价格。
*/
public function get_site_money_with_char($money='') {
return $this->get_money_char($this->GetSiteMoney($money));
}
/**
* RMB换算成指定货币。
* @param int money RMB
* @param string char 货币代号usdeur
* @return int 换算价格
*/
public function convert_moneny_by_char($money,$char='')
{
switch (strtolower($char))
{
case 'usd':
return ceil($money/$this->USD_Rate);
case 'eur':
return ceil($money/$this->EUR_Rate);
}
return $money;
}
/**
* 尾数取"9"的定价规则
* 在正负误差值小于或等于16的前提下
* 保证展示价格的个位数和十位数统一取"99"
* 当展示价格的个位数和十位数取"99"的正负误差大于16时
* 通过四舍五入加价实现个位数取"9"
* 详细规则见GitLab issue #12 统一网前展示价格的标准
*/
public function calc_show_price($value=0) {
if (empty($value)) return 0;
if (!is_numeric($value)) return $value;
$val_len = strlen($value);
if ($val_len == 1) return 9;
$discount = 16;
$val_pow = pow(10, $val_len - 1);
$min_val = $val_pow - 1;
$max_val = $min_val + $val_pow;
$max_diff = abs($value - $max_val);
$min_diff = abs($value - $min_val);
if (min($max_diff, $min_diff) > $discount) {
$calc_val = floor($value / 10) * 10 + 9;
} else {
$calc_val = $max_diff > $min_diff ? $min_val : $max_val;
}
return $calc_val;
}
/**
* 获取设置的信用卡卡费
*/
public function cardfee(){
$sql = "SELECT TOP 1 * FROM dbo.SystemSettingInfo WHERE (SSI_Code = 1021001)";
$this->HT = $this->CI->load->database('HT', TRUE);
$query = $this->HT->query($sql);
$row = $query->row();
if (isset($row)){
return $row->SSI_UserValue;
}else{
return 0;
}
}
}

@ -20,8 +20,34 @@ class html_optimize_lib
$this->CI->load->library('simple_html_dom_lib');
}
//开启了延迟加载
public function set_lazy_loader($html, $grey_pic)
{
$html_object = str_get_html($html);
foreach ($html_object->find('img') as $image) {
$img_src = $image->src;
/**有些图片不需要延迟加载比如头部第一张图延迟加载会影响CLS的评分所以图片加loader="nolazy"属性就可以不用替换为延迟加载代码。 */
$loader = $image->loader;
if (!empty($loader) && $loader == "nolazy") {
continue;
}
/** 无需延迟加载结束 20210527 zp */
if (!empty($image->originalsrc)) {
$img_src = $image->originalsrc;
}
$image->src = $grey_pic;
$image->loader = 'lazy';
$image->originalsrc = $img_src;
}
//获取图片尺寸
return $html_object->save();
}
//获取图片尺寸,$lazy_loader是否开启延迟加载
public function set_image_size($html)
{
$html_object = str_get_html($html);
@ -34,21 +60,21 @@ class html_optimize_lib
$img_src = $image->originalsrc;
}
//图片已经设置了尺寸的不再修改
if (empty($image->width) && (strpos($img_src, '//data.') !== false || strpos($img_src, '//images.') !== false)) {//以data或者images开头的域名才能获取尺寸
if (empty($image->width) && (strpos($img_src, '//data.') !== false || strpos($img_src, '//images.') !== false)) {//以data或者images开头的域名才能获取尺寸
$img_src_urls = parse_url(trim($img_src));
$request_size[$img_src_urls['host']][] =$img_src_urls['path'];
$request_size[$img_src_urls['host']][] = $img_src_urls['path'];
}
}
//请求图片尺寸
$image_sizes = array();
foreach ($request_size as $host => $path) {
foreach ($request_size as $host => $path) { //拼接的URL有长度限制大量的图片一次性请求就会失败需要分批处理
$parse_url = "https://{$host}/imagesize.php?photo=" . implode(',', $path);
$size_data = GET_HTTP($parse_url);
if (!empty($size_data)) {
$size_data = json_decode($size_data);
foreach ($size_data as $size_item) {
$size_item->photo = "https://".$host . $size_item->photo;//这个作为索引找到对应url的尺寸
$size_item->photo = "https://" . $host . $size_item->photo;//这个作为索引找到对应url的尺寸
$image_sizes[$size_item->photo] = $size_item;
}
}
@ -62,20 +88,61 @@ class html_optimize_lib
$img_src = $image->originalsrc;
}
//图片已经设置了尺寸的不再修改
if (empty($image->width) && (strpos($img_src, '//data.') !== false || strpos($img_src, '//images.') !== false)) {//以data或者images开头的域名才能获取尺寸
if (empty($image->width) && (strpos($img_src, '//data.') !== false || strpos($img_src, '//images.') !== false)) {//以data或者images开头的域名才能获取尺寸
$img_src_urls = parse_url(trim($img_src));
$img_index="https://".$img_src_urls['host'] . $img_src_urls['path'];
if(!empty($image_sizes[$img_index])){
$image->width=$image_sizes[$img_index]->width;
$image->height=$image_sizes[$img_index]->height;
$img_index = "https://" . $img_src_urls['host'] . $img_src_urls['path'];
if (!empty($image_sizes[$img_index])) {
$image->width = $image_sizes[$img_index]->width;
$image->height = $image_sizes[$img_index]->height;
}
}
}
return $html_object->save();
}
//获取图片尺寸的本地版本,图片存在相同服务器上,速度比较快
//$dataPath data文件夹本地路径
//$imagesPath images文件夹本地路径
public function set_image_size_local($html, $dataPath, $imagesPath)
{
$html_object = str_get_html($html);
foreach ($html_object->find('img') as $image) {
$img_src = $image->src;
if (!empty($image->originalsrc)) {
$img_src = $image->originalsrc;
}
//图片已经设置了尺寸的不再修改
if (empty($image->width) && (strpos($img_src, '//data.') !== false || strpos($img_src, '//images.') !== false)) {//以data或者images开头的域名才能获取尺寸
$img_src_urls = parse_url(trim($img_src));
$request_size[$img_src_urls['host']][] = $img_src_urls['path'];
$file_path = '';
if (strpos($img_src, '//data.') !== false) {
$file_path = $dataPath . $img_src_urls['path'];
}
if (strpos($img_src, '//images.') !== false) {
$file_path = $imagesPath . $img_src_urls['path'];
}
if (is_file($file_path)) {
$properties = getimagesize($file_path);//获取图片属性读取失败返回false
if ($properties && !empty($properties[0]) && !empty($properties[1])) {
$image->width = $properties[0];
$image->height = $properties[1];
}
}
}
}
return $html_object->save();
}
///查询html的标签然后后面添加新html
public function add_htmlcode($html,$findTag,$addHtml){
$html_object = str_get_html($html);
$findE = $html_object->find($findTag,0);
$findE->outertext = $findE->outertext . $addHtml ;
return $html_object->save();
$html_object->clear();
}
}

@ -0,0 +1,15 @@
#!/bin/sh
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
case `uname` in
*CYGWIN*) basedir=`cygpath -w "$basedir"`;;
esac
if [ -x "$basedir//bin/sh" ]; then
"$basedir//bin/sh" "$basedir/../Data/global/node_modules/.bin/mammoth" "$@"
ret=$?
else
/bin/sh "$basedir/../Data/global/node_modules/.bin/mammoth" "$@"
ret=$?
fi
exit $ret

@ -0,0 +1 @@
@"%~dp0\..\Data\global\node_modules\.bin\mammoth.cmd" %*

@ -0,0 +1,77 @@
<?php
class Price_model extends CI_Model {
var $topnum = false; //返回记录数
var $cli_no = false; //线路代号
var $person_size = false; //人等
var $cli_grade = false; //(标准7001、豪华7002、经济7003
var $clp_pricetype = false; //价格类型 1旺季2淡季
var $price_date = false; //查询价格日期区间
var $orderby = false;
function __construct() {
parent::__construct();
$this->HT = $this->load->database('HT', TRUE);
}
public function init() {
$this->topnum = false;
$this->cli_no = false;
$this->person_size = false;
$this->cli_grade = false;
$this->clp_pricetype = false;
$this->price_date = false;
$this->orderby = ' ORDER BY cli.CLI_Grade ASC, clp.CLP_PriceStartDate ASC,clp.CLP_PriceType DESC ';
}
public function search($cli_no, $topnum = false, $cli_grade = false, $clp_pricetype = false, $price_date = false) {
$this->init();
$this->topnum = empty($topnum) ? false : $topnum;
$this->cli_no = ' AND cli.CLI_NO = ' . $this->HT->escape($cli_no);
$this->cli_grade = empty($cli_grade) ? false : ' AND cli.CLI_Grade = ' . $this->HT->escape($cli_grade);
$this->clp_pricetype = empty($clp_pricetype) ? false : ' AND clp.CLP_PriceType = ' . $this->HT->escape($clp_pricetype);
$this->price_date = empty($price_date) ? false : " AND '$price_date 00:00:00' BETWEEN clp.CLP_PriceStartDate AND clp.CLP_PriceEndDate ";
return $this->get_list();
}
public function get_list() {
$this->topnum ? $sql = "SELECT TOP " . $this->topnum : $sql = "SELECT ";
$sql .= "
cli.CLI_SN
,cli.CLI_NO
,clp.CLP_SN
,clp.CLP_OneAdultPriceRMB
,clp.CLP_TwoToFiveAdultPriceRMB
,clp.CLP_SixToNineAdultPriceRMB
,clp.CLP_OverTenAdultPriceRMB
,clp.CLP_PriceType
,cli.CLI_Grade
,clp.CLP_PriceStartDate
,clp.CLP_PriceEndDate
FROM CustomerLinePrice clp
INNER JOIN CustomerLineInfo cli
ON cli.CLI_SN = clp.CLP_CLI_SN
WHERE 1 = 1
AND cli.CLI_State IN (1005003 ,1005004)
";
$this->cli_no ? $sql.=$this->cli_no : false;
$this->cli_grade ? $sql.=$this->cli_grade : false;
$this->clp_pricetype ? $sql.=$this->clp_pricetype : false;
$this->price_date ? $sql.=$this->price_date : false;
$this->orderby ? $sql.=$this->orderby : false;
$query = $this->HT->query($sql);
//print_r($this->HT->queries);
if ($this->topnum === 1) {
if ($query->num_rows() > 0) {
$row = $query->row();
return $row;
} else {
return FALSE;
}
} else {
return $query->result();
}
}
}

@ -0,0 +1,110 @@
<?php
class PrimeLinePrice_model extends CI_Model {
var $topnum = false; //返回记录数
var $cli_no = false; //线路代号
var $person_size = false; //人等
var $cli_grade = 7001; //(标准7001、豪华7002、经济7003
var $price_date = false; //查询价格日期区间
var $orderby = false;
// CH: 1; AH: 28; GH : 33
var $DEI_SN = 28;
function __construct() {
parent::__construct();
$this->HT = $this->load->database('HT', TRUE);
}
public function init() {
$this->topnum = false;
$this->cli_no = false;
$this->person_size = false;
$this->cli_grade = false;
$this->price_date = false;
$this->orderby = ' ORDER BY plp.PLP_Level ASC,plp.PLP_IsWeekPrice DESC,plp.PLP_AdultUnitPrice DESC ';
}
public function search($cli_no, $topnum = false, $cli_grade = false, $person_size = false, $price_date = false, $DEI_SN = 28) {
$this->init();
$this->cli_no = $cli_no;
$this->topnum = empty($topnum) ? false : $topnum;
$this->cli_grade = empty($cli_grade) ? false : $this->cli_grade = ' AND cli.CLI_Grade = ' . $this->HT->escape($cli_grade);
$this->person_size = empty($person_size) ? false : $this->person_size = " AND $person_size BETWEEN plp.PLP_PersonGradeDown AND plp.PLP_PersonGradeUp ";
if (!empty($price_date)) {
$this->price_date = " AND '$price_date 00:00:00' BETWEEN plp.PLP_StartDate AND plp.PLP_EndDate ";
$week_day = (int) date('w', strtotime($price_date)); //获取当前时间的星期号,用于判断周末价
$this->price_date .="
AND (
(plp.PLP_IsWeekPrice=1 AND plp.PLP_WeekDefine LIKE '%$week_day%')
OR (plp.PLP_IsWeekPrice=0)
)
";
}
$this->DEI_SN = $DEI_SN;
return $this->get_list();
}
public function get_list() {
$this->topnum ? $sql = "SELECT TOP " . $this->topnum : $sql = "SELECT ";
$sql .= "
cli.CLI_SN
,cli.CLI_NO
,cli.CLI_Grade
,plp.PLP_SN
,plp.PLP_CLI_SN
,plp.PLP_Season
,plp.PLP_Area
,plp.PLP_StartDate
,plp.PLP_EndDate
,plp.PLP_PersonGradeDown
,plp.PLP_PersonGradeUp
,plp.PLP_AdultUnitCost
,plp.PLP_AdultUnitPrice
,plp.PLP_RoomDiffPrice
,plp.PLP_ChildRate
,plp.PLP_BabyRate
,plp.PLP_ChildUnitPrice
,plp.PLP_BabyUnitPrice
,plp.PLP_Level
,plp.PLP_IsWeekPrice
,plp.PLP_WeekDefine
,plp.PLP_PriceDate
,plp.PLP_PersonNum
,plp.PLP_VEI_SN
,plp.PLP_Year
,plp.PLP_VPPI_SN
,plp.PLP_VPPD_SN
,plp.PLP_Creator
,plp.PLP_CreateDate
,plp.PLP_LastEditor
,plp.PLP_LastEditDate
FROM PrimeLinePrice plp
INNER JOIN CustomerLineInfo cli
ON cli.CLI_SN = plp.PLP_CLI_SN
WHERE 1 = 1
AND cli.CLI_DEI_SN=?
AND plp.PLP_Year IS NOT NULL
AND cli.CLI_NO = ?
AND cli.CLI_State IN (1005003 ,1005004)
";
$this->person_size ? $sql.=$this->person_size : false;
$this->price_date ? $sql.=$this->price_date : false;
$this->cli_grade ? $sql.=$this->cli_grade : false;
$this->orderby ? $sql.=$this->orderby : false;
$query = $this->HT->query($sql,array($this->DEI_SN,$this->cli_no));
if ($this->topnum === 1) {
if ($query->num_rows() > 0) {
$row = $query->row();
return $row;
} else {
return FALSE;
}
} else {
return $query->result();
}
}
}

@ -12,28 +12,25 @@ class Area_model extends CI_Model
function get_city($city_id)
{
$sql = "SELECT TOP 1 ci.CII_SN, \n"
. " ci.CII_Code, \n"
. " ci2.CII2_Name \n"
. "FROM CItyInfo ci \n"
. " INNER JOIN CItyInfo2 ci2 ON ci2.CII2_CII_SN = ci.CII_SN \n"
. "WHERE ci2.CII2_LGC = ? \n"
. " AND ci.CII_IsTrue = 1 \n"
. " AND ci2.CII2_Name IS NOT NULL \n"
. " AND ci2.CII2_Name <> '' \n"
. " AND ci.CII_Code IS NOT NULL \n"
. " AND ci.CII_Code <> '' \n"
. " AND ci.CII_SN =? \n"
. "ORDER BY \n"
. " ci.CII_Code ASC";
. " ci.CII_Code, \n"
. " ci2.CII2_Name \n"
. "FROM CItyInfo ci \n"
. " INNER JOIN CItyInfo2 ci2 ON ci2.CII2_CII_SN = ci.CII_SN \n"
. "WHERE ci2.CII2_LGC = ? \n"
. " AND ci.CII_IsTrue = 1 \n"
. " AND ci2.CII2_Name IS NOT NULL \n"
. " AND ci2.CII2_Name <> '' \n"
. " AND ci.CII_Code IS NOT NULL \n"
. " AND ci.CII_Code <> '' \n"
. " AND ci.CII_SN =? \n"
. "ORDER BY \n"
. " ci.CII_Code ASC";
$query = $this->HT->query($sql, array($this->config->item('site_lgc'), $city_id));
//print_r($this->HT->queries);
if ($query->result())
{
//print_r($this->HT->queries);
if ($query->result()) {
$row = $query->row();
return $row;
}
else
{
} else {
return FALSE;
}
}
@ -42,19 +39,19 @@ class Area_model extends CI_Model
function get_city_list($PRI_SN)
{
$sql = "SELECT ci.CII_SN, \n"
. " UPPER(ci.CII_Code) AS CII_Code, \n"
. " ci2.CII2_Name \n"
. "FROM CItyInfo ci \n"
. " INNER JOIN CItyInfo2 ci2 ON ci2.CII2_CII_SN = ci.CII_SN \n"
. "WHERE ci2.CII2_LGC = ? \n"
. " AND ci.CII_IsTrue = 1 \n"
. " AND ci2.CII2_Name IS NOT NULL \n"
. " AND ci2.CII2_Name <> '' \n"
. " AND ci.CII_Code IS NOT NULL \n"
. " AND ci.CII_Code <> '' \n"
. " AND ci.CII_PRI_SN = ? \n"
. "ORDER BY \n"
. " ci.CII_Code ASC";
. " UPPER(ci.CII_Code) AS CII_Code, \n"
. " ci2.CII2_Name \n"
. "FROM CItyInfo ci \n"
. " INNER JOIN CItyInfo2 ci2 ON ci2.CII2_CII_SN = ci.CII_SN \n"
. "WHERE ci2.CII2_LGC = ? \n"
. " AND ci.CII_IsTrue = 1 \n"
. " AND ci2.CII2_Name IS NOT NULL \n"
. " AND ci2.CII2_Name <> '' \n"
. " AND ci.CII_Code IS NOT NULL \n"
. " AND ci.CII_Code <> '' \n"
. " AND ci.CII_PRI_SN = ? \n"
. "ORDER BY \n"
. " ci.CII_Code ASC";
$query = $this->HT->query($sql, array($this->config->item('site_lgc'), $PRI_SN));
return $query->result();
}
@ -63,19 +60,19 @@ class Area_model extends CI_Model
function get_municipalities_list()
{
$sql = "SELECT ci.CII_SN, \n"
. " UPPER(ci.CII_Code) AS CII_Code, \n"
. " ci2.CII2_Name \n"
. "FROM CItyInfo ci \n"
. " INNER JOIN CItyInfo2 ci2 ON ci2.CII2_CII_SN = ci.CII_SN \n"
. "WHERE ci2.CII2_LGC = ? \n"
. " AND ci.CII_IsTrue = 1 \n"
. " AND ci2.CII2_Name IS NOT NULL \n"
. " AND ci2.CII2_Name <> '' \n"
. " AND ci.CII_Code IS NOT NULL \n"
. " AND ci.CII_Code <> '' \n"
. " AND ci.CII_SN IN (1,3,4,5,177,178) \n"
. "ORDER BY \n"
. " ci.CII_Code ASC";
. " UPPER(ci.CII_Code) AS CII_Code, \n"
. " ci2.CII2_Name \n"
. "FROM CItyInfo ci \n"
. " INNER JOIN CItyInfo2 ci2 ON ci2.CII2_CII_SN = ci.CII_SN \n"
. "WHERE ci2.CII2_LGC = ? \n"
. " AND ci.CII_IsTrue = 1 \n"
. " AND ci2.CII2_Name IS NOT NULL \n"
. " AND ci2.CII2_Name <> '' \n"
. " AND ci.CII_Code IS NOT NULL \n"
. " AND ci.CII_Code <> '' \n"
. " AND ci.CII_SN IN (1,3,4,5,177,178) \n"
. "ORDER BY \n"
. " ci.CII_Code ASC";
$query = $this->HT->query($sql, array($this->config->item('site_lgc')));
return $query->result();
}
@ -83,21 +80,18 @@ class Area_model extends CI_Model
function get_province($PRI_SN)
{
$sql = "SELECT TOP 1 pi1.PRI_SN, \n"
. " pi2.PRI2_Name \n"
. "FROM PRovinceInfo pi1 \n"
. " INNER JOIN PRovinceInfo2 pi2 ON pi2.PRI2_PRI_SN = pi1.PRI_SN \n"
. "WHERE (pi1.PRI_Country = 1 or pi1.PRI_Country = 10) \n"
. " AND pi1.PRI_SN NOT IN(1,2,3,4) \n"
. " AND pi2.PRI2_LGC = ? \n"
. " AND pi1.PRI_SN = ? ";
. " pi2.PRI2_Name \n"
. "FROM PRovinceInfo pi1 \n"
. " INNER JOIN PRovinceInfo2 pi2 ON pi2.PRI2_PRI_SN = pi1.PRI_SN \n"
. "WHERE (pi1.PRI_Country = 1 or pi1.PRI_Country = 10) \n"
. " AND pi1.PRI_SN NOT IN(1,2,3,4) \n"
. " AND pi2.PRI2_LGC = ? \n"
. " AND pi1.PRI_SN = ? ";
$query = $this->HT->query($sql, array($this->config->item('site_lgc'), $PRI_SN));
if ($query->result())
{
if ($query->result()) {
$row = $query->row();
return $row;
}
else
{
} else {
return FALSE;
}
}
@ -105,12 +99,12 @@ class Area_model extends CI_Model
function get_province_list()
{
$sql = "SELECT pi1.PRI_SN, \n"
. " pi2.PRI2_Name \n"
. "FROM PRovinceInfo pi1 \n"
. " INNER JOIN PRovinceInfo2 pi2 ON pi2.PRI2_PRI_SN = pi1.PRI_SN \n"
. "WHERE (pi1.PRI_Country = 1 or pi1.PRI_Country = 10) \n"
. " AND pi1.PRI_SN NOT IN(1,2,3,4,176,192) \n"
. " AND pi2.PRI2_LGC = ? ";
. " pi2.PRI2_Name \n"
. "FROM PRovinceInfo pi1 \n"
. " INNER JOIN PRovinceInfo2 pi2 ON pi2.PRI2_PRI_SN = pi1.PRI_SN \n"
. "WHERE (pi1.PRI_Country = 1 or pi1.PRI_Country = 10) \n"
. " AND pi1.PRI_SN NOT IN(1,2,3,4,176,192) \n"
. " AND pi2.PRI2_LGC = ? ";
$query = $this->HT->query($sql, array($this->config->item('site_lgc')));
return $query->result();
}
@ -118,19 +112,16 @@ class Area_model extends CI_Model
function get_country($COI_SN)
{
$sql = "SELECT TOP 1 ci.COI_SN, \n"
. " ci2.COI2_Country \n"
. "FROM COuntryInfo ci \n"
. " INNER JOIN COuntryInfo2 ci2 ON ci2.COI2_COI_SN = ci.COI_SN \n"
. "WHERE ci2.COI2_LGC = ? \n"
. " AND ci.COI_SN = ? ";
. " ci2.COI2_Country \n"
. "FROM COuntryInfo ci \n"
. " INNER JOIN COuntryInfo2 ci2 ON ci2.COI2_COI_SN = ci.COI_SN \n"
. "WHERE ci2.COI2_LGC = ? \n"
. " AND ci.COI_SN = ? ";
$query = $this->HT->query($sql, array($this->config->item('site_lgc'), $COI_SN));
if ($query->result())
{
if ($query->result()) {
$row = $query->row();
return $row;
}
else
{
} else {
return FALSE;
}
}
@ -138,22 +129,22 @@ class Area_model extends CI_Model
function get_country_list()
{
$sql = "SELECT ci.COI_SN, \n"
. " ci2.COI2_Country \n"
. "FROM COuntryInfo ci \n"
. " INNER JOIN COuntryInfo2 ci2 ON ci2.COI2_COI_SN = ci.COI_SN \n"
. "WHERE ci2.COI2_LGC = ? \n"
. " AND ci.COI_SN in(1, 2, 19, 22, 24, 27, 28, 29, 30, 31, 35, 562, 591)";
. " ci2.COI2_Country \n"
. "FROM COuntryInfo ci \n"
. " INNER JOIN COuntryInfo2 ci2 ON ci2.COI2_COI_SN = ci.COI_SN \n"
. "WHERE ci2.COI2_LGC = ? \n"
. " AND ci.COI_SN in(1, 2, 19, 22, 24, 27, 28, 29, 30, 31, 35, 562, 591, 517)";
$query = $this->HT->query($sql, array($this->config->item('site_lgc')));
return $query->result();
}
function get_country_list_for_site($country_list)
{
$sql = "SELECT ci.COI_SN, \n"
. " ci2.COI2_Country \n"
. "FROM COuntryInfo ci \n"
. " INNER JOIN COuntryInfo2 ci2 ON ci2.COI2_COI_SN = ci.COI_SN \n"
. "WHERE ci2.COI2_LGC = ? \n"
. " AND ci.COI_SN in($country_list)";
. " ci2.COI2_Country \n"
. "FROM COuntryInfo ci \n"
. " INNER JOIN COuntryInfo2 ci2 ON ci2.COI2_COI_SN = ci.COI_SN \n"
. "WHERE ci2.COI2_LGC = ? \n"
. " AND ci.COI_SN in($country_list)";
$query = $this->HT->query($sql, array($this->config->item('site_lgc')));
return $query->result();
}
@ -161,48 +152,46 @@ class Area_model extends CI_Model
//根据区域类型和ID获取区域名称
function get_area_name($ht_area_type, $ht_area_id)
{
switch ($ht_area_type)
{
case 'c'://城市
switch ($ht_area_type) {
case 'c': //城市
$area = $this->get_city($ht_area_id);
return $area ? $area->CII2_Name : false;
break;
case 'p'://省份
case 'p': //省份
$area = $this->get_province($ht_area_id);
return $area ? $area->PRI2_Name : false;
break;
case 'n'://国家
case 'n': //国家
$area = $this->get_country($ht_area_id);
return $area ? $area->COI2_Country : false;
break;
case 't'://特殊区域
case 't': //特殊区域
break;
case 's'://大洲
case 's': //大洲
break;
case 'z': //公民游
break;
case 'z'://公民游
break;
default:
break;
}
return false;
}
//获取最后编辑信息的50个城市
function get_last_edit_city()
{
$sql = "SELECT DISTINCT TOP 30 ci2.CII2_CII_SN, \n"
. " ci2.CII2_Name \n"
. "FROM CItyInfo2 ci2 \n"
. "WHERE ci2.CII2_LGC = ? \n"
. " AND ci2.CII2_CII_SN IN (SELECT TOP 1000 ic.ic_ht_area_id \n"
. " FROM infoContents ic \n"
. " WHERE ic_ht_area_type = 'c' \n"
. " ORDER BY \n"
. " ic.ic_datetime DESC) \n"
. "ORDER BY \n"
. " ci2.CII2_CII_SN ASC";
$query=$this->HT->query($sql,array($this->config->item('site_lgc')));
return $query->result();
}
//获取最后编辑信息的50个城市
function get_last_edit_city()
{
$sql = "SELECT DISTINCT TOP 30 ci2.CII2_CII_SN, \n"
. " ci2.CII2_Name \n"
. "FROM CItyInfo2 ci2 \n"
. "WHERE ci2.CII2_LGC = ? \n"
. " AND ci2.CII2_CII_SN IN (SELECT TOP 1000 ic.ic_ht_area_id \n"
. " FROM infoContents ic \n"
. " WHERE ic_ht_area_type = 'c' \n"
. " ORDER BY \n"
. " ic.ic_datetime DESC) \n"
. "ORDER BY \n"
. " ci2.CII2_CII_SN ASC";
$query = $this->HT->query($sql, array($this->config->item('site_lgc')));
return $query->result();
}
}

@ -0,0 +1,255 @@
<?php
class Feedback_model extends CI_Model {
function __construct() {
parent::__construct();
$this->HT = $this->load->database('HT', TRUE);
}
/**
* 返回最新反馈信息,默认 20条
*/
function get_feedback_newest($row_limit = 20) {
$total_limit = $row_limit * 2;
$feedback_query =
$this->HT->query("
select top ?
tad_content, tai_customerid, tai_title, tai_getdate, tai_url
from Eva_TAInfo tai
left join Eva_TADetail on TAD_TAI_SN=TAI_SN
left join Eva_TAGuidePrize tgp on tgp.TGP_TAI_SN = tai.TAI_SN
where TAD_Content is not null
and isnull(TAI_DeleteFlag,0) = 0 and isnull(tgp.TGP_CheckState, 0) = 136002
order by tai_getdate desc", $total_limit);
$feedback_result = $feedback_query->result();
$feedback_list = [];
$customer_id_list = [];
foreach ($feedback_result as $feedback_row) {
$createdOn = new DateTime($feedback_row->tai_getdate);
$createdOnString = $createdOn->format('M Y');
$feedback_count = COUNT($feedback_list);
if (!in_array($feedback_row->tai_customerid, $customer_id_list) && $feedback_count < $row_limit) {
$feedback = [
'title' => $feedback_row->tai_title,
'customer' => $feedback_row->tai_customerid,
'content' => $feedback_row->tad_content,
'url' => $feedback_row->tai_url,
'createdOn' => $createdOnString
];
$feedback_list[] = $feedback;
$customer_id_list[] = $feedback_row->tai_customerid;
}
}
return $feedback_list;
}
function test_feedback_newest() {
$feedback_query =
$this->HT->query("
select top 40
tad_content, tai_customerid, tai_title, tai_getdate, tai_url
from Eva_TAInfo tai
left join Eva_TADetail on TAD_TAI_SN=TAI_SN
left join Eva_TAGuidePrize tgp on tgp.TGP_TAI_SN = tai.TAI_SN
where TAD_Content is not null
and isnull(TAI_DeleteFlag,0) = 0 and isnull(tgp.TGP_CheckState, 0) = 136002
order by tai_getdate desc");
$feedback_result = $feedback_query->result();
$feedback_list = [];
$customer_id_list = [];
foreach ($feedback_result as $feedback_row) {
$createdOn = new DateTime($feedback_row->tai_getdate);
$createdOnString = $createdOn->format('M Y');
$feedback_count = COUNT($feedback_list);
if (!in_array($feedback_row->tai_customerid, $customer_id_list) && $feedback_count < 20) {
$feedback = [
'title' => $feedback_row->tai_title,
'customer' => $feedback_row->tai_customerid,
// 'content' => $feedback_row->tad_content,
'url' => $feedback_row->tai_url,
'createdOn' => $createdOnString
];
$feedback_list[] = $feedback;
$customer_id_list[] = $feedback_row->tai_customerid;
}
}
return $feedback_list;
}
/**
* 根据城市英文名查找最新八条反馈信息
*/
function get_feedback_by_city_list($city_name_list) {
$feedback_query =
$this->HT->query("
select top 40
tad_content, tai_customerid, tai_title, tai_getdate, tai_url, vci.cii2_name
from Eva_TAInfo
left join Eva_TADetail on TAD_TAI_SN=TAI_SN
left join V_CIty_Info vci on vci.cii_sn = tai_cii_sn and vci.LGC_LGC = 1
where TAD_Content is not null and vci.cii2_name = ?
order by tai_getdate desc",
array($city_name_list[0]));
$first_city_num = $feedback_query->num_rows();
$feedback_result = $feedback_query->result();
$feedback_list = [];
$customer_id_list = [];
foreach ($feedback_result as $feedback_row) {
$createdOn = new DateTime($feedback_row->tai_getdate);
$createdOnString = $createdOn->format('M Y');
$feedback_count = COUNT($feedback_list);
if (!in_array($feedback_row->tai_customerid, $customer_id_list) && $feedback_count < 20) {
$feedback = [
'title' => $feedback_row->tai_title,
'customer' => $feedback_row->tai_customerid,
'content' => $feedback_row->tad_content,
'url' => $feedback_row->tai_url,
'createdOn' => $createdOnString
];
$feedback_list[] = $feedback;
$customer_id_list[] = $feedback_row->tai_customerid;
}
}
$enough_count = 40 - $first_city_num;
if ($enough_count > 0 && count($city_name_list) > 1) {
$feedback_query =
$this->HT->query("
select top ?
tad_content, tai_customerid, tai_title, tai_getdate, tai_url, vci.cii2_name
from Eva_TAInfo
left join Eva_TADetail on TAD_TAI_SN=TAI_SN
left join V_CIty_Info vci on vci.cii_sn = tai_cii_sn and vci.LGC_LGC = 1
where TAD_Content is not null and vci.cii2_name = ?
order by tai_getdate desc",
array($enough_count, $city_name_list[1]));
$feedback_result = $feedback_query->result();
foreach ($feedback_result as $feedback_row) {
$createdOn = new DateTime($feedback_row->tai_getdate);
$createdOnString = $createdOn->format('M Y');
$feedback_count = COUNT($feedback_list);
if (!in_array($feedback_row->tai_customerid, $customer_id_list) && $feedback_count < 20) {
$feedback = [
'title' => $feedback_row->tai_title,
'customer' => $feedback_row->tai_customerid,
'content' => $feedback_row->tad_content,
'url' => $feedback_row->tai_url,
'createdOn' => $createdOnString
];
$feedback_list[] = $feedback;
$customer_id_list[] = $feedback_row->tai_customerid;
}
}
}
return $feedback_list;
}
/**
* 根据城市英文名查找反馈信息
*/
function get_feedback_by_city_name($city_name, $top = 30) {
$feedback_query =
$this->HT->query("
select top ?
tad_content, tai_customerid, tai_title, tai_getdate, tai_url, vci.cii2_name
from Eva_TAInfo
left join Eva_TADetail on TAD_TAI_SN=TAI_SN
left join V_CIty_Info vci on vci.cii_sn = tai_cii_sn and vci.LGC_LGC = 1
where TAD_Content is not null and vci.cii2_name = ?
order by tai_getdate desc",
array($top, $city_name));
$feedback_result = $feedback_query->result();
$feedback_list = [];
$customer_id_list = [];
foreach ($feedback_result as $feedback_row) {
$createdOn = new DateTime($feedback_row->tai_getdate);
$createdOnString = $createdOn->format('M Y');
if (!in_array($feedback_row->tai_customerid, $customer_id_list)) {
$feedback = [
'title' => $feedback_row->tai_title,
'customer' => $feedback_row->tai_customerid,
'content' => $feedback_row->tad_content,
'url' => $feedback_row->tai_url,
'createdOn' => $createdOnString
];
$feedback_list[] = $feedback;
$customer_id_list[] = $feedback_row->tai_customerid;
}
}
return $feedback_list;
}
/**
* 根据顾问英文名查找反馈信息
*/
function get_feedback_by_advisor_name($advisor_name) {
$feedback_query =
$this->HT->query("
select top 3
tad.tad_content,
tai.tai_customerid,
tai.tai_title,
tai.tai_getdate,
tai.tai_url,
vci.cii2_name
from Eva_TAInfo tai
join Eva_TADetail tad on tad.TAD_TAI_SN = tai.TAI_SN
join V_CIty_Info vci on vci.cii_sn = tai.tai_cii_sn and vci.LGC_LGC = 1
where tad.TAD_SN in (
select TAD_SN
from Eva_TADetail e
join V_Operator_Info v on e.TAD_ObjList like '%,' + cast(v.OPI_SN as varchar) + ',%'
where e.TAD_ObjType = 99002
and v.LGC_LGC = 1
and v.OPI2_Name = ?
)
order by tai.tai_getdate desc;
",
array($advisor_name));
$feedback_result = $feedback_query->result();
$feedback_list = [];
$customer_id_list = [];
foreach ($feedback_result as $feedback_row) {
$createdOn = new DateTime($feedback_row->tai_getdate);
$createdOnString = $createdOn->format('M Y');
if (!in_array($feedback_row->tai_customerid, $customer_id_list)) {
$feedback = [
'title' => $feedback_row->tai_title,
'customer' => $feedback_row->tai_customerid,
'content' => $feedback_row->tad_content,
'url' => $feedback_row->tai_url,
'createdOn' => $createdOnString
];
$feedback_list[] = $feedback;
$customer_id_list[] = $feedback_row->tai_customerid;
}
}
return $feedback_list;
}
}

@ -11,7 +11,8 @@ class InfoBokunData_model extends CI_Model {
public function __construct()
{
parent::__construct();
$this->HT = $this->load->database('HT', TRUE);
//$this->HT = $this->load->database('HT', TRUE);
$this->HT = $this->load->database('INFORMATION', TRUE);
}
var $ibd_ic_id;

@ -8,10 +8,11 @@ class InfoContents_model extends CI_Model
function __construct()
{
parent::__construct();
$this->HT = $this->load->database('HT', TRUE);
$this->HT = $this->load->database('INFORMATION', TRUE);
}
public function add_use_ORM($table, $data) {
public function add_use_ORM($table, $data)
{
if ($this->HT->insert($table, $data)) {
return $this->HT->last_id($table);
} else {
@ -19,93 +20,268 @@ class InfoContents_model extends CI_Model
}
}
public function update_use_ORM($table, $data, $where) {
public function update_use_ORM($table, $data, $where)
{
$this->HT->update($table, $data, $where);
}
function Add($ic_url, $ic_url_title, $ic_type, $ic_title, $ic_content, $ic_summary, $ic_seo_title, $ic_seo_description, $ic_seo_keywords,
$ic_show_bread_crumbs, $ic_status, $ic_template, $ic_photo, $ic_photo_width, $ic_photo_height, $ic_recommend_tours, $ic_recommend_packages,
$ic_ht_area_id, $ic_ht_area_type, $ic_ht_product_id, $ic_ht_product_type,$ic_author)
{
$ic_content=str_replace('http:'.$this->config->item('site_image_url'), $this->config->item('site_image_url'),$ic_content);
$ic_content=str_replace($this->config->item('media_image_url_remote2'), $this->config->item('site_image_url'),$ic_content);
$ic_content=str_replace($this->config->item('media_image_url_org'), $this->config->item('site_image_url'),$ic_content);
$ic_content=str_replace($this->config->item('media_image_url'), $this->config->item('site_image_url'),$ic_content);
$ic_content=str_replace($this->config->item('media_image_url2'), $this->config->item('site_image_url'),$ic_content);
$ic_content=str_replace($this->config->item('media_image_url_remote'), $this->config->item('site_image_url'),$ic_content);
$ic_content=str_replace($this->config->item('media_image_url3'), $this->config->item('site_image_url'),$ic_content);
$ic_content=str_replace($this->config->item('media_image_url_org2'), $this->config->item('site_image_url'),$ic_content);
$ic_content=str_replace('#textarea#', 'textarea',$ic_content);
$ic_content=str_replace('t_e_x_t_a_r_e_a', 'textarea',$ic_content);
function Add(
$ic_url,
$ic_url_title,
$ic_type,
$ic_title,
$ic_content,
$ic_summary,
$ic_seo_title,
$ic_seo_description,
$ic_seo_keywords,
$ic_show_bread_crumbs,
$ic_status,
$ic_template,
$ic_photo,
$ic_photo_width,
$ic_photo_height,
$ic_recommend_tours,
$ic_recommend_packages,
$ic_ht_area_id,
$ic_ht_area_type,
$ic_ht_product_id,
$ic_ht_product_type,
$ic_author
) {
$ic_content = str_replace('http:' . $this->config->item('site_image_url'), $this->config->item('site_image_url'), $ic_content);
$ic_content = str_replace($this->config->item('media_image_url_remote2'), $this->config->item('site_image_url'), $ic_content);
$ic_content = str_replace($this->config->item('media_image_url_org'), $this->config->item('site_image_url'), $ic_content);
$ic_content = str_replace($this->config->item('media_image_url'), $this->config->item('site_image_url'), $ic_content);
$ic_content = str_replace($this->config->item('media_image_url2'), $this->config->item('site_image_url'), $ic_content);
$ic_content = str_replace($this->config->item('media_image_url_remote'), $this->config->item('site_image_url'), $ic_content);
$ic_content = str_replace($this->config->item('media_image_url3'), $this->config->item('site_image_url'), $ic_content);
$ic_content = str_replace($this->config->item('media_image_url_org2'), $this->config->item('site_image_url'), $ic_content);
$ic_content = str_replace('#textarea#', 'textarea', $ic_content);
$ic_content = str_replace('t_e_x_t_a_r_e_a', 'textarea', $ic_content);
$sql = "INSERT INTO infoContents \n"
. " ( \n"
. " ic_url, ic_url_title, ic_type, ic_title, ic_content, ic_summary, ic_seo_title, \n"
. " ic_seo_description, ic_seo_keywords, ic_show_bread_crumbs, ic_status, \n"
. " ic_template, ic_photo,ic_photo_width,ic_photo_height, ic_sitecode, ic_recommend_tours, ic_recommend_packages, \n"
. " ic_ht_area_id, ic_ht_area_type,ic_ht_product_id,ic_ht_product_type,ic_author, ic_datetime \n"
. " ) \n"
. "VALUES \n"
. " ( N?,N?,?,N?,N?,N?,N?,N?,N?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,getdate() )";
$query = $this->HT->query($sql,
array($ic_url, $ic_url_title, $ic_type, $ic_title, str_replace($this->config->item('media_image_url'), $this->config->item('site_image_url'),
$ic_content),
$ic_summary, $ic_seo_title, $ic_seo_description, $ic_seo_keywords, $ic_show_bread_crumbs, $ic_status,
$ic_template, $ic_photo, $ic_photo_width, $ic_photo_height, $this->config->item('site_code'), $ic_recommend_tours, $ic_recommend_packages,
$ic_ht_area_id, $ic_ht_area_type, $ic_ht_product_id, $ic_ht_product_type,$ic_author));
. " ( \n"
. " ic_url, ic_url_title, ic_type, ic_title, ic_content, ic_summary, ic_seo_title, \n"
. " ic_seo_description, ic_seo_keywords, ic_show_bread_crumbs, ic_status, \n"
. " ic_template, ic_photo,ic_photo_width,ic_photo_height, ic_sitecode, ic_recommend_tours, ic_recommend_packages, \n"
. " ic_ht_area_id, ic_ht_area_type,ic_ht_product_id,ic_ht_product_type,ic_author, ic_datetime \n"
. " ) \n"
. "VALUES \n"
. " ( N?,N?,?,N?,N?,N?,N?,N?,N?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,getdate() )";
$query = $this->HT->query(
$sql,
array(
$ic_url,
$ic_url_title,
$ic_type,
$ic_title,
str_replace(
$this->config->item('media_image_url'),
$this->config->item('site_image_url'),
$ic_content
),
$ic_summary,
$ic_seo_title,
$ic_seo_description,
$ic_seo_keywords,
$ic_show_bread_crumbs,
$ic_status,
$ic_template,
$ic_photo,
$ic_photo_width,
$ic_photo_height,
$this->config->item('site_code'),
$ic_recommend_tours,
$ic_recommend_packages,
$ic_ht_area_id,
$ic_ht_area_type,
$ic_ht_product_id,
$ic_ht_product_type,
$ic_author
)
);
$this->insert_id = $this->HT->last_id('infoContents');
return $query;
}
function Update($ic_id, $ic_url, $ic_url_title, $ic_type, $ic_title, $ic_content, $ic_summary, $ic_seo_title, $ic_seo_description, $ic_seo_keywords,
$ic_show_bread_crumbs, $ic_status, $ic_template, $ic_photo, $ic_photo_width, $ic_photo_height, $ic_recommend_tours, $ic_recommend_packages,
$ic_ht_area_id, $ic_ht_area_type, $ic_ht_product_id, $ic_ht_product_type,$ic_author)
{
$ic_content=str_replace('http:'.$this->config->item('site_image_url'), $this->config->item('site_image_url'),$ic_content);
$ic_content=str_replace($this->config->item('media_image_url'), $this->config->item('site_image_url'),$ic_content);
$ic_content=str_replace($this->config->item('media_image_url2'), $this->config->item('site_image_url'),$ic_content);
$ic_content=str_replace($this->config->item('media_image_url_org'), $this->config->item('site_image_url'),$ic_content);
$ic_content=str_replace($this->config->item('media_image_url_remote'), $this->config->item('site_image_url'),$ic_content);
$ic_content=str_replace($this->config->item('media_image_url_remote2'), $this->config->item('site_image_url'),$ic_content);
$ic_content=str_replace($this->config->item('media_image_url3'), $this->config->item('site_image_url'),$ic_content);
$ic_content=str_replace($this->config->item('media_image_url_org2'), $this->config->item('site_image_url'),$ic_content);
$ic_content=str_replace('#textarea#', 'textarea',$ic_content);
$ic_content=str_replace('t_e_x_t_a_r_e_a', 'textarea',$ic_content);
function Add_with_sitecode(
$ic_url,
$ic_url_title,
$ic_type,
$ic_title,
$ic_content,
$ic_summary,
$ic_seo_title,
$ic_seo_description,
$ic_seo_keywords,
$ic_show_bread_crumbs,
$ic_status,
$ic_template,
$ic_photo,
$ic_photo_width,
$ic_photo_height,
$ic_recommend_tours,
$ic_recommend_packages,
$ic_ht_area_id,
$ic_ht_area_type,
$ic_ht_product_id,
$ic_ht_product_type,
$ic_author,
$site_code = ''
) {
if (empty($site_code)) {
$site_code = $this->config->item('site_code');
}
$ic_content = str_replace('http:' . $this->config->item('site_image_url'), $this->config->item('site_image_url'), $ic_content);
$ic_content = str_replace($this->config->item('media_image_url_remote2'), $this->config->item('site_image_url'), $ic_content);
$ic_content = str_replace($this->config->item('media_image_url_org'), $this->config->item('site_image_url'), $ic_content);
$ic_content = str_replace($this->config->item('media_image_url'), $this->config->item('site_image_url'), $ic_content);
$ic_content = str_replace($this->config->item('media_image_url2'), $this->config->item('site_image_url'), $ic_content);
$ic_content = str_replace($this->config->item('media_image_url_remote'), $this->config->item('site_image_url'), $ic_content);
$ic_content = str_replace($this->config->item('media_image_url3'), $this->config->item('site_image_url'), $ic_content);
$ic_content = str_replace($this->config->item('media_image_url_org2'), $this->config->item('site_image_url'), $ic_content);
$ic_content = str_replace('#textarea#', 'textarea', $ic_content);
$ic_content = str_replace('t_e_x_t_a_r_e_a', 'textarea', $ic_content);
$sql = "INSERT INTO infoContents \n"
. " ( \n"
. " ic_url, ic_url_title, ic_type, ic_title, ic_content, ic_summary, ic_seo_title, \n"
. " ic_seo_description, ic_seo_keywords, ic_show_bread_crumbs, ic_status, \n"
. " ic_template, ic_photo,ic_photo_width,ic_photo_height, ic_sitecode, ic_recommend_tours, ic_recommend_packages, \n"
. " ic_ht_area_id, ic_ht_area_type,ic_ht_product_id,ic_ht_product_type,ic_author, ic_datetime \n"
. " ) \n"
. "VALUES \n"
. " ( N?,N?,?,N?,N?,N?,N?,N?,N?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,getdate() )";
$query = $this->HT->query(
$sql,
array(
$ic_url,
$ic_url_title,
$ic_type,
$ic_title,
str_replace(
$this->config->item('media_image_url'),
$this->config->item('site_image_url'),
$ic_content
),
$ic_summary,
$ic_seo_title,
$ic_seo_description,
$ic_seo_keywords,
$ic_show_bread_crumbs,
$ic_status,
$ic_template,
$ic_photo,
$ic_photo_width,
$ic_photo_height,
$site_code,
$ic_recommend_tours,
$ic_recommend_packages,
$ic_ht_area_id,
$ic_ht_area_type,
$ic_ht_product_id,
$ic_ht_product_type,
$ic_author
)
);
$this->insert_id = $this->HT->last_id('infoContents');
return $query;
}
function Update(
$ic_id,
$ic_url,
$ic_url_title,
$ic_type,
$ic_title,
$ic_content,
$ic_summary,
$ic_seo_title,
$ic_seo_description,
$ic_seo_keywords,
$ic_show_bread_crumbs,
$ic_status,
$ic_template,
$ic_photo,
$ic_photo_width,
$ic_photo_height,
$ic_recommend_tours,
$ic_recommend_packages,
$ic_ht_area_id,
$ic_ht_area_type,
$ic_ht_product_id,
$ic_ht_product_type,
$ic_author
) {
$ic_content = str_replace('http:' . $this->config->item('site_image_url'), $this->config->item('site_image_url'), $ic_content);
$ic_content = str_replace($this->config->item('media_image_url'), $this->config->item('site_image_url'), $ic_content);
$ic_content = str_replace($this->config->item('media_image_url2'), $this->config->item('site_image_url'), $ic_content);
$ic_content = str_replace($this->config->item('media_image_url_org'), $this->config->item('site_image_url'), $ic_content);
$ic_content = str_replace($this->config->item('media_image_url_remote'), $this->config->item('site_image_url'), $ic_content);
$ic_content = str_replace($this->config->item('media_image_url_remote2'), $this->config->item('site_image_url'), $ic_content);
$ic_content = str_replace($this->config->item('media_image_url3'), $this->config->item('site_image_url'), $ic_content);
$ic_content = str_replace($this->config->item('media_image_url_org2'), $this->config->item('site_image_url'), $ic_content);
$ic_content = str_replace('#textarea#', 'textarea', $ic_content);
$ic_content = str_replace('t_e_x_t_a_r_e_a', 'textarea', $ic_content);
$sql = "UPDATE infoContents \n"
. "SET ic_url = N?, \n"
. " ic_url_title = N?, \n"
. " ic_type = ?, \n"
. " ic_title = N?, \n"
. " ic_content = N?, \n"
. " ic_summary = N?, \n"
. " ic_seo_title = N?, \n"
. " ic_seo_description = N?, \n"
. " ic_seo_keywords = N?, \n"
. " ic_show_bread_crumbs = ?, \n"
. " ic_status = ?, \n"
. " ic_template = ?, \n"
. " ic_photo = ?, \n"
. " ic_photo_width = ?, \n"
. " ic_photo_height = ?, \n"
. " ic_recommend_tours = ?, \n"
. " ic_recommend_packages = ?, \n"
. " ic_datetime = GETDATE() , \n"
. " ic_ht_area_id = ?, \n"
. " ic_ht_area_type = ?, \n"
. " ic_ht_product_id = ?, \n"
. " ic_ht_product_type = ?, \n"
. " ic_author = ? \n"
. "WHERE ic_id = ? \n"
. "AND ic_sitecode = ? ";
$query = $this->HT->query($sql,
array($ic_url, $ic_url_title, $ic_type, $ic_title, $ic_content, $ic_summary,
$ic_seo_title, $ic_seo_description, $ic_seo_keywords, $ic_show_bread_crumbs, $ic_status, $ic_template, $ic_photo, $ic_photo_width, $ic_photo_height,
$ic_recommend_tours, $ic_recommend_packages, $ic_ht_area_id,
$ic_ht_area_type, $ic_ht_product_id, $ic_ht_product_type,$ic_author, $ic_id,$this->config->item('site_code')));
. "SET ic_url = N?, \n"
. " ic_url_title = N?, \n"
. " ic_type = ?, \n"
. " ic_title = N?, \n"
. " ic_content = N?, \n"
. " ic_summary = N?, \n"
. " ic_seo_title = N?, \n"
. " ic_seo_description = N?, \n"
. " ic_seo_keywords = N?, \n"
. " ic_show_bread_crumbs = ?, \n"
. " ic_status = ?, \n"
. " ic_template = ?, \n"
. " ic_photo = ?, \n"
. " ic_photo_width = ?, \n"
. " ic_photo_height = ?, \n"
. " ic_recommend_tours = ?, \n"
. " ic_recommend_packages = ?, \n"
. " ic_datetime = GETDATE() , \n"
. " ic_ht_area_id = ?, \n"
. " ic_ht_area_type = ?, \n"
. " ic_ht_product_id = ?, \n"
. " ic_ht_product_type = ?, \n"
. " ic_author = ? \n"
. "WHERE ic_id = ? \n"
. "AND ic_sitecode = ? ";
$query = $this->HT->query(
$sql,
array(
$ic_url,
$ic_url_title,
$ic_type,
$ic_title,
$ic_content,
$ic_summary,
$ic_seo_title,
$ic_seo_description,
$ic_seo_keywords,
$ic_show_bread_crumbs,
$ic_status,
$ic_template,
$ic_photo,
$ic_photo_width,
$ic_photo_height,
$ic_recommend_tours,
$ic_recommend_packages,
$ic_ht_area_id,
$ic_ht_area_type,
$ic_ht_product_id,
$ic_ht_product_type,
$ic_author,
$ic_id,
$this->config->item('site_code')
)
);
return $query;
}
//删除信息
//强制更新信息
function force_update($ic_id, $ic_content)
{
$sql = "UPDATE infoContents SET ic_content = N? WHERE ic_id = ?";
@ -113,74 +289,109 @@ class InfoContents_model extends CI_Model
return $query;
}
//强制更新信息
function force_update_url($ic_id, $ic_url)
{
$sql = "UPDATE infoContents SET ic_url = N? WHERE ic_id = ?";
$query = $this->HT->query($sql, array($ic_url, $ic_id));
return $query;
}
//删除信息
function Delete($ic_id)
{
$sql = "DELETE \n"
. "FROM infoContents \n"
. "WHERE ic_id = ?";
. "FROM infoContents \n"
. "WHERE ic_id = ?";
$query = $this->HT->query($sql, array($ic_id));
return $query;
}
//递增浏览量
function inc_views($sitecode,$page_url)
{
//查询信息需要过滤url上的域名
if($page_url && $sitecode)
{
$page_url=substr($page_url,strpos($page_url,'/',8));//过滤掉url前面的http://
$sql = "UPDATE infoContents \n"
. "SET ic_view = ISNULL(ic_view,0) + 1 \n"
. "WHERE ic_sitecode = ? AND ic_url = N?";
return $this->HT->query($sql,array($sitecode,$page_url));
}
}
//递增浏览量
function inc_views($sitecode, $page_url)
{
//查询信息需要过滤url上的域名
if ($page_url && $sitecode) {
$page_url = substr($page_url, strpos($page_url, '/', 8)); //过滤掉url前面的http://
$sql = "UPDATE infoContents \n"
. "SET ic_view = ISNULL(ic_view,0) + 1 \n"
. "WHERE ic_sitecode = ? AND ic_url = N?";
return $this->HT->query($sql, array($sitecode, $page_url));
}
}
public function get_ic_contents($ic_id)
{
$sql="SELECT top 1 ic_id from infoContents where ic_id=?";
$query=$this->HT->query($sql,array($ic_id));
if ($query->result())
{
$sql = "SELECT top 1 ic_id from infoContents where ic_id=?";
$query = $this->HT->query($sql, array($ic_id));
if ($query->result()) {
$row = $query->row();
return $row;
}
else
{
} else {
return FALSE;
}
}
public function get_ic_contents2($ic_id)
{
$sql="SELECT top 1 ic_id, ic_content, ic_title, ic_url, ic_photo, ic_sitecode, ic_seo_description from infoContents where ic_id=?";
$query=$this->HT->query($sql,array($ic_id));
if ($query->result())
{
$sql = "SELECT top 1 * from infoContents where ic_id=?";
$query = $this->HT->query($sql, array($ic_id));
if ($query->result()) {
$row = $query->row();
return $row;
} else {
return FALSE;
}
else
{
}
public function get_ic_contents2_gm($ic_id)
{
$sql = "SELECT top 1 * from information_gm.dbo.infoContents where ic_id=?";
$query = $this->HT->query($sql, array($ic_id));
if ($query->result()) {
$row = $query->row();
return $row;
} else {
return FALSE;
}
}
public function get_ic_contents_by_list($ic_id_list)
{
$ic_id_list=trim($ic_id_list);
$ic_id_list.=0;
$sql="SELECT * from infoContents where ic_id in ($ic_id_list) order by charindex(','+ltrim(ic_id)+',', ',$ic_id_list,')";
$query=$this->HT->query($sql);
if ($query->result())
{
$ic_id_list = trim($ic_id_list);
$ic_id_list .= 0;
$sql = "SELECT * from infoContents where ic_id in ($ic_id_list) order by charindex(','+ltrim(ic_id)+',', ',$ic_id_list,')";
$query = $this->HT->query($sql);
if ($query->result()) {
$row = $query->result();
return $row;
}
else
{
} else {
return FALSE;
}
}
public function list_use_hb($site)
{
$sql = "
SELECT c.ic_id, c.ic_url
FROM infoContents c
INNER JOIN infoMetas m
ON c.ic_id = m.im_ic_id
WHERE m.im_key = 'AMP_BODY_PC_STATUS'
AND CONVERT(nvarchar(max), m.im_value) = 'yes'
AND c.ic_sitecode = ?
";
$query = $this->HT->query($sql, array($site));
return $query->result();
}
public function get_isid_by_icid($ic_id)
{
$sql = "
select is_id from infoStructures s
where s.is_ic_id=?
";
$query = $this->HT->query($sql, array($ic_id));
return $query->row();
}
}

@ -1,25 +1,29 @@
<?php
class InfoMetas_model extends CI_Model {
class InfoMetas_model extends CI_Model
{
function __construct() {
function __construct()
{
parent::__construct();
$this->HT = $this->load->database('HT', TRUE);
$this->HT = $this->load->database('INFORMATION', TRUE);
}
function add($im_ic_id, $im_key, $im_value) {
function add($im_ic_id, $im_key, $im_value)
{
$sql = "INSERT INTO infoMetas \n"
. " ( \n"
. " im_ic_id, im_key, im_value \n"
. " ) \n"
. "VALUES \n"
. " ( \n"
. " ?, ?, N? \n"
. " )";
return $this->HT->query($sql, array($im_ic_id, $im_key, (string)$im_value));
. " ( \n"
. " im_ic_id, im_key, im_value \n"
. " ) \n"
. "VALUES \n"
. " ( \n"
. " ?, ?, N? \n"
. " )";
return $this->HT->query($sql, array($im_ic_id, $im_key, (string) $im_value));
}
function get_list($im_ic_id, $im_key) {
function get_list($im_ic_id, $im_key)
{
$sql = "
SELECT im.im_id
,im.im_ic_id
@ -34,7 +38,8 @@ class InfoMetas_model extends CI_Model {
return $query->result();
}
function get_list_by_key($im_key) {
function get_list_by_key($im_ic_id, $im_key)
{
$sql = "
SELECT im.im_id
,im.im_ic_id
@ -50,7 +55,8 @@ class InfoMetas_model extends CI_Model {
}
//列表所有含AMPmeta的信息。
public function list_amp($site_code) {
public function list_amp($site_code)
{
$sql = "
SELECT im.im_id
,im.im_ic_id
@ -74,7 +80,8 @@ class InfoMetas_model extends CI_Model {
}
//列表所有不含AMPmeta的信息。
public function list_no_amp($site_code) {
public function list_no_amp($site_code)
{
$sql = "
SELECT c0.ic_id, c0.ic_url
FROM infoContents c0
@ -106,7 +113,8 @@ class InfoMetas_model extends CI_Model {
}
//按节点列表信息含meta数据
function list_info_by_path_with_meta($is_path, $site_code) {
function list_info_by_path_with_meta($is_path, $site_code)
{
$sql = "SELECT is1.is_id, \n"
. " is1.is_path, \n"
. " ic.ic_id, \n"
@ -130,11 +138,12 @@ class InfoMetas_model extends CI_Model {
return $query->result();
}
function get($im_ic_id, $im_key) {
function get($im_ic_id, $im_key)
{
$sql = "SELECT im.im_value \n"
. "FROM infoMetas im \n"
. "WHERE im.im_ic_id = ? \n"
. " AND im.im_key = ?";
. "FROM infoMetas im \n"
. "WHERE im.im_ic_id = ? \n"
. " AND im.im_key = ?";
$query = $this->HT->query($sql, array($im_ic_id, $im_key));
if ($query->num_rows() > 0) {
return $query->row()->im_value;
@ -143,17 +152,33 @@ class InfoMetas_model extends CI_Model {
}
}
function detail($im_ic_id, $im_key) {
function get_gm($im_ic_id, $im_key)
{
$sql = "SELECT im.im_value \n"
. "FROM infoMetas im \n"
. "WHERE im.im_ic_id = ? \n"
. " AND im.im_key = ? ORDER BY im.im_id asc";
. "FROM information_gm.dbo.infoMetas im \n"
. "WHERE im.im_ic_id = ? \n"
. " AND im.im_key = ?";
$query = $this->HT->query($sql, array($im_ic_id, $im_key));
if ($query->num_rows() > 0) {
return $query->row()->im_value;
} else {
return false;
}
}
function detail($im_ic_id, $im_key)
{
$sql = "SELECT im.im_value \n"
. "FROM infoMetas im \n"
. "WHERE im.im_ic_id = ? \n"
. " AND im.im_key = ? ORDER BY im.im_id asc";
$query = $this->HT->query($sql, array($im_ic_id, $im_key));
return $query->result();
}
//获取未收录的信息
public function get_unembody_content($datetime, $top_num = 1) {
public function get_unembody_content($datetime, $top_num = 1)
{
$sql = " SELECT TOP $top_num
im_ic_id,
im_value,
@ -172,33 +197,37 @@ class InfoMetas_model extends CI_Model {
return $query->result();
}
function update($im_ic_id, $im_key, $im_value) {
function update($im_ic_id, $im_key, $im_value)
{
$sql = "UPDATE infoMetas \n"
. "SET im_value = N? \n"
. "WHERE im_ic_id = ? \n"
. " AND im_key = ?";
return $this->HT->query($sql, array((string)$im_value, $im_ic_id, $im_key));
. "SET im_value = N? \n"
. "WHERE im_ic_id = ? \n"
. " AND im_key = ?";
return $this->HT->query($sql, array((string) $im_value, $im_ic_id, $im_key));
}
function delete($im_ic_id, $im_key) {
function delete($im_ic_id, $im_key)
{
$sql = "DELETE \n"
. "FROM infoMetas \n"
. "WHERE im_ic_id = ? \n"
. " AND im_key = ?";
. "FROM infoMetas \n"
. "WHERE im_ic_id = ? \n"
. " AND im_key = ?";
return $this->HT->query($sql, array($im_ic_id, $im_key));
}
function update_by_id($im_id, $im_value) {
function update_by_id($im_id, $im_value)
{
$sql = "UPDATE infoMetas \n"
. "SET im_value = N? \n"
. "WHERE im_id = ? \n";
. "SET im_value = N? \n"
. "WHERE im_id = ? \n";
return $this->HT->query($sql, array($im_value, $im_id));
}
function delete_by_id($im_id) {
function delete_by_id($im_id)
{
$sql = "DELETE \n"
. "FROM infoMetas \n"
. "WHERE im_id = ? \n";
. "FROM infoMetas \n"
. "WHERE im_id = ? \n";
return $this->HT->query($sql, array($im_id));
}

@ -37,17 +37,23 @@ class InfoSMS_model extends CI_Model
//设置已读
function readed($m_id)
{
/* 不再使用注释-lmr
$sql = "UPDATE infosms \n"
. "SET m_readed = 1 \n"
. "WHERE m_id = ?";
return $this->HT->query($sql,array($m_id));
*/
return array();
}
function readed_for_info($m_object_id,$m_object_type='info')
{
/* 不再使用注释-lmr
$sql = "UPDATE infosms \n"
. "SET m_readed = 1 \n"
. "WHERE m_object_type=? and m_object_id = ?";
return $this->HT->query($sql,array($m_object_type,$m_object_id));
*/
return array();
}
//获取未读消息

@ -8,7 +8,7 @@ class InfoStructures_model extends CI_Model
function __construct()
{
parent::__construct();
$this->HT = $this->load->database('HT', TRUE);
$this->HT = $this->load->database('INFORMATION', TRUE);
}
@ -16,96 +16,149 @@ class InfoStructures_model extends CI_Model
function Detail($is_id)
{
$sql = "SELECT TOP 1 is1.is_id, \n"
. " is1.is_parent_id, \n"
. " is1.is_path, \n"
. " is1.is_level, \n"
. " is1.is_sort, \n"
. " is1.is_sitecode, \n"
. " is1.is_datetime, \n"
. " is1.is_ic_id \n"
. "FROM infoStructures is1 \n"
. "WHERE is1.is_id = ?";
. " is1.is_parent_id, \n"
. " is1.is_path, \n"
. " is1.is_level, \n"
. " is1.is_sort, \n"
. " is1.is_sitecode, \n"
. " is1.is_datetime, \n"
. " is1.is_ic_id \n"
. "FROM infoStructures is1 \n"
. "WHERE is1.is_id = ?";
$query = $this->HT->query($sql, array($is_id));
//print_r($this->HT->queries);
if ($query->result())
{
if ($query->result()) {
$row = $query->row();
return $row;
} else {
return FALSE;
}
else
{
}
function Detail_gm($is_id)
{
$sql = "SELECT TOP 1 is1.is_id, \n"
. " is1.is_parent_id, \n"
. " is1.is_path, \n"
. " is1.is_level, \n"
. " is1.is_sort, \n"
. " is1.is_sitecode, \n"
. " is1.is_datetime, \n"
. " is1.is_ic_id \n"
. "FROM information_gm.dbo.infoStructures is1 \n"
. "WHERE is1.is_id = ?";
$query = $this->HT->query($sql, array($is_id));
//print_r($this->HT->queries);
if ($query->result()) {
$row = $query->row();
return $row;
} else {
return FALSE;
}
}
function Add($is_parent_id, $is_ic_id=-1,$is_sort=999)
function Add($is_parent_id, $is_ic_id = -1, $is_sort = 999)
{
if ($is_parent_id == 0)
{
if ($is_parent_id == 0) {
$is_path = '';
$is_level = 1;
}
else
{
} else if ($is_parent_id == -99) {
$is_path = '';
$is_level = 0;
$is_sort = 0;
} else {
$infoStructure = $this->Detail($is_parent_id);
if ($infoStructure)
{
if ($infoStructure) {
$is_path = $infoStructure->is_path;
$is_level = $infoStructure->is_level + 1;
}
else
{
} else {
return false;
}
}
$sql = "INSERT INTO infoStructures \n"
. " ( \n"
. " is_parent_id, is_path, is_level, is_sort, is_sitecode, is_datetime, is_ic_id \n"
. " ) \n"
. "VALUES \n"
. " ( \n"
. " ?, ?, ?, ?, ?, getdate(), ? \n"
. " )";
. " ( \n"
. " is_parent_id, is_path, is_level, is_sort, is_sitecode, is_datetime, is_ic_id \n"
. " ) \n"
. "VALUES \n"
. " ( \n"
. " ?, ?, ?, ?, ?, getdate(), ? \n"
. " )";
$query = $this->HT->query($sql, array($is_parent_id, $is_path, $is_level, $is_sort, $this->config->item('site_code'), $is_ic_id));
$this->insert_id = $this->HT->last_id('infoStructures');
//把自己的ID加到path上
$set_sql = "UPDATE infoStructures \n"
. "SET is_path = is_path + CONVERT(VARCHAR(200), is_id) + ',' \n"
. "WHERE is_id = ?";
. "SET is_path = is_path + CONVERT(VARCHAR(200), is_id) + ',' \n"
. "WHERE is_id = ?";
$query = $this->HT->query($set_sql, array($this->insert_id));
return $this->insert_id;
}
function GetParent($is_path, $level=1)
function Add_with_sitecode($is_parent_id, $is_ic_id = -1, $is_sort = 999, $site_code = '')
{
if ($is_path == '')
{
if (empty ($site_code)) {
$site_code = $this->config->item('site_code');
}
if ($is_parent_id == 0) {
$is_path = '';
$is_level = 1;
} else if ($is_parent_id == -99) {
$is_path = '';
$is_level = 0;
$is_sort = 0;
} else {
$infoStructure = $this->Detail($is_parent_id);
if ($infoStructure) {
$is_path = $infoStructure->is_path;
$is_level = $infoStructure->is_level + 1;
} else {
return false;
}
}
$sql = "INSERT INTO infoStructures \n"
. " ( \n"
. " is_parent_id, is_path, is_level, is_sort, is_sitecode, is_datetime, is_ic_id \n"
. " ) \n"
. "VALUES \n"
. " ( \n"
. " ?, ?, ?, ?, ?, getdate(), ? \n"
. " )";
$query = $this->HT->query($sql, array($is_parent_id, $is_path, $is_level, $is_sort, $site_code, $is_ic_id));
$this->insert_id = $this->HT->last_id('infoStructures');
//把自己的ID加到path上
$set_sql = "UPDATE infoStructures \n"
. "SET is_path = is_path + CONVERT(VARCHAR(200), is_id) + ',' \n"
. "WHERE is_id = ?";
$query = $this->HT->query($set_sql, array($this->insert_id));
return $this->insert_id;
}
function GetParent($is_path, $level = 1)
{
if ($is_path == '') {
return false;
}
$sql = "SELECT TOP 1 is1.is_id, \n"
. " is1.is_parent_id, \n"
. " is1.is_path, \n"
. " is1.is_level, \n"
. " is1.is_sort, \n"
. " is1.is_sitecode, \n"
. " is1.is_datetime, \n"
. " is1.is_ic_id \n"
. "FROM infoStructures is1 \n"
. "WHERE is1.is_level = ? \n"
. " AND is1.is_id IN ($is_path 0) \n"
. "ORDER BY \n"
. " is1.is_id ASC";
. " is1.is_parent_id, \n"
. " is1.is_path, \n"
. " is1.is_level, \n"
. " is1.is_sort, \n"
. " is1.is_sitecode, \n"
. " is1.is_datetime, \n"
. " is1.is_ic_id \n"
. "FROM infoStructures is1 \n"
. "WHERE is1.is_level = ? \n"
. " AND is1.is_id IN ($is_path 0) \n"
. "ORDER BY \n"
. " is1.is_id ASC";
$query = $this->HT->query($sql, array($level));
// print_r($this->HT->queries);
if ($query->result())
{
if ($query->result()) {
$row = $query->row();
return $row;
}
else
{
} else {
return FALSE;
}
}
@ -115,12 +168,9 @@ class InfoStructures_model extends CI_Model
{
$detail = $this->Detail($is_id);
$root = $this->GetParent($detail->is_path, 1);
if ($root)
{
if ($root) {
return $root;
}
else
{ //没有根节点则返回本节点
} else { //没有根节点则返回本节点
return $detail;
}
}
@ -129,15 +179,12 @@ class InfoStructures_model extends CI_Model
function HasChild($is_id)
{
$sql = "SELECT TOP 1 is1.is_id \n"
. "FROM infoStructures is1 \n"
. "WHERE is1.is_parent_id = ?";
. "FROM infoStructures is1 \n"
. "WHERE is1.is_parent_id = ?";
$query = $this->HT->query($sql, array($is_id));
if ($query->result())
{
if ($query->result()) {
return true;
}
else
{
} else {
return FALSE;
}
}
@ -146,8 +193,8 @@ class InfoStructures_model extends CI_Model
function Delete($is_id)
{
$sql = "DELETE \n"
. "FROM infoStructures \n"
. "WHERE is_id = ?";
. "FROM infoStructures \n"
. "WHERE is_id = ?";
$query = $this->HT->query($sql, array($is_id));
return $query;
}
@ -156,9 +203,9 @@ class InfoStructures_model extends CI_Model
function set_sort($is_id, $sort)
{
$sql = "UPDATE infoStructures \n"
. "SET is_datetime = GETDATE(), \n"
. " is_sort = ? \n"
. "WHERE is_id = ?";
. "SET is_datetime = GETDATE(), \n"
. " is_sort = ? \n"
. "WHERE is_id = ?";
$query = $this->HT->query($sql, array($sort, $is_id));
//print_r($this->HT->queries);
return $query;
@ -169,8 +216,7 @@ class InfoStructures_model extends CI_Model
{
$structure = $this->Detail($is_id);
//如果父级相同则不需要重新设置path
if ($parent_id == $structure->is_parent_id)
{
if ($parent_id == $structure->is_parent_id) {
return true;
}
$parent = $this->Detail($parent_id);
@ -180,39 +226,37 @@ class InfoStructures_model extends CI_Model
$set_path = $parent->is_path . $is_id . ',';
$set_sql = "UPDATE infoStructures \n"
. "SET is_parent_id = ?, \n"
. " is_level = ?, \n"
. " is_path = ? \n"
. "WHERE is_id = ?";
. "SET is_parent_id = ?, \n"
. " is_level = ?, \n"
. " is_path = ? \n"
. "WHERE is_id = ?";
$this->HT->query($set_sql, array($set_parent_id, $set_level, $set_path, $is_id));
$structure = $this->Detail($is_id);
//查询当前节点的所有子节点
$sql = "SELECT is1.is_id, \n"
. " is1.is_parent_id, \n"
. " is1.is_path, \n"
. " is1.is_level, \n"
. " is1.is_sort \n"
. "FROM infoStructures is1 \n"
. "WHERE ',' + is1.is_path LIKE '%,$structure->is_id,%' \n"
. "ORDER BY \n"
. " is1.is_level ASC ";
. " is1.is_parent_id, \n"
. " is1.is_path, \n"
. " is1.is_level, \n"
. " is1.is_sort \n"
. "FROM infoStructures is1 \n"
. "WHERE ',' + is1.is_path LIKE '%,$structure->is_id,%' \n"
. "ORDER BY \n"
. " is1.is_level ASC ";
$query = $this->HT->query($sql);
foreach ($query->result() as $item)
{
if ($item->is_parent_id != $structure->is_id)
{
foreach ($query->result() as $item) {
if ($item->is_parent_id != $structure->is_id) {
$structure = $this->Detail($item->is_parent_id);
}
$set_parent_id = $structure->is_id;
$set_level = $structure->is_level + 1;
$set_path = $structure->is_path . $item->is_id . ',';
$set_sql = "UPDATE infoStructures \n"
. "SET is_parent_id = ?, \n"
. " is_level = ?, \n"
. " is_path = ? \n"
. "WHERE is_id = ?";
. "SET is_parent_id = ?, \n"
. " is_level = ?, \n"
. " is_path = ? \n"
. "WHERE is_id = ?";
$this->HT->query($set_sql, array($set_parent_id, $set_level, $set_path, $item->is_id));
}
}
@ -223,21 +267,22 @@ class InfoStructures_model extends CI_Model
* @return:
* @Date Changed:
*/
public function AddRootNote($is_ic_id){
public function AddRootNote($is_ic_id)
{
$sql = "INSERT INTO infoStructures \n"
. " ( \n"
. " is_parent_id, is_path, is_level, is_sort, is_sitecode, is_datetime, is_ic_id \n"
. " ) \n"
. "VALUES \n"
. " ( \n"
. " ?, ?, ?, ?, ?, getdate(), ? \n"
. " )";
. " ( \n"
. " is_parent_id, is_path, is_level, is_sort, is_sitecode, is_datetime, is_ic_id \n"
. " ) \n"
. "VALUES \n"
. " ( \n"
. " ?, ?, ?, ?, ?, getdate(), ? \n"
. " )";
$query = $this->HT->query($sql, array(-99, '', 0, 0, $this->config->item('site_code'), $is_ic_id));
$this->insert_id = $this->HT->last_id('infoStructures');
//把自己的ID加到path上
$set_sql = "UPDATE infoStructures \n"
. "SET is_path = is_path + CONVERT(VARCHAR(200), is_id) + ',' \n"
. "WHERE is_id = ?";
. "SET is_path = is_path + CONVERT(VARCHAR(200), is_id) + ',' \n"
. "WHERE is_id = ?";
$query = $this->HT->query($set_sql, array($this->insert_id));
return $this->insert_id;

@ -5,7 +5,8 @@ class infoAccessmanage_model extends CI_Model
function __construct()
{
parent::__construct();
$this->HT = $this->load->database('HT', TRUE);
$this->HT = $this->load->database('INFORMATION', TRUE);
$this->HT229 = $this->load->database('HT', TRUE);
}
//获取用户结构列表
@ -19,7 +20,7 @@ class infoAccessmanage_model extends CI_Model
iam_author
FROM infoaccessmanage
INNER JOIN infoStructures is1 ON iam_is_id = is1.is_id
LEFT JOIN OperatorInfo ON iam_author=OPI_Code
LEFT JOIN tourmanager.dbo.OperatorInfo ON iam_author=OPI_Code
ORDER BY is1.is_level ASC,
is1.is_sort ASC,
is1.is_path ASC";
@ -407,7 +408,7 @@ class infoAccessmanage_model extends CI_Model
if ($undefined) {
$undefined_sql="AND OPI_Code NOT IN (SELECT iam_author FROM infoaccessmanage)";
}
$sql = "SELECT * FROM OperatorInfo WHERE DeleteFlag=0 $undefined_sql";
$sql = "SELECT * FROM tourmanager.dbo.OperatorInfo WHERE DeleteFlag=0 $undefined_sql";
$query = $this->HT->query($sql);
return $query->result();
}
@ -427,7 +428,7 @@ class infoAccessmanage_model extends CI_Model
$undefined_sql.=" AND a_id NOT IN ($authors)";
}
$sql = "SELECT * FROM infoAuthors $undefined_sql";
$sql = "SELECT * FROM tourmanager.dbo.infoAuthors $undefined_sql";
$query = $this->HT->query($sql);
return $query->result();
}

@ -12,7 +12,7 @@ class Infoauthors_model extends CI_Model
function __construct()
{
parent::__construct();
$this->HT = $this->load->database('HT', TRUE);
$this->HT = $this->load->database('INFORMATION', TRUE);
}
function init()

File diff suppressed because it is too large Load Diff

@ -12,18 +12,18 @@ class Landscape_model extends CI_Model
function search_list($keyword)
{
$sql = "SELECT TOP 8 lsi.LSI_SN, \n"
. " lsi.LSI_ID, \n"
. " lsi.LSI_City, \n"
. " lsi2.LSI2_Name, \n"
. " ci2.CII2_Name \n"
. "FROM LandScapeInfo lsi \n"
. " INNER JOIN LandScapeInfo2 lsi2 ON lsi2.LSI2_LSI_SN = lsi.LSI_SN \n"
. " AND lsi2.LSI2_LGC = ? \n"
. " INNER JOIN CItyInfo2 ci2 ON ci2.CII2_CII_SN = lsi.LSI_City \n"
. " AND ci2.CII2_LGC = ? \n"
. "WHERE lsi.LSI_Publish = 1 \n"
. " AND (lsi.LSI_ParentSN IS NULL OR lsi.LSI_ParentSN = 0) \n"
. " AND lsi2.LSI2_Name LIKE N? ";
. " lsi.LSI_ID, \n"
. " lsi.LSI_City, \n"
. " lsi2.LSI2_Name, \n"
. " ci2.CII2_Name \n"
. "FROM tourmanager.dbo.LandScapeInfo lsi \n"
. " INNER JOIN tourmanager.dbo.LandScapeInfo2 lsi2 ON lsi2.LSI2_LSI_SN = lsi.LSI_SN \n"
. " AND lsi2.LSI2_LGC = ? \n"
. " INNER JOIN tourmanager.dbo.CItyInfo2 ci2 ON ci2.CII2_CII_SN = lsi.LSI_City \n"
. " AND ci2.CII2_LGC = ? \n"
. "WHERE lsi.LSI_Publish = 1 \n"
. " AND (lsi.LSI_ParentSN IS NULL OR lsi.LSI_ParentSN = 0) \n"
. " AND lsi2.LSI2_Name LIKE N? ";
$query = $this->HT->query($sql, array($this->config->item('site_lgc'), $this->config->item('site_lgc'), '%' . urldecode($keyword) . '%'));
//print_r($this->HT->queries);
return $query->result();
@ -32,23 +32,20 @@ class Landscape_model extends CI_Model
function get_landscape_title($lsi_sn)
{
$sql = "SELECT TOP 1 lsi2.LSI2_Name \n"
. "FROM LandScapeInfo lsi \n"
. " INNER JOIN LandScapeInfo2 lsi2 ON lsi2.LSI2_LSI_SN = lsi.LSI_SN \n"
. " AND lsi2.LSI2_LGC = ? \n"
. " INNER JOIN CItyInfo2 ci2 ON ci2.CII2_CII_SN = lsi.LSI_City \n"
. " AND ci2.CII2_LGC = ? \n"
. "WHERE lsi.LSI_Publish = 1 \n"
. " AND (lsi.LSI_ParentSN IS NULL OR lsi.LSI_ParentSN = 0) \n"
. " AND lsi.LSI_SN = ?";
$query = $this->HT->query($sql, array($this->config->item('site_lgc'), $this->config->item('site_lgc'),$lsi_sn));
. "FROM LandScapeInfo lsi \n"
. " INNER JOIN LandScapeInfo2 lsi2 ON lsi2.LSI2_LSI_SN = lsi.LSI_SN \n"
. " AND lsi2.LSI2_LGC = ? \n"
. " INNER JOIN CItyInfo2 ci2 ON ci2.CII2_CII_SN = lsi.LSI_City \n"
. " AND ci2.CII2_LGC = ? \n"
. "WHERE lsi.LSI_Publish = 1 \n"
. " AND (lsi.LSI_ParentSN IS NULL OR lsi.LSI_ParentSN = 0) \n"
. " AND lsi.LSI_SN = ?";
$query = $this->HT->query($sql, array($this->config->item('site_lgc'), $this->config->item('site_lgc'), $lsi_sn));
//print_r($this->HT->queries);
if ($query->result())
{
if ($query->result()) {
$row = $query->row();
return $row->LSI2_Name;
}
else
{
} else {
return FALSE;
}
}
@ -58,31 +55,26 @@ class Landscape_model extends CI_Model
function get_detail($lsi_sn)
{
$sql = "SELECT TOP 1 lsi.LSI_SN, \n"
. " lsi.LSI_ID, \n"
. " lsi.LSI_City, \n"
. " lsi2.LSI2_Name, \n"
. " lsi2.LSI2_Intro, \n"
. " lsi2.LSI2_ShortIntro, \n"
. " ci2.CII2_Name \n"
. "FROM LandScapeInfo lsi \n"
. " INNER JOIN LandScapeInfo2 lsi2 ON lsi2.LSI2_LSI_SN = lsi.LSI_SN \n"
. " AND lsi2.LSI2_LGC = ? \n"
. " INNER JOIN CItyInfo2 ci2 ON ci2.CII2_CII_SN = lsi.LSI_City \n"
. " AND ci2.CII2_LGC = ? \n"
. "WHERE lsi.LSI_Publish = 1 \n"
. " AND (lsi.LSI_ParentSN IS NULL OR lsi.LSI_ParentSN = 0) \n"
. " AND lsi.LSI_SN = ?";
. " lsi.LSI_ID, \n"
. " lsi.LSI_City, \n"
. " lsi2.LSI2_Name, \n"
. " lsi2.LSI2_Intro, \n"
. " lsi2.LSI2_ShortIntro, \n"
. " ci2.CII2_Name \n"
. "FROM LandScapeInfo lsi \n"
. " INNER JOIN LandScapeInfo2 lsi2 ON lsi2.LSI2_LSI_SN = lsi.LSI_SN \n"
. " AND lsi2.LSI2_LGC = ? \n"
. " INNER JOIN CItyInfo2 ci2 ON ci2.CII2_CII_SN = lsi.LSI_City \n"
. " AND ci2.CII2_LGC = ? \n"
. "WHERE lsi.LSI_Publish = 1 \n"
. " AND (lsi.LSI_ParentSN IS NULL OR lsi.LSI_ParentSN = 0) \n"
. " AND lsi.LSI_SN = ?";
$query = $this->HT->query($sql, array($this->config->item('site_lgc'), $this->config->item('site_lgc'), $lsi_sn));
if ($query->num_rows() > 0)
{
if ($query->num_rows() > 0) {
$row = $query->row();
return $row;
}
else
{
} else {
return FALSE;
}
}
}

@ -14,7 +14,7 @@ class Logs_model extends CI_Model
public function __construct()
{
parent::__construct();
$this->HT = $this->load->database('HT', true);
$this->HT = $this->load->database('INFORMATION', true);
}
public function init()
@ -178,7 +178,7 @@ class Logs_model extends CI_Model
public function list_backup_meta($is_id, $meta_code)
{
$this->init();
$this->top_num = 100;
$this->top_num = 50;
$this->log_res_id = " AND il.log_res_id =" . $this->HT->escape($is_id);
$this->log_action = " AND il.log_action like 'backup_meta_" . $meta_code . "_%'";
return $this->get_list();
@ -231,7 +231,7 @@ class Logs_model extends CI_Model
,log_datetime
)
VALUES
( ?,?,N?,?,?,GETDATE())
( ?,?,N?,?,N?,GETDATE())
";
$query = $this->HT->query($sql, array('write_test', 0, '数据库写入测试', 'system', 'system'));
@ -254,9 +254,21 @@ class Logs_model extends CI_Model
. " ) \n"
. "VALUES \n"
. " ( \n"
. " ?, ?, N?, ?, ?, GETDATE() \n"
. " ?, ?, N?, ?, N?, GETDATE() \n"
. " )";
$query = $this->HT->query($sql, array($log_action, $is_id, $log_content, $admin_info['OPI_Code'], $admin_info['OPI_Name']));
// fix 外部站点调用
$op_code = null;
if ($admin_info['OPI_Code']) {
$op_code = $admin_info['OPI_Code'];
}
$op_name = 'outside';
if ($admin_info['OPI_Name']) {
$op_name = $admin_info['OPI_Name'];
}
$query = $this->HT->query($sql, array($log_action, $is_id, $log_content, $op_code, $op_name));
$this->insert_id = $this->HT->last_id('infoLogs');
return $query;
//print_r($this->HT->queries);
@ -276,5 +288,4 @@ class Logs_model extends CI_Model
$query = $this->HT->query($sql, array($ic_id));
return $query->row();
}
}

@ -6,134 +6,121 @@ class Operator_model extends CI_Model
function __construct()
{
parent::__construct();
$this->HT = $this->load->database('HT', TRUE);
$this->HT = $this->load->database('INFORMATION', TRUE);
$this->HT229 = $this->load->database('HT', TRUE);
}
//输入用户名和密码,检查是否可以正确
function check_login($user_code, $password)
{
$sql = "SELECT TOP 1 1 \n"
. "FROM OperatorInfo oi \n"
. "WHERE oi.OPI_Code = N? \n"
. " AND CONVERT(VARCHAR(100), oi.OPI_Password) = N? ";
. "FROM tourmanager.dbo.OperatorInfo oi \n"
. "WHERE oi.OPI_Code = N? \n"
. " AND CONVERT(VARCHAR(100), oi.OPI_Password) = N? ";
$query = $this->HT->query($sql, array($user_code, $password));
//print_r($this->HT->queries);
if ($query->num_rows() > 0)
{
if ($query->num_rows() > 0) {
return 1;
}
else
{
$author_sql = "SELECT TOP 1 1 FROM infoAuthors WHERE a_email=? AND a_password=?";
} else {
$author_sql = "SELECT TOP 1 1 FROM tourmanager.dbo.infoAuthors WHERE a_email=? AND a_password=?";
$author_query = $this->HT->query($author_sql, array($user_code, $password));
if ($author_query->num_rows() > 0)
{
if ($author_query->num_rows() > 0) {
return 2;
}
else{
} else {
return FALSE;
}
}
}
function get_password($user_code)
{
function get_password($user_code)
{
$sql = "SELECT TOP 1 oi.OPI_Password \n"
. "FROM OperatorInfo oi \n"
. "WHERE oi.OPI_Code = N?";
. "FROM tourmanager.dbo.OperatorInfo oi \n"
. "WHERE oi.OPI_Code = N?";
$query = $this->HT->query($sql, array($user_code));
//print_r($this->HT->queries);
if ($query->num_rows() > 0)
{
if ($query->num_rows() > 0) {
$row = $query->row_array();
return $row;
}
else
{
} else {
return FALSE;
}
}
}
//获取登录用户详细信息
function get_user($user_code)
{
if(empty($user_code))
{
return false;
}
if (empty($user_code)) {
return false;
}
$sql = "SELECT TOP 1 oi.OPI_SN, \n"
. " oi.OPI_Name, \n"
. " oi.OPI_Email, \n"
. " oi.OPI_FirstName, \n"
. " oi.OPI_Code \n"
. "FROM OperatorInfo oi \n"
. "WHERE oi.OPI_Code = N?";
. " oi.OPI_Name, \n"
. " oi.OPI_Email, \n"
. " oi.OPI_FirstName, \n"
. " oi.OPI_Code \n"
. "FROM tourmanager.dbo.OperatorInfo oi \n"
. "WHERE oi.OPI_Code = N?";
$query = $this->HT->query($sql, array($user_code));
//print_r($this->HT->queries);
if ($query->num_rows() > 0)
{
if ($query->num_rows() > 0) {
$row = $query->row_array();
return $row;
}
else
{
} else {
return FALSE;
}
}
//获取作者平台的作者信息
public function get_author_user($a_email){
public function get_author_user($a_email)
{
$sql = "SELECT TOP 1
a_id as OPI_SN,
a_email as OPI_Email,
a_name as OPI_Name,
a_name as OPI_FirstName,
a_id as OPI_Code
FROM infoAuthors
FROM tourmanager.dbo.infoAuthors
WHERE a_email=? AND a_active=1";
$query = $this->HT->query($sql, array($a_email));
if ($query->num_rows() > 0)
{
if ($query->num_rows() > 0) {
$row = $query->row_array();
return $row;
}
else
{
} else {
return FALSE;
}
}
//获取作者信息
function get_author($user_code=array())
//获取作者信息
function get_author($user_code = array())
{
$user_code_str='';
foreach($user_code as $user_item)
{
$user_code_str.="'".$user_item."',";
}
$user_code_str.="'0'";
$user_code_str = '';
foreach ($user_code as $user_item) {
$user_code_str .= "'" . $user_item . "',";
}
$user_code_str .= "'0'";
$sql = "SELECT oi.OPI_SN, \n"
. " oi.OPI_Name, \n"
. " oi.OPI_Email, \n"
. " oi.OPI_FirstName, \n"
. " oi.OPI_Code \n"
. "FROM OperatorInfo oi \n"
. "WHERE oi.OPI_Code IN ( $user_code_str )";
. " oi.OPI_Name, \n"
. " oi.OPI_Email, \n"
. " oi.OPI_FirstName, \n"
. " oi.OPI_Code \n"
. "FROM tourmanager.dbo.OperatorInfo oi \n"
. "WHERE oi.OPI_Code IN ( $user_code_str )";
$query = $this->HT->query($sql);
//print_r($this->HT->queries);
return $query->result();
return $query->result();
}
//获取作者的昵称
function get_author_nikename($user_code){
$sql="
SELECT top 1 isnull(UserInfo.NickName,'') as NickName,UserInfo.customPic, UserInfo.userid, UserInfo.sex, UserInfo.Email,Userinfo.intro
function get_author_nikename($user_code)
{
$sql = "
SELECT top 1 isnull(uio.NickName,'') as NickName,uio.customPic, uio.userid, uio.sex, uio.Email,uio.intro
,OPI_SN,OPI_Name,OPI_Email,OPI_FirstName,OPI_Code
FROM OperatorInfo left JOIN
UserInfo ON UserInfo.Email = OperatorInfo.OPI_Email
WHERE OperatorInfo.OPI_Code = '{$user_code}'
FROM tourmanager.dbo.OperatorInfo left JOIN
tourmanager.dbo.UserInfo uio ON uio.Email = tourmanager.dbo.OperatorInfo.OPI_Email
WHERE tourmanager.dbo.OperatorInfo.OPI_Code = '{$user_code}'
";
$query = $this->HT->query($sql);
@ -145,32 +132,33 @@ class Operator_model extends CI_Model
}
}
//HT中所有账号
function all()
{
//HT中所有账号
function all()
{
$sql = "SELECT oi.OPI_SN, \n"
. " oi.OPI_Name, \n"
. " oi.OPI_Email, \n"
. " oi.OPI_FirstName, \n"
. " oi.OPI_Code \n"
. "FROM OperatorInfo oi \n"
. "WHERE oi.deleteFlag=0 \n"
. "ORDER BY OPI_Code ASC ";
. " oi.OPI_Name, \n"
. " oi.OPI_Email, \n"
. " oi.OPI_FirstName, \n"
. " oi.OPI_Code \n"
. "FROM tourmanager.dbo.OperatorInfo oi \n"
. "WHERE oi.deleteFlag=0 \n"
. "ORDER BY OPI_Code ASC ";
$query = $this->HT->query($sql);
//print_r($this->HT->queries);
return $query->result();
}
return $query->result();
}
//获取当前站点的作者
public function get_site_user($site_code){
public function get_site_user($site_code)
{
$sql = "SELECT oi.OPI_SN,
oi.OPI_Name,
oi.OPI_Email,
oi.OPI_FirstName,
oi.OPI_Code
FROM OperatorInfo oi INNER JOIN infoaccessownsite i ON oi.OPI_Code=i.iao_author AND i.iao_other='editor'
FROM tourmanager.dbo.OperatorInfo oi INNER JOIN infoaccessownsite i ON oi.OPI_Code=i.iao_author AND i.iao_other='editor'
WHERE i.iao_site=?";
$query = $this->HT->query($sql,$site_code);
$query = $this->HT->query($sql, $site_code);
return $query->result();
}
}

@ -0,0 +1,63 @@
<?php
class recommends_and_tips_model extends CI_Model
{
function __construct()
{
parent::__construct();
$this->HT = $this->load->database('INFORMATION', TRUE);
}
public function recommends_list($is_id)
{
$sql = " SELECT
ir.ir_id
,ir.ir_is_id
,ir.ir_keyword
,ir.ir_name
,ir.ir_pointer_is_id
,ir.ir_pointer_it_id
,ir.ir_rule
,ir.ir_urls
,ir.ir_datetime
,ir.ir_sitecode
from infoRecommends ir
where 1=1
AND ir.ir_sitecode=?
AND ir.ir_is_id=?
";
$query = $this->HT->query($sql, array($this->config->item('site_code'), $is_id));
//print_r($this->INFO->queries);
return $query->result();
}
public function tips_detail($it_id)
{
$timestamp=time();
$sql = " SELECT TOP 1
it.it_id
,it.it_title
,it.it_expires
,it.it_code
,it.it_content
,it.it_sitecode
,it.it_datetime
from infoTips it
where 1=1
AND it.it_sitecode=?
AND it.it_id=?
AND it.it_expires>=?
";
$query = $this->HT->query($sql, array($this->config->item('site_code'), $it_id,$timestamp));
//print_r($this->HT->queries);
if ($query->num_rows() > 0) {
$row = $query->row();
return $row;
} else {
return FALSE;
}
}
}

@ -0,0 +1,131 @@
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Trippest_model extends CI_Model {
function __construct()
{
parent::__construct();
$this->HT = $this->load->database('HT', TRUE);
//$this->HT = $this->load->database('TOURMANAGER_LOCAL', TRUE);
}
/**
* @description: 根据信息标题获取对应的翰特包价线路内容
* @param {string} $pagecode
* @return:
*/
function get_pagdetail($pagcode){
$sql = " SELECT top 1 P1.PAG_ExtendType, P1.PAG_NeedTime,p2.PAG2_Name,P1.PAG_SN,p2.PAG2_Attraction,
P1.PAG_Code,P1.PAG_Title, CItyInfo2.CII2_Name
,P1.PAG_Type
,PAG_Scheme
,PAG_GuideLan
,PAG2_TimeDetail
,p1.PAG_SourceType
FROM dbo.BIZ_PackageInfo P1 INNER JOIN
dbo.BIZ_PackageInfo2 p2 ON P1.PAG_SN = p2.PAG2_PAG_SN INNER JOIN
dbo.CItyInfo2 ON P1.PAG_CII_SN = dbo.CItyInfo2.CII2_CII_SN AND
dbo.CItyInfo2.CII2_LGC=1
WHERE (p1.pag_dei_sn=32) AND
(p2.PAG2_LGC = 1)
AND (isnull(P1.DeleteFlag,0)<>1)
AND (p1.PAG_Code = ?) ";
// AND (p2.PAG2_Check = 2)
// AND (isnull(P1.DeleteFlag,0) <>1) ";
$query = $this->HT->query($sql,array($pagcode));
if ($query->num_rows()>0){
return $query->row();
}else{
return null;
}
}
/**
* @description: 根据一日游code获取对应人数的成人价格
* @param {string} $pagecode 线路代码
* @param int $personnum 人数
* @return:
*/
function get_price($pagcode,$personnum){
$sql = "select top 1 isnull(PKP_AdultNetPrice,0) as PKP_AdultNetPrice,isnull(PKP_AdultSpecialPrice,0) as PKP_AdultSpecialPrice
from BIZ_PackagePrice
inner join BIZ_PackageInfo on BIZ_PackageInfo.PAG_SN = BIZ_PackagePrice.PKP_PAG_SN
where BIZ_PackagePrice.Checked=2
and (BIZ_PackageInfo.PAG_Code = ?)
AND (pag_dei_sn=32)
and ? between PKP_PersonStart and PKP_PersonStop
and CONVERT(varchar(12),getdate(),111) between pkp_validdate and pkp_invaliddate
order by PKP_PriceGrade ";
$param = array($pagcode,$personnum);
$query = $this->HT->query($sql,$param);
if ($query->num_rows()>0){
return $query->row();
}else{
$sql = " select top 1 isnull(PKP_AdultNetPrice,0) as PKP_AdultNetPrice,isnull(PKP_AdultSpecialPrice,0) as PKP_AdultSpecialPrice
from BIZ_PackagePrice
inner join BIZ_PackageInfo on BIZ_PackageInfo.PAG_SN = BIZ_PackagePrice.PKP_PAG_SN
where BIZ_PackagePrice.Checked=2
and (BIZ_PackageInfo.PAG_Code = ?)
AND (pag_dei_sn=32)
and ? between PKP_PersonStart and PKP_PersonStop
order by PKP_AdultNetPrice desc ";
$query = $this->HT->query($sql,$param);
if ($query->num_rows()>0){
return $query->row();
}else
{
return null;
}
}
}
/**
* @description: 获取对应的接送产品列表
* @param {type}
* @return:
*/
function GetTransfer($PagSn){
$sql = "SELECT p2.PAG2_Name
,P1.PAG_SN
,p2.PAG2_Attraction
,P1.PAG_Code
FROM dbo.BIZ_PackageInfo P1
INNER JOIN dbo.BIZ_PackageInfo2 p2 ON P1.PAG_SN = p2.PAG2_PAG_SN
WHERE p2.PAG2_LGC = 108
AND P1.PAG_SN IN (
SELECT BTE_Trade
FROM BIZ_PackageTree
WHERE BTE_TradeType = 11
AND isnull(BTE_ParentID, 0) = 0
AND BTE_Trade = ?
UNION
SELECT BTE_Trade
FROM BIZ_PackageTree
WHERE BTE_ParentID = (
SELECT BTE_ID
FROM BIZ_PackageTree
WHERE BTE_TradeType = 11
AND isnull(BTE_ParentID, 0) = 0
AND BTE_Trade = ?
)
) order by PAG2_Order desc ";
$param = array($PagSn, $PagSn);
$query = $this->HT->Query($sql,$param);
return $query->result();
}
}
/* End of file Trippest_model.php */

@ -103,6 +103,9 @@ class Index extends CI_Controller
if (!$result) {
$data[] = array('name' => 'no', 'value' => '关联失败,请联系管理员!');
echo json_encode($data);
}else{
$data[] = array('name' => 'ok', 'value' => '关联成功!');
echo json_encode($data);
}
}
@ -166,4 +169,25 @@ class Index extends CI_Controller
}
echo $result;
}
//批量更新广告相关静态页面
//$ad_is_id 广告的结构ID
/*
public function update_www_cache($ad_is_id){
$data = array();
$data['ad_is_id']=$ad_is_id;
$data['advertise'] = $this->advertise_model->get_advertise_treeid($data['ad_is_id']);
if(empty($data['advertise'])){
show_404();
return false;
}
//广告绑定的页面
$data['webpage_list'] = $this->advertise_model->get_advertise_page($data['ad_is_id']);
if(!empty($data['webpage_list'])){
foreach ($data['webpage_list'] as $item){
echo $item->adp_ic_url.'<br/>';
}
}
}
*/
}

@ -41,7 +41,8 @@
<div class="col-xs-8 form-group nopadding">
<div class="col-xs-24 nopadding">广告位置</div>
<select class="form-control col-xs-24" name="ad_place" id="ad_place" style="display:block !important;">
<select class="form-control col-xs-18" name="ad_place" id="ad_place" style="display:block !important;">
<option value="right_row" <?php echo $advertise->ad_place == 'right_row' ? 'selected' : ''; ?>>页面右侧</option>
<option value="left_nav_top" <?php echo $advertise->ad_place == 'left_nav_top' ? 'selected' : ''; ?>>左导航顶部</option>
<option value="left_nav_bottom" <?php echo $advertise->ad_place == 'left_nav_bottom' ? 'selected' : ''; ?>>左导航底部</option>
<option value="right_nav_top" <?php echo $advertise->ad_place == 'right_nav_top' ? 'selected' : ''; ?>>右导航顶部</option>
@ -82,9 +83,11 @@
<div class="webpage_list">
<div id="webpage_list">
<?php foreach ($webpage_list as $key => $p) { ?>
<a href="javascript:void(0);" class="col-xs-24" id="<?php echo 'page_info_box' . $key; ?>" style="border:1px dashed #666;height:100px;margin-bottom:20px;padding:0px">
<span class="col-xs-24" id="<?php echo 'page_info_box' . $key; ?>" style="border:1px dashed #666;height:100px;margin-bottom:20px;padding:0px">
<a href="<?php echo site_url('/welcome/create_infomation_urls/0/mobile-first?ic_url=').$p->adp_ic_url; ?>" target="_blank"> <em title="更新静态页面" class=" glyphicon glyphicon-refresh text-danger pull-right"></em></a>
<em data-adpid="<?php echo $p->adp_id; ?>" title="删除" class="delete-page glyphicon glyphicon-minus-sign text-danger pull-left"></em><br/>
<div class="col-xs-24 edit_pageinfo" style="height:100%;padding:10px 10px;overflow:hidden;">
<em data-adpid="<?php echo $p->adp_id; ?>" class="delete-page glyphicon glyphicon-minus-sign text-danger pull-right"></em>
<span class="text-muted urlinfo" data-adpid="<?php echo $p->adp_id; ?>" data-urlinfo="<?php echo $p->adp_ic_url; ?>"><?php echo $p->adp_ic_url; ?></span>
<span class="col-xs-24 nopadding text-muted forselfinfo" style="font-size:12px;" data-forself="<?php echo $p->adp_forself; ?>">
<?php
@ -106,7 +109,7 @@
?>
</span>
</div>
</a>
</span>
<?php } ?>
</div>
</div>
@ -140,8 +143,8 @@
<form class="col-xs-24" data-flag="form_pageinfo_edit" method="post" action="<?php echo site_url('thirdparty/advertise/index/page_edit'); ?>">
<div class="col-xs-24 btn-lg"></div>
<div class="form-group">
<label for="exampleInputEmail1">页面链接URL、信息内容ID</label>
<input type="text" class="form-control adp_ic_url" name="adp_ic_url" placeholder="要关联的信息页面url 或信息标题ID,如:/beijing/或5362">
<label for="exampleInputEmail1">页面链接URL</label>
<input type="text" class="form-control adp_ic_url" name="adp_ic_url" placeholder="要关联的信息页面url 或信息标题ID,如:/beijing/">
</div>
<div class="col-xs-24 btn-sm"></div>

@ -12,6 +12,8 @@ class Api extends CI_Controller {
}
var $imageCdn = "//images.chinatravel.com";//有些HT绑定图片需要加cdn
public function index()
{
echo("<1>api</h1>");
@ -71,7 +73,7 @@ class Api extends CI_Controller {
$price = $this->api_model->getTourPrice($param);
$result["pricecn"]=$price;
if (is_numeric($price)){
$price = $this->currency->calc_show_price($this->currency->convert_moneny_by_char($price,"USD"));
$price = $this->currency->calc_show_price($price);
}else{
$price = "0";
}
@ -104,7 +106,7 @@ class Api extends CI_Controller {
$whereInfo = " and is_parent_id = '".$parentid."'";
}else{
$whereHT = " and (CII2_Name ='".$param."') ";
$whereInfo = "";
$whereInfo = " and is_parent_id = -1 ";
}
}
@ -134,25 +136,17 @@ class Api extends CI_Controller {
//图片
$imageCdn = "//images.chinatravel.com";//有些HT绑定图片需要加cdn
if (!empty($row->pic1)){
if (strpos($row->pic1,"chinatravel.com")!== false){
$picurl=$row->pic1;
}else{
$picurl = $imageCdn.$row->pic1;
}
if (!empty($row->pic1)){
$picurl = $row->pic1;
}else if(!empty($row->pic2)){
if (strpos($row->pic2,"chinatravel.com")!== false){
$picurl=$row->pic2;
}else{
$picurl = $imageCdn.$row->pic2;
}
$picurl = $row->pic2;
}else{
$picurl="//data.chinatravel.com/images/loading2.gif";
}
$row->price = $addPrice; //新增价格属性
$picurl = $this->api_model->getPicCdn($picurl).$picurl;
$row->pic =$picurl; //图片地址
}
@ -160,6 +154,167 @@ class Api extends CI_Controller {
echo json_encode($list);
}
/**
* @description: 获取新旧网站的子类列表
* @param {*} $old_pid
* @param {*} $new_pid
* @return {*}
* @Date Changed:
*/
public function getGuideList($old_pid = null,$new_pid=null)
{
//处理参数
if (isset($_GET["param"])){
$param = str_replace("'","''",$_GET["param"]);
if (strpos($param,",")!== false){
$new_pid = explode(",",$param)[0];
$old_pid = explode(",",$param)[1];
}else{
$old_pid = -1;
$new_pid = $param;
}
}
if (empty($old_pid) || !is_numeric($old_pid)){
$old_pid = -1 ;
}
if (empty($new_pid)|| !is_numeric($new_pid)){
$new_pid = -1;
}
$list = $this->api_model->getGuideList($old_pid,$new_pid);
foreach ($list as $row) {
//图片
if (!empty($row->ic_photo)){
$picurl = $row->ic_photo;
}else if (!empty($row->pic1)){
$picurl = $row->pic1;
}else{
$picurl="//data.chinatravel.com/images/no-photos.jpg";
}
// if (strpos($picurl,"chinatravel.com")!== false){
// }else{
// $picurl = $this->imageCdn.$picurl;
// }
$picurl = $this->api_model->getPicCdn($picurl).$picurl;
$row->pic = $picurl; //显示图片地址
}
echo json_encode($list);
}
/**
* @description: 获取线路sn
* @param {*} $clino
* @return {*}
* @Date Changed:
*/
public function getCliSn(){
//处理参数
if (isset($_GET["param"])){
$param = $_GET["param"];
$result["status"]="ok";
$tour = $this->api_model->getCliSn($param);
$CLI_SN = $tour->CLI_SN;
if (!empty($CLI_SN)){
$result["clisn"]=$CLI_SN;
}else {
$result["clisn"]=0;
}
}else{
$result["status"]="no param";
$result["clisn"]=0;
}
echo json_encode($result);
}
/**
* @description: 一日游价格表
* @param {*}
* @return {*}
* @Date Changed:
*/
public function getDaytripPriceList(){
if (isset($_GET["param"])){
$param = str_replace("'","''",$_GET["param"]);
$list = $this->api_model->getDaytripPriceList($param);
if (!empty($list)){
if (count($list)==1){
//echo "1";
foreach ($list as $row) {
$PKP_AdultPrice = $row->PKP_AdultPrice;
$PKP_AdultSpecialPrice = $row->PKP_AdultSpecialPrice;
if ($PKP_AdultPrice!=$PKP_AdultSpecialPrice && $PKP_AdultSpecialPrice>0){
$PKP_AdultPrice=$PKP_AdultSpecialPrice;
}
$PKP_AdultPrice = $this->currency->convert_moneny_by_char($PKP_AdultPrice,"USD");
echo '<table border="0" align="center" cellpadding="10" cellspacing="1" class="pricetable"><tr><th>>1 Person</th></tr><tr><td><strong class="orange"> $'.$PKP_AdultPrice.'</strong></td></tr></table>';
}
}else{
//echo "2";
$str_th="";
$str_td="";
foreach ($list as $row) {
$PKP_AdultPrice = $row->PKP_AdultPrice;
$PKP_AdultSpecialPrice = $row->PKP_AdultSpecialPrice;
if ($PKP_AdultPrice!=$PKP_AdultSpecialPrice && $PKP_AdultSpecialPrice>0){
$PKP_AdultPrice=$PKP_AdultSpecialPrice;
}
$PKP_AdultPrice = $this->currency->convert_moneny_by_char($PKP_AdultPrice,"USD");
$PKP_PersonStart = $row->PKP_PersonStart;
$PKP_PersonStop = $row->PKP_PersonStop;
//'根据数据生成显示内容
if ($PKP_PersonStart == $PKP_PersonStop){
$str_th .= "<th> ".$PKP_PersonStart." Person</th>";
}
else if ($PKP_PersonStop=="1000") {
$str_th .= "<th> >".$PKP_PersonStart." Person</th>";
}
else{
$str_th .= "<th> ".$PKP_PersonStart." - ".$PKP_PersonStop." Person</th>";
}
$str_td .="<td><strong class='orange'> $ ".$PKP_AdultPrice."</strong></td>";
}
echo '<table border="0" align="center" cellpadding="10" cellspacing="1" class="pricetable"><tr>'.$str_th.'</tr><tr>'.$str_td.'</tr></table>';
}
}
}else{
echo "";
}
}
/**
* @description: 拷贝旧内容
* @param {*} 新信息ic_id ,旧URL
* @return {*}
* @Date Changed:
*/
public function copyOldUrl(){
//参数
$id = $this->input->post("id");
$oldUrl = $this->input->post("oldurl");
//调用拷贝
$update = $this->api_model->copyOldUrl($id,$oldUrl);
if ($update){
$result["status"]="ok";
}else{
$result["status"]="error";
}
$result["id"]=$id;
$result["oldUrl"]=$oldUrl;
echo json_encode($result);
}
}
/* End of file Api.php */

@ -0,0 +1,297 @@
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Apish extends CI_Controller {
public function __construct()
{
parent::__construct();
$this->load->model('apish_model');
$this->load->library('Currency');
}
var $imageCdn = "//images.shanghaihighlights.com";//有些HT绑定图片需要加cdn
public function index()
{
echo("<1>apish</h1>");
}
/**
* @description: 返回一日游价格
* @param {*} $returntype
* @return {*}
* @Date Changed:
*/
public function getDaytripsPrice(){
if (isset($_GET["param"])){
$param = $_GET["param"];
if (strpos($param,",")!== false){
$pagecode = explode(",",$param)[0];
$personnum=explode(",",$param)[1];
}else{
$pagecode = $param;
$personnum=2;
}
if (isset($_GET["personnum"])){
$personnum=$_GET["personnum"];
}else{
$personnum=2;
}
$result["status"]="ok";
$price = $this->apish_model->getDaytripsPrice($pagecode,$personnum);
$PKP_AdultSpecialPrice = $price->PKP_AdultSpecialPrice;
$PKP_AdultPrice = $price->PKP_AdultPrice;
if ($PKP_AdultPrice!=$PKP_AdultSpecialPrice && $PKP_AdultSpecialPrice>0){
$result["price"] = $this->currency->convert_moneny_by_char($PKP_AdultSpecialPrice,"USD");
}else{
$result["price"] = $this->currency->convert_moneny_by_char($PKP_AdultPrice,"USD");
}
echo json_encode($result);
}else {
$result["status"]="no param";
echo json_encode($result);
}
}
/**
* @description: 获取精华线路价格2人等)
* @param {*}
* @return {*}
* @Date Changed:
*/
public function getTourPrice(){
if (isset($_GET["param"])){
$param = $_GET["param"];
$result["status"]="ok";
$price = $this->apish_model->getTourPrice($param);
$result["pricecn"]=$price;
if (is_numeric($price)){
$price = $this->currency->calc_show_price($price);
}else{
$price = "0";
}
$result["price"] = $price;
echo json_encode($result);
}else{
$result["status"]="no param";
echo json_encode($result);
}
}
/**
* @description: 获取HT及信息平台的一日游列表数据
* @param {*}
* @return {*}
* @Date Changed:
*/
public function getDaytripList(){
//先处理传递过来的参数逗号隔开两个参数的格式城市名称父ID
$whereHT="";
$whereInfo="";
if (isset($_GET["param"])){
$param = str_replace("'","''",$_GET["param"]);
if (strpos($param,",")!== false){
$city = explode(",",$param)[0];
$whereHT = " and (CII2_Name ='".$city."') ";
$parentid = explode(",",$param)[1];
$whereInfo = " and is_parent_id = '".$parentid."'";
}else{
$whereHT = " and (CII2_Name ='".$param."') ";
$whereInfo = " and is_parent_id = -1 ";
}
}
$list = $this->apish_model->getDaytripList($whereHT,$whereInfo);
foreach ($list as $row) {
//获取价格
$price = $this->apish_model->getDaytripsPrice($row->code,2);
if ($price!=null){
$PKP_AdultSpecialPrice = $price->PKP_AdultSpecialPrice;
$PKP_AdultPrice = $price->PKP_AdultPrice;
if ($PKP_AdultPrice!=$PKP_AdultSpecialPrice && $PKP_AdultSpecialPrice>0){
$addPrice = $this->currency->convert_moneny_by_char($PKP_AdultSpecialPrice,"USD");
}else{
$addPrice= $this->currency->convert_moneny_by_char($PKP_AdultPrice,"USD");
}
}else{
$addPrice=0;
}
//URL
if (empty($row->url)){
$str_Url = "/shanghai-day-trips/".strtolower($row->code).".htm";
$row->url = $str_Url; //更新url
}
//图片
if (!empty($row->pic1)){
$picurl = $row->pic1;
}else if(!empty($row->pic2)){
$picurl = $row->pic2;
}else{
$picurl="//data.shanghaihighlights.com/image/loading.gif";
}
$row->price = $addPrice; //新增价格属性
$picurl = $this->apish_model->getPicCdn($picurl).$picurl;
$row->pic =$picurl; //图片地址
}
echo json_encode($list);
}
/**
* @description: 获取新旧网站的子类列表
* @param {*} $old_pid
* @param {*} $new_pid
* @return {*}
* @Date Changed:
*/
public function getGuideList($old_pid = null,$new_pid=null)
{
//处理参数
if (isset($_GET["param"])){
$param = str_replace("'","''",$_GET["param"]);
if (strpos($param,",")!== false){
$new_pid = explode(",",$param)[0];
$old_pid = explode(",",$param)[1];
}else{
$old_pid = -1;
$new_pid = $param;
}
}
if (empty($old_pid) || !is_numeric($old_pid)){
$old_pid = -1 ;
}
if (empty($new_pid)|| !is_numeric($new_pid)){
$new_pid = -1;
}
$list = $this->apish_model->getGuideList($old_pid,$new_pid);
foreach ($list as $row) {
//图片
if (!empty($row->ic_photo)){
$picurl = $row->ic_photo;
}else if (!empty($row->pic1)){
$picurl = $row->pic1;
}else{
$picurl="//data.chinatravel.com/images/no-photos.jpg";
}
// if (strpos($picurl,"chinatravel.com")!== false){
// }else{
// $picurl = $this->imageCdn.$picurl;
// }
$picurl = $this->apish_model->getPicCdn($picurl).$picurl;
$row->pic = $picurl; //显示图片地址
}
echo json_encode($list);
}
/**
* @description: 获取线路sn
* @param {*} $clino
* @return {*}
* @Date Changed:
*/
public function getCliSn(){
//处理参数
if (isset($_GET["param"])){
$param = $_GET["param"];
$result["status"]="ok";
$tour = $this->apish_model->getCliSn($param);
$CLI_SN = $tour->CLI_SN;
if (!empty($CLI_SN)){
$result["clisn"]=$CLI_SN;
}else {
$result["clisn"]=0;
}
}else{
$result["status"]="no param";
$result["clisn"]=0;
}
echo json_encode($result);
}
/**
* @description: 一日游价格表
* @param {*}
* @return {*}
* @Date Changed:
*/
public function getDaytripPriceList(){
if (isset($_GET["param"])){
$param = str_replace("'","''",$_GET["param"]);
$list = $this->apish_model->getDaytripPriceList($param);
if (!empty($list)){
if (count($list)==1){
//echo "1";
foreach ($list as $row) {
$PKP_AdultPrice = $row->PKP_AdultPrice;
$PKP_AdultSpecialPrice = $row->PKP_AdultSpecialPrice;
if ($PKP_AdultPrice!=$PKP_AdultSpecialPrice && $PKP_AdultSpecialPrice>0){
$PKP_AdultPrice=$PKP_AdultSpecialPrice;
}
$PKP_AdultPrice = $this->currency->convert_moneny_by_char($PKP_AdultPrice,"USD");
echo '<table border="0" align="center" cellpadding="10" cellspacing="1" class="pricetable"><tr><th>>1 Person</th></tr><tr><td><strong class="orange"> $'.$PKP_AdultPrice.'</strong></td></tr></table>';
}
}else{
//echo "2";
$str_th="";
$str_td="";
foreach ($list as $row) {
$PKP_AdultPrice = $row->PKP_AdultPrice;
$PKP_AdultSpecialPrice = $row->PKP_AdultSpecialPrice;
if ($PKP_AdultPrice!=$PKP_AdultSpecialPrice && $PKP_AdultSpecialPrice>0){
$PKP_AdultPrice=$PKP_AdultSpecialPrice;
}
$PKP_AdultPrice = $this->currency->convert_moneny_by_char($PKP_AdultPrice,"USD");
$PKP_PersonStart = $row->PKP_PersonStart;
$PKP_PersonStop = $row->PKP_PersonStop;
//'根据数据生成显示内容
if ($PKP_PersonStart == $PKP_PersonStop){
$str_th .= "<th> ".$PKP_PersonStart." Person</th>";
}
else if ($PKP_PersonStop=="1000") {
$str_th .= "<th> >".$PKP_PersonStart." Person</th>";
}
else{
$str_th .= "<th> ".$PKP_PersonStart." - ".$PKP_PersonStop." Person</th>";
}
$str_td .="<td><strong class='orange'> $ ".$PKP_AdultPrice."</strong></td>";
}
echo '<table border="0" align="center" cellpadding="10" cellspacing="1" class="pricetable"><tr>'.$str_th.'</tr><tr>'.$str_td.'</tr></table>';
}
}
}else{
echo "";
}
}
}
/* End of file Api.php */

@ -0,0 +1,164 @@
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class TrainDMS extends CI_Controller {
public function __construct(){
parent::__construct();
$this->load->model("dms_model");
}
/**
* @description: 接口总汇,根据接受数据,调用不同接口,返回数据
* @return {*}
* @Date Changed:
*/
public function dmsCallback(){
$back_json = file_get_contents('php://input');
$dms_backdata = json_decode($back_json);
if(!empty($dms_backdata)){
//判断接口调用是否合法
$TimeStamp = $dms_backdata->authentication->timeStamp;
$serviceName = $dms_backdata->authentication->serviceName; //每个接口都有自己名称
$companyId = "haina";
$key = "dms001";
$strSign = $TimeStamp.$serviceName.$companyId.$key; //加密前的令牌
$Sign = md5($strSign);
$messageIdentity = $dms_backdata->authentication->messageIdentity;
$ResultNoticeResponse = new stdClass();
if ($Sign == $messageIdentity){
$ResultNoticeResponse->returnCode = 1;
$ResultNoticeResponse->returnMsg = "success";
//这里正常处理各种接口调用
if ($serviceName=="dms.login"){ //登录
$username = $dms_backdata->loginInfo->username;
$password = $dms_backdata->loginInfo->password;
$ResultNoticeResponse->loginInfo = new stdClass();
$LoginInfo = $this->dms_model->Login($username,$password);
if (empty($LoginInfo)){
$ResultNoticeResponse->loginInfo->status = 0; //账号密码错误。
$ResultNoticeResponse->loginInfo->dt_username = '';
$ResultNoticeResponse->loginInfo->dt_payrule = "";
$ResultNoticeResponse->loginInfo->dt_usertype = "";
$ResultNoticeResponse->loginInfo->dt_HtId = "";
$ResultNoticeResponse->loginInfo->dt_id = "";
}else{
$ResultNoticeResponse->loginInfo->status = 1; //账号密码是否正常。
$ResultNoticeResponse->loginInfo->dt_username = $LoginInfo->dt_username;
$ResultNoticeResponse->loginInfo->dt_payrule = $LoginInfo->dt_payrule;
$ResultNoticeResponse->loginInfo->dt_usertype = $LoginInfo->dt_usertype;
$ResultNoticeResponse->loginInfo->dt_HtId = $LoginInfo->dt_HtId;
$ResultNoticeResponse->loginInfo->dt_id = $LoginInfo->dt_id;
}
}else if($serviceName=="dms.dmlist"){ //分销商列表
$arrKeyword = new stdClass();
$arrKeyword = $dms_backdata->arrKeyword;
$dmlist = $this->dms_model->get_DmList($arrKeyword);
$resultData = $dmlist["data"];
$total = $dmlist["total"];
$ResultNoticeResponse->dmlist = new stdClass();
$ResultNoticeResponse->dmlist->data=$resultData;
$ResultNoticeResponse->dmlist->total = $total;
// "arrKeyword": {
// "s_username": "ssss",
// "s_ename": "vvv",
// "page": false,
// "per_page": 20
// }
}else if($serviceName=="dms.getpayrule"){ //获取支付规则列表数据
$getpayrule = $this->dms_model->get_payrule();
$ResultNoticeResponse->getpayrule = $getpayrule;
}else if ($serviceName=="dms.addsave"){ //添加供应商操作
$formData = new stdClass() ;
$formData = $dms_backdata->formInfo;
$rStatus = $this->dms_model->addsave($formData);
$ResultNoticeResponse->addsave = $rStatus;
}else if ($serviceName=="dms.getDmsDetail") { //修改分销商详细页
$id = $dms_backdata->DmsDetail->dtid;
$dmsDetail = $this->dms_model->getDmsDetail($id);
$ResultNoticeResponse->DmsDetail = $dmsDetail;
}else if ($serviceName=="dms.editsave"){ //修改分销商保存
$formData = new stdClass() ;
$formData = $dms_backdata->formInfo;
$rStatus = $this->dms_model->editsave($formData);
$ResultNoticeResponse->editsave = $rStatus;
}else if ($serviceName=="dms.delete"){ //删除分销商
$id = $dms_backdata->DmsDetail->dtid;
$rStatus = $this->dms_model->dmdDelete($id);
$ResultNoticeResponse->dmsdelete = $rStatus;
}else if ($serviceName == "dms.payrecord"){ //支付记录
$arrKeyword = new stdClass();
$arrKeyword = $dms_backdata->arrKeyword;
$payrecord = $this->dms_model->payrecord($arrKeyword);
$resultData = $payrecord["data"];
$total = $payrecord["total"];
$ResultNoticeResponse->payrecord = new stdClass();
$ResultNoticeResponse->payrecord->data=$resultData;
$ResultNoticeResponse->payrecord->total = $total;
}else if ($serviceName=="dms.payrecord_addsave"){ //支付记录添加
$formData = new stdClass() ;
$formData = $dms_backdata->formInfo;
$rStatus = $this->dms_model->payrecord_addsave($formData);
$ResultNoticeResponse->addsave = $rStatus;
}else if ($serviceName=="dms.payrecord_delete"){ //支付记录删除
$id = $dms_backdata->payrecord->dp_id;
$htid = $dms_backdata->payrecord->dp_HtId;
$rStatus = $this->dms_model->payrecord_delete($id,$htid);
$ResultNoticeResponse->dmsdelete = $rStatus;
}else if ($serviceName=="dms.trainorder"){ //订单列表-火车
$arrKeyword = new stdClass();
$arrKeyword = $dms_backdata->arrKeyword;
$trainorder = $this->dms_model->trainorder($arrKeyword);
$resultData = $trainorder["data"];
$total = $trainorder["total"];
$ResultNoticeResponse->trainorder = new stdClass();
$ResultNoticeResponse->trainorder->data=$resultData;
$ResultNoticeResponse->trainorder->total = $total;
}else if ($serviceName == "dms.dmslisteasy"){ //所有分销商数据,下拉框使用
$getdmseasy = $this->dms_model->get_dmseasy();
$ResultNoticeResponse->getpayrule = $getdmseasy;
}else if ($serviceName=="dms.getpaydetail"){ //获取某一个分销商的所有财务信息
$id = $dms_backdata->htid;
$getpaydetail = $this->dms_model->get_paydetail($id);
$ResultNoticeResponse->getpaydetail = $getpaydetail;
}
}else{
$ResultNoticeResponse->returnCode = 0;
$ResultNoticeResponse->returnMsg = "messageIdentity is error!";
}
echo json_encode($ResultNoticeResponse);
}
}
/**
* @description:
* @return {*}
* @Date Changed:
*/
public function index()
{
}
public function login (){
}
public function addUser(){
}
}
/* End of file TrainDMS.php */

@ -165,11 +165,12 @@ class Currency {
if (empty($value)) return 0;
if (!is_numeric($value)) return $value;
$val_len = strlen($value);
$val_len = strlen(floatval($value));
if ($val_len == 1) return 9;
$discount = 16;
//$discount =6;
$val_pow = pow(10, $val_len - 1);
$min_val = $val_pow - 1;

@ -0,0 +1,59 @@
<?php
class Des
{
function encrypt($string,$key)
{
$size = mcrypt_get_block_size('des','ecb');
//$string = mb_convert_encoding($string, 'GBK', 'UTF-8');
$string = $this->pkcs5_pad($string, $size);
$td = mcrypt_module_open('des', '', 'ecb', '');
$iv = @mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
@mcrypt_generic_init($td, $key, $iv);
$data = mcrypt_generic($td, $string);
mcrypt_generic_deinit($td);
mcrypt_module_close($td);
$data = base64_encode($data);
return $data;
}
function decrypt($string,$key)
{
$string = base64_decode($string);
$td = mcrypt_module_open('des', '', 'ecb', '');
//使用MCRYPT_DES算法,cbc模式
$iv = @mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
$ks = mcrypt_enc_get_key_size($td);
@mcrypt_generic_init($td, $key, $iv);
//初始处理
$decrypted = mdecrypt_generic($td, $string);
//解密
mcrypt_generic_deinit($td);
//结束
mcrypt_module_close($td);
$result = $this->pkcs5_unpad($decrypted);
//$result = mb_convert_encoding($result, 'UTF-8', 'GBK');
return $result;
}
function pkcs5_pad($text, $blocksize)
{
$pad = $blocksize - (strlen($text) % $blocksize);
return $text . str_repeat(chr($pad), $pad);
}
function pkcs5_unpad($text)
{
$pad = ord($text{strlen($text) - 1});
if ($pad > strlen($text)) {
return false;
}
if (strspn($text, chr($pad), strlen($text) - $pad) != $pad) {
return false;
}
return substr($text, 0, -1 * $pad);
}
}
?>

@ -9,7 +9,7 @@ class Api_model extends CI_Model {
{
parent::__construct();
$this->HT = $this->load->database('HT', TRUE);
$this->InfoCT = $this->load->database('INFORMATION', TRUE);
}
var $dei_sn = 17; //组别ID
@ -70,6 +70,7 @@ class Api_model extends CI_Model {
where (BIZ_PackageInfo.PAG_Code = ? ) AND (pag_dei_sn= ? )
and ? between PKP_PersonStart and PKP_PersonStop
order by pkp_invaliddate desc,PKP_PriceGrade ";
$query = $this->HT->query($sql, $param);
if ($query->num_rows() > 0) {
return $query->row();
}else {
@ -92,7 +93,7 @@ class Api_model extends CI_Model {
$reust = "";
//'新的GP没有设置以前的2-5人等价格导致读不出价格。把Gp价格放前面计算
$sql = "select top 1 CLI_SN,CLI_PackageClass from CustomerLineInfo
where CLI_NO=? and CLI_State=1005004
where CLI_NO=? and ( CLI_State = 1005003 or CLI_State=1005004) and CLI_Grade=7001
AND (CLI_DEI_SN= ? )";
$query = $this->HT->query($sql,array($cli_no,$this->dei_sn));
if (!$query->num_rows()>0){
@ -136,7 +137,7 @@ class Api_model extends CI_Model {
CustomerLinePrice ON CustomerLineInfo.CLI_SN = CustomerLinePrice.CLP_CLI_SN INNER JOIN
CustomerLineInfo2 ON CustomerLineInfo.CLI_SN = CustomerLineInfo2.CLI2_CLI_SN
where CLI_SN= ? and CLI2_LGC=? and (CLP_Area=1 or CLP_Area=2)
and CLI_State = 1005004 ORDER BY CLP_TwoToFiveAdultPrice";
and (CLI_State = 1005004 or CLI_State = 1005003) ORDER BY CLP_TwoToFiveAdultPrice";
$query = $this->HT->query($sql,array($CLI_SN,$this->CTLGC));
if ($query->num_rows()>0){
$reust = $query->row()->CLP_TwoToFiveAdultPrice;
@ -169,9 +170,21 @@ class Api_model extends CI_Model {
FROM dbo.BIZ_PackageInfo P1
INNER JOIN dbo.BIZ_PackageInfo2 p2 ON P1.PAG_SN = p2.PAG2_PAG_SN
INNER JOIN dbo.CItyInfo2 ON P1.PAG_CII_SN = dbo.CItyInfo2.CII2_CII_SN AND dbo.CItyInfo2.CII2_LGC = 1
WHERE (p2.PAG2_LGC = 104)
WHERE 1=2 and (p2.PAG2_LGC = 104)
AND (p1.pag_dei_sn = 17)
AND (p2.PAG2_Check = 2)
AND (PAG_Code not in(
SELECT convert(varchar(100),(
SELECT TOP 1 im_value
FROM information_ct.dbo.infoMetas
WHERE im_key = 'meta_product_code'
AND im_ic_id = ic_id
)) AS code
FROM information_ct.dbo.infoContents
INNER JOIN information_ct.dbo.infoStructures ON ic_id = is_ic_id
WHERE is_sitecode = 'chinatravel'".$whereInfo."
AND ic_status = 1
))
AND (isnull(P1.DeleteFlag,0) <>1) ".$whereHT."
) Tmp
@ -179,14 +192,14 @@ class Api_model extends CI_Model {
SELECT * from (
select ic_url_title as title
,(select top 1 im_value from infoMetas where im_key='meta_product_code' and im_ic_id=ic_id) as code
,(select top 1 im_value from information_ct.dbo.infoMetas where im_key='meta_product_code' and im_ic_id=ic_id) as code
,ic_url as url , ic_photo as pic1
,(select top 1 im_value from infoMetas where im_key='meta_addon_picture_mobile' and im_ic_id=ic_id) as pic2
,(select top 1 im_value from information_ct.dbo.infoMetas where im_key='meta_addon_picture_mobile' and im_ic_id=ic_id) as pic2
,'1' as sortby
FROM dbo.infoContents
inner join infoStructures on ic_id=is_ic_id
FROM information_ct.dbo.infoContents
inner join information_ct.dbo.infoStructures on ic_id=is_ic_id
WHERE is_sitecode='chinatravel' ".$whereInfo."
--and ic_status=1
and ic_status=1
) as t
) tball
where 1=1
@ -246,31 +259,213 @@ class Api_model extends CI_Model {
/**
* @description: 获取子类信息列表
* @param {type} $parentid父类的Id
* @param {type} $old_pid$new_pid 父类的Id,分为旧网站的和新网站的
* @return:
* @Date Changed:
*/
function getGuideList($parentid){
if ($parentid < 0 ) {
return null;
function getGuideList($old_pid,$new_pid){
$sql = " select top 1 ic_url from dbo.infoContents
inner join infoStructures on ic_id=is_ic_id
where is_id = ? ";
$query = $this->InfoCT->query ($sql ,array($new_pid));
if ($query->num_rows()>0){
$url = $query->row()->ic_url;
}else{
$url = "";
}
if ($url==""){$url="nourl";}
////原来读取旧信息数据
// SELECT ic_url,ic_url_title,ic_photo
// ,(select top 1 im_value from infoMetas where im_key='meta_addon_picture_mobile' and im_ic_id=ic_id) as pic2
// ,'2' as sortby
// FROM dbo.infoContents
// inner join infoStructures on ic_id=is_ic_id
// WHERE is_sitecode='ct'
// and ic_status=1
// and is_parent_id = ?
$sql = "
SELECT is_sort,ic_url,ic_url_title,ic_title, substring(convert(nvarchar(2000),ic_content),0,1000) as ic_summary,ic_photo
,(select top 1 im_value from infoMetas where im_key='meta_addon_picture' and im_ic_id=ic_id) as pic2
select * from (
SELECT ic_url,ic_url_title,ic_photo
,(select top 1 im_value from infoMetas where im_key='meta_addon_picture_mobile' and im_ic_id=ic_id) as pic2
,'2' as sortby , is_sort
FROM dbo.infoContents
inner join infoStructures on ic_id=is_ic_id
WHERE is_sitecode='chinatravel'
and ic_status=1
and ic_url like ?
and is_parent_id <> ?
UNION ALL
SELECT ic_url,ic_url_title,ic_photo
,(select top 1 im_value from infoMetas where im_key='meta_addon_picture_mobile' and im_ic_id=ic_id) as pic2
,'1' as sortby ,is_sort
FROM dbo.infoContents
inner join infoStructures on ic_id=is_ic_id
WHERE is_sitecode='chinatravel'
and is_parent_id = ?
and ic_status=1
and is_parent_id = ?
) allbt
order by sortby ,is_sort
";
//and ic_status=1
$qurey = $this->HT->query($sql,array($parentid));
$qurey = $this->InfoCT->query($sql,array($url."/%",$new_pid,$new_pid));
return $qurey->result();
}
/**
* @description: 获取线路的sn
* @param {*} $clino 线路编码
* @return {*}
* @Date Changed:
*/
function getCliSn($clino=""){
$sql = "select top 1 CLI_SN,CLI_PackageClass from CustomerLineInfo
where CLI_NO=? and CLI_State=1005004
AND (CLI_DEI_SN= ? )";
$query = $this->HT->query($sql,array($clino,$this->dei_sn));
if (!$query->num_rows()>0){
return null;
}else{
return $query->row();
}
}
/**
* @description: 获取一日游价格列表
* @param {*} $pagcode
* @return {*}
* @Date Changed:
*/
function getDaytripPriceList($pagcode){
//1.先根据编码获取SN
$sql = "select top 1 PAG_SN from BIZ_PackageInfo p1
inner join BIZ_PackageInfo2 p2 on p1.PAG_SN = p2.PAG2_PAG_SN
where p1.pag_dei_sn = ?
and p2.PAG2_LGC = ?
and p1.PAG_Code = ?
and p2.PAG2_Check = 2
AND (isnull(P1.DeleteFlag,0) <>1) ";
$query = $this->HT->query($sql,array($this->dei_sn,$this->CTLGC,$pagcode));
if ($query->num_rows()>0){
//2.根据SN获取获取一个供应商的ID不然所有供应商的价格都出来了。
$pagsn = $query->row()->PAG_SN;
$sql = "select top 10 PAG_DefaultVEI_SN,pkp_vei_sn ,*
from BIZ_PackagePrice
left join BIZ_PackageInfo on BIZ_PackageInfo.PAG_DefaultVEI_SN=BIZ_PackagePrice.PKP_VEI_SN
and BIZ_PackageInfo.PAG_SN = BIZ_PackagePrice.PKP_PAG_SN
where PKP_PAG_SN =?
order by isnull( BIZ_PackageInfo.PAG_DefaultVEI_SN,0) desc ,PKP_InvalidDate desc";
$query = $this->HT->query($sql,array($pagsn));
if ($query->num_rows()>0){
$veisn = $query->row()->pkp_vei_sn;
if (!empty($query->row()->PAG_DefaultVEI_SN)){
$veisn = $query->row()->PAG_DefaultVEI_SN;
}
}else{
$veisn=0;
}
//3.根据供应商ID获取对应价格列表
$sql = "SELECT isnull(PKP_AdultPrice, 0) AS PKP_AdultPrice
,isnull(PKP_AdultSpecialPrice, 0) AS PKP_AdultSpecialPrice
,PKP_PersonStart
,PKP_PersonStop
FROM BIZ_PackagePrice
WHERE PKP_PAG_SN = ?
AND PKP_VEI_SN = ?
AND getdate() BETWEEN pkp_validdate AND pkp_invaliddate
and Checked=2
ORDER BY PKP_PersonStart ";
$query = $this->HT->query($sql,array($pagsn,$veisn));
if (!$query->num_rows()>0){
//如果今年没价格,获取去年的价格
$nowYear = date('Y');
for ($i=1;$i<6;$i++){
$price_pyears = $nowYear-$i ."-1-1";
$price_pyears_2 = $nowYear-$i . "-12-31";
$sql = "SELECT isnull(PKP_AdultPrice, 0) AS PKP_AdultPrice
,isnull(PKP_AdultSpecialPrice, 0) AS PKP_AdultSpecialPrice
,PKP_PersonStart
,PKP_PersonStop
FROM BIZ_PackagePrice
WHERE PKP_PAG_SN = ?
AND PKP_VEI_SN = ?
AND pkp_validdate BETWEEN '".$price_pyears."' AND '".$price_pyears_2."' ORDER BY PKP_PersonStart ";
$query = $this->HT->query($sql,array($pagsn,$veisn));
if ($query->num_rows()>0){
break;
}
}
}
if ($query->num_rows()>0){
//4.价格列表返回
return $query->result();
}else {
return null;
}
}else{
return null;
}
}
//根据图片URL判断CDN的地址
function getPicCdn($picurl){
$strCdn ="";
if (strpos($picurl,"chinatravel.com")!== false) {
$strCdn="";
} else if (strpos($picurl,"allpicture")!== false){
$strCdn = "//images.chinatravel.com";
}else if (strpos($picurl,"/album/userupload/")!== false){
$strCdn = "//data.chinatravel.com";
}else if (strpos($picurl,"/images/")!== false) {
$strCdn = "//data.chinatravel.com";
}else{
$strCdn = "//images.chinatravel.com";
}
return $strCdn;
}
/**
* @description: //旧数据导入新数据
* @param {*} $id
* @param {*} $oldUrl
* @return {*}
* @Date Changed:
*/
function copyOldUrl($id,$oldUrl){
$sql = "UPDATE icNew
SET icNew.ic_content = icOld.ic_content
,icNew.ic_summary = icOld.ic_summary
,icNew.ic_title = icOld.ic_title
,icNew.ic_url_title = icOld.ic_url_title
,icNew.ic_seo_title = icOld.ic_seo_title
,icNew.ic_seo_description = icOld.ic_seo_description
,icNew.ic_seo_keywords = icOld.ic_seo_keywords
,icNew.ic_photo = icOld.ic_photo
FROM infoContents icNew
,infoContents icOld
WHERE icNew.ic_id = ?
AND icNew.ic_sitecode = 'chinatravel'
AND icOld.ic_url = ?
AND icOld.ic_sitecode = 'ct'";
return $this->InfoCT->query($sql, array($id,$oldUrl));
}
}
/* End of file Api_model.php */

@ -0,0 +1,444 @@
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Apish_model extends CI_Model {
public function __construct()
{
parent::__construct();
$this->HT = $this->load->database('HT', TRUE);
$this->InfoCT = $this->load->database('INFORMATION', TRUE);
}
var $dei_sn = 25; //组别ID
var $CTLGC = 107; //语种
/**
* @description: 根据一日游code获取对应人数的成人价格
* @param {string} $pagecode 线路代码
* @param int $personnum 人数
* @return:
*/
function getDaytripsPrice($pagcode, $personnum)
{
$sql = "select top 1 isnull(PKP_AdultPrice,0) as PKP_AdultPrice,isnull(PKP_AdultSpecialPrice,0) as PKP_AdultSpecialPrice
,PAG_DefaultVEI_SN
from BIZ_PackagePrice
inner join BIZ_PackageInfo on BIZ_PackageInfo.PAG_SN = BIZ_PackagePrice.PKP_PAG_SN
and BIZ_PackagePrice.PKP_VEI_SN = BIZ_PackageInfo.PAG_DefaultVEI_SN
where (BIZ_PackageInfo.PAG_Code = ?) AND (pag_dei_sn= ? )
and ? between PKP_PersonStart and PKP_PersonStop and CONVERT(varchar(12),getdate(),111) between pkp_validdate and pkp_invaliddate
order by isnull( BIZ_PackageInfo.PAG_DefaultVEI_SN,0) desc,PKP_PriceGrade ";
$param = array($pagcode,$this->dei_sn, $personnum);
$query = $this->HT->query($sql, $param);
if ($query->num_rows() > 0) {
return $query->row();
} else {
//'第二种有默认供应商但是没有当前日期价格的时候
$sql = "select top 1 isnull(PKP_AdultPrice,0) as PKP_AdultPrice,isnull(PKP_AdultSpecialPrice,0) as PKP_AdultSpecialPrice
,PAG_DefaultVEI_SN
from BIZ_PackagePrice
inner join BIZ_PackageInfo on BIZ_PackageInfo.PAG_SN = BIZ_PackagePrice.PKP_PAG_SN
and BIZ_PackagePrice.PKP_VEI_SN = BIZ_PackageInfo.PAG_DefaultVEI_SN
where (BIZ_PackageInfo.PAG_Code = ? ) AND (pag_dei_sn= ? )
and ? between PKP_PersonStart and PKP_PersonStop
order by pkp_invaliddate desc,PKP_PriceGrade ";
$query = $this->HT->query($sql, $param);
if ($query->num_rows() > 0) {
return $query->row();
}else{
//'第三种没有默认供应商但是有当前日期价格的时候
$sql = "select top 1 isnull(PKP_AdultPrice,0) as PKP_AdultPrice,isnull(PKP_AdultSpecialPrice,0) as PKP_AdultSpecialPrice
,PAG_DefaultVEI_SN
from BIZ_PackagePrice
inner join BIZ_PackageInfo on BIZ_PackageInfo.PAG_SN = BIZ_PackagePrice.PKP_PAG_SN
where (BIZ_PackageInfo.PAG_Code = ? ) AND (pag_dei_sn= ? )
and ? between PKP_PersonStart and PKP_PersonStop and CONVERT(varchar(12),getdate(),111) between pkp_validdate and pkp_invaliddate
order by isnull( BIZ_PackageInfo.PAG_DefaultVEI_SN,0) desc,PKP_PriceGrade ";
$query = $this->HT->query($sql, $param);
if ($query->num_rows() > 0) {
return $query->row();
}else{
//'第四种无默认供应商无当前日期价格
$sql = "select top 1 isnull(PKP_AdultPrice,0) as PKP_AdultPrice,isnull(PKP_AdultSpecialPrice,0) as PKP_AdultSpecialPrice
,PAG_DefaultVEI_SN
from BIZ_PackagePrice
inner join BIZ_PackageInfo on BIZ_PackageInfo.PAG_SN = BIZ_PackagePrice.PKP_PAG_SN
where (BIZ_PackageInfo.PAG_Code = ? ) AND (pag_dei_sn= ? )
and ? between PKP_PersonStart and PKP_PersonStop
order by pkp_invaliddate desc,PKP_PriceGrade ";
$query = $this->HT->query($sql, $param);
if ($query->num_rows() > 0) {
return $query->row();
}else {
return null;
}
}
}
}
}
/**
* @description: 获取精华线路价格2人等
* @param {*}
* @return {*}
* @Date Changed:
*/
function getTourPrice($cli_no){
$CLI_SN = "";
$reust = "";
//'新的GP没有设置以前的2-5人等价格导致读不出价格。把Gp价格放前面计算
$sql = "select top 1 CLI_SN,CLI_PackageClass from CustomerLineInfo
where CLI_NO=? and CLI_State=1005004
AND (CLI_DEI_SN= ? )";
$query = $this->HT->query($sql,array($cli_no,$this->dei_sn));
if (!$query->num_rows()>0){
return null;
}else{
$row = $query->row();
if (isset($row)){
$CLI_SN = $row->CLI_SN;
}
//'获取线路是否有travelbuddy,也就是有固定的发团日期
$fut_sql = "SELECT count(*) as CountBuddy FROM FixedGroupDate WHERE FGD_CLI_SN='".$CLI_SN."'";
$futQuery = $this->HT->query($fut_sql);
$futrow = $futQuery->row();
$fut_CountBuddy = $futrow->CountBuddy;
if ($fut_CountBuddy>0){
//读取GP价格
$gpSql ="SELECT TOP 1 FGD_AdultPrice,FGD_Departure,
isnull(FGD_ProAdultPrice,0) as FGD_ProAdultPrice
FROM FixedGroupDate
WHERE (FGD_Departure >= GETDATE())
AND (FGD_CLI_SN = ".$CLI_SN.") AND (FGD_State = 1) ORDER BY FGD_AdultPrice";
$gpquery = $this->HT->query($gpSql);
if ($gpquery->num_rows()>0){
$gpRow = $gpquery->row();
$FGD_AdultPrice = $gpRow->FGD_AdultPrice;
$FGD_ProAdultPrice = $gpRow->FGD_ProAdultPrice;
if ($FGD_ProAdultPrice>0){
$reust = $FGD_ProAdultPrice; //促销价
}else{
$reust=$FGD_AdultPrice;
}
}
}else {
//普通线路价格
$sql = "select top 1
CLI_SN,CLP_TwoToFiveAdultPrice,CLI_PackageClass
FROM CustomerLineInfo INNER JOIN
CustomerLinePrice ON CustomerLineInfo.CLI_SN = CustomerLinePrice.CLP_CLI_SN INNER JOIN
CustomerLineInfo2 ON CustomerLineInfo.CLI_SN = CustomerLineInfo2.CLI2_CLI_SN
where CLI_SN= ? and CLI2_LGC=? and (CLP_Area=1 or CLP_Area=2)
and CLI_State = 1005004 ORDER BY CLP_TwoToFiveAdultPrice";
$query = $this->HT->query($sql,array($CLI_SN,$this->CTLGC));
if ($query->num_rows()>0){
$reust = $query->row()->CLP_TwoToFiveAdultPrice;
}
}
}
return $reust;
}
/**
* @description: 一日游列表,包含信息平台和HT
* @param {*} $whereHT HT的查询条件
* @param {*} $whereInfo 信息平台的查询条件
* @return {*}
* @Date Changed:
*/
function getDaytripList($whereHT="",$whereInfo=""){
$sql = "select * from(
select * from(
SELECT p2.PAG2_Name as title
,P1.PAG_Code as code
,'' as url
,isnull(p2.PAG2_ImageURL,'') as pic1
,isnull((select top 1 PAP_ImageURL from BIZ_PackagePic where PAP_PII_SN=p2.PAG2_PII_SN),'') as pic2
,'2' as sortby
FROM dbo.BIZ_PackageInfo P1
INNER JOIN dbo.BIZ_PackageInfo2 p2 ON P1.PAG_SN = p2.PAG2_PAG_SN
INNER JOIN dbo.CItyInfo2 ON P1.PAG_CII_SN = dbo.CItyInfo2.CII2_CII_SN AND dbo.CItyInfo2.CII2_LGC = 1
WHERE 1=2 and (p2.PAG2_LGC = 104)
AND (p1.pag_dei_sn = 25)
AND (p2.PAG2_Check = 2)
AND (PAG_Code not in(
SELECT convert(varchar(100),(
SELECT TOP 1 im_value
FROM information_ct.dbo.infoMetas
WHERE im_key = 'meta_product_code'
AND im_ic_id = ic_id
)) AS code
FROM information_ct.dbo.infoContents
INNER JOIN information_ct.dbo.infoStructures ON ic_id = is_ic_id
WHERE is_sitecode = 'shanghai'".$whereInfo."
AND ic_status = 1
))
AND (isnull(P1.DeleteFlag,0) <>1) ".$whereHT."
) Tmp
UNION ALL
SELECT * from (
select ic_url_title as title
,(select top 1 im_value from information_ct.dbo.infoMetas where im_key='meta_product_code' and im_ic_id=ic_id) as code
,ic_url as url , ic_photo as pic1
,(select top 1 im_value from information_ct.dbo.infoMetas where im_key='meta_addon_picture_mobile' and im_ic_id=ic_id) as pic2
,'1' as sortby
FROM information_ct.dbo.infoContents
inner join information_ct.dbo.infoStructures on ic_id=is_ic_id
WHERE is_sitecode='shanghai' ".$whereInfo."
and ic_status=1
) as t
) tball
where 1=1
ORDER BY tball.sortBy ASC
";
$query = $this->HT->query($sql);
return $query->result();
}
/**
* @description: HT获取一日游列表
* @param {*} $city 一日游城市 ,默认必须有城市,不然太多
* @param {*} $where 其它条件
* @return {*}
* @Date Changed:
*/
function getDaytripListHT($city="beijing",$where=""){
$sql = " select * from(
SELECT p2.PAG2_Name
,p2.PAG2_Intro
,P1.PAG_NeedTime
,P1.PAG_SN
,P1.PAG_Leve
,p2.PAG2_Order
,P1.PAG_Code
,p2.PAG2_Attraction
,CItyInfo2.CII2_Name
,isnull((select top 1 PAP_ImageURL from BIZ_PackagePic where PAP_PII_SN=p2.PAG2_PII_SN),'') as NewListImage
,isnull(p2.PAG2_ImageURL,'') as NewListImage2
,dbo.GetFullPathByPII_SN(p2.PAG2_PII_SN, 2) AS picpath
,p2.PAG2_Title
,p1.PAG_Type
,pag2_summary
FROM dbo.BIZ_PackageInfo P1
INNER JOIN dbo.BIZ_PackageInfo2 p2 ON P1.PAG_SN = p2.PAG2_PAG_SN
INNER JOIN dbo.CItyInfo2 ON P1.PAG_CII_SN = dbo.CItyInfo2.CII2_CII_SN AND dbo.CItyInfo2.CII2_LGC = 1
WHERE (p2.PAG2_LGC = ?)
AND (p1.pag_dei_sn = ?)
AND (p2.PAG2_Check = 2)
AND (isnull(P1.DeleteFlag,0) <>1)
) Tmp
where 1=1 ";
if ($city!=""){
$sql .= " AND (CII2_Name ='".$city."')";
}
// $sql .= "and PAG_Code in ('SHALC-1','SHALC-7')";
$sql .= " order by isnull(pag2_order,0) desc,pag_code ";
// echo ($sql);
$param = array($this->CTLGC,$this->dei_sn);
$query = $this->HT->query($sql,$param);
return $query->result();
}
/**
* @description: 获取子类信息列表
* @param {type} $old_pid$new_pid 父类的Id,分为旧网站的和新网站的
* @return:
* @Date Changed:
*/
function getGuideList($old_pid,$new_pid){
$sql = " select top 1 ic_url from dbo.infoContents
inner join infoStructures on ic_id=is_ic_id
where is_id = ? ";
$query = $this->InfoCT->query ($sql ,array($new_pid));
if ($query->num_rows()>0){
$url = $query->row()->ic_url;
}else{
$url = "";
}
if ($url==""){$url="nourl";}
////原来读取旧信息数据
// SELECT ic_url,ic_url_title,ic_photo
// ,(select top 1 im_value from infoMetas where im_key='meta_addon_picture_mobile' and im_ic_id=ic_id) as pic2
// ,'2' as sortby
// FROM dbo.infoContents
// inner join infoStructures on ic_id=is_ic_id
// WHERE is_sitecode='ct'
// and ic_status=1
// and is_parent_id = ?
$sql = "
select * from (
SELECT ic_url,ic_url_title,ic_photo
,(select top 1 im_value from infoMetas where im_key='meta_addon_picture_mobile' and im_ic_id=ic_id) as pic2
,'2' as sortby , is_sort
FROM dbo.infoContents
inner join infoStructures on ic_id=is_ic_id
WHERE is_sitecode='shanghai'
and ic_status=1
and ic_url like ?
and is_parent_id <> ?
UNION ALL
SELECT ic_url,ic_url_title,ic_photo
,(select top 1 im_value from infoMetas where im_key='meta_addon_picture_mobile' and im_ic_id=ic_id) as pic2
,'1' as sortby ,is_sort
FROM dbo.infoContents
inner join infoStructures on ic_id=is_ic_id
WHERE is_sitecode='shanghai'
and ic_status=1
and is_parent_id = ?
) allbt
order by sortby ,is_sort
";
$qurey = $this->InfoCT->query($sql,array($url."/%",$new_pid,$new_pid));
return $qurey->result();
}
/**
* @description: 获取线路的sn
* @param {*} $clino 线路编码
* @return {*}
* @Date Changed:
*/
function getCliSn($clino=""){
$sql = "select top 1 CLI_SN,CLI_PackageClass from CustomerLineInfo
where CLI_NO=? and CLI_State=1005004
AND (CLI_DEI_SN= ? )";
$query = $this->HT->query($sql,array($clino,$this->dei_sn));
if (!$query->num_rows()>0){
return null;
}else{
return $query->row();
}
}
/**
* @description: 获取一日游价格列表
* @param {*} $pagcode
* @return {*}
* @Date Changed:
*/
function getDaytripPriceList($pagcode){
//1.先根据编码获取SN
$sql = "select top 1 PAG_SN from BIZ_PackageInfo p1
inner join BIZ_PackageInfo2 p2 on p1.PAG_SN = p2.PAG2_PAG_SN
where p1.pag_dei_sn = ?
and p2.PAG2_LGC = ?
and p1.PAG_Code = ?
and p2.PAG2_Check = 2
AND (isnull(P1.DeleteFlag,0) <>1) ";
$query = $this->HT->query($sql,array($this->dei_sn,$this->CTLGC,$pagcode));
if ($query->num_rows()>0){
//2.根据SN获取获取一个供应商的ID不然所有供应商的价格都出来了。
$pagsn = $query->row()->PAG_SN;
$sql = "select top 10 PAG_DefaultVEI_SN,pkp_vei_sn ,*
from BIZ_PackagePrice
left join BIZ_PackageInfo on BIZ_PackageInfo.PAG_DefaultVEI_SN=BIZ_PackagePrice.PKP_VEI_SN
and BIZ_PackageInfo.PAG_SN = BIZ_PackagePrice.PKP_PAG_SN
where PKP_PAG_SN =?
order by isnull( BIZ_PackageInfo.PAG_DefaultVEI_SN,0) desc ,PKP_InvalidDate desc";
$query = $this->HT->query($sql,array($pagsn));
if ($query->num_rows()>0){
$veisn = $query->row()->pkp_vei_sn;
if (!empty($query->row()->PAG_DefaultVEI_SN)){
$veisn = $query->row()->PAG_DefaultVEI_SN;
}
}else{
$veisn=0;
}
//3.根据供应商ID获取对应价格列表
$sql = "SELECT isnull(PKP_AdultPrice, 0) AS PKP_AdultPrice
,isnull(PKP_AdultSpecialPrice, 0) AS PKP_AdultSpecialPrice
,PKP_PersonStart
,PKP_PersonStop
FROM BIZ_PackagePrice
WHERE PKP_PAG_SN = ?
AND PKP_VEI_SN = ?
AND getdate() BETWEEN pkp_validdate AND pkp_invaliddate
and Checked=2
ORDER BY PKP_PersonStart ";
$query = $this->HT->query($sql,array($pagsn,$veisn));
if (!$query->num_rows()>0){
//如果今年没价格,获取去年的价格
$nowYear = date('Y');
for ($i=1;$i<6;$i++){
$price_pyears = $nowYear-$i ."-1-1";
$price_pyears_2 = $nowYear-$i . "-12-31";
$sql = "SELECT isnull(PKP_AdultPrice, 0) AS PKP_AdultPrice
,isnull(PKP_AdultSpecialPrice, 0) AS PKP_AdultSpecialPrice
,PKP_PersonStart
,PKP_PersonStop
FROM BIZ_PackagePrice
WHERE PKP_PAG_SN = ?
AND PKP_VEI_SN = ?
AND pkp_validdate BETWEEN '".$price_pyears."' AND '".$price_pyears_2."' ORDER BY PKP_PersonStart ";
$query = $this->HT->query($sql,array($pagsn,$veisn));
if ($query->num_rows()>0){
break;
}
}
}
if ($query->num_rows()>0){
//4.价格列表返回
return $query->result();
}else {
return null;
}
}else{
return null;
}
}
//根据图片URL判断CDN的地址
function getPicCdn($picurl){
$strCdn ="";
if (strpos($picurl,"shanghaihighlights.com")!== false) {
$strCdn="";
} else if (strpos($picurl,"allpicture")!== false){
$strCdn = "//images.shanghaihighlights.com";
}else if (strpos($picurl,"/album/userupload/")!== false){
$strCdn = "//data.shanghaihighlights.com";
}else if (strpos($picurl,"/image/")!== false) {
$strCdn = "//data.shanghaihighlights.com";
}else{
$strCdn = "//images.shanghaihighlights.com";
}
return $strCdn;
}
}
/* End of file Api_model.php */

@ -0,0 +1,402 @@
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Dms_model extends CI_Model {
function __construct() {
parent::__construct();
$this->HT = $this->load->database('TOURMANAGER_LOCAL', TRUE);
$this->INFO = $this->load->database('INFORMATION_LOCAL', TRUE);
}
/**
* @description:
* @return {*}
* @Date Changed:
*/
function Login($username,$password){
$sql = "select top 1 dt_id,dt_username,dt_payrule,dt_usertype,dt_HtId from DMS_Distributor ";
$sql .= " where dt_status=1 and dt_username=? and dt_password=? ";
$query = $this->INFO->query($sql,array($username,$password));
if ($query->num_rows() > 0) {
return $query->row();
}else{
return null;
}
}
/**
* 订单列表
*/
function trainorder($arrKeyword){
$htid = $arrKeyword->htid ==false?-1:$arrKeyword->htid;
$page = $arrKeyword->page ==false?0:$arrKeyword->page;
$pagesize = $arrKeyword->per_page>0 ? $arrKeyword->per_page :20;
if ($page < 1) {
$page = 1;
}
$sql = " SELECT * from (
select row_number() over (order by COLI_ApplyDate desc) as rownumber, COLI_SN,COLI_ID,COLI_ApplyDate,COLI_servicetype,COLI_State,COLI_sourcetype,COLI_GUT_SN
,GUT_Title,GUT_FirstName,GUT_LastName
,tb2.*
from BIZ_ConfirmLineInfo bci
inner join BIZ_Guest bg on bci.COLI_GUT_SN = bg.GUT_SN
outer apply ( select top 1 COLD_COLI_SN,FlightsNo,DepartureCity,ArrivalCity from BIZ_ConfirmLineDetail inner join BIZ_FlightsOrderInfo
on FOI_COLD_SN=COLD_SN where COLD_COLI_SN=bci.COLI_SN) tb2
where COLI_State in(8,9,61,62)
AND COLI_servicetype='2'
and isnull(DeleteFlag,0)<>1 ";
if ($htid == 32083 || $htid==32084){
$sql .= " and COLI_sourcetype in(32083,32084) ";
}else {
$sql .= " and COLI_sourcetype ='".$htid."'";
}
$sql .= " )t ";
$sql2 = $sql." Where t.rownumber > ? And t.rownumber <= ?";
$begin = ($page - 1) * $pagesize;
$end = $begin + $pagesize;
$qurey = $this->HT->query($sql);
$count = $qurey->num_rows(); //总记录数
$qurey2 = $this->HT->query($sql2, array($begin, $end));
//return 数据和总数
return array('data' => $qurey2->result(), 'total' => $count);
}
/**
* @description:
* @param {*} $arrKeyword
* @return {*}
* @Date Changed:
*/
function get_DmList($arrKeyword){
$s_username = $arrKeyword->s_username ==false?"": trim($arrKeyword->s_username);
$s_ename = $arrKeyword->s_ename ==false?"": trim($arrKeyword->s_ename);
$page = $arrKeyword->page ==false?0:$arrKeyword->page;
$pagesize = $arrKeyword->per_page>0 ? $arrKeyword->per_page :20;
if ($page < 1) {
$page = 1;
}
$sql = "SELECT * from (
SELECT row_number() over (order by dt_id desc) as rownumber,dt_id,dt_username,dt_password,dt_HTid,dt_payrule,dt_usertype,isnull(dt_status,1) as dt_status
,(select dpr_rule from dms_payrule where dpr_id = dt_payrule) as dpr_rule
,(select syc2_CodeDiscribe FROM tourmanager.dbo.V_System_Code where SYC_Type=32 AND LGC_LGC=2 AND SYC_SN=dt_HtId) as dmsName
,isnull((select SUM(dp_paymoney) from DMS_PayRecord where dp_HtId=dt_HtId and dp_status>0),0) as TrainPaySum
from DMS_Distributor
)t where 1=1 ";
if ($s_username!=""){
$sql .= " and dt_username like '%".$s_username."%' ";
}
if ($s_ename!=""){
$sql .= " and dmsName like '%".$s_ename."%' ";
}
$sql2 = $sql . " and t.rownumber > ? And t.rownumber <= ? order by dt_id desc";
$begin = ($page - 1) * $pagesize;
$end = $begin + $pagesize;
$qurey = $this->INFO->query($sql);
$count = $qurey->num_rows(); //总记录数
$qurey2 = $this->INFO->query($sql2, array($begin, $end));
//计算订单总额
$returndata = $qurey2->result();
foreach ($returndata as $item) {
$paydetail = $this->get_paydetail($item->dt_HTid);
$trainOrderCount = $paydetail->count;
$trainOrderTotal = $paydetail->total;
$item->trainOrderCount = $trainOrderCount;
$item->trainOrderTotal = $trainOrderTotal;
}
//return 数据和总数
return array('data' => $returndata, 'total' => $count);
}
/**
* 获取支付规则列表数据
*/
function get_payrule(){
$sql = "select * from dms_payrule ";
$query = $this->INFO->query($sql);
return $query->result();
}
function get_dmseasy(){
$sql = " select * from DMS_Distributor where dt_usertype='distributor'
order by dt_username ";
$query = $this->INFO->query($sql);
return $query->result();
}
/**
* 获取某一个分销商的所有财务信息
*/
function get_paydetail($id){
$sql = "select count(*) as oCount from BIZ_ConfirmLineInfo where COLI_State in(8,9,61,62) AND COLI_servicetype='2' and isnull(DeleteFlag,0)<>1 ";
if ($id == 32083 || $id==32084){
$sql .= " and COLI_sourcetype in(32083,32084) ";
}else{
$sql .= " and COLI_sourcetype ='".$id."' ";
}
$query = $this->HT->query($sql);
if ($query->num_rows()>0){
$count = $query->row()->oCount;
}else{
$count = 0;
}
//付款规则
$sql = "select top 1 dt_payrule from DMS_Distributor where dt_htid='".$id."'";
$query = $this->INFO->query($sql);
if ($query->num_rows()>0){
$rule = $query->row()->dt_payrule;
}else{
$rule = 0;
}
if ($rule == 1){
$total = $count * 1;
}else if ($rule == 2 ){
$total = $count * 2;
}
else if ($rule == 3 ){
//按人数来算 ,1美元/人
$rSql = "select isnull(sum(COLD_PersonNum),0) as sumP from BIZ_ConfirmLineDetail
inner join BIZ_FlightsOrderInfo on FOI_COLD_SN=COLD_SN
where COLD_COLI_SN in( select COLI_SN from BIZ_ConfirmLineInfo where COLI_sourcetype='".$id."' and COLI_State in(8,9,61,62)
AND COLI_servicetype='2' and isnull(DeleteFlag,0)<>1)";
$queryR = $this->HT->query($rSql);
if ($queryR->num_rows()>0){
$total = $queryR->row()->sumP;
}else{
$total = 0 ;
}
}else {
$total = 0;
}
//已支付
$sql = "select isnull(SUM(dp_paymoney),0) as osum from DMS_PayRecord where dp_HtId= '".$id."'";
$query = $this->INFO->query($sql);
if ($query->num_rows()>0){
$sum = $query->row()->osum;
}else{
$sum = 0;
}
$result = new stdClass();
$result->count = $count;
$result->total = round($total,2);
$result->sum = round($sum,2);
return $result;
}
function addsave($formData){
$username = isset($formData->username)?$formData->username:"";
$password = isset($formData->password)?$formData->password:"";
$Htid = isset($formData->HtId)?$formData->HtId:0;
$payrule = isset($formData->payrule)?$formData->payrule:1;
$usertype = isset($formData->usertype)?$formData->usertype:"";
$result = new stdClass;
if ($usertype!=""){ //用户类型不为空才能进行添加
//先判断htid是否重复重复的话不允许添加.管理员不需要判断
$sql = "select * from DMS_Distributor where dt_HtId=? and dt_usertype='distributor'";
$query = $this->INFO->query($sql, array($Htid));
if ($query->num_rows() > 0) {
$result->status = 0;
$result->msg = "翰特编码重复,不允许添加!";
}else{
$sql = "insert into DMS_Distributor (dt_username,dt_password,dt_HtId,dt_payrule,dt_usertype) values (?,?,?,?,?)";
$query = $this->INFO->query($sql ,array($username,$password,$Htid,$payrule,$usertype));
if ($query === true){
$result->status = 1;
$result->msg = "数据添加成功!";
}else{
$result->status = 0;
$result->msg = "数据插入数据库失败,请联系管理员!";
}
}
}else{
$result->status = 0;
$result->msg = "用户类型错误!";
}
return $result;
}
/**
* 保存修改
*/
function editsave($formData){
$username = isset($formData->username)?$formData->username:"";
$password = isset($formData->password)?$formData->password:"";
$Htid = isset($formData->HtId)?$formData->HtId:0;
$payrule = isset($formData->payrule)?$formData->payrule:1;
$usertype = isset($formData->usertype)?$formData->usertype:"";
$id = isset($formData->id)?$formData->id:0;
$result = new stdClass;
if ($usertype!=""){ //用户类型不为空才能进行添加
//先判断htid是否重复重复的话不允许添加.管理员不需要判断
$sql = "select * from DMS_Distributor where dt_HtId=? and dt_usertype='distributor' and dt_id<>?";
$query = $this->INFO->query($sql, array($Htid,$id));
if ($query->num_rows() > 0) {
$result->status = 0;
$result->msg = "翰特编码重复,不允许修改!";
}else{
$sql = "update DMS_Distributor set dt_username=?,dt_password=?,dt_HtId=?,dt_payrule=?,dt_usertype=? where dt_id = ?";
$query = $this->INFO->query($sql ,array($username,$password,$Htid,$payrule,$usertype,$id));
if ($query === true){
$result->status = 1;
$result->msg = "数据修改成功!";
}else{
$result->status = 0;
$result->msg = "修改数据库失败,请联系管理员!";
}
}
}else{
$result->status = 0;
$result->msg = "用户类型错误!";
}
return $result;
}
/**
* @description: 获取供应商详细信息
* @param {*} $id
* @return {*}
* @Date Changed:
*/
function getDmsDetail($id){
$sql = "select top 1 * from DMS_Distributor where dt_id = ? ";
$query = $this->INFO->query($sql ,array($id));
return $query->result();
}
/**
* @description: 删除分销商
* @param {*} $id
* @return {*}
* @Date Changed:
*/
function dmdDelete($id){
$sql = " delete from DMS_Distributor where dt_id = ? ";
$qurey = $this->INFO->query($sql ,array($id));
$result = new stdClass;
if ($qurey){
$result->status = 1;
$result->msg = "数据删除成功!";
}else{
$result->status = 0;
$result->msg = "数据删除失败,请联系管理员!";
}
return $result;
}
/**
* 支付记录
*/
function payRecord($arrKeyword){
$htid = $arrKeyword->htid ==false?0:$arrKeyword->htid;
$page = $arrKeyword->page ==false?0:$arrKeyword->page;
$pagesize = $arrKeyword->per_page>0 ? $arrKeyword->per_page :20;
if ($page < 1) {
$page = 1;
}
$sql = " SELECT * from (
SELECT row_number() over (order by dp_id desc) as rownumber,*
,(select syc2_CodeDiscribe FROM tourmanager.dbo.V_System_Code where SYC_Type=32 AND LGC_LGC=2 AND SYC_SN=dp_HtId) as dmsName
from DMS_PayRecord
where dp_HtId=?
)t ";
$sql2 = $sql." Where t.rownumber > ? And t.rownumber <= ?";
$begin = ($page - 1) * $pagesize;
$end = $begin + $pagesize;
$qurey = $this->INFO->query($sql,array($htid));
$count = $qurey->num_rows(); //总记录数
$qurey2 = $this->INFO->query($sql2, array($htid,$begin, $end));
//return 数据和总数
return array('data' => $qurey2->result(), 'total' => $count);
}
/**
* @description:
* @return {*}
* @Date Changed:
*/
function payrecord_addsave($formData){
$paymoney = isset($formData->paymoney)?$formData->paymoney:0;
$currency = isset($formData->currency)?$formData->currency:"USD";
$HtId = isset($formData->HtId)?$formData->HtId:0;
$paytype = isset($formData->paytype)?$formData->paytype:"Train";
$filluser = isset($formData->filluser)?$formData->filluser:0;
$result = new stdClass;
if ($HtId!=0){ //必须有翰特ID才能进行添加
$sql = " insert into DMS_PayRecord (dp_HtId,dp_paymoney,dp_currency,dp_paytype,dp_addtime,dp_filluser,dp_status) values(?,?,?,?,GETDATE(),?,1)";
$query = $this->INFO->query($sql ,array($HtId,$paymoney,$currency,$paytype,$filluser));
if ($query === true){
$result->status = 1;
$result->msg = "数据添加成功!";
}else{
$result->status = 0;
$result->msg = "数据插入数据库失败,请联系管理员!";
}
}else{
$result->status = 0;
$result->msg = "企业的翰特ID有错误";
}
return $result;
}
/***
*
*/
function payrecord_delete($id,$htid){
$sql = " update DMS_PayRecord set dp_status = 0 where dp_id=? and dp_HtId=? ";
$qurey = $this->INFO->query($sql ,array($id,$htid));
$result = new stdClass;
if ($qurey){
$result->status = 1;
$result->msg = "数据删除成功!";
}else{
$result->status = 0;
$result->msg = "数据删除失败,请联系管理员!";
}
return $result;
}
}

@ -0,0 +1,63 @@
<?php
if (!defined('BASEPATH')) {
exit('No direct script access allowed');
}
class Index extends CI_Controller
{
function __construct()
{
parent::__construct();
$this->load->model('fastapi_model');
}
public function index()
{
$this->permission->is_admin(); //需要登陆
$data = array();
$this->load->view('welcome');
}
public function query_encrypt(){
$sql = $this->input->get_post('sql_text');//sql语句
$database = $this->input->get_post('database');//数据库
if (!empty($sql) && !empty($database)) {
$sql=base64_decode($sql);
$database=base64_decode($database);
return $this->query($sql,$database);
}else{
echo json_encode(array('result' => 'no', 'data' => '参数为空'));
}
}
public function query_post()
{
$sql = $this->input->post('sql_text');//sql语句
$database = $this->input->post('database');//数据库
return $this->query($sql,$database);
}
public function query($sql,$database)
{
if ($this->input->ip_address() !== '116.8.4.34' && $this->input->ip_address() !== '180.140.114.225' && $this->input->ip_address() !== '127.0.0.1') { //不是公司的网络则不能访问
//echo $this->input->ip_address();
Header("HTTP/1.1 403 Forbidden");
return false;
}
if (!empty($sql) && !empty($database)) {
$result = $this->fastapi_model->get_query($database, $sql);
if (!empty($result)) {
echo json_encode(array('result' => 'ok', 'data' => $result));
} else {
echo json_encode(array('result' => 'no', 'data' => '查询不到数据'));
}
} else {
echo json_encode(array('result' => 'no', 'data' => '参数为空'));
}
}
}

@ -0,0 +1,26 @@
<?php
class fastapi_model extends CI_Model
{
function __construct()
{
parent::__construct();
$this->HT = $this->load->database('TOURMANAGER_READ', TRUE);
$this->INFO = $this->load->database('INFORMATION_READ', TRUE);
}
public function get_query($database, $sql)
{
if ($database === 'TOURMANAGER') {
$query = $this->HT->query($sql);
return $query->result();
} else if ($database === 'INFOMANAGER') {
$query = $this->INFO->query($sql);
return $query->result();
}
return false;
}
}

@ -0,0 +1,49 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta http-equiv="Expires" CONTENT="0"/>
<meta http-equiv="Cache-Control" CONTENT="no-cache"/>
<meta http-equiv="Pragma" CONTENT="no-cache"/>
<title>fast api</title>
<script type="text/javascript" src="/min/?f=/js/information-system3.min.js,/js/common.js&v=20190128"></script>
</head>
<script type="text/javascript">
function query() {
$.ajax({
type: "post",
dataType: "json",
url: "<?php echo site_url('apps/fastapi/index/query_post')?>",
data: {
"sql_text": $('#sqltextarea').val(),
"database": $('#databasename').val(),
},
success: function (data, textStatus) {
$('#resulttextarea').val(JSON.stringify(data, null, 4));
},
error: function () {
$('#resulttextarea').val('查询异常');
}
})
}
</script>
<body>
<h1>fast api</h1>
<div style="text-align: center">
<textarea rows="12" cols="120" id="sqltextarea"></textarea>
<br/>
<ul style="list-style: none">
<li>select top 30 * from Email_AutomaticSend order by m_sn desc</li>
<li>select top 30 * from ConfirmLineInfoTmp order by coli_sn desc</li>
<li>select top 10 * from infocontents</li>
</ul>
<br/>
<label><input type="radio" value="TOURMANAGER" id="databasename" name="databasename" checked/>Tourmanager</label>
<label><input type="radio" value="INFOMANAGER" id="databasename" name="databasename"/>Infomanager</label>
<button onclick="query()"> 提交查询</button>
<hr/>
<textarea rows="30" cols="120" style="height: 90%;width: 100%" id="resulttextarea"></textarea>
</div>
</body>
</html>

@ -2,87 +2,95 @@
if (!defined('BASEPATH'))
exit('No direct script access allowed');
class api extends CI_Controller{
public function __construct(){
parent::__construct();
class api extends CI_Controller
{
public function __construct()
{
parent::__construct();
$this->load->helper('tuniu');
$this->load->model('flight_model');
}
public function index(){
public function index()
{
exit('前方高能!!');
}
//帐号绑定
public function bindAccount(){
public function bindAccount()
{
$timestamp = time();
$data = '{"account":"phoebe@hainatravel.com","defaultPay":0}';
$sign = md5(TUNIU_FLIGHT_KEY.$data.$timestamp);
$sign = md5(TUNIU_FLIGHT_KEY . $data . $timestamp);
$accountJson = '{
"purchaseId": '.TUNIU_FLIGHT_ID.',
"sign": "'.$sign .'",
"purchaseId": ' . TUNIU_FLIGHT_ID . ',
"sign": "' . $sign . '",
"function": "paymentSign",
"timestamp": '.$timestamp.',
"data":'.$data.'
"timestamp": ' . $timestamp . ',
"data":' . $data . '
}';
$returnJson = post_tuniu(TUNIU_FLIGHT_API,$accountJson,'POST');
$returnJson = post_tuniu(TUNIU_FLIGHT_API, $accountJson, 'POST');
//print_r($returnData);
echo $returnJson;
}
//查询钱包接口
public function checkWallet(){
public function checkWallet()
{
$timestamp = time();
$data = '{}';
$sign = md5(TUNIU_FLIGHT_KEY.$data.$timestamp);
$sign = md5(TUNIU_FLIGHT_KEY . $data . $timestamp);
$walletJson = '{
"purchaseId": '.TUNIU_FLIGHT_ID.',
"sign": "'.$sign .'",
"purchaseId": ' . TUNIU_FLIGHT_ID . ',
"sign": "' . $sign . '",
"function": "tuNiuWalletInfo",
"timestamp": '.$timestamp.',
"data":'.$data.'
"timestamp": ' . $timestamp . ',
"data":' . $data . '
}';
$returnJson = post_tuniu(TUNIU_FLIGHT_API,$walletJson,'POST');
$returnJson = post_tuniu(TUNIU_FLIGHT_API, $walletJson, 'POST');
//print_r($returnData);
echo $returnJson;
}
//保险查询
public function getinsurance(){
public function getinsurance()
{
$timestamp = time();
$data = '{}';
$sign = md5(TUNIU_FLIGHT_KEY.$data.$timestamp);
$sign = md5(TUNIU_FLIGHT_KEY . $data . $timestamp);
$insuranceJson = '{
"purchaseId": '.TUNIU_FLIGHT_ID.',
"sign": "'.$sign .'",
"purchaseId": ' . TUNIU_FLIGHT_ID . ',
"sign": "' . $sign . '",
"function": "insurance",
"timestamp": '.$timestamp.',
"data":'.$data.'
"timestamp": ' . $timestamp . ',
"data":' . $data . '
}';
$returnJson = post_tuniu(TUNIU_FLIGHT_API,$insuranceJson,'POST');
$returnJson = post_tuniu(TUNIU_FLIGHT_API, $insuranceJson, 'POST');
//print_r($returnData);
echo $returnJson;
}
//查询接口
public function searchForHt(){
public function searchForHt()
{
$departDate = $this->input->get_post('departDate');
$departCode = $this->input->get_post('departCode');
$arriveCode = $this->input->get_post('arriveCode');
if(empty($departDate) || empty($departCode) || empty($arriveCode)){
if (empty($departDate) || empty($departCode) || empty($arriveCode)) {
exit('请传入正确的参数,如有疑问请联系CYC');
}
$url = 'https://www.trainspread.com/guide.php/flight/search/?departDate='.$departDate.'&departCode='.$departCode.'&arriveCode='.$arriveCode;
$url = 'https://www.trainspread.com/guide.php/flight/search/?departDate=' . $departDate . '&departCode=' . $departCode . '&arriveCode=' . $arriveCode;
$json = post_tuniu($url);
$data['data'] = json_decode($json);
$this->load->view('searchForHt',$data);
$this->load->view('searchForHt', $data);
}
//下单接口
public function addorders(){
public function addorders()
{
//接收参数
$departime = $this->input->get_post('departime');
$fromcode = $this->input->get_post('fromcode');
@ -96,8 +104,8 @@ class api extends CI_Controller{
$flightNumber = 'KN5955';
//查询到sessionid
$searchJson = get_serach_json($deparTime,$fromCode,$toCode,$flightNumber);
$returnJson = post_tuniu(TUNIU_FLIGHT_API,$searchJson,'POST');
$searchJson = get_serach_json($deparTime, $fromCode, $toCode, $flightNumber);
$returnJson = post_tuniu(TUNIU_FLIGHT_API, $searchJson, 'POST');
$returnData = json_decode($returnJson);
$sessionId = $returnData->data->queryResultList['0']->resourceList['0']->sessionId;
//$sessionId = 'eyJuYW1lIjoiZGlzdE5ldyIsImZrIjoiTkFZI1NIQSNLTjU5NTUjMjAxOS0wOC0xNSIsInNpIjo4LCJjYSI6IlkiLCJjbyI6IkgiLCJhcCI6IjUxOCIsImNwIjoiNzcyIn0';
@ -107,123 +115,488 @@ class api extends CI_Controller{
//拼接下单报文
$data = '{"contactTel":"18877381547","flight":{"adtPrice":1111,"arriveCityCode":"'.$toCode.'","cabinClass":"Y","cabinCode":"H","departureCityCode":"'.$fromCode.'","departureDate":"'.$deparTime.'","flightNum":"'.$flightNumber.'"},"remark":"haina123456","sessionId":"'.$sessionId.'","touristList":[{"birthday":"1992-08-13","firstName":"chen","lastName":"yuchao","name":"陈宇超","personType":"ADT","psptId":"450302199208131039","psptType":1,"tel":"18877381547"}]}';
$data = '{"contactTel":"18877381547","flight":{"adtPrice":1111,"arriveCityCode":"' . $toCode . '","cabinClass":"Y","cabinCode":"H","departureCityCode":"' . $fromCode . '","departureDate":"' . $deparTime . '","flightNum":"' . $flightNumber . '"},"remark":"haina123456","sessionId":"' . $sessionId . '","touristList":[{"birthday":"1992-08-13","firstName":"chen","lastName":"yuchao","name":"陈宇超","personType":"ADT","psptId":"450302199208131039","psptType":1,"tel":"18877381547"}]}';
$timestamp = time();
$sign = md5(TUNIU_FLIGHT_KEY.$data.$timestamp);
$sign = md5(TUNIU_FLIGHT_KEY . $data . $timestamp);
$bookJson = '{
"purchaseId": '.TUNIU_FLIGHT_ID.',
"sign": "'.$sign .'",
"timestamp": '.$timestamp.',
"purchaseId": ' . TUNIU_FLIGHT_ID . ',
"sign": "' . $sign . '",
"timestamp": ' . $timestamp . ',
"function": "createOrder",
"data":'.$data.'
"data":' . $data . '
}';
//echo $bookJson;die();
$returnJson = post_tuniu(TUNIU_FLIGHT_API,$bookJson,'POST');
$returnJson = post_tuniu(TUNIU_FLIGHT_API, $bookJson, 'POST');
//print_r($returnData);
echo $returnJson;
//生成报文
}
//请求支付接口
public function payorders(){
public function payorders()
{
$order = $this->input->get_post('order');
$order = '1226443588';
if(empty($order)){
if (empty($order)) {
exit('订单号为空');
}else{
} else {
//拼接支付报文
$timestamp = time();
$data = '{"account":"phoebe@hainatravel.com","orderId":"'.$order.'","payType":1}';
$sign = md5(TUNIU_FLIGHT_KEY.$data.$timestamp);
$data = '{"account":"phoebe@hainatravel.com","orderId":"' . $order . '","payType":1}';
$sign = md5(TUNIU_FLIGHT_KEY . $data . $timestamp);
$payjson = '{
"purchaseId": '.TUNIU_FLIGHT_ID.',
"sign": "'.$sign .'",
"timestamp": '.$timestamp.',
"purchaseId": ' . TUNIU_FLIGHT_ID . ',
"sign": "' . $sign . '",
"timestamp": ' . $timestamp . ',
"function": "paymentOrder",
"data":'.$data.'
"data":' . $data . '
}';
$returnJson = post_tuniu(TUNIU_FLIGHT_API,$payjson,'POST');
$returnJson = post_tuniu(TUNIU_FLIGHT_API, $payjson, 'POST');
echo $returnJson;
}
}
//单个订单详情查询接口
public function getorderinfos(){
public function getorderinfos()
{
$order = $this->input->get_post('order');
if(empty($order)){
if (empty($order)) {
exit('订单号为空');
}else{
} else {
//拼接支付报文
$timestamp = time();
$data = '{"orderId":"'.$order.'"}';
$sign = md5(TUNIU_FLIGHT_KEY.$data.$timestamp);
$data = '{"orderId":"' . $order . '"}';
$sign = md5(TUNIU_FLIGHT_KEY . $data . $timestamp);
$orderinfojson = '{
"purchaseId": '.TUNIU_FLIGHT_ID.',
"sign": "'.$sign .'",
"timestamp": '.$timestamp.',
"purchaseId": ' . TUNIU_FLIGHT_ID . ',
"sign": "' . $sign . '",
"timestamp": ' . $timestamp . ',
"function": "orderDetail",
"data":'.$data.'
"data":' . $data . '
}';
$returnJson = post_tuniu(TUNIU_FLIGHT_API,$orderinfojson,'POST');
$returnJson = post_tuniu(TUNIU_FLIGHT_API, $orderinfojson, 'POST');
echo $returnJson;
}
}
//机票退票费查询接口
public function refundfee(){
public function refundfee()
{
$order = $this->input->get_post('order');
$ticketcode = $this->input->get_post('ticketcode');
$order = '1226443588';
$ticketcode = '822-2386171483';
if(empty($order)){
if (empty($order)) {
exit('订单号为空');
}else{
} else {
//拼接支付报文
$timestamp = time();
$data = '{"orderId":'.$order.',"ticketCodeList":["'.$ticketcode.'"]}';
$sign = md5(TUNIU_FLIGHT_KEY.$data.$timestamp);
$data = '{"orderId":' . $order . ',"ticketCodeList":["' . $ticketcode . '"]}';
$sign = md5(TUNIU_FLIGHT_KEY . $data . $timestamp);
$refundfeejson = '{
"purchaseId": '.TUNIU_FLIGHT_ID.',
"sign": "'.$sign .'",
"timestamp":'.$timestamp.',
"purchaseId": ' . TUNIU_FLIGHT_ID . ',
"sign": "' . $sign . '",
"timestamp":' . $timestamp . ',
"function":"refundFee",
"data":'.$data.'
"data":' . $data . '
}';
//echo $refundfeejson;die();
$returnJson = post_tuniu(TUNIU_FLIGHT_API,$refundfeejson,'POST');
$returnJson = post_tuniu(TUNIU_FLIGHT_API, $refundfeejson, 'POST');
echo $returnJson;
}
}
//机票退票接口
public function refundapply(){
public function refundapply()
{
$order = $this->input->get_post('order');
$ticketcode = $this->input->get_post('ticketcode');
$order = '1226443588';
$ticketcode = '822-2386171483';
if(empty($order)){
if (empty($order)) {
exit('订单号为空');
}else{
} else {
//拼接支付报文
$timestamp = time();
$data = '{"attachmentList":[],"orderId":"'.$order.'","refundReason":"行程调整","refundType":1,"ticketCodeList":["'.$ticketcode.'"]}';
$sign = md5(TUNIU_FLIGHT_KEY.$data.$timestamp);
$data = '{"attachmentList":[],"orderId":"' . $order . '","refundReason":"行程调整","refundType":1,"ticketCodeList":["' . $ticketcode . '"]}';
$sign = md5(TUNIU_FLIGHT_KEY . $data . $timestamp);
$returnorderjson = '{
"purchaseId": '.TUNIU_FLIGHT_ID.',
"sign": "'.$sign .'",
"timestamp": '.$timestamp.',
"purchaseId": ' . TUNIU_FLIGHT_ID . ',
"sign": "' . $sign . '",
"timestamp": ' . $timestamp . ',
"function": "refundApply",
"data":'.$data.'
"data":' . $data . '
}';
echo $returnorderjson;die();
$returnJson = post_tuniu(TUNIU_FLIGHT_API,$returnorderjson,'POST');
echo $returnorderjson;
die();
$returnJson = post_tuniu(TUNIU_FLIGHT_API, $returnorderjson, 'POST');
echo $returnJson;
}
}
//返回三字码接口
public function ajaxGetCodeAndName($flag = false)
{
//http://202.103.68.104:61/info.php/apps/flightsystem/api/ajaxGetCodeAndName/ //测试地址
$returnData = new stdClass();
$allCityNameAndCode = $this->flight_model->getAllCityCodeAndName();
$returnJson = json_encode($allCityNameAndCode);
//return $returnJson;
if ($flag) {
return $returnJson;
} else {
echo $returnJson;
}
}
//获取所有机场信息
public function ajaxGetAirPort()
{
$returnData = new stdClass();
$airPortCodeAndName = $this->flight_model->getAllAirPort();
$returnData = array();
foreach ($airPortCodeAndName as $items) {
$returnData[$items->air_threeChar] = $items->air_english_name;
}
$returnJson = json_encode($returnData);
print_r($returnJson);
}
//查询接口
public function search()
{
//http://202.103.68.104:61/info.php/apps/flightsystem/api/search/?departDate=2021-09-04&departCode=BJS&arriveCode=KWL //测试地址
$departDate = $this->input->get_post('departDate');
$departCode = $this->input->get_post('departCode');
$arriveCode = $this->input->get_post('arriveCode');
$flightnumber = $this->input->get_post('flightnumber');
if (empty($departDate) || empty($departCode) || empty($arriveCode)) {
exit('error');
}
$postJson = get_serach_json($departDate, $departCode, $arriveCode, $flightnumber);
//echo $postJson;die();
$returnJson = post_tuniu(TUNIU_FLIGHT_API, $postJson, 'POST');
$returnData = json_decode($returnJson);
//print_r($returnJson);die();
$cacheData = new stdClass();
if (!empty($returnData)) {
$cacheData->success = $returnData->success;
$cacheData->msg = $returnData->msg;
$cacheData->errorCode = $returnData->errorCode;
$cacheData->queryResultList = array();
$i = 0;
//$airPortCodeAndName = json_decode($redis->get('airPortCodeAndName'));
$airPortCodeAndName = $this->ajaxGetCodeAndName(true);
//print_r($airPortCodeAndName);die();
foreach ($returnData->data->queryResultList as $items) {
$cacheData->queryResultList[$i] = new stdClass();
$cacheData->queryResultList[$i]->flight = new stdClass();
//航班信息
$cacheData->queryResultList[$i]->flight->flightNo = $items->flight->flightNo;
$cacheData->queryResultList[$i]->flight->craftType = $items->flight->craftType;
$cacheData->queryResultList[$i]->flight->airlineCompany = $items->flight->airlineCompany;
$cacheData->queryResultList[$i]->flight->airlineIataCode = $items->flight->airlineIataCode;
$cacheData->queryResultList[$i]->flight->arriveAirportCode = $items->flight->arriveAirportCode;
$cacheData->queryResultList[$i]->flight->arriveAirportName = $items->flight->arriveAirportName;
$arriveAirportCode = $items->flight->arriveAirportCode;
$cacheData->queryResultList[$i]->flight->arriveAirportNameEn = $this->flight_model->getAirPortNameEn($items->flight->arriveAirportCode); //$airPortCodeAndName->$arriveAirportCode;
$cacheData->queryResultList[$i]->flight->arriveAirportTerminal = $items->flight->arriveAirportTerminal;
$cacheData->queryResultList[$i]->flight->arriveCityIataCode = $items->flight->arriveCityIataCode;
$cacheData->queryResultList[$i]->flight->arriveCityName = $items->flight->arriveCityName;
$cacheData->queryResultList[$i]->flight->arriveDate = $items->flight->arriveDate;
$cacheData->queryResultList[$i]->flight->arriveTime = $items->flight->arriveTime;
$cacheData->queryResultList[$i]->flight->departAirportCode = $items->flight->departAirportCode;
$cacheData->queryResultList[$i]->flight->departAirportName = $items->flight->departAirportName;
$departAirportCode = $items->flight->departAirportCode;
$cacheData->queryResultList[$i]->flight->departAirportNameEn = $this->flight_model->getAirPortNameEn($items->flight->departAirportCode); //$airPortCodeAndName->$departAirportCode;
$cacheData->queryResultList[$i]->flight->departAirportTerminal = $items->flight->departAirportTerminal;
$cacheData->queryResultList[$i]->flight->departCityIataCode = $items->flight->departCityIataCode;
$cacheData->queryResultList[$i]->flight->departCityName = $items->flight->departCityName;
$cacheData->queryResultList[$i]->flight->departDate = $items->flight->departDate;
$cacheData->queryResultList[$i]->flight->departTime = $items->flight->departTime;
$cacheData->queryResultList[$i]->flight->duration = $items->flight->duration;
$cacheData->queryResultList[$i]->flight->meal = $items->flight->meal;
$cacheData->queryResultList[$i]->flight->stopInformation = $items->flight->stopInformation;
$cacheData->queryResultList[$i]->flight->stopNum = $items->flight->stopNum;
$cacheData->queryResultList[$i]->flight->stopPointList = $items->flight->stopPointList;
//航班对应可用的资源列表
$cacheData->queryResultList[$i]->resourceList = array();
$j = 0;
foreach ($items->resourceList as $resourceItems) {
$cacheData->queryResultList[$i]->resourceList[$j] = new stdClass();
$cacheData->queryResultList[$i]->resourceList[$j]->price = new stdClass();
$cacheData->queryResultList[$i]->resourceList[$j]->price->adultPrice = $resourceItems->price->adultPrice;
$cacheData->queryResultList[$i]->resourceList[$j]->price->childPrice = $resourceItems->price->childPrice;
$cacheData->queryResultList[$i]->resourceList[$j]->price->adultFacePrice = $resourceItems->price->adultFacePrice;
$cacheData->queryResultList[$i]->resourceList[$j]->price->childFacePrice = $resourceItems->price->childFacePrice;
$cacheData->queryResultList[$i]->resourceList[$j]->price->cabinClassFullPrice = $resourceItems->price->cabinClassFullPrice;
$cacheData->queryResultList[$i]->resourceList[$j]->price->adultTax = $resourceItems->price->adultTax;
$cacheData->queryResultList[$i]->resourceList[$j]->cabinList = array();
$k = 0;
foreach ($resourceItems->cabinList as $cabinListItems) {
$cacheData->queryResultList[$i]->resourceList[$j]->cabinList[$k] = new stdClass();
$cacheData->queryResultList[$i]->resourceList[$j]->cabinList[$k]->cabinClass = $cabinListItems->cabinClass;
$cacheData->queryResultList[$i]->resourceList[$j]->cabinList[$k]->cabinClassName = $cabinListItems->cabinClassName;
$cacheData->queryResultList[$i]->resourceList[$j]->cabinList[$k]->freeLuggage = $cabinListItems->freeLuggage;
$cacheData->queryResultList[$i]->resourceList[$j]->cabinList[$k]->freeLuggageUnit = $cabinListItems->freeLuggageUnit;
$cacheData->queryResultList[$i]->resourceList[$j]->cabinList[$k]->billType = $cabinListItems->billType;
$cacheData->queryResultList[$i]->resourceList[$j]->cabinList[$k]->seatStatus = $cabinListItems->seatStatus;
$k++;
}
$j++;
}
$i++;
}
print_r(json_encode($cacheData));
}
}
//查询接口,单一Y仓全价
public function search_simple()
{
//http://202.103.68.104:61/info.php/apps/flightsystem/api/search/?departDate=2021-09-04&departCode=BJS&arriveCode=KWL //测试地址
$departDate = $this->input->get_post('departDate');
$departCode = $this->input->get_post('departCode');
$arriveCode = $this->input->get_post('arriveCode');
$flightnumber = $this->input->get_post('flightnumber');
if (empty($departDate) || empty($departCode) || empty($arriveCode)) {
exit('error');
}
$postJson = get_serach_json($departDate, $departCode, $arriveCode, $flightnumber);
//echo $postJson;die();
$returnJson = post_tuniu(TUNIU_FLIGHT_API, $postJson, 'POST');
$returnData = json_decode($returnJson);
//print_r($returnJson);die();
$cacheData = new stdClass();
if (!empty($returnData)) {
if ($returnData->success==false){
exit('error');
}
$cacheData->success = $returnData->success;
$cacheData->msg = $returnData->msg;
$cacheData->errorCode = $returnData->errorCode;
$cacheData->queryResultList = array();
$i = 0;
//$airPortCodeAndName = json_decode($redis->get('airPortCodeAndName'));
$airPortCodeAndName = $this->ajaxGetCodeAndName(true);
//print_r($airPortCodeAndName);die();
foreach ($returnData->data->queryResultList as $items) {
$cacheData->queryResultList[$i] = new stdClass();
$cacheData->queryResultList[$i]->flight = new stdClass();
//航班信息
$cacheData->queryResultList[$i]->flight->flightNo = $items->flight->flightNo;
$cacheData->queryResultList[$i]->flight->craftType = $items->flight->craftType;
$cacheData->queryResultList[$i]->flight->airlineCompany = $items->flight->airlineCompany;
$cacheData->queryResultList[$i]->flight->airlineIataCode = $items->flight->airlineIataCode;
$cacheData->queryResultList[$i]->flight->arriveAirportCode = $items->flight->arriveAirportCode;
$cacheData->queryResultList[$i]->flight->arriveAirportName = $items->flight->arriveAirportName;
$arriveAirportCode = $items->flight->arriveAirportCode;
$cacheData->queryResultList[$i]->flight->arriveAirportNameEn = $this->flight_model->getAirPortNameEn($items->flight->arriveAirportCode); //$airPortCodeAndName->$arriveAirportCode;
$cacheData->queryResultList[$i]->flight->arriveAirportTerminal = $items->flight->arriveAirportTerminal;
$cacheData->queryResultList[$i]->flight->arriveCityIataCode = $items->flight->arriveCityIataCode;
$cacheData->queryResultList[$i]->flight->arriveCityName = $items->flight->arriveCityName;
$cacheData->queryResultList[$i]->flight->arriveDate = $items->flight->arriveDate;
$cacheData->queryResultList[$i]->flight->arriveTime = $items->flight->arriveTime;
$cacheData->queryResultList[$i]->flight->departAirportCode = $items->flight->departAirportCode;
$cacheData->queryResultList[$i]->flight->departAirportName = $items->flight->departAirportName;
$departAirportCode = $items->flight->departAirportCode;
$cacheData->queryResultList[$i]->flight->departAirportNameEn = $this->flight_model->getAirPortNameEn($items->flight->departAirportCode); //$airPortCodeAndName->$departAirportCode;
$cacheData->queryResultList[$i]->flight->departAirportTerminal = $items->flight->departAirportTerminal;
$cacheData->queryResultList[$i]->flight->departCityIataCode = $items->flight->departCityIataCode;
$cacheData->queryResultList[$i]->flight->departCityName = $items->flight->departCityName;
$cacheData->queryResultList[$i]->flight->departDate = $items->flight->departDate;
$cacheData->queryResultList[$i]->flight->departTime = $items->flight->departTime;
$cacheData->queryResultList[$i]->flight->duration = $items->flight->duration;
$cacheData->queryResultList[$i]->flight->meal = $items->flight->meal;
$cacheData->queryResultList[$i]->flight->stopInformation = $items->flight->stopInformation;
$cacheData->queryResultList[$i]->flight->stopNum = $items->flight->stopNum;
$cacheData->queryResultList[$i]->flight->stopPointList = $items->flight->stopPointList;
//航班对应可用的资源列表
$cacheData->queryResultList[$i]->resourceList = array();
$j = 0;
$Y = 0; //Y仓单独计数
$otherCabin = "";//其它舱位也只读取第一个
foreach ($items->resourceList as $resourceItems) {
//根据舱位分别处理Y仓只要一个。
$arrCabinListItems = $resourceItems->cabinList;
$cabinListItems = $arrCabinListItems[0];
if ($cabinListItems->cabinClass == "Y" && $Y==0){
//只处理第一次的Y仓
if (count($items->resourceList)>0){
$cacheData->queryResultList[$i]->resourceList[$j] = new stdClass();
$cacheData->queryResultList[$i]->resourceList[$j]->price = new stdClass();
$cacheData->queryResultList[$i]->resourceList[$j]->price->adultPrice = $resourceItems->price->cabinClassFullPrice;
$cacheData->queryResultList[$i]->resourceList[$j]->price->childPrice = $resourceItems->price->childPrice;
$cacheData->queryResultList[$i]->resourceList[$j]->price->adultFacePrice = $resourceItems->price->cabinClassFullPrice;
$cacheData->queryResultList[$i]->resourceList[$j]->price->childFacePrice = $resourceItems->price->childFacePrice;
$cacheData->queryResultList[$i]->resourceList[$j]->price->cabinClassFullPrice = $resourceItems->price->cabinClassFullPrice;
$cacheData->queryResultList[$i]->resourceList[$j]->price->adultTax = $resourceItems->price->adultTax;
$k = 0;
$cacheData->queryResultList[$i]->resourceList[$j]->cabinList[$k] = new stdClass();
$cacheData->queryResultList[$i]->resourceList[$j]->cabinList[$k]->cabinClass = $cabinListItems->cabinClass;
$cacheData->queryResultList[$i]->resourceList[$j]->cabinList[$k]->cabinClassName = $cabinListItems->cabinClassName;
$cacheData->queryResultList[$i]->resourceList[$j]->cabinList[$k]->freeLuggage = $cabinListItems->freeLuggage;
$cacheData->queryResultList[$i]->resourceList[$j]->cabinList[$k]->freeLuggageUnit = $cabinListItems->freeLuggageUnit;
$cacheData->queryResultList[$i]->resourceList[$j]->cabinList[$k]->billType = $cabinListItems->billType;
$cacheData->queryResultList[$i]->resourceList[$j]->cabinList[$k]->seatStatus = $cabinListItems->seatStatus;
$Y++;
$j++;
}
}else if ($cabinListItems->cabinClass != "Y"){
$checkExitCabin = false;
foreach ($cacheData->queryResultList[$i]->resourceList as $cCabin) {
if ($cabinListItems->cabinClass == $cCabin->cabinList[0]->cabinClass){
$checkExitCabin = true; //判断是否已经添加了该类型的仓。
break;
}
}
if ($cabinListItems->cabinClass != $otherCabin && $checkExitCabin==false){
//其它仓
$cacheData->queryResultList[$i]->resourceList[$j] = new stdClass();
$cacheData->queryResultList[$i]->resourceList[$j]->price = new stdClass();
$cacheData->queryResultList[$i]->resourceList[$j]->price->adultPrice = $resourceItems->price->cabinClassFullPrice;
$cacheData->queryResultList[$i]->resourceList[$j]->price->childPrice = $resourceItems->price->childPrice;
$cacheData->queryResultList[$i]->resourceList[$j]->price->adultFacePrice = $resourceItems->price->adultFacePrice;
$cacheData->queryResultList[$i]->resourceList[$j]->price->childFacePrice = $resourceItems->price->childFacePrice;
$cacheData->queryResultList[$i]->resourceList[$j]->price->cabinClassFullPrice = $resourceItems->price->cabinClassFullPrice;
$cacheData->queryResultList[$i]->resourceList[$j]->price->adultTax = $resourceItems->price->adultTax;
$k = 0;
$cacheData->queryResultList[$i]->resourceList[$j]->cabinList[$k] = new stdClass();
$cacheData->queryResultList[$i]->resourceList[$j]->cabinList[$k]->cabinClass = $cabinListItems->cabinClass;
$cacheData->queryResultList[$i]->resourceList[$j]->cabinList[$k]->cabinClassName = $cabinListItems->cabinClassName;
$cacheData->queryResultList[$i]->resourceList[$j]->cabinList[$k]->freeLuggage = $cabinListItems->freeLuggage;
$cacheData->queryResultList[$i]->resourceList[$j]->cabinList[$k]->freeLuggageUnit = $cabinListItems->freeLuggageUnit;
$cacheData->queryResultList[$i]->resourceList[$j]->cabinList[$k]->billType = $cabinListItems->billType;
$cacheData->queryResultList[$i]->resourceList[$j]->cabinList[$k]->seatStatus = $cabinListItems->seatStatus;
$otherCabin = $cabinListItems->cabinClass;
$j++;
}
}
// //只读取全价,Y仓
// if ($resourceItems->price->adultFacePrice == $resourceItems->price->cabinClassFullPrice && $resourceItems->price->adultPrice == $resourceItems->price->cabinClassFullPrice){
// //只显示经济舱
// $isY = false;
// foreach ($resourceItems->cabinList as $cabinListItems) {
// if ($cabinListItems->cabinClass == "Y"){
// $isY = true;
// break;
// }
// }
// if ($isY){
// $cacheData->queryResultList[$i]->resourceList[$j] = new stdClass();
// $cacheData->queryResultList[$i]->resourceList[$j]->price = new stdClass();
// $cacheData->queryResultList[$i]->resourceList[$j]->price->adultPrice = $resourceItems->price->adultPrice;
// $cacheData->queryResultList[$i]->resourceList[$j]->price->childPrice = $resourceItems->price->childPrice;
// $cacheData->queryResultList[$i]->resourceList[$j]->price->adultFacePrice = $resourceItems->price->adultFacePrice;
// $cacheData->queryResultList[$i]->resourceList[$j]->price->childFacePrice = $resourceItems->price->childFacePrice;
// $cacheData->queryResultList[$i]->resourceList[$j]->price->cabinClassFullPrice = $resourceItems->price->cabinClassFullPrice;
// $cacheData->queryResultList[$i]->resourceList[$j]->price->adultTax = $resourceItems->price->adultTax;
// $k = 0;
// $cacheData->queryResultList[$i]->resourceList[$j]->cabinList[$k] = new stdClass();
// $cacheData->queryResultList[$i]->resourceList[$j]->cabinList[$k]->cabinClass = $cabinListItems->cabinClass;
// $cacheData->queryResultList[$i]->resourceList[$j]->cabinList[$k]->cabinClassName = $cabinListItems->cabinClassName;
// $cacheData->queryResultList[$i]->resourceList[$j]->cabinList[$k]->freeLuggage = $cabinListItems->freeLuggage;
// $cacheData->queryResultList[$i]->resourceList[$j]->cabinList[$k]->freeLuggageUnit = $cabinListItems->freeLuggageUnit;
// $cacheData->queryResultList[$i]->resourceList[$j]->cabinList[$k]->billType = $cabinListItems->billType;
// $cacheData->queryResultList[$i]->resourceList[$j]->cabinList[$k]->seatStatus = $cabinListItems->seatStatus;
// $j++;
// $Y++;
// }
// }else{
// //非全价的只显示其它舱位
// $arrCabinListItems = $resourceItems->cabinList;
// $cabinListItems = $arrCabinListItems[0];
// if ($cabinListItems->cabinClass != "Y"){
// $cacheData->queryResultList[$i]->resourceList[$j] = new stdClass();
// $cacheData->queryResultList[$i]->resourceList[$j]->price = new stdClass();
// $cacheData->queryResultList[$i]->resourceList[$j]->price->adultPrice = $resourceItems->price->adultPrice;
// $cacheData->queryResultList[$i]->resourceList[$j]->price->childPrice = $resourceItems->price->childPrice;
// $cacheData->queryResultList[$i]->resourceList[$j]->price->adultFacePrice = $resourceItems->price->adultFacePrice;
// $cacheData->queryResultList[$i]->resourceList[$j]->price->childFacePrice = $resourceItems->price->childFacePrice;
// $cacheData->queryResultList[$i]->resourceList[$j]->price->cabinClassFullPrice = $resourceItems->price->cabinClassFullPrice;
// $cacheData->queryResultList[$i]->resourceList[$j]->price->adultTax = $resourceItems->price->adultTax;
// $k = 0;
// $cacheData->queryResultList[$i]->resourceList[$j]->cabinList[$k] = new stdClass();
// $cacheData->queryResultList[$i]->resourceList[$j]->cabinList[$k]->cabinClass = $cabinListItems->cabinClass;
// $cacheData->queryResultList[$i]->resourceList[$j]->cabinList[$k]->cabinClassName = $cabinListItems->cabinClassName;
// $cacheData->queryResultList[$i]->resourceList[$j]->cabinList[$k]->freeLuggage = $cabinListItems->freeLuggage;
// $cacheData->queryResultList[$i]->resourceList[$j]->cabinList[$k]->freeLuggageUnit = $cabinListItems->freeLuggageUnit;
// $cacheData->queryResultList[$i]->resourceList[$j]->cabinList[$k]->billType = $cabinListItems->billType;
// $cacheData->queryResultList[$i]->resourceList[$j]->cabinList[$k]->seatStatus = $cabinListItems->seatStatus;
// $j++;
// }
// }
}
// //Y仓没有全价的处理默认加上一个全价
// if ($Y===0){
// if (count($items->resourceList)>0){
// $cacheData->queryResultList[$i]->resourceList[$j] = new stdClass();
// $cacheData->queryResultList[$i]->resourceList[$j]->price = new stdClass();
// $resourceList = $items->resourceList;
// $resourceItems = $resourceList[0];
// $cacheData->queryResultList[$i]->resourceList[$j]->price->adultPrice = $resourceItems->price->cabinClassFullPrice;
// $cacheData->queryResultList[$i]->resourceList[$j]->price->childPrice = $resourceItems->price->childPrice;
// $cacheData->queryResultList[$i]->resourceList[$j]->price->adultFacePrice = $resourceItems->price->cabinClassFullPrice;
// $cacheData->queryResultList[$i]->resourceList[$j]->price->childFacePrice = $resourceItems->price->childFacePrice;
// $cacheData->queryResultList[$i]->resourceList[$j]->price->cabinClassFullPrice = $resourceItems->price->cabinClassFullPrice;
// $cacheData->queryResultList[$i]->resourceList[$j]->price->adultTax = $resourceItems->price->adultTax;
// $k = 0;
// $cacheData->queryResultList[$i]->resourceList[$j]->cabinList[$k] = new stdClass();
// $cabinList = $resourceItems->cabinList;
// $cabinListItems = $cabinList[0];
// $cacheData->queryResultList[$i]->resourceList[$j]->cabinList[$k]->cabinClass = $cabinListItems->cabinClass;
// $cacheData->queryResultList[$i]->resourceList[$j]->cabinList[$k]->cabinClassName = $cabinListItems->cabinClassName;
// $cacheData->queryResultList[$i]->resourceList[$j]->cabinList[$k]->freeLuggage = $cabinListItems->freeLuggage;
// $cacheData->queryResultList[$i]->resourceList[$j]->cabinList[$k]->freeLuggageUnit = $cabinListItems->freeLuggageUnit;
// $cacheData->queryResultList[$i]->resourceList[$j]->cabinList[$k]->billType = $cabinListItems->billType;
// $cacheData->queryResultList[$i]->resourceList[$j]->cabinList[$k]->seatStatus = $cabinListItems->seatStatus;
// }
// }
$i++;
}
print_r(json_encode($cacheData));
}
}
}

@ -0,0 +1,77 @@
<?php
class flight_model extends CI_Model{
function __construct(){
parent::__construct();
$this->INFO = $this->load->database('INFO', TRUE);
$this->HT=$this->load->database('HT',TRUE);
}
//public $FlightAPI_Code = "http://202.103.68.156:9032"; //本地
public $FlightAPI_Code = "https://www.trainspread.com"; //网前
public function getAllCityCodeAndName(){
$sql = "select city_chinese_name,city_english_name,city_threeChar from city_threeChar";
$query = $this->INFO->query($sql);
return $query->result();
}
public function getAllAirPort(){
$sql = "select air_threeChar,air_english_name from air_threeChar";
$query = $this->INFO->query($sql);
return $query->result();
}
/**
* 根据机场code获取对于的机场英文名 20201229 zp 接口数据突然无法获取机场英文名,估计是删除缓存获取以后的错误
*/
public function getAirPortNameEn($code){
$sql = "select top 1 air_english_name from air_threeChar where air_threeChar ='".$code."'";
$query = $this->INFO->query($sql);
$row = $query->row();
if (isset($row)){
return $row->air_english_name;
}else{
return "";
}
}
/*
* 根据三字码获取对应城市的英文名称
*/
public function getCityNameFromCode($code){
$result = "";
$Url_FlightCode = $this->FlightAPI_Code."/flight/ajaxGetCodeAndName/";
$FlightCodeList = get_http($Url_FlightCode); //获取接口机场列表Json
$Json_FlightCode = json_decode($FlightCodeList);
if (!empty($code)){
foreach($Json_FlightCode as $Item){
if ($Item->city_threeChar==$code){
$result=$Item->city_english_name;
break;
}
}
}
return $result;
}
/*
* 根据航线二字码获取对应的航空公司英文名
*/
public function getAirlineNameEn($code){
$sql = "select top 1 NameEN,NameCN from AirCompany where Code='".$code."'";
$query = $this->HT->query($sql);
$row = $query->row();
if (isset($row)){
return $row->NameEN;
}else{
return "";
}
}
}
?>

@ -10,7 +10,7 @@ class Confirm extends CI_Controller {
$this->load->model('Order_model');
}
//site_code默认是空ct的站点需要传值
// site_code 默认是空CT、AH 网站需要传值
public function index($COLI_SN = false, $visitor_link = false, $token = false,$site_code='') {
$data = array();
if (empty($COLI_SN) || strtoupper(md5($visitor_link)) != strtoupper($token)) {
@ -47,6 +47,30 @@ class Confirm extends CI_Controller {
$this->load->view($site_code.'/confirm_order', $data);
}
// https://www.chinahighlights.com/secureinfoconfirm/confirm/test/991733/20230314153025/82899713caf652fc5e4cbe76655bdd3f/ah
public function test($COLI_SN = false, $visitor_link = false, $token = false,$site_code='') {
$data = array();
if (empty($COLI_SN)) {
echo '<div class="hidden">链接不对</div>';
return false;
}
$data['visitor_link'] = $visitor_link;
$data['userinfo'] = $this->Order_model->get_customer_info($COLI_SN);
$data['username'] = '';
if (!empty($data['userinfo'])) {
foreach ($data['userinfo'] as $v) {
if ($v->CUL_IsLinkMan == 1) {
$data['username'] = $v->MEI_FirstName;
$data['usermail'] = $v->MEI_MailList;
}
}
}
$this->load->view($site_code.'/confirm_order', $data);
}
public function save_confirm_info() {
//客人信息
@ -59,15 +83,17 @@ class Confirm extends CI_Controller {
$occupation=$this->input->post('occupation');
$contact_phone = '座机:' . $this->input->post('landline') . '/手机:' . $this->input->post('mobile');
$country_code = $this->input->post('country_code');
$contact_phone = $country_code . ' ' . $this->input->post('mobile');
$COLI_SN = $this->input->post('COLI_SN');
$visitor_link = $this->input->post('visitor_link');
$COLI_ID = $this->input->post('COLI_ID');
//航班信息
$MEI_ArrivalFlightNo = $this->input->post('MEI_ArrivalFlightNo');
$MEI_ArrivalTime = $this->input->post('MEI_ArrivalTime');
$MEI_DepartureFlightNo = $this->input->post('MEI_DepartureFlightNo');
$MEI_DepartureTime = $this->input->post('MEI_DepartureTime');
// HTML datetime-local 获取的值2023-05-29T15:45需要替换 T 为空格才能符合数据类型
$MEI_ArrivalTime = str_replace("T", " ", $this->input->post('MEI_ArrivalDate').' '.$this->input->post('MEI_ArrivalTime'));
$MEI_DepartureTime = str_replace("T", " ", $this->input->post('MEI_DepartureDate').' '.$this->input->post('MEI_DepartureTime'));
//已经确认过
@ -105,6 +131,10 @@ class Confirm extends CI_Controller {
$birthday_tmp = date('Y-m-d H:i:s', strtotime($birthday[$key]));
$expiration_date_tmp = date('Y-m-d H:i:s', strtotime($expiration_date[$key]));
// 现在表单只用填写第一个客人的手机,所以其他客人
if ($key > 0) {
$contact_phone = '';
}
$MEI_SN = $this->Order_model->add_customer_info($occupation[$key],$gender[$key], $nationality[$key], $MEI_FirstName, $MEI_LastName, $passport[$key], $expiration_date_tmp, $birthday_tmp, $MEI_Memo, $MEI_Street, '', $contact_phone, 0, $COLI_SN, $visitor_link,$MEI_ArrivalFlightNo,$MEI_ArrivalTime,$MEI_DepartureFlightNo,$MEI_DepartureTime);
}
}
@ -134,12 +164,14 @@ class Confirm extends CI_Controller {
}
}
//只有ch有review功能
function review() {
$data = array();
$data['postdata'] = $this->input->post();
$mail_text = $this->load->view('mailtext', $data, true);
echo json_encode($mail_text);
header('Content-type: application/json;charset=utf-8');
$data = array();
$site_code = $this->input->get('site_code');
$viewName = $site_code.'/mailtext';
$data['postdata'] = $this->input->post();
$mail_text = $this->load->view($viewName, $data, true);
echo json_encode($mail_text);
}
}

File diff suppressed because it is too large Load Diff

@ -0,0 +1,73 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Thanks for booking with China Highlights!</title>
<meta name="robots" content="noindex,nofollow"/>
<link href="https://www.chinahighlights.com/css/min.php?f=/image/customer_center_data/css/bootstrap.min.css,/image/customer_center_data/css/order.css&v=2015042802" rel="stylesheet">
<!--[if lt IE 9]>
<script src="https://cdn.bootcss.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://cdn.bootcss.com/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
<script src="https://www.chinahighlights.com/js/min.php?f=/image/customer_center_data/js/jquery.min.js,/image/customer_center_data/js/bootstrap.min.js&v=2015042802"></script>
<link rel="shortcut icon" href="https://www.chinahighlights.com/favicon.ico">
</head>
<body class="modal-open">
<div id="headerWrapper">
<div id="header">
<div id="mainnav" class="nav navbar" role="navigation">
<div class="container-fluid">
<div class="row">
<div class="col-lg-3 col-sm-4 logobox hidden-xs">
<a href="/">
<img src="https://www.chinahighlights.com/image/customer_center_data/css/images/logo-132x104.png" alt="logo">
</a>
</div>
<div class="col-lg-16 col-sm-13 col-lg-offset-3 col-sm-offset-4">
<div class="navbar-header">
<div class="col-xs-24 btn-lg"></div>
</div>
</div>
<div class="col-lg-5 col-sm-7 hidden-xs pull-right nopadding">
<div class="tollfree pull-right">
<div class="col-xs-24 btn-sm"></div>
<div class="currentNo col-sm-24 nopadding"><span class="glyphicon glyphicon-earphone" style="font-size:12px;"></span> 800-2682918 (USA/CA)</div>
<div class="col-sm-24">
<div class="currentNo col-sm-24 nopadding"> 1800-764678 (AU)</div>
<div class="currentNo col-sm-24 nopadding"> 0800-0327753 (UK)</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="bs-example bs-example-modal" data-example-id="static-modal">
<div class="modal" style="display:block;">
<div class="modal-dialog" style="margin-top:200px;">
<div class="modal-content">
<div class="modal-header">
<h3 class="modal-title text-success" id="modal-title">Success!<a class="anchorjs-link" href="#modal-title"><span class="anchorjs-icon"></span></a></h3>
</div>
<div class="modal-body" style="height:150px;">
<h4 style="padding-top:10px;">For any change, please contact your travel advisor.</h4>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
</div>
<div class="modal-backdrop fade in" style="bottom:0;"></div>
</body>
</html>

@ -0,0 +1,76 @@
<p >
China Highlights is not responsible for any costs or consequences which may arise from failure on your part to provide correct information (For example, wrongly spelt names may cause your flight tickets to be cancelled, incorrect incoming flight number may lead to failure in pick-up etc.).<br />
</p>
<h4 class="text-red" style="box-sizing:border-box;font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;font-weight:500;line-height:1.1;color:#AA2E2D;margin-top:10px;margin-bottom:15px;font-size:24px;padding:12px 0 12px 0;border-bottom:1px solid #dddddd;border-top:1px solid #dddddd;white-space:normal;background-color:#FFFFFF;">
Passenger Information
</h4>
<?php foreach ($postdata['sur_name'] as $key => $sur) { ?>
<?php
if (!isset($postdata['given_name'][$key]) || $postdata['given_name'][$key] == 'None')
$postdata['given_name'][$key] = '';
if (!isset($postdata['passport'][$key]) || $postdata['passport'][$key] == 'None')
$postdata['passport'][$key] = '';
if (!isset($postdata['passport_expiration_date'][$key]) || $postdata['passport_expiration_date'][$key] == 'None')
$postdata['passport_expiration_date'][$key] = '';
if (!isset($postdata['birthday'][$key]) || $postdata['birthday'][$key] == 'None')
$postdata['birthday'][$key] = '';
?>
<h3>Passenger <?php echo $key + 1; ?></h3>
<p style="margin:0;">Sur name/First and Middle name:<?php echo $sur . '/' . $postdata['given_name'][$key]; ?></p>
<p style="margin:0;">Passport No.:<?php echo $postdata['passport'][$key]; ?></p>
<p style="margin:0;">Passport Expiration Date:<?php echo $postdata['passport_expiration_date'][$key]; ?></p>
<p style="margin:0;">Birthday:<?php echo $postdata['birthday'][$key]; ?></p>
<?php } ?>
<h3>Contact Information</h3>
<p style="margin:0;">Land line:<?php if (isset($postdata['landline'])) echo $postdata['landline']; ?></p>
<p style="margin:0;">Mobile:<?php if (isset($postdata['mobile'])) echo $postdata['mobile']; ?></p>
<h4 class="text-red" style="box-sizing:border-box;font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;font-weight:500;line-height:1.1;color:#AA2E2D;margin-top:10px;margin-bottom:15px;font-size:24px;padding:12px 0 12px 0;border-bottom:1px solid #dddddd;border-top:1px solid #dddddd;white-space:normal;background-color:#FFFFFF;">
Flight Information
</h4>
<p style="margin:0;">Arrival Flight No.:<?php if (isset($postdata['MEI_ArrivalFlightNo'])) echo $postdata['MEI_ArrivalFlightNo']; ?></p>
<p style="margin:0;">
Arrival date:<?php if (isset($postdata['MEI_ArrivalDate'])) echo $postdata['MEI_ArrivalDate']; ?>
</p>
<p style="margin:0;">
Arrival time:<?php if (isset($postdata['MEI_ArrivalTime'])) echo $postdata['MEI_ArrivalTime']; ?>
</p>
<p style="margin:0;">
Departure Flight no.:<?php if (isset($postdata['MEI_DepartureFlightNo'])) echo $postdata['MEI_DepartureFlightNo']; ?>
</p>
<p style="margin:0;">
Departure date:<?php if (isset($postdata['MEI_DepartureDate'])) echo $postdata['MEI_DepartureDate']; ?>
</p>
<p style="margin:0;">
Departure time:<?php if (isset($postdata['MEI_DepartureTime'])) echo $postdata['MEI_DepartureTime']; ?>
</p>
<h4 class="text-red" style="box-sizing:border-box;font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;font-weight:500;line-height:1.1;color:#AA2E2D;margin-top:10px;margin-bottom:15px;font-size:24px;padding:12px 0 12px 0;border-bottom:1px solid #dddddd;border-top:1px solid #dddddd;white-space:normal;background-color:#FFFFFF;">
Special Request
</h4>
<p style="margin:0;">
<?php if (isset($postdata['special_request'])) echo $postdata['special_request']; ?>
<br />
</p>
<h4 class="text-red" style="box-sizing:border-box;font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;font-weight:500;line-height:1.1;color:#AA2E2D;margin-top:10px;margin-bottom:15px;font-size:24px;padding:12px 0 12px 0;border-bottom:1px solid #dddddd;border-top:1px solid #dddddd;white-space:normal;background-color:#FFFFFF;">
Insurance Information
</h4>
<p style="margin:0;">
<?php if (isset($postdata['insurance_information'])) echo $postdata['insurance_information']; ?>
<br />
</p>
<h4 class="text-red" style="box-sizing:border-box;font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;font-weight:500;line-height:1.1;color:#AA2E2D;margin-top:10px;margin-bottom:15px;font-size:24px;padding:12px 0 12px 0;border-bottom:1px solid #dddddd;border-top:1px solid #dddddd;white-space:normal;background-color:#FFFFFF;">
Emergency Contact Information
</h4>
<p style="margin:0;">
Contact person name:<?php if (isset($postdata['emergency_person_name'])) echo $postdata['emergency_person_name']; ?>
</p>
<p style="margin:0;">
Relationship with him/her:<?php if (isset($postdata['emergency_relationship'])) echo $postdata['emergency_relationship']; ?>
</p>
<p style="margin:0;">
E-mail address:<?php if (isset($postdata['emergency_email'])) echo $postdata['emergency_email']; ?>
</p>
<p style="margin:0;">
Telephone no.:<?php if (isset($postdata['emergency_telephone'])) echo $postdata['emergency_telephone']; ?>
</p>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

@ -0,0 +1,73 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Thanks for booking with China Highlights!</title>
<meta name="robots" content="noindex,nofollow"/>
<link href="https://www.chinahighlights.com/css/min.php?f=/image/customer_center_data/css/bootstrap.min.css,/image/customer_center_data/css/order.css&v=2015042802" rel="stylesheet">
<!--[if lt IE 9]>
<script src="https://cdn.bootcss.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://cdn.bootcss.com/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
<script src="https://www.chinahighlights.com/js/min.php?f=/image/customer_center_data/js/jquery.min.js,/image/customer_center_data/js/bootstrap.min.js&v=2015042802"></script>
<link rel="shortcut icon" href="https://www.chinahighlights.com/favicon.ico">
</head>
<body class="modal-open">
<div id="headerWrapper">
<div id="header">
<div id="mainnav" class="nav navbar" role="navigation">
<div class="container-fluid">
<div class="row">
<div class="col-lg-3 col-sm-4 logobox hidden-xs">
<a href="/">
<img src="https://www.chinahighlights.com/image/customer_center_data/css/images/logo-132x104.png" alt="logo">
</a>
</div>
<div class="col-lg-16 col-sm-13 col-lg-offset-3 col-sm-offset-4">
<div class="navbar-header">
<div class="col-xs-24 btn-lg"></div>
</div>
</div>
<div class="col-lg-5 col-sm-7 hidden-xs pull-right nopadding">
<div class="tollfree pull-right">
<div class="col-xs-24 btn-sm"></div>
<div class="currentNo col-sm-24 nopadding"><span class="glyphicon glyphicon-earphone" style="font-size:12px;"></span> 800-2682918 (USA/CA)</div>
<div class="col-sm-24">
<div class="currentNo col-sm-24 nopadding"> 1800-764678 (AU)</div>
<div class="currentNo col-sm-24 nopadding"> 0800-0327753 (UK)</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="bs-example bs-example-modal" data-example-id="static-modal">
<div class="modal" style="display:block;">
<div class="modal-dialog" style="margin-top:200px;">
<div class="modal-content">
<div class="modal-header">
<h3 class="modal-title text-success" id="modal-title">Success!<a class="anchorjs-link" href="#modal-title"><span class="anchorjs-icon"></span></a></h3>
</div>
<div class="modal-body" style="height:150px;">
<h4 style="padding-top:10px;">For any change, please contact your travel advisor.</h4>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
</div>
<div class="modal-backdrop fade in" style="bottom:0;"></div>
</body>
</html>

@ -62,7 +62,6 @@
</div>
<div class="modal-body" style="height:150px;">
<h4 style="padding-top:10px;">For any change, please contact your travel advisor.</h4>
<p>----<a href="http://www.chinahighlights.com" class="">www.chinahighlights.com</a></p>
</div>
</div><!-- /.modal-content -->

@ -29,12 +29,12 @@
<h4 class="text-red" style="box-sizing:border-box;font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;font-weight:500;line-height:1.1;color:#AA2E2D;margin-top:10px;margin-bottom:15px;font-size:24px;padding:12px 0 12px 0;border-bottom:1px solid #dddddd;border-top:1px solid #dddddd;white-space:normal;background-color:#FFFFFF;">
Flight Information
</h4>
<p style="margin:0;">Arrival China Flight No.:<?php if (isset($postdata['MEI_ArrivalFlightNo'])) echo $postdata['MEI_ArrivalFlightNo']; ?></p>
<p style="margin:0;">Arrival Flight No.:<?php if (isset($postdata['MEI_ArrivalFlightNo'])) echo $postdata['MEI_ArrivalFlightNo']; ?></p>
<p style="margin:0;">
Arrival time:<?php if (isset($postdata['MEI_ArrivalTime'])) echo $postdata['MEI_ArrivalTime']; ?>
</p>
<p style="margin:0;">
Departure China Flight no.:<?php if (isset($postdata['MEI_DepartureFlightNo'])) echo $postdata['MEI_DepartureFlightNo']; ?>
Departure Flight no.:<?php if (isset($postdata['MEI_DepartureFlightNo'])) echo $postdata['MEI_DepartureFlightNo']; ?>
</p>
<p style="margin:0;">
Departure time:<?php if (isset($postdata['MEI_DepartureTime'])) echo $postdata['MEI_DepartureTime']; ?>

@ -0,0 +1,126 @@
<?php
if (!defined('BASEPATH'))
exit('No direct script access allowed');
class Index extends CI_Controller
{
public function __construct()
{
parent::__construct();
$this->permission->is_admin();
$this->load->model('InfoStructures_model');
$this->load->model('Information_model');
$this->load->model('InfoContents_model');
$this->load->model('infoRecommends_model');
$this->load->model('infoTips_model');
}
public function index()
{
$data = array();
$data['groupList'] = $this->Information_model->group_list();
$data['tipsList'] = $this->infoTips_model->get_list();
$this->load->view('bootstrap3/header', $data);
$this->load->view('welcome');
$this->load->view('bootstrap3/footer');
}
public function search()
{
$keywords = $this->input->post('keywords');
$byWhat = $this->input->post('byWhat');
$data = array();
$data['groupList'] = $this->Information_model->group_list();
$data['tipsList'] = $this->infoTips_model->search($keywords, $byWhat);
$data['lastKeyword'] = $keywords;
$this->load->view('bootstrap3/header', $data);
$this->load->view('welcome');
$this->load->view('bootstrap3/footer');
}
//节点绑定信息推荐或者广告
public function bind($is_id)
{
$data = array();
$data['information'] = $this->Information_model->Detail($is_id);
if ($data['information'] == FALSE) {
show_404();
return;
}
//如果本身不是分组节点则查询分组信息
if ($data['information']->is_level > 0) {
$data['group_detail'] = $this->Information_model->get_detail_by_path($data['information']->is_path, 0);
}
//查询所有推荐信息
$recommends= $this->infoRecommends_model->detail_list($is_id);
foreach ($recommends as $item){
$data['recommends'][$item->ir_name]=$item;
}
$this->load->view('bootstrap3/header', $data);
$this->load->view('bind');
$this->load->view('bootstrap3/footer');
}
public function bind_info()
{
$data = array();
$ir_is_id = $this->input->post('ir_is_id');
$ir_name = $this->input->post('ir_name');
$data['infoRecommend'] = $this->infoRecommends_model->detail($ir_is_id, $ir_name);
//广告列表
$data['tipsList'] = $this->infoTips_model->get_list();
if (empty($data['infoRecommend'])) {
$data['infoRecommend'] = new StdClass;
$data['infoRecommend']->ir_is_id = $ir_is_id;
$data['infoRecommend']->ir_name = $ir_name;
$data['infoRecommend']->ir_keyword = '';
$data['infoRecommend']->ir_pointer_is_id = null;
$data['infoRecommend']->ir_pointer_it_id = null;
$data['infoRecommend']->ir_urls = '';
$data['infoRecommend']->ir_rule = 'rule_parent';
$data['infoRecommend']->ir_datetime = time();
$data['infoRecommend']->ir_sitecode = $this->config->item('site_code');
$data['infoRecommend']->ir_id = $this->infoRecommends_model->add('infoRecommends', $data['infoRecommend']);
}
echo json_encode($this->load->view('bind_info', $data, true));
}
//根据is_id查询对应的信息用来检查绑定的is是否正确
public function check_is_id_info(){
$ir_pointer_is_id=$this->input->post('ir_pointer_is_id');
if(!empty($ir_pointer_is_id)) {
$information = $this->Information_model->Detail($ir_pointer_is_id);
}
if(!empty($information)){
echo json_encode($information->ic_title);
}else{
echo json_encode('找不到信息');
}
}
public function bind_info_save()
{
$infoRecommend = new StdClass;
$ir_id = $this->input->post('ir_id');
//先查一遍这个数据是否存在,不存在则退出,防止被攻击
if (empty($this->infoRecommends_model->detail_by_ir_id($ir_id))) {
$data[] = array('name' => 'no', 'value' => '查询不到数据,请重试');
} else {
$infoRecommend->ir_rule = $this->input->post('ir_rule');
$infoRecommend->ir_keyword = trim($this->input->post('ir_keyword'));
$infoRecommend->ir_pointer_is_id = $this->input->post('ir_pointer_is_id');
$infoRecommend->ir_pointer_it_id = $this->input->post('ir_pointer_it_id');
$infoRecommend->ir_urls =trim($this->input->post('ir_urls'));
$infoRecommend->ir_datetime =time();
$infoRecommend->ir_id = $this->infoRecommends_model->update('infoRecommends', $infoRecommend, 'ir_id=' . $ir_id);
$data[] = array('name' => 'ok', 'value' => '保存成功!');
}
echo json_encode($data);
}
}

@ -0,0 +1,88 @@
<?php
if (!defined('BASEPATH'))
exit('No direct script access allowed');
class Tips extends CI_Controller
{
public function __construct()
{
parent::__construct();
$this->permission->is_admin();
$this->load->model('InfoStructures_model');
$this->load->model('Information_model');
$this->load->model('InfoContents_model');
$this->load->model('infoTips_model');
}
public function index()
{
echo 'Tips index';
}
public function add()
{
$infoTip = new StdClass;
$infoTip->it_title = '新广告';
$infoTip->it_expires = time();
$infoTip->it_content = $this->load->view('templates', false,true);;
$infoTip->it_code = '<!--@TIPS--@-->';
$infoTip->it_datetime = time();
$infoTip->it_sitecode = $this->config->item('site_code');
$infoTip->it_id = $this->infoTips_model->add('infoTips', $infoTip);
redirect(site_url('thirdparty/recommend/tips/edit/' . $infoTip->it_id));
}
public function delete($it_id)
{
$data = array();
$data['infoTip'] = $this->infoTips_model->detail($it_id);
if ($data['infoTip'] == FALSE) {
show_404();
return;
}
$this->infoTips_model->delete('infoTips', 'it_id=' . $it_id);
redirect(site_url('thirdparty/recommend/'));
}
public function edit($it_id)
{
$data = array();
$data['infoTip'] = $this->infoTips_model->detail($it_id);
if ($data['infoTip'] == FALSE) {
show_404();
return;
}
$this->load->view('bootstrap3/header', $data);
$this->load->view('tips_info');
$this->load->view('bootstrap3/footer');
}
public function save()
{
$infoRecommend = new StdClass;
$it_id = $this->input->post('it_id');
//先查一遍这个数据是否存在,不存在则退出,防止被攻击
if (empty($this->infoTips_model->detail($it_id))) {
$data[] = array('name' => 'no', 'value' => '查询不到数据,请重试');
} else {
$infoTip = new StdClass;
$infoTip->it_title = $this->input->post('it_title');
$infoTip->it_expires = strtotime($this->input->post('it_expires'));
$infoTip->it_code = $this->input->post('it_code');
$infoTip->it_content = replace_image_url($this->input->post('it_content'));
$infoTip->it_datetime = time();
$infoTip->it_id = $this->infoTips_model->update('infoTips', $infoTip, 'it_id=' . $it_id);
$data[] = array('name' => 'ok', 'value' => '保存成功!');
}
echo json_encode($data);
}
}

@ -0,0 +1,96 @@
<?php
class infoRecommends_model extends CI_Model
{
var $topnum = false; //返回记录数
var $orderby = false;
var $where = false; //查询条件
function __construct()
{
parent::__construct();
$this->HT = $this->load->database('INFORMATION', TRUE);
}
public function init() {
$this->topnum = false;
$this->where = false;
$this->orderby = ' order by ir_datetime desc ';
}
public function detail($ir_is_id,$ir_name){
$this->init();
$this->topnum = 1;
$this->where = ' AND ir.ir_is_id=' . $this->HT->escape($ir_is_id);
$this->where .= ' AND ir.ir_name=' . $this->HT->escape($ir_name);
return $this->get_list();
}
public function detail_list($ir_is_id){
$this->init();
$this->where = ' AND ir.ir_is_id=' . $this->HT->escape($ir_is_id);
return $this->get_list();
}
public function detail_by_ir_id($ir_id){
$this->init();
$this->topnum = 1;
$this->where = ' AND ir.ir_id=' . $this->HT->escape($ir_id);
return $this->get_list();
}
public function get_list() {
$this->topnum ? $sql = "SELECT TOP " . $this->topnum : $sql = "SELECT ";
$sql .= "
ir.ir_id
,ir.ir_is_id
,ir.ir_keyword
,ir.ir_name
,ir.ir_pointer_is_id
,ir.ir_pointer_it_id
,ir.ir_rule
,ir.ir_urls
,ir.ir_datetime
,ir.ir_sitecode
from infoRecommends ir
where 1=1
AND ir.ir_sitecode=?
";
$this->where ? $sql.=$this->where : false;
$this->orderby ? $sql.=$this->orderby : false;
$query = $this->HT->query($sql,array($this->config->item('site_code')));
//print_r($this->INFO->queries);
if ($this->topnum === 1) {
if ($query->num_rows() > 0) {
$row = $query->row();
return $row;
} else {
return FALSE;
}
} else {
return $query->result();
}
}
public function add($table, $data)
{
if ($this->HT->insert($table, $data)) {
return $this->HT->last_id($table);
} else {
return false;
}
}
public function update($table, $data, $where)
{
return $this->HT->update($table, $data, $where);
}
public function delete($table, $where)
{
return $this->HT->delete($table, $where);
}
}

@ -0,0 +1,99 @@
<?php
class infoTips_model extends CI_Model
{
var $topnum = false; //返回记录数
var $orderby = false;
var $where = false; //查询条件
function __construct()
{
parent::__construct();
$this->HT = $this->load->database('INFORMATION', TRUE);
}
public function init() {
$this->topnum = false;
$this->where = false;
$this->orderby = ' order by it_expires ASC ';
}
public function detail($it_id){
$this->init();
$this->topnum = 1;
$this->where = ' AND it.it_id=' . $this->HT->escape($it_id);
return $this->get_list();
}
public function get_list() {
$this->topnum ? $sql = "SELECT TOP " . $this->topnum : $sql = "SELECT ";
$sql .= "
it.it_id
,it.it_title
,it.it_expires
,it.it_code
,it.it_content
,it.it_sitecode
,it.it_datetime
from infoTips it
where 1=1
AND it.it_sitecode=?
";
$this->where ? $sql.=$this->where : false;
$this->orderby ? $sql.=$this->orderby : false;
$query = $this->HT->query($sql,array($this->config->item('site_code')));
//print_r($this->INFO->queries);
if ($this->topnum === 1) {
if ($query->num_rows() > 0) {
$row = $query->row();
return $row;
} else {
return FALSE;
}
} else {
return $query->result();
}
}
public function search($keywords, $byWhat) {
$whereCodition = '';
if ($byWhat == 'byTitle') {
$whereCodition .= " and it.it_title like '%" . $this->HT->escape_str($keywords) . "%'";
} else if ($byWhat == 'byLabel') {
$whereCodition .= " and it.it_code like '%" . $this->HT->escape_str($keywords) . "%'";
} else if ($byWhat == 'byContent') {
$whereCodition .= " and it.it_content like '%" . $this->HT->escape_str($keywords) . "%'";
}
$searchText =
"select it.it_id ,it.it_title,it.it_expires,it.it_code,it.it_content,it.it_sitecode,it.it_datetime
from infoTips it
where it.it_sitecode=?"
. $whereCodition
. " order by it_expires ASC";
$query = $this->HT->query($searchText, array($this->config->item('site_code')));
return $query->result();
}
public function add($table, $data)
{
if ($this->HT->insert($table, $data)) {
return $this->HT->last_id($table);
} else {
return false;
}
}
public function update($table, $data, $where)
{
return $this->HT->update($table, $data, $where);
}
public function delete($table, $where)
{
return $this->HT->delete($table, $where);
}
}

@ -0,0 +1,786 @@
<div class="container-fluid">
<div class="row">
<div class="col-md-4">
</div>
<div class="col-md-16">
<h3> <?php echo empty($group_detail) ? '[ ' . $information->ic_title . ' ]' : '[ ' . $group_detail->ic_url_title . ' ] ' . $information->ic_url_title; ?> </h3>
<div class="row">
<div class="col-md-16">
<div class="panel panel-default">
<div class="panel-heading">文章内容</div>
<div class="panel-body">
<!-- 文中信息推荐 begin -->
<p class="text-primary text-center">&lt;!--@Content-Recommends-Article@--&gt;</p>
<div class="row">
<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-heading">Content Article A <a
href="javascript:void(0);"
onclick="show_bind_info(<?php echo $information->is_id; ?>,'Content Article A')"
> <span
class="pull-right glyphicon glyphicon-cog"></span></a></div>
<div class="panel-body">
<?php echo empty($recommends['Content Article A']) ? '继承上级' : $recommends['Content Article A']->ir_rule . '<br/>' . $recommends['Content Article A']->ir_keyword; ?>
</div>
</div>
</div>
<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-heading">Content Article B <a
href="javascript:void(0);"
onclick="show_bind_info(<?php echo $information->is_id; ?>,'Content Article B')"
> <span
class="pull-right glyphicon glyphicon-cog"></span></a></div>
<div class="panel-body">
<?php echo empty($recommends['Content Article B']) ? '继承上级' : $recommends['Content Article B']->ir_rule . '<br/>' . $recommends['Content Article B']->ir_keyword; ?>
</div>
</div>
</div>
<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-heading">Content Article C <a
href="javascript:void(0);"
onclick="show_bind_info(<?php echo $information->is_id; ?>,'Content Article C')"
> <span
class="pull-right glyphicon glyphicon-cog"></span></a></div>
<div class="panel-body">
<?php echo empty($recommends['Content Article C']) ? '继承上级' : $recommends['Content Article C']->ir_rule . '<br/>' . $recommends['Content Article C']->ir_keyword; ?>
</div>
</div>
</div>
<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-heading">Content Article D <a
href="javascript:void(0);"
onclick="show_bind_info(<?php echo $information->is_id; ?>,'Content Article D')"
> <span
class="pull-right glyphicon glyphicon-cog"></span></a></div>
<div class="panel-body">
<?php echo empty($recommends['Content Article D']) ? '继承上级' : $recommends['Content Article D']->ir_rule . '<br/>' . $recommends['Content Article D']->ir_keyword; ?>
</div>
</div>
</div>
<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-heading">Content Article E <a
href="javascript:void(0);"
onclick="show_bind_info(<?php echo $information->is_id; ?>,'Content Article E')"
> <span
class="pull-right glyphicon glyphicon-cog"></span></a></div>
<div class="panel-body">
<?php echo empty($recommends['Content Article E']) ? '继承上级' : $recommends['Content Article E']->ir_rule . '<br/>' . $recommends['Content Article E']->ir_keyword; ?>
</div>
</div>
</div>
<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-heading">Content Article F <a
href="javascript:void(0);"
onclick="show_bind_info(<?php echo $information->is_id; ?>,'Content Article F')"
> <span
class="pull-right glyphicon glyphicon-cog"></span></a></div>
<div class="panel-body">
<?php echo empty($recommends['Content Article F']) ? '继承上级' : $recommends['Content Article F']->ir_rule . '<br/>' . $recommends['Content Article F']->ir_keyword; ?>
</div>
</div>
</div>
<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-heading">Content Article G <a
href="javascript:void(0);"
onclick="show_bind_info(<?php echo $information->is_id; ?>,'Content Article G')"
> <span
class="pull-right glyphicon glyphicon-cog"></span></a></div>
<div class="panel-body">
<?php echo empty($recommends['Content Article G']) ? '继承上级' : $recommends['Content Article G']->ir_rule . '<br/>' . $recommends['Content Article G']->ir_keyword; ?>
</div>
</div>
</div>
<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-heading">Content Article H <a
href="javascript:void(0);"
onclick="show_bind_info(<?php echo $information->is_id; ?>,'Content Article H')"
> <span
class="pull-right glyphicon glyphicon-cog"></span></a></div>
<div class="panel-body">
<?php echo empty($recommends['Content Article H']) ? '继承上级' : $recommends['Content Article H']->ir_rule . '<br/>' . $recommends['Content Article H']->ir_keyword; ?>
</div>
</div>
</div>
<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-heading">Content Article I <a
href="javascript:void(0);"
onclick="show_bind_info(<?php echo $information->is_id; ?>,'Content Article I')"
> <span
class="pull-right glyphicon glyphicon-cog"></span></a></div>
<div class="panel-body">
<?php echo empty($recommends['Content Article I']) ? '继承上级' : $recommends['Content Article I']->ir_rule . '<br/>' . $recommends['Content Article I']->ir_keyword; ?>
</div>
</div>
</div>
<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-heading">Content Article J <a
href="javascript:void(0);"
onclick="show_bind_info(<?php echo $information->is_id; ?>,'Content Article J')"
> <span
class="pull-right glyphicon glyphicon-cog"></span></a></div>
<div class="panel-body">
<?php echo empty($recommends['Content Article J']) ? '继承上级' : $recommends['Content Article J']->ir_rule . '<br/>' . $recommends['Content Article J']->ir_keyword; ?>
</div>
</div>
</div>
<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-heading">Content Article K <a
href="javascript:void(0);"
onclick="show_bind_info(<?php echo $information->is_id; ?>,'Content Article K')"
> <span
class="pull-right glyphicon glyphicon-cog"></span></a></div>
<div class="panel-body">
<?php echo empty($recommends['Content Article K']) ? '继承上级' : $recommends['Content Article K']->ir_rule . '<br/>' . $recommends['Content Article K']->ir_keyword; ?>
</div>
</div>
</div>
<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-heading">Content Article L <a
href="javascript:void(0);"
onclick="show_bind_info(<?php echo $information->is_id; ?>,'Content Article L')"
> <span
class="pull-right glyphicon glyphicon-cog"></span></a></div>
<div class="panel-body">
<?php echo empty($recommends['Content Article L']) ? '继承上级' : $recommends['Content Article L']->ir_rule . '<br/>' . $recommends['Content Article L']->ir_keyword; ?>
</div>
</div>
</div>
</div>
<!-- 文中信息推荐 end -->
<hr/>
<!-- 文中线路推荐 begin -->
<p class="text-primary text-center">&lt;!--@Content-Recommends-Tour@--&gt;</p>
<div class="row">
<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-heading">Content Tour A<a
href="javascript:void(0);"
onclick="show_bind_info(<?php echo $information->is_id; ?>,'Content Tour A')"
> <span
class="pull-right glyphicon glyphicon-cog"></span></a></div>
<div class="panel-body">
<?php echo empty($recommends['Content Tour A']) ? '继承上级' : $recommends['Content Tour A']->ir_rule . '<br/>' . $recommends['Content Tour A']->ir_keyword; ?>
</div>
</div>
</div>
<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-heading">Content Tour B<a
href="javascript:void(0);"
onclick="show_bind_info(<?php echo $information->is_id; ?>,'Content Tour B')"
> <span
class="pull-right glyphicon glyphicon-cog"></span></a></div>
<div class="panel-body">
<?php echo empty($recommends['Content Tour B']) ? '继承上级' : $recommends['Content Tour B']->ir_rule . '<br/>' . $recommends['Content Tour B']->ir_keyword; ?>
</div>
</div>
</div>
<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-heading">Content Tour C<a
href="javascript:void(0);"
onclick="show_bind_info(<?php echo $information->is_id; ?>,'Content Tour C')"
> <span
class="pull-right glyphicon glyphicon-cog"></span></a></div>
<div class="panel-body">
<?php echo empty($recommends['Content Tour C']) ? '继承上级' : $recommends['Content Tour C']->ir_rule . '<br/>' . $recommends['Content Tour C']->ir_keyword; ?>
</div>
</div>
</div>
<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-heading">Content Tour D<a
href="javascript:void(0);"
onclick="show_bind_info(<?php echo $information->is_id; ?>,'Content Tour D')">
<span class="pull-right glyphicon glyphicon-cog"></span></a></div>
<div class="panel-body">
<?php echo empty($recommends['Content Tour D']) ? '继承上级' : $recommends['Content Tour D']->ir_rule . '<br/>' . $recommends['Content Tour D']->ir_keyword; ?>
</div>
</div>
</div>
<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-heading">Content Tour E<a
href="javascript:void(0);"
onclick="show_bind_info(<?php echo $information->is_id; ?>,'Content Tour E')"
> <span
class="pull-right glyphicon glyphicon-cog"></span></a></div>
<div class="panel-body">
<?php echo empty($recommends['Content Tour E']) ? '继承上级' : $recommends['Content Tour E']->ir_rule . '<br/>' . $recommends['Content Tour E']->ir_keyword; ?>
</div>
</div>
</div>
<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-heading">Content Tour F<a
href="javascript:void(0);"
onclick="show_bind_info(<?php echo $information->is_id; ?>,'Content Tour F')"
> <span
class="pull-right glyphicon glyphicon-cog"></span></a></div>
<div class="panel-body">
<?php echo empty($recommends['Content Tour F']) ? '继承上级' : $recommends['Content Tour F']->ir_rule . '<br/>' . $recommends['Content Tour F']->ir_keyword; ?>
</div>
</div>
</div>
<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-heading">Content Tour G<a
href="javascript:void(0);"
onclick="show_bind_info(<?php echo $information->is_id; ?>,'Content Tour G')"
> <span
class="pull-right glyphicon glyphicon-cog"></span></a></div>
<div class="panel-body">
<?php echo empty($recommends['Content Tour G']) ? '继承上级' : $recommends['Content Tour G']->ir_rule . '<br/>' . $recommends['Content Tour G']->ir_keyword; ?>
</div>
</div>
</div>
<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-heading">Content Tour H<a
href="javascript:void(0);"
onclick="show_bind_info(<?php echo $information->is_id; ?>,'Content Tour H')">
<span class="pull-right glyphicon glyphicon-cog"></span></a></div>
<div class="panel-body">
<?php echo empty($recommends['Content Tour H']) ? '继承上级' : $recommends['Content Tour H']->ir_rule . '<br/>' . $recommends['Content Tour H']->ir_keyword; ?>
</div>
</div>
</div>
<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-heading">Content Tour I<a
href="javascript:void(0);"
onclick="show_bind_info(<?php echo $information->is_id; ?>,'Content Tour I')">
<span class="pull-right glyphicon glyphicon-cog"></span></a></div>
<div class="panel-body">
<?php echo empty($recommends['Content Tour I']) ? '继承上级' : $recommends['Content Tour I']->ir_rule . '<br/>' . $recommends['Content Tour I']->ir_keyword; ?>
</div>
</div>
</div>
<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-heading">Content Tour J<a
href="javascript:void(0);"
onclick="show_bind_info(<?php echo $information->is_id; ?>,'Content Tour J')">
<span class="pull-right glyphicon glyphicon-cog"></span></a></div>
<div class="panel-body">
<?php echo empty($recommends['Content Tour J']) ? '继承上级' : $recommends['Content Tour J']->ir_rule . '<br/>' . $recommends['Content Tour J']->ir_keyword; ?>
</div>
</div>
</div>
<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-heading">Content Tour K<a
href="javascript:void(0);"
onclick="show_bind_info(<?php echo $information->is_id; ?>,'Content Tour K')">
<span class="pull-right glyphicon glyphicon-cog"></span></a></div>
<div class="panel-body">
<?php echo empty($recommends['Content Tour K']) ? '继承上级' : $recommends['Content Tour K']->ir_rule . '<br/>' . $recommends['Content Tour K']->ir_keyword; ?>
</div>
</div>
</div>
<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-heading">Content Tour L<a
href="javascript:void(0);"
onclick="show_bind_info(<?php echo $information->is_id; ?>,'Content Tour L')">
<span class="pull-right glyphicon glyphicon-cog"></span></a></div>
<div class="panel-body">
<?php echo empty($recommends['Content Tour L']) ? '继承上级' : $recommends['Content Tour L']->ir_rule . '<br/>' . $recommends['Content Tour L']->ir_keyword; ?>
</div>
</div>
</div>
</div>
<!-- 文中线路推荐 end -->
</div>
</div>
</div>
<div class="col-md-8">
<div class="panel panel-default">
<div class="panel-heading">右侧广告-顶<a
href="javascript:void(0);"
onclick="show_bind_info(<?php echo $information->is_id; ?>,'Tips Right TOP')"
> <span
class="pull-right glyphicon glyphicon-cog"></span></a></div>
<div class="panel-body">
<?php echo empty($recommends['Tips Right TOP']) ? '继承上级' : $recommends['Tips Right TOP']->ir_rule; ?>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">右侧广告<a
href="javascript:void(0);"
onclick="show_bind_info(<?php echo $information->is_id; ?>,'Tips Right')"
> <span
class="pull-right glyphicon glyphicon-cog"></span></a></div>
<div class="panel-body">
<?php echo empty($recommends['Tips Right']) ? '继承上级' : $recommends['Tips Right']->ir_rule; ?>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">右侧列表广告 A</div>
<div class="panel-body">
<ol>
<?php for ($i=1; $i<=12; $i++) { ?>
<li>
<a
href="javascript:void(0);"
onclick="show_bind_info(<?php echo $information->is_id; ?>,'List Tips Right A_<?php echo $i ?>')"
>
List Tips Right A_<?php echo $i ?> <?php echo empty($recommends['List Tips Right A_'.$i]) ? '继承上级' : $recommends['List Tips Right A_'.$i]->ir_rule; ?>
</a>
</li>
<?php } ?>
</ol>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">右侧列表广告 B</div>
<div class="panel-body">
<ol>
<?php for ($i=1; $i<=12; $i++) { ?>
<li>
<a
href="javascript:void(0);"
onclick="show_bind_info(<?php echo $information->is_id; ?>,'List Tips Right B_<?php echo $i ?>')"
>
List Tips Right B_<?php echo $i ?> <?php echo empty($recommends['List Tips Right B_'.$i]) ? '继承上级' : $recommends['List Tips Right B_'.$i]->ir_rule; ?>
</a>
</li>
<?php } ?>
</ol>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">右侧列表广告 C</div>
<div class="panel-body">
<ol>
<?php for ($i=1; $i<=12; $i++) { ?>
<li>
<a
href="javascript:void(0);"
onclick="show_bind_info(<?php echo $information->is_id; ?>,'List Tips Right C_<?php echo $i ?>')"
>
List Tips Right C_<?php echo $i ?> <?php echo empty($recommends['List Tips Right C_'.$i]) ? '继承上级' : $recommends['List Tips Right C_'.$i]->ir_rule; ?>
</a>
</li>
<?php } ?>
</ol>
</div>
</div>
</div>
</div>
<!-- 信息推荐 begin -->
<hr/>
<div class="row">
<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-heading">Article A <a
href="javascript:void(0);"
onclick="show_bind_info(<?php echo $information->is_id; ?>,'Article A')"
> <span
class="pull-right glyphicon glyphicon-cog"></span></a></div>
<div class="panel-body">
<?php echo empty($recommends['Article A']) ? '继承上级' : $recommends['Article A']->ir_rule . '<br/>' . $recommends['Article A']->ir_keyword; ?>
</div>
</div>
</div>
<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-heading">Article B<a
href="javascript:void(0);"
onclick="show_bind_info(<?php echo $information->is_id; ?>,'Article B')"
> <span
class="pull-right glyphicon glyphicon-cog"></span></a></div>
<div class="panel-body">
<?php echo empty($recommends['Article B']) ? '继承上级' : $recommends['Article B']->ir_rule . '<br/>' . $recommends['Article B']->ir_keyword; ?>
</div>
</div>
</div>
<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-heading">Article C<a
href="javascript:void(0);"
onclick="show_bind_info(<?php echo $information->is_id; ?>,'Article C')"
> <span
class="pull-right glyphicon glyphicon-cog"></span></a></div>
<div class="panel-body">
<?php echo empty($recommends['Article C']) ? '继承上级' : $recommends['Article C']->ir_rule . '<br/>' . $recommends['Article C']->ir_keyword; ?>
</div>
</div>
</div>
<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-heading">Article D<a
href="javascript:void(0);"
onclick="show_bind_info(<?php echo $information->is_id; ?>,'Article D')"
> <span
class="pull-right glyphicon glyphicon-cog"></span></a></div>
<div class="panel-body">
<?php echo empty($recommends['Article D']) ? '继承上级' : $recommends['Article D']->ir_rule . '<br/>' . $recommends['Article D']->ir_keyword; ?>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-heading">Article E <a
href="javascript:void(0);"
onclick="show_bind_info(<?php echo $information->is_id; ?>,'Article E')"
> <span
class="pull-right glyphicon glyphicon-cog"></span></a></div>
<div class="panel-body">
<?php echo empty($recommends['Article E']) ? '继承上级' : $recommends['Article E']->ir_rule . '<br/>' . $recommends['Article E']->ir_keyword; ?>
</div>
</div>
</div>
<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-heading">Article F<a
href="javascript:void(0);"
onclick="show_bind_info(<?php echo $information->is_id; ?>,'Article F')"
> <span
class="pull-right glyphicon glyphicon-cog"></span></a></div>
<div class="panel-body">
<?php echo empty($recommends['Article F']) ? '继承上级' : $recommends['Article F']->ir_rule . '<br/>' . $recommends['Article F']->ir_keyword; ?>
</div>
</div>
</div>
<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-heading">Article G<a
href="javascript:void(0);"
onclick="show_bind_info(<?php echo $information->is_id; ?>,'Article G')"
> <span
class="pull-right glyphicon glyphicon-cog"></span></a></div>
<div class="panel-body">
<?php echo empty($recommends['Article G']) ? '继承上级' : $recommends['Article G']->ir_rule . '<br/>' . $recommends['Article G']->ir_keyword; ?>
</div>
</div>
</div>
<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-heading">Article H<a
href="javascript:void(0);"
onclick="show_bind_info(<?php echo $information->is_id; ?>,'Article H')"
> <span
class="pull-right glyphicon glyphicon-cog"></span></a></div>
<div class="panel-body">
<?php echo empty($recommends['Article H']) ? '继承上级' : $recommends['Article H']->ir_rule . '<br/>' . $recommends['Article H']->ir_keyword; ?>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-heading">Article I<a
href="javascript:void(0);"
onclick="show_bind_info(<?php echo $information->is_id; ?>,'Article I')"
> <span
class="pull-right glyphicon glyphicon-cog"></span></a></div>
<div class="panel-body">
<?php echo empty($recommends['Article I']) ? '继承上级' : $recommends['Article I']->ir_rule . '<br/>' . $recommends['Article I']->ir_keyword; ?>
</div>
</div>
</div>
<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-heading">Article J<a
href="javascript:void(0);"
onclick="show_bind_info(<?php echo $information->is_id; ?>,'Article J')"
> <span
class="pull-right glyphicon glyphicon-cog"></span></a></div>
<div class="panel-body">
<?php echo empty($recommends['Article J']) ? '继承上级' : $recommends['Article J']->ir_rule . '<br/>' . $recommends['Article J']->ir_keyword; ?>
</div>
</div>
</div>
<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-heading">Article K<a
href="javascript:void(0);"
onclick="show_bind_info(<?php echo $information->is_id; ?>,'Article K')"
> <span
class="pull-right glyphicon glyphicon-cog"></span></a></div>
<div class="panel-body">
<?php echo empty($recommends['Article K']) ? '继承上级' : $recommends['Article K']->ir_rule . '<br/>' . $recommends['Article K']->ir_keyword; ?>
</div>
</div>
</div>
<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-heading">Article L<a
href="javascript:void(0);"
onclick="show_bind_info(<?php echo $information->is_id; ?>,'Article L')"
> <span
class="pull-right glyphicon glyphicon-cog"></span></a></div>
<div class="panel-body">
<?php echo empty($recommends['Article L']) ? '继承上级' : $recommends['Article L']->ir_rule . '<br/>' . $recommends['Article L']->ir_keyword; ?>
</div>
</div>
</div>
</div>
<!-- 信息推荐 end -->
<hr/>
<!-- 线路推荐 begin -->
<div class="row">
<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-heading">Tour A<a
href="javascript:void(0);"
onclick="show_bind_info(<?php echo $information->is_id; ?>,'Tour A')"
> <span
class="pull-right glyphicon glyphicon-cog"></span></a></div>
<div class="panel-body">
<?php echo empty($recommends['Tour A']) ? '继承上级' : $recommends['Tour A']->ir_rule . '<br/>' . $recommends['Tour A']->ir_keyword; ?>
</div>
</div>
</div>
<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-heading">Tour B<a
href="javascript:void(0);"
onclick="show_bind_info(<?php echo $information->is_id; ?>,'Tour B')"
> <span
class="pull-right glyphicon glyphicon-cog"></span></a></div>
<div class="panel-body">
<?php echo empty($recommends['Tour B']) ? '继承上级' : $recommends['Tour B']->ir_rule . '<br/>' . $recommends['Tour B']->ir_keyword; ?>
</div>
</div>
</div>
<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-heading">Tour C<a
href="javascript:void(0);"
onclick="show_bind_info(<?php echo $information->is_id; ?>,'Tour C')"
> <span
class="pull-right glyphicon glyphicon-cog"></span></a></div>
<div class="panel-body">
<?php echo empty($recommends['Tour C']) ? '继承上级' : $recommends['Tour C']->ir_rule . '<br/>' . $recommends['Tour C']->ir_keyword; ?>
</div>
</div>
</div>
<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-heading">Tour D<a
href="javascript:void(0);"
onclick="show_bind_info(<?php echo $information->is_id; ?>,'Tour D')">
<span class="pull-right glyphicon glyphicon-cog"></span></a></div>
<div class="panel-body">
<?php echo empty($recommends['Tour D']) ? '继承上级' : $recommends['Tour D']->ir_rule . '<br/>' . $recommends['Tour D']->ir_keyword; ?>
</div>
</div>
</div>
<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-heading">Tour E<a
href="javascript:void(0);"
onclick="show_bind_info(<?php echo $information->is_id; ?>,'Tour E')"
> <span
class="pull-right glyphicon glyphicon-cog"></span></a></div>
<div class="panel-body">
<?php echo empty($recommends['Tour E']) ? '继承上级' : $recommends['Tour E']->ir_rule . '<br/>' . $recommends['Tour E']->ir_keyword; ?>
</div>
</div>
</div>
<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-heading">Tour F<a
href="javascript:void(0);"
onclick="show_bind_info(<?php echo $information->is_id; ?>,'Tour F')"
> <span
class="pull-right glyphicon glyphicon-cog"></span></a></div>
<div class="panel-body">
<?php echo empty($recommends['Tour F']) ? '继承上级' : $recommends['Tour F']->ir_rule . '<br/>' . $recommends['Tour F']->ir_keyword; ?>
</div>
</div>
</div>
<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-heading">Tour G<a
href="javascript:void(0);"
onclick="show_bind_info(<?php echo $information->is_id; ?>,'Tour G')"
> <span
class="pull-right glyphicon glyphicon-cog"></span></a></div>
<div class="panel-body">
<?php echo empty($recommends['Tour G']) ? '继承上级' : $recommends['Tour G']->ir_rule . '<br/>' . $recommends['Tour G']->ir_keyword; ?>
</div>
</div>
</div>
<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-heading">Tour H<a
href="javascript:void(0);"
onclick="show_bind_info(<?php echo $information->is_id; ?>,'Tour H')">
<span class="pull-right glyphicon glyphicon-cog"></span></a></div>
<div class="panel-body">
<?php echo empty($recommends['Tour H']) ? '继承上级' : $recommends['Tour H']->ir_rule . '<br/>' . $recommends['Tour H']->ir_keyword; ?>
</div>
</div>
</div>
<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-heading">Tour I<a
href="javascript:void(0);"
onclick="show_bind_info(<?php echo $information->is_id; ?>,'Tour I')">
<span class="pull-right glyphicon glyphicon-cog"></span></a></div>
<div class="panel-body">
<?php echo empty($recommends['Tour I']) ? '继承上级' : $recommends['Tour I']->ir_rule . '<br/>' . $recommends['Tour I']->ir_keyword; ?>
</div>
</div>
</div>
<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-heading">Tour J<a
href="javascript:void(0);"
onclick="show_bind_info(<?php echo $information->is_id; ?>,'Tour J')">
<span class="pull-right glyphicon glyphicon-cog"></span></a></div>
<div class="panel-body">
<?php echo empty($recommends['Tour J']) ? '继承上级' : $recommends['Tour J']->ir_rule . '<br/>' . $recommends['Tour J']->ir_keyword; ?>
</div>
</div>
</div>
<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-heading">Tour K<a
href="javascript:void(0);"
onclick="show_bind_info(<?php echo $information->is_id; ?>,'Tour K')">
<span class="pull-right glyphicon glyphicon-cog"></span></a></div>
<div class="panel-body">
<?php echo empty($recommends['Tour K']) ? '继承上级' : $recommends['Tour K']->ir_rule . '<br/>' . $recommends['Tour K']->ir_keyword; ?>
</div>
</div>
</div>
<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-heading">Tour L<a
href="javascript:void(0);"
onclick="show_bind_info(<?php echo $information->is_id; ?>,'Tour L')">
<span class="pull-right glyphicon glyphicon-cog"></span></a></div>
<div class="panel-body">
<?php echo empty($recommends['Tour L']) ? '继承上级' : $recommends['Tour L']->ir_rule . '<br/>' . $recommends['Tour L']->ir_keyword; ?>
</div>
</div>
</div>
</div>
<!-- 线路推荐 end -->
</div>
<div class="col-md-4">
</div>
</div>
</div>
<!-- 弹出设置框 begin -->
<div class="modal fade" id="bind_modal_box" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content" id="bind_modal_box_content">
</div>
</div>
</div>
<script>
/*流程说明
点击显示窗口清空modal-content内容然后请求API获取信息推荐设置的HTML来填充modal-content
*/
function show_bind_info(ir_is_id, ir_name) {
var url = '<?php echo site_url('thirdparty/recommend/index/bind_info/') ?>';
$('#bind_modal_box_content').html('');
$.ajax({
type: "post",
dataType: "json",
url: url,
data: {
'ir_is_id': ir_is_id,
'ir_name': ir_name
},
success: function (data, textStatus) {
//console.log(data);
$('#bind_modal_box_content').html(data);
$('#bind_modal_box').modal({'backdrop': 'static', 'show': true});
},
error: function () {
$.modaldialog.error('\u53d1\u751f\u9519\u8bef\uff0c\u8bf7\u8054\u7cfbYCC');
}
});
}
function check_is_id_info() {
var ir_pointer_is_id = $('#ir_pointer_is_id').val();
var url = '<?php echo site_url('thirdparty/recommend/index/check_is_id_info/') ?>';
$.ajax({
type: "post",
dataType: "json",
url: url,
data: {
'ir_pointer_is_id': ir_pointer_is_id,
},
success: function (data, textStatus) {
$('#pointer_check_info').val(data);
},
error: function () {
$.modaldialog.error('\u53d1\u751f\u9519\u8bef\uff0c\u8bf7\u8054\u7cfbYCC');
}
});
}
</script>
<!-- 弹出设置框 end -->

@ -0,0 +1,88 @@
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span
aria-hidden="true">&times;</span>
</button>
<h4 class="modal-title"><?php echo $infoRecommend->ir_name; ?></h4>
</div>
<div class="modal-body">
<form class="form-horizontal" action="<?php echo site_url('thirdparty/recommend/index/bind_info_save') ?>" method="post" id="bind_info_form" name="bind_info_form">
<div class="row">
<div class="col-md-6">
<label> <input type="radio" name="ir_rule" id="ir_rule_parent" <?php echo $infoRecommend->ir_rule=='rule_parent'?'checked':''; ?>
value="rule_parent">继承上级规则</label>
</div>
<div class="col-md-6">
<label> <input type="radio" name="ir_rule" id="ir_rule_same_node_keyword" <?php echo $infoRecommend->ir_rule=='rule_same_node_keyword'?'checked':''; ?>
value="rule_same_node_keyword">同节点关键词</label>
</div>
<div class="col-md-6">
<label> <input type="radio" name="ir_rule" id="ir_rule_same_url_keyword" <?php echo $infoRecommend->ir_rule=='rule_same_url_keyword'?'checked':''; ?>
value="rule_same_url_keyword">
同URL关键词</label>
</div>
<div class="col-md-6">
<label> <input type="radio" name="ir_rule" id="ir_rule_same_node_random" <?php echo $infoRecommend->ir_rule=='rule_same_node_random'?'checked':''; ?>
value="rule_same_node_random">
同节点随机</label>
</div>
<div class="col-md-6">
<label> <input type="radio" name="ir_rule" id="ir_rule_this_node_random" <?php echo $infoRecommend->ir_rule=='rule_this_node_random'?'checked':''; ?>
value="rule_this_node_random">
指定节点随机</label>
</div>
<div class="col-md-6">
<label> <input type="radio" name="ir_rule" id="ir_rule_range_random" value="rule_range_random" <?php echo $infoRecommend->ir_rule=='rule_range_random'?'checked':''; ?>>
以下范围内随机</label>
</div>
<div class="col-md-6">
<label> <input type="radio" name="ir_rule" id="ir_rule_show_tips" <?php echo $infoRecommend->ir_rule=='rule_show_tips'?'checked':''; ?>
value="rule_show_tips">显示广告</label>
</div>
<div class="col-md-6">
<label> <input type="radio" name="ir_rule" id="ir_rule_no_show" <?php echo $infoRecommend->ir_rule=='rule_no_show'?'checked':''; ?>
value="rule_no_show">不显示</label>
</div>
</div>
<br/>
<div class="form-group">
<label for="ir_keyword" class="col-md-5 control-label">H1包含关键词: </label>
<div class="col-md-19">
<input type="text" class="form-control" name="ir_keyword" id="ir_keyword" placeholder="多个关键词以 , 分隔" value="<?php echo $infoRecommend->ir_keyword; ?>">
</div>
</div>
<div class="form-group">
<label for="ir_pointer_is_id" class="col-md-5 control-label">节点ID: </label>
<div class="col-md-19">
<div class="input-group">
<input type="text" class="form-control" id="ir_pointer_is_id" name="ir_pointer_is_id" placeholder="is_id" value="<?php echo $infoRecommend->ir_pointer_is_id; ?>">
<div class="input-group-addon"><a href="javascript:void(0);" onclick="check_is_id_info()">检查</a></div>
<input type="text" class="form-control" disabled id="pointer_check_info" placeholder="节点ID对应的名称">
</div>
</div>
</div>
<div class="form-group">
<label for="ir_keyword" class="col-md-5 control-label">广告列表: </label>
<div class="col-md-12">
<select class="form-control" id="ir_pointer_it_id" name="ir_pointer_it_id">
<?php foreach ($tipsList as $item){ ?>
<option value="<?php echo $item->it_id; ?>" <?php echo $infoRecommend->ir_pointer_it_id==$item->it_id?'selected':''; ?> ><?php echo $item->it_title; ?></option>
<?php } ?>
</select>
</div>
</div>
<textarea class="form-control" rows="6" id="ir_urls" name="ir_urls" placeholder="备选URL列表和随机范围URL列表每行一个"><?php echo $infoRecommend->ir_urls; ?></textarea>
<input type="hidden" name="ir_id" id="ir_id" value="<?php echo $infoRecommend->ir_id; ?>" />
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
<button type="button" class="btn btn-primary" onclick="submitForm('bind_info_form');">保存</button>
</div>

@ -0,0 +1,56 @@
<h1>请修改图片尺寸/ 改完请删除此标题 </h1>
<h3>文中tour广告代码</h3>
<div class="info_ad"><a href="/japan/tours/classic-japan" rel="nofollow" id="infopage-"><img alt="11-Day Classic Japan Tour" class="img-responsive" src="https://data.asiahighlights.com/image/travel-guide/japan/shirakawa-go-village.jpg" /> </a>
<div class="info_ad_content">
<div class="info_ad_name"><a href="/japan/tours/classic-japan" id="infopage-"><strong>11-Day Classic Japan Tour</strong> Tokyo - Takayama - Shirakawa - Kanazawa - Kyoto </a></div>
<div class="info_ad_button"><a href="/japan/tours/classic-japan" rel="nofollow" id="infopage-"><i aria-hidden="true" class="fa fa-angle-right"></i></a></div>
</div>
</div>
<h3>CH 完整的右侧广告代码:</h3>
<div class="expatstour" style="margin: 30px 0; width:auto;">
<div class="tour_img_title"><a href="/tour/zhangjiajietour/hun-3/" rel="nofollow"><img alt="most classic china tour" class="img-responsive" height="415" src="https://images.chinahighlights.com/allpicture/2015/03/e47d1ba34f204510962a6c89_cut_600x550_251.jpg" width="600" /><span class="citytourname">Classic Wonders</span></a></div>
<div class="tourdetailinfo"><span class="expatstourname"><a href="/tour/zhangjiajietour/hun-3/">11-Day Beijing Xi'an Guilin/Yangshuo Shanghai Tour</a></span>
<div class="tourbutton"><a href="/tour/zhangjiajietour/hun-3/" rel="nofollow">View More</a></div>
</div>
</div>
<h3>AH GH 线路卡片 代码:</h3>
<div class="ah_index_tour">
<a href="/india/tours/diwali-festival" rel="nofollow"><img alt="8-Day Diwali Festival in India Golden Triangle Tour 2024" class="img-responsive" src="https://images.asiahighlights.com/allpicture/2020/01/1ce7cfa94db040dcaa147143_cut_2560x800_296.jpg" ><img alt="" class="img-responsive tour_list_map" src="https://data.asiahighlights.com/image/tour/india/map/ah-in-70-map.jpg"></a>
<div class="ah_index_tour_bg">
<h3><a href="/india/tours/diwali-festival">8-Day Diwali Festival in India Golden Triangle Tour 2024</a></h3>
<div class="tour_list_subtitle">Discover Colorful India during the Diwali Festival</div>
<div class="ah_index_tour_button">
<div class="tour_list_price"><strong>Private tour from:</strong> US$1,719</div>
<a href="/india/tours/diwali-festival" rel="nofollow">View More </a></div>
</div>
</div>
<h3>CH 线路卡片 代码:</h3>
<div class="expatstour">
<div class="tour_img_title"><a href="/tour/cht-ft-02/" rel="nofollow"><img alt="China family travel" class="img-responsive" src="https://images.chinahighlights.com/allpicture/2021/10/5405ded6c1a642e8a04f1b45_cut_600x550_251.jpg" ><span class="citytourname">Family Happiness</span></a></div>
<div class="tourdetailinfo"><span class="expatstourname"><a href="/tour/cht-ft-02/" rel="nofollow">11-Day Beijing - Xi'an - Guilin - Shanghai Family Tour</a></span>
<ul class="infolist">
<li>Top <strong>family itinerary</strong></li>
<li>Experience China's countryside life together</li>
</ul>
<div class="tourbutton"><a href="/tour/cht-ft-02/" rel="nofollow">View More</a></div>
</div>
</div>

@ -0,0 +1,90 @@
<script type="text/javascript" src="/wysiwyg/ckeditor.js"></script>
<script language="javascript">
var editor;
window.onload = function () {
editor = CKEDITOR.replace("it_content", {
width: '100%',
height: '560px',
readOnly: false,
filebrowserBrowseUrl: '/wysiwyg/ckfinder/ckfinder.php?sitecode=ch',
filebrowserUploadUrl: '/wysiwyg/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=image',
contentsCss: 'https://proxy-data.chinahighlights.com/css/mobile-first.css'
});
};
$(function () {
$("#it_expires").datepicker({
showButtonPanel: true,
changeMonth:true,
changeYear:true
});
})
</script>
<div class="container-fluid">
<div class="row">
<div class="col-md-4">
</div>
<div class="col-md-16">
<form action="<?php echo site_url('thirdparty/recommend/tips/save') ?>"
method="post" id="tips_info_form" name="tips_info_form">
<div class="row">
<div class="col-md-10">
<div class="form-group">
<label for="it_title" ">广告标题</label>
<input type="text" class="form-control" id="it_title" name="it_title"
value="<?php echo $infoTip->it_title; ?>">
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label for="it_title" ">广告代码</label>
<input type="text" class="form-control" id="it_code" name="it_code" readonly
value="<!--@TIPS-<?php echo strtoupper($infoTip->it_sitecode).'-'.$infoTip->it_id; ?>@-->">
</div>
</div>
<div class="col-md-4">
<div class="form-group">
<label for="it_expires">过期时间</label>
<input type="text" class="form-control flatpickrEnable" id="it_expires" name="it_expires"
value="<?php echo date('m/d/Y', $infoTip->it_expires); ?>">
</div>
</div>
<div class="col-md-20">
<textarea class="form-control" rows="6" id="it_content" name="it_content"
placeholder="广告内容"><?php echo $infoTip->it_content; ?></textarea>
</div>
<div class="col-md-20">
<br/>
<a href="<?php echo site_url('thirdparty/recommend/tips/delete/' . $infoTip->it_id) ?>"
class="btn btn-danger pull-left">删除</a>
<button type="button" class="btn btn-primary pull-right"
onclick="editor.updateElement();submitForm('tips_info_form');">保存
</button>
</div>
</div>
<input type="hidden" name="it_id" id="it_id" value="<?php echo $infoTip->it_id; ?>"/>
</form>
</div>
<div class="col-md-4">
</div>
</div>
</div>
<br/>

@ -0,0 +1,97 @@
<div class="container-fluid">
<div class="row">
<div class="col-md-1">
</div>
<div class="col-md-9">
<h4>广告管理 <small><a href="<?php echo site_url('thirdparty/recommend/tips/add'); ?>">添加广告</a></small></h4>
<form id="searchForm" method="post" action="<?php echo site_url('thirdparty/recommend/index/search'); ?>" class="navbar-form navbar-left">
<div class="input-group">
<input type="text" class="form-control input-sm" name="keywords" id="keywords" value="<?php if (!empty($lastKeyword)) {echo $lastKeyword;} ?>" style="min-width:450px;">
<input type="hidden" name="byWhat" id="byWhatInput" >
</div>
<span class="input-group-btn">
<button class="btn btn-default btn-sm" id="searchByTitleBtn" type="button">搜索标题</button>
<button class="btn btn-default btn-sm" id="searchByLabelBtn" type="button">搜索标签</button>
<button class="btn btn-default btn-sm" id="searchByContentBtn" type="button">搜索内容</button>
</span>
</form>
<script>
var searchForm = document.getElementById('searchForm');
var searchByTitleBtn = document.getElementById('searchByTitleBtn');
var searchByLabelBtn = document.getElementById('searchByLabelBtn');
var searchByContentBtn = document.getElementById('searchByContentBtn');
var byWhatInput = document.getElementById('byWhatInput');
function submitSearch(byWhat) {
byWhatInput.value = byWhat;
searchForm.submit();
}
searchByTitleBtn.addEventListener('click', function(event) {
submitSearch('byTitle');
});
searchByLabelBtn.addEventListener('click', function(event) {
submitSearch('byLabel');
});
searchByContentBtn.addEventListener('click', function(event) {
submitSearch('byContent');
});
</script>
<table class="table table-striped">
<thead>
<tr>
<th class="col-md-2">#</th>
<th class="col-md-9">标题</th>
<th class="col-md-9">标签</th>
<th class="col-md-4">过期时间</th>
</tr>
</thead>
<tbody>
<?php foreach ($tipsList as $key=>$item){ ?>
<tr class="<?php if($item->it_expires<time()){echo 'danger';} ?>">
<td><?php echo ++$key; ?></td>
<td>
<a href="<?php echo site_url('thirdparty/recommend/tips/edit/'.$item->it_id); ?>"><?php echo $item->it_title; ?></a>
</td>
<td><?php echo htmlspecialchars($item->it_code); ?></td>
<td><?php echo date('m/d/Y', $item->it_expires); ?></td>
</tr>
<?php } ?>
</tbody>
</table>
</div>
<div class="col-md-14">
<h4>广告和信息推荐绑定设置</h4>
<?php foreach ($groupList as $item) {
if ($item->is_level == 0) { ?>
<div class="row">
<div class="col-md-24">
<div class="panel panel-default">
<div class="panel-heading"><a
href="<?php echo site_url('thirdparty/recommend/index/bind/' . $item->is_id) ?>"> <?php echo $item->ic_title; ?></a>
</div>
<div class="panel-body">
<ul class="list-inline">
<?php if ($item->is_level == 0) {
foreach ($groupList as $item_child) {
if ($item_child->is_parent_id == $item->is_id) {
echo ' <li><a href="' . site_url('thirdparty/recommend/index/bind/' . $item_child->is_id) . '">' . $item_child->ic_url_title . '</a></li> ';
}
}
} ?>
</ul>
</div>
</div>
</div>
</div>
<?php }
} ?>
</div>
</div>
</div>

@ -52,7 +52,7 @@ class search extends CI_Controller{
//我们的接口相应时间
$responsive_time = $end_time - $this->start_time;
log_message('error','TRAINSPEED|请求url:'.$this->url.'|聚合相应时间:'.$api_responsive_time.'s|接口运行时间:'.$responsive_time.'s|缓存:'.$this->cache.'|+7天:'.$this->seveth);
//log_message('error','TRAINSPEED|请求url:'.$this->url.'|聚合相应时间:'.$api_responsive_time.'s|接口运行时间:'.$responsive_time.'s|缓存:'.$this->cache.'|+7天:'.$this->seveth);
print_r($trainjson);
}
@ -355,6 +355,8 @@ class search extends CI_Controller{
print_r(json_encode($obj));
}
//获取国际火车出发规则
public function get_station_rules(){
//获取所有站点的列表
@ -426,6 +428,12 @@ class search extends CI_Controller{
print_r(json_encode($return_json));
}
/**获取价格信息 */
public function get_priceinfo($train_no){
$obj = $this->BIZ_intel_train_model->get_priceinfo($train_no);
print_r(json_encode($obj));
}
//获取价格(废弃)
/*
@ -678,6 +686,8 @@ class search extends CI_Controller{
// echo $this->RUB_Rate . '<br/>';
return $this->USD_Rate;
}
}

@ -0,0 +1,292 @@
<?php
if (!defined('BASEPATH'))
exit('No direct script access allowed');
class searchnew extends CI_Controller{
public function __construct(){
parent::__construct();
$this->load->model("BIZ_train_model");//加载模型
}
//查询聚合余票接口,对返回的数据进行处理
public function index($train_date=null,$fromStation=null,$toStation=null){
//定义一些变量
$cache = 'no';
$flag = true;
$juheTrainInfo = '';
set_time_limit(0);
//判断数据是否合法
if(!$train_date || !$fromStation || !$toStation){
exit('传参不能为空!');
}else{
if(strlen($fromStation) != 3){
exit('fromStation:参数错误!');
}
if(strlen($toStation) != 3){
exit('toStation:参数错误!');
}
$this->train_date = $train_date;
$now_time = time();
$differ_time = (strtotime($train_date) - $now_time) / 86400;
if($differ_time <= 29){
//调用聚合搜索模块
$juheTrainInfo = $this->juheSearch($train_date,$fromStation,$toStation);
if(empty($juheTrainInfo)){
$flag = 'error';
}
}else{
$flag = 'cache';
}
//调用数据处理模块。
$returnJson = $this->dataOperate($juheTrainInfo,$flag,$fromStation,$toStation);
//调用拼接处理模块
$trainjson = $this->createTrainJson($returnJson);
print_r($trainjson);
die();
}
}
//搜索模块
function juheSearch($train_date,$fromStation,$toStation){
$url = 'http://139.129.246.118:12309/trainTickets/ticketsAvailable?key='.JUHE_TRAIN_API_KEY.'&train_date='.$train_date.'&from_station='.$fromStation.'&to_station='.$toStation;
$this->url = $url;
$juheTrainInfo = $this->get_http($url);
if($this->validateJuhe($juheTrainInfo)){
return $juheTrainInfo;
}else{
return null;
}
}
//缓存处理模块(包含缓存处理)
function dataOperate($trainInfo,$flag,$fromStation,$toStation){
if($flag == 'error'){
$research = $this->juheSearch($this->train_date,$fromStation,$toStation);
if($this->validateJuhe($research)){
$trainInfo = $research;
}else{
$flag = 'cache';
}
}
if($flag == 'cache'){
$cacheTrainInfo = $this->BIZ_train_model->get_train_info($fromStation,$toStation);
if(empty($cacheTrainInfo)){
return null;
}else{
$cache_time = $cacheTrainInfo->tpc_datetime;
$now_time = time();
$differ_time = ($now_time - strtotime($cache_time)) / 86400;
if($differ_time >= 7){
$this->delete_traincache($fromStation,$toStation);
$research = $this->juheSearch(strtotime('+7day'),$fromStation,$toStation);
if($this->validateJuhe($research)){
$trainInfo = $research;
}else{
return null;
}
}
}
}
$this->BIZ_train_model->addOrUpdate($fromStation,$toStation,$trainInfo);
return $trainInfo;
}
//字符串拼接模块
function createTrainJson($returnJson){
if(empty($returnJson)){
}else{
$return_data = new stdClass();
$return_data->data = new stdClass();
$return_data->httpstatus = 200;
//$return_data->reason = $reason;
//$return_data->cache = $cache;
$return_data->data->result = array();
$return_data->data->map = new stdClass();
$obj = array();
$i = 0;
$pricestr = '';
//print_r(json_decode($returnJson));
//die();
if(!empty(json_decode($returnJson)->result->list)){
foreach (json_decode($returnJson)->result->list as $value){
$obj[$value->from_station_code] = $value->from_station_name;
$obj[$value->to_station_code] = $value->to_station_name;
$seat_type = '';
if(isset($value->gjrw_price)){
if($value->gjrw_price > 0){
$gjrwPrice = $value->gjrw_price * 10;
$seat_type .= '"6":"'.$gjrwPrice.'","A6":"¥'.$value->gjrw_price.'",';
}
}
if(isset($value->qtxb_price)){
if($value->qtxb_price > 0){
$seat_type .= '"H":"¥'.$value->qtxb_price.'",';
}
}
if(isset($value->rw_price)){
if($value->rw_price > 0){
$rwPrice = $value->rw_price * 10;
$seat_type .= '"4":"'.$rwPrice.'","A4":"¥'.$value->rw_price.'",';
}
}
if(isset($value->rz_price)){
if($value->rz_price > 0){
$rzPrice = $value->rz_price * 10;
$seat_type .= '"2":"'.$rzPrice.'","A2":"¥'.$value->rz_price.'",';
}
}
if(isset($value->tdz_price)){
if($value->tdz_price > 0){
$seat_type .= '"P":"¥'.$value->tdz_price.'",';
}
}
if(isset($value->wz_price)){
if($value->wz_price > 0){
$wzPrice = $value->wz_price * 10;
$seat_type .= '"WZ":"¥'.$value->wz_price.'",';
}
}
if(isset($value->yw_price)){
if($value->yw_price > 0){
$ywPrice = $value->yw_price * 10;
$seat_type .= '"3":"'.$ywPrice.'","A3":"¥'.$value->yw_price.'",';
}
}
if(isset($value->yz_price)){
if($value->yz_price > 0){
$yzPrice = $value->yz_price * 10;
$seat_type .= '"1":"'.$yzPrice.'","A1":"¥'.$value->yz_price.'",';
}
}
if(isset($value->edz_price)){
if($value->edz_price > 0){
$seat_type .= '"O":"¥'.$value->edz_price.'",';
}
}
if(isset($value->ydz_price)){
if($value->ydz_price > 0){
$seat_type .= '"M":"¥'.$value->ydz_price.'",';
}
}
if(isset($value->swz_price)){
if($value->swz_price > 0){
$swzPrice = $value->swz_price * 10;
$seat_type .= '"9":"'.$swzPrice.'","A9":"¥'.$value->swz_price.'",';
}
}
if(isset($value->dw_price)){
if($value->dw_price > 0){
$seat_type .= '"F":"¥'.$value->dw_price.'",';
}
}
$pricestr = $seat_type.'"train_no":'.'"'.$value->train_no.'"';
//余票字符串
$return_data->data->result[$i] = '|预定|'.$value->train_no.'|'.$value->train_code.'|'.$value->from_station_name.'|'.$value->to_station_name.'|'.$value->from_station_code.'|'.$value->to_station_code.'|'.$value->start_time.'|'.$value->arrive_time.'|'.$value->run_time.'|'.$value->can_buy_now.'||'.$value->train_start_date.'||||||||'.$this->ticket_exchange($value->gjrw_num).'|'.$this->ticket_exchange($value->qtxb_num).'|'.$this->ticket_exchange($value->rw_num).'|'.$this->ticket_exchange($value->rz_num).'|'.$this->ticket_exchange($value->tdz_num).'|'.$this->ticket_exchange($value->wz_num).'||'.$this->ticket_exchange($value->yw_num).'|'.$this->ticket_exchange($value->yz_num).'|'.$this->ticket_exchange($value->edz_num).'|'.$this->ticket_exchange($value->ydz_num).'|'.$this->ticket_exchange($value->swz_num).'|'.$this->ticket_exchange($value->dw_num).'||';
$data = '{"validateMessagesShowId":"_validatorMessage","status":true,"httpstatus":200,"data":{'.$pricestr.'},"messages":[],"validateMessages":{}}';
$return_data->data->price[$i] = $data;
$i++;
}
}
$return_data->data->map = (object)$obj;
print_r($return_data);
}
}
//获取价格(废弃)
/*
fromStationCode出发站三字码
toStationCode:终点站三字码
trainCode:车次号
*/
public function get_price($fromStationCode=null,$toStationCode=null,$trainCode=null){
if(!$fromStationCode || !$toStationCode || !$trainCode){
exit('传参错误!');
}else{
$return_data = $this->BIZ_train_model->get_price($fromStationCode,$toStationCode,$trainCode);
if(!empty($return_data)){
print_r(json_decode($return_data->TPL_Price));
}else{
print_r('没有数据返回');
}
}
}
//验证聚合返回的信息是否正确
function validateJuhe($trainInfo){
if(!empty($trainInfo) && !empty(json_decode($trainInfo)->result)){
return true;
}else{
return false;
}
}
//余票转换
function ticket_exchange($num){
if(isset($this->cache)){
$time = strtotime($this->train_date) - time();
$day = $time / 86400;
if($day > 15){
return '有';
}else{
return $num;
}
}else{
if(is_numeric($num)){
if($num == 0){
return '无';
}elseif($num >= 99){
return '有';
}else{
return $num;
}
}else{
if($num == '--'){
return '';
}
}
}
}
//发送请求
function get_http($url, $data = '', $method = 'GET') {
$curl = curl_init(); // 启动一个CURL会话
curl_setopt($curl, CURLOPT_URL, $url); // 要访问的地址
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检查
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0); // 从证书中检查SSL加密算法是否存在
curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); // 模拟用户使用的浏览器
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // 使用自动跳转
curl_setopt($curl, CURLOPT_AUTOREFERER, 1); // 自动设置Referer
if ($method == 'POST' && !empty($data)) {
curl_setopt($curl, CURLOPT_POST, 1); // 发送一个常规的Post请求
curl_setopt($curl, CURLOPT_POSTFIELDS, $data); // Post提交的数据包
}
curl_setopt($curl, CURLOPT_TIMEOUT, 45); // 设置超时限制防止死循环
curl_setopt($curl, CURLOPT_HEADER, 0); // 显示返回的Header区域内容
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回
$tmpInfo = curl_exec($curl); // 执行操作
$errno = curl_errno($curl);
if ($errno !== 0) {
return false;
$error_message = $errno . ' ' . curl_error($curl); //记录错误日志
log_message('error', "third_party/train_app/index/get_http curl {$error_message}");
}
curl_close($curl); //关闭CURL会话
return $tmpInfo; //返回数据
}
}
?>

@ -120,7 +120,11 @@ class BIZ_intel_train_model extends CI_Model {
}
public function get_allstations(){
$sql = "SELECT * FROM TrainStation_intel where station_id != 1";
// $sql = "SELECT * FROM TrainStation_intel where station_id != 1";
//2022-4-20 zp 上面所有站点由于印度有8335个站点循环读取系统吃不消用下面的限制有车次的才显示。
$sql = "SELECT * FROM TrainStation_intel
inner join TrainSearch_intel on tsi_ToStation = station_id
where station_id <> 1";
$query = $this->HT->query($sql);
return $query->result();
}
@ -193,4 +197,12 @@ class BIZ_intel_train_model extends CI_Model {
$query = $this->HT->query($sql,array($station_id));
return $query->result();
}
//获取价格信息
function get_priceinfo($train_no){
$sql = "SELECT seatPriceInfo2 FROM trainPrice WHERE train_no = '{$train_no}'";
$query = $this->HT->query($sql);
return $query->row();
}
}

@ -19,6 +19,21 @@ define("DATAKEY","0dbf1652763c2289533e27437a971854");
//携程接口地址
define("JSONRETURN","http://m.ctrip.com/restapi/soa2/12976/json/");
//新携程接口顺途用的企业ID
define("COMPANYID","4003171843");
//新携程接口顺途用的Key
define("CTRIPKEY","hajkrtbc");
// //新携程接口顺途用的企业ID --- 测试用
// define("COMPANYID","1503141150");
// //新携程接口顺途用的Key ----- 测试用
// define("CTRIPKEY","hajkrtba");
//新携程接口(顺途)的地址
define("CTRIPURL","https://apiproxy.ctrip.com/apiproxy/soa2/19946");
//新携程接口(顺途)的订单号前缀
define("SHUNTU_ORDERUSER","HN");
//聚合火车订票API key
define("JUHE_TRAIN_API_KEY","79f03107b921ef31310bd40a1415c1cb");
@ -45,6 +60,15 @@ define("JUHE_TRAIN_EXPORT_API","http://op.juhe.cn/trainTickets/exportAccountChan
//http://op.juhe.cn/trainTickets/exportAccountChange?key=79f03107b921ef31310bd40a1415c1cb&since=2016-10-01 00:00&before=2016-10-30 00:00
// //澜海接口(测试)
// define("LANHAI_appId","3649601564");
// define("LANHAI_KEY","999c1DtJJ4pEbcxeEqJBKw==");
// define("LANHAI_URL","http://ctriptest.lhticket.com/");
//澜海接口(正式)
define("LANHAI_appId","9082253783");
define("LANHAI_KEY","YZ6yrAbv0Qn8CsZwHtZExA==");
define("LANHAI_URL","http://ctrip.lhticket.com/");
//订单状态说明
$config["train_order_status_msg"]=array(
@ -56,10 +80,13 @@ $config["train_order_status_msg"]=array(
"5"=>"出票失败",
"6"=>"线上退票处理中",
"7"=>"(改签)退票成功",
"8"=>"乘客退票失败",
"e"=>"数据错误,提交失败",
"9"=>"改签成功"
);
"8"=>"乘客退票失败",
"9"=>"改签成功",
"10"=>"退款(差价)",
"11"=>"订单退款",
"12"=>"订单取消"
);
//座次配对
$config["train_zw"]=array(
@ -74,7 +101,8 @@ $config["train_zw"]=array(
"1"=>"硬座",
"F"=>"动卧",
"YDW"=>"一等卧",
"EDW"=>"二等卧"
"EDW"=>"二等卧",
"WZ" =>"无座"
);
//数据库座次配对,包厢硬卧(5),无座(WZ),聚合没有
$config["db_train_zw"]=array(
@ -92,6 +120,7 @@ $config["db_train_zw"]=array(
"3"=>"3",
"2"=>"2",
"1"=>"1",
"13"=>"WZ",
"YDW"=>"YDW",
"EDW"=>"EDW"
);
@ -112,6 +141,31 @@ $config["train_passportty"]=array(
"G"=>"台湾通行证"
);
//顺途证件类型身份证传1、护照2、回乡证7、台胞证8、外国人永久居留身份证28、港澳台居民居住证32
$config["train_certificateType"]=array(
"2"=>"护照",
"1"=>"身份证",
"7"=>"回乡证",
"8"=>"台胞证",
"28"=>"外国人永久居留身份证2",
"32"=>"港澳台居民居住证"
);
/*退款类型
1差额退款原票出票及改签出票产生的儿童、卧铺差额、抢票差额退款。
推送时间接近与其对应的出票通知、改签通知同步推送
2核销退款退票退款改签后的原票退款 推送时间见下面说明
3异常退款人工操作的异常订单退款 ,人工审核后推送
5无票退款出票失败、改签失败产生的退款和购票失败通知几乎同步推送
*/
$config["train_refundType"]=array(
"1"=>"差额退款",
"2"=>"核销退款",
"3"=>"异常退款",
"5"=>"无票退款"
);
//黑名单用户
$config['black_list'] = array('209582910','539152642','506157109','E66735489','E66735492','E80377215','G23001338','E95287649','345276546','PA4286015','G09382769','G26113116','G25996274','572309763','506620366','505897939','E71156367','E21961674','v716898','561669436','EL657289','533300106','482225223','514815909','592108236','370682199509218814','130924199003161572','410728199011287038','372324199503253215','ED6234008','E69411908','EF1981503');

@ -47,6 +47,7 @@ $active_group = 'HT';
$active_record = TRUE;
require 'C:/database_conn.php';
//require 'c:/database_conn_local.php';
/* End of file database.php */
/* Location: ./application/config/database.php */

@ -39,7 +39,7 @@ class addorders extends CI_Controller{
}
}
//自动出票
//自动出票,2024-1-30改用新方法
public function auto_pay_ticket(){
//log_message('error','auto ticket');
date_default_timezone_set('Asia/Shanghai');
@ -166,6 +166,146 @@ class addorders extends CI_Controller{
print_r('<table border="1">'.$string.'</table>');
}
//自动出票2.0 2024-1-30 zp
public function auto_pay_ticket_2(){
date_default_timezone_set('Asia/Shanghai');
set_time_limit(180);
//筛选出能自动出票的订单
$auto_pool = $this->BIZ_train_model->auto_check_ticket_2();
// $DepartureDate = strtotime(date('Y-m-d',strtotime("2024-5-9"))); //只取日期部分
// $now = strtotime(date('Y-m-d'));
// $depart_diff = ($DepartureDate - $now) / 86400;
// $saletime = strtotime("17:00");
// $sale_diff = (time() - $saletime) / 3600;
//创建一个不允许自动出票的国际火车票数组
$nation_train = array('K19', 'K23', 'Z8701', 'Z8702', 'Z97', 'Z98', 'Z99', 'Z100', 'K9795','D87');
//创建黑名单
$black_list = $this->config->item('black_list');
$string = '';
foreach($auto_pool as $item){
$this->isauto = 1;
$bpe_sn = '';
$back_message = '';
$cold_sn = $item->COLD_SN;
$coli_id = $item->coli_id;
$auto_flag = 1;
$people_arr = $this->BIZ_train_model->biz_people($cold_sn);
$train_info = $this->BIZ_train_model->biz_order_detail($cold_sn);
//乘客人数大于10人不出票
if(count($people_arr) > 10){
$auto_flag = 0;
$back_message .= '-乘客人数大于10不自动出票';
}
//护照号如果在黑名单的就不自动出票
foreach($people_arr as $people_info){
if(in_array($people_info->BPE_Passport,$black_list)){
$auto_flag = 0;
$back_message .= '-此用户为黑名单用户,不自动出票';
}
if(strlen($people_info->BPE_Passport) >= 18){
$auto_flag = 0;
$back_message .= '-护照位数大于18不自动出票';
}
$bpe_sn .= $people_info->BPE_SN.',';
}
$bpe_sn = substr($bpe_sn,0,strlen($bpe_sn)-1);
//不是已付款状态的票价高于5000不出票以防意外
if($item->COLI_State != '8'){
if($train_info->adultcost > 5000){
$auto_flag = 0;
$back_message .= '-没支付单价大于5000不自动出票';
}
}
//如果为国际火车票就不出票
if(in_array($train_info->FlightsNo, $nation_train) || strlen($train_info->DepartAirport)>3 || strlen($train_info->ArrivalAirport)>3){
$auto_flag = 0;
$back_message .= '-国际火车票不自动出票';
}
//无座的订单不做出票
if($train_info->Aircraft == 'WZ'){
$auto_flag = 0;
$back_message .= '-无座不自动出票';
}
$DepartureDate = strtotime(date('Y-m-d',strtotime($train_info->DepartureDate))); //只取日期部分
$now = strtotime(date('Y-m-d'));
$depart_diff = ($DepartureDate - $now) / 86400;
//如果刚好是第15天的订单(12306的15天预售是算当天的所以时间差是14天)
if($depart_diff==14){
//$this->isauto = 1;
$time_obj = $this->BIZ_train_model->get_saletime($train_info->DepartAirport_cn);
//print_r($time_obj);
if(!empty($time_obj)){
$saletime = strtotime($time_obj->TST_saletime);
}else{
$saletime = strtotime("12:00"); //如果没有设置预售时间默认8点
}
//echo $saletime;
$sale_diff = (time() - $saletime) / 3600;
if($sale_diff > 12){
$auto_flag = 0;
$back_message .= '-超过抢票时间';
}else if($sale_diff <0){
$auto_flag = 0;
$back_message .= '-未到抢票时间';
}
//$time = strtotime(time());
// $autolasttime = $item->ts_autolasttime;
// if(($timestamp = strtotime($autolasttime)) !== false) {
// $time_diff = ($time - strtotime($autolasttime)) / 3600;
// if ($time_diff < 1){
// $auto_flag = 0;
// $back_message .= '-预售期每小时只能提交一次';
// }
// }
}
//只能3次抢票
if ($item->ts_autotimes > 3){
$auto_flag = 0;
$back_message .= '-抢票次数已到3次';
}
if($auto_flag == 0){
$string .= '<tr><td>汉特订单号:'.$coli_id.'('.$cold_sn.')'.$back_message.'</td></tr>';
if($depart_diff==14){
}else{
log_message('error','自动出票错误信息:'.'<table border="1">'.$string.'</table>');
}
}else{
//单个订单提交
//echo $cold_sn.'<br>';
log_message('error','自动出票提交:'.$coli_id.'('.$cold_sn.')');
$this->booktickets($cold_sn,$bpe_sn,'','ctrip'); //调用出票
//$string .= '<tr><td>汉特订单号:'.$coli_id.'('.$cold_sn.')可以自动出票</td></tr>';
}
}
print_r('<table border="1">'.$string.'</table>');
}
//创建一个方法用于接收所有的出票请求
public function booktickets($cold_sn=null,$bpe_sn=null,$selectseat=null,$type=null){
if(empty($cold_sn) && empty($bpe_sn)){
@ -204,7 +344,7 @@ class addorders extends CI_Controller{
$coli_id = $this->BIZ_train_model->cold_sn_get_coli_id($cold_sn)['0']->COLI_ID;
if(empty($this->BIZ_train_model->get_operatorInfo($coli_id))){
$data['email'] = 'jason@hainatravel.com';
$data['email'] = 'vivi@hainatravel.com';
}else{
$data['email'] = $this->BIZ_train_model->get_operatorInfo($coli_id)['0']->OPI_Email;
}
@ -232,13 +372,20 @@ class addorders extends CI_Controller{
return false;
}
if (count($data['people_list']) > 5) {
if (count($data['people_list']) > 10) {
//显示错误,用户超过五个
$reback["mes"]="乘客不能超过个";
$reback["mes"]="乘客不能超过个";
echo json_encode($reback);
return false;
}
// print_r(json_encode($data));
// echo("<hr/>");
// echo($selectseat);
// echo("<hr/>");
// echo($cold_sn);
// die();
switch ($type){
case 'juhe':
$this->juheModel($data,$selectseat,$cold_sn);
@ -249,6 +396,9 @@ class addorders extends CI_Controller{
case 'ctrip':
$this->ctripModel($data,$selectseat,$cold_sn);
break;
case 'lanhai':
$this->lanhaiModel($data,$selectseat,$cold_sn,$bpe_sn); //澜海多传用户SN列表
break;
}
}
@ -540,8 +690,8 @@ class addorders extends CI_Controller{
$reback["order"] = $orderId;
$reback["mes"] = "订单提交成功,等待回调";
}else{
$reback["mes"] = $confirm_back_json;
$add_data->status = "e";
// $reback["mes"] = $confirm_back_json;
// $add_data->status = "e";
}
//本地订单入库
@ -573,37 +723,53 @@ class addorders extends CI_Controller{
$zwcode = $this->db_train_zw[$data['train']->Aircraft]; //座位简码
$zwname = $this->train_zw[$this->db_train_zw[$data['train']->Aircraft]]; //座位名称
$microtime = get_microtime();
$OrderNumber = ORDERUSER.$microtime;
$OrderNumber = SHUNTU_ORDERUSER.$microtime; //自生成订单号
//生成接口请求头参数
$TimeStamp = date("Y-m-d H:i:s");
$serviceName = "train.addTrainOrder"; //每个接口都有自己名称
$companyId = COMPANYID;
$key = CTRIPKEY;
$strSign = $TimeStamp.$serviceName.$companyId.$key; //加密前的令牌
$Sign = md5($strSign);
$url = CTRIPURL."/addTrainOrder";
//拼接发送的报文
$PostData = array();
$time = date('Y-m-d H:i:s',time());
$PostData['Authentication'] = new stdClass();
$PostData['Authentication']->TimeStamp = $time;
$PostData['Authentication']->ServiceName = 'order.PartnerAddOrder';
$PostData['Authentication']->PartnerName = ORDERUSER;
$MessageIdentity = md5($time.'order.PartnerAddOrder'.ORDERKEY);
$PostData['Authentication']->MessageIdentity = $MessageIdentity;
$PostData['TrainOrderService'] = new stdClass();
$PostData['TrainOrderService']->PartnerName = ORDERUSER;
$PostData['TrainOrderService']->Operation = 'add';
$PostData['TrainOrderService']->OrderType = '电子';
$PostData['TrainOrderService']->OrderTicketType = '0';
$PostData['TrainOrderService']->OrderNumber = $OrderNumber;
$PostData['TrainOrderService']->ChannelName = ORDERUSER;
$PostData['TrainOrderService']->Order = new stdClass();
$PostData['TrainOrderService']->Order->OrderTime = $time;
$PostData['TrainOrderService']->Order->OrderMedia = 'pc';
$PostData['TrainOrderService']->Order->TicketItem['0'] = new stdClass();
$PostData['TrainOrderService']->Order->TicketItem['0']->FromStationName = $data['train']->DepartAirport_cn;
$PostData['TrainOrderService']->Order->TicketItem['0']->ToStationName = $data['train']->ArrivalAirport_cn;
$PostData['TrainOrderService']->Order->TicketItem['0']->TicketTime = date('Y-m-d H:i:s',strtotime($data['train']->DepartureTime));
$PostData['TrainOrderService']->Order->TicketItem['0']->TrainNumber = $data['train']->FlightsNo;
$PostData['TrainOrderService']->Order->TicketItem['0']->ArrivalDateTime = date('Y-m-d H:i:s',strtotime($data['train']->ArrivalTime));
$PostData['TrainOrderService']->Order->TicketItem['0']->TicketPrice = $data['train']->adultcost;
$PostData['TrainOrderService']->Order->TicketItem['0']->TicketCount = count($data['people_list']);
$PostData = new stdClass();
$PostData->authentication = new stdClass();
$PostData->authentication->timeStamp = $TimeStamp;
$PostData->authentication->serviceName = $serviceName;
$PostData->authentication->companyId = $companyId;
$PostData->authentication->messageIdentity = $Sign;
$PostData->trainOrderInfo = new stdClass();
$PostData->trainOrderInfo->companyId = $companyId;
$PostData->trainOrderInfo->orderType = 2;
$PostData->trainOrderInfo->orderTicketType = 0;
$PostData->trainOrderInfo->companyOrderId = $OrderNumber;
$PostData->trainOrderInfo->isReservationOrder = null;
$PostData->trainOrderInfo->leakCutOffTime = null;
$PostData->trainOrderInfo->orderInfo = new stdClass();
$PostData->trainOrderInfo->orderInfo->orderTime = $TimeStamp;
$PostData->trainOrderInfo->orderInfo->ticketList['0'] = new stdClass();
$PostData->trainOrderInfo->orderInfo->ticketList['0']->fromStationName = $data['train']->DepartAirport_cn;
$PostData->trainOrderInfo->orderInfo->ticketList['0']->toStationName = $data['train']->ArrivalAirport_cn;
$PostData->trainOrderInfo->orderInfo->ticketList['0']->ticketTime = date('Y-m-d H:i',strtotime($data['train']->DepartureTime));
$PostData->trainOrderInfo->orderInfo->ticketList['0']->trainNo = $data['train']->FlightsNo;
$PostData->trainOrderInfo->orderInfo->ticketList['0']->allAcceptTrainNo = ''; //备选车次,抢票时必传
$PostData->trainOrderInfo->orderInfo->ticketList['0']->acceptDepartDates = ''; //备选日期,抢票时必传
$PostData->trainOrderInfo->orderInfo->ticketList['0']->arrivalDateTime = date('Y-m-d H:i',strtotime($data['train']->ArrivalTime));
$PostData->trainOrderInfo->orderInfo->ticketList['0']->ticketPrice = $data['train']->adultcost;
$PostData->trainOrderInfo->orderInfo->ticketList['0']->seatName = $this->train_zw[$this->db_train_zw[$data['train']->Aircraft]];
$PostData->trainOrderInfo->orderInfo->ticketList['0']->selectedSeat = $selectseat;
$is_accept_standing = '';
if($this->istanding == 'true'){
$is_accept_standing = '无座';
}
$PostData->trainOrderInfo->orderInfo->ticketList['0']->acceptSeat = $is_accept_standing;
$AdultNum = 0;
$ChildNum = 0;
@ -631,51 +797,72 @@ class addorders extends CI_Controller{
//证件类型
switch ($PassagerInfo->BPE_PassportType){
case 'Chinese ID':
$PassportTypeseId = "1";
$PassportTypeseId = 1;
$PassportTypeseidName = "二代身份证";
break;
case 'MainlandTravel Permit from Hong Kong and Macau':
$PassportTypeseidName = "港澳通行证";
$PassportTypeseId = 7;
$PassportTypeseidName = "回乡证";
break;
case 'Travel Permit from Hong Kong / Macau':
$PassportTypeseId = 7;
$PassportTypeseidName = "回乡证";
break;
case 'Travel Permit from Taiwan':
$PassportTypeseId = "G";
$PassportTypeseId = 8;
$PassportTypeseidName = "台湾通行证";
break;
default :
$PassportTypeseId = "B";
$PassportTypeseId = 2;
$PassportTypeseidName = "护照";
break;
}
$passagersdata[$i] = new stdClass();
$passagersdata[$i]->PassengerType = $PiaoTypeName;
$passagersdata[$i]->PassportType = $PassportTypeseidName;
$passagersdata[$i]->PassportNumber = $PassagerInfo->BPE_Passport;
$passagersdata[$i]->PassportName = chk_sp_name($PassagerInfo->BPE_FirstName.$PassagerInfo->BPE_MiddleName.$PassagerInfo->BPE_LastName);
$passagersdata[$i]->RealName = chk_sp_name($PassagerInfo->BPE_FirstName.$PassagerInfo->BPE_MiddleName.$PassagerInfo->BPE_LastName);
$passagersdata[$i]->ContactEmail = $data['email'];
$i++;
}
$passagersdata[$i]->passengerType = $PiaoType;
$passagersdata[$i]->certificateType = $PassportTypeseId;
$passagersdata[$i]->certificateNo = des_encrypt($PassagerInfo->BPE_Passport,$key);;
$passagersdata[$i]->certificateName = chk_sp_name($PassagerInfo->BPE_FirstName.$PassagerInfo->BPE_MiddleName.$PassagerInfo->BPE_LastName);
$passagersdata[$i]->birthday =date('Y-m-d',strtotime($PassagerInfo->BPE_BirthDate));
$passagersdata[$i]->realName = chk_sp_name($PassagerInfo->BPE_FirstName.$PassagerInfo->BPE_MiddleName.$PassagerInfo->BPE_LastName);
$passagersdata[$i]->identityLimitDate = date('Y-m-d',strtotime($PassagerInfo->BPE_PassExpdate));
$passagersdata[$i]->countryCode = "";
$passagersdata[$i]->contactMobile = "";
$passagersdata[$i]->contactEmail = "";
if (!empty($PassagerInfo->BPE_Nationality)){
$regionCode = $PassagerInfo->BPE_Nationality;
if ($regionCode =="TW" || $regionCode=="HK" || $regionCode=="MO"){
$passagersdata[$i]->regionCode = "CN";
}
else if ($regionCode=="UK" || $regionCode=="GB"){
$passagersdata[$i]->regionCode = "GB"; //英国传GB
}else{
$passagersdata[$i]->regionCode = $regionCode; //国家简码 美国us ,中国cn
}
$PostData['TrainOrderService']->Order->TicketItem['0']->AuditTicketCount = $AdultNum;
$PostData['TrainOrderService']->Order->TicketItem['0']->ChildTicketCount = $ChildNum;
$PostData['TrainOrderService']->Order->TicketItem['0']->SeatName = $this->train_zw[$this->db_train_zw[$data['train']->Aircraft]];
$PostData['TrainOrderService']->Order->TicketItem['0']->SelectedSeat = $selectseat;
$is_accept_standing = '';
if($this->istanding == 'true'){
$is_accept_standing = '无座';
}
$i++;
}
$PostData['TrainOrderService']->Order->TicketItem['0']->AcceptSeat = $is_accept_standing;
//乘客人信息
$PostData['TrainOrderService']->Order->TicketItem['0']->Passengers = $passagersdata;
$PostData['TrainOrderService']->Order->TicketItem['0']->OrderPrice = $data['train']->adultcost * $AdultNum + $data['train']->childcost * $ChildNum;
$PostData->trainOrderInfo->orderInfo->ticketList['0']->passengerList = $passagersdata;
$PostData->trainOrderInfo->orderInfo->frontSeatFlag = 0;
$PostData->trainOrderInfo->orderInfo->orderRemark = "";
$PostData->trainOrderInfo->contactUser = new stdClass();
$PostData->trainOrderInfo->contactUser->contactUserId = '';
$PostData->trainOrderInfo->contactUser->contactName = 'vivi';
$PostData->trainOrderInfo->contactUser->companyId = $companyId;
$PostData->trainOrderInfo->contactUser->countryCode = "86";
$PostData->trainOrderInfo->contactUser->contactMobile = des_encrypt('18877331805',$key) ;
$PostData['TrainOrderService']->User = new stdClass();
$PostData['TrainOrderService']->User->UserID = '';
$PostData['TrainOrderService']->User->UserName = 'guilintravel';
$PostData['TrainOrderService']->User->userLoginName = 'guilintravel';
$PostData['TrainOrderService']->User->UserMobile = '18877381547';
$PostData->trainOrderInfo->extraService = new stdClass();
$PostData->trainOrderInfo->extraService->noVerifyFlag = 1;
$PostData->trainOrderInfo->extraService->lowerBerthFlag = 0;
$PostData->trainOrderInfo->extraService->lowerBerthCount = 0;
$PostData->trainOrderInfo->extraService->grabTicketRate = 1;
//本地添加记录
$add_data = new stdClass();
@ -695,26 +882,62 @@ class addorders extends CI_Controller{
$add_data->runtime = (strtotime($data['train']->ArrivalTime) - strtotime($data['train']->DepartureTime)) / 60;
$add_data->channel = 'ctrip';
$add_data->isauto = $this->isauto;
//出票次数
$countAuto = $this->train_system_model->get_autotimes($cold_sn);
$add_data->ts_autotimes = $countAuto->countauto + 1; //出票次数+1
$add_data->lanhaiData = ""; //途牛默认澜海数据为空
//存储到数据库
$this->train_system_model->add_orders($add_data);
$Url = 'http://apiproxy.ctrip.com/apiproxy/soa2/13680/PartnerAddOrder';
$ResponseJson = GetPost_http($Url,json_encode($PostData),'json');
// print_r(json_encode($PostData));
// die();
$ResponseJson = GetPost_http($url,json_encode($PostData,JSON_UNESCAPED_UNICODE),'json');
$ResponseData = json_decode($ResponseJson);
// print_r(json_encode($PostData));
// die();
//预定请求成功后执行支付
if($ResponseData->Status == 'SUCCESS'){
//计算订单总价,进行支付
$total_price = $AdultNum * $data['train']->adultcost + $ChildNum * $data['train']->childcost;
$this->payorders($OrderNumber,$total_price);
$reback["status"] = 1;
$reback["order"] = $OrderNumber;
$reback["mes"] = "订单提交成功,等待回调";
if($ResponseData->returnCode == 1){
//直接获取返回的需要支付的总价,不再计算订单总价
//$total_price = $AdultNum * $data['train']->adultcost + $ChildNum * $data['train']->childcost;
$total_price = $ResponseData->returnData->orderPayDetail->orderAmount;
if ($total_price>0){
log_message('error','下单成功返回信息:'.$ResponseJson);
//执行支付
$this->payorders($OrderNumber,$total_price);
$reback["status"] = 1;
$reback["order"] = $OrderNumber;
$reback["mes"] = "订单提交成功,等待回调";
}else{
$reback["status"] = 1;
$reback["returndata"] = $ResponseData;
$reback["mes"] = "订单提交成功,但是返回的订单总价错误。无法完成支付";
}
}else{
//log_message('error','下单失败提交数据记录:'.json_encode($PostData,JSON_UNESCAPED_UNICODE));
$reback["mes"] = $ResponseJson;
$add_data->status = "e";
//更新订单
$msgData = new stdClass();
$msgData->bookcallback = $ResponseJson;
$msgData->OrderStatus = "1";
$msgData->ErrorMsg = $ResponseData->returnMessage;
$msgData->ordernumber = $OrderNumber;
$msgData->addOrderData = json_encode($PostData,JSON_UNESCAPED_UNICODE); //失败了记录提交的订单数据
$this->train_system_model->update_orders_msg($msgData);
}
echo json_encode($reback);
echo json_encode($reback,JSON_UNESCAPED_UNICODE);
}
//请求支付
@ -723,31 +946,204 @@ class addorders extends CI_Controller{
exit('传参错误!');
}
//生成接口请求头参数
$TimeStamp = date("Y-m-d H:i:s");
$serviceName = "train.companyPayOrder"; //每个接口都有自己名称
$companyId = COMPANYID;
$key = CTRIPKEY;
// /** 测试服务器 */
// $companyId = "1503141150";
// $key = "hajkrtba";
$strSign = $TimeStamp.$serviceName.$companyId.$key; //加密前的令牌
$Sign = md5($strSign);
$url = CTRIPURL."/companyPayOrder";
//生成报文
$PostData = array();
$TimeStamp = time();
$time = date('Y-m-d H:i:s',$TimeStamp);
$PostData['Authentication'] = new stdClass();
$PostData['Authentication']->TimeStamp = $time;
$PostData['Authentication']->ServiceName = 'order.PartnerPayOrder';
$PostData['Authentication']->PartnerName = ORDERUSER;
$MessageIdentity = md5($time.'order.PartnerPayOrder'.ORDERKEY);
$PostData['Authentication']->MessageIdentity = $MessageIdentity;
$PostData['TrainOrderService'] = new stdClass();
$PostData['TrainOrderService']->PartnerName = ORDERUSER;
$PostData['TrainOrderService']->OrderNumber = $CtripOrder;
$PostData['TrainOrderService']->PayedPrice = $Price;
$PostData['TrainOrderService']->PayTime = $time;
$PostData['TrainOrderService']->TradeNumber = $CtripOrder;
$Url = 'http://apiproxy.ctrip.com/apiproxy/soa2/13680/PartnerPayOrder';
$ResponseJson = GetPost_http($Url,json_encode($PostData),'json');
$PostData = new stdClass();
$PostData->authentication = new stdClass();
$PostData->authentication->timeStamp = $TimeStamp;
$PostData->authentication->serviceName = $serviceName;
$PostData->authentication->companyId = $companyId;
$PostData->authentication->messageIdentity = $Sign;
$PostData->orderPayInfo= new stdClass();
$PostData->orderPayInfo->companyId = $companyId;
$PostData->orderPayInfo->companyOrderId = $CtripOrder;
$PostData->orderPayInfo->payedPrice = $Price;
$PostData->orderPayInfo->payTime = $TimeStamp;
$PostData->orderPayInfo->tradeNumber = $CtripOrder;
//$Url = 'http://apiproxy.ctrip.com/apiproxy/soa2/13680/PartnerPayOrder';
// print_r(json_encode($PostData) );
// die();
$ResponseJson = GetPost_http($url,json_encode($PostData),'json');
$ResponseData = json_decode($ResponseJson);
$msgData = new stdClass();
$msgData-> bookcallback = $ResponseJson;
$msgData->ordernumber = $CtripOrder;
if ($ResponseData->returnCode==1){
$msgData->OrderStatus = "3";
$msgData->ErrorMsg = $ResponseData->returnMessage;
}else{
$msgData->OrderStatus = "1";
$msgData->ErrorMsg = $ResponseData->returnMessage;
}
//更新订单
$this->train_system_model->update_orders_msg($msgData);
// $reback["mes"] = $ResponseJson;
// print_r(json_encode($reback,JSON_UNESCAPED_UNICODE)) ;
//echo '支付';
//print_r($ResponseData);
//支付同步回调信息 {"Status":"SUCCESS","PartnerName":"guilintravel","OrderNumber":"guilintravel1546071576","OperationDateTime":"2018-12-29 16:19:37","RetCode":0,"ResponseStatus":{"Timestamp":"\/Date(1546071577236+0800)\/","Ack":"Success","Errors":[],"Extension":[]}}
}
//澜海请求出票
function lanhaiModel($data,$selectseat,$cold_sn,$bpe_sn){
$microtime = get_microtime();
$OrderNumber = SHUNTU_ORDERUSER.$microtime; //自生成订单号
//生成接口请求头参数
$mainOrderId = $OrderNumber;
$timestamp = $microtime;
$appId = LANHAI_appId;
$url = LANHAI_URL."api/open/push/order";
//拼接发送的报文
$PostData = new stdClass();
$PostData->mainOrderId = $mainOrderId;
$PostData->timestamp = $timestamp;
$PostData->appId = $appId;
//本地添加记录
$add_data = new stdClass();
$add_data->cold_sn = $cold_sn;
$add_data->ordernumber = $OrderNumber;
$add_data->returncode = '';
$add_data->status = '2';
$add_data->errormsg = '预定中';
$add_data->checi = $data['train']->FlightsNo;
$add_data->fromstationame = $data['train']->DepartAirport_cn;
$add_data->fromstationcode = $data['train']->DepartAirport;
$add_data->tostationame = $data['train']->ArrivalAirport_cn;
$add_data->tostationcode = $data['train']->ArrivalAirport;
$add_data->startdate = date('Y-m-d',strtotime($data['train']->DepartureDate));
$add_data->startime = date('H:i',strtotime($data['train']->DepartureTime));
$add_data->endtime = date('H:i',strtotime($data['train']->ArrivalTime));
$add_data->runtime = (strtotime($data['train']->ArrivalTime) - strtotime($data['train']->DepartureTime)) / 60;
$add_data->channel = 'lanhai';
$add_data->isauto = $this->isauto;
//出票次数
$countAuto = $this->train_system_model->get_autotimes($cold_sn);
$add_data->ts_autotimes = $countAuto->countauto + 1; //出票次数+1
//澜海数据
$lanhaiData = new stdClass();
$lanhaiData->selectseat = $selectseat;
$lanhaiData->bpe_sn = $bpe_sn;
$add_data->lanhaiData = json_encode($lanhaiData,JSON_UNESCAPED_UNICODE);
//存储到数据库
$this->train_system_model->add_orders($add_data);
//print_r(json_encode($PostData));
//die();
$ResponseJson = GetPost_http($url,json_encode($PostData,JSON_UNESCAPED_UNICODE),'json');
$ResponseData = json_decode($ResponseJson);
// print_r($ResponseJson);
// die();
//预定请求成功后执行支付
if($ResponseData->code == 0 && $ResponseData->success){
$reback["status"] = 1;
$reback["order"] = $OrderNumber;
$reback["mes"] = "订单提交成功,请等待澜海出票。在出票信息返回之前,千万不要改动汉特里面的订单数据,以免照成出票数据和订单数据不一致!!!!!".$ResponseData->msg ;
}else{
$reback["status"] = 0;
$reback["order"] = $OrderNumber;
$reback["mes"] = "订单提交失败,".$ResponseData->msg."。订单发送数据:".json_encode($PostData) ;
$add_data->status = "e";
//更新订单
$msgData = new stdClass();
$msgData->bookcallback = $ResponseJson;
$msgData->OrderStatus = "1";
if (isset($ResponseData->returnMessage)){
$msg = $ResponseData->returnMessage;
}else{
$msg = "没有错误信息!";
}
$msgData->ErrorMsg = $msg;
$msgData->ordernumber = $OrderNumber;
$msgData->addOrderData = json_encode($PostData,JSON_UNESCAPED_UNICODE); //失败了记录提交的订单数据
$this->train_system_model->update_orders_msg($msgData);
}
echo json_encode($reback,JSON_UNESCAPED_UNICODE);
}
}
//订单提交返回数据
/*
{
"returnCode": 1,
"returnMessage": "SUCCESS",
"returnData": {
"serviceName": "train.addTrainOrder",
"companyId": "1503141150",
"companyOrderId": "HN1681460139569",
"operationDateTime": "2023-04-14 16:15:56",
"orderPayDetail": {
"orderAmount": 12.00,
"ticketAmount": 6,
"serveAmount": 0,
"extraServeFees": [
{
"feeAmount": 6.00,
"feeType": 141
}
]
}
},
"ResponseStatus": {
"Timestamp": "/Date(1681460156763+0800)/",
"Ack": "Success",
"Errors": [],
"Build": null,
"Version": null,
"Extension": [
{
"Id": "CLOGGING_TRACE_ID",
"Version": null,
"ContentType": null,
"Value": "7715658886832531034"
},
{
"Id": "RootMessageId",
"Version": null,
"ContentType": null,
"Value": "100031671-0a6d18d7-467072-1571193"
}
]
}
}
*/

@ -414,6 +414,115 @@ class api extends CI_Controller{
}
}
//澜海账单导出api
public function lanhai_export_excel(){
set_time_limit(0);
//参数
$from_date = $this->input->post("from_date");
$to_date = $this->input->post("to_date");
$examine = $this->input->post("examine");
$importht = $this->input->post("importht");
$reback=array();//返回的数据
$reback["from_date"] = $from_date;
$reback["to_date"] = $to_date;
$reback["examine"] = $examine;
$reback["importht"] = $importht;
if(!empty($from_date) && !empty($to_date)){
//拼接发送的报文
$PostData = new stdClass();
$bodyInfo = new stdclass();
$bodyInfo->startTime = $from_date." 00:00:00";
$bodyInfo->endTime = $to_date." 23:59:59";
$bodyInfo->pageNum = 1;
$bodyInfo->pageSize = 20000;
$authentication = new stdClass(); //需加密的数据
$authentication->appId = LANHAI_appId;
//加密
$this->load->library("aesLanhai");
$aesUnit = new Security();
$resultData = $aesUnit->encryptData(json_encode($bodyInfo));
$PostData->bodyInfo = $resultData;
$PostData->authentication = $authentication;
//echo (json_encode($PostData));
$url = LANHAI_URL."api/open/bill";
$ResponseJson = GetPost_http($url,json_encode($PostData,JSON_UNESCAPED_UNICODE),'json');
$ResponseData = json_decode($ResponseJson);
if($ResponseData->code == 0 && $ResponseData->success){
$string_r = "";//输出
$arr = array();//整合完成的数组,写进excel表的数据
//账单导入到汉特。 先删除同一编码的数据,防止重复
if (!empty($importht)){
$BillSn = date('Ymd',strtotime($from_date)).date('Ymd',strtotime($to_date)); //这是获取开始结束日期作为编码,一定要和下面获取代码一样。
$this->BIZ_train_model->del_lanhai_bill($BillSn);
}
foreach ($ResponseData->data->records as $record) {
# code...
$arrRecord = array();
$arrRecord["saveDay"] = $record->saveDay;
$arrRecord["type"] = $record->type; //类型 包括:出票、低改高、出票退票、改签退票、退票
$arrRecord["mainOrderId"] = $record->mainOrderId; //订单号
$arrRecord["passengerName"] = $record->passengerName; //乘车人
$arrRecord["price"] = $record->price ;//金额,整数是支付票款,负数是退回金额
$arrRecord["wl"] = ""; //外联
$arrRecord["griName"]=""; //团号
$orderData = $this->train_system_model->get_OPIName($record->mainOrderId);
if (!empty($orderData)){
$arrRecord["wl"] = $orderData->OPIName;
$arrRecord["griName"] = $orderData->griName;
}
$arr[] = $arrRecord;
//账单导入到汉特。
if (!empty($importht)){
$AddHt_data = new stdClass(); //账单保存到汉特
$AddHt_data->BillSn = date('Ymd',strtotime($from_date)).date('Ymd',strtotime($to_date));
$AddHt_data->BillDate = $record->saveDay;
$AddHt_data->OrderId = $record->mainOrderId;
$AddHt_data->VEIName = LANHAI_appId;
$AddHt_data->From = "桂林海纳国际旅行社有限公司";
$AddHt_data->BillType = $record->type;
$AddHt_data->OrderType = null;
$AddHt_data->Cost = -($record->price);
$AddHt_data->Memo = $record->handleTime;
//入库
$this->BIZ_train_model->add_lanhai_bill($AddHt_data);
}
}
//print_r($arr);
if(empty($examine)){
//写入excel模板
header("Content-type:application/vnd.ms-excel;charset=utf-8");
header("Content-Disposition:attachment;filename=lanhai_train.xls");
$string_r= $this->load->view("lanhai_transaction_excel",array("arr"=>$arr),TRUE);
echo $string_r;die;
}else{
krsort($arr);//数组倒序
$reback["data"]=$arr;
$this->load->view('header');
$this->load->view('export_lanhai',$reback);
$this->load->view('footer');
}
}
}
}
//订单同步到trainsystem
public function sync_orders(){
die();

@ -8,6 +8,8 @@ class callback extends CI_Controller{
$this->load->helper('train');
$this->load->model("train_system_model");
$this->load->model("BIZ_train_model");
$this->train_certificateType = $this->config->item('train_certificateType');
$this->train_refundType = $this->config->item('train_refundType');
}
public function juhecallback(){
@ -166,17 +168,40 @@ class callback extends CI_Controller{
$this->train_system_model->update_orders($update_data);
}
public function ctripcallback(){
public function shuntucallback(){
$back_json = file_get_contents('php://input');
log_message('error','携程回调信息:'.$back_json);
//$back_json = '{"@attributes":{"xsi":"http:\/\/www.w3.org\/2001\/XMLSchema-instance"},"Authentication":{"TimeStamp":"2019-11-13 10:31:00","ServiceName":"web.order.rescheduleResult","MessageIdentity":"31C01C2EC57C9B1D45C0727918B493AE","PartnerName":"tieyou"},"TrainOrderService":{"OrderInfo":{"OrderNumber":"guilintravel1573543590265","contactName":{},"contactMobile":{},"RescheduleTicketInfo":{"SubOrderId":"0","EOrderNumber":"EG59266341","ResFromStation":"\u6842\u6797","ResToStation":"\u6842\u6797\u5317","ResDepartTime":"2019-12-03 13:50:00","ResArriveTime":"2019-12-03 14:01:00","ResTrainNumber":"D2986","RescheduleTickets":{"RescheduleTicket":{"childBillId":{},"ResCarriageNo":"08","ResSeatNumber":"13F\u53f7","ResSeatName":"\u4e8c\u7b49\u5ea7","ResRealTicketPrice":"5.5","RescheduleLongTrainNum":"EG59266341208013F","eOrderType":"1","passport":"450302199208131039","passportName":"\u9648\u5b87\u8d85","realName":"\u9648\u5b87\u8d85","status":"1","ResFailReasons":{}}}}}}}';
log_message('error','携程顺途回调信息:'.$back_json);
$ctrip_backdata = json_decode($back_json);
//print_r($ctrip_backdata);
// print_r($ctrip_backdata);
// die();
if(!empty($ctrip_backdata)){
//判断回调信息是否正确,主要判断是否是本企业的回调信息
$TimeStamp = $ctrip_backdata->authentication->timeStamp;
$serviceName = $ctrip_backdata->authentication->serviceName; //每个接口都有自己名称
$companyId = COMPANYID;
$key = CTRIPKEY;
/** 测试服务器 */
$strSign = $TimeStamp.$serviceName.$companyId.$key; //加密前的令牌
$Sign = md5($strSign);
$messageIdentity = $ctrip_backdata->authentication->messageIdentity;
$ResultNoticeResponse = new stdClass();
if ($Sign == $messageIdentity){
$ResultNoticeResponse->returnCode = 1;
$ResultNoticeResponse->returnMsg = "success";
}else {
$ResultNoticeResponse->returnCode = 0;
$ResultNoticeResponse->returnMsg = "messageIdentity is error!";
}
echo json_encode($ResultNoticeResponse);
//处理回调的内容,保存到本地及翰特
$update_data = new stdClass();
$update_data->ServiceName = $ctrip_backdata->Authentication->ServiceName;
$update_data->ServiceName = $ctrip_backdata->authentication->serviceName;
$update_data->ordernumber = '';
$update_data->seatsinfo = '';
$update_data->TicketCheck = '';
@ -187,168 +212,248 @@ class callback extends CI_Controller{
$update_data->ElectronicOrderNumber = '';
$update_data->reschedulecallback = '';
$update_data->OrderTicketTime = '';
//新字段
$update_data->operateTradeNo ="";
if($update_data->ServiceName == 'web.order.notifyTicket'){
$update_data->OrderStatus = '4';
$update_data->ErrorMsg = '出票成功';
$update_data->ordernumber = $ctrip_backdata->TrainOrderService->OrderInfo->OrderNumber;
$update_data->OrderTotleFee = $ctrip_backdata->TrainOrderService->OrderInfo->OrderTotleFee;
$update_data->ElectronicOrderNumber = $ctrip_backdata->TrainOrderService->OrderInfo->ElectronicOrderNumber;
$update_data->bookcallback = $back_json;
$update_data->OrderTicketTime = $ctrip_backdata->TrainOrderService->OrderInfo->TicketInfo->OrderTicketTime;
//新添加检票口信息
if(isset($ctrip_backdata->TrainOrderService->OrderInfo->TicketInfoFinal->TicketCheck)){
if(!is_object($ctrip_backdata->TrainOrderService->OrderInfo->TicketInfoFinal->TicketCheck)){
$update_data->TicketCheck = $ctrip_backdata->TrainOrderService->OrderInfo->TicketInfoFinal->TicketCheck;
}
}
$person_num = $ctrip_backdata->TrainOrderService->OrderInfo->TicketInfo->AuditTicketCount + $ctrip_backdata->TrainOrderService->OrderInfo->TicketInfo->ChildTicketCount;
//存储座位信息 转换为英文
$coach_arr = array();
$seats_arr = array();
$seatsinfo_arr = array();
$find = array('车厢','号','上铺','中铺','下铺');
$replace = array('coach','',' upper',' middle',' lower');
$seatsinfo = str_replace($find,$replace,$ctrip_backdata->TrainOrderService->OrderInfo->TicketInfo->SeatNumber);
$seatsinfo = mb_substr($seatsinfo,0,mb_strlen($seatsinfo,'UTF8')-1);
$seatsinfo_arr = explode(',',$seatsinfo);
foreach($seatsinfo_arr as $item){
$coach = mb_substr($item,0,strpos($item,'coach'));
array_push($coach_arr,$coach);
$seat = mb_substr($item,strpos($item,'coach')+5,mb_strlen($item,'UTF8'));
array_push($seats_arr,$seat);
}
$update_data->seatsinfo = '';
if(count(array_unique($coach_arr)) == 1){
$onlycoach = array_unique($coach_arr);
$update_data->seatsinfo .= 'Coach '.$onlycoach[0].',seat ';
foreach ($seats_arr as $seat_items){
$update_data->seatsinfo .= $seat_items .',';
if($update_data->ServiceName == 'notice.ticketresult'){
if ( $ctrip_backdata->ticketResult->resultCode == 1){
$update_data->OrderStatus = '4';
if (isset($ctrip_backdata->ticketResult->resultMsg)){
$update_data->ErrorMsg = $ctrip_backdata->ticketResult->resultMsg;
} else {
$update_data->ErrorMsg = '出票成功';
}
}else{
for($i=0;$i<count($coach_arr);$i++){
if($i == 0){
$update_data->seatsinfo .= 'Coach '.$coach_arr[$i].',Seat '.$seats_arr[$i].',';
}else{
if($coach_arr[$i] == $coach_arr[$i-1]){
$update_data->seatsinfo .= $seats_arr[$i].',';
}else{
$update_data->seatsinfo .= 'Coach '.$coach_arr[$i].',Seat '.$seats_arr[$i].',';
}
}
$update_data->OrderStatus = '5';
if (isset($ctrip_backdata->ticketResult->resultMsg)){
$update_data->ErrorMsg = $ctrip_backdata->ticketResult->resultMsg;
}else{
$update_data->ErrorMsg = '出票失败';
}
}
$update_data->ordernumber = $ctrip_backdata->ticketResult->companyOrderId;
if (isset($ctrip_backdata->ticketResult->orderMasterInfo->totalPayAmount)){
$update_data->OrderTotleFee = $ctrip_backdata->ticketResult->orderMasterInfo->totalPayAmount; //总价
}
if (isset($ctrip_backdata->ticketResult->operateTradeNo)) {
$update_data->operateTradeNo = $ctrip_backdata->ticketResult->operateTradeNo; //操作流水号 如产生差额退款或者无票退款,退款通知里会有相同的操作流水号做对应。
}
$update_data->ticketresultcallback = $back_json;
//$update_data->OrderTicketTime = $ctrip_backdata->TrainOrderService->OrderInfo->TicketInfo->OrderTicketTime;
$update_data->seatsinfo = substr($update_data->seatsinfo,0,strlen($update_data->seatsinfo)-1);
//新接口数据,不一定保存到数据库里面,原订单已有,做个记录
if (isset( $ctrip_backdata->ticketResult->ticketSuccTime)){
$update_data->ticketSuccTime = $ctrip_backdata->ticketResult->ticketSuccTime; //出票成功时间
}
$update_data->orderType = $ctrip_backdata->ticketResult->orderMasterInfo->orderType; //订单类型 0电子票 1配送票 2人工客票 3抢票订单
$update_data->contactName = $ctrip_backdata->ticketResult->orderMasterInfo->contactName; //联系人
$update_data->mobileNo = des_decrypt($ctrip_backdata->ticketResult->orderMasterInfo->mobileNo,$key); //联系电话 (DES加密
//人员及车票
$data_passager = new stdClass();
if($person_num > 1){
//对订票乘客进行存储
foreach ( $ctrip_backdata->ticketResult->passengerInfoList as $pItems) {
$data_passager->ordernumber = $ctrip_backdata->ticketResult->companyOrderId;
//人员列表
$data_passager->status = '4';
$data_passager->ordernumber = $ctrip_backdata->TrainOrderService->OrderInfo->OrderNumber;
if(is_array($ctrip_backdata->TrainOrderService->OrderInfo->TicketInfoFinal->Tickets->Ticket)){
foreach($ctrip_backdata->TrainOrderService->OrderInfo->TicketInfoFinal->Tickets->Ticket as $tickets_item){
if(is_array($tickets_item->DetailInfos->DetailInfo)){
foreach($tickets_item->DetailInfos->DetailInfo as $ticket_item2){
$data_passager->realname = $ticket_item2->PassengerName;
$data_passager->identitytype = $ticket_item2->IdentityType;
$data_passager->numberid = $ticket_item2->NumberID;
$data_passager->ticketype = $tickets_item->TicketType;
$data_passager->ticketprice = $tickets_item->OrderTicketPrice;
$data_passager->seatype = $tickets_item->OrderTicketSeat;
$data_passager->seatdetail = $ticket_item2->SeatNo;
$data_passager->longtrainno = $ticket_item2->LongTrainNo;
$data_passager->TOC_VEI_SN = 28209;
$certificateType = $this->train_certificateType[ $pItems->certificateType]; //证件类型身份证传1、护照2、回乡证7、台胞证8、外国人永久居留身份证28、港澳台居民居住证32
$data_passager->identitytype = $certificateType;
$data_passager->realname = $pItems->certificateName;
$data_passager->numberid = des_decrypt($pItems->certificateNo,$key) ; //证件号码 (DES加密
$data_passager->birthday = $pItems->birthday;
if ($pItems->passengerType==2){
$passengerType = "儿童";
}else{
$passengerType = "成人";
}
$data_passager->ticketype = $passengerType; //乘客类型 1成人 2儿童
$passengerId = $pItems->passengerId;
foreach ( $ctrip_backdata->ticketResult->orderRouteInfoList as $rItems ){
//行程,目前我们都是单程提交,所以这里应该只有单程
$routeId = $rItems->routeId;
if (isset($rItems->elecNo)){
$elecNo = $rItems->elecNo; //电子订单号即12306取票号
$update_data->ElectronicOrderNumber = $elecNo ;
}
if (isset($rItems->checkWindow)){
$checkWindow = $rItems->checkWindow; //检票口
$update_data->TicketCheck = $checkWindow;
}
$data_passager->seatype = $rItems->ticketSeat;
$update_data->trainNo = $rItems->trainNo; //车次
$update_data->departTime = $rItems->departTime; //车次出发时间
$orderTicketInfoList = $ctrip_backdata->ticketResult->orderTicketInfoList ;
if (!empty($orderTicketInfoList)){
foreach ($orderTicketInfoList as $tItems) {
//对应的车票列表
if ($passengerId == $tItems->passengerId && $routeId==$tItems->routeId){
$data_passager->ticketprice = $tItems->realTicketPrice;
$SeatNo = "";
if (isset($tItems->carriageNo)){
$SeatNo.=$tItems->carriageNo."车厢";
}
if (isset($tItems->seatNo)){
$SeatNo.=$tItems->seatNo;
}
$data_passager->seatdetail = $SeatNo;
$data_passager->longtrainno = $tItems->longElecNo;
$data_passager->lanhaiData = ""; //对应澜海那边的数据,这边设置为空
//入库
$this->train_system_model->add_passagers($data_passager);
}
}else{
$data_passager->realname = $tickets_item->DetailInfos->DetailInfo->PassengerName;
$data_passager->identitytype = $tickets_item->DetailInfos->DetailInfo->IdentityType;
$data_passager->numberid = $tickets_item->DetailInfos->DetailInfo->NumberID;
$data_passager->ticketype = $tickets_item->TicketType;
$data_passager->ticketprice = $tickets_item->OrderTicketPrice;
$data_passager->seatype = $tickets_item->OrderTicketSeat;
$data_passager->seatdetail = $tickets_item->DetailInfos->DetailInfo->SeatNo;
$data_passager->longtrainno = $tickets_item->DetailInfos->DetailInfo->LongTrainNo;
$data_passager->TOC_VEI_SN = 28209;
$this->train_system_model->add_passagers($data_passager);
}
}
}else{
foreach($ctrip_backdata->TrainOrderService->OrderInfo->TicketInfoFinal->Tickets->Ticket->DetailInfos->DetailInfo as $items){
//对订票乘客进行存储
$data_passager->status = '4';
$data_passager->ordernumber = $ctrip_backdata->TrainOrderService->OrderInfo->OrderNumber;
$data_passager->realname = $items->PassengerName;
$data_passager->identitytype = $items->IdentityType;
$data_passager->numberid = $items->NumberID;
$data_passager->ticketype = $ctrip_backdata->TrainOrderService->OrderInfo->TicketInfoFinal->Tickets->Ticket->TicketType;
$data_passager->ticketprice = $ctrip_backdata->TrainOrderService->OrderInfo->TicketInfoFinal->Tickets->Ticket->OrderTicketPrice;
$data_passager->seatype = $ctrip_backdata->TrainOrderService->OrderInfo->TicketInfoFinal->Tickets->Ticket->OrderTicketSeat;
$data_passager->seatdetail = $items->SeatNo;
$data_passager->longtrainno = $items->LongTrainNo;
$data_passager->TOC_VEI_SN = 28209;
$this->train_system_model->add_passagers($data_passager);
}
}
}else{
//对订票乘客进行存储
$data_passager->status = '4';
$data_passager->ordernumber = $ctrip_backdata->TrainOrderService->OrderInfo->OrderNumber;
$data_passager->realname = $ctrip_backdata->TrainOrderService->OrderInfo->TicketInfoFinal->Tickets->Ticket->DetailInfos->DetailInfo->PassengerName;
$data_passager->identitytype = $ctrip_backdata->TrainOrderService->OrderInfo->TicketInfoFinal->Tickets->Ticket->DetailInfos->DetailInfo->IdentityType;
$data_passager->numberid = $ctrip_backdata->TrainOrderService->OrderInfo->TicketInfoFinal->Tickets->Ticket->DetailInfos->DetailInfo->NumberID;
$data_passager->ticketype = $ctrip_backdata->TrainOrderService->OrderInfo->TicketInfoFinal->Tickets->Ticket->TicketType;
$data_passager->ticketprice = $ctrip_backdata->TrainOrderService->OrderInfo->TicketInfoFinal->Tickets->Ticket->OrderTicketPrice;
$data_passager->seatype = $ctrip_backdata->TrainOrderService->OrderInfo->TicketInfoFinal->Tickets->Ticket->OrderTicketSeat;
$data_passager->seatdetail = $ctrip_backdata->TrainOrderService->OrderInfo->TicketInfoFinal->Tickets->Ticket->DetailInfos->DetailInfo->SeatNo;
$data_passager->longtrainno = $ctrip_backdata->TrainOrderService->OrderInfo->TicketInfoFinal->Tickets->Ticket->DetailInfos->DetailInfo->LongTrainNo;
$data_passager->TOC_VEI_SN = 28209;
$this->train_system_model->add_passagers($data_passager);
}
/****************************************************************************************/
//添加支付记录
$add_train_payment_data = new stdClass();
$add_train_payment_data->TOC_Memo = $update_data->ordernumber.'出票费';
$add_train_payment_data->TOC_VEI_SN = "28209";
//根据订单号获取cold_sn
$order_info = $this->train_system_model->get_order_info($update_data->ordernumber);
$cold_sn = $order_info->ts_cold_sn;
$add_train_payment_data->TOC_COLD_SN = $cold_sn;
$add_train_payment_data->TOC_TrainNumber = $ctrip_backdata->TrainOrderService->OrderInfo->TicketInfo->OrderTicketCheci;
$add_train_payment_data->TOC_DepartureDate = date('Y-m-d',strtotime($ctrip_backdata->TrainOrderService->OrderInfo->TicketInfo->OrderTicketYMD));
$add_train_payment_data->TOC_TrainNumber = $update_data->trainNo;
$add_train_payment_data->TOC_DepartureDate = date('Y-m-d',strtotime($update_data->departTime ));
$add_train_payment_data->TOC_TicketCost = $update_data->OrderTotleFee;
$add_train_payment_data->poundage = ($person_num*5)."";//手续费,每人五块,转换成字符串
$add_train_payment_data->FOI_TrainNetOrderNo = $update_data->ElectronicOrderNumber;
$add_train_payment_data->poundage = "0";
$add_train_payment_data->FOI_TrainNetOrderNo = $update_data->ElectronicOrderNumber; //电子票号
//print_r($add_train_order_data);die();
$this->BIZ_train_model->add_train_payment($add_train_payment_data);
//记录供应商(瀚特)
$this->BIZ_train_model->update_cold_planvei_sn($cold_sn,'28209');
}else if($update_data->ServiceName == 'web.order.notifyNoTicket'){
$update_data->ordernumber = $ctrip_backdata->TrainOrderService->OrderInfo->OrderNumber;
$update_data->OrderStatus = '1';
$update_data->ErrorMsg = $ctrip_backdata->TrainOrderService->OrderInfo->NoTicketReasons;
}else if($update_data->ServiceName == 'notice.ordercancel'){ //订单取消
$update_data->ordernumber = $ctrip_backdata->cancelResult->companyOrderId;
$update_data->OrderStatus = '12';
$update_data->ErrorMsg = '订单取消'.$ctrip_backdata->cancelResult->cancelTime;
$update_data->confirmcallback = $back_json;
}else if($update_data->ServiceName == 'web.order.returnTicketNotice'){
$update_data->ordernumber = $ctrip_backdata->TrainOrderService->OrderNumber;
$update_data->OrderStatus = '7';
$update_data->ErrorMsg = $ctrip_backdata->TrainOrderService->refundTicket->reason;
$update_data->returncallback = $back_json;
}else if($update_data->ServiceName == 'notice.refundresult'){ //退款通知
$refundType = $ctrip_backdata->refundResult->refundType; //退款类型int
$reason = $ctrip_backdata->refundResult->reason; //退款原因
$refundTime = $ctrip_backdata->refundResult->refundTime; //退款时间
$return_money = $ctrip_backdata->refundResult->refundAmount; //退款金额
$update_data->ordernumber = $ctrip_backdata->refundResult->companyOrderId;
if ($refundType=="1"){
$update_data->OrderStatus = '10';
}else{
$update_data->OrderStatus = '11';
}
$update_data->ErrorMsg = '退款:'.$this->train_refundType[$refundType]." 金额:".$return_money." time:". $refundTime;
$update_data->refundcallback = $back_json;
//翰特添加退款记录
$refund_train_payment = new stdClass();
$return_order = $ctrip_backdata->refundResult->companyOrderId;
$refund_train_payment->TOC_VEI_SN = "28209";
//根据订单号获取cold_sn
$order_info = $this->train_system_model->get_order_info($return_order);
$cold_sn = $order_info->ts_cold_sn;
//print_r($order_info);
//获取longElecNo长电子订单号用来判断是否是多张票退款
$longElecNo="";
if (isset($ctrip_backdata->refundResult->refundDetailInfoList)){
$refundDetailInfoList = $ctrip_backdata->refundResult->refundDetailInfoList;
$longElecNo = $refundDetailInfoList[0]->longElecNo;
}
$memo = $return_order.'_'.$this->train_refundType[$refundType].'_长电子订单号:'. $longElecNo . '_' . $refundTime; //退款集合信息
$refund_train_payment->TOC_Memo = $memo;
$refund_train_payment->TOC_COLD_SN = $cold_sn;
$refund_train_payment->TOC_TrainNumber = $order_info->ts_checi;
$refund_train_payment->TOC_DepartureDate = $order_info->ts_startdate;
$refund_train_payment->TOC_TicketCost = -$return_money;
//print_r($add_train_payment_data);die();
$this->BIZ_train_model->refund_train_payment($refund_train_payment);
}else if($update_data->ServiceName == 'notice.returnresult'){ //退票
$update_data->ordernumber = $ctrip_backdata->returnResult->companyOrderId;
$resultCode = $ctrip_backdata->returnResult->resultCode;
$update_data->ErrorMsg = $ctrip_backdata->returnResult->resultMsg;
$longElecNo = $ctrip_backdata->returnResult->longElecNo;
$returnSuccTime = $ctrip_backdata->returnResult->returnSuccTime; //退票成功时间 yyyy-MM-dd hh:mm:ss
$printStatus = $ctrip_backdata->returnResult->printStatus; //1 已取票 2未取票 0未知
$preRefundAmount = $ctrip_backdata->returnResult->preRefundAmount; // 预计退票退款
$sxfAmount= $ctrip_backdata->returnResult->sxfAmount; //退票手续费
$operateTradeNo = $ctrip_backdata->returnResult->operateTradeNo; //操作流水号 退款通知里会有相同的操作流水号做对应。
$update_data->operateTradeNo=$operateTradeNo;
//退票时还需要单独对对每个乘客存储回调信息
$passpager_info = new stdClass();
$passpager_info->returncallback = $back_json;
$passpager_info->status = '7';
$passpager_info->ordernumber = $ctrip_backdata->TrainOrderService->OrderNumber;
$passpager_info->realname = $ctrip_backdata->TrainOrderService->refundTicket->realName;
$passpager_info->numberid = $ctrip_backdata->TrainOrderService->refundTicket->passport;
$this->train_system_model->update_passpager_info($passpager_info);
$passpager_info->ordernumber = $ctrip_backdata->returnResult->companyOrderId;
$passpager_info->longElecNo = $longElecNo;
if ($resultCode=="1"){
//退票成功
$update_data->OrderStatus = '7';
//退票时还需要单独对对每个乘客存储回调信息
$passpager_info->status = '7';
//保存退票成功信息到trainsystem
if ($printStatus==1){
$pintmsg="已取票";
}else if($printStatus==2){
$pintmsg="未取票";
}else{
$pintmsg="";
}
$msg = "退票成功:".$ctrip_backdata->returnResult->resultMsg."(".$returnSuccTime.",".$pintmsg.",预计退票退款:".$preRefundAmount.",手续费:".$sxfAmount.")";
$update_data->ErrorMsg=$msg;
//退票手续费保存到数据库
//翰特添加退款记录
$returnticket = new stdClass();
$return_order = $ctrip_backdata->returnResult->companyOrderId;
$returnticket->TOC_VEI_SN = "28209";
//根据订单号获取cold_sn
$order_info = $this->train_system_model->get_order_info($return_order);
$cold_sn = $order_info->ts_cold_sn;
//print_r($order_info);
//获取longElecNo长电子订单号用来判断是否是多张票
$longElecNo=$ctrip_backdata->returnResult->longElecNo;
$returnSuccTime = $ctrip_backdata->returnResult->returnSuccTime;
$memo = $return_order.'_长电子订单号:'. $longElecNo . '_' . $returnSuccTime; //退款集合信息
$returnticket->TOC_Memo = $memo;
$returnticket->TOC_COLD_SN = $cold_sn;
$returnticket->TOC_TrainNumber = $order_info->ts_checi;
$returnticket->TOC_DepartureDate = $order_info->ts_startdate;
$returnticket->TOC_TicketCost = -$sxfAmount>0?$sxfAmount:15;
//print_r($add_train_payment_data);die();
$this->BIZ_train_model->returnticket_train($returnticket);
}else{
//退票失败
$update_data->OrderStatus = '8';
//失败也保存下信息
$passpager_info->status = '8';
}
$this->train_system_model->return_update_passpager_info($passpager_info);
$update_data->returncallback = $back_json;
}elseif($update_data->ServiceName == 'web.order.returnRescheduleResult'){
$update_data->ordernumber = $ctrip_backdata->TrainOrderService->OrderNumber;
$update_data->OrderStatus = '7';
@ -363,23 +468,23 @@ class callback extends CI_Controller{
$passpager_info->numberid = $ctrip_backdata->TrainOrderService->refundRescheduleTicket->passport;
$this->train_system_model->update_passpager_info($passpager_info);
}else if($update_data->ServiceName == 'web.order.requestRefund'){
$return_order = $ctrip_backdata->TrainOrderService->OrderInfo->OrderNumber;
$return_money = $ctrip_backdata->TrainOrderService->TotalRefundAmount;
//根据订单号获取cold_sn
$order_info = $this->train_system_model->get_order_info($return_order);
$cold_sn = $order_info->ts_cold_sn;
//print_r($order_info);
$add_train_payment_data->TOC_Memo = $return_order.'_'.$ctrip_backdata->TrainOrderService->OrderInfo->OrderTid;
$add_train_payment_data->TOC_COLD_SN = $cold_sn;
$add_train_payment_data->TOC_TrainNumber = $order_info->ts_checi;
$add_train_payment_data->TOC_DepartureDate = $order_info->ts_startdate;
$add_train_payment_data->TOC_TicketCost = -$ctrip_backdata->TrainOrderService->TotalRefundAmount;
$add_train_payment_data->FOI_TrainNetOrderNo=null;
//print_r($add_train_payment_data);die();
$this->BIZ_train_model->add_train_payment($add_train_payment_data);
return false;
// $return_order = $ctrip_backdata->TrainOrderService->OrderInfo->OrderNumber;
// $return_money = $ctrip_backdata->TrainOrderService->TotalRefundAmount;
// //根据订单号获取cold_sn
// $order_info = $this->train_system_model->get_order_info($return_order);
// $cold_sn = $order_info->ts_cold_sn;
// //print_r($order_info);
// $add_train_payment_data->TOC_Memo = $return_order.'_'.$ctrip_backdata->TrainOrderService->OrderInfo->OrderTid;
// $add_train_payment_data->TOC_COLD_SN = $cold_sn;
// $add_train_payment_data->TOC_TrainNumber = $order_info->ts_checi;
// $add_train_payment_data->TOC_DepartureDate = $order_info->ts_startdate;
// $add_train_payment_data->TOC_TicketCost = -$ctrip_backdata->TrainOrderService->TotalRefundAmount;
// $add_train_payment_data->FOI_TrainNetOrderNo=null;
// //print_r($add_train_payment_data);die();
// $this->BIZ_train_model->add_train_payment($add_train_payment_data);
// return false;
}else if ($update_data->ServiceName == 'web.order.rescheduleResult'){
$update_data->ordernumber = $ctrip_backdata->TrainOrderService->OrderInfo->OrderNumber;
$reschedule_status = $ctrip_backdata->TrainOrderService->OrderInfo->RescheduleTicketInfo->RescheduleTickets->RescheduleTicket->status;
@ -402,6 +507,12 @@ class callback extends CI_Controller{
}
//更新订单信息(出票系统)
$this->train_system_model->update_orders($update_data);
// //返回结果
// $returnResult = new stdClass();
// $returnResult->returnCode = 1;
// $returnResult->returnMsg = "";
// echo(json_encode($returnResult));
}
}
}

@ -39,10 +39,13 @@ class innerTrainSearch extends CI_Controller{
$this->juheApi($date,$from,$to);
break;
case 'ctrip':
$this->ctripApi($date,$from,$to);
$this->NewCtripApi($date,$from,$to);
break;
case 'lanhai':
$this->LanHaiApi($date,$from,$to);
break;
default :
$this->juheApi($date,$from,$to);
$this->NewCtripApi($date,$from,$to);
break;
}
}
@ -99,8 +102,8 @@ class innerTrainSearch extends CI_Controller{
$now_time = time();
$this->differ_time = (strtotime($train_date) - $now_time) / 86400;
$this->seveth = false;
//屏蔽掉超过预售期的搜索,提高速度
if($this->differ_time > 29){
//屏蔽掉超过预售期的搜索,提高速度,2021-7-5 zp修改预售期为15天不再是30天
if($this->differ_time > 14){
$train_date = date('Y-m-d',strtotime('+7day'));
$this->seveth = true;
}
@ -209,8 +212,18 @@ class innerTrainSearch extends CI_Controller{
return json_encode($return_data);
}
//携程数据接口
public function ctripApi($date=null,$from=null,$to=null,$return=false){
/**
* @description: 新的携程(顺途)火车票查询接口
* @param {*} $date 日期
* @param {*} $from 出发站点三字码
* @param {*} $to 到达站点三字码
* @param {*} $return
* @return {*}
* @Date Changed:
*/
public function NewCtripApi($date=null,$from=null,$to=null,$return=false){
if(!$date || !$from || !$to){
header("HTTP/1.1 404 Not Found");
exit('{"httpstatus":404,"data":{"seven":false,"cache":false,"result":[],"map":{}}}');
@ -220,7 +233,8 @@ class innerTrainSearch extends CI_Controller{
$cachedata = false;
$now_time = time();
$differ = (strtotime($date) - $now_time) / 86400;
if($differ > 29){
//屏蔽掉超过预售期的搜索,提高速度,2021-7-5 zp修改预售期为15天不再是30天
if($differ > 14){
$date = date('Y-m-d',strtotime('+7day'));
$iseven = true;
}
@ -240,23 +254,40 @@ class innerTrainSearch extends CI_Controller{
}
//生成请求链接
$TimeStamp = time();
$Sign = md5($TimeStamp.DATAKEY);
$url = JSONRETURN.'SearchS2S/?From='.urlencode($FromName).'&To='.urlencode($ToName).'&DepartDate='.$date.'&User='.DATAUSER.'&TimeStamp='.$TimeStamp.'&Sign='.$Sign;
$TimeStamp = date("Y-m-d H:i:s");
$serviceName = "train.searchTrainsBetweenStations"; //每个接口都有自己名称
$strSign = $TimeStamp.$serviceName.COMPANYID.CTRIPKEY; //加密前的令牌
$Sign = md5($strSign);
$url = CTRIPURL."/searchTrainsBetweenStations";
//构建接口参数POST方式JSON格式
$post_data = new stdClass();
$post_data->authentication = new stdClass();
$post_data->authentication->timeStamp = $TimeStamp;
$post_data->authentication->serviceName = $serviceName;
$post_data->authentication->companyId = COMPANYID;
$post_data->authentication->messageIdentity = $Sign;
$post_data->searchTrainsParam = new stdClass();
$post_data->searchTrainsParam->departDate = $date;
$post_data->searchTrainsParam->fromStationName = $FromName;
$post_data->searchTrainsParam->toStationName = $ToName;
$api_start_time = microtime(true);
//获取数据
$ResponseJson = GetPost_http($url,'','GET');
// //获取数据
// echo ($url . "<hr/>");
// echo(json_encode($post_data) . "<hr/>");
$ResponseJson = GetPost_http($url,json_encode($post_data),'json');
$api_end_time = microtime(true);
$ResponseData = json_decode($ResponseJson);
// echo($ResponseJson);
$api_responsive_time = $api_end_time - $api_start_time;
if(empty($ResponseData->Trains)){
if(empty($ResponseData->trainList)){
log_message('error','ctrip_trian|status:trains is empty |相应时间:'.$api_responsive_time);
}else{
log_message('error','ctrip_trian|status:'.$ResponseData->ResponseStatus->Ack.'|相应时间:'.$api_responsive_time);
@ -268,7 +299,7 @@ class innerTrainSearch extends CI_Controller{
$ReturnData->data = new stdClass();
$ReturnData->data->seven = $iseven;
$ReturnData->data->cache = $isCache;
$ReturnData->data->supplier = 'ctrip';
$ReturnData->data->supplier = 'newctrip';
$ReturnData->data->result = array();
$ReturnData->data->map = new stdClass();
$obj = array();
@ -276,115 +307,115 @@ class innerTrainSearch extends CI_Controller{
$PriceStr = '';
//数据解析
if(!empty($ResponseData->Trains)){
foreach ($ResponseData->Trains as $TrainInfo){
$obj[$TrainInfo->FromTelcode] = $TrainInfo->FromStationName;
$obj[$TrainInfo->ToTelcode] = $TrainInfo->ToStationName;
if(!empty($ResponseData->trainList)){
foreach ($ResponseData->trainList as $TrainInfo){
$obj[$TrainInfo->fromTelCode] = $TrainInfo->fromStationName;
$obj[$TrainInfo->toTelCode] = $TrainInfo->toStationName;
$SeaType = '';
//余数初始化为空
$gjrwNum = $rwNum = $rzNum = $tdzNum = $wzNum = $yzNum = $edzNum = $ydzNum = $swzNum = $ywNum = $dwNum = $ydwNum = $edzNum = null;
foreach($TrainInfo->Seats as $Seats){
foreach($TrainInfo->seatList as $Seats){
//从香港出发的 D/G 火车加价3%
if($from == 'XJA'){
if(stripos($TrainInfo->TrainNo, "G") !== false || stripos($TrainInfo->TrainNo, "D") !== false){
$Seats->Price = $Seats->Price * 1.03;
if(stripos($TrainInfo->trainNo, "G") !== false || stripos($TrainInfo->trainNo, "D") !== false){
$Seats->maxPrice = $Seats->maxPrice * 1.03;
}
}
if($Seats->SeatName == '高级软卧上'){
$gjrwXiaPrice = $Seats->Price * 10;
$SeaType .= '"6":"'.$gjrwXiaPrice.'","A6":"¥'.$Seats->Price.'",';
$gjrwNum = $Seats->TicketLeft;
if($Seats->seatName == '高级软卧上' || $Seats->seatName == '高级软卧'){
$gjrwXiaPrice = $Seats->maxPrice * 10;
$SeaType .= '"6":"'.$gjrwXiaPrice.'","A6":"¥'.$Seats->maxPrice.'",';
$gjrwNum = $Seats->ticketLeft;
}
if($Seats->SeatName == '软卧'){
$rwPrice = $Seats->Price * 10;
$SeaType .= '"4":"'.$rwPrice.'","A4":"¥'.$Seats->Price.'",';
$rwNum = $Seats->TicketLeft;
if($Seats->seatName == '软卧上' || $Seats->seatName == '软卧' ){
$rwPrice = $Seats->maxPrice * 10;
$SeaType .= '"4":"'.$rwPrice.'","A4":"¥'.$Seats->maxPrice.'",';
$rwNum = $Seats->ticketLeft;
}
if($Seats->SeatName == '一等双软上'){
$SeaType .= '"YDW":"¥'.$Seats->Price.'",';
$ydwNum = $Seats->TicketLeft;
if($Seats->seatName == '一等双软上' || $Seats->seatName=='一等卧'){
$SeaType .= '"YDW":"¥'.$Seats->maxPrice.'",';
$ydwNum = $Seats->ticketLeft;
}
if($Seats->SeatName == '软座'){
$rzPrice = $Seats->Price * 10;
$SeaType .= '"2":"'.$rzPrice.'","A2":"¥'.$Seats->Price.'",';
$rzNum = $Seats->TicketLeft;
if($Seats->seatName == '软座'){
$rzPrice = $Seats->maxPrice * 10;
$SeaType .= '"2":"'.$rzPrice.'","A2":"¥'.$Seats->maxPrice.'",';
$rzNum = $Seats->ticketLeft;
}
if($Seats->SeatName == '特等座'){
$SeaType .= '"P":"¥'.$Seats->Price.'",';
$tdzNum = $Seats->TicketLeft;
if($Seats->seatName == '特等座'){
$SeaType .= '"P":"¥'.$Seats->maxPrice.'",';
$tdzNum = $Seats->ticketLeft;
}
if($Seats->SeatName == '无座'){
$SeaType .= '"WZ":"¥'.$Seats->Price.'",';
$wzNum = $Seats->TicketLeft;
if($Seats->seatName == '无座'){
$SeaType .= '"WZ":"¥'.$Seats->maxPrice.'",';
$wzNum = $Seats->ticketLeft;
}
if($Seats->SeatName == '硬座'){
$yzPrice = $Seats->Price * 10;
$SeaType .= '"1":"'.$yzPrice.'","A1":"¥'.$Seats->Price.'",';
$yzNum = $Seats->TicketLeft;
if($Seats->seatName == '硬座'){
$yzPrice = $Seats->maxPrice * 10;
$SeaType .= '"1":"'.$yzPrice.'","A1":"¥'.$Seats->maxPrice.'",';
$yzNum = $Seats->ticketLeft;
}
if($Seats->SeatName == '二等座'){
$SeaType .= '"O":"¥'.$Seats->Price.'",';
$edzNum = $Seats->TicketLeft;
if($Seats->seatName == '二等座'){
$SeaType .= '"O":"¥'.$Seats->maxPrice.'",';
$edzNum = $Seats->ticketLeft;
}
if($Seats->SeatName == '一等座'){
$SeaType .= '"M":"¥'.$Seats->Price.'",';
$ydzNum = $Seats->TicketLeft;
if($Seats->seatName == '一等座'){
$SeaType .= '"M":"¥'.$Seats->maxPrice.'",';
$ydzNum = $Seats->ticketLeft;
}
if($Seats->SeatName == '商务座'){
$swzPrice = $Seats->Price * 10;
$SeaType .= '"9":"'.$swzPrice.'","A9":"¥'.$Seats->Price.'",';
$swzNum = $Seats->TicketLeft;
if($Seats->seatName == '商务座'){
$swzPrice = $Seats->maxPrice * 10;
$SeaType .= '"9":"'.$swzPrice.'","A9":"¥'.$Seats->maxPrice.'",';
$swzNum = $Seats->ticketLeft;
}
if($Seats->SeatName == '硬卧上'){
$ywPrice = $Seats->Price * 10;
$SeaType .= '"3":"'.$ywPrice.'","A3":"¥'.$Seats->Price.'",';
$ywNum = $Seats->TicketLeft;
if($Seats->seatName == '硬卧上' || $Seats->seatName == '硬卧'){
$ywPrice = $Seats->maxPrice * 10;
$SeaType .= '"3":"'.$ywPrice.'","A3":"¥'.$Seats->maxPrice.'",';
$ywNum = $Seats->ticketLeft;
}
if($Seats->SeatName == '二等双软上'){
$SeaType .= '"EDW":"¥'.$Seats->Price.'",';
$erwNum = $Seats->TicketLeft;
if($Seats->seatName == '二等双软上' || $Seats->seatName == '二等卧'){
$SeaType .= '"EDW":"¥'.$Seats->maxPrice.'",';
$erwNum = $Seats->ticketLeft;
}
if($Seats->SeatName == '动卧上'){
$SeaType .= '"F":"¥'.$Seats->Price.'",';
$dwNum = $Seats->TicketLeft;
if($Seats->seatName == '动卧上' || $Seats->seatName == '动卧'){
$SeaType .= '"F":"¥'.$Seats->maxPrice.'",';
$dwNum = $Seats->ticketLeft;
}
$PriceStr = $SeaType.'"train_no":'.'"'.$TrainInfo->TrainNo.'"';
$PriceStr = $SeaType.'"train_no":'.'"'.$TrainInfo->trainNo.'"';
}
//对返回的数据进行容错处理
$gjrwNum = isset($gjrwNum) ? ticket_exchange($Seats->Price,$gjrwNum,$iseven) : '';
$rwNum = isset($rwNum) ? ticket_exchange($Seats->Price,$rwNum,$iseven) : '';
$rzNum = isset($rzNum) ? ticket_exchange($Seats->Price,$rzNum,$iseven) : '';
$tdzNum = isset($tdzNum) ? ticket_exchange($Seats->Price,$tdzNum,$iseven) : '';
$wzNum = isset($wzNum) ? ticket_exchange($Seats->Price,$wzNum,$iseven) : '';
$ywNum = isset($ywNum) ? ticket_exchange($Seats->Price,$ywNum,$iseven) : '';
$yzNum = isset($yzNum) ? ticket_exchange($Seats->Price,$yzNum,$iseven) : '';
$edzNum = isset($edzNum) ? ticket_exchange($Seats->Price,$edzNum,$iseven) : '';
$ydzNum = isset($ydzNum) ? ticket_exchange($Seats->Price,$ydzNum,$iseven) : '';
$swzNum = isset($swzNum) ? ticket_exchange($Seats->Price,$swzNum,$iseven) : '';
$dwNum = isset($dwNum) ? ticket_exchange($Seats->Price,$dwNum,$iseven) : '';
$ydwNum = isset($ydwNum) ? ticket_exchange($Seats->Price,$ydwNum,$iseven) : '';
$erwNum = isset($erwNum) ? ticket_exchange($Seats->Price,$erwNum,$iseven) : '';
$runMin = $TrainInfo->DurationMinutes % 60;
$runHour = ($TrainInfo->DurationMinutes - $runMin) / 60;
$ReturnData->data->result[$i] = '|预定|'.$TrainInfo->Train12306No.'|'.$TrainInfo->TrainNo.'|'.$TrainInfo->FromStationName.'|'.$TrainInfo->ToStationName.'|'.$TrainInfo->FromTelcode.'|'.$TrainInfo->ToTelcode.'|'.$TrainInfo->StartTime.'|'.$TrainInfo->ArriveTime.'|'.$runHour.':'.$runMin.'|'.$TrainInfo->CanWebBuy.'||'.date('Ymd',strtotime($date)).'||||||||'.$gjrwNum.'||'.$rwNum.'|'.$rzNum.'|'.$tdzNum.'|'.$wzNum.'||'.$ywNum.'|'.$yzNum.'|'.$edzNum.'|'.$ydzNum.'|'.$swzNum.'|'.$dwNum.'|||'.$ydwNum.'|'.$erwNum;
$gjrwNum = isset($gjrwNum) ? ticket_exchange($Seats->maxPrice,$gjrwNum,$iseven) : '';
$rwNum = isset($rwNum) ? ticket_exchange($Seats->maxPrice,$rwNum,$iseven) : '';
$rzNum = isset($rzNum) ? ticket_exchange($Seats->maxPrice,$rzNum,$iseven) : '';
$tdzNum = isset($tdzNum) ? ticket_exchange($Seats->maxPrice,$tdzNum,$iseven) : '';
$wzNum = isset($wzNum) ? ticket_exchange($Seats->maxPrice,$wzNum,$iseven) : '';
$ywNum = isset($ywNum) ? ticket_exchange($Seats->maxPrice,$ywNum,$iseven) : '';
$yzNum = isset($yzNum) ? ticket_exchange($Seats->maxPrice,$yzNum,$iseven) : '';
$edzNum = isset($edzNum) ? ticket_exchange($Seats->maxPrice,$edzNum,$iseven) : '';
$ydzNum = isset($ydzNum) ? ticket_exchange($Seats->maxPrice,$ydzNum,$iseven) : '';
$swzNum = isset($swzNum) ? ticket_exchange($Seats->maxPrice,$swzNum,$iseven) : '';
$dwNum = isset($dwNum) ? ticket_exchange($Seats->maxPrice,$dwNum,$iseven) : '';
$ydwNum = isset($ydwNum) ? ticket_exchange($Seats->maxPrice,$ydwNum,$iseven) : '';
$erwNum = isset($erwNum) ? ticket_exchange($Seats->maxPrice,$erwNum,$iseven) : '';
$runMin = $TrainInfo->durationMinutes % 60;
$runHour = ($TrainInfo->durationMinutes - $runMin) / 60;
$ReturnData->data->result[$i] = '|预定|'.$TrainInfo->train12306No.'|'.$TrainInfo->trainNo.'|'.$TrainInfo->fromStationName.'|'.$TrainInfo->toStationName.'|'.$TrainInfo->fromTelCode.'|'.$TrainInfo->toTelCode.'|'.$TrainInfo->startTime.'|'.$TrainInfo->arriveTime.'|'.$runHour.':'.$runMin.'|'.$TrainInfo->canWebBuy.'||'.date('Ymd',strtotime($date)).'||||||||'.$gjrwNum.'||'.$rwNum.'|'.$rzNum.'|'.$tdzNum.'|'.$wzNum.'||'.$ywNum.'|'.$yzNum.'|'.$edzNum.'|'.$ydzNum.'|'.$swzNum.'|'.$dwNum.'|||'.$ydwNum.'|'.$erwNum;
$data = '{"validateMessagesShowId":"_validatorMessage","status":true,"httpstatus":200,"data":{'.$PriceStr.'},"messages":[],"validateMessages":{}}';
$ReturnData->data->price[$i] = $data;
@ -398,6 +429,280 @@ class innerTrainSearch extends CI_Controller{
}else{
echo json_encode($ReturnData);
}
}
}
/**
* @description: 三亚澜海商务的火车票查询接口
* @param {*} $data
* @param {*} $from
* @param {*} $to
* @param {*} $return
* @return {*}
* @Date Changed:
*/
public function LanHaiApi($date=null,$from=null,$to=null,$return=false){
if(!$date || !$from || !$to){
header("HTTP/1.1 404 Not Found");
exit('{"httpstatus":404,"data":{"seven":false,"cache":false,"result":[],"map":{}}}');
}else{
$isCache = false;
$iseven = false;
$cachedata = false;
$now_time = time();
$differ = (strtotime($date) - $now_time) / 86400;
//屏蔽掉超过预售期的搜索,提高速度,2021-7-5 zp修改预售期为15天不再是30天
if($differ > 14){
$date = date('Y-m-d',strtotime('+7day'));
$iseven = true;
}
//生成请求链接
$url = "http://ctrip.lhticket.com/api/open/query/train";
//构建接口参数POST方式JSON格式
$post_data = new stdClass();
$post_data->date = $date;
$post_data->fromStationCode = $from;
$post_data->toStationCode = $to;
$api_start_time = microtime(true);
// //获取数据
// echo ($url . "<hr/>");
// echo(json_encode($post_data) . "<hr/>");
$ResponseJson = GetPost_http($url,json_encode($post_data),'json');
$api_end_time = microtime(true);
$ResponseData = json_decode($ResponseJson);
// // 获取 microtime
// $microtime = microtime(true);
// // 将时间戳转换为毫秒
// $timestampInMilliseconds = round($microtime * 1000);
// echo $timestampInMilliseconds;
// echo($ResponseJson);
// die();
$api_responsive_time = $api_end_time - $api_start_time;
if(empty($ResponseData->data)){
log_message('error','lanhai_train|status:trains is empty |相应时间:'.$api_responsive_time);
}else{
log_message('error','lanhai_train|status:'.$ResponseData->success.'|相应时间:'.$api_responsive_time);
}
//定义返回的json
$ReturnData = new stdClass();
$ReturnData->httpstatus = 200;
$ReturnData->data = new stdClass();
$ReturnData->data->seven = $iseven;
$ReturnData->data->cache = $isCache;
$ReturnData->data->supplier = 'lanhai';
$ReturnData->data->result = array();
$ReturnData->data->map = new stdClass();
$obj = array();
$i = 0;
$PriceStr = '';
//数据解析
if(!empty($ResponseData->data)){
foreach ($ResponseData->data as $TrainInfo){
$obj[$TrainInfo->fromStationCode] = $TrainInfo->fromStationName;
$obj[$TrainInfo->toStationCode] = $TrainInfo->toStationName;
$SeaType = '';
//余数初始化为空
$gjrwNum = $rwNum = $rzNum = $tdzNum = $wzNum = $yzNum = $edzNum = $ydzNum = $swzNum = $ywNum = $dwNum = $ydwNum = $edzNum = null;
foreach($TrainInfo->seats as $Seats){
$ticketLeft = 0 ; //澜海余票会传有和无的中文
if ($Seats->count == "有"){
$ticketLeft = 99;
}else if ($Seats->count == "无"){
$ticketLeft = 0;
}else {
$ticketLeft = $Seats->count;
}
//从香港出发的 D/G 火车加价3%
if($from == 'XJA'){
if(stripos($TrainInfo->trainCode, "G") !== false || stripos($TrainInfo->trainCode, "D") !== false){
$Seats->ticketPrice = $Seats->ticketPrice * 1.03;
}
}
if(strstr($Seats->seatTypeName,'高级软卧')){
$gjrwXiaPrice = $Seats->ticketPrice * 10;
$SeaType .= '"6":"'.$gjrwXiaPrice.'","A6":"¥'.$Seats->ticketPrice.'",';
$gjrwNum = $ticketLeft;
}
if(strstr($Seats->seatTypeName,'软卧') ){
$rwPrice = $Seats->ticketPrice * 10;
$SeaType .= '"4":"'.$rwPrice.'","A4":"¥'.$Seats->ticketPrice.'",';
$rwNum = $ticketLeft;
}
if(strstr($Seats->seatTypeName,'一等卧')){
$SeaType .= '"YDW":"¥'.$Seats->ticketPrice.'",';
$ydwNum = $ticketLeft;
}
if($Seats->seatTypeName == '软座'){
$rzPrice = $Seats->ticketPrice * 10;
$SeaType .= '"2":"'.$rzPrice.'","A2":"¥'.$Seats->ticketPrice.'",';
$rzNum = $ticketLeft;
}
if($Seats->seatTypeName == '特等座'){
$SeaType .= '"P":"¥'.$Seats->ticketPrice.'",';
$tdzNum = $ticketLeft;
}
if($Seats->seatTypeName == '无座'){
$SeaType .= '"WZ":"¥'.$Seats->ticketPrice.'",';
$wzNum = $ticketLeft;
}
if($Seats->seatTypeName == '硬座'){
$yzPrice = $Seats->ticketPrice * 10;
$SeaType .= '"1":"'.$yzPrice.'","A1":"¥'.$Seats->ticketPrice.'",';
$yzNum = $ticketLeft;
}
if($Seats->seatTypeName == '二等座'){
$SeaType .= '"O":"¥'.$Seats->ticketPrice.'",';
$edzNum = $ticketLeft;
}
if($Seats->seatTypeName == '一等座'){
$SeaType .= '"M":"¥'.$Seats->ticketPrice.'",';
$ydzNum = $ticketLeft;
}
if($Seats->seatTypeName == '商务座'){
$swzPrice = $Seats->ticketPrice * 10;
$SeaType .= '"9":"'.$swzPrice.'","A9":"¥'.$Seats->ticketPrice.'",';
$swzNum = $ticketLeft;
}
if(strstr($Seats->seatTypeName,'硬卧')){
$ywPrice = $Seats->ticketPrice * 10;
$SeaType .= '"3":"'.$ywPrice.'","A3":"¥'.$Seats->ticketPrice.'",';
$ywNum = $ticketLeft;
}
if(strstr($Seats->seatTypeName, '二等卧')){
$SeaType .= '"EDW":"¥'.$Seats->ticketPrice.'",';
$erwNum = $ticketLeft;
}
if(strstr($Seats->seatTypeName,'动卧')){
$SeaType .= '"F":"¥'.$Seats->ticketPrice.'",';
$dwNum = $ticketLeft;
}
$PriceStr = $SeaType.'"train_no":'.'"'.$TrainInfo->trainCode.'"';
}
//对返回的数据进行容错处理
$gjrwNum = isset($gjrwNum) ? ticket_exchange($Seats->ticketPrice,$gjrwNum,$iseven) : '';
$rwNum = isset($rwNum) ? ticket_exchange($Seats->ticketPrice,$rwNum,$iseven) : '';
$rzNum = isset($rzNum) ? ticket_exchange($Seats->ticketPrice,$rzNum,$iseven) : '';
$tdzNum = isset($tdzNum) ? ticket_exchange($Seats->ticketPrice,$tdzNum,$iseven) : '';
$wzNum = isset($wzNum) ? ticket_exchange($Seats->ticketPrice,$wzNum,$iseven) : '';
$ywNum = isset($ywNum) ? ticket_exchange($Seats->ticketPrice,$ywNum,$iseven) : '';
$yzNum = isset($yzNum) ? ticket_exchange($Seats->ticketPrice,$yzNum,$iseven) : '';
$edzNum = isset($edzNum) ? ticket_exchange($Seats->ticketPrice,$edzNum,$iseven) : '';
$ydzNum = isset($ydzNum) ? ticket_exchange($Seats->ticketPrice,$ydzNum,$iseven) : '';
$swzNum = isset($swzNum) ? ticket_exchange($Seats->ticketPrice,$swzNum,$iseven) : '';
$dwNum = isset($dwNum) ? ticket_exchange($Seats->ticketPrice,$dwNum,$iseven) : '';
$ydwNum = isset($ydwNum) ? ticket_exchange($Seats->ticketPrice,$ydwNum,$iseven) : '';
$erwNum = isset($erwNum) ? ticket_exchange($Seats->ticketPrice,$erwNum,$iseven) : '';
//时间处理
$startTime = date("H:i", strtotime($TrainInfo->startTime));;
$arrivalTime = date("H:i", strtotime($TrainInfo->arrivalTime));;
$runMin = $TrainInfo->travelTime % 60;
$runHour = ($TrainInfo->travelTime - $runMin) / 60;
$ReturnData->data->result[$i] = '|预定|'.$TrainInfo->trainNo.'|'.$TrainInfo->trainCode.'|'.$TrainInfo->fromStationName.'|'.$TrainInfo->toStationName.'|'.$TrainInfo->fromStationCode.'|'.$TrainInfo->toStationCode.'|'.$startTime.'|'.$arrivalTime.'|'.$runHour.':'.$runMin.'|Y||'.date('Ymd',strtotime($date)).'||||||||'.$gjrwNum.'||'.$rwNum.'|'.$rzNum.'|'.$tdzNum.'|'.$wzNum.'||'.$ywNum.'|'.$yzNum.'|'.$edzNum.'|'.$ydzNum.'|'.$swzNum.'|'.$dwNum.'|||'.$ydwNum.'|'.$erwNum;
$data = '{"validateMessagesShowId":"_validatorMessage","status":true,"httpstatus":200,"data":{'.$PriceStr.'},"messages":[],"validateMessages":{}}';
$ReturnData->data->price[$i] = $data;
$i++;
}
}
//print_r($ResponseData);die();
$ReturnData->data->map = (object)$obj;
if($return){
return json_encode($ReturnData);
}else{
echo json_encode($ReturnData);
}
}
}
//App项目组的接口 暂时不用
public function appGroupApi($train_date=null,$fromStation=null,$toStation=null,$return=false){
set_time_limit(0);
//判断数据是否合法
if(!$train_date || !$fromStation || !$toStation){
exit('传参不能为空!');
}else{
if(strlen($fromStation) != 3){
exit('fromStation:参数错误!');
}
if(strlen($toStation) != 3){
exit('toStation:参数错误!');
}
$api_start_time = microtime(true);
$train_date = date('Y-m-d', strtotime($train_date)); // 调整格式:YYYY-mm-dd
//调用查询模块
$this->train_date = $train_date;
$now_time = time();
$this->differ_time = (strtotime($train_date) - $now_time) / 86400;
$this->seveth = false;
//屏蔽掉超过预售期的搜索 ,修改预售期为15天不再是30天
if($this->differ_time > 14){
$train_date = date('Y-m-d',strtotime('+7day'));
$this->seveth = true;
}
$appGroupUrl = "http://106.14.5.249:8016/otn/leftTicket/query?leftTicketDTO.train_date=2022-07-15&leftTicketDTO.from_station=GLZ&leftTicketDTO.to_station=NNZ&purpose_codes=ADULT";
//$appGroupUrl = "http://106.14.5.249:8185/otn/leftTicket/query?leftTicketDTO.train_date=2022-07-15&leftTicketDTO.from_station=GLZ&leftTicketDTO.to_station=NNZ&purpose_codes=ADULT";
$this->url = $appGroupUrl;
$train_info = GetPost_http($this->url);
//$search_return = $train_info;
$api_end_time = microtime(true);
//调用拼接处理模块
$trainjson = json_encode($train_info);
$end_time = microtime(true);
//聚合接口相应时间
$api_responsive_time = $api_end_time - $api_start_time;
//我们的接口相应时间
$responsive_time = $end_time - $this->start_time;
log_message('error','TRAINSPEED|请求url:'.$this->url.'|APP项目组相应时间:'.$api_responsive_time.'s|接口运行时间:'.$responsive_time.'s|+7天:'.$this->seveth);
if($return){
return ($trainjson);
}else{
echo ($trainjson);
}
}
}
@ -447,28 +752,102 @@ class innerTrainSearch extends CI_Controller{
}
}
//获取所有站点信息(基于携程api)
//获取所有站点信息(基于新携程接口 2022-7-18
public function getallstation(){
ini_set('max_execution_time', 600);
//生成请求参数
$TimeStamp = time();
$Sign = md5($TimeStamp.DATAKEY);
$url = JSONRETURN.'/GetAllStations/?&User='.DATAUSER.'&TimeStamp='.$TimeStamp.'&Sign='.$Sign;
$ResponseJson = GetPost_http($url,'','GET');
$TimeStamp = date("Y-m-d H:i:s");
$serviceName = "train.getAllStations";
$strSign = $TimeStamp.$serviceName.COMPANYID.CTRIPKEY; //加密前的令牌
$Sign = md5($strSign);
$url = CTRIPURL."/getAllStations";
//构建接口参数POST方式JSON格式
$post_data = new stdClass();
$post_data->authentication = new stdClass();
$post_data->authentication->timeStamp = $TimeStamp;
$post_data->authentication->serviceName = $serviceName;
$post_data->authentication->companyId = COMPANYID;
$post_data->authentication->messageIdentity = $Sign;
//获取数据
$ResponseJson = GetPost_http($url,json_encode($post_data),'json');
//echo $ResponseJson;
$ResponseData = json_decode($ResponseJson);
$data = array();
foreach ($ResponseData->Stations as $items){
$data['StationName'] = isset($items->StationName) ? checkNull($items->StationName) : '';
$data['PinYin'] = isset($items->PinYin) ? checkNull($items->PinYin) : '';
$data['Telecode'] = isset($items->Telecode) ? checkNull($items->Telecode) : '';
$data['Address'] = isset($items->Address) ? checkNull($items->Address) : '';
$data['Geography'] = isset($items->Geography) ? checkNull($items->Geography) : '';
foreach ($ResponseData->stationList as $items){
$data['StationName'] = isset($items->stationName) ? checkNull($items->stationName) : '';
$data['PinYin'] = isset($items->pinYin) ? checkNull($items->pinYin) : '';
$data['Telecode'] = isset($items->telecode) ? checkNull($items->telecode) : '';
$data['Address'] = isset($items->address) ? checkNull($items->address) : '';
$data['Geography'] = isset($items->shortPinYin) ? checkNull($items->shortPinYin) : '';
$this->load->model("ctrip_model");
$this->ctrip_model->AddOrUpdate($data);
}
echo("所有站点数据更新完毕!");
}
public function testgetstation(){
$TimeStamp = date("Y-m-d H:i:s");
//$TimeStamp = time();
$serviceName = "train.getAllStations";
$companyId = COMPANYID;
$key = CTRIPKEY;
// /** 测试服务器 */
// $companyId = "1503141150";
// $key = "hajkrtbcc";
$strSign = $TimeStamp.$serviceName.$companyId.$key;
$sign = md5($strSign);
$E_sign = md5(urlencode($strSign));
//echo($strSign . "<hr/>");
echo($sign. "<hr/>");
echo($E_sign. "<hr/>");
//$JSONRETURN = "http://apiproxy-uat.ctripqa.com/apiproxy/soa2/19946";
$JSONRETURN = "https://apiproxy.ctrip.com/apiproxy/soa2/19946";
$data["TimeStamp"] = $TimeStamp;
$data["serviceName"] = $serviceName;
$data["companyId"] = $companyId;
$data["messageIdentity"] = $sign;
//$post_data = 'timeStamp='.$TimeStamp.'&serviceName='.$serviceName.'&companyId='.$companyId.'&messageIdentity='.$sign; //array("TimeStamp"=>$TimeStamp,"serviceName"=>$serviceName,"companyId"=>$companyId,"messageIdentity"=>$sign);
// $url = $JSONRETURN.'/getAllStations/?&timeStamp='.$TimeStamp.'&serviceName='.$serviceName.'&companyId='.$companyId.'&messageIdentity='.$sign;
//echo ($post_data);
$post_data = new stdClass();
$post_data->authentication = new stdClass();
$post_data->authentication->timeStamp = $TimeStamp;
$post_data->authentication->serviceName = $serviceName;
$post_data->authentication->companyId = $companyId;
$post_data->authentication->messageIdentity = $sign;
$url = $JSONRETURN."/getAllStations";
echo json_encode($post_data)."<hr/>" ;
$serviceName_Trains = "train.searchTrainsBetweenStations";
$sign_train = md5($TimeStamp.$serviceName_Trains.$companyId.$key);
$post_data_train = new stdClass();
$post_data_train->authentication = new stdClass();
$post_data_train->authentication->timeStamp = $TimeStamp;
$post_data_train->authentication->serviceName = $serviceName_Trains;
$post_data_train->authentication->companyId = $companyId;
$post_data_train->authentication->messageIdentity = $sign_train;
$post_data_train->searchTrainsParam = new stdClass();
$post_data_train->searchTrainsParam->departDate = date("Y-m-d",strtotime("3 day")); //"2022-07-22";
$post_data_train->searchTrainsParam->fromStationName = "北京";
$post_data_train->searchTrainsParam->toStationName = "深圳";
echo json_encode($post_data_train);
//$ResponseJson = GetPost_http($url,json_encode($post_data),'json');
//echo $ResponseJson;
//echo json_decode($ResponseJson);
}
//查询中转方案(基于携程api)
@ -518,8 +897,8 @@ class innerTrainSearch extends CI_Controller{
exit('传参错误!');
}
$back_json = $this->juheApi($train_date,$fromStation,$toStation,true);
//$back_json = $this->NewCtripApi($train_date,$fromStation,$toStation,true);
$back_json = $this->LanHaiApi($train_date,$fromStation,$toStation,true);
$train_info = new stdClass();
$train_info = json_decode($back_json);
@ -585,8 +964,8 @@ class innerTrainSearch extends CI_Controller{
'M' => $data[31], //一等座
'A9' => $data[32], //商务座
'F' => $data[33], //动卧
// 'YDW' => $data[36], //一等卧 // 聚合接口缺少值
// 'EDW' => $data[37], //二等卧
'YDW' => $data[36], //一等卧 // 聚合接口缺少值
'EDW' => $data[37], //二等卧
);
$j=0;
$soldoutnums = 0;
@ -596,14 +975,15 @@ class innerTrainSearch extends CI_Controller{
$return_data->result[$i]->SeatList[$j] = new StdClass();
$return_data->result[$i]->SeatList[$j]->SeatCode = $key;
$return_data->result[$i]->SeatList[$j]->SeatName = get_name($key);
$return_data->result[$i]->SeatList[$j]->SeatNameCn = get_name_cn($key); //中文名称
$value = str_replace('¥','',$value);
if(in_array($key, array('A3', 'A4', 'A5', 'A6', '3', '4', '5', '6', 'A', 'F', 'S','YDW','EDW'))){
if (stripos($return_data->result[$i]->TrainNo, "D") !== false || stripos($return_data->result[$i]->TrainNo, "G") !== false) {
$value = $value * 1.2;
//$value = $value * 1.2; //直接读取接口的最高价,无需再自己定义下铺价格。 2022-7-21 zp
$return_data->result[$i]->SeatList[$j]->ChildDiscut = 1;
}else{
$value = $value * 1.15;
//$value = $value * 1.15; //直接读取接口的最高价,无需再自己定义下铺价格。 2022-7-21 zp
$return_data->result[$i]->SeatList[$j]->ChildDiscut = 0.75;
}
}else{
@ -646,4 +1026,227 @@ class innerTrainSearch extends CI_Controller{
}
print_r(json_encode($return_data));
}
#region 旧接口
//携程数据接口(旧)
// public function ctripApi($date=null,$from=null,$to=null,$return=false){
// if(!$date || !$from || !$to){
// header("HTTP/1.1 404 Not Found");
// exit('{"httpstatus":404,"data":{"seven":false,"cache":false,"result":[],"map":{}}}');
// }else{
// $isCache = false;
// $iseven = false;
// $cachedata = false;
// $now_time = time();
// $differ = (strtotime($date) - $now_time) / 86400;
// //屏蔽掉超过预售期的搜索,提高速度,2021-7-5 zp修改预售期为15天不再是30天
// if($differ > 14){
// $date = date('Y-m-d',strtotime('+7day'));
// $iseven = true;
// }
// //转换三字码为中文
// $this->load->model("ctrip_model");
// $FromName = $this->ctrip_model->ReplaceCodeToName($from);
// $ToName = $this->ctrip_model->ReplaceCodeToName($to);
// if(!$FromName || !$ToName){
// header("HTTP/1.1 404 Not Found");
// exit('{"httpstatus":404,"data":{"seven":false,"cache":false,"result":[],"map":{}}}');
// }else{
// $FromName = $FromName->station_name;
// $ToName = $ToName->station_name;
// }
// //生成请求链接
// $TimeStamp = time();
// $Sign = md5($TimeStamp.DATAKEY);
// $url = JSONRETURN.'SearchS2S/?From='.urlencode($FromName).'&To='.urlencode($ToName).'&DepartDate='.$date.'&User='.DATAUSER.'&TimeStamp='.$TimeStamp.'&Sign='.$Sign;
// $api_start_time = microtime(true);
// //获取数据
// $ResponseJson = GetPost_http($url,'','GET');
// $api_end_time = microtime(true);
// $ResponseData = json_decode($ResponseJson);
// $api_responsive_time = $api_end_time - $api_start_time;
// if(empty($ResponseData->Trains)){
// log_message('error','ctrip_trian|status:trains is empty |相应时间:'.$api_responsive_time);
// }else{
// log_message('error','ctrip_trian|status:'.$ResponseData->ResponseStatus->Ack.'|相应时间:'.$api_responsive_time);
// }
// //定义返回的json
// $ReturnData = new stdClass();
// $ReturnData->httpstatus = 200;
// $ReturnData->data = new stdClass();
// $ReturnData->data->seven = $iseven;
// $ReturnData->data->cache = $isCache;
// $ReturnData->data->supplier = 'ctrip';
// $ReturnData->data->result = array();
// $ReturnData->data->map = new stdClass();
// $obj = array();
// $i = 0;
// $PriceStr = '';
// //数据解析
// if(!empty($ResponseData->Trains)){
// foreach ($ResponseData->Trains as $TrainInfo){
// $obj[$TrainInfo->FromTelcode] = $TrainInfo->FromStationName;
// $obj[$TrainInfo->ToTelcode] = $TrainInfo->ToStationName;
// $SeaType = '';
// //余数初始化为空
// $gjrwNum = $rwNum = $rzNum = $tdzNum = $wzNum = $yzNum = $edzNum = $ydzNum = $swzNum = $ywNum = $dwNum = $ydwNum = $edzNum = null;
// foreach($TrainInfo->Seats as $Seats){
// //从香港出发的 D/G 火车加价3%
// if($from == 'XJA'){
// if(stripos($TrainInfo->TrainNo, "G") !== false || stripos($TrainInfo->TrainNo, "D") !== false){
// $Seats->Price = $Seats->Price * 1.03;
// }
// }
// if($Seats->SeatName == '高级软卧上'){
// $gjrwXiaPrice = $Seats->Price * 10;
// $SeaType .= '"6":"'.$gjrwXiaPrice.'","A6":"¥'.$Seats->Price.'",';
// $gjrwNum = $Seats->TicketLeft;
// }
// if($Seats->SeatName == '软卧上'){
// $rwPrice = $Seats->Price * 10;
// $SeaType .= '"4":"'.$rwPrice.'","A4":"¥'.$Seats->Price.'",';
// $rwNum = $Seats->TicketLeft;
// }
// if($Seats->SeatName == '一等双软上'){
// $SeaType .= '"YDW":"¥'.$Seats->Price.'",';
// $ydwNum = $Seats->TicketLeft;
// }
// if($Seats->SeatName == '软座'){
// $rzPrice = $Seats->Price * 10;
// $SeaType .= '"2":"'.$rzPrice.'","A2":"¥'.$Seats->Price.'",';
// $rzNum = $Seats->TicketLeft;
// }
// if($Seats->SeatName == '特等座'){
// $SeaType .= '"P":"¥'.$Seats->Price.'",';
// $tdzNum = $Seats->TicketLeft;
// }
// if($Seats->SeatName == '无座'){
// $SeaType .= '"WZ":"¥'.$Seats->Price.'",';
// $wzNum = $Seats->TicketLeft;
// }
// if($Seats->SeatName == '硬座'){
// $yzPrice = $Seats->Price * 10;
// $SeaType .= '"1":"'.$yzPrice.'","A1":"¥'.$Seats->Price.'",';
// $yzNum = $Seats->TicketLeft;
// }
// if($Seats->SeatName == '二等座'){
// $SeaType .= '"O":"¥'.$Seats->Price.'",';
// $edzNum = $Seats->TicketLeft;
// }
// if($Seats->SeatName == '一等座'){
// $SeaType .= '"M":"¥'.$Seats->Price.'",';
// $ydzNum = $Seats->TicketLeft;
// }
// if($Seats->SeatName == '商务座'){
// $swzPrice = $Seats->Price * 10;
// $SeaType .= '"9":"'.$swzPrice.'","A9":"¥'.$Seats->Price.'",';
// $swzNum = $Seats->TicketLeft;
// }
// if($Seats->SeatName == '硬卧上'){
// $ywPrice = $Seats->Price * 10;
// $SeaType .= '"3":"'.$ywPrice.'","A3":"¥'.$Seats->Price.'",';
// $ywNum = $Seats->TicketLeft;
// }
// if($Seats->SeatName == '二等双软上'){
// $SeaType .= '"EDW":"¥'.$Seats->Price.'",';
// $erwNum = $Seats->TicketLeft;
// }
// if($Seats->SeatName == '动卧上'){
// $SeaType .= '"F":"¥'.$Seats->Price.'",';
// $dwNum = $Seats->TicketLeft;
// }
// $PriceStr = $SeaType.'"train_no":'.'"'.$TrainInfo->TrainNo.'"';
// }
// //对返回的数据进行容错处理
// $gjrwNum = isset($gjrwNum) ? ticket_exchange($Seats->Price,$gjrwNum,$iseven) : '';
// $rwNum = isset($rwNum) ? ticket_exchange($Seats->Price,$rwNum,$iseven) : '';
// $rzNum = isset($rzNum) ? ticket_exchange($Seats->Price,$rzNum,$iseven) : '';
// $tdzNum = isset($tdzNum) ? ticket_exchange($Seats->Price,$tdzNum,$iseven) : '';
// $wzNum = isset($wzNum) ? ticket_exchange($Seats->Price,$wzNum,$iseven) : '';
// $ywNum = isset($ywNum) ? ticket_exchange($Seats->Price,$ywNum,$iseven) : '';
// $yzNum = isset($yzNum) ? ticket_exchange($Seats->Price,$yzNum,$iseven) : '';
// $edzNum = isset($edzNum) ? ticket_exchange($Seats->Price,$edzNum,$iseven) : '';
// $ydzNum = isset($ydzNum) ? ticket_exchange($Seats->Price,$ydzNum,$iseven) : '';
// $swzNum = isset($swzNum) ? ticket_exchange($Seats->Price,$swzNum,$iseven) : '';
// $dwNum = isset($dwNum) ? ticket_exchange($Seats->Price,$dwNum,$iseven) : '';
// $ydwNum = isset($ydwNum) ? ticket_exchange($Seats->Price,$ydwNum,$iseven) : '';
// $erwNum = isset($erwNum) ? ticket_exchange($Seats->Price,$erwNum,$iseven) : '';
// $runMin = $TrainInfo->DurationMinutes % 60;
// $runHour = ($TrainInfo->DurationMinutes - $runMin) / 60;
// $ReturnData->data->result[$i] = '|预定|'.$TrainInfo->Train12306No.'|'.$TrainInfo->TrainNo.'|'.$TrainInfo->FromStationName.'|'.$TrainInfo->ToStationName.'|'.$TrainInfo->FromTelcode.'|'.$TrainInfo->ToTelcode.'|'.$TrainInfo->StartTime.'|'.$TrainInfo->ArriveTime.'|'.$runHour.':'.$runMin.'|'.$TrainInfo->CanWebBuy.'||'.date('Ymd',strtotime($date)).'||||||||'.$gjrwNum.'||'.$rwNum.'|'.$rzNum.'|'.$tdzNum.'|'.$wzNum.'||'.$ywNum.'|'.$yzNum.'|'.$edzNum.'|'.$ydzNum.'|'.$swzNum.'|'.$dwNum.'|||'.$ydwNum.'|'.$erwNum;
// $data = '{"validateMessagesShowId":"_validatorMessage","status":true,"httpstatus":200,"data":{'.$PriceStr.'},"messages":[],"validateMessages":{}}';
// $ReturnData->data->price[$i] = $data;
// $i++;
// }
// }
// //print_r($ResponseData);die();
// $ReturnData->data->map = (object)$obj;
// if($return){
// return json_encode($ReturnData);
// }else{
// echo json_encode($ReturnData);
// }
// }
// }
// //获取所有站点信息(基于携程api)旧接口
// public function getallstation(){
// //生成请求参数
// $TimeStamp = time();
// $Sign = md5($TimeStamp.DATAKEY);
// $url = JSONRETURN.'/GetAllStations/?&User='.DATAUSER.'&TimeStamp='.$TimeStamp.'&Sign='.$Sign;
// $ResponseJson = GetPost_http($url,'','GET');
// $ResponseData = json_decode($ResponseJson);
// $data = array();
// foreach ($ResponseData->Stations as $items){
// $data['StationName'] = isset($items->StationName) ? checkNull($items->StationName) : '';
// $data['PinYin'] = isset($items->PinYin) ? checkNull($items->PinYin) : '';
// $data['Telecode'] = isset($items->Telecode) ? checkNull($items->Telecode) : '';
// $data['Address'] = isset($items->Address) ? checkNull($items->Address) : '';
// $data['Geography'] = isset($items->Geography) ? checkNull($items->Geography) : '';
// $this->load->model("ctrip_model");
// $this->ctrip_model->AddOrUpdate($data);
// }
// }
#endregion
}

@ -0,0 +1,703 @@
<?php
use League\CLImate\TerminalObject\Basic\Json;
defined('BASEPATH') or exit('No direct script access allowed');
class LanHaiTicket extends CI_Controller
{
public function __construct()
{
parent::__construct();
$this->load->model("BIZ_train_model");
$this->load->model("train_system_model");
$this->load->helper('train');
$this->db_train_zw = $this->config->item('db_train_zw');
$this->train_zw = $this->config->item('train_zw');
$this->black_list = $this->config->item('black_list');
$this->load->library("lanhaidata");
$this->train_certificateType = $this->config->item('train_certificateType');
$this->train_refundType = $this->config->item('train_refundType');
}
public function index()
{
//出票锁单接口: https://www.mycht.cn/info.php/apps/trainsystem/lanhaiticket/pushorderdetail?mainOrderId=HN1720670129499
//出票回调接口https://www.mycht.cn/info.php/apps/trainsystem/lanhaiticket/pushorderresult/
//退票锁单接口: https://www.mycht.cn/info.php/apps/trainsystem/lanhaiticket/refundorderdetail?dataId=82033
//退票回调接口: https://www.mycht.cn/info.php/apps/trainsystem/lanhaiticket/refundorderresult/
//退款回调接口https://www.mycht.cn/info.php/apps/trainsystem/lanhaiticket/refundpriceresult/
//http://ct.tms.lhticket.com 账号: GLhaina 密码123456
}
/**
* @description: 澜海获取锁单接口通过get方式获取参数mainOrderId订单号
* @return {*}
* @Date Changed:
* 网前地址https://www.mycht.cn/info.php/apps/trainsystem/lanhaiticket/pushorderdetail?mainOrderId=HN1720670129499
*/
public function pushOrderDetail()
{
//获取订单号
$mainOrderId = $this->input->get_post("mainOrderId");
$aes = $this->input->get_post("aes");
if (strpos($mainOrderId, 'HN') !== false) { //由于我们的订单号是HN开头的所以这里做下判断
//根据mainOrderId获取火车票的信息
$ticketfrom = $this->train_system_model->ticketfrom($mainOrderId);
if (!empty($ticketfrom)) {
$cold_sn = $ticketfrom->ts_cold_sn;
$lanhaiRecord = json_decode($ticketfrom->ts_lanhaiData); //澜海特殊数据字段保存了选择的出票人员Id
$data['train'] = $this->BIZ_train_model->biz_order_detail($cold_sn);
$coli_id = $this->BIZ_train_model->cold_sn_get_coli_id($cold_sn)['0']->COLI_ID;
if (empty($this->BIZ_train_model->get_operatorInfo($coli_id))) {
$data['email'] = 'vivi@hainatravel.com';
} else {
$data['email'] = $this->BIZ_train_model->get_operatorInfo($coli_id)['0']->OPI_Email;
}
//乘客信息
$bpe_sn = '';
if (!empty($lanhaiRecord)) {
$bpe_sn = $lanhaiRecord->bpe_sn;
}
if (!empty($bpe_sn)) {
$data['people_list'] = $this->BIZ_train_model->in_bpesn_people_info($bpe_sn);
} else {
//没有找到选择的人员列表,就查询整个订单的人员列表
$people_arr = $this->BIZ_train_model->biz_people($cold_sn);
//护照号如果在黑名单的就不自动出票
foreach ($people_arr as $people_info) {
$bpe_sn .= $people_info->BPE_SN . ',';
}
$bpe_sn = substr($bpe_sn, 0, strlen($bpe_sn) - 1);
$data['people_list'] = $this->BIZ_train_model->in_bpesn_people_info($bpe_sn);
}
$AdultNum = 0;
$ChildNum = 0;
$i = 0;
$lanhaiData = new lanhaiData();
$lanhaiCountryData = json_decode($lanhaiData->CountryData); //国家三字码基础信息
$passagersdata = array();
foreach ($data['people_list'] as $PassagerInfo) {
//乘客类型
switch ($PassagerInfo->BPE_GuestType) {
case 1:
$PiaoType = 1;
$PiaoTypeName = "成人票";
$AdultNum++;
break;
case 2:
$PiaoType = 2;
$PiaoTypeName = "儿童票";
$ChildNum++;
break;
default: //外国人应该就两种票吧
$PiaoType = 1;
$PiaoTypeName = "成人票";
break;
}
//证件类型
switch ($PassagerInfo->BPE_PassportType) {
case 'Chinese ID':
$PassportTypeseId = 1;
$PassportTypeseidName = "二代身份证";
break;
case 'MainlandTravel Permit from Hong Kong and Macau':
$PassportTypeseId = 7;
$PassportTypeseidName = "回乡证";
break;
case 'Travel Permit from Hong Kong / Macau':
$PassportTypeseId = 7;
$PassportTypeseidName = "回乡证";
break;
case 'Travel Permit from Taiwan':
$PassportTypeseId = 8;
$PassportTypeseidName = "台胞证";
break;
default:
$PassportTypeseId = 2;
$PassportTypeseidName = "护照";
break;
}
$passagersdata[$i] = new stdClass();
$passagersdata[$i]->passengerName = chk_sp_name($PassagerInfo->BPE_FirstName . $PassagerInfo->BPE_MiddleName . $PassagerInfo->BPE_LastName);
$passagersdata[$i]->passengerType = $PiaoType; //乘客类型1 成人票2 儿童票
$passagersdata[$i]->passportType = $PassportTypeseId; //证件类型,身份证 1护照 2回乡证 7台胞证 8外国人永久居留身份证 9港澳通行证 10台湾通行证 22港澳台居民居住证 23
$passagersdata[$i]->passportNumber = $PassagerInfo->BPE_Passport; //护照号
$passagersdata[$i]->passengerId = $PassagerInfo->BPE_SN; //乘客ID
$regionCode = "";
$countryName = "";
if (!empty($PassagerInfo->BPE_Nationality)) {
$htCode = $PassagerInfo->BPE_Nationality;
if ($htCode == "TW" || $htCode == "HK" || $htCode == "MO") {
$regionCode = "CHN";
$countryName = "中国";
} else {
foreach ($lanhaiCountryData as $cItem) {
if ($cItem->code == $htCode) {
$regionCode = $cItem->standCode;
$countryName = $cItem->name;
break;
}
}
}
}
$passagersdata[$i]->regionCode = $regionCode; //国家简码 美国USA ,中国CHN
$passagersdata[$i]->countryName = $countryName; //国家名称 中文名称
$passagersdata[$i]->passportExpireDate = date('Y-m-d', strtotime($PassagerInfo->BPE_PassExpdate)); //证件到期
$passagersdata[$i]->birthday = date('Y-m-d', strtotime($PassagerInfo->BPE_BirthDate)); //出生日期
$i++;
}
//拼接发送的报文
$PostData = new stdClass();
$PostData->mainOrderId = $mainOrderId;
$currentTime = date("Y-m-d H:i:s");
$PostData->expireTime = date("Y-m-d H:i:s", strtotime($currentTime . ' +30 minutes'));
$PostData->currentTime = $currentTime;
$PostData->agentCode = LANHAI_appId;
$PostData->contactMobile = "18877331805";
$PostData->extendParams = "";
$PostData->ticketsItems = array();
$PostData->ticketsItems['0'] = new stdClass();
$PostData->ticketsItems['0']->deliveryTicketId = $cold_sn; //行程id,cold_sn
$PostData->ticketsItems['0']->fromStationName = $data['train']->DepartAirport_cn;
$PostData->ticketsItems['0']->toStationName = $data['train']->ArrivalAirport_cn;
$PostData->ticketsItems['0']->trainNumber = $data['train']->FlightsNo; //车次
$PostData->ticketsItems['0']->departTime = date('Y-m-d H:i', strtotime($data['train']->DepartureTime)); //发车时间
$PostData->ticketsItems['0']->arrivalTime = date('Y-m-d H:i', strtotime($data['train']->ArrivalTime)); //到达时间
$PostData->ticketsItems['0']->ticketCount = count($data["people_list"]);
$PostData->ticketsItems['0']->ticketPrice = $data['train']->adultcost; //车票单价,单位(元)
$seatName = $this->train_zw[$this->db_train_zw[$data['train']->Aircraft]]; //座位名称,中文
$PostData->ticketsItems['0']->seatName = $seatName;
$PostData->ticketsItems['0']->acceptSeats = array(); //坐席选项
$lanhaiSeatTypes = json_decode($lanhaiData->seatTypes); //座位选项
foreach ($lanhaiSeatTypes as $seatItem) {
if ($seatItem->seatName == $seatName) {
$PostData->ticketsItems['0']->acceptSeats = $seatItem->seatItems;
break;
}
}
$acceptSeatRemark = "优先出【同排ABCDF座】无法满足可出任意座位不接受站票";
if (($AdultNum + $ChildNum) > 1) {
//多人时
if (strstr($seatName, "卧")) {
$acceptSeatRemark = "客人想要2张下铺最好在同一房间。下铺不足时至少保证在同一房间否则不要出票";
}
} else {
//单人时
}
$PostData->ticketsItems['0']->acceptSeatRemark = $acceptSeatRemark; //行程坐席要求
$PostData->ticketsItems['0']->ticketType = 1;
$PostData->ticketsItems['0']->passengerInfos = $passagersdata;
$total_price = $AdultNum * $data['train']->adultcost + $ChildNum * $data['train']->childcost; //总价
$PostData->orderPrice = $total_price; //订单总价,单位(元)
//加密方式显示
$this->load->library("aesLanhai");
$aesUnit = new Security();
$resultData = $aesUnit->encryptData(json_encode($PostData));
//$resultData = $aesUnit->decryptData($resultData); //测试加解密是否正常。
if ($aes == "false") {
//加个明文显示判断,用来检查数据
$resultData = json_encode($PostData, JSON_UNESCAPED_UNICODE);
}
echo $resultData;
} else {
$ResultNoticeResponse = new stdClass();
$ResultNoticeResponse->returnCode = -1;
$ResultNoticeResponse->success = false;
$ResultNoticeResponse->returnMsg = "mainOrderId错误";
echo json_encode($ResultNoticeResponse);
}
}
}
/**
* 出票结果回调信息
* 网前URLhttps://www.mycht.cn/info.php/apps/trainsystem/lanhaiticket/pushorderresult/
*/
public function pushOrderResult()
{
$back_json = file_get_contents('php://input');
log_message('error', '澜海出票回调信息:' . $back_json);
$lanhai_backdata = json_decode($back_json);
if (!empty($lanhai_backdata)) {
//判断回调信息是否正确,主要判断是否是本企业的回调信息
$companyId = LANHAI_appId;
$messageIdentity = $lanhai_backdata->authentication->appId; //传递的企业ID
$ResultNoticeResponse = new stdClass();
if ($companyId == $messageIdentity) {
$ResultNoticeResponse->retCode = 0;
$ResultNoticeResponse->success = true;
$ResultNoticeResponse->message = "处理成功!";
} else {
$ResultNoticeResponse->returnCode = -1;
$ResultNoticeResponse->success = false;
$ResultNoticeResponse->returnMsg = "appId错误";
}
echo json_encode($ResultNoticeResponse);
//处理回调的内容,保存到本地及翰特
$update_data = new stdClass();
$update_data->ServiceName = "lanhai.ticketresult";
$update_data->ordernumber = '';
$update_data->seatsinfo = '';
$update_data->TicketCheck = '';
$update_data->bookcallback = '';
$update_data->confirmcallback = '';
$update_data->returncallback = '';
$update_data->OrderTotleFee = 0;
$update_data->ElectronicOrderNumber = '';
$update_data->reschedulecallback = '';
$update_data->OrderTicketTime = '';
$update_data->operateTradeNo = "";
if (!empty($lanhai_backdata->bodyInfo)) {
// //需要解密
$this->load->library("aesLanhai");
$aesUnit = new Security();
$bodyINfo = json_decode($aesUnit->decryptData($lanhai_backdata->bodyInfo));
if ($bodyINfo->failCode == 0) {
$update_data->OrderStatus = '4';
if (isset($bodyINfo->resultMsg)) {
$update_data->ErrorMsg = $bodyINfo->resultMsg;
} else {
$update_data->ErrorMsg = '出票成功';
}
} else {
$update_data->OrderStatus = '5';
if (isset($bodyINfo->resultMsg)) {
$update_data->ErrorMsg = $bodyINfo->resultMsg;
} else {
$update_data->ErrorMsg = '出票失败';
}
}
$update_data->ordernumber = $lanhai_backdata->authentication->mainOrderId;
if (isset($bodyINfo->orderPrice)) {
$update_data->OrderTotleFee = $bodyINfo->orderPrice; //总价
}
if (isset($bodyINfo->payTradeNumber)) {
$update_data->operateTradeNo = $bodyINfo->payTradeNumber; ////支付宝流水
}
$update_data->ticketresultcallback = json_encode($bodyINfo);
//$update_data->OrderTicketTime = $lanhai_backdata->TrainOrderService->OrderInfo->TicketInfo->OrderTicketTime;
//新接口数据,不一定保存到数据库里面,原订单已有,做个记录
if (isset($bodyINfo->ticketSuccessTime)) {
$update_data->ticketSuccTime = $bodyINfo->ticketSuccessTime; //出票成功时间
}
// $update_data->orderType = $lanhai_backdata->ticketResult->orderMasterInfo->orderType; //订单类型 0电子票 1配送票 2人工客票 3抢票订单
// $update_data->contactName = $lanhai_backdata->ticketResult->orderMasterInfo->contactName; //联系人
// $update_data->mobileNo = des_decrypt($lanhai_backdata->ticketResult->orderMasterInfo->mobileNo,$key); //联系电话 (DES加密
//人员及车票
if (isset($bodyINfo->eOrderNumber)) {
$elecNo = $bodyINfo->eOrderNumber; //电子订单号即12306取票号
$update_data->ElectronicOrderNumber = $elecNo;
}
if (isset($bodyINfo->ticketList)) { //如果订票成功,需要保存的数据
$data_passager = new stdClass();
foreach ($bodyINfo->ticketList as $tItems) {
if (isset($tItems->ticketCheck)) {
$checkWindow = $tItems->ticketCheck; //检票口
$update_data->TicketCheck = $checkWindow;
}
$update_data->trainNo = $tItems->trainNumber; //车次
$update_data->departTime = $tItems->departTime; //车次出发时间
foreach ($tItems->passengerList as $pItems) {
$data_passager->ordernumber = $update_data->ordernumber;
//人员列表
$data_passager->status = '4';
$certificateType = $this->train_certificateType[$pItems->passportType]; //证件类型,身份证 1护照 2回乡证 7台胞证 8外国人永久居留身份证 9港澳通行证 10台湾通行证 22港澳台居民居住证 23
$data_passager->identitytype = $certificateType;
$data_passager->realname = $pItems->passengerName;
$data_passager->numberid = $pItems->passportNumber; //证件号码
//$data_passager->birthday = $pItems->birthday;
if ($pItems->passengerType == 2) {
$passengerType = "儿童";
} else {
$passengerType = "成人";
}
$data_passager->ticketype = $passengerType; //乘客类型 1成人 2儿童
$data_passager->seatype = $pItems->seatName; //坐席类型
$data_passager->ticketprice = $pItems->realTicketPrice; //实际单价(元)
$SeatNo = "";
if (isset($pItems->carriageNo)) {
$SeatNo .= $pItems->carriageNo . "车厢";
}
if (isset($pItems->seatNo)) {
$SeatNo .= $pItems->seatNo; ////坐席号
}
$data_passager->seatdetail = $SeatNo;
$passengerId = $pItems->passengerId; // //乘客id
$data_passager->longtrainno = $passengerId;
$jsonLanhaiData = new stdClass(); //澜海退票需要传递一些数据,尽量保存到这个里面。这样不用从翰特里面读取了。
$jsonLanhaiData->eOrderNumber = $update_data->ElectronicOrderNumber; //取票号
$data_passager->lanhaiData = json_encode($jsonLanhaiData);
//入库
$this->train_system_model->add_passagers($data_passager);
}
/****************************************************************************************/
//添加支付记录
$add_train_payment_data = new stdClass();
$add_train_payment_data->TOC_Memo = $update_data->ordernumber . '出票费';
$add_train_payment_data->TOC_VEI_SN = "33653";
//根据订单号获取cold_sn
$order_info = $this->train_system_model->get_order_info($update_data->ordernumber);
$cold_sn = $order_info->ts_cold_sn;
$add_train_payment_data->TOC_COLD_SN = $cold_sn;
$add_train_payment_data->TOC_TrainNumber = $update_data->trainNo;
$add_train_payment_data->TOC_DepartureDate = date('Y-m-d', strtotime($update_data->departTime));
$add_train_payment_data->TOC_TicketCost = $update_data->OrderTotleFee;
$passengerNum = $tItems->ticketCount; //车票数
if ($passengerNum>0){
$poundage = $passengerNum*10;
}else{
$poundage = 0;
}
$add_train_payment_data->poundage = $poundage; //手续费
$add_train_payment_data->FOI_TrainNetOrderNo = $update_data->ElectronicOrderNumber; //电子票号
//print_r($add_train_order_data);die();
$this->BIZ_train_model->add_train_payment($add_train_payment_data);
//记录供应商(瀚特)
$this->BIZ_train_model->update_cold_planvei_sn($cold_sn, '33653');
}
}
}
//更新订单信息(出票系统)
$this->train_system_model->update_orders($update_data);
}
}
/**
* 澜海退票锁单接口通过get方式获取前参数dataId
* 网前地址https://www.mycht.cn/info.php/apps/trainsystem/lanhaiticket/refundorderdetail?dataId=82033
*/
public function refundOrderDetail()
{
//获取客人ID
$dataId = $this->input->get_post("dataId");
$aes = $this->input->get_post("aes");
//根据客人ID获取退票数据
$passenger_data = $this->train_system_model->get_passenger_byId($dataId);
if (!empty($passenger_data)) {
//拼接发送的报文
$PostData = new stdClass();
$PostData->id = $passenger_data->tst_id; //dataId
$PostData->mainOrderId = $passenger_data->tst_ordernumber; //出票订单id如产生过线上改签成功则使用改签的dataId
$PostData->priority = 1; //0紧急退票1非紧急退票 默认1
//获取出票是保存的lanhaiData
if (!empty($passenger_data->tst_lanhaiData)){
$lanhaiData = json_decode($passenger_data->tst_lanhaiData);
}
$eOrderNumber = "";
if (isset($lanhaiData->eOrderNumber)){
$eOrderNumber = $lanhaiData->eOrderNumber; //取票号
}
$PostData->eOrderNumber = $eOrderNumber; //取票号
$PostData->passengerType = $passenger_data->tst_ticketype."票"; //票种
$PostData->passportType = $passenger_data->tst_identitytype; //"身份证"; //证件类型
$PostData->passportName = $passenger_data->tst_realname; //姓名
$PostData->passportNumber = $passenger_data->tst_numberid; //证件号
$PostData->departStation = $passenger_data->ts_fromstationame; //发站
$PostData->arriveStation = $passenger_data->ts_tostationame; //到站
$rPrice = $passenger_data->tst_ticketprice;
$PostData->ticketPrice = $rPrice; //票价(元)
$PostData->preRefundPrice = $rPrice; //原票价(元)
$PostData->percent = 100; //比例 默认100,我只取返回记录的价格。不管汉特的价格
$PostData->trainNo = $passenger_data->ts_checi ; //车次
//车厢及座位分解
$tst_seatdetail = $passenger_data->tst_seatdetail;
$carriageNo = "";
$seatNo = "";
if (strpos($tst_seatdetail,"车厢")!=false){
$arrSeat = explode("车厢",$tst_seatdetail);
$carriageNo = $arrSeat[0];
$seatNo = $arrSeat[1];
}
$PostData->carriageNo = $carriageNo; //车厢
$PostData->seatName = $passenger_data->tst_seatstype; //席别
$PostData->seatNo = $seatNo; //席位号
$strDt = $passenger_data->ts_startdate." ".$passenger_data->ts_startime;
$DepartureTime = date('Y-m-d H:i', strtotime($strDt));
// 出发时间前三十分钟的时间
$thirtyMinutesAgo = strtotime('-30 minutes', strtotime($DepartureTime));
$dealine = date('Y-m-d H:i', $thirtyMinutesAgo);
$PostData->ticketTime = $DepartureTime; //发车时间
$PostData->createTime = ""; //可空
$PostData->deadline = $dealine; //处理截止时间 建议最晚处理时间设置为发车前30分钟
$PostData->refundTime = ""; //可空
$PostData->getTicketTime = ""; //可空
$PostData->refundPrice = 0; //可空
$PostData->firstImage = null; //可空
$PostData->secondImage = null; //可空
$PostData->lockStatus = 0; //可空
$PostData->lockUser = ""; //可空
$PostData->status = 0; //可空
$PostData->longEOrderNumber = ""; //可空
$PostData->extendParams = ""; //拓展json对象
//加密方式显示
$this->load->library("aesLanhai");
$aesUnit = new Security();
$resultData = $aesUnit->encryptData(json_encode($PostData));
//$resultData = $aesUnit->decryptData($resultData); //测试加解密是否正常。
if ($aes == "false") {
//加个明文显示判断,用来检查数据
$resultData = json_encode($PostData, JSON_UNESCAPED_UNICODE);
}
echo $resultData;
} else {
$ResultNoticeResponse = new stdClass();
$ResultNoticeResponse->returnCode = -1;
$ResultNoticeResponse->success = false;
$ResultNoticeResponse->returnMsg = "dataId错误";
echo json_encode($ResultNoticeResponse);
}
}
/**
* 澜海退票返回信息
* 网前URLhttps://www.mycht.cn/info.php/apps/trainsystem/lanhaiticket/refundorderresult/
*/
public function refundOrderResult()
{
$back_json = file_get_contents('php://input');
log_message('error', '澜海退票回调信息:' . $back_json);
$lanhai_backdata = json_decode($back_json);
if (!empty($lanhai_backdata)) {
$dataId = $lanhai_backdata->id;
//根据客人ID获取退票数据
$passenger_data = $this->train_system_model->get_passenger_byId($dataId);
$ResultNoticeResponse = new stdClass();
if (!empty($passenger_data)) {
$ResultNoticeResponse->retCode = 0;
$ResultNoticeResponse->success = true;
$ResultNoticeResponse->message = "处理成功!";
echo json_encode($ResultNoticeResponse);
//处理回调的内容,保存到本地及翰特
$update_data = new stdClass();
$update_data->ServiceName = '';
$update_data->ordernumber = '';
$update_data->seatsinfo = '';
$update_data->TicketCheck = '';
$update_data->bookcallback = '';
$update_data->confirmcallback = '';
$update_data->returncallback = '';
$update_data->OrderTotleFee = 0;
$update_data->ElectronicOrderNumber = '';
$update_data->reschedulecallback = '';
$update_data->OrderTicketTime = '';
//新字段
$update_data->operateTradeNo ="";
$update_data->ordernumber = $passenger_data->tst_ordernumber;
$passpager_info = new stdClass();
$passpager_info->returncallback = $back_json;
$passpager_info->ordernumber = $passenger_data->tst_ordernumber;
$passpager_info->tst_id = $dataId; //乘客ID用来更新
//回调的数据正确,开始判断成功还是失败。
if (isset($lanhai_backdata->refundPrice)){ //如果有退款金额,说明退票成功
//退票成功
$update_data->OrderStatus = '7';
//退票时还需要单独对对每个乘客存储回调信息
$passpager_info->status = '7';
$refundPrice = $lanhai_backdata->refundPrice; //退款金额
$update_data->ErrorMsg = "退票成功,"."退票金额:".$refundPrice;
//退票手续费保存到数据库
//翰特添加退款记录
$returnticket = new stdClass();
$return_order = $update_data->ordernumber;
$returnticket->TOC_VEI_SN = "33653";
//根据订单号获取cold_sn
$cold_sn = $passenger_data->ts_cold_sn;
$returnSuccTime = date("Y-m-d H:i:s");
$memo = $return_order.'_退票成功_' . $dataId; //退票集合信息 ,用$dataId是为了标识唯一性
$returnticket->TOC_Memo = $memo;
$returnticket->TOC_COLD_SN = $cold_sn;
$returnticket->TOC_TrainNumber = $passenger_data->ts_checi;
$returnticket->TOC_DepartureDate = $passenger_data->ts_startdate;
$returnticket->TOC_TicketCost = -15;
//print_r($add_train_payment_data);die();
$this->BIZ_train_model->returnticket_train($returnticket);
}else{
//退票失败
$update_data->OrderStatus = '8';
//失败也保存下信息
$passpager_info->status = '8';
$update_data->ErrorMsg = "退票失败:".$lanhai_backdata->failReason;
}
$this->train_system_model->return_update_passager_lanhai($passpager_info);
$update_data->returncallback = $back_json;
//更新订单信息(出票系统)
$this->train_system_model->update_orders($update_data);
} else {
$ResultNoticeResponse->returnCode = -1;
$ResultNoticeResponse->success = false;
$ResultNoticeResponse->returnMsg = "退票订单数据没找到!";
echo json_encode($ResultNoticeResponse);
}
}
}
/**
* 澜海退款回调信息
* 网前URLhttps://www.mycht.cn/info.php/apps/trainsystem/lanhaiticket/refundpriceresult/
*/
public function refundPriceResult(){
$back_json = file_get_contents('php://input');
log_message('error', '澜海退款回调信息:' . $back_json);
$lanhai_backdata = json_decode($back_json);
if (!empty($lanhai_backdata))
{
$id = $lanhai_backdata->id; //线上低改高后的订单为dataId其他情况为出票的mainOrderId
//先判断是否是低改高的订单,目前我们没有改签。
if (1==2){
//这里是改签的操作,目前没有
}else{
//这里的ID是mainOrderId 出票订单ID
$order_info = $this->train_system_model->get_order_info($id);
if (!empty($order_info)){
$ResultNoticeResponse = new stdClass();
$ResultNoticeResponse->retCode = 0;
$ResultNoticeResponse->success = true;
$ResultNoticeResponse->message = "处理成功!";
echo json_encode($ResultNoticeResponse); //找到订单 对应数据就返回处理成功的结果,后面的错误不关澜海那边的事。
//处理回调的内容,保存到本地及翰特
$update_data = new stdClass();
$update_data->ServiceName = '';
$update_data->ordernumber = '';
$update_data->seatsinfo = '';
$update_data->TicketCheck = '';
$update_data->bookcallback = '';
$update_data->confirmcallback = '';
$update_data->returncallback = '';
$update_data->OrderTotleFee = 0;
$update_data->ElectronicOrderNumber = '';
$update_data->reschedulecallback = '';
$update_data->OrderTicketTime = '';
//新字段
$update_data->operateTradeNo ="";
$isOnline = $lanhai_backdata->isOnline; //1线上退款0线下退款
if ($isOnline==1){
$refundType = "线上退款";
}else{
$refundType = "线下退款";
}
$refundTime = date("Y-m-d H:i:s"); //退款时间
$return_money = $lanhai_backdata->refundPrice; //退款金额,单位元
$refundId = $lanhai_backdata->refundId; //退款唯一id(幂等性)
$update_data->ordernumber = $order_info->ts_ordernumber;
$update_data->OrderStatus = '11'; //11是订单退款
$update_data->ErrorMsg = '退款:'.$refundType." 金额:".$return_money." time:". $refundTime;
$update_data->refundcallback = $back_json;
//翰特添加退款记录
$refund_train_payment = new stdClass();
$return_order = $order_info->ts_ordernumber;
$refund_train_payment->TOC_VEI_SN = "33653";
$cold_sn = $order_info->ts_cold_sn;
//print_r($order_info);
$memo = $return_order.'_'.$refundType. '_' . $refundId; //退款集合信息
$refund_train_payment->TOC_Memo = $memo;
$refund_train_payment->TOC_COLD_SN = $cold_sn;
$refund_train_payment->TOC_TrainNumber = $order_info->ts_checi;
$refund_train_payment->TOC_DepartureDate = $order_info->ts_startdate;
$refund_train_payment->TOC_TicketCost = -$return_money;
//print_r($add_train_payment_data);die();
$this->BIZ_train_model->refund_train_payment($refund_train_payment);
//更新订单信息(出票系统)
$this->train_system_model->update_orders($update_data);
}else{
$ResultNoticeResponse = new stdClass();
$ResultNoticeResponse->returnCode = -1;
$ResultNoticeResponse->success = false;
$ResultNoticeResponse->returnMsg = "订单对应数据没找到!";
echo json_encode($ResultNoticeResponse);
}
}
}
}
}
/* End of file lanhaiticket.php */

@ -6,18 +6,32 @@ class pages extends CI_Controller{
public function __construct(){
parent::__construct();
//$this->load->library("permissiontrain");
$this->load->library('session');
$this->load->model("train_system_model");
$this->load->model("BIZ_train_model");
$this->load->helper('train');
$this->load->helper('cookie');
$this->order_status_msg = $this->config->item('train_order_status_msg');
$this->isadmin();
}
function isadmin(){
$OPI_SN = get_cookie("OPI_SN"); //获取对应的cookies
if ($OPI_SN>0){
//已登录
}else{
//$this->permissiontrain->is_admin();
redirect(site_url('login/indextrain'));
}
}
//首页
public function index($coli_id = null){
if(get_cookie('dingname') == '' && get_cookie('dingunionid') == ''){
redirect('/apps/dinglogin/login/?returnurl=/apps/trainsystem/pages/');
}
// if(get_cookie('dingname') == '' && get_cookie('dingunionid') == ''){
// redirect('/apps/dinglogin/login/?returnurl=/apps/trainsystem/pages/');
// }
if($coli_id == null){
$cols_id = $this->input->post("ht_order");
@ -35,21 +49,22 @@ class pages extends CI_Controller{
$list->info[$i] = new StdClass;
$list->info[$i]->people = $this->BIZ_train_model->biz_people($v->COLD_SN);
$list->info[$i]->train = $this->BIZ_train_model->biz_order_detail($v->COLD_SN);
$list->info[$i]->status = $this->BIZ_train_model->get_biz_jol($v->COLD_SN);
$list->info[$i]->status = $this->train_system_model->get_submitStatus($v->COLD_SN); //判断是否提交过
$i++;
}
$list->cols_id=$cols_id;
}
//查询聚合余额
$back_data = GetPost_http("http://op.juhe.cn/trainTickets/balance.php?key=79f03107b921ef31310bd40a1415c1cb");
$back_data = json_decode($back_data);
if(!empty($back_data->result)){
$list->balance = $back_data->result;
}else{
$list->balance = "NULL";
}
//print_r($list);
// //查询聚合余额
// $back_data = GetPost_http("http://op.juhe.cn/trainTickets/balance.php?key=79f03107b921ef31310bd40a1415c1cb");
// $back_data = json_decode($back_data);
// if(!empty($back_data->result)){
// $list->balance = $back_data->result;
// }else{
// $list->balance = "NULL";
// }
$list->balance = "NULL";
// print_r(json_encode($list));
$this->load->view('common/header');
$this->load->view('homepage',$list);
$this->load->view('common/footer');
@ -57,13 +72,15 @@ class pages extends CI_Controller{
//系统列表页面
public function order_list(){
if(get_cookie('dingname') == '' && get_cookie('dingunionid') == ''){
redirect('/apps/dinglogin/login/?returnurl=/apps/trainsystem/pages/');
}
// if(get_cookie('dingname') == '' && get_cookie('dingunionid') == ''){
// redirect('/apps/dinglogin/login/?returnurl=/apps/trainsystem/pages/');
// }
$page_size = 10;
$page = $this->input->get("page");
$order = $this->input->get("order");
$web_code = $this->input->get("web_code");
$channel = $this->input->get("channel");
$where = "1=1";//搜索条件
$page_parameter = "";//返回的分页条件参数
if(empty($page) or !is_numeric($page)){
@ -80,9 +97,14 @@ class pages extends CI_Controller{
$page_parameter = "web_code=".$web_code;
}
if (!empty($channel)){
$where = " InfoManager.dbo.trainsystem.ts_channel='{$channel}' ";
$page_parameter = " channel=".$channel;
}
//获取订单数据
$data = $this->train_system_model->get_order($page_size,$page,$where);
//print_r($data);die();
// print_r(json_encode($data));die();
$list["data"]=$data->list;
$this->load->library('pagination');
@ -95,14 +117,16 @@ class pages extends CI_Controller{
$config['cur_tag_open'] = '<li class="active"><a href="#">';
$config['cur_tag_close'] = '</a></li>';
$config['first_tag_open']=$config['last_tag_open']=$config['next_tag_open']=$config['prev_tag_open']=$config['num_tag_open']="<li>";
$config['first_tag_close']=$config['last_tag_close']=$config['next_tag_close']=$config['prev_tag_close']=$config['num_tag_close']="</li>";
$config['first_tag_close']=$config['lasbt_tag_close']=$config['next_tag_close']=$config['prev_tag_close']=$config['num_tag_close']="</li>";
$this->pagination->initialize($config);
$list["page_link"]=$this->pagination->create_links();
foreach ($list["data"] as $key => $value) {
$value->info = $this->order_status_msg[$value->ts_status];//自定义说明信息;
$status = trim($value->ts_status);
$value->info = $this->order_status_msg[$status];//自定义说明信息;
}
@ -113,9 +137,9 @@ class pages extends CI_Controller{
//订单详情页面
public function order(){
if(get_cookie('dingname') == '' && get_cookie('dingunionid') == ''){
redirect('/apps/dinglogin/login/?returnurl=/apps/trainsystem/pages/');
}
// if(get_cookie('dingname') == '' && get_cookie('dingunionid') == ''){
// redirect('/apps/dinglogin/login/?returnurl=/apps/trainsystem/pages/');
// }
$ordernumber = $order=$this->input->get("order");
if(empty($ordernumber)){
@ -143,17 +167,17 @@ class pages extends CI_Controller{
$data['msg'] = $train_infos->ts_errormsg;
$data['passengers'] = $passpager_detail;
//聚合订单可以查询实时数据
if($train_infos->ts_channel == 'juhe'){
$post_data=array(
"key"=>"79f03107b921ef31310bd40a1415c1cb",
"orderid"=>$train_infos->ts_ordernumber
);
$back_data = GetPost_http("http://op.juhe.cn/trainTickets/orderStatus",$post_data);
$data['train_date'] = '';
$data['start_time'] = json_decode($back_data)->result->start_time;
$data['arrive_time'] = json_decode($back_data)->result->arrive_time;
}
// //聚合订单可以查询实时数据
// if($train_infos->ts_channel == 'juhe'){
// $post_data=array(
// "key"=>"79f03107b921ef31310bd40a1415c1cb",
// "orderid"=>$train_infos->ts_ordernumber
// );
// $back_data = GetPost_http("http://op.juhe.cn/trainTickets/orderStatus",$post_data);
// $data['train_date'] = '';
// $data['start_time'] = json_decode($back_data)->result->start_time;
// $data['arrive_time'] = json_decode($back_data)->result->arrive_time;
// }
$this->load->view('bootstrap3/header');
$this->load->view('order',$data);
@ -162,9 +186,9 @@ class pages extends CI_Controller{
//退票页面
public function refund(){
if(get_cookie('dingname') == '' && get_cookie('dingunionid') == ''){
redirect('/apps/dinglogin/login/?returnurl=/apps/trainsystem/pages/');
}
// if(get_cookie('dingname') == '' && get_cookie('dingunionid') == ''){
// redirect('/apps/dinglogin/login/?returnurl=/apps/trainsystem/pages/');
// }
$ordernumber = $order=$this->input->get("order");
if(empty($ordernumber)){
@ -221,11 +245,237 @@ class pages extends CI_Controller{
//账单导出页面
public function export(){
if(get_cookie('dingname') == '' && get_cookie('dingunionid') == ''){
redirect('/apps/dinglogin/login/?returnurl=/apps/trainsystem/pages/');
}
// if(get_cookie('dingname') == '' && get_cookie('dingunionid') == ''){
// redirect('/apps/dinglogin/login/?returnurl=/apps/trainsystem/pages/');
// }
$this->load->view('header');
$this->load->view('export');
$this->load->view('footer');
}
//澜海账单导出页面
public function lanhaiExport(){
$this->load->view('header');
$this->load->view('export_lanhai');
$this->load->view('footer');
}
//预售时间列表
public function presale_list(){
$page_size = 10;
$page = $this->input->get("page");
$stationcn = $this->input->get("stationcn");
$web_code = $this->input->get("web_code");
$where = "1=1";//搜索条件
$page_parameter = "";//返回的分页条件参数
if(empty($page) or !is_numeric($page)){
$page=0;
}
if(!empty($stationcn)){
$where = " TST_station_cn like '%{$stationcn}%' ";
$list["stationcn"] = $stationcn;
$page_parameter = "stationcn=".$stationcn;
}
//获取订单数据
$data = $this->BIZ_train_model->get_presale_list($page_size,$page,$where);
// print_r(json_encode($data));die();
$list["data"]=$data->list;
$this->load->library('pagination');
$config['base_url'] = site_url("/apps/trainsystem/pages/presale_list?{$page_parameter}");
$config['total_rows'] = $data->count;
$config['per_page'] = $page_size;
$config['page_query_string']=TRUE;
$config['query_string_segment']="page";
$config['cur_tag_open'] = '<li class="active"><a href="#">';
$config['cur_tag_close'] = '</a></li>';
$config['first_tag_open']=$config['last_tag_open']=$config['next_tag_open']=$config['prev_tag_open']=$config['num_tag_open']="<li>";
$config['first_tag_close']=$config['lasbt_tag_close']=$config['next_tag_close']=$config['prev_tag_close']=$config['num_tag_close']="</li>";
$this->pagination->initialize($config);
$list["page_link"]=$this->pagination->create_links();
$this->load->view('header');
$this->load->view('presale_list',$list);
$this->load->view('footer');
}
//预售时间编辑
public function presale_edit(){
$ordernumber = $tstid=$this->input->get("tstid");
if(empty($tstid)){
exit('参数错误');
}
//根据ID号查询信息
$saletime_detail = $this->BIZ_train_model->get_saletime_detail($tstid);
$data["info"] = $saletime_detail;
$this->load->view('header');
$this->load->view('presale_edit',$data);
$this->load->view('footer');
}
//预售时间编辑保存
public function presale_editsave(){
$TST_id = $this->input->get_post("TST_id");
$TST_station_cn = trim($this->input->get_post("TST_station_cn"));
$TST_saletime = trim($this->input->get_post("TST_saletime"));
$TST_station_code = trim($this->input->get_post("TST_station_code"));
$data = new stdClass();
$data->TST_id = $TST_id;
$data->TST_station_cn = $TST_station_cn;
$data->TST_saletime = $TST_saletime;
$data->TST_station_code = $TST_station_code;
$this->BIZ_train_model->update_saletime($data);
$rUrl = '<script type="text/javascript">';
$rUrl.= 'alert("修改完成,请查看修改后的信息!!"); window.location.href="/info.php/apps/trainsystem/pages/presale_list";'; // 弹出提示框
//$rUrl.= 'window.location.href="/info.php/apps/trainsystem/pages/presale_edit?tstid='+$TST_id+'";'; // 跳转到目标页面
$rUrl.= '</script>';
echo $rUrl;
}
//澜海查询信息
public function lanhaiMsg(){
$order = $this->input->get_post("order"); //订单号
$type = $this->input->get_post("type"); //出票,退票,账单等类型
$microtime = get_microtime(); //时间戳
//生成接口请求头参数
$timestamp = $microtime;
$appId = LANHAI_appId;
if ($type == "orderticket"){
$url = LANHAI_URL."api/open/get/orderDetails";
}else if ($type == "returnticket"){
$url = LANHAI_URL."api/open/get/orderRefundDetails";
}
//拼接发送的报文
$PostData = new stdClass();
$PostData->mainOrderId = $order;
$PostData->timestamp = $timestamp;
$PostData->appId = $appId;
$ResponseJson = GetPost_http($url,json_encode($PostData),'json');
//log_message('error','澜海出票详细信息:'.$ResponseJson);
$ResponseData = json_decode($ResponseJson);
if (isset($ResponseData->data)){
// //需要解密
$this->load->library("aesLanhai");
$aesUnit = new Security();
$data = json_decode($aesUnit->decryptData($ResponseData->data));
$result = array();
$this->handle_array($data,$type,$result);
$formattedJson = json_encode($result, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);
echo "<pre>$formattedJson</pre>";
}else{
$ResultNoticeResponse = new stdClass();
$ResultNoticeResponse->returnCode = -1;
$ResultNoticeResponse->success = false;
$ResultNoticeResponse->returnMsg = "找不到订单数据!";
$formattedJson = json_encode($ResultNoticeResponse, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);
echo $formattedJson;
}
}
//循环展示JSON
private function handle_array($arr,$type,&$array_to_fill){
foreach($arr as $key => $value){
if(is_array($value) || is_object($value)){
$array_to_fill[$key] = array();
$this->handle_array($value,$type, $array_to_fill[$key]);
}else{
if ($type=="orderticket"){ //出票特殊显示
if ($key == "passengerType"){
if ($value==0){
$value = "成人";
}else if($value == 1){
$value = "儿童";
}
}
if ($key == "certificateType"){
if ($value==1){
$value = "身份证";
}else if ($value == 2) {
$value = "护照";
}else if ($value == 7){
$value = "回乡证";
}else if ($value == 8 ){
$value = "台胞证";
}
}
if ($key == "status"){
switch ($value) {
case 0:
$value = "待出票";
break;
case 1:
$value = "锁定订单";
break;
case 2:
$value = "已出票";
break;
case 3:
$value = "超时订单";
break;
case 4:
$value = "已驳回";
break;
case 6:
$value = "出票超时";
break;
case 12:
$value = "锁单失败";
break;
default:
# code...
break;
}
}
}
$array_to_fill[$key] = $value;
}
}
}
public function presale_add(){
$this->load->view('header');
$this->load->view('presale_add');
$this->load->view('footer');
}
public function presale_addsave(){
$TST_station_cn = trim($this->input->get_post("TST_station_cn"));
$TST_saletime = trim($this->input->get_post("TST_saletime"));
$TST_station_code = trim($this->input->get_post("TST_station_code"));
$data = new stdClass();
$data->TST_station_cn = $TST_station_cn;
$data->TST_saletime = $TST_saletime;
$data->TST_station_code = $TST_station_code;
$this->BIZ_train_model->add_saletime($data);
$rUrl = '<script type="text/javascript">';
$rUrl.= 'alert("添加完成!!"); window.location.href="/info.php/apps/trainsystem/pages/presale_list";'; // 弹出提示框
$rUrl.= '</script>';
echo $rUrl;
}
}

@ -46,6 +46,7 @@ class returnorders extends CI_Controller{
if(empty($passenger_data)){
header("HTTP/1.1 404 Not Found");
exit('{"reason":"乘客信息为空无法退票","status":"404"}');
//exit('{"reason":"'.$ordernumber.",".$passportname.",".$passportno.'","status":"404"}');
exit('');
}
@ -58,6 +59,9 @@ class returnorders extends CI_Controller{
case 'ctrip':
$this->ctripModel($ticket_data,$passenger_data);
break;
case 'lanhai':
$this->lanhaiModel($ticket_data,$passenger_data);
break;
}
}
@ -129,31 +133,55 @@ class returnorders extends CI_Controller{
}
function ctripModel($ticket_data,$passenger_data){
$PostData = array();
$TimeStamp = time();
$time = date('Y-m-d H:i:s',$TimeStamp);
$PostData['Authentication'] = new stdClass();
$PostData['Authentication']->TimeStamp = $time;
$PostData['Authentication']->ServiceName = 'order.ticketReturn';
$PostData['Authentication']->PartnerName = ORDERUSER;
$MessageIdentity = md5($time.'order.ticketReturn'.ORDERKEY);
$PostData['Authentication']->MessageIdentity = $MessageIdentity;
$PostData['TrainOrderService'] = new stdClass();
$PostData['TrainOrderService']->contactName = '陈宇超';
$PostData['TrainOrderService']->contactMobile = '18877381547';
$PostData['TrainOrderService']->OrderNumber = $ticket_data->ts_ordernumber;
$PostData['TrainOrderService']->OperatorType = '0';
$PostData['TrainOrderService']->LongElecNums = array();
$PostData['TrainOrderService']->LongElecNums['0'] = $passenger_data->tst_LongTrainNo;
//生成接口请求头参数
$TimeStamp = date("Y-m-d H:i:s");
$serviceName = "train.artificialTicketReturn"; //每个接口都有自己名称
$companyId = COMPANYID;
$key = CTRIPKEY;
$strSign = $TimeStamp.$serviceName.$companyId.$key; //加密前的令牌
$Sign = md5($strSign);
$url = CTRIPURL."/artificialTicketReturn";
$PostData = new stdClass();
$PostData->authentication = new stdClass();
$PostData->authentication->timeStamp = $TimeStamp;
$PostData->authentication->serviceName = $serviceName;
$PostData->authentication->companyId = $companyId;
$PostData->authentication->messageIdentity = $Sign;
$PostData->companyOrderId = $ticket_data->ts_ordernumber;
$PostData->operator = "vivi";
$PostData->returnServiceFee = "15"; //退票服务费
$PostData->returnTicketList['0'] = new stdClass();
$PostData->returnTicketList['0']->trainNo = $passenger_data->ts_checi;
//车厢及座位分解
$tst_seatdetail = $passenger_data->tst_seatdetail;
$carriageNo = "";
$seatNo = "";
if (strpos($tst_seatdetail,"车厢")!=false){
$arrSeat = explode("车厢",$tst_seatdetail);
$carriageNo = $arrSeat[0];
$seatNo = $arrSeat[1];
}
$PostData->returnTicketList['0']->carriageNo = $carriageNo;
$PostData->returnTicketList['0']->seatNo = $seatNo;
$PostData->returnTicketList['0']->longElecNo = $passenger_data->tst_LongTrainNo;
$PostData->returnTicketList['0']->cardFirstImage = "";
$PostData->returnTicketList['0']->cardSecondImage ="";
// print_r(json_encode($PostData));
// die();
//发起退票请求
$Url = 'http://apiproxy.ctrip.com/apiproxy/soa2/13680/PartnerReturnTicket';
$ResponseJson = GetPost_http($Url,json_encode($PostData),'json');
$ResponseJson = GetPost_http($url,json_encode($PostData),'json');
log_message('error','退票返回信息:'.$ResponseJson);
$ResponseData = json_decode($ResponseJson);
if($ResponseData->Status == 'SUCCESS'){
if($ResponseData->returnCode == 1){
echo '{"reason":"退票成功","status":"200"}';
}else{
header("HTTP/1.1 404 Not Found");
@ -161,6 +189,51 @@ class returnorders extends CI_Controller{
}
}
/**
* 澜海退票,这里只是提交退票提交。没有具体退票信息
*/
function lanhaiModel($ticket_data,$passenger_data){
$microtime = get_microtime();
//生成接口请求头参数
$dataId = $passenger_data->tst_id;
$mainOrderId = $passenger_data->tst_ordernumber;
$timestamp = $microtime;
$appId = LANHAI_appId;
$url = LANHAI_URL."api/open/refund/order";
//拼接发送的报文
$PostData = new stdClass();
$PostData->dataId = $dataId;
$PostData->mainOrderId = $mainOrderId;
$PostData->timestamp = $timestamp;
$PostData->appId = $appId;
// print_r(json_encode($PostData));
// die();
$ResponseJson = GetPost_http($url,json_encode($PostData),'json');
log_message('error','澜海退票请求返回信息:'.$ResponseJson);
$ResponseData = json_decode($ResponseJson);
// print_r($ResponseData);
// die();
//退票请求成功后执行支付
if($ResponseData->code == 0 && $ResponseData->success){
echo '{"reason":"退票提交成功","status":"200"}';
}else{
if (isset($ResponseData->msg)){
$errMsg = $ResponseData->msg;
}else{
$errMsg = "";
}
header("HTTP/1.1 404 Not Found");
echo '{"reason":"退票提交失败"'.$errMsg.',"status":"404"}';
}
}
//改签退票
public function returnreschedule(){
//接收数据

@ -59,6 +59,14 @@ function GetPost_http($url, $data = '',$format='') {
curl_setopt($curl, CURLOPT_POSTFIELDS, $data); // Post提交的数据包
if($format == 'json'){
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type:application/json'));
}else if ($format=="json_ctrip"){
//新携程接口只开通了116.8.4.34的IP能访问
$header = array(
'CLIENT-IP: 116.8.4.34',
'X-FORWARDED-FOR: 116.8.4.34',
'Content-Type:application/json'
);
curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
}
}
curl_setopt($curl, CURLOPT_TIMEOUT, 40); // 设置超时限制防止死循环
@ -314,5 +322,103 @@ function get_name($seat_code){
}
}
function get_name_cn($seat_code){
if($seat_code){
switch($seat_code){
case 'O' :
return '二等座';
case 'A8' :
return '二等座';
case 'A9' :
return '商务座';
case 'P' :
return '特等座';
case 'M' :
return '一等座';
case 'A7' :
return '一等座';
case 'A6' :
return '高级软卧';
case 'A' :
return '高级软卧';
case '5' :
return '硬卧';
case 'S' :
return '软卧';
case 'A4' :
return '软卧';
case 'F' :
return '动卧';
case 'A3' :
return '硬卧';
case 'A2' :
return '软座';
case 'A1' :
return '硬座';
case 'Q' :
return '观光座';
case 'H' :
return '其它';
case 'WZ' :
return '无座';
case '13' :
return '无座';
case 'YDW' :
return '一等卧';
case 'EDW' :
return '二等卧';
}
}
}
/**
* 解密函数
* 算法des
* 加密模式ecb
* 补齐方法PKCS5
* @param unknown_type $input
*/
function des_encrypt($data, $key) {
$data = pkcs5_pad($data, 8); //确保数据长度是8的倍数并使用PKCS5填充
$iv = "\x01\x02\x03\x04\x05\x06\x07\x08"; //PHP版本的初始化向量可以自定义
$cipher = mcrypt_module_open(MCRYPT_DES, '', MCRYPT_MODE_ECB, '');
mcrypt_generic_init($cipher, $key, $iv);
$encrypted = mcrypt_generic($cipher, $data);
mcrypt_generic_deinit($cipher);
mcrypt_module_close($cipher);
return base64_encode($encrypted); //将密文以base64编码输出
}
function des_decrypt($data, $key) {
$iv = "\x01\x02\x03\x04\x05\x06\x07\x08"; //PHP版本的初始化向量可以自定义
$cipher = mcrypt_module_open(MCRYPT_DES, '', MCRYPT_MODE_ECB, '');
mcrypt_generic_init($cipher, $key, $iv);
$decrypted = mdecrypt_generic($cipher, base64_decode($data)); //将密文先解码后解密
mcrypt_generic_deinit($cipher);
mcrypt_module_close($cipher);
return pkcs5_unpad($decrypted); //移除PKCS5填充并输出明文
}
function pkcs5_pad($text, $blocksize)
{
$pad = $blocksize - (strlen($text) % $blocksize);
return $text . str_repeat(chr($pad), $pad);
}
function pkcs5_unpad($text) {
$pad = ord($text{strlen($text)-1});
if ($pad > strlen($text)) {
return false;
}
if (strspn($text, chr($pad), strlen($text) - $pad) != $pad) {
return false;
}
return substr($text, 0, -1 * $pad);
}
?>

@ -0,0 +1,51 @@
<?php
class aesLanhai{}
/**
* 使用旧的mcrypt来写澜海加解密类
*/
class Security {
private $key;
public function __construct() {
$CI =& get_instance();
$CI->load->config();
$this->key = LANHAI_KEY;
//$this->key = "999c1DtJJ4pEbcxeEqJBKw==";
}
public function encryptData($input) {
$size = mcrypt_get_block_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_ECB);
$input = Security::pkcs5_pad($input, $size);
$td = mcrypt_module_open(MCRYPT_RIJNDAEL_128, '', MCRYPT_MODE_ECB, '');
$iv = mcrypt_create_iv (mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
mcrypt_generic_init($td, $this->key, $iv);
$data = mcrypt_generic($td, $input);
mcrypt_generic_deinit($td);
mcrypt_module_close($td);
$data = base64_encode($data);
return $data;
}
private static function pkcs5_pad ($text, $blocksize) {
$pad = $blocksize - (strlen($text) % $blocksize);
return $text . str_repeat(chr($pad), $pad);
}
public function decryptData($sStr) {
$decrypted= mcrypt_decrypt(
MCRYPT_RIJNDAEL_128,
$this->key,
base64_decode($sStr),
MCRYPT_MODE_ECB
);
$dec_s = strlen($decrypted);
$padding = ord($decrypted[$dec_s-1]);
$decrypted = substr($decrypted, 0, -$padding);
return $decrypted;
}
}

@ -193,4 +193,11 @@ class BIZ_intel_train_model extends CI_Model {
$query = $this->HT->query($sql,array($station_id));
return $query->result();
}
//获取价格信息
function get_priceinfo($train_no){
$sql = "SELECT seatPriceInfo2 FROM trainPrice WHERE train_no = '{$train_no}'";
$query = $this->HT->query($sql);
return $query->row();
}
}

@ -4,8 +4,8 @@ class BIZ_train_model extends CI_Model {
function __construct() {
parent::__construct();
$this->HT = $this->load->database('HT', TRUE);
$this->INFO = $this->load->database('INFO', TRUE);
$this->HT = $this->load->database('TOURMANAGER_LOCAL', TRUE);
$this->INFO = $this->load->database('INFORMATION_LOCAL', TRUE);
}
//传入一组BPE_SN获取乘客信息
@ -19,8 +19,11 @@ class BIZ_train_model extends CI_Model {
,bbp.BPE_Passport
,bbp.BPE_PassportType
,bbp.BPE_SEX
,bbp.BPE_BirthDate
,bbp.BPE_PassExpdate
,CONVERT(VARCHAR(10),BPE_BirthDate,120) as BPE_BirthDate
,(case ISDATE(BPE_PassExpdate)
when 1 then CONVERT(VARCHAR(10),CONVERT(datetime,BPE_PassExpdate,120),120)
else null end) as BPE_PassExpdate
,(select top 1 COI_Code from COuntryInfo where COI_SN=bbp.BPE_Nationality) as BPE_Nationality
FROM BIZ_BookPeople bbp
WHERE BPE_SN in(".$bpe_sn.")
";
@ -49,6 +52,12 @@ class BIZ_train_model extends CI_Model {
,bbp.BPE_GuestType
,bbp.BPE_Passport
,bbp.BPE_PassportType
,CONVERT(VARCHAR(10),BPE_BirthDate,120) as BPE_BirthDate
,(case ISDATE(BPE_PassExpdate)
when 1 then CONVERT(VARCHAR(10),CONVERT(datetime,BPE_PassExpdate,120),120)
else null end) as BPE_PassExpdate
,(select top 1 COI_Code from COuntryInfo where COI_SN=bbp.BPE_Nationality) as BPE_Nationality
,(select top 1 COI_ID from COuntryInfo where COI_SN=bbp.BPE_Nationality) as Nationality
FROM BIZ_BookPeople bbp
WHERE EXISTS(
SELECT TOP 1 1
@ -152,8 +161,92 @@ class BIZ_train_model extends CI_Model {
//删除多余支付记录
$sql = "delete from BIZ_TrainOrderCost where TOC_COLI_SN = '{$CCSN}' and TOC_TicketCost is null";
$query=$this->HT->query($sql);
if(empty($data->FOI_TrainNetOrderNo)){
//退票
// if(empty($data->FOI_TrainNetOrderNo)){ //由于取票号不再是必传回来的参数,所以退票单独做一个函数
// //退票
// $sql="IF NOT EXISTS(
// SELECT TOP 1 1 FROM BIZ_TrainOrderCost
// WHERE TOC_COLD_SN = ? AND TOC_Memo like ?
// )
// INSERT INTO BIZ_TrainOrderCost(
// TOC_Memo,
// TOC_CreateDate,
// TOC_COLI_SN,
// TOC_COLD_SN,
// TOC_TrainNumber,
// TOC_DepartureDate,
// TOC_TicketCost,
// TOC_WL,
// TOC_VEI_SN
// )
// VALUES(?,getdate(),{$CCSN},?,?,?,?,(SELECT COLI_OPI_ID FROM BIZ_ConfirmLineInfo WHERE COLI_SN={$CCSN}),?)";
// $query = $this->HT->query($sql,array($data->TOC_COLD_SN,"%".$data->TOC_Memo."%","退票费 ".$data->TOC_Memo,$data->TOC_COLD_SN,$data->TOC_TrainNumber,$data->TOC_DepartureDate,$data->TOC_TicketCost,$data->TOC_VEI_SN));
// }else{
// }
//---------出票----
//BIZ_FlightsOrderInfo.FOI_TrainNetOrderNo,更新取票号
/*
UPDATE BIZ_FlightsOrderInfo
SET
FOI_TrainNetOrderNo=?
WHERE
FOI_COLD_SN=?
*/
$sql="IF EXISTS(
select * from BIZ_FlightsOrderInfo where FOI_COLD_SN = '$data->TOC_COLD_SN' and (FOI_TrainNetOrderNo is null or FOI_TrainNetOrderNo = '' or FOI_TrainNetOrderNo = '$data->FOI_TrainNetOrderNo'))
UPDATE BIZ_FlightsOrderInfo
SET
FOI_TrainNetOrderNo='$data->FOI_TrainNetOrderNo'
WHERE
FOI_COLD_SN='$data->TOC_COLD_SN'
ELSE
IF NOT EXISTS(select * from BIZ_FlightsOrderInfo where FOI_COLD_SN = '$data->TOC_COLD_SN' and FOI_TrainNetOrderNo LIKE '%$data->FOI_TrainNetOrderNo%')
UPDATE BIZ_FlightsOrderInfo
SET
FOI_TrainNetOrderNo=(select FOI_TrainNetOrderNo from BIZ_FlightsOrderInfo where FOI_COLD_SN = '$data->TOC_COLD_SN') + '&' + '$data->FOI_TrainNetOrderNo'
WHERE
FOI_COLD_SN='$data->TOC_COLD_SN'";
$this->HT->query($sql);
$sql="IF NOT EXISTS(
SELECT TOP 1 1 FROM BIZ_TrainOrderCost
WHERE TOC_COLD_SN = ? AND TOC_Memo like ?
)
INSERT INTO BIZ_TrainOrderCost(
TOC_Memo,
TOC_CreateDate,
TOC_COLI_SN,
TOC_COLD_SN,
TOC_TrainNumber,
TOC_DepartureDate,
TOC_TicketCost,
TOC_WL,
TOC_OtherCost,
TOC_VEI_SN
)
VALUES(?,getdate(),{$CCSN},?,?,?,?,(SELECT isnull(COLI_OPI_ID,29) FROM BIZ_ConfirmLineInfo WHERE COLI_SN={$CCSN}),null,?)";
//,(?,getdate(),{$CCSN},?,?,?,?,(SELECT isnull(COLI_OPI_ID,29) FROM BIZ_ConfirmLineInfo WHERE COLI_SN={$CCSN}),1,?)
$query = $this->HT->query($sql,array($data->TOC_COLD_SN,"%".$data->TOC_Memo."%",$data->TOC_Memo,$data->TOC_COLD_SN,$data->TOC_TrainNumber,$data->TOC_DepartureDate,$data->TOC_TicketCost,$data->TOC_VEI_SN)); //,$data->TOC_Memo." 手续费",$data->TOC_COLD_SN,$data->TOC_TrainNumber,$data->TOC_DepartureDate,$data->poundage,$data->TOC_VEI_SN
return $query;
}
//新增退款记录 refund
public function refund_train_payment($data){
//主表ID下面两个地方用到所以先筛选出来不知道能不能通过合并提高效率
$sql="SELECT COLD_COLI_SN FROM BIZ_ConfirmLineDetail WHERE COLD_SN=?";
$query=$this->HT->query($sql,$data->TOC_COLD_SN);
$query=$query->result();
$CCSN=$query[0]->COLD_COLI_SN;
//删除多余支付记录
$sql = "delete from BIZ_TrainOrderCost where TOC_COLI_SN = '{$CCSN}' and TOC_TicketCost is null";
$query=$this->HT->query($sql);
//退款记录
$sql="IF NOT EXISTS(
SELECT TOP 1 1 FROM BIZ_TrainOrderCost
WHERE TOC_COLD_SN = ? AND TOC_Memo like ?
@ -169,35 +262,21 @@ class BIZ_train_model extends CI_Model {
TOC_WL,
TOC_VEI_SN
)
VALUES(?,getdate(),{$CCSN},?,?,?,?,(SELECT COLI_OPI_ID FROM BIZ_ConfirmLineInfo WHERE COLI_SN={$CCSN}),?)";
$query = $this->HT->query($sql,array($data->TOC_COLD_SN,"%".$data->TOC_Memo."%","退票费 ".$data->TOC_Memo,$data->TOC_COLD_SN,$data->TOC_TrainNumber,$data->TOC_DepartureDate,$data->TOC_TicketCost,$data->TOC_VEI_SN));
}else{
//出票
//BIZ_FlightsOrderInfo.FOI_TrainNetOrderNo,更新取票号
/*
UPDATE BIZ_FlightsOrderInfo
SET
FOI_TrainNetOrderNo=?
WHERE
FOI_COLD_SN=?
*/
$sql="IF EXISTS(
select * from BIZ_FlightsOrderInfo where FOI_COLD_SN = '$data->TOC_COLD_SN' and (FOI_TrainNetOrderNo is null or FOI_TrainNetOrderNo = '' or FOI_TrainNetOrderNo = '$data->FOI_TrainNetOrderNo'))
UPDATE BIZ_FlightsOrderInfo
SET
FOI_TrainNetOrderNo='$data->FOI_TrainNetOrderNo'
WHERE
FOI_COLD_SN='$data->TOC_COLD_SN'
ELSE
IF NOT EXISTS(select * from BIZ_FlightsOrderInfo where FOI_COLD_SN = '$data->TOC_COLD_SN' and FOI_TrainNetOrderNo LIKE '%$data->FOI_TrainNetOrderNo%')
UPDATE BIZ_FlightsOrderInfo
SET
FOI_TrainNetOrderNo=(select FOI_TrainNetOrderNo from BIZ_FlightsOrderInfo where FOI_COLD_SN = '$data->TOC_COLD_SN') + '&' + '$data->FOI_TrainNetOrderNo'
WHERE
FOI_COLD_SN='$data->TOC_COLD_SN'";
$this->HT->query($sql);
VALUES(?,getdate(),{$CCSN},?,?,?,?,(SELECT isnull(COLI_OPI_ID,29) FROM BIZ_ConfirmLineInfo WHERE COLI_SN={$CCSN}),?)";
$query = $this->HT->query($sql,array($data->TOC_COLD_SN,"%".$data->TOC_Memo."%","退款: ".$data->TOC_Memo,$data->TOC_COLD_SN,$data->TOC_TrainNumber,$data->TOC_DepartureDate,$data->TOC_TicketCost,$data->TOC_VEI_SN));
}
//新增退款记录 refund
public function returnticket_train($data){
//主表ID下面两个地方用到所以先筛选出来不知道能不能通过合并提高效率
$sql="SELECT COLD_COLI_SN FROM BIZ_ConfirmLineDetail WHERE COLD_SN=?";
$query=$this->HT->query($sql,$data->TOC_COLD_SN);
$query=$query->result();
$CCSN=$query[0]->COLD_COLI_SN;
//退票手续费记录
$sql="IF NOT EXISTS(
SELECT TOP 1 1 FROM BIZ_TrainOrderCost
WHERE TOC_COLD_SN = ? AND TOC_Memo like ?
@ -211,13 +290,12 @@ class BIZ_train_model extends CI_Model {
TOC_DepartureDate,
TOC_TicketCost,
TOC_WL,
TOC_OtherCost,
TOC_VEI_SN
)
VALUES(?,getdate(),{$CCSN},?,?,?,?,(SELECT isnull(COLI_OPI_ID,29) FROM BIZ_ConfirmLineInfo WHERE COLI_SN={$CCSN}),null,?),(?,getdate(),{$CCSN},?,?,?,?,(SELECT isnull(COLI_OPI_ID,29) FROM BIZ_ConfirmLineInfo WHERE COLI_SN={$CCSN}),1,?)";
$query = $this->HT->query($sql,array($data->TOC_COLD_SN,"%".$data->TOC_Memo."%",$data->TOC_Memo,$data->TOC_COLD_SN,$data->TOC_TrainNumber,$data->TOC_DepartureDate,$data->TOC_TicketCost,$data->TOC_VEI_SN,$data->TOC_Memo." 手续费",$data->TOC_COLD_SN,$data->TOC_TrainNumber,$data->TOC_DepartureDate,$data->poundage,$data->TOC_VEI_SN));
}
return $query;
VALUES(?,getdate(),{$CCSN},?,?,?,?,(SELECT isnull(COLI_OPI_ID,29) FROM BIZ_ConfirmLineInfo WHERE COLI_SN={$CCSN}),?)";
$query = $this->HT->query($sql,array($data->TOC_COLD_SN,"%".$data->TOC_Memo."%","退票: ".$data->TOC_Memo,$data->TOC_COLD_SN,$data->TOC_TrainNumber,$data->TOC_DepartureDate,$data->TOC_TicketCost,$data->TOC_VEI_SN));
}
public function update_cold_planvei_sn($cold_sn,$planveiSn){
@ -249,12 +327,103 @@ class BIZ_train_model extends CI_Model {
return $query->result();
}
//获取能够自动出票的订单列表2.0版本 20240130 zp (coli_state 11 我的订单 8 已收款 63 出票中 13 新订单(已支付))
function auto_check_ticket_2(){
$sql = "SELECT top 10 COLD_SN ,coli_id,COLD_SPFS,COLI_State,(SELECT TOP 1 GAI_Type FROM BIZ_GroupAccountInfo WHERE GAI_COLI_SN=bcli.COLI_SN AND ISNULL(DeleteFlag,0)=0) as GAI_Type
,cold_startdate
,isnull((select top 1 ts_autotimes from InfoManager.dbo.trainsystem where ts_cold_sn= bcld.cold_sn order by ts_id desc),0) as ts_autotimes
,(select top 1 ts_autolasttime from InfoManager.dbo.trainsystem where ts_cold_sn= bcld.cold_sn order by ts_id desc) as ts_autolasttime
FROM BIZ_ConfirmLineInfo bcli
inner join BIZ_ConfirmLineDetail bcld on COLD_COLI_SN=COLI_SN
INNER JOIN dbo.OperatorInfo ON OPI_SN=COLI_OPI_ID and OPI_DEI_SN=10 AND ISNULL(dbo.OperatorInfo.DeleteFlag,0)=0
WHERE bcli.COLI_ServiceType = '2'
AND bcli.COLI_State in ('13','63')
AND EXISTS(SELECT sum(GAI_SQJE) FROM BIZ_GroupAccountInfo WHERE GAI_COLI_SN=bcli.COLI_SN AND isnull(DeleteFlag,0) = 0 having (bcli.COLI_Price - Sum(GAI_SQJE)) <= 20 AND (Sum(GAI_SQJE) - bcli.COLI_Price) >= -20 )
AND isnull(bcli.DeleteFlag,0) = 0
AND isnull(bcld.DeleteFlag,0) = 0
AND COLD_SPFS < 2
AND ( NOT EXISTS (
SELECT TOP 1 1
FROM InfoManager.dbo.trainsystem
WHERE ts_cold_sn = COLD_SN
) or EXISTS(select Top 1 1 from InfoManager.dbo.trainsystem WHERE ts_cold_sn = COLD_SN
and (ts_status = '5' or ts_status='11')
and ts_cold_sn not in (select ts_cold_sn from InfoManager.dbo.trainsystem
where (ts_status='4' or ts_status='3' or ts_status='2' or ts_status='10') and ts_cold_sn = COLD_SN) ))
AND COLD_SN NOT IN ( select FOI_COLD_SN from BIZ_FlightsOrderInfo where FOI_COLD_SN=COLD_SN and FOI_TrainNetOrderNo>'')
and (COLD_StartDate between GETDATE() and CONVERT(varchar(100),GETDATE()+14,23)+' 23:59')
and isnull((select top 1 ts_autotimes from InfoManager.dbo.trainsystem where ts_cold_sn= bcld.cold_sn order by ts_id desc),0)<4
order by CONVERT(date,cold_startdate),ISNULL(CAST((select TOP 1 TST_saletime from TrainSaleTime where TST_station_cn = (
SELECT TOP 1 TRS_StationCN
FROM TrainStation
WHERE TRS_Code = (select top 1 DepartAirport from BIZ_FlightsOrderInfo where FOI_COLD_SN = cold_sn)
and ISNULL(TRS_StationCN,'')<>''
)) as Time),'18:00')
";
$query = $this->HT->query($sql);
return $query->result();
}
public function get_saletime($station){
$sql = 'select TST_saletime from TrainSaleTime where TST_station_cn = ?';
$query = $this->HT->query($sql,$station);
return $query->row();
}
//预售时间列表
public function get_presale_list($pagesize=10,$page=0,$where="1=1"){
$data=new StdClass();
//获取总条数
$sql="SELECT COUNT(*) AS count FROM TrainSaleTime
WHERE
{$where}
";
$query = $this->HT->query($sql);
$count=$query->result();
$data->count=$count[0]->count;
$sql="SELECT TOP {$pagesize} TST_id,TST_station_cn,TST_station_code,TST_saletime,TST_updatetime from TrainSaleTime
WHERE
TST_id not in ( select top {$page} TST_id from TrainSaleTime where {$where} Order by isnull(TST_updatetime,0) desc,TST_id desc)
AND
{$where}
ORDER BY isnull(TST_updatetime,0) desc,TST_id desc ";
$query = $this->HT->query($sql);
$data->list=$query->result();
return $data;
}
//预售时间详细
public function get_saletime_detail($tstid){
$sql = 'select * from TrainSaleTime where TST_id = ?';
$query = $this->HT->query($sql,$tstid);
return $query->row();
}
//更新预售时间
public function update_saletime($data){
$sql = "update TrainSaleTime
set
TST_station_cn = '{$data->TST_station_cn}',
TST_saletime = '{$data->TST_saletime}',
TST_station_code = '{$data->TST_station_code}',
TST_updatetime = getdate()
where TST_id = '{$data->TST_id}' ";
$query = $this->HT->query($sql);
}
//添加预售时间
public function add_saletime($data){
$sql = " insert into TrainSaleTime (TST_station_cn,TST_saletime,TST_station_code,TST_updatetime)
values (?,?,?,getdate()) ";
$query = $this->HT->query($sql ,array($data->TST_station_cn,$data->TST_saletime,$data->TST_station_code));
}
//筛选符合发送邮件的订单
public function auto_sendmail(){
$time = date('Y-m-d',time());
@ -496,4 +665,32 @@ class BIZ_train_model extends CI_Model {
$sql = "delete from trainsystem where ts_id = '860'";
$query = $this->INFO->query($sql);
}
//添加澜海账单到汉特
function add_lanhai_bill($data){
//2.添加
$sql2 = "insert into BIZ_Platform_BookingInfo_XC (
XC_BillSN,XC_BillDate,XC_OrderID,XC_VEIName,XC_From,XC_BillType,XC_Cost,XC_Memo,XC_Creator,XC_CreateDate
) values (
'{$data->BillSn}',
'{$data->BillDate}',
'{$data->OrderId}',
'{$data->VEIName}',
'{$data->From}',
'{$data->BillType}',
'{$data->Cost}',
'{$data->Memo}',
'29',
getdate()
)";
$query = $this->HT->query($sql2);
}
//删除重复数据
function del_lanhai_bill($BillSn){
//1.删除数据 ,防止重复,根据 XC_BillSn
$sql = "delete from BIZ_Platform_BookingInfo_XC where XC_BillSn = '{$BillSn}' and XC_VEIName='9082253783' ";
$query=$this->HT->query($sql);
}
}

@ -5,8 +5,8 @@ class train_system_model extends CI_Model {
function __construct() {
parent::__construct();
$this->HT = $this->load->database('HT', TRUE);
$this->INFO = $this->load->database('INFO', TRUE);
$this->HT = $this->load->database('TOURMANAGER_LOCAL', TRUE);
$this->INFO = $this->load->database('INFORMATION_LOCAL', TRUE);
}
//获取订单(用于订单列表)
@ -38,8 +38,10 @@ class train_system_model extends CI_Model {
InfoManager.dbo.trainsystem.ts_sendmail,
InfoManager.dbo.trainsystem.ts_m_sn,
InfoManager.dbo.trainsystem.ts_channel,
InfoManager.dbo.trainsystem.ts_autotimes,
BIZ_ConfirmLineInfo.COLI_ID,
BIZ_ConfirmLineInfo.COLI_WebCode
,(select top 1 OPI2_Name from OperatorInfo2 where OPI2_OPI_SN = coli_opi_id and OPI2_LGC=2) as OPIName
FROM
InfoManager.dbo.trainsystem
LEFT JOIN
@ -61,6 +63,8 @@ class train_system_model extends CI_Model {
AND
{$where}
ORDER BY InfoManager.dbo.trainsystem.ts_subtime DESC";
// echo($sql);
// die();
$query = $this->HT->query($sql);
$data->list=$query->result();
@ -95,7 +99,10 @@ class train_system_model extends CI_Model {
ts_runtime,
ts_checi,
ts_channel,
ts_isauto
ts_isauto,
ts_autotimes,
ts_autolasttime,
ts_lanhaiData
)
VALUES(
'{$data->cold_sn}',
@ -114,7 +121,10 @@ class train_system_model extends CI_Model {
'{$data->runtime}',
'{$data->checi}',
'{$data->channel}',
'{$data->isauto}'
'{$data->isauto}',
'{$data->ts_autotimes}',
getdate(),
'{$data->lanhaiData}'
)
";
//echo $sql;
@ -122,7 +132,7 @@ class train_system_model extends CI_Model {
}
public function ticketfrom($ts_ordernumber){
$sql = "select ts_channel,ts_cold_sn,ts_ordernumber from trainsystem where ts_ordernumber = ?";
$sql = "select ts_channel,ts_cold_sn,ts_ordernumber,ts_lanhaiData from trainsystem where ts_ordernumber = ?";
$query = $this->INFO->query($sql,array($ts_ordernumber));
return $query->row();
}
@ -146,7 +156,8 @@ class train_system_model extends CI_Model {
tst_seatstype = '{$data->seatype}',
tst_seatdetail = '{$data->seatdetail}',
tst_status = '{$data->status}',
tst_LongTrainNo = '{$data->longtrainno}'
tst_LongTrainNo = '{$data->longtrainno}',
tst_lanhaiData = '{$data->lanhaiData}'
where
tst_ordernumber = '{$data->ordernumber}'
and
@ -164,7 +175,8 @@ class train_system_model extends CI_Model {
tst_ticketprice,
tst_seatstype,
tst_seatdetail,
tst_LongTrainNo
tst_LongTrainNo,
tst_lanhaiData
)VALUES(
'{$data->ordernumber}',
'{$data->status}',
@ -175,7 +187,8 @@ class train_system_model extends CI_Model {
'{$data->ticketprice}',
'{$data->seatype}',
'{$data->seatdetail}',
'{$data->longtrainno}'
'{$data->longtrainno}',
'{$data->lanhaiData}'
)
";
$query =$this->INFO->query($sql);
@ -190,8 +203,41 @@ class train_system_model extends CI_Model {
ts_checkdoor = '{$data->TicketCheck}',
ts_elecnumber = '{$data->ElectronicOrderNumber}',
ts_orderamount = '{$data->OrderTotleFee}',
ts_bookcallback = '{$data->bookcallback}',
ts_startime = '{$data->OrderTicketTime}',";
ts_operateTradeNo = '{$data->operateTradeNo}',
ts_bookcallback = '{$data->bookcallback}',";
//ts_startime = '{$data->OrderTicketTime}',
}else if(!empty($data->ticketresultcallback)){
$where .= "ts_ticketresultcallback = '{$data->ticketresultcallback}',";
}else if(!empty($data->confirmcallback)){
$where .= "ts_confirmcallback = '{$data->confirmcallback}',";
}else if(!empty($data->refundcallback )){
$where .= "ts_refundcallback = '{$data->refundcallback }',";
}else if(!empty($data->returncallback)){
$where .= "ts_returncallback = '{$data->returncallback}',";
if (!empty($data->operateTradeNo)){
$where .= "ts_operateTradeNo = '{$data->operateTradeNo}',";
}
}else if(!empty($data->reschedulecallback)){
$where .= "ts_reschedulecallback = '{$data->reschedulecallback}',";
}
$sql ="
update trainsystem
set
ts_status = '{$data->OrderStatus}',
ts_errormsg = '{$data->ErrorMsg}',
".substr($where,0,strlen($where)-1)."
where
ts_ordernumber = '{$data->ordernumber}'
";
//echo $sql;die();
$query = $this->INFO->query($sql);
}
//更新订单信息,下订单和支付保存状态
public function update_orders_msg($data){
$where = '';
if(!empty($data->bookcallback)){
$where .= " ts_bookcallback = '{$data->bookcallback}',";
}else if(!empty($data->confirmcallback)){
$where .= "ts_confirmcallback = '{$data->confirmcallback}',";
}else if(!empty($data->returncallback)){
@ -199,6 +245,12 @@ class train_system_model extends CI_Model {
}else if(!empty($data->reschedulecallback)){
$where .= "ts_reschedulecallback = '{$data->reschedulecallback}',";
}
if (!empty($data->addOrderData)) {
//失败了保存提交的订单数据
$where .= " ts_addOrderData = '{$data->addOrderData}',";
}
$sql ="
update trainsystem
set
@ -210,8 +262,10 @@ class train_system_model extends CI_Model {
";
//echo $sql;die();
$query = $this->INFO->query($sql);
}
//更新乘客表信息
public function update_passpager_info($data){
$sql = "update
@ -230,6 +284,40 @@ class train_system_model extends CI_Model {
$query = $this->INFO->query($sql);
}
//更新乘客表信息,顺途新退票不再返回用户姓名及证件号码用longElecNo长电子订单号来判断 2023-4-28 zp
public function return_update_passpager_info($data){
$sql = "update
trainsystem_tickets
set
tst_status = '{$data->status}',
tst_returncallback = '{$data->returncallback}',
tst_lasteditdate = getdate()
where
tst_ordernumber = '{$data->ordernumber}'
and
tst_LongTrainNo = '{$data->longElecNo}'
";
$query = $this->INFO->query($sql);
}
/**
* 更新退票后的乘客信息澜海退票返回乘客的ID其它信息没有。
*/
public function return_update_passager_lanhai($data){
$sql = "update
trainsystem_tickets
set
tst_status = '{$data->status}',
tst_returncallback = '{$data->returncallback}',
tst_lasteditdate = getdate()
where
tst_id = '{$data->tst_id}'
";
$query = $this->INFO->query($sql);
}
//获取订单出票状态
public function get_tickets_info($cold_sn){
$sql = "select top 1 ts_status,ts_ordernumber,ts_elecnumber,ts_seatsinfo from trainsystem where ts_cold_sn = ? and ts_status in ('4','7') order by ts_subtime desc";
@ -264,4 +352,54 @@ class train_system_model extends CI_Model {
$query = $this->INFO->query($sql,array($ordernumber));
return $query->result();
}
//传入COLD_SN获取trainsystem是否存在此订单用来判断是否提交过
function get_submitStatus($cold_sn) {
$sql = "SELECT top 1 ts_cold_sn FROM trainsystem WHERE ts_cold_sn= ?";
$query = $this->INFO->query($sql, $cold_sn);
if($query->num_rows() == 0){
return true;
}else{
return false;
}
}
//获取出票次数,不管是自动还是手动。
public function get_autotimes($cold_sn){
$sql = "select COUNT(*) as countauto from InfoManager.dbo.trainsystem where ts_cold_sn = ? and ts_status=5";
$query = $this->INFO->query($sql, $cold_sn);
return $query->row();
}
/**
* 根据客人ID获取客人信息及出票信息
*/
public function get_passenger_byId($tst_id){
$sql = "select top 1 * from trainsystem_tickets inner join trainsystem on tst_ordernumber=ts_ordernumber and tst_id = ?";
$query = $this->INFO->query($sql,array($tst_id));
return $query->row();
}
//根据订单号获取外联名称
public function get_OPIName($orderNumber){
$sql = "select top 1
(SELECT TOP 1 OPI2_Name
FROM OperatorInfo2
WHERE OPI2_OPI_SN = coli_opi_id
AND OPI2_LGC = 2
) AS OPIName,
(select top 1 Gri_No from GRoupInfo where GRI_SN=BIZ_ConfirmLineInfo.COLI_GRI_SN) as griName
FROM InfoManager.dbo.trainsystem
INNER JOIN BIZ_ConfirmLineInfo ON BIZ_ConfirmLineInfo.COLI_SN = (
SELECT COLD_COLI_SN
FROM BIZ_ConfirmLineDetail
WHERE COLD_SN = InfoManager.dbo.trainsystem.ts_cold_sn
)
where ts_ordernumber=?
";
$query = $this->HT->query($sql,array($orderNumber));
return $query->row();
}
}

@ -5,8 +5,8 @@
</div>
<div class="panel-body">
<form style="width: 80%;" action="http://www.mycht.cn/info.php/apps/trainsystem/api/export_excel/" method="post">
<input type="text" name="from_date" class="date" value="<?php echo empty($from_date)?"":$from_date;?>" autocomplete="off">
<input type="text" name="to_date" class="date" value="<?php echo empty($to_date)?"":$to_date;?>" autocomplete="off">
<input type="text" name="from_date" class="date" value="<?php echo empty($from_date)?"":$from_date;?>" autocomplete="off" placeholder="开始日期">&nbsp;&nbsp;&nbsp;&nbsp;
<input type="text" name="to_date" class="date" value="<?php echo empty($to_date)?"":$to_date;?>" autocomplete="off" placeholder="结束日期">
审核状态:<input type="checkbox" <?php echo empty($examine)?"":"checked";?> name="examine" />&nbsp;&nbsp;&nbsp;
<button type="submit" id="sub" class="btn btn-warning btn-sm"><span class="glyphicon glyphicon-download-alt"></span> Download</button>
</form>

@ -0,0 +1,81 @@
<div style="width:90%;margin:30px auto;">
<div class="panel panel-primary">
<div class="panel-heading">
<h3 class="panel-title">交易记录导出&nbsp;<a style="margin-left:50px;" target='_blank' href="<?php echo site_url('apps/train/index/ht_order_list');?>">订单列表>></a> </h3>
</div>
<div class="panel-body">
<form style="width: 80%;" action="/info.php/apps/trainsystem/api/lanhai_export_excel/" method="post">
<input type="text" name="from_date" class="date" value="<?php echo empty($from_date)?"":$from_date;?>" autocomplete="off" placeholder="开始日期">&nbsp;&nbsp;&nbsp;&nbsp;
<input type="text" name="to_date" class="date" value="<?php echo empty($to_date)?"":$to_date;?>" autocomplete="off" placeholder="结束日期">
显示列表:<input type="checkbox" <?php echo empty($examine)?"":"checked";?> name="examine" />&nbsp;&nbsp;|&nbsp;&nbsp;
导入汉特:<input type="checkbox" <?php echo empty($importht)?"":"checked";?> name="importht" />&nbsp; <a href="javascript:void(0);" title="勾选此项后,会以开始时间和结束时间为编码把数据导入汉特。&#10 注意:为了防止重复 请不要有同一时间段的导入。比如8月1日到30日导入然后8月1日到29日又导入一次。"><i
class="text-muted glyphicon glyphicon-question-sign"></i></a>&nbsp;&nbsp;&nbsp;
<button type="submit" id="sub" class="btn btn-warning btn-sm"><span class="glyphicon glyphicon-download-alt"></span> Download</button>
&nbsp;<a href="javascript:void(0);" title="什么都不选点击此按钮下载EXCEL账单选择显示列表就只显示数据。&#10 选择导入汉特后会单独另外进行一个导入的操作。"><i
class="text-muted glyphicon glyphicon-question-sign"></i></a>
</form>
<p style="margin: 0 0 10px; width: 200px; float: left; line-height: 30px;">
<!-- <table class="table table-hover" >
<thead>
<tr><th>时间</th><th>信息</th><th>变化值</th><th>团名</th><th>外联</th></tr>
</thead>
<tbody>
<tr data-id="161130252" title="Popover title" data-container="body" data-toggle="popover" data-placement="top" data-content="顶部的 Popover 中的一些内容">
<td>2016-12-01 11:18:28</td>
<td> 票款(有充值)</td>
<td>-1106.00</td>
<td>R161228-BYW161130252</td>
<td>李毅文</td>
</tr>
</tbody>
</table> -->
<div class="row <?php echo empty($examine)?"hidden":"";?>" style="width:90%;margin:0 auto;">
<div class="">
<table class="table table-hover" id="list_table">
<thead>
<tr><th>日期</th><th>类型</th><th>金额</th><th>订单号</th><th>外联</th><th>团号</th><th>乘客</th></tr>
</thead>
<tbody>
<?php $total=0; $count=0; foreach ($data as $key => $value) {?>
<tr data-id="<?php echo $value["mainOrderId"];?>" title="Popover title" data-container="body" data-toggle="popover" data-placement="top" data-content="顶部的 Popover 中的一些内容">
<td><?php echo $value["saveDay"];?></td><td><?php echo $value["type"];?></td><td><?php echo $value["price"];?></td><td><?php echo $value["mainOrderId"];?></td>
<td><?php echo $value["wl"];?></td><td><?php echo $value["griName"];?></td><td><?php echo $value["passengerName"];?></td>
</tr>
<?php $total += $value["price"]; $count+=1; }?>
<tr><td colspan="2">总额:</td><td colspan="2"><?php echo($total) ?></td><td>记录数:</td><td colspan="2"><?php echo($count) ?></td></tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
<div class="popover fade top in" role="tooltip" id="popover" style="width:auto;max-width: 100% !important;top: 139.6px; left: 50%; display: none;">
<div class="arrow"></div>
<h3 class="popover-title">我的支付</h3>
<div class="popover-content">
<table class="table" id="my_pay_data">
<thead>
<tr>
<td>序号</td><td>车次</td><td>出发日期</td><td>价格</td><td>备注</td>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
</div>
<script>
$(function(){
$(".date").datepicker({
'dateFormat': 'yy-mm-dd',
'autoclose': true
});
})
</script>

@ -45,8 +45,8 @@ $(function(){
function selseat(seat){
var type = $(seat).attr('type');
var total = $(seat).parent().parent().find('.train-summary .seat_TotalPeople').html();
if(total>=5){
total = 5;
if(total>=10){
total = 10;
$('.seat_TotalPeople').html(total);
}
var count = $(seat).parent().parent().find('.selected').length;
@ -77,7 +77,8 @@ function selseat(seat){
<div style="width:90%;margin:30px auto;">
<div class="panel panel-primary">
<div class="panel-heading">
<h3 class="panel-title">翰特订单号&nbsp;<a style="margin-left:50px;" target='_blank' href="<?php echo site_url('apps/trainsystem/pages/order_list');?>">订单列表>></a><a style="margin-left:50px;" target='_blank' href="<?php echo site_url('apps/trainsystem/pages/reschedule');?>">携程改签>></a><a style="margin-left:50px;" target='_blank' href="<?php echo site_url('apps/trainsystem/pages/export');?>">导出交易记录>></a> <span style="margin-left:200px;">版本V2.0</span><span class="pull-right">聚合余额(RMB)<?php echo $balance;?></span></h3>
<h3 class="panel-title">翰特订单号&nbsp;<a style="margin-left:50px;" target='_blank' href="<?php echo site_url('apps/trainsystem/pages/order_list');?>">订单列表>></a><a style="margin-left:50px;" target='_blank' href="<?php echo site_url('apps/trainsystem/pages/presale_list');?>">预售时间维护>></a> <a style="margin-left:50px;" target='_blank' href="<?php echo site_url('apps/trainsystem/pages/lanhaiExport');?>">澜海导出账单>></a><span style="margin-left:200px;">版本V2.0</span><!--<span class="pull-right">聚合余额(RMB)<?php echo $balance;?></span> --></h3>
<!-- <a style="margin-left:50px;" target='_blank' href="<?php echo site_url('apps/trainsystem/pages/reschedule');?>">携程改签>></a> -->
</div>
<div class="panel-body">
<form style="width: 300px;float: left;" action="/info.php/apps/trainsystem/pages/index/" method="post">
@ -135,12 +136,15 @@ function selseat(seat){
<th style="text-align:center;">姓名</th>
<th style="text-align:center;">护照</th>
<th style="text-align:center;">年龄类型</th>
<th style="text-align:center;">出生年月</th>
<th style="text-align:center;">证件有效期</th>
<th style="text-align:center;">国籍</th>
</tr>
</thead>
<tbody>
<?php foreach($v->people as $key=>$p): ?>
<tr>
<?php if ($key < 5){?>
<?php if ($key < 10){?>
<td><input name="" type="checkbox" checked="checked" value="<?php echo $p->BPE_SN;?>" num="<?php echo $key;?>"/></td>
<?php }else{ ?>
<td><input name="" type="checkbox" value="<?php echo $p->BPE_SN;?>" /></td>
@ -149,6 +153,9 @@ function selseat(seat){
<td class="people_name"><?php echo $p->BPE_FirstName." ".$p->BPE_MiddleName." ".$p->BPE_LastName;?></td>
<td><?php echo $p->BPE_Passport;?></td>
<td><?php echo $p->BPE_GuestType==1?"成人":($p->BPE_GuestType==2?"儿童":"婴儿");?></td>
<td><?php echo $p->BPE_BirthDate;?></td>
<td><?php echo $p->BPE_PassExpdate;?></td>
<td><?php echo $p->Nationality . "(".$p->BPE_Nationality .")"; ?></td>
</tr>
<?php endforeach;?>
<tr style="text-align:;">
@ -292,7 +299,7 @@ function selseat(seat){
</tr>
<tr style="text-align:;">
<td>
<button type="button" class="btn btn-success checked_pay" data-order="<?php echo $v->train->FOI_COLD_SN;?>">聚合订票</button>
<button type="button" class="btn btn-success checked_pay" data-order="<?php echo $v->train->FOI_COLD_SN;?>">澜海订票</button>
</td>
<td colspan="4" class="biaoqian"><span class="back_mes" style="color:red;line-height: 30px;"></span>
</td>
@ -404,7 +411,7 @@ function selseat(seat){
var cold_sn = $(this).attr('data-order');
var istanding = $('input[name="istanding_'+cold_sn+'"]').is(':checked');
url2+=$(this).attr("data-order")+"&people="+people_sn+"&selectseat="+selectseat+"&type=juhe&istanding="+istanding;
url2+=$(this).attr("data-order")+"&people="+people_sn+"&selectseat="+selectseat+"&type=lanhai&istanding="+istanding;
var THIS=$(this);
THIS.parent().parent().find(".back_mes").html(" ");//清空提示
@ -416,7 +423,7 @@ function selseat(seat){
},
success:function(data){
THIS.removeAttr("disabled");
THIS.html("聚合订票");
THIS.html("澜海订票");
var str = "<a href='http://www.mycht.cn/info.php/apps/trainsystem/pages/order?order="+data.order+"' target='_blank'>"+data.mes+"</a>";
THIS.parent().parent().find(".back_mes").html(str);

@ -0,0 +1,181 @@
<?xml version="1.0" encoding="utf-8"?>
<?mso-application progid="Excel.Sheet"?>
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:x="urn:schemas-microsoft-com:office:excel"
xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
xmlns:html="http://www.w3.org/TR/REC-html40">
<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">
<Author>c21</Author>
<LastAuthor>c21</LastAuthor>
<Created>2024-08-07T01:21:46Z</Created>
<LastSaved>2024-08-07T01:38:10Z</LastSaved>
<Version>1.00</Version>
</DocumentProperties>
<ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">
<WindowHeight>9630</WindowHeight>
<WindowWidth>21555</WindowWidth>
<WindowTopX>0</WindowTopX>
<WindowTopY>90</WindowTopY>
<ProtectStructure>False</ProtectStructure>
<ProtectWindows>False</ProtectWindows>
</ExcelWorkbook>
<Styles>
<Style ss:ID="Default" ss:Name="Normal">
<Alignment ss:Vertical="Center"/>
<Borders/>
<Font ss:FontName="宋体" x:CharSet="134" ss:Size="11" ss:Color="#000000"/>
<Interior/>
<NumberFormat/>
<Protection/>
</Style>
<Style ss:ID="m58993952">
<Alignment ss:Horizontal="Right" ss:Vertical="Center" ss:WrapText="1"/>
<Borders>
<Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>
<Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/>
<Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"/>
<Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"/>
</Borders>
<Font ss:FontName="微软雅黑" x:CharSet="134" x:Family="Swiss" ss:Size="11"
ss:Color="#000000"/>
</Style>
<Style ss:ID="m58993972">
<Alignment ss:Horizontal="Center" ss:Vertical="Center"/>
<Borders>
<Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>
<Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/>
<Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"/>
<Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"/>
</Borders>
<Font ss:FontName="微软雅黑" x:CharSet="134" x:Family="Swiss" ss:Size="20"
ss:Color="#000000" ss:Bold="1"/>
</Style>
<Style ss:ID="m58993992">
<Alignment ss:Horizontal="Center" ss:Vertical="Center"/>
<Borders>
<Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>
<Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/>
<Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"/>
<Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"/>
</Borders>
<Font ss:FontName="微软雅黑" x:CharSet="134" x:Family="Swiss" ss:Size="11"
ss:Color="#000000"/>
</Style>
<Style ss:ID="s78">
<Alignment ss:Horizontal="Center" ss:Vertical="Center"/>
<Borders>
<Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>
<Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/>
<Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"/>
<Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"/>
</Borders>
<Font ss:FontName="微软雅黑" x:CharSet="134" x:Family="Swiss" ss:Color="#000000"/>
</Style>
<Style ss:ID="s79">
<Alignment ss:Horizontal="Center" ss:Vertical="Center"/>
<Borders>
<Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>
<Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/>
<Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"/>
<Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"/>
</Borders>
<Font ss:FontName="微软雅黑" x:CharSet="134" x:Family="Swiss" ss:Color="#000000"/>
<NumberFormat ss:Format="General Date"/>
</Style>
</Styles>
<Worksheet ss:Name="Sheet1">
<?php $num=count($arr);?>
<Table ss:ExpandedColumnCount="7" ss:ExpandedRowCount="<?php echo $num+7;?>" x:FullColumns="1"
x:FullRows="1" ss:DefaultColumnWidth="54" ss:DefaultRowHeight="13.5">
<Column ss:AutoFitWidth="0" ss:Width="115.5"/>
<Column ss:AutoFitWidth="0" ss:Width="111"/>
<Column ss:AutoFitWidth="0" ss:Width="111"/>
<Column ss:AutoFitWidth="0" ss:Width="100.5"/>
<Column ss:AutoFitWidth="0" ss:Width="62.25"/>
<Column ss:AutoFitWidth="0" ss:Width="100.5"/>
<Column ss:AutoFitWidth="0" ss:Width="203.25"/>
<Row ss:AutoFitHeight="0">
<Cell ss:MergeAcross="6" ss:MergeDown="1" ss:StyleID="m58993952"><Data
ss:Type="String">三亚澜海商旅服务有限公司&#10;地址海南省三亚市崖州区崖州湾科技城雅布伦产业园5号楼3楼310室&#10;开户银行:三亚惠民村镇银行&#10;银行账号2019 0379 3100 12&#10;</Data></Cell>
</Row>
<Row ss:AutoFitHeight="0" ss:Height="99.75"/>
<Row ss:AutoFitHeight="0" ss:Height="42">
<Cell ss:MergeAcross="6" ss:StyleID="m58993972"><Data ss:Type="String">桂林海纳国际旅行社有限公司火车票对账文件</Data></Cell>
</Row>
<Row ss:AutoFitHeight="0" ss:Height="16.5">
<Cell ss:StyleID="s78"><Data ss:Type="String">账单日期</Data></Cell>
<Cell ss:StyleID="s78"><Data ss:Type="String">账单类型</Data></Cell>
<Cell ss:StyleID="s78"><Data ss:Type="String">结算金额</Data></Cell>
<Cell ss:StyleID="s78"><Data ss:Type="String">订单号</Data></Cell>
<Cell ss:StyleID="s78"><Data ss:Type="String">外联</Data></Cell>
<Cell ss:StyleID="s78"><Data ss:Type="String">团号</Data></Cell>
<Cell ss:StyleID="s78"><Data ss:Type="String">乘客</Data></Cell>
</Row>
<?php for($i=$num-1;$i>=0;$i--){?>
<Row ss:AutoFitHeight="0" ss:Height="16.5">
<Cell ss:StyleID="s79"><Data ss:Type="String"><?php echo $arr[$i]["saveDay"];?></Data></Cell>
<Cell ss:StyleID="s78"><Data ss:Type="String"><?php echo $arr[$i]["type"];?></Data></Cell>
<Cell ss:StyleID="s78"><Data ss:Type="String"><?php echo $arr[$i]["price"];?></Data></Cell>
<Cell ss:StyleID="s78"><Data ss:Type="String"><?php echo $arr[$i]["mainOrderId"];?></Data></Cell>
<Cell ss:StyleID="s78"><Data ss:Type="String"><?php echo $arr[$i]["wl"];?></Data></Cell>
<Cell ss:StyleID="s78"><Data ss:Type="String"><?php echo $arr[$i]["griName"];?></Data></Cell>
<Cell ss:StyleID="s78"><Data ss:Type="String"><?php echo $arr[$i]["passengerName"];?></Data></Cell>
</Row>
<?php }?>
<Row ss:AutoFitHeight="0" ss:Height="36">
<Cell ss:MergeAcross="6" ss:StyleID="m58993992"><Data ss:Type="String"></Data></Cell>
</Row>
</Table>
<WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
<PageSetup>
<Header x:Margin="0.3"/>
<Footer x:Margin="0.3"/>
<PageMargins x:Bottom="0.75" x:Left="0.7" x:Right="0.7" x:Top="0.75"/>
</PageSetup>
<Unsynced/>
<Selected/>
<Panes>
<Pane>
<Number>3</Number>
<ActiveRow>4</ActiveRow>
<ActiveCol>4</ActiveCol>
</Pane>
</Panes>
<ProtectObjects>False</ProtectObjects>
<ProtectScenarios>False</ProtectScenarios>
</WorksheetOptions>
</Worksheet>
<Worksheet ss:Name="Sheet2">
<Table ss:ExpandedColumnCount="1" ss:ExpandedRowCount="1" x:FullColumns="1"
x:FullRows="1" ss:DefaultColumnWidth="54" ss:DefaultRowHeight="13.5">
<Row ss:AutoFitHeight="0"/>
</Table>
<WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
<PageSetup>
<Header x:Margin="0.3"/>
<Footer x:Margin="0.3"/>
<PageMargins x:Bottom="0.75" x:Left="0.7" x:Right="0.7" x:Top="0.75"/>
</PageSetup>
<Unsynced/>
<ProtectObjects>False</ProtectObjects>
<ProtectScenarios>False</ProtectScenarios>
</WorksheetOptions>
</Worksheet>
<Worksheet ss:Name="Sheet3">
<Table ss:ExpandedColumnCount="1" ss:ExpandedRowCount="1" x:FullColumns="1"
x:FullRows="1" ss:DefaultColumnWidth="54" ss:DefaultRowHeight="13.5">
<Row ss:AutoFitHeight="0"/>
</Table>
<WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
<PageSetup>
<Header x:Margin="0.3"/>
<Footer x:Margin="0.3"/>
<PageMargins x:Bottom="0.75" x:Left="0.7" x:Right="0.7" x:Top="0.75"/>
</PageSetup>
<Unsynced/>
<ProtectObjects>False</ProtectObjects>
<ProtectScenarios>False</ProtectScenarios>
</WorksheetOptions>
</Worksheet>
</Workbook>

@ -24,14 +24,27 @@
<p style="text-align:center;"><a href="refund?order=<?php echo $ordernumber?>" style="padding:5px 15px;" class="btn btn-warning btn-sm">查看详情 <span class="glyphicon glyphicon-forward"></span></a></p>
<?php endif;?>
<?php if((int)$status === 7):?>
<?php if((int)$status === 7 || (int)$status==8):?>
<p style="border-top:1px dashed #000; height:1px;margin-top:10px;" ></p>
<p><?php echo $msg;?></p>
<p style="text-align:center;"><a href="refund?order=<?php echo $ordernumber?>" style="padding:5px 15px;" class="btn btn-warning btn-sm">查看详情 <span class="glyphicon glyphicon-forward"></span></a></p>
<?php endif;?>
<?php if((int)$status === 10 || (int)$status === 11):?>
<p style="border-top:1px dashed #000; height:1px;margin-top:10px;" ></p>
<p><?php echo $msg;?></p>
<p style="text-align:center;"><a href="refund?order=<?php echo $ordernumber?>" style="padding:5px 15px;" class="btn btn-warning btn-sm">查看详情 <span class="glyphicon glyphicon-forward"></span></a></p>
<?php endif;?>
<?php else:?>
<p><?php echo $msg;?></p>
<?php endif;?>
<?php if ($channel == "lanhai"){ ?>
<p style="text-align:center;"><a href="lanhaiMsg?order=<?php echo $ordernumber?>&type=orderticket" style="padding:5px 15px;" class="btn btn-warning btn-sm" target="_blank">出票详细信息 <span class="glyphicon glyphicon-forward"></span></a>
&nbsp;&nbsp;&nbsp;&nbsp;
<a href="lanhaiMsg?order=<?php echo $ordernumber?>&type=returnticket" style="padding:5px 15px;" class="btn btn-warning btn-sm" target="_blank">退票详细信息 <span class="glyphicon glyphicon-forward"></span></a>
</p>
<?php } ?>
</div>
</div>
</div>

@ -20,6 +20,13 @@
<option value="train_vc">法国</option>
</select>
</div>
<div class="col-md-2">
<select class="form-control" name="channel">
<option value ="" disabled="disabled" selected>渠道</option>
<option value ="ctrip">携程</option>
<option value ="lanhai">澜海</option>
</select>
</div>
<!--<div class="col-md-5">
<input type="text" name="from_date" class="date" value="" class="">
@ -47,12 +54,14 @@
<th style="text-align:center;">出发</th>
<th style="text-align:center;">到达</th>
<th style="text-align:center;">状态</th>
<th style="text-align:center;">价格</th>
<th style="text-align:center;">外联</th>
<th style="text-align:center;">提交时间</th>
<th style="text-align:center;">所属部门</th>
<th style="text-align:center;">渠道</th>
<th style="text-align:center;">出票方式</th>
<th style="text-align:center;">是否发送邮件</th>
<th style="text-align:center;">出票次数</th>
<th style="text-align:center;">发送邮件</th>
<th style="text-align:center;">反馈</th>
<th style="text-align:center;">操作</th>
</tr>
</thead>
@ -66,7 +75,7 @@
<td><?php echo $v->ts_fromstationame;?></td>
<td><?php echo $v->ts_tostationame;?></td>
<td><?php echo $v->info;?></td>
<td><?php echo $v->ts_orderamount;?></td>
<td><?php echo $v->OPIName;?></td>
<td><?php echo $v->ts_subtime;?></td>
<td><?php echo $v->COLI_WebCode;?></td>
<td><?php echo $v->ts_channel;?></td>
@ -81,6 +90,7 @@
echo '<td>复查</td>';
}
?>
<td><?php echo $v->ts_autotimes;?></td>
<?php
if($v->ts_sendmail == 1){
if($v->ts_m_sn){
@ -92,6 +102,7 @@
echo '<td></td>';
}
?>
<td><?php echo $v->ts_errormsg;?></td>
<td><a target="_blank" href="order?order=<?php echo $v->ts_ordernumber;?>">详情</a></td>
</tr>
<?php endforeach;?>

@ -0,0 +1,30 @@
<div style="width:90%;margin:30px auto;">
<div class="panel panel-primary" style="width:60%;margin:0 auto;">
<div class="panel-heading">
<h3 class="panel-title">预售时间添加(车站名是中文名)</h3>
</div>
<div class="panel-body">
<form action="/info.php/apps/trainsystem/pages/presale_addsave" name="saletimeform" method="POST">
<table class="table table-condensed table-bordered">
<tr>
<td style="text-align:center;">车站名</td>
<td><input type="text" name="TST_station_cn" value="" /></td>
</tr>
<tr>
<td style="text-align:center;">预售时间8:00 ,18:30)</td>
<td><input type="text" name="TST_saletime" value="" /></td>
</tr>
<tr>
<td style="text-align:center;">车站编码</td>
<td><input type="text" name="TST_station_code" value="" /></td>
</tr>
<tr>
<td colspan="2" style="text-align:center;">
<input type="submit" class="btn btn-warning btn-sm" value="添 加" style="width:120px;" />
</td>
</tr>
</table>
</form>
</div>
</div>
</div>

@ -0,0 +1,31 @@
<div style="width:90%;margin:30px auto;">
<div class="panel panel-primary" style="width:60%;margin:0 auto;">
<div class="panel-heading">
<h3 class="panel-title">预售时间修改(车站名尽量不要修改)</h3>
</div>
<div class="panel-body">
<form action="/info.php/apps/trainsystem/pages/presale_editsave" name="saletimeform" method="POST">
<table class="table table-condensed table-bordered">
<tr>
<td style="text-align:center;">车站名</td>
<td><input type="text" name="TST_station_cn" value="<?php echo($info->TST_station_cn) ?>" /></td>
</tr>
<tr>
<td style="text-align:center;">预售时间</td>
<td><input type="text" name="TST_saletime" value="<?php echo($info->TST_saletime) ?>" /></td>
</tr>
<tr>
<td style="text-align:center;">车站编码</td>
<td><input type="text" name="TST_station_code" value="<?php echo($info->TST_station_code) ?>" /></td>
</tr>
<tr>
<td colspan="2" style="text-align:center;">
<input type="submit" class="btn btn-warning btn-sm" value="更 新" style="width:120px;" />
<input type="hidden" name="TST_id" value="<?php echo($info->TST_id) ?>"" />
</td>
</tr>
</table>
</form>
</div>
</div>
</div>

@ -0,0 +1,54 @@
<div style="width:90%;margin:30px auto;">
<div class="panel panel-primary">
<div class="panel-heading">
<h3 class="panel-title">预售时间搜索</h3>
</div>
<div class="panel-body">
<div class="row">
<form style="" action="" method="get">
<div class="col-md-6">
<input class="form-control" type="text" placeholder="站点中文名(和汉特的保持一致)" name="stationcn" value="<?php echo !empty($stationcn)?"$stationcn":"";?>" autocomplete="off">
</div>
<div class="col-md-5">
<button type="submit" id="sub" class="btn btn-success btn-sm"><span class="glyphicon glyphicon-search"></span> 搜索</button>
&nbsp;&nbsp;<a href="/info.php/apps/trainsystem/pages/presale_add" class="btn btn-warning " style="width: 120px;">新增站点</a>
</div>
</form>
</div>
</div>
</div>
<div class="panel panel-primary">
<div class="panel-heading">
<h3 class="panel-title">预售时间列表</h3>
</div>
<div class="panel-body">
<table class="table table-striped" style="text-align:center;">
<thead>
<tr>
<th style="text-align:center;" width="5%">序号</th>
<th style="text-align:center;" width="5%">ID</th>
<th style="text-align:center;" width="25%">车站</th>
<th style="text-align:center;" width="25%">预售时间</th>
<th style="text-align:center;" width="15%">车站编码</th>
<th style="text-align:center;" width="15%">更新时间</th>
<th style="text-align:center;">操作</th>
</tr>
</thead>
<tbody>
<?php $num=0; foreach($data as $v):?>
<tr>
<td><?php echo ++$num;?></td>
<td><?php echo $v->TST_id;?></td>
<td><?php echo $v->TST_station_cn;?></td>
<td><?php echo $v->TST_saletime;?></td>
<td><?php echo $v->TST_station_code;?></td>
<td><?php echo $v->TST_updatetime;?></td>
<td><a target="_blank" href="presale_edit?tstid=<?php echo $v->TST_id;?>">修改</a></td>
</tr>
<?php endforeach;?>
</tbody>
</table>
<div style="text-align:right;"><ul class="pagination"><?php echo $page_link;?></ul></div>
</div>
</div>
</div>

@ -8,8 +8,20 @@
foreach ($passengers as $items){
echo '<p>'.$from_station_name.'<span class="glyphicon glyphicon-arrow-right"></span>'.$to_station_name.'</p>';
echo '<p style="border-top:1px dashed #000; height:1px;margin-top:10px;" ></p>';
echo '<p>'.$items->tst_realname.'('.$items->tst_ticketype.')&nbsp;&nbsp;&nbsp;&nbsp;'.$items->tst_seatstype.'&nbsp;&nbsp;'.$items->tst_seatdetail.'&nbsp;&nbsp;&nbsp;&nbsp;票价:¥'.$items->tst_ticketprice.'</p>';
if((int)$items->tst_status == 4){
echo '<p>ID:'.$items->tst_id.''.$items->tst_realname.'('.$items->tst_ticketype.')&nbsp;&nbsp;&nbsp;&nbsp;'.$items->tst_seatstype.'&nbsp;&nbsp;'.$items->tst_seatdetail.'&nbsp;&nbsp;&nbsp;&nbsp;票价:¥'.$items->tst_ticketprice.'</p>';
if ((int)$items->tst_status==7){//退票成功
echo '&nbsp;&nbsp;&nbsp;&nbsp;<p>退票成功</p>';
}else if ((int)$items->tst_status==8){
$errMsg = "";
if (!empty($items->tst_returncallback)){
$returnCallBack = json_decode($items->tst_returncallback);
if (isset($returnCallBack->failReason)){
$errMsg = $returnCallBack->failReason;
}
}
echo '&nbsp;&nbsp;&nbsp;&nbsp;<p>退票失败:'.$errMsg.'</p>';
}
if((int)$items->tst_status == 4 || (int)$items->tst_status==8){
echo '<p>';
echo '<a href="###" style="padding:5px 15px;" class="btn btn-warning btn-sm returnticket" name="'.$items->tst_realname.'" passid="'.$items->tst_numberid.'"><span class="glyphicon glyphicon-remove"></span>退票</a>';
echo '</p>';
@ -31,7 +43,7 @@
$(function(){
//正常退票
$('.returnticket').click(function(){
var url = <?php echo "'http://www.mycht.cn/info.php/apps/trainsystem/returnorders/returntickets?ordernumber=$ordernumber'"?>;
var url = <?php echo "'/info.php/apps/trainsystem/returnorders/returntickets?ordernumber=$ordernumber'"?>;
var return_ticket = $(this);
name = $(this).attr('name');
passid = $(this).attr('passid');
@ -40,12 +52,13 @@ $(function(){
$.ajax({
url:url,
success:function(json){
alert('请求成功,正在处理退票...');
return_ticket.html('退票成功');
alert('请求成功,正在处理退票...');
return_ticket.html('退票提交成功');
},
error:function(json){
alert('请求失败,请重新请求...');
return_ticket.html('退票失败');
alert('请求失败,请重新请求,如果还有错误请联系管理员');
return_ticket.html('退票提交失败');
}
});
});

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save