自用ajxa 后台管理请求
/**
* 保存或者修改商品信息
* @returns
*/
function saveOrUpdateBaseGoodInfo(){
var json={};
var goodName=$.trim($("#goodName").val());
if(!goodName){
Feng.info("商品名称不能为空!");
return;
}
json["name"]=goodName;
var keyword=$.trim($("#keyword").val());
if(!keyword){
Feng.info("商品关键词不能为空!");
return;
}
json["label"]=keyword;
var price=$.trim($("#price").val());
if(!price){
Feng.info("价格不能为空!");
return;
}
if(isNaN(price)){
Feng.info("价格请输入数字类型!");
return;
}
json["price"]=price;
var unit=$.trim($("#unit").val());
if(!unit){
Feng.info("单位不能为空!");
return;
}
json["unit"]=unit;
var volume=$.trim($("#volume").val());
if(!volume){
Feng.info("销量不能为空!");
return;
}
if(isNaN(volume)){
Feng.info("销量请输入数字类型!");
return;
}
json["volume"]=volume;
var jiFenBili=$.trim($("#jiFenBili").val());
if(!jiFenBili){
Feng.info("积分购买赠送比例不能为空!");
return;
}
if(isNaN(jiFenBili)){
Feng.info("积分购买赠送比例请输入数字类型!");
return;
}
json["receivableIntegrateRate"]=jiFenBili;
var jiFenDkBili=$.trim($("#jiFenDkBili").val());
if(!jiFenDkBili){
Feng.info("积分购买最大抵扣比例不能为空!");
return;
}
if(isNaN(jiFenDkBili)){
Feng.info("积分购买最大抵扣比例请输入数字类型!");
return;
}
json["maxPayIntegrateRate"]=jiFenDkBili;
var trs=$(".table-responsive table tbody tr");
var consumerSalePercentage1=trs[0].cells[1].childNodes[0].value;
var consumerSalePercentage2=trs[0].cells[2].childNodes[0].value;
var consumerSaleMoney1=trs[0].cells[3].childNodes[0].value;
var consumerSaleMoney2=trs[0].cells[4].childNodes[0].value;
var salePercentage1=trs[1].cells[1].childNodes[0].value;
var salePercentage2=trs[1].cells[2].childNodes[0].value;
var saleMoney1=trs[1].cells[3].childNodes[0].value;
var saleMoney2=trs[1].cells[4].childNodes[0].value;
//消费者
if(consumerSalePercentage1==null||consumerSalePercentage1==""||consumerSalePercentage1==undefined){
Feng.info("消费者一级分佣比例不能为空!");
return;
}
if(isNaN(consumerSalePercentage1)){
Feng.info("消费者一级分佣比例请输入数字类型!");
return;
}
if(consumerSalePercentage2==null||consumerSalePercentage2==""||consumerSalePercentage2==undefined){
Feng.info("消费者二级分佣比例不能为空!");
return;
}
if(isNaN(consumerSalePercentage2)){
Feng.info("消费者二级分佣比例请输入数字类型!");
return;
}
if(consumerSaleMoney1==null||consumerSaleMoney1==""||consumerSaleMoney1==undefined){
Feng.info("消费者一级固定分佣不能为空!");
return;
}
if(isNaN(consumerSaleMoney1)){
Feng.info("消费者一级固定分佣请输入数字类型!");
return;
}
if(consumerSaleMoney2==null||consumerSaleMoney2==""||consumerSaleMoney2==undefined){
Feng.info("消费者二级固定分佣不能为空!");
return;
}
if(isNaN(consumerSaleMoney2)){
Feng.info("消费者二级固定分佣请输入数字类型!");
return;
}
//分销员
if(salePercentage1==null||salePercentage1==""||salePercentage1==undefined){
Feng.info("分销员一级分佣比例不能为空!");
return;
}
if(isNaN(salePercentage1)){
Feng.info("分销员一级分佣比例请输入数字类型!");
return;
}
if(salePercentage2==null||salePercentage2==""||salePercentage2==undefined){
Feng.info("分销员二级分佣比例不能为空!");
return;
}
if(isNaN(salePercentage2)){
Feng.info("分销员二级分佣比例请输入数字类型!");
return;
}
if(saleMoney1==null||saleMoney1==""||saleMoney1==undefined){
Feng.info("分销员一级固定分佣不能为空!");
return;
}
if(isNaN(saleMoney1)){
Feng.info("分销员一级固定分佣请输入数字类型!");
return;
}
if(saleMoney2==null||saleMoney2==""||saleMoney2==undefined){
Feng.info("分销员二级固定分佣不能为空!");
return;
}
if(isNaN(saleMoney2)){
Feng.info("分销员二级固定分佣请输入数字类型!");
return;
}
json["salePercentage1"]=salePercentage1;
json["salePercentage2"]=salePercentage2;
json["saleMoney1"]=saleMoney1;
json["saleMoney2"]=saleMoney2;
json["consumerSalePercentage1"]=consumerSalePercentage1;
json["consumerSalePercentage2"]=consumerSalePercentage2;
json["consumerSaleMoney1"]=consumerSaleMoney1;
json["consumerSaleMoney2"]=consumerSaleMoney2;
var commonMoney=$.trim($("#commonMoney").val());
json["commonMoney"]=commonMoney;
if(!commonMoney){
Feng.info("消费者固定佣金不能为空!");
return;
}
if(isNaN(commonMoney)){
Feng.info("消费者固定佣金请输入数字类型!");
return;
}
if(parseFloat(saleMoney1)+parseFloat(saleMoney2)>parseFloat(price)){
Feng.info("分销员固定分佣之和大于销售价,无法提交");
return;
}
if(parseFloat(consumerSaleMoney1)+parseFloat(consumerSaleMoney2)
+parseFloat(commonMoney)>parseFloat(price)){
Feng.info("消费者固定分佣与消费者固定返现金额大于销售价,无法提交");
return;
}
var flag=true;
var $inputDomList=$("#paramList input");
for(var i=0;i<$inputDomList.length;i++){
if(!$inputDomList[i].value){
flag=false;
break;
}
flag=true;
}
if(!flag){
Feng.info("规格参数还有未填写的,请检查一遍!");
return;
}
var parameterArr=new Array();
$("#paramList div").each(function(){
var parameterJson=new Object();
if($(this).find("input").eq(0).val()&&$(this).find("input").eq(1).val()){
parameterJson.name=$(this).find("input").eq(0).val();
parameterJson.value=$(this).find("input").eq(1).val();
parameterArr.push(parameterJson);
}
});
json["parameter"]=JSON.stringify(parameterArr);
var brandPic=$("#brandPic").attr("src");
if(!brandPic){
Feng.info("商品预览图不能为空!");
return;
}
json["preview"]=brandPic;
var detailPic=$("#detailPic").attr("src");
if(!detailPic){
Feng.info("商品详情图不能为空!");
return;
}
json["imageSrc"]=detailPic;
var serviceJsonArr=[];
$("[name=arr2]:checked").each(function(){
var serviceJson={};
serviceJson.name=$(this).next().text();
serviceJson.value=$(this).val();
serviceJsonArr.push(serviceJson);
});
if(!serviceJsonArr.length){
Feng.info("请勾选商品服务!");
return;
}
json["serviceDetails"]=JSON.stringify(serviceJsonArr);
var goodLabelJsonArr=[];
$("#paramList1 div").each(function(){
var selectJson={};
$(this).find("select").each(function(){
var name=$(this).find("option:selected").text();
var value=$(this).find("option:selected").val();
if(this.id=="firstLabelSelect"){
if(name!='请选择'&&name){
selectJson["firstName"]=name;
selectJson["firstValue"]=parseInt(value,10);
}
}
if(this.id=="secondLabelSelect"){
if(name!='请选择'&&name){
selectJson["secondName"]=name;
selectJson["secondValue"]=parseInt(value,10);
} }
if(this.id=="thirdLabelSelect"){
if(name!='请选择'&&name){
selectJson["thirdName"]=name;
selectJson["thirdValue"]=parseInt(value,10);
} }
});
if(JSON.stringify(selectJson)!="{}"){
goodLabelJsonArr.push(selectJson);
} });
var isUniversal=$("[name=isUniversal]:checked").val();
if(isUniversal=="0"){
if(!goodLabelJsonArr.length){
Feng.info("请选择商品筛选标签");
return;
}
}
json["isUniversal"]=isUniversal;
json["goodLabelJson"]=goodLabelJsonArr.length?JSON.stringify(goodLabelJsonArr):"";
json["shoppingMethods"]=$("[name=shoppingMethods]:checked").val()==undefined?0:$("[name=shoppingMethods]:checked").val();
var ue = UE.getEditor('editor');
json["intro"]=ue.getContent();
var relGoodArr=new Array();
$("#z-tre li").each(function(){
if(relGoodArr.indexOf(this.id)==-1){
relGoodArr.push(this.id);
}
});
json["relGoodId"]=relGoodArr.toString();
json["id"]=$("#goodId").val()?$("#goodId").val():null;
$.ajax({
url : Feng.ctxPath + '/goodBase/saveorupdatebasegoodinfo',
type : 'POST',
contentType : 'application/json;charset=UTF-8',
dataType : 'json',
cache : false,
data : JSON.stringify(json),
success : function(result) {
if(result&&result.success){
Feng.info("操作成功!");
window.location.href=Feng.ctxPath + '/goodBase'
}else{
Feng.info(result.error);
}
}
});
}
/**
* 提交商品信息
* @param map
* @return
*/
@SuppressWarnings("unchecked")
@BussinessLog(value = "新增或修改商品信息", key = "saveorupdatebasegoodinfo")
@RequestMapping("/saveorupdatebasegoodinfo")
@ResponseBody
public JSONResponse saveOrUpdateBaseGoodinfo(@RequestBody Map<String,Object>map,HttpServletRequest request) {
JSONResponse jsonResponse=new JSONResponse();
HttpSession session=request.getSession(false);
if(session==null) {
throw new RuntimeException("session已经超时!");
}
Map<String,Object>firstMap=(Map<String, Object>) session.getAttribute("map");
firstMap.putAll(map);
GoodsBaseInfo goodsBaseInfo=new GoodsBaseInfo();
MapUtils.mapToJavaBean(goodsBaseInfo,GoodsBaseInfo.class,firstMap);
GoodsBaseInfoVO goodsBaseInfoVO=new GoodsBaseInfoVO();
BeanUtils.copyProperties(goodsBaseInfo, goodsBaseInfoVO);
goodsBaseInfoVO.setCreator(ShiroKit.getUser().getId());
goodsBaseInfoVO.setModifier(ShiroKit.getUser().getId());
goodsBaseInfoVO.setRelGoodId(map.get("relGoodId")+"");
goodsBaseInfoVO.setCreated(new Date());
goodsBaseInfoVO.setModified(new Date());
goodsBaseInfoVO.setIsDeleted(CommonConst.NO);
goodsBaseInfoVO.setIsEnable(CommonConst.YES);
Integer goodId=goodsBaseInfoVO.getId();
List<GoodsBaseInfo>goodsBaseInfoList=null;
if(goodId==null) {
goodsBaseInfoList=this.iGoodsBaseInfoService.selectList(new EntityWrapper<GoodsBaseInfo>()
.addFilter("name={0}", goodsBaseInfoVO.getName()));
}else {
goodsBaseInfoList=this.iGoodsBaseInfoService.selectList(new EntityWrapper<GoodsBaseInfo>()
.addFilter("name={0}", goodsBaseInfoVO.getName()).ne("id", goodId));
}
if(goodsBaseInfoList.size()>0) {
jsonResponse.setSuccess(Boolean.FALSE);
jsonResponse.setError("商品名称已经存在!");
return jsonResponse;
}
this.iGoodsBaseInfoService.insertGoodBaseInfo(goodsBaseInfoVO);
jsonResponse.setSuccess(Boolean.TRUE);
return jsonResponse;
}
自用ajxa 后台管理请求的更多相关文章
- C#开发微信门户及应用(47) - 整合Web API、微信后台管理及前端微信小程序的应用方案
在微信开发中,我一直强调需要建立一个比较统一的Web API接口体系,以便实现数据的集中化,这样我们在常规的Web业务系统,Winform业务系统.微信应用.微信小程序.APP等方面,都可以直接调用基 ...
- vue,vuex的后台管理项目架子structure-admin,后端服务nodejs
之前写过一篇vue初始化项目,构建vuex的后台管理项目架子,这个structure-admin-web所拥有的功能 接下来,针对structure-admin-web的不足,进行了补充,开发了具有登 ...
- vue初始化项目,构建vuex的后台管理项目架子
构架vuex的后台管理项目源码:https://github.com/saucxs/structure-admin-web 一.node安装 可以参考这篇文章http://www.mwcxs.top/ ...
- Django学习笔记(2)——模型,后台管理和视图的学习
一:Web投票示例 本节我们首先从全局范围再复习一下Django的概念,让自己对Django的设计理念, 功能模块,体系架构,基本用法有初步的印象. Django初始的详细博客内容:请点击我 该应用包 ...
- Asp.NetMVC利用LigerUI搭建一个简单的后台管理详解(函登录验证)
上一篇 Asp.Net 中Grid详解两种方法使用LigerUI加载数据库数据填充数据分页 了解了LigerUI 中Grid的基本用法 现在结合上一篇的内容做一个简单的后台管理,当然也有前台的页面 ...
- 使用vuejs2.0和element-ui 搭建的一个后台管理界面
说明: 这是一个用vuejs2.0和element-ui搭建的后台管理界面. 相关技术: vuejs2.0:一套构建用户界面的渐进式JavaScript框架,易用.灵活.高效. element-ui: ...
- python 全栈开发,Day83(博客系统子评论,后台管理,富文本编辑器kindeditor,bs4模块)
一.子评论 必须点击回复,才是子评论!否则是根评论点击回复之后,定位到输入框,同时加入@评论者的用户名 定位输入框 focus focus:获取对象焦点触发事件 先做样式.点击回复之后,定位到输入框, ...
- JAVAEE——Solr:安装及配置、后台管理索引库、 使用SolrJ管理索引库、仿京东的电商搜索案例实现
1 学习回顾 1. Lucene 是Apache开源的全文检索的工具包 创建索引 查询索引 2. 遇到问题? 文件名 及文件内容 顺序扫描法 全文检索 3. 什么是全文检索? 这种先创建索引 再 ...
- day20 project+查看新闻列表 + 点赞 + 图片验证码 + 评论和多级评论 + 后台管理 + webSocket + kindEditor
Day20回顾: 1. 请求生命周期 2. 中间件 md = [ "file_path.classname" ] process_request[可有可无] process_res ...
随机推荐
- 手把手带你写一个minishell
先解释一下Shell : Shell是一个功能为命令行解释器的应用程序,连接了用户和Linux内核,让我们能高效和安全地使用Linux内核. 要写一个minishell,我们要先理解它的过程: 读取输 ...
- macbook下使用pycharm2019版本配置远程连接服务器
pycharm提供了很方便的与服务器同步代码,并执行的插件.我在配置windows版的pycharm时配置成功,在挪用到mac上则遇到了些许问题,终于是解决了,在此记录配置的过程 目的:pycharm ...
- SpringCloud之Hystrix集群及集群监控turbine
目的: Hystrix集群及监控turbine Feign.Hystrix整合之服务熔断服务降级彻底解耦 集群后超时设置 Hystrix集群及监控turbine 新建一个springboot工程mic ...
- [LOJ3086] [GXOI2019] 逼死强迫症
题目链接 LOJ:https://loj.ac/problem/3086 洛谷:https://www.luogu.org/problemnew/show/P5303 Solution 显然不考虑\( ...
- 自定义 Generate POJOs.groovy
一.Generate文件 import com.intellij.database.model.DasTable import com.intellij.database.model.ObjectKi ...
- DevExtreme学习笔记(一) DataGrid中数据筛选
config.filterRow = { visible: true, applyFilter: "auto" }; config.headerFilter = { visible ...
- leetcode 数组
寻找数组的中心索引 给定一个整数类型的数组 nums,请编写一个能够返回数组"中心索引"的方法. 我们是这样定义数组中心索引的:数组中心索引的左侧所有元素相加的和等于右侧所有元素相 ...
- 逆波兰表达式求值 java实现代码
根据逆波兰表示法,求表达式的值. 有效的运算符包括 +, -, *, / .每个运算对象可以是整数,也可以是另一个逆波兰表达式. 说明: 整数除法只保留整数部分. 给定逆波兰表达式总是有效的.换句话说 ...
- Ubuntu 18.04 LTS版本 谷歌拼音输入法安装
为何安装? 自带IBUS框架对中文支持不稳定 采用对中文支持稳定的fcitx框架 如何安装? 步骤如下: 卸载自带IBUS框架 命令:sudo remove ibus 安装fcitx框架 ...
- css设置全局变量和局部变量
在我们使用less或者sass时常常会使用到局部变量和全局变量,其实在我们使用css做开发时也可以定义全局变量和局部 变量来简化我们的开发效率,很简单也很实用:1.设置全局变量只需要在我们的根引用的c ...