ECshop 백엔드의 주문 자동 확인 개발에 대한 자세한 설명
ecshop이 칼럼에서는 ecshop 백엔드 주문 자동 확인 개발을 소개합니다
권장(무료): ecshop
CREATE TABLE `order_auto_confirm` ( `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, `order_id` INT(10) UNSIGNED NOT NULL DEFAULT '0', `order_sn` VARCHAR(20) NOT NULL, `execute_time` INT(10) UNSIGNED NOT NULL DEFAULT '0', `order_status` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0' COMMENT '0未确定,1已经确定', `addtime` INT(10) UNSIGNED NOT NULL DEFAULT '0', `update_time` INT(10) UNSIGNED NOT NULL DEFAULT '0', PRIMARY KEY (`id`), UNIQUE INDEX `order_id` (`order_id`), INDEX `execute_time` (`execute_time`) ) COMMENT='订单定期自动确定' COLLATE='utf8_general_ci' ENGINE=MyISAM;
1. 다음을 추가합니다. 코드를
/ admin/order.php:
elseif($_REQUEST['act'] == 'order_cron') { $act1 = empty($_POST['act1']) ? 0 : $_POST['act1']; if(empty($act1) || !in_array($act1, array('add', 'cancel'))) make_json_response('', -1, '未知请求act1'); $order_id = intval($_POST['order_id']); $order = order_info($order_id); if(empty($order)) make_json_response('', -2, '没有此订单ID'); if($order['order_status']) make_json_response('', -3, '此订单已经确认,不用自动确认'); if($order['pay_status']) make_json_response('', -4, '此订单支付状态已经变动,无法添加任务'); if($act1 == 'add'){ $order_cron_time = empty($_POST['order_cron_time']) ? 0 : $_POST['order_cron_time']; if(empty($order_cron_time)) make_json_response('', -10, '请求的时间错误'); $sql = 'select order_id from '.$ecs->table('order_auto_confirm').' where order_id='.$order_id; $rs = $db->getRow($sql); if($rs['order_id'] == $order_id){ make_json_response('', -30, '此订单任务已经存在,不能重复添加'); } $execute_time = local_strtotime($order_cron_time); $sql = "insert into ".$ecs->table('order_auto_confirm')."(order_id, order_sn, execute_time, order_status, addtime) values(".$order_id.",'".$order['order_sn']."',".$execute_time.", 0, ".local_gettime().")"; $result = $db->query($sql); if($result){ make_json_response('', 0, ''); } make_json_response('', -9, '添加任务计划失败'); }elseif($act1 == 'cancel'){ $sql = 'delete from '.$ecs->table('order_auto_confirm').' where order_id='.$order_id.' and order_status=0 '; $db->query($sql); make_json_response('', 0, ''); } }
2.
elseif($_REQUEST['act'] == 'info') 추가:
//取自动确定订单信息 $sql = 'select order_status, execute_time, addtime, update_time from '.$ecs->table('order_auto_confirm').' where order_id='.$order['order_id']; $cron= $db->getRow($sql); if(!empty($cron)){ if($cron['order_status'] == 1) $cron['update_time'] = sprintf($_LANG['order_auto_croned'], local_date('Y-m-d H:i:s', $cron['update_time'])); else $cron['execute_time']= sprintf($_LANG['order_auto_cron'], local_date('Y-m-d H:i:s', $cron['execute_time'])); } $smarty->assign('cron', $cron);
3.
/includes/modules/cron/order_auto_confirm.php
if (!defined('IN_ECS')) { die('Hacking attempt'); } require_once(ROOT_PATH . 'includes/lib_order.php'); $cron_lang = ROOT_PATH . 'languages/' .$GLOBALS['_CFG']['lang']. '/cron/order_auto_confirm.php'; if (file_exists($cron_lang)) { global $_LANG; include_once($cron_lang); }/* 模块的基本信息 */ if (isset($set_modules) && $set_modules == TRUE) { $i = isset($modules) ? count($modules) : 0; /* 代码 */ $modules[$i]['code'] = basename(__FILE__, '.php'); /* 描述对应的语言项 */ $modules[$i]['desc'] = 'order_auto_confirm_desc'; /* 作者 */ $modules[$i]['author'] = 'wjzhhr'; /* 网址 */ $modules[$i]['website'] = 'http://www.wodeqingchun.com'; /* 版本号 */ $modules[$i]['version'] = '1.0.0'; /* 配置信息 */ $modules[$i]['config'] = array( array('name' => 'order_auto_confirm_count', 'type' => 'select', 'value' => '10'), ); return; } $time = gmtime(); //$time = local_gettime(); $limit = empty($cron['order_auto_confirm_count']) ? 5 : $cron['order_auto_confirm_count']; $sql = "SELECT * FROM " . $GLOBALS['ecs']->table('order_auto_confirm') . " WHERE execute_time getAll($sql); $i = 0; foreach ($autodb as $key => $val) { $order_id = $val['order_id']; $order_sn = $val['order_sn']; /* 标记订单为已确认 */ $update_status = update_order($order_id, array('order_status' => OS_CONFIRMED, 'confirm_time' => gmtime())); update_order_amount($order_id); /* 记录log */ $action_note = "计划任务:定期自动确定订单,订单号:".$order_sn.",执行状态:".($update_status ? '成功' : '失败'); order_action($order_sn, OS_CONFIRMED, SS_UNSHIPPED, PS_UNPAYED, $action_note, 'system_cron'); /* 如果原来状态不是“未确认”,且使用库存,且下订单时减库存,则减少库存 */ if ($val['order_status'] != OS_UNCONFIRMED && $_CFG['use_storage'] == '1' && $_CFG['stock_dec_time'] == SDT_PLACE) { change_order_goods_storage($order_id, true, SDT_PLACE); } if($update_status) { $i += 1; $sql = "update " . $GLOBALS['ecs']->table('order_auto_confirm') . " set order_status=1, update_time=".$time." where order_id=".$order_id; $db->query($sql); } }$string = '此次共更新:'.$i.'条数据'; echo $string;file_put_contents('./a.txt', $time . '----' . date('Y-m-d H:i:s').$string."\r\n", FILE_APPEND); /** * 更新订单总金额 * @param int $order_id 订单id * @return bool //zuimoban.com */ function update_order_amount($order_id) { include_once(ROOT_PATH . 'includes/lib_order.php'); //更新订单总金额 $sql = "UPDATE " . $GLOBALS['ecs']->table('order_info') . " SET order_amount = " . order_due_field() . " WHERE order_id = '$order_id' LIMIT 1"; return $GLOBALS['db']->query($sql); } ?>
4 .
/언어/ 추가:
$_LANG['order_auto_croned'] = '此订单于 %s 已被确认'; $_LANG['order_auto_cron'] = '此订单于 %s 进行定时确认'; $_LANG['order_auto'] = '将此订单加入自动定时确认'; $_LANG['order_auto_time'] = '自动确认时间:';
to zh_cn/admin/order.php Five,
/admin/themes/order_info.htm: 뒤에 추가: {$lang.base_info}:
JS에 추가 이 페이지:
function order_cron(order_id, act){ var order_cron_time = 0; if(act == 'add'){ order_cron_time = document.getElementById('order_cron_time').value; if(!order_cron_time){ alert('无法获取时间'); return false; } } Ajax.call('order.php?act=order_cron', 'order_id=' + order_id + '&act1=' + act + '&order_cron_time=' + order_cron_time, order_cron_response, 'POST', 'JSON');}function order_cron_response(res){ if (res.error == 0) { alert('保存成功'); } else { alert(res.message); } return false;}
또한 /themes/default/footer.dwt에는 다음이 포함되어 있습니다. {insert name='query_info'}
이 문장이 더 중요합니다. 전임자들이 이 문장을 삭제했기 때문에 대부분의 템플릿이 이유를 찾게 되었습니다. 총 5개의 파일이 관련되어 있는데, 2개가 새로 추가되었습니다
위 내용은 ECshop 백엔드의 주문 자동 확인 개발에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











ecshop은 "B2C" 아키텍처입니다. ecshop은 기업과 개인이 개인화된 온라인 상점을 신속하게 구축하는 데 적합한 B2C 독립 온라인 상점 시스템입니다. 이 시스템은 PHP 언어 및 MYSQL 데이터베이스 아키텍처를 기반으로 개발된 크로스 플랫폼 오픈 소스 프로그램입니다.

ECshop 기사 정렬 방법: 1. 게시 시간을 기준으로 정렬합니다. 기사 게시 시간을 수정하여 목록의 기사 순서를 제어할 수 있습니다. 2. 클릭수를 기준으로 정렬하려면 "기사 클릭 순위"를 설치하여 정렬할 수 있습니다. " 플러그인 기능, 이 플러그인은 기사 클릭 수를 계산할 수 있습니다. 3. 댓글 수를 기준으로 정렬합니다. "기사 댓글 순위" 플러그인을 설치하면 이 정렬 기능을 구현할 수 있습니다. 기사에 대한 댓글 수 4. 관련성순으로 정렬. 이 정렬 기능은 "검색 순위" 플러그인을 설치하여 구현할 수 있습니다.

Ecshop 제품 관리 고급: 필드를 추가하는 방법을 알아보세요. 특정 코드 예제가 필요합니다. 제품 관리를 위해 Ecshop을 사용할 때 특정 요구 사항을 충족하기 위해 일부 사용자 정의 필드를 추가해야 하는 상황이 자주 발생합니다. 필드를 추가하면 보다 정확한 제품 관리와 더 나은 사용자 경험을 얻을 수 있습니다. 이 글에서는 Ecshop에서 필드를 추가하는 방법을 소개하고 구체적인 코드 예시를 제공합니다. 먼저, 필드 추가의 필요성을 명확히 해야 합니다. 예를 들어 제품 세부정보 페이지에 '생산 날짜' 필드를 추가해야 합니다.

특징: 1. 유연성, 사용자 정의 가능성 및 높은 확장성을 갖춘 오픈 소스 시스템 2. 독립적인 보조 개발 지원 3. 풍부한 템플릿 및 플러그인 4. 강력한 산업 적응성 5. 더 강력한 신뢰성 7. 모바일 H5 프레임워크 업그레이드, VUE 포괄적 교체를 기반으로 더욱 유연하고 개방적입니다. 8. 다단계 리베이트 기능, QR 코드, 포스터 및 기타 프로모션 방법 지원, 유통업체의 무제한 핵분열 개발; 관리 터미널이 완전히 새롭게 바뀌었고 UI가 단순하고 아름다워졌으며 운영 환경이 업그레이드되었습니다. 9. PHP7.2를 지원하고 성능이 두 배로 향상되었습니다.

ECShop은 B2C 독립 온라인 상점 시스템으로, PHP 언어와 MYSQL 데이터베이스 아키텍처를 기반으로 개발된 크로스 플랫폼 오픈 소스 프로그램으로 기업과 개인이 개인화된 온라인 상점을 신속하게 구축하는 데 적합합니다. ecshop 몰 시스템의 특징은 다음과 같습니다. 1. 독립적인 2차 개발 지원 2. 풍부한 템플릿 및 플러그인 3. 강력한 산업 적응성 4. 소프트웨어 공급업체의 제약을 피합니다.

ECshop은 B2C 모델입니다. ECShop은 B2C 독립 온라인 상점 시스템으로 기업과 개인이 개인화된 온라인 상점을 신속하게 구축하는 데 적합합니다. B2C는 전자상거래 모델을 말하며 소비자에게 제품과 서비스를 직접 판매하는 소매 모델이기도 하다. B2C 전자상거래의 결제방식은 현금결제와 온라인 결제가 결합된 형태로 대부분의 기업이 물류를 선택한다. 운영 비용을 절감하기 위해 배송을 아웃소싱합니다.

ecshop 하단에 있는 저작권을 제거하는 방법: 1. 템플릿 파일을 수정합니다. 구체적인 위치는 다음과 같습니다: themes/your_theme 디렉토리, 이 디렉토리에서 footer.html 파일을 찾아 텍스트 편집기로 열고 다음이 포함된 코드 세그먼트를 찾습니다. 저작권 정보를 삭제하거나 댓글을 달아주세요. 2. 플러그인을 사용하려면 백엔드에 로그인하고 플러그인 관리를 클릭한 후 하단에서 저작권 및 기타 관련 키워드를 검색하고 적합한 플러그인을 선택하여 설치하세요. 3. 테마 구매는 ECShop 공식 홈페이지 등에서 구매하세요.

ecshop의 기능은 다음과 같습니다. 1. 상품 관리 3. 광고 관리 6. 기사 관리 8. 시스템 설정 10. 템플릿 관리 11. 데이터베이스 관리 등
