var appPath = getAppPath();
$(function(){
  $("#opreateHtml").window("close");
  $("#coupon").show();
  $("#integral").hide();
  $("#addcompensatingContentCoupon").combobox({
        url:appPath+"/page/compensationtypeAct/ecCouponTypeSelect",
        valueField:"id",
        textField:"text",
        panelHeight:"auto",
        editable:false
    });
  $("#compensatingContent").combobox({
        url:appPath+"/page/compensationtypeAct/ecCouponTypeSelect",
        valueField:"id",
        textField:"text",
        panelHeight:"auto",
        editable:false
    });
  $("#deliveryGrid").datagrid({
    url:appPath+"/page/compensationtypeAct/getPage",
    height:"full",
    striped:true,
    remoteSort:false,
    pagination:true,
    rownumbers:false,
    singleSelect:false,
    queryParams:getQueryParam(),
    columns:[[
              {field:"opt",title:"操作",width:60,align:"center",
                  formatter:function(value,rowData,rowIndex){
                    var html="<img class='op-enable' style='heigh:50px' src='"+appPath+"/js/lib/jquery-easyui/themes/icons/cancel.png' onClick='deletes("+rowData.id+")' title='删除'/>";
                    return html;
                  }
               },
              {field:'giveExcuse',title:'补偿理由',width:100,align:'center',sortable:true},
              {field:'compensatingForm',title:'补偿形式',width:100,align:'center',sortable:true,
                  formatter:function(value){
                      if(value=="coupon"){
                          return "优惠券";
                      }else if(value=="integral"){
                          return "积分";
                      }else{
                          return value;
                      }
                  }
              },
              {field:'compensatingContent',title:'补偿内容',width:100,align:'center',sortable:true},
              {field:'opts',title:'补偿操作',width:250,align:'center',sortable:true,
                  formatter:function(value,rowData,rowIndex){
                      return "<label id='bcSa"+rowData.id+"'>&nbsp;<input type='inputText'  id='memberIdOrOrderId"+rowData.id+"' value='请输入会员账号/订单号' />&nbsp;" +
                               "<input type='button'  onClick='bcSave("+rowData.id+")' value='补偿'/></label>" +
                               "<label id='bcSh"+rowData.id+"'><a href='javascript:void(0);' onclick='bcShow("+rowData.id+")'>补偿</a>&nbsp;</label>";
                  }
              }
   ]],
   onLoadSuccess: function(data) {
       for (var int = 0; int < data.total; int++) {
          $("#bcSa"+data.rows[int].id).hide();
       }
   },
   toolbar:[
      {
          id:'btnadd',
          text:'创建补偿类型',
          iconCls:'icon-add',
          handler:function(){
             showWin(null);
          }
      }
   ]
 });
});

function getQueryParam(){
  var compensationtype =new Object();
      compensationtype.compensatingContent=$("#compensatingContent").combobox("getValue");
      compensationtype.giveExcuse=$.trim($("#giveExcuse").val());
      compensationtype.compensatingForm=$("#compensatingForm").combobox("getValue");
  return compensationtype;
}

function doQuery(){
  $("#deliveryGrid").datagrid('load',getQueryParam());
}

function deletes(id){
    var ids = id+',';
    $.messager.confirm('提示',"确定要删除此数据吗?",function(r){
       if(r){
            $.post(
                   appPath+"/page/compensationtypeAct/deleteIdsLogic",
                   {"ids":ids},
                   function(data){
                     $.messager.alert('提示','删除成功','');
                      doQuery();
                   });
       }
    });
}

function showWin(){
  if(!checkUserButtonRight('compensationtype')){
        return ;
  }
  $("#idHidden").val("");
  $("#addcompensatingContentIntegral").val("");
  $("#addcompensatingContentCoupon").combobox("setValue","");
  $("#addgiveExcuse").val("");
  $("#addcompensatingForm").val("");
  var iconStr="icon-add";
  var title="添加补偿类型";
  $('#opreateHtml').window({
    title:title,
    iconCls:iconStr,
    width:350,
    height:220,
    left:200,
    modal: true,
    shadow: true,
    collapsible:false,
    minimizable:false,
    maximizable:false
  });
  $('#opreateHtml').window('move',{top:100});
  $('#opreateHtml').window('open');
}

function closeWin(id){
  $('#opreateHtml').window('close');
}

