商品批量更新折扣

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

相关文章

Redis缓存问题与缓存更新机制详解

《Redis缓存问题与缓存更新机制详解》本文主要介绍了缓存问题及其解决方案,包括缓存穿透、缓存击穿、缓存雪崩等问题的成因以及相应的预防和解决方法,同时,还详细探讨了缓存更新机制,包括不同情况下的缓存更... 目录一、缓存问题1.1 缓存穿透1.1.1 问题来源1.1.2 解决方案1.2 缓存击穿1.2.1

Linux Mint Xia 22.1重磅发布: 重要更新一览

《LinuxMintXia22.1重磅发布:重要更新一览》Beta版LinuxMint“Xia”22.1发布,新版本基于Ubuntu24.04,内核版本为Linux6.8,这... linux Mint 22.1「Xia」正式发布啦!这次更新带来了诸多优化和改进,进一步巩固了 Mint 在 Linux 桌面

Python在固定文件夹批量创建固定后缀的文件(方法详解)

《Python在固定文件夹批量创建固定后缀的文件(方法详解)》文章讲述了如何使用Python批量创建后缀为.md的文件夹,生成100个,代码中需要修改的路径、前缀和后缀名,并提供了注意事项和代码示例,... 目录1. python需求的任务2. Python代码的实现3. 代码修改的位置4. 运行结果5.

使用Python实现批量访问URL并解析XML响应功能

《使用Python实现批量访问URL并解析XML响应功能》在现代Web开发和数据抓取中,批量访问URL并解析响应内容是一个常见的需求,本文将详细介绍如何使用Python实现批量访问URL并解析XML响... 目录引言1. 背景与需求2. 工具方法实现2.1 单URL访问与解析代码实现代码说明2.2 示例调用

SpringCloud配置动态更新原理解析

《SpringCloud配置动态更新原理解析》在微服务架构的浩瀚星海中,服务配置的动态更新如同魔法一般,能够让应用在不重启的情况下,实时响应配置的变更,SpringCloud作为微服务架构中的佼佼者,... 目录一、SpringBoot、Cloud配置的读取二、SpringCloud配置动态刷新三、更新@R

Ubuntu 24.04 LTS怎么关闭 Ubuntu Pro 更新提示弹窗?

《Ubuntu24.04LTS怎么关闭UbuntuPro更新提示弹窗?》Ubuntu每次开机都会弹窗提示安全更新,设置里最多只能取消自动下载,自动更新,但无法做到直接让自动更新的弹窗不出现,... 如果你正在使用 Ubuntu 24.04 LTS,可能会注意到——在使用「软件更新器」或运行 APT 命令时,

使用Python制作一个PDF批量加密工具

《使用Python制作一个PDF批量加密工具》PDF批量加密‌是一种保护PDF文件安全性的方法,通过为多个PDF文件设置相同的密码,防止未经授权的用户访问这些文件,下面我们来看看如何使用Python制... 目录1.简介2.运行效果3.相关源码1.简介一个python写的PDF批量加密工具。PDF批量加密

Python按条件批量删除TXT文件行工具

《Python按条件批量删除TXT文件行工具》这篇文章主要为大家详细介绍了Python如何实现按条件批量删除TXT文件中行的工具,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1.简介2.运行效果3.相关源码1.简介一个由python编写android的可根据TXT文件按条件批

Java实现批量化操作Excel文件的示例代码

《Java实现批量化操作Excel文件的示例代码》在操作Excel的场景中,通常会有一些针对Excel的批量操作,这篇文章主要为大家详细介绍了如何使用GcExcel实现批量化操作Excel,感兴趣的可... 目录前言 | 问题背景什么是GcExcel场景1 批量导入Excel文件,并读取特定区域的数据场景2

poj3468(线段树成段更新模板题)

题意:包括两个操作:1、将[a.b]上的数字加上v;2、查询区间[a,b]上的和 下面的介绍是下解题思路: 首先介绍  lazy-tag思想:用一个变量记录每一个线段树节点的变化值,当这部分线段的一致性被破坏我们就将这个变化值传递给子区间,大大增加了线段树的效率。 比如现在需要对[a,b]区间值进行加c操作,那么就从根节点[1,n]开始调用update函数进行操作,如果刚好执行到一个子节点,