商品批量更新折扣

2024-02-22 20:10
文章标签 更新 商品 批量 折扣

本文主要是介绍商品批量更新折扣,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

商品批量更新折扣

开发工具与关键技术:Visual Studio 2015
作者:徐晶旗
撰写时间:2019年8月17日 

在做商品管理这一模块的时候遇到了商品批量操作,比如批量导入商品信息,批量更新折扣,批量上架下架,批量特价商品,今天我就来做一下批量更新折扣这一操作。批量更新折扣顾名思义也就是修改原先的商品折扣,比如原先这一批商品不打折,按吊牌价销售,或者之前这批商品是在吊牌价的基础上打九折,然后现在要更新这些商品的折扣,更新的折扣为八折,这些商品就要按吊牌价的八折进行销售,这就是批量更新折扣了,也就是修改折扣。

在这里插入图片描述

现在就来做一下这个批量更新折扣吧?
首先我要写出一个模态框来,模态框中显示要更新的内容。“openModal1();”是获取到模态框中的内容,然后点击批量更新折扣就会弹出这个模态框。

<a class="dropdown-item" href="#" onclick="openModal1;()">
<img src="~/Content/img/st.png" /> 
<b style="font-size:12px;">批量更新折扣</b>
</a>

至于模态框的具体内容在这里就没有写,给大家看一下模态框内容的图片吧!下面就是在页面中弹出的模态框的图片。

