自用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 ...
随机推荐
- css之多行居中
需求: 单行到多行文字居中. <div> <p>应该为数组中的每个子代分配一个唯一的键.表格dataSource和中的值columns应遵循此规则.默认情况下</p> ...
- 玩转Spring全家桶笔记 02 那些好用的连接池HikariCP
1.前言 简单了解一下来自日本的一个新起之秀连接池---HikariCP github:https://github.com/brettwooldridge/HikariCP 2.HikariCP为什 ...
- Spring Cloud Alibaba学习笔记(16) - Spring Cloud Gateway 内置的路由谓词工厂
Spring Cloud Gateway路由配置的两种形式 Spring Cloud Gateway的路由配置有两种形式,分别是路由到指定的URL以及路由到指定的微服务,在上文博客的示例中我们就已经使 ...
- PHP写入文件
file_put_contents('log.txt',PHP_EOL.'zhangsan'.$time.'查看了数据', FILE_APPEND);
- iOS - Xcode中从动态库剥离不需要的架构
自从iOS 8发布以来,开发人员已经能够利用动态库对iOS开发的好处.对于一般开发,为所有需要的架构设置一个单一的动态库是非常好的,所以您可以在所有设备和iOS模拟器上运行,而无需更改任何东西.然而, ...
- Arm存储器
Arm可以引出27根地址线,只能实现128MB的寻址,那么要如何实现1GB的寻址呢?答案就是使用nGCS片选线,nGCSx为低电平为选中相应的外接设备.一共八根片选线,也就是bank1,bank2-以 ...
- 如何方便引用自己的python包
有时候想要把一些功能封装成函数然后包装到模块里面最后形成一个包,然后在notebook里面去引用它去处理自己的数据和分析一些有用的部分,比如自己在 之前用到的一个datascience模板就是这样组织 ...
- [LeetCode] 64. 最小路径和 ☆☆☆(动态规划)
描述 给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小. 说明:每次只能向下或者向右移动一步. 示例: 输入:[ [1,3,1], [1,5,1 ...
- 2.kafka 分布式集群安装
Kafka集群安装主节点h201,从节点h202.h2031.安装jdk1.8[hadoop@h201 ~]$ /usr/jdk1.8.0_144/bin/java -version 2.安装zook ...
- OSS阿里云相关文档
OSS阿里云相关文档 oss文档链接