function save(){
  var compensationtype=new Object();
  compensationtype.id=$("#idHidden").val();
  if($("#addgiveExcuse").val()==null||$("#addgiveExcuse").val()==""){
      $.messager.alert('提示','请填写补偿理由','info');
      return;
  }
  compensationtype.giveExcuse=$("#addgiveExcuse").val();
  compensationtype.compensatingForm=$('input:radio[name="addcompensatingForm"]:checked').val();
  if($('input:radio[name="addcompensatingForm"]:checked').val()=="coupon"){
      if($("#addcompensatingContentCoupon").combobox("getValue")==null||$("#addcompensatingContentCoupon").combobox("getValue")==""){
          $.messager.alert('提示','请选择优惠券','info');
          return;
      }
      compensationtype.compensatingContent=$("#addcompensatingContentCoupon").combobox("getValue");
  }else if($('input:radio[name="addcompensatingForm"]:checked').val()=="integral"){
      if($("#addcompensatingContentIntegral").val()==null||$("#addcompensatingContentIntegral").val()==""){
          $.messager.alert('提示','请填写积分','info');
          return;
      }
      compensationtype.compensatingContent=$("#addcompensatingContentIntegral").val();
  }
  doAjax({
    url:appPath+'/page/compensationtypeAct/saveOrUpdate',
    type:'post',
    data:compensationtype,
    success:function(data){
      $.messager.alert('提示','保存成功','info');
      $('#opreateHtml').window('close');
      doQuery();
    }
  });
}

function addcompensatingFormShow(type){
    switch(type){
    case "coupon":
        $("#coupon").show();
        $("#integral").hide();
        break;
    case "integral":
        $("#integral").show();
        $("#coupon").hide();
        break;
    default:
         $("#coupon").show();
         $("#integral").hide();
        break;
    }
}

//补偿
function bcSave(id){
    //添加补偿
    var compensatingLog = new Object();
    compensatingLog.compensationtypeId =id;
    compensatingLog.memberId = $("#memberIdOrOrderId"+id).val();
    doAjax({
        url : appPath + '/page/compensatingLogAct/save',
        type : 'post',
        data : compensatingLog,
        success : function(data) {
            if(data=='ok'){
                $.messager.alert('提示信息', '添加成功', 'info');
                $("#bcSh"+id).show();
                $("#bcSa"+id).hide();
                $("#memberIdOrOrderId"+id).val("请输入会员账号/订单号");
            }else{
                $.messager.alert('提示信息', data, 'info');
            }
        }
    });
}

function bcShow(id){
    $("#memberIdOrOrderId"+id).val("请输入会员账号/订单号");
    $("#memberIdOrOrderId"+id).focus(function(){
          $("#memberIdOrOrderId"+id).val("");
    });
    $("#bcSh"+id).hide();
    $("#bcSa"+id).show();
}

//jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:set var="ctx" value="${pageContext.request.contextPath}" />
<jsp:include page="/jsp/common/header.jsp"></jsp:include>
<script src="${ctx }/js/promote/compensationtype.js"></script>
<table class="queryTable">
  <tr>
    <td class="queryTitle" width="80px">补偿理由</td>
    <td class="queryContent" ><input class="inputText" type="text" id="giveExcuse" /></td>
    <td class="queryTitle" width="80px">补偿形式</td>
    <td class="queryContent" >
       <select id="compensatingForm" class="easyui-combobox" style="width: 100px" panelHeight="auto">
            <option value>请选择</option>
            <option value="coupon">优惠券</option>
            <option value="integral">积分</option>
        </select>
     </td>
   </tr>
   <tr>
    <td class="queryTitle" width="80px">补偿类型</td>
    <td class="queryContent" ><input class="inputText" type="text" id="compensatingContent" /></td>
    <td class="queryBtnTd" colspan="2"><a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-search"  onclick="doQuery()">查&nbsp;&nbsp;询</a></td>
  </tr>
</table>

<table id="deliveryGrid"></table>

<div id="opreateHtml" class="easyui-window" title="" iconCls="icon-edit" style="width:300px; height:220px;text-align:center; background: #fafafa;">
  <div class="easyui-layout" fit="true">
    <div region="center" border="false" style="background:#fff;border:0px solid #ccc;">
       <form>
           <input type="hidden" id="idHidden" name="idHidden" value="" />
           <table class="queryTable" style="width: 300px;margin: auto;margin-top: 10px">
             <tr>
               <td class="queryTitle" width="80px">补偿理由</td>
               <td class="queryContent" ><input class="inputText" type="text" id="addgiveExcuse" /></td>
            </tr>
            <tr>
               <td class="queryTitle" width="80px">补偿形式</td>
               <td class="queryContent" >
                   <input type="radio" id="form1" name="addcompensatingForm"  value="coupon" checked="checked" onclick="addcompensatingFormShow('coupon')">优惠券&nbsp;&nbsp;
                   <input type="radio" id="form2" name="addcompensatingForm"  value="integral" onclick="addcompensatingFormShow('integral')">积分
               </td>
            </tr>
            <tr id="coupon">
               <td class="queryTitle" width="80px">选择优惠券</td>
               <td class="queryContent" ><input class="inputText" type="text" id="addcompensatingContentCoupon" /></td>
            </tr>
            <tr id="integral">
               <td class="queryTitle" width="100px">请输入补偿积分</td>
               <td class="queryContent" ><input class="easyui-numberbox" precision="0" type="text"  id="addcompensatingContentIntegral" /></td>
            </tr>
           </table>
       </form>
    </div>
  <div region="south" border="false" style="text-align:center;height:30px;line-height:30px;">
     <a class="easyui-linkbutton" iconCls="icon-ok" href="javascript:void(0);" onclick="save();">保存</a>&nbsp;&nbsp;
     <a class="easyui-linkbutton" iconCls="icon-cancel" href="javascript:void(0);" onclick="closeWin();">关闭</a>
  </div>
