document.write('
') 关于帝国的内置商城常见问题 - 手工SEO

手工SEO

手工SEO首页 帝国教程 正文

关于帝国的内置商城常见问题

手工SEO 2019-09-28 03:45:53 帝国教程 187℃ 手工SEO

1、订单金额为负数

如果购买金额为1.99,优惠券的金额为3,那么在使用优惠券的时候,帝国默认是存入1.99  和 3,那么 购买金额则为 1.99 - 3 = - 1.01 ,这个时候就会造成负金额订单,处理加入订单的逻辑,使之如果减掉优惠券以后的金额小于0,那么优惠金额 等同于 购买金额

修改几个地方,将所有涉及到金额的部分,作保留两位小数处理:

PHP Code复制内容到剪贴板

$price = number_format($price,2);  

增加订单function:

/e/ShopSys/class/

PHP Code复制内容到剪贴板

function AddDd($add){  

//支付金额
$buyallfen=$alltotalfen+$pr['price']; $buyallmoney = $alltotal+$pr['price']+$fptotal-$pretotal; $buyallmoney = number_format($buyallmoney,2); //如果支付金额为负,那么优惠金额 等于 购买金额,金额处理为0
if($buyallmoney < 0) { $pretotal = $alltotal; $buyallmoney = 0; }

/e/payapi/payfun.php

PHP Code复制内容到剪贴板

//商城订单金额  

function PayApiShopDdMoney($ddid){  

$r['tmoney'] = $r['alltotal']+$r['pstotal']+$r['fptotal']-$r['pretotal']; $r['tmoney'] = number_format($r['tmoney'],2); return $r;

2、新增发送邮件通知函数:

传$dd的数组,和订单ID,这里还要传一个数组,是因为之前的函数中应该已经对订单表查询过了,这里就不再重复查询

PHP Code复制内容到剪贴板

/** 

 * @param array $dd 

 * @param $ddid 

 * @return bool 

 */  

function sendMail($dd = array(),$ddid){  

   global $dbtbpre,$empire;  

   require(ECMS_PATH.'e/class/SendEmail.inc.php');  

   $email = array('398927951@qq.com','xxxx@qq.com');  

   $addr=$empire->fetch1("select buycar,bz from {$dbtbpre}enewsshopdd_add where ddid='$ddid' limit 1");  

   $buycar = $addr['buycar'];  

   $beizhu = $addr['bz'];  

   $payby=$dd['payby'];  

   $shop = '';  

   $record="!";  

   $field="|";  

   $totalmoney=0;  

   $totalfen=0;  

   $buycarr=explode($record,$buycar);  

   $bcount=count($buycarr);  

   $j=0;  

上一篇:教你用不同的首页模板制作帝国CMS多个动态首页

下一篇:标准头部写法

网站分类
标签列表