{"id":59494,"date":"2025-04-23T12:54:07","date_gmt":"2025-04-23T04:54:07","guid":{"rendered":"https:\/\/fwq.ai\/blog\/59494\/"},"modified":"2025-04-23T12:54:07","modified_gmt":"2025-04-23T04:54:07","slug":"ecshop%e5%90%8e%e5%8f%b0%e8%ae%a2%e5%8d%95%e8%87%aa%e5%8a%a8%e7%a1%ae%e8%ae%a4%e5%bc%80%e5%8f%91%e8%af%a6%e8%a7%a3","status":"publish","type":"post","link":"https:\/\/fwq.ai\/blog\/59494\/","title":{"rendered":"ecshop\u540e\u53f0\u8ba2\u5355\u81ea\u52a8\u786e\u8ba4\u5f00\u53d1\u8be6\u89e3"},"content":{"rendered":"<p><img decoding=\"async\" src=\"https:\/\/www.ldhost.cn\/helphmb\/uploads\/allimg\/141210\/102I53044-0.png\" style=\"width: 700px;height: 142px\" class=\"aligncenter\" title=\"ecshop\u540e\u53f0\u8ba2\u5355\u81ea\u52a8\u786e\u8ba4\u5f00\u53d1\u8be6\u89e3\u63d2\u56fe\" alt=\"ecshop\u540e\u53f0\u8ba2\u5355\u81ea\u52a8\u786e\u8ba4\u5f00\u53d1\u8be6\u89e3\u63d2\u56fe\" \/><\/p>\n<p> \u6700\u8fd1\u7684\u8ba2\u5355\u6bd4\u8f83\u6742\uff0c\u6709\u4e9b\u60f3\u8fc7\u8282\u540e\u6216\u8005\u4e00\u4e2a\u6708\u540e\u518d\u786e\u8ba4\u8ba2\u5355\uff0c\u4e8e\u662f&nbsp; \u5199\u4e86\u4e00\u4e2a\u63d2\u4ef6\uff1a\u8ba2\u5355\u5b9a\u671f\u81ea\u52a8\u786e\u8ba4\u3002\u9886\u5bfc\u8bf4\uff1aERP\u6293\u4e0d\u5230\u672a\u88ab\u786e\u5b9a\u7684\u8ba2\u5355\u3002\u8fd9\u662f\u4ec0\u4e48\u9e1f\u7684ERP\u7cfb\u7edf\u5440\u3002<\/p>\n<pre>\r\nCREATE TABLE `order_auto_confirm` (\r\n`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,\r\n`order_id` INT(10) UNSIGNED NOT NULL DEFAULT '0',\r\n`order_sn` VARCHAR(20) NOT NULL,\r\n`execute_time` INT(10) UNSIGNED NOT NULL DEFAULT '0',\r\n`order_status` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0' COMMENT '0\u672a\u786e\u5b9a\uff0c1\u5df2\u7ecf\u786e\u5b9a',\r\n`addtime` INT(10) UNSIGNED NOT NULL DEFAULT '0',\r\n`update_time` INT(10) UNSIGNED NOT NULL DEFAULT '0',\r\nPRIMARY KEY (`id`),\r\nUNIQUE INDEX `order_id` (`order_id`),\r\nINDEX `execute_time` (`execute_time`)\r\n)\r\nCOMMENT='\u8ba2\u5355\u5b9a\u671f\u81ea\u52a8\u786e\u5b9a'\r\nCOLLATE='utf8_general_ci'\r\nENGINE=MyISAM;<\/pre>\n<p> \/admin\/order.php\u52a0\u5165\u4ee5\u4e0b\u4ee3\u7801\uff1a<\/p>\n<p> elseif($_REQUEST[&#8216;act&#8217;] == &#8216;order_cron&#8217;)<br \/> {<br \/> &nbsp;&nbsp;&nbsp; $act1 = empty($_POST[&#8216;act1&#8217;]) ? 0 : $_POST[&#8216;act1&#8217;];<br \/> &nbsp;&nbsp;&nbsp; if(empty($act1) || !in_array($act1, array(&#8216;add&#8217;, &#8216;cancel&#8217;))) make_json_response(&#8221;, -1, &#8216;\u672a\u77e5\u8bf7\u6c42act1&#8217;);&nbsp;&nbsp;&nbsp; $order_id = intval($_POST[&#8216;order_id&#8217;]);<br \/> &nbsp;&nbsp;&nbsp; $order = order_info($order_id);<br \/> &nbsp;&nbsp;&nbsp; if(empty($order)) make_json_response(&#8221;, -2, &#8216;\u6ca1\u6709\u6b64\u8ba2\u5355ID&#8217;);&nbsp;&nbsp;&nbsp; if($order[&#8216;order_status&#8217;]) make_json_response(&#8221;, -3, &#8216;\u6b64\u8ba2\u5355\u5df2\u7ecf\u786e\u8ba4\uff0c\u4e0d\u7528\u81ea\u52a8\u786e\u8ba4&#8217;);&nbsp;&nbsp;&nbsp; if($order[&#8216;pay_status&#8217;]) make_json_response(&#8221;, -4, &#8216;\u6b64\u8ba2\u5355\u652f\u4ed8\u72b6\u6001\u5df2\u7ecf\u53d8\u52a8\uff0c\u65e0\u6cd5\u6dfb\u52a0\u4efb\u52a1&#8217;);&nbsp;&nbsp;&nbsp; if($act1 == &#8216;add&#8217;){<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $order_cron_time = empty($_POST[&#8216;order_cron_time&#8217;]) ? 0 : $_POST[&#8216;order_cron_time&#8217;];&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(empty($order_cron_time)) make_json_response(&#8221;, -10, &#8216;\u8bf7\u6c42\u7684\u65f6\u95f4\u9519\u8bef&#8217;);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $sql = &#8216;select order_id from &#8216;.$ecs-&gt;table(&#8216;order_auto_confirm&#8217;).&#8217; where order_id=&#8217;.$order_id;<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $rs&nbsp; = $db-&gt;getRow($sql);<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if($rs[&#8216;order_id&#8217;] == $order_id){<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; make_json_response(&#8221;, -30, &#8216;\u6b64\u8ba2\u5355\u4efb\u52a1\u5df2\u7ecf\u5b58\u5728\uff0c\u4e0d\u80fd\u91cd\u590d\u6dfb\u52a0&#8217;);<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $execute_time = local_strtotime($order_cron_time);<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $sql&nbsp;&nbsp;&nbsp; = &#8220;insert into &#8220;.$ecs-&gt;table(&#8216;order_auto_confirm&#8217;).&#8221;(order_id, order_sn, execute_time, order_status, addtime) values(&#8220;.$order_id.&#8221;,'&#8221;.$order[&#8216;order_sn&#8217;].&#8221;&#8216;,&#8221;.$execute_time.&#8221;, 0, &#8220;.local_gettime().&#8221;)&#8221;;<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $result = $db-&gt;query($sql);<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if($result){<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; make_json_response(&#8221;, 0, &#8221;);<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; make_json_response(&#8221;, -9, &#8216;\u6dfb\u52a0\u4efb\u52a1\u8ba1\u5212\u5931\u8d25&#8217;);<br \/> &nbsp;&nbsp;&nbsp; }elseif($act1 == &#8216;cancel&#8217;){<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $sql = &#8216;delete&nbsp; from &#8216;.$ecs-&gt;table(&#8216;order_auto_confirm&#8217;).&#8217; where order_id=&#8217;.$order_id.&#8217; and order_status=0 &#8216;;<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $db-&gt;query($sql);<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; make_json_response(&#8221;, 0, &#8221;);<br \/> &nbsp;&nbsp;&nbsp; }<br \/> }<\/p>\n<p> \u5728elseif($_REQUEST[&#8216;act&#8217;] == &#8216;info&#8217;)\u91cc\u52a0\u5165\uff1a<br \/> &nbsp;&nbsp;&nbsp; \/\/\u53d6\u81ea\u52a8\u786e\u5b9a\u8ba2\u5355\u4fe1\u606f<br \/> &nbsp;&nbsp;&nbsp; $sql = &#8216;select order_status, execute_time, addtime, update_time from &#8216;.$ecs-&gt;table(&#8216;order_auto_confirm&#8217;).&#8217; where order_id=&#8217;.$order[&#8216;order_id&#8217;];<br \/> &nbsp;&nbsp;&nbsp; $cron= $db-&gt;getRow($sql);<br \/> &nbsp;&nbsp;&nbsp; if(!empty($cron)){<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if($cron[&#8216;order_status&#8217;] == 1)<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $cron[&#8216;update_time&#8217;] = sprintf($_LANG[&#8216;order_auto_croned&#8217;], local_date(&#8216;Y-m-d H:i:s&#8217;, $cron[&#8216;update_time&#8217;]));<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $cron[&#8216;execute_time&#8217;]= sprintf($_LANG[&#8216;order_auto_cron&#8217;], local_date(&#8216;Y-m-d H:i:s&#8217;, $cron[&#8216;execute_time&#8217;]));<br \/> &nbsp;&nbsp;&nbsp; }<br \/> &nbsp;&nbsp;&nbsp; $smarty-&gt;assign(&#8216;cron&#8217;, $cron);<\/p>\n<p> &nbsp;\/includes\/modules\/cron\/order_auto_confirm.php<br \/> &lt;?php<br \/> if (!defined(&#8216;IN_ECS&#8217;))<br \/> {<br \/> &nbsp;&nbsp;&nbsp; die(&#8216;Hacking attempt&#8217;);<br \/> }<br \/> require_once(ROOT_PATH . &#8216;includes\/lib_order.php&#8217;);<br \/> $cron_lang = ROOT_PATH . &#8216;languages\/&#8217; .$GLOBALS[&#8216;_CFG&#8217;][&#8216;lang&#8217;]. &#8216;\/cron\/order_auto_confirm.php&#8217;;<br \/> if (file_exists($cron_lang))<br \/> {<br \/> &nbsp;&nbsp;&nbsp; global $_LANG;&nbsp;&nbsp;&nbsp; include_once($cron_lang);<br \/> }\/* \u6a21\u5757\u7684\u57fa\u672c\u4fe1\u606f *\/<br \/> if (isset($set_modules) &amp;&amp; $set_modules == TRUE)<br \/> {<br \/> &nbsp;&nbsp;&nbsp; $i = isset($modules) ? count($modules) : 0;&nbsp;&nbsp;&nbsp; \/* \u4ee3\u7801 *\/<br \/> &nbsp;&nbsp;&nbsp; $modules[$i][&#8216;code&#8217;]&nbsp;&nbsp;&nbsp; = basename(__FILE__, &#8216;.php&#8217;);&nbsp;&nbsp;&nbsp; \/* \u63cf\u8ff0\u5bf9\u5e94\u7684\u8bed\u8a00\u9879 *\/<br \/> &nbsp;&nbsp;&nbsp; $modules[$i][&#8216;desc&#8217;]&nbsp;&nbsp;&nbsp; = &#8216;order_auto_confirm_desc&#8217;;&nbsp;&nbsp;&nbsp; \/* \u4f5c\u8005 *\/<br \/> &nbsp;&nbsp;&nbsp; $modules[$i][&#8216;author&#8217;]&nbsp; = &#8216;wjzhhr&#8217;;&nbsp;&nbsp;&nbsp; \/* \u7f51\u5740 *\/<br \/> &nbsp;&nbsp;&nbsp; $modules[$i][&#8216;website&#8217;] = &#8216;http:\/\/www.wodeqingchun.com&#8217;;&nbsp;&nbsp;&nbsp; \/* \u7248\u672c\u53f7 *\/<br \/> &nbsp;&nbsp;&nbsp; $modules[$i][&#8216;version&#8217;] = &#8216;1.0.0&#8217;;&nbsp;&nbsp;&nbsp; \/* \u914d\u7f6e\u4fe1\u606f *\/<br \/> &nbsp;&nbsp;&nbsp; $modules[$i][&#8216;config&#8217;]&nbsp; = array(<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; array(&#8216;name&#8217; =&gt; &#8216;order_auto_confirm_count&#8217;, &#8216;type&#8217; =&gt; &#8216;select&#8217;, &#8216;value&#8217; =&gt; &#8217;10&#8217;),<br \/> &nbsp;&nbsp;&nbsp; );&nbsp;&nbsp;&nbsp; return;<br \/> }<br \/> $time&nbsp; = gmtime();<br \/> \/\/$time&nbsp; = local_gettime();<br \/> $limit = empty($cron[&#8216;order_auto_confirm_count&#8217;]) ? 5 : $cron[&#8216;order_auto_confirm_count&#8217;];<br \/> $sql&nbsp;&nbsp; = &#8220;SELECT * FROM &#8221; . $GLOBALS[&#8216;ecs&#8217;]-&gt;table(&#8216;order_auto_confirm&#8217;) . &#8221; WHERE execute_time &lt;= &#8220;.$time.&#8221; and order_status=0 LIMIT $limit&#8221;;<br \/> $autodb= $db-&gt;getAll($sql);<br \/> $i&nbsp;&nbsp;&nbsp;&nbsp; = 0;<br \/> foreach ($autodb as $key =&gt; $val)<br \/> {<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $order_id = $val[&#8216;order_id&#8217;];<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $order_sn = $val[&#8216;order_sn&#8217;];<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/* \u6807\u8bb0\u8ba2\u5355\u4e3a\u5df2\u786e\u8ba4 *\/<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $update_status = update_order($order_id, array(&#8216;order_status&#8217; =&gt; OS_CONFIRMED, &#8216;confirm_time&#8217; =&gt; gmtime()));<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; update_order_amount($order_id);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/* \u8bb0\u5f55log *\/<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $action_note = &#8220;\u8ba1\u5212\u4efb\u52a1\uff1a\u5b9a\u671f\u81ea\u52a8\u786e\u5b9a\u8ba2\u5355\uff0c\u8ba2\u5355\u53f7\uff1a&#8221;.$order_sn.&#8221;\uff0c\u6267\u884c\u72b6\u6001\uff1a&#8221;.($update_status ? &#8216;\u6210\u529f&#8217; : &#8216;\u5931\u8d25&#8217;);<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; order_action($order_sn, OS_CONFIRMED, SS_UNSHIPPED, PS_UNPAYED, $action_note, &#8216;system_cron&#8217;);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/* \u5982\u679c\u539f\u6765\u72b6\u6001\u4e0d\u662f\u201c\u672a\u786e\u8ba4\u201d\uff0c\u4e14\u4f7f\u7528\u5e93\u5b58\uff0c\u4e14\u4e0b\u8ba2\u5355\u65f6\u51cf\u5e93\u5b58\uff0c\u5219\u51cf\u5c11\u5e93\u5b58 *\/<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ($val[&#8216;order_status&#8217;] != OS_UNCONFIRMED &amp;&amp; $_CFG[&#8216;use_storage&#8217;] == &#8216;1&#8217; &amp;&amp; $_CFG[&#8216;stock_dec_time&#8217;] == SDT_PLACE)<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; change_order_goods_storage($order_id, true, SDT_PLACE);<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if($update_status)<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $i&nbsp; += 1;<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $sql = &#8220;update &#8221; . $GLOBALS[&#8216;ecs&#8217;]-&gt;table(&#8216;order_auto_confirm&#8217;) . &#8221; set order_status=1, update_time=&#8221;.$time.&#8221; where order_id=&#8221;.$order_id;<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $db-&gt;query($sql);<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br \/> }$string = &#8216;\u6b64\u6b21\u5171\u66f4\u65b0\uff1a&#8217;.$i.&#8217;\u6761\u6570\u636e&#8217;;<br \/> echo $string;file_put_contents(&#8216;.\/a.txt&#8217;,&nbsp; $time . &#8216;&#8212;-&#8216; . date(&#8216;Y-m-d H:i:s&#8217;).$string.&#8221;\\r\\n&#8221;, FILE_APPEND);<br \/> \/**<br \/> &nbsp;* \u66f4\u65b0\u8ba2\u5355\u603b\u91d1\u989d<br \/> &nbsp;* @param&nbsp;&nbsp; int&nbsp;&nbsp;&nbsp;&nbsp; $order_id&nbsp;&nbsp; \u8ba2\u5355id<br \/> &nbsp;* @return&nbsp; bool<br \/> \/\/ldhost.cn<br \/> &nbsp;*\/<br \/> function update_order_amount($order_id)<br \/> {<br \/> &nbsp;&nbsp;&nbsp; include_once(ROOT_PATH . &#8216;includes\/lib_order.php&#8217;);<br \/> &nbsp;&nbsp;&nbsp; \/\/\u66f4\u65b0\u8ba2\u5355\u603b\u91d1\u989d<br \/> &nbsp;&nbsp;&nbsp; $sql = &#8220;UPDATE &#8221; . $GLOBALS[&#8216;ecs&#8217;]-&gt;table(&#8216;order_info&#8217;) .<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8221; SET order_amount = &#8221; . order_due_field() .<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8221; WHERE order_id = &#8216;$order_id&#8217; LIMIT 1&#8243;;&nbsp;&nbsp;&nbsp; return $GLOBALS[&#8216;db&#8217;]-&gt;query($sql);<br \/> }<br \/> ?&gt;<\/p>\n<p> \/languages\/zh_cn\/cron\/order_auto_confirm.php<br \/> &lt;?php<br \/> global $_LANG;$_LANG[&#8216;order_auto_confirm&#8217;]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = &#8216;\u8ba2\u5355\u5b9a\u671f\u81ea\u52a8\u786e\u5b9a&#8217;;<br \/> $_LANG[&#8216;order_auto_confirm_desc&#8217;]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = &#8216;\u5b9a\u671f\u81ea\u52a8\u786e\u5b9a\u8ba2\u5355&#8217;;<br \/> $_LANG[&#8216;order_auto_confirm_count&#8217;]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = &#8216;\u6bcf\u6b21\u5904\u7406\u8bb0\u5f55\u4e2a\u6570&#8217;;<br \/> $_LANG[&#8216;order_auto_confirm_count_range&#8217;][&#8216;5&#8217;] = &#8216;5&#8217;;<br \/> $_LANG[&#8216;order_auto_confirm_count_range&#8217;][&#8217;10&#8217;]= &#8217;10&#8217;;<br \/> $_LANG[&#8216;order_auto_confirm_count_range&#8217;][&#8217;15&#8217;]= &#8217;15&#8217;;<br \/> $_LANG[&#8216;order_auto_confirm_count_range&#8217;][&#8217;20&#8217;]= &#8217;20&#8217;;<br \/> ?&gt;<\/p>\n<p> \/languages\/zh_cn\/admin\/order.php\u91cc\u52a0\u5165\uff1a<br \/>\n<br \/> \/\/<br \/>\n<br \/> $_LANG[&#8216;order_auto_croned&#8217;] = &#8216;\u6b64\u8ba2\u5355\u4e8e %s \u5df2\u88ab\u786e\u8ba4&#8217;;<br \/>\n<br \/> $_LANG[&#8216;order_auto_cron&#8217;]&nbsp;&nbsp; = &#8216;\u6b64\u8ba2\u5355\u4e8e %s \u8fdb\u884c\u5b9a\u65f6\u786e\u8ba4&#8217;;<br \/>\n<br \/> $_LANG[&#8216;order_auto&#8217;]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = &#8216;&lt;font color=red&gt;\u5c06\u6b64\u8ba2\u5355\u52a0\u5165\u81ea\u52a8\u5b9a\u65f6\u786e\u8ba4&lt;\/font&gt;&#8217;;<br \/>\n<br \/> $_LANG[&#8216;order_auto_time&#8217;]&nbsp;&nbsp; = &#8216;\u81ea\u52a8\u786e\u8ba4\u65f6\u95f4\uff1a&#8217;;<\/p>\n<p> \/admin\/themes\/order_info.htm<br \/>\n<br \/> \u5728\uff1a{$lang.base_info}\u540e\u9762\u52a0\u5165\uff1a<br \/>\n<br \/> &nbsp;&nbsp;&nbsp;&nbsp; {if $order.status == 0 &amp;&amp; $order.pay_status == 0 }<br \/>\n<br \/> &nbsp;&nbsp;&nbsp; &lt;script type=&#8221;text\/javascript&#8221; src=&#8221;..\/js\/calendar.php?lang={$cfg_lang}&#8221;&gt;&lt;\/script&gt;<br \/>\n<br \/> &nbsp;&nbsp;&nbsp; &lt;link href=&#8221;..\/js\/calendar\/calendar.css&#8221; rel=&#8221;stylesheet&#8221; type=&#8221;text\/css&#8221; \/&gt;<br \/>\n<br \/> &nbsp; &lt;div id=&#8221;order_auto_cron&#8221; style=&#8221;display: inline-block; width: 300px;&#8221;&gt;<br \/>\n<br \/> &nbsp;&nbsp;&nbsp; {if !$cron}<br \/>\n<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;a href=&#8221;javascript:;&#8221; id=&#8221;ccd&#8221; onclick=&#8221;document.getElementById(&#8216;select_time&#8217;).style.display=&#8221;; this.style.display=&#8217;none&#8217;;&#8221;&gt;{$lang.order_auto}&lt;\/a&gt;<br \/>\n<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;span id=&#8221;select_time&#8221; style=&#8221;display: none;&#8221;&gt;{$lang.order_auto_time}<br \/>\n<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;input type=&#8221;text&#8221; class=&#8221;button&#8221; id=&#8221;order_cron_time&#8221; value=&#8221;&#8221;&nbsp; onclick=&#8221;return showCalendar(&#8216;order_cron_time&#8217;, &#8216;%Y-%m-%d %H:%M:%S&#8217;, &#8217;24&#8217;, false, &#8216;order_cron_time&#8217;);&#8221;&nbsp;&nbsp; name=&#8221;order_cron_time&#8221;&gt;<br \/>\n<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;input type=&#8221;button&#8221; value=&#8221;\u4fdd\u5b58&#8221; id=&#8221;ccd_save&#8221;&nbsp; class=&#8221;button&#8221; onclick=&#8221;order_cron({$order.order_id}, &#8216;add&#8217;);&#8221;&gt;<br \/>\n<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;a href=&#8221;javascript:;&#8221; onclick=&#8221;document.getElementById(&#8216;select_time&#8217;).style.display=&#8217;none&#8217;; document.getElementById(&#8216;ccd&#8217;).style.display=&#8221;;&#8221;&gt;{$lang.op_cancel}&lt;\/a&gt;&lt;\/span&gt;<br \/>\n<br \/> &nbsp;&nbsp;&nbsp; {elseif $cron.order_status == 0}<br \/>\n<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {$cron.execute_time} &lt;a href=&#8221;javascript:;&#8221; onclick=&#8221;if(confirm(&#8216;\u786e\u5b9a\u8981\u5220\u9664\u5b9a\u65f6\u6267\u884c\u4efb\u52a1\u5417\uff1f&#8217;)){order_cron({$order.order_id}, &#8216;cancel&#8217;);}else{return false;}&#8221;&gt;{$lang.op_cancel}&lt;\/a&gt;<br \/>\n<br \/> &nbsp;&nbsp;&nbsp; {else $cron.order_status == 1}<br \/>\n<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {$cron.update_time}<br \/>\n<br \/> &nbsp;&nbsp;&nbsp; {\/if}<br \/>\n<br \/> &nbsp; &lt;\/div&gt;<br \/>\n<br \/> &nbsp;&nbsp;&nbsp; {\/if}<br \/>\n<br \/> \u5728\u6b64\u9875\u9762\u7684JS\u91cc\u9762\u52a0\u5165\uff1a<br \/>\n<br \/> function order_cron(order_id, act)<br \/>\n<br \/> {<br \/>\n<br \/> &nbsp;&nbsp;&nbsp; var order_cron_time = 0;<br \/>\n<br \/> &nbsp;&nbsp;&nbsp; if(act == &#8216;add&#8217;){<br \/>\n<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; order_cron_time = document.getElementById(&#8216;order_cron_time&#8217;).value;<br \/>\n<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(!order_cron_time){<br \/>\n<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alert(&#8216;\u65e0\u6cd5\u83b7\u53d6\u65f6\u95f4&#8217;);<br \/>\n<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return false;<br \/>\n<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br \/>\n<br \/> &nbsp;&nbsp;&nbsp; }<br \/>\n<br \/> &nbsp;&nbsp;&nbsp; Ajax.call(&#8216;order.php?act=order_cron&#8217;, &#8216;order_id=&#8217; + order_id + &#8216;&amp;act1=&#8217; + act + &#8216;&amp;order_cron_time=&#8217; + order_cron_time, order_cron_response, &#8216;POST&#8217;, &#8216;JSON&#8217;);<br \/>\n<br \/> }<br \/>\n<br \/> function order_cron_response(res)<br \/>\n<br \/> {<br \/>\n<br \/> &nbsp; if (res.error == 0)<br \/>\n<br \/> &nbsp; {<br \/>\n<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alert(&#8216;\u4fdd\u5b58\u6210\u529f&#8217;);<br \/>\n<br \/> &nbsp; }<br \/>\n<br \/> &nbsp; else<br \/>\n<br \/> &nbsp; {<br \/>\n<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alert(res.message);<br \/>\n<br \/> &nbsp; }<br \/>\n<br \/> &nbsp; return false;<br \/>\n<br \/> }<\/p>\n<p> \u8fd8\u6709\/themes\/default\/footer.dwt\u91cc\u662f\u5426\u542b\u6709\uff1a{insert name=&#8217;query_info&#8217;}\u8fd9\u4e00\u53e5\uff0c\u6bd4\u8f83\u91cd\u8981\uff0c\u524d\u4eba\u628a\u8fd9\u53e5\u53bb\u6389\u4e86\uff0c\u5bb3\u597d\u6a21\u677f\u5230\u5904\u627e\u539f\u56e0\u3002<\/p>\n<p> \u5171\u6d89\u53ca5\u4e2a\u6587\u4ef6\uff0c\u4e24\u4e2a\u65b0\u6dfb\u52a0\u7684\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u6700\u8fd1\u7684\u8ba2\u5355\u6bd4\u8f83\u6742\uff0c\u6709\u4e9b\u60f3\u8fc7\u8282\u540e\u6216\u8005\u4e00\u4e2a\u6708\u540e\u518d\u786e\u8ba4\u8ba2\u5355\uff0c\u4e8e\u662f&nbsp; \u5199\u4e86\u4e00\u4e2a\u63d2\u4ef6\uff1a\u8ba2\u5355\u5b9a\u671f\u81ea\u52a8\u786e\u8ba4\u3002\u9886\u5bfc\u8bf4\uff1aERP\u6293\u4e0d\u5230\u672a\u88ab\u786e\u5b9a\u7684\u8ba2\u5355\u3002\u8fd9\u662f\u4ec0\u4e48\u9e1f\u7684ERP\u7cfb\u7edf\u5440\u3002 CREATE TABLE `order_auto_confirm` ( `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, `order_id` INT(10) UNSIGNED NOT NULL DEFAULT &#8216;0&#8217;, `order_sn` VARCHAR(20) NOT NULL, `execute_time` INT(10) UNSIGNED NOT NULL DEFAULT &#8216;0&#8217;, `order_status` TINYINT(3) UNSIGNED NOT NULL DEFAULT &#8216;0&#8217; COMMENT &#8216;0\u672a\u786e\u5b9a\uff0c1\u5df2\u7ecf\u786e\u5b9a&#8217;, `addtime` INT(10) UNSIGNED NOT NULL DEFAULT &#8216;0&#8217;, `update_time` INT(10) UNSIGNED NOT NULL DEFAULT &#8216;0&#8217;, PRIMARY KEY [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[16],"tags":[],"class_list":["post-59494","post","type-post","status-publish","format-standard","hentry","category-16"],"_links":{"self":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts\/59494","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/comments?post=59494"}],"version-history":[{"count":0,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts\/59494\/revisions"}],"wp:attachment":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/media?parent=59494"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/categories?post=59494"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/tags?post=59494"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}