</div>
</div>
//java

/**
   *@description 保存或者更新
   */
   @RequestMapping(value="/save")
   @ResponseBody
   public String updateOrSave(HttpServletRequest request,HttpServletResponse response,CompensatingLog compensatingLog)
   {
        Long memberId=0l;
        //会员是否存在(由于输入的可能是会员账号(登录名)或是订单ID)
        String loginName=compensatingLog.getMemberId();
        Member mm=memberCommonService.getMemberByLoginname(loginName);
        OrderInfo o=new OrderInfo();
        try {
            if(mm==null){
                o.setOrderId(new Long(loginName));
                OrderInfo order=compensatingLogService.getOrderObj(o);
                if(order==null){
                    return "不存在此会员或是此订单";
                }else{
                    memberId=order.getMemberId();
                }
            }else{
                memberId=mm.getMemberId();
            }
        } catch (NumberFormatException e) {
            return "不存在此会员或是此订单";
        }
        Compensationtype type=new Compensationtype();
        type.setId(new Long(compensatingLog.getCompensationtypeId()));
        Compensationtype compensationtype=compensationtypeService.getCompensationtype(type);
        //根据补偿ID查询(积分,优惠券)优惠券类型的所有发放批次取都大于三十天中的有限期最短的可用优惠券进行发放
        if(compensationtype.getCompensatingForm().equals("coupon")){
            //发放优惠券调用发放优惠券的接口
            EcCouponPublish ecCouponPublish=new EcCouponPublish();
            ecCouponPublish.setCouponTypeId(new Integer(compensationtype.getCompensatingContent()));
            List<EcCouponPublish> couponList=ecCouponPublishService.getUnUsedEcCouponPublishTime(ecCouponPublish);
            int publishId=0;
            if(couponList.size()>0){
                 publishId=couponList.get(0).getPublishId();
            }else{
                 return "此类型优惠券没有批次大于30天的可用优惠券";
            }

            CouponsAssignParam  param = new CouponsAssignParam();
            /*会员id*/
            param.setMemberId(memberId);
            /*批次号*/
            param.setPublishId(publishId);
            /*领取数量*/
            param.setAssignCouponsCount(1);
            /*调用服务  saveCouponsByMemberToPublishId*/
            ServiceMessage<List<EcCoupons>> msg = ecCouponsService.saveCouponsByMemberToPublishId(param);
            if(!msg.getStatus().equals(MsgStatus.NORMAL)){
                logger.error("优惠券SOA服务异常");
                return msg.getMessage();
           }
        }else if(compensationtype.getCompensatingForm().equals("integral")){
            //积分调用积分的接口
            MemberPointsHis mem=new MemberPointsHis();
            mem.setMemberId(memberId);
            mem.setPoints(new Integer(compensationtype.getCompensatingContent()));
            MemberPointsSetting set=new MemberPointsSetting();
            set.setPointsType("manual_points"); //member_points_setting表中的人工添加
            ServiceMessage<MemberPointsHis> msgRes=memberPointHisService.changePointsNoRankId(mem, set); //添加积分
            if(!msgRes.getStatus().equals(MsgStatus.NORMAL)){
                logger.error("积分SOA服务异常");
                return "补偿积分添加失败";
           }
        }
        String userId=request.getSession().getAttribute("userId").toString();
        super.bindingProperty(compensatingLog, userId);
        compensatingLog.setMemberId(memberId.toString());
        compensatingLogService.save(compensatingLog);
        return "ok";
   }
}

