多商户商品下单限购问题修复

news2024/11/25 4:29:54

问题: 当商品设置限购为 1 时,够买数量未超过限购,但是还是提示超出限购数量

修复方法:

修改代码路径:

app\common\repositories\store\order\StoreOrderCreateRepository.php
修改代码一: i s p a y s = a r r a y u n i q u e ( a r r a y c o l u m n ( is_pays = array_unique(array_column( ispays=arrayunique(arraycolumn(merchantCart[‘list’],‘is_pay’));
if ( count($is_pays) > 1 || $is_pays[0] == 1) throw new ValidateException(‘存在已购买商品请重新添加购物车’);
// 获取每个商品的ID数组
p r o d u c t i d s = a r r a y c o l u m n ( product_ids = array_column( productids=arraycolumn(merchantCart[‘list’],‘product_id’);
n u m d a t a = a r r a y c o l u m n ( num_data = array_column( numdata=arraycolumn(merchantCart[‘list’],‘cart_num’);
i d n u m = [ ] ; / / 获取每个商品 I D 出现的次数及购买数量,作为验证限购数量使用 f o r e a c h ( id_num = []; // 获取每个商品ID出现的次数及购买数量,作为验证限购数量使用 foreach ( idnum=[];//获取每个商品ID出现的次数及购买数量,作为验证限购数量使用foreach(product_ids as $key => $value) {
i d n u m [ id_num[ idnum[value] = isset( i d n u m [ id_num[ idnum[value]) ? i d n u m [ id_num[ idnum[value] + n u m d a t a [ num_data[ numdata[key] : n u m d a t a [ num_data[ numdata[key];
}
c o u n t L i s t = c o u n t ( countList = count( countList=count(merchantCart[‘list’]);
修改后的样子:在这里插入图片描述
修改代码二:

$count = i d n u m [ id_num[ idnum[cart[‘product_id’]];
if (($count) > $cart[‘product’][‘once_max_count’]) {
throw new ValidateException(‘[超出限购总数:’ . c a r t [ ′ p r o d u c t ′ ] [ ′ o n c e m a x c o u n t ′ ] . ′ ] ′ . m b s u b s t r ( cart['product']['once_max_count'] . ']' . mb_substr( cart[product][oncemaxcount].].mbsubstr(cart[‘product’][‘store_name’], 0, 10) . ‘…’);
}
$pay_count = s t o r e O r d e r R e p o s i t o r y − > g e t M a x C o u n t N u m b e r ( storeOrderRepository->getMaxCountNumber( storeOrderRepository>getMaxCountNumber(cart[‘uid’], c a r t [ ′ p r o d u c t i d ′ ] ) ; i f ( ( cart['product_id']); if (( cart[productid]);if((count + $pay_count) > $cart[‘product’][‘once_max_count’]) {
throw new ValidateException(‘[超出限购总数:’ . c a r t [ ′ p r o d u c t ′ ] [ ′ o n c e m a x c o u n t ′ ] . ′ ] ′ . m b s u b s t r ( cart['product']['once_max_count'] . ']' . mb_substr( cart[product][oncemaxcount].].mbsubstr(cart[‘product’][‘store_name’], 0, 10) . ‘…’);
}
修改后的样子:在这里插入图片描述
最后:修改完了需要重启swoole服务

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2063671.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

阿里一款非常不错的多级缓存框架如何使用?

目录 前言 1. jetcache简介 2. jetcache使用 2. jetcache使用 3. 测试 3.1 方式一测试 3.2 方式二测试 3.3 方式三测试 4.缺点优点 5. 常见报错 前言 大家好,我是月夜枫~~ 在很多大数据、高并发的业务中,像MySql等传统的关系型数据库已经不能适用…

C++ 设计模式(3. 抽象工厂模式)

抽象工厂模式也是一种创建型设计模式,提供了一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类【引用自大话设计模式第15章】基本结构 抽象工厂模式包含多个抽象产品接口,多个具体产品类,一个抽象工厂接口和多个具体…

BMC下使用KVM远程启动java被阻止解决方案

Java程序被阻止 进笔记本控制面板-Java里 安全里把BMC IP地址添加进去 -------------------------------------------- “如有侵权,联系删除”

【2024版】最新JDK下载和安装=保姆级教程,Java环境配置和使用指南,收藏这一篇就够了

大纲 JDK介绍 JDK下载 在线下载 离线下载 JDK安装 验证安装 JDK介绍 JDK(Java Development Kit)是用于开发Java应用程序的软件开发工具包。它包括:Java虚拟机(JVM)、Java类库以及其他一些用于开发Java应用程序的工具…

uniapp 获取定位权限及问题解决

目录 步骤一:在manifest.json中配置步骤二:引用文件可多页面复用的处理逻辑代码注意:问题处理(1)报错信息1:getLocation:fail the api need to be declared in the requiredPrivateInfos fie(2&…

本地Docker部署Navidrome音乐服务器与远程访问听歌详细教程

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

VueSeamlessScroll 无缝滚动点击事件不生效(需要给复制Dom加样式)

VueSeamlessScroll 无缝滚动点击事件不生效(需要给复制Dom加样式) 实现效果遇到问题具体实现扩展 实现效果 VueSeamlessScroll 列表无缝滚动,且可以选择某一项进行选中改变背景,并且将选中的数据传到其他接口中 遇到问题 问题…

AgentMD:通过大规模临床工具学习提升语言代理的风险预测能力

人工智能咨询培训老师叶梓 转载标明出处 临床计算器在医疗保健中扮演着至关重要的角色,它们通过提供准确的基于证据的预测来辅助临床医生进行诊断和预后评估。然而,由于可用性挑战、传播不畅和功能受限,这些工具的广泛应用常常受限。为了克服…

如何备份电脑所有数据?有哪些方法值得参考借鉴?

备份电脑所有数据是防护数据丢失和泄密的重要一项措施,备份数据也有不同的方式和工具,正确的工具能帮你省时省力,下面盘点了几个方法,来看哪一种最适合你。 一、使用专业备份软件 第三方服务器文件自动备份软件:如安企…

AI恶搞《黑神话:悟空》爆火!

黑神话简直太火了,各个热搜榜都有它的身影。 单 Steam 上的销量榜就是榜首,同时在线人数突破 200W。 估计周末在线人数更多,能不能破最高同时在线人数记录,拭目以待。 最近有不少人用清影 AI 生成鬼畜视频,我也用《黑…

【精选】基于大数据的___银行信用卡用户的数仓系统的设计与实现(全网独一无二,最新定制)

目录: 关键技术介绍 PYTHON语言简介 大数据介绍 MySql数据库 DJANGO框架 Hadoop介绍 Scrapy介绍 B/S架构 系统的设计 系统总功能模块设计 系统测试 系统测试的目的 软件测试过程 6.3测试用例 参考代码: 为什么选择我: 博主介绍&am…

Ciallo~(∠・ω・ )⌒☆第二十三篇 python 可迭代,迭代器,生成器,装饰器

Python中的可迭代对象(iterable)是指可以被迭代的对象,例如列表、元组、字符串等。可迭代对象可以通过循环来访问其元素。 迭代器(iterator)是一种能够逐个访问元素的对象,它实现了__iter__()和__next__()方…

C++ TinyWebServer项目总结(1. 配置安装)

语雀文档 项目记录会先更新在我的语雀文档 :Webserver 然后再同步发送到CSDN上,有些格式问题实在是懒得改了,可能会导致大家看的不舒服,建议有需要的大家可以看看我的原文。 安装环境 Ubuntu 20.04 mysql Ver 8.0.39-0ubuntu0…

活动策划必备:活动页面设计全攻略

活动页面是营销策略中的重要环节,它不仅传递活动信息,更是吸引用户参与和转化的关键。设计师需要深入理解活动的核心价值和目标受众的需求,确保设计能够准确传达活动信息,同时激发用户的参与欲望。通过这样的设计,活动…

【AI Agent极限挑战赛】三大赛题揭晓

由AIGC开放社区联合联想拯救者、英特尔共同主办的【2024 AI Agent极限挑战赛】于8月17日在上海中庚聚龙酒店成功举办。赛事全面考察参赛者将AI技术应用于实际问题的能力。比赛内容包括对大语言模型的理解、提示词(Prompt)的结构化调优技术、个人助理Agen…

做谷歌seo如何确保网站的速度快?

想做谷歌seo,网站的快慢也是一个重要因素,至少不能慢的让客户等得不耐烦,以下是一些实用的小建议,帮助你提高页面加载速度,确保用户体验的顺畅。 压缩图片文件大小:图片通常是网页上最占用带宽的资源之一&a…

记一次:Datawhale AI夏令营-第五期-CV-Task01

前言:前面参加了第四期AIGC算是入门了,第五期我又来了,这期我参加了两个,计算机视觉CV所以按照惯例写一个笔记。 学习任务 一、计算机视觉CV的了解 1.1、什么是计算机视觉? 1.2、什么是YOLO?什么是物体…

SAP赋能消费品行业:创新与效率的双重驱动

在快速消费品行业,市场变化如同潮水般汹涌,消费者需求日益个性化,竞争愈发激烈。SAP系统以其先进的企业资源规划技术,为消费品行业提供了强大的数字化解决方案,助力企业在创新与效率的双重驱动下,实现业务的…

上位机图像处理和嵌入式模块部署(linux Qt程序的编译)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 linux上位机写程序,大家都喜欢用designer设计界面,用qt creator编写程序。这样其实也无可厚非。但是从效率和快速开发的角度…

视频智能分析工业排污检测算法及算法源码全套应用方案

工业排污检测算法在环境保护领域发挥着至关重要的作用,其主应用场景可以归纳如下: 应用场景 1、化工厂:监测化工厂的废气、废水排放情况,预防化学品泄漏污染环境。通过实时监测和数据分析,确保化工厂的排放符合环保标…