国强极客
有问题请加微信:guoqiang7585
国强极客

destoon 商城团购购物逻辑错误 付款之前检查购买数量是否小于等于库存

destoon 商城团购购物逻辑错误 付款之前检查购买数量是否小于等于库存

上次给大家修复了一个dt商城的逻辑问题,后来修改为付款后,就减去库存。

这次客户又发现了一个问题,客户反馈的问题如下:

是否在支付时检查一下卖家的实际库存是否大于要支付的库存。

卖家在商城上实际库存90吨的情况下,出现总计大于90吨的订单,请测试一下如下情况:

购买过程中,设定ABC三个角色,A是卖家,BC是买家,卖家A发布100吨库存,已售出10吨,现余90吨库存,买家B下单买了10吨,卖家A进行了确认,但是B未进行付款,买家C下单买了90吨,卖家A进行了确认,买家C付款后,买家B限于也进行了付款,卖家待发货订单中出现了网上这两个买家支付前库存剩余90吨,支付后待发货90吨+10吨,如何规避这种情况

这个问题,我测试后发现,确实是真实存在的,修改的方法就是在客户的付款页面做一个判断,如果客户购买的商品数量大于库存的时候,就提示客户不能付款,反之则能付款。

修改方法如下:

打开\template\default\member\trade.htm

在订单的付款页面,大约是470行添加代码

<!–{php $tags=tag(“moduleid=16&condition=itemid=$mallid&template=null”);}–>
{loop $tags $t}
{if $td[number]>$t[amount]}
不能付款
{else}
可以付款
{/if}
{/loop}

上面就是代码的具体写法,第一步是根据客户购买的商品的id获取当前商品的库存,然后跟客户的购买数量进行对比,我使用的代码是

<!–{php $tags=tag(“moduleid=16&condition=itemid=$mallid&template=null”);}–>
{loop $tags $t}
{if $td[number]>$t[amount]}
<tr id=”payword” style=”display:none;”>
<td class=”tl”><span class=”f_red”>*</span> 无法付款</td>
<td class=”tr”>对不起,您付款晚了一步,没有足够的库存给您发货了!</td>
</tr>
{else}
<tr id=”payword” style=”display:none;”>
<td class=”tl”><span class=”f_red”>*</span> 支付密码</td>
<td class=”tr”>{template ‘password’, ‘chip’}&nbsp;<span id=”dpassword” class=”f_red”></span><a href=”/member/send.php?action=payword”><font color=”#FF0000″>修改支付密码</font></a></td>
</tr>
{/if}
{/loop}

这样基本保存了原来的风格。截图如下

不能付款截图

当客户购买的数量大于库存的时候,提示不能付款

 

可以付款链接

当客户购买数量小于等于库存时候,可以付款

团购那边,应该都是一个方法,但是因为表结构不同,所以还是贴一下代码吧

修改的文件\template\default\member\group.htm

<!–{php $tags=tag(“moduleid=17&condition=itemid=$gid&template=null”);}–>
{loop $tags $t}
{if $td[number]>($t[amount]-$t[sales])}
<tr id=”payword” style=”display:none;”>
<td class=”tl”><span class=”f_red”>*</span> 无法付款</td>
<td class=”tr”>对不起,您付款晚了一步,没有足够的库存给您发货了! </td>
</tr>
{else}
<tr id=”payword” style=”display:none;”>
<td class=”tl”><span class=”f_red”>*</span> 支付密码</td>
<td class=”tr”>{template ‘password’, ‘chip’}&nbsp;<span id=”dpassword” class=”f_red”></span><a href=”/member/send.php?action=payword”><font color=”#FF0000″>修改支付密码</font></td>
</tr>

{/if}
{/loop}

区别在于团购商品的id为 gid,而且模块编号为17.而且计算库存,使用的是$t[amount]-$t[sales] 商品添加时候库存减去销量得出的实际库存。

赞赏
对内容有疑问,请加我微信:guoqiang7585
#
首页      CMS      destoon      destoon 商城团购购物逻辑错误 付款之前检查购买数量是否小于等于库存

国强极客

文章作者

博客站长,有问题请加微信【guoqiang7585】。

国强极客

destoon 商城团购购物逻辑错误 付款之前检查购买数量是否小于等于库存
上次给大家修复了一个dt商城的逻辑问题,后来修改为付款后,就减去库存。 这次客户又发现了一个问题,客户反馈的问题如下: 是否在支付时检查一下卖家的实际库存是否大于要支付的库…
扫描二维码继续阅读
2015-10-22