jquery之营销系统(补偿记录)的更多相关文章

  1. jquery之营销系统(会员促销)

    var appPath = getAppPath(); var cnt = 0; var loadCnt = 0; $(function() { $("#opreateHtml") ...

  2. jquery之营销系统

    // //////////////////////////优惠券开始//////////////////////////// // 给附加条件选择框添加事件 function inputFuJia() ...

  3. 升讯威微信营销系统开发实践:订阅号和服务号深入分析( 完整开源于 Github)

    GitHub:https://github.com/iccb1013/Sheng.WeixinConstruction因为个人精力时间有限,不会再对现有代码进行更新维护,不过微信接口比较稳定,经测试至 ...

  4. .net core 和 WPF 开发升讯威在线客服与营销系统:背景和产品介绍

    本系列文章详细介绍使用 .net core 和 WPF 开发 升讯威在线客服与营销系统 的过程.本产品已经成熟稳定并投入商用. 在线演示环境:https://kf-m.shengxunwei.com ...

  5. .net core 和 WPF 开发升讯威在线客服与营销系统:系统总体架构

    本系列文章详细介绍使用 .net core 和 WPF 开发 升讯威在线客服与营销系统 的过程.本产品已经成熟稳定并投入商用. 在线演示环境:https://kf.shengxunwei.com 注意 ...

  6. MiniCRT 64位 linux 系统移植记录:64位gcc的几点注意

    32位未修改源码与修改版的代码下载: git clone git@github.com:youzhonghui/MiniCRT.git MiniCRT 64位 linux 系统移植记录 MiniCRT ...

  7. 9月19号-9月21号丰宁坝上草原行 - 营销系统 - 京东内部论坛 - Powered by Discuz!

    9月19号-9月21号丰宁坝上草原行 - 营销系统 - 京东内部论坛 - Powered by Discuz! 9月19号-9月21号丰宁坝上草原行   [复制链接]

  8. GitHub开源:升讯威微信营销系统(第三方微信平台)完整源代码

    GitHub:https://github.com/iccb1013/Sheng.WeixinConstruction 升讯威微信营销系统开发实践系列升讯威微信营销系统开发实践:(1)功能设计与架构设 ...

  9. 升讯威微信营销系统开发实践:(4)源代码结构说明 与 安装部署说明( 完整开源于 Github)

    GitHub:https://github.com/iccb1013/Sheng.WeixinConstruction因为个人精力时间有限,不会再对现有代码进行更新维护,不过微信接口比较稳定,经测试至 ...

随机推荐

  1. Windows计划任务 未能启动

    近期在windows server 2003上运行的备份脚本,在7月23日之后,没再运行,在计划任务里看到的状态是:未能启动.结果手动运行了一下备份脚本,没有问题,可以正常运行,但是在计划任务里为什么 ...

  2. Linux ulimit 系统资源控制

    ulimit 的功能和用法 ulimit 功能简述 假设有这样一种情况,当一台 Linux 主机上同时登陆了 10 个人,在系统资源无限制的情况下,这 10 个用户同时打开了 500 个文档,而假设每 ...

  3. JavaScript 客户端JavaScript之cookie和客户端持久性

    Document对象都有一个cookie属性,它使得JavaScript代码能够在用户的硬盘上持久地存储数据, 并且能够获取以这种方式存储的数据.客户端持久性是赋予WEB应用程序记忆力的一种简单方法. ...

  4. web项目环境搭建(3):搭建Spring+MyBatis

    spring 4.1.7 + MyBatis 3.3 正式开始配置关键内容,这是硬货 一. 新建spring配置文件,起名为 applicationContext.xml,放在src/main/res ...

  5. Android触摸事件的分发机制

    ---恢复内容开始--- 一.MotionEvent : ACTION_DOWN(下按事件).ACTION_UP(松开事件).ACTION_MOVE(移动事件) 二.三大函数 1.dispatchTo ...

  6. Facebook和Google如何激发工程师的创造力

    http://taiwen.lofter.com/post/664ff_ad8a15 今天终于“朝圣”了两个伟大的公司——Facebook和Google,对创造力和驱动力的来源有了更多的理解,尤其是对 ...

  7. d3可视化实战04:事件绑定机制

    首先说明,d3支持所有的JS事件——甚至其他代码的自定义事件.这里有一个列表,The MDN Event Reference, 包含了几乎所有浏览器创建的事件类型.大家有需要可以去查看. D3的事件绑 ...

  8. Ftp协议Socket实现

    原来用WebRequest来传输文件,被人鄙视了.就弄个Socket版的,支持Active,Passive模式. 带事件日志,有时间的人可以拿去做C#版的flashfxp. public class ...

  9. new Date参数问题

    new Date支持的参数: MDN:   new Date();   new Date(value);   new Date(dateString);   new Date(year, month, ...

  10. 监视系统3389的VBS脚本

    Title: 监视系统3389的VBS脚本 --2010-10-27 19:56 从网上找的,不知道是不是NP写的那个 ---------------------------------------- ...