Maison Tutoriel CMS ECShop ecshop réalise la méthode de développement de confirmation automatique des commandes back-end

ecshop réalise la méthode de développement de confirmation automatique des commandes back-end

Dec 02, 2020 pm 05:12 PM
ecshop

Tutoriel ecshopLa rubrique présente la méthode de développement pour réaliser la confirmation automatique des commandes backend

ecshop réalise la méthode de développement de confirmation automatique des commandes back-end

Recommandé (gratuit) : tutoriel ecshop

ecshop réalise la méthode de développement de confirmation automatique des commandes back-end

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;
Copier après la connexion

1.

/admin/order.php Ajoutez le code suivant :

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, '');

}

}
Copier après la connexion

2.

Ajouter 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);
Copier après la connexion

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);

}

?>
Copier après la connexion

4. Ajoutez :

//

$_LANG['order_auto_croned'] = '此订单于 %s 已被确认';

$_LANG['order_auto_cron']   = '此订单于 %s 进行定时确认';

$_LANG['order_auto']        = '将此订单加入自动定时确认';

$_LANG['order_auto_time']   = '自动确认时间:';
Copier après la connexion

5.

/admin/themes/order_info.htm à : Ajouter après {$lang.base_info} :

ecshop réalise la méthode de développement de confirmation automatique des commandes back-end Ajoutez dans le JS de cette page :

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;}
Copier après la connexion

et dans /themes/default/footer.dwt Contient-il :


Ceci La phrase est plus importante. Les prédécesseurs ont supprimé cette phrase, ce qui a amené la plupart des modèles à en rechercher la raison. Au total, 5 fichiers sont impliqués, deux nouvellement ajoutés {insert name='query_info'}

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Quelle est l'architecture d'ecshop ? Quelle est l'architecture d'ecshop ? Feb 23, 2023 am 09:32 AM

ecshop est une architecture « B2C » ; ecshop est un système de boutique en ligne indépendant B2C, adapté aux entreprises et aux particuliers pour créer rapidement des boutiques en ligne personnalisées ; le système est un programme open source multiplateforme développé sur la base du langage PHP et de l'architecture de base de données MYSQL.

Quelles sont les méthodes de tri des articles ecshop ? Quelles sont les méthodes de tri des articles ecshop ? Jun 16, 2023 am 11:30 AM

Comment trier les articles ecshop : 1. Trier par heure de publication, vous pouvez contrôler l'ordre des articles dans la liste en modifiant l'heure de publication de l'article ; 2. Trier par clics, vous pouvez réaliser ce tri en installant le « Classement des clics d'articles » " Fonction du plug-in, ce plug-in peut compter le nombre de clics sur les articles ; 3. Trier par le nombre de commentaires, vous pouvez implémenter cette fonction de tri en installant le plug-in "Article Comments Ranking", qui permet de compter les nombre de commentaires sur les articles ; 4. Trier par pertinence, Cette fonction de tri peut être réalisée en installant le plug-in « Search Ranking ».

Quelles sont les caractéristiques d'ecshop ? Quelles sont les caractéristiques d'ecshop ? Feb 13, 2023 am 09:43 AM

Caractéristiques : 1. Système open source avec flexibilité, personnalisation et évolutivité élevée ; 2. Prise en charge du développement secondaire indépendant ; 3. Modèles et plug-ins riches ; 4. Forte adaptabilité de l'industrie 5. Éviter d'être contraint par les fournisseurs de logiciels ; et stabilité ; 7. Mise à niveau du cadre Mobile H5, basée sur le remplacement complet de VUE, plus flexible et ouvert ; 8. Fonction de remise à plusieurs niveaux, prenant en charge les codes QR, les affiches et autres méthodes de promotion, développement de fission illimité des distributeurs ; du terminal de gestion est entièrement renouvelé, l'interface utilisateur est simple et belle, et l'expérience de fonctionnement est améliorée ; 9. Prend en charge PHP7.2 et les performances sont doublées.

Gestion des produits Ecshop avancée : découvrez comment ajouter des champs Gestion des produits Ecshop avancée : découvrez comment ajouter des champs Mar 12, 2024 pm 02:06 PM

Ecshop Product Management Advanced : Apprenez à ajouter des champs, vous avez besoin d'exemples de code spécifiques. Lorsque vous utilisez Ecshop pour la gestion de produits, vous rencontrez souvent des situations dans lesquelles vous devez ajouter des champs personnalisés pour répondre à des besoins spécifiques. En ajoutant des champs, une gestion des produits plus précise et une meilleure expérience utilisateur peuvent être obtenues. Cet article expliquera comment ajouter des champs dans Ecshop et fournira des exemples de code spécifiques. Tout d’abord, nous devons clarifier la nécessité d’ajouter des champs. Par exemple, nous devons ajouter un champ « date de production » à la page de détails du produit pour

Quel programme est ecshop ? Quel programme est ecshop ? Feb 16, 2023 am 10:38 AM

ECShop est un système de boutique en ligne indépendant B2C. Il s'agit d'un programme open source multiplateforme développé sur la base du langage PHP et de l'architecture de base de données MYSQL. Il convient aux entreprises et aux particuliers pour créer rapidement des boutiques en ligne personnalisées. Les caractéristiques du système ecshop mall : 1. Prise en charge du développement secondaire indépendant ; 2. Modèles et plug-ins riches ; 3. Forte adaptabilité de l'industrie 4. Éviter d'être contraint par les fournisseurs de logiciels ; 5. Fiabilité et stabilité accrues ;

Quel est le modèle d'ecshop ? Quel est le modèle d'ecshop ? Feb 22, 2023 am 09:37 AM

ecshop est un modèle B2C. ECShop est un système de boutique en ligne indépendant B2C, adapté aux entreprises et aux particuliers pour créer rapidement des boutiques en ligne personnalisées. B2C fait référence à un modèle de commerce électronique, et c'est également un modèle de vente au détail qui vend des produits et des services directement aux consommateurs ; le mode de paiement du commerce électronique B2C est une combinaison de paiement à la livraison et de paiement en ligne, et la plupart des entreprises choisissent la logistique. externalisation pour la livraison. Pour réduire les coûts d’exploitation.

Comment annuler le mode de livraison dans ecshop Comment annuler le mode de livraison dans ecshop Mar 03, 2023 am 09:56 AM

Comment annuler le mode d'expédition dans ecshop : 1. Recherchez et ouvrez le fichier "flow.dwt", puis supprimez "<!--{if $total.real_goods_count neq 0}-->...<!-- { /if} - ->" code ; 2. Remplacez "checkOrderForm(frm)" dans "js/shopping_flow.js" par "if (document.getElementById(...)".

Comment supprimer les droits d'auteur en bas d'ecshop Comment supprimer les droits d'auteur en bas d'ecshop Aug 08, 2023 pm 02:42 PM

Méthode pour supprimer le copyright en bas d'ecshop : 1. Modifiez le fichier modèle, l'emplacement précis est : répertoire thèmes/votre_theme, recherchez le fichier footer.html dans ce répertoire, ouvrez-le avec un éditeur de texte, recherchez le segment de code contenant les informations de copyright, supprimez-les ou commentez. Enregistrez simplement le fichier et fermez-le ; 2. Pour utiliser le plug-in, connectez-vous au backend, cliquez sur gestion du plug-in, recherchez les droits d'auteur et autres mots-clés associés en bas, sélectionnez un plug-in approprié à installer et à activer. 3. Pour acheter un thème, achetez-le sur le site officiel d'ECShop, etc.

See all articles