在这里插入图片描述
然后下面就要写方法了,先给要在模态框输入的内容赋值,因为这里的下拉框选项中都默认给了第一个值,所以可以不进行选择,如果没有输入折扣的话,或者输入的折扣不在变量“Discounts”的范围内,就会提示请输入折扣,如果输入的折扣大于1或者等于0,就会提示折扣超出限定范围,请重新输入,这样就避免了不合理的折扣出现。

        /*************批量更新折扣***************/function BatchDiscount() {var CommodityTypeID = $("#CommodityTypeID1").val();//商品类别var BrandID = $("#brand2").val();//品牌var SeasonID = $("#season2").val();//季节var Discount = $("#Discount1").val();//折扣          var Discounts = /^([0-1]{1}\.[0-9]{1,2})$/ //用正则表达式给限定的字符范围赋值,如果输入的内容不再这些字符范围内,就读取不到数据if (!Discounts.test(Discount)) {layer.msg("请输入折扣!", { icon: 0, title: '三易通', anim: 1 });return;}if (Discount > 1 || Discount == 0) {layer.msg("折扣超出限定范围,请重新输入!", { icon: 0, title: '三易通', offset: "200px;" });$("#Discount1").val("1.00");return;}layerIndex = layer.load();

下面是用键值对的格式请求控制其中的方法

$.post("BatchDiscount", { CommodityTypeID: CommodityTypeID, BrandID: BrandID, SeasonID: SeasonID, Discount: Discount }, function (strMsg) {layer.close(layerIndex);$("#BatchDiscount").modal('hide');layer.alert(strMsg, { icon: 0, title: '三易通', anim: 1 });TabTitles.reload();//表格刷新}, 'json');}

控制器中的代码如下:

    public ActionResult BatchDiscount(int CommodityTypeID, int BrandID, int SeasonID, string Discount){string strMsg = "failed";int countSuccessDel = 0;//记录删除成功的条数int countFailedDel = 0;//记录删除失败的条数try{List<CommodityTo> dbCommodity = (from tbCommodity in myModels.B_Commodity//商品ID表select new CommodityTo{CommodityID = tbCommodity.CommodityID,//商品IDCommodityTypeID = tbCommodity.CommodityTypeID,//类别IDBrandID = tbCommodity.BrandID,//品牌IDSeasonID = tbCommodity.SeasonID,//季节ID}).ToList();//根据条件进行筛选数据                             if (CommodityTypeID > 0)//类别ID{dbCommodity = dbCommodity.Where(S => S.CommodityTypeID == CommodityTypeID).ToList();}if (BrandID > 0)//品牌ID{dbCommodity = dbCommodity.Where(S => S.BrandID == BrandID).ToList();}if (SeasonID > 0)//季节ID{dbCommodity = dbCommodity.Where(S => S.SeasonID == SeasonID).ToList();}if (dbCommodity.Count() != 0){for (int i = 0; i < dbCommodity.Count; i++){int? CommodityID = dbCommodity[i].CommodityID;B_Commodity pwCommodit = (from tbCommodity in myModels.B_Commoditywhere tbCommodity.CommodityID == CommodityIDselect tbCommodity).Single();pwCommodit.Discount = Convert.ToDecimal(Discount);myModels.Entry(pwCommodit).State = EntityState.Modified;if (myModels.SaveChanges() > 0){countSuccessDel++;}else{countFailedDel++;}}strMsg = "总共需要修改" + dbCommodity.Count() + "条商品信息!其中成功修改" + countSuccessDel + "条,失败" + countFailedDel + "条。";}else{strMsg = "没有匹配的数据!";}}catch (Exception e){Console.Write(e);strMsg = "参数异常!";}return Json(strMsg, JsonRequestBehavior.AllowGet);}

写好了控制器中的方法就可以进行更新折扣了,如果输入的内容有对应的商品,就会提示总共要修改多少条商品,如果没有,就会提示没有匹配的商品。

在这里插入图片描述

这篇关于商品批量更新折扣的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/736363

相关文章

Ubuntu向多台主机批量传输文件的流程步骤

《Ubuntu向多台主机批量传输文件的流程步骤》:本文主要介绍在Ubuntu中批量传输文件到多台主机的方法,需确保主机互通、用户名密码统一及端口开放,通过安装sshpass工具,准备包含目标主机信... 目录Ubuntu 向多台主机批量传输文件1.安装 sshpass2.准备主机列表文件3.创建一个批处理脚

MySQL批量替换数据库字符集的实用方法(附详细代码)

《MySQL批量替换数据库字符集的实用方法(附详细代码)》当需要修改数据库编码和字符集时,通常需要对其下属的所有表及表中所有字段进行修改,下面:本文主要介绍MySQL批量替换数据库字符集的实用方法... 目录前言为什么要批量修改字符集?整体脚本脚本逻辑解析1. 设置目标参数2. 生成修改表默认字符集的语句3

SpringBoot分段处理List集合多线程批量插入数据方式

《SpringBoot分段处理List集合多线程批量插入数据方式》文章介绍如何处理大数据量List批量插入数据库的优化方案:通过拆分List并分配独立线程处理,结合Spring线程池与异步方法提升效率... 目录项目场景解决方案1.实体类2.Mapper3.spring容器注入线程池bejsan对象4.创建

Python实现Excel批量样式修改器(附完整代码)

《Python实现Excel批量样式修改器(附完整代码)》这篇文章主要为大家详细介绍了如何使用Python实现一个Excel批量样式修改器,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一... 目录前言功能特性核心功能界面特性系统要求安装说明使用指南基本操作流程高级功能技术实现核心技术栈关键函

使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解

《使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解》本文详细介绍了如何使用Python通过ncmdump工具批量将.ncm音频转换为.mp3的步骤,包括安装、配置ffmpeg环... 目录1. 前言2. 安装 ncmdump3. 实现 .ncm 转 .mp34. 执行过程5. 执行结

Python实现批量CSV转Excel的高性能处理方案

《Python实现批量CSV转Excel的高性能处理方案》在日常办公中,我们经常需要将CSV格式的数据转换为Excel文件,本文将介绍一个基于Python的高性能解决方案,感兴趣的小伙伴可以跟随小编一... 目录一、场景需求二、技术方案三、核心代码四、批量处理方案五、性能优化六、使用示例完整代码七、小结一、

C#实现一键批量合并PDF文档

《C#实现一键批量合并PDF文档》这篇文章主要为大家详细介绍了如何使用C#实现一键批量合并PDF文档功能,文中的示例代码简洁易懂,感兴趣的小伙伴可以跟随小编一起学习一下... 目录前言效果展示功能实现1、添加文件2、文件分组(书签)3、定义页码范围4、自定义显示5、定义页面尺寸6、PDF批量合并7、其他方法

Three.js构建一个 3D 商品展示空间完整实战项目

《Three.js构建一个3D商品展示空间完整实战项目》Three.js是一个强大的JavaScript库,专用于在Web浏览器中创建3D图形,:本文主要介绍Three.js构建一个3D商品展... 目录引言项目核心技术1. 项目架构与资源组织2. 多模型切换、交互热点绑定3. 移动端适配与帧率优化4. 可

Python批量替换多个Word文档的多个关键字的方法

《Python批量替换多个Word文档的多个关键字的方法》有时,我们手头上有多个Excel或者Word文件,但是领导突然要求对某几个术语进行批量的修改,你是不是有要崩溃的感觉,所以本文给大家介绍了Py... 目录工具准备先梳理一下思路神奇代码来啦!代码详解激动人心的测试结语嘿,各位小伙伴们,大家好!有没有想

MySQL 数据库表操作完全指南:创建、读取、更新与删除实战

《MySQL数据库表操作完全指南:创建、读取、更新与删除实战》本文系统讲解MySQL表的增删查改(CURD)操作,涵盖创建、更新、查询、删除及插入查询结果,也是贯穿各类项目开发全流程的基础数据交互原... 目录mysql系列前言一、Create(创建)并插入数据1.1 单行数据 + 全列插入1.2 多行数据