jquery之营销系统(补偿记录)
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+"'> <input type='inputText' id='memberIdOrOrderId"+rowData.id+"' value='请输入会员账号/订单号' /> " +
"<input type='button' onClick='bcSave("+rowData.id+")' value='补偿'/></label>" +
"<label id='bcSh"+rowData.id+"'><a href='javascript:void(0);' onclick='bcShow("+rowData.id+")'>补偿</a> </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()">查 询</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')">优惠券
<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>
<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之营销系统(补偿记录)的更多相关文章
- jquery之营销系统(会员促销)
var appPath = getAppPath(); var cnt = 0; var loadCnt = 0; $(function() { $("#opreateHtml") ...
- jquery之营销系统
// //////////////////////////优惠券开始//////////////////////////// // 给附加条件选择框添加事件 function inputFuJia() ...
- 升讯威微信营销系统开发实践:订阅号和服务号深入分析( 完整开源于 Github)
GitHub:https://github.com/iccb1013/Sheng.WeixinConstruction因为个人精力时间有限,不会再对现有代码进行更新维护,不过微信接口比较稳定,经测试至 ...
- .net core 和 WPF 开发升讯威在线客服与营销系统:背景和产品介绍
本系列文章详细介绍使用 .net core 和 WPF 开发 升讯威在线客服与营销系统 的过程.本产品已经成熟稳定并投入商用. 在线演示环境:https://kf-m.shengxunwei.com ...
- .net core 和 WPF 开发升讯威在线客服与营销系统:系统总体架构
本系列文章详细介绍使用 .net core 和 WPF 开发 升讯威在线客服与营销系统 的过程.本产品已经成熟稳定并投入商用. 在线演示环境:https://kf.shengxunwei.com 注意 ...
- MiniCRT 64位 linux 系统移植记录:64位gcc的几点注意
32位未修改源码与修改版的代码下载: git clone git@github.com:youzhonghui/MiniCRT.git MiniCRT 64位 linux 系统移植记录 MiniCRT ...
- 9月19号-9月21号丰宁坝上草原行 - 营销系统 - 京东内部论坛 - Powered by Discuz!
9月19号-9月21号丰宁坝上草原行 - 营销系统 - 京东内部论坛 - Powered by Discuz! 9月19号-9月21号丰宁坝上草原行 [复制链接]
- GitHub开源:升讯威微信营销系统(第三方微信平台)完整源代码
GitHub:https://github.com/iccb1013/Sheng.WeixinConstruction 升讯威微信营销系统开发实践系列升讯威微信营销系统开发实践:(1)功能设计与架构设 ...
- 升讯威微信营销系统开发实践:(4)源代码结构说明 与 安装部署说明( 完整开源于 Github)
GitHub:https://github.com/iccb1013/Sheng.WeixinConstruction因为个人精力时间有限,不会再对现有代码进行更新维护,不过微信接口比较稳定,经测试至 ...
随机推荐
- js获取当前事件键盘按钮
用户名:<input type="text" name="username" id="username"><br /> ...
- Java中实现线程的方法
Java中有几种方法可以实现一个线程?用什么关键字修饰同步方法?stop()和suspend()方法为何不推荐使用? 第一种:继承Thread类 new Thread(){}.start();这表示调 ...
- phpcms 2008和discuz X3.1实现同步登陆退出论坛(已实现)
网络上文章很多,按步骤配置好了之后phpcms可以同步登录dz,但是dz登录后状态却无法同步到phpcms,网络上找了很多资料都大同小异,头大.只能自己调试了,废话不多说了. 以下网络上抄 ...
- Div在BOdy中居中
<h1 style="position: absolute; width: 500px; height:200px; left:%; top:%; margin-left:-250px ...
- 一些不太常用的Linux命令
ACCTCOM 查看所有用户执行过的进程 acctcom | tail - 查看指定用户执行过的进程/命令 acctcom -u <username> | tail - 使用一个正则表达式 ...
- SQLite3简单入门及C++ API
转载请注明出处:http://www.cnblogs.com/StartoverX/p/4660487.html 项目用到SQLite3,简单记录一下. MySQL不同,SQLite3的数据库基于文件 ...
- Mysql权限控制 - 允许用户远程连接(转载)
Mysql为了安全性,在默认情况下用户只允许在本地登录,可是在有此情况下,还是需要使用用户进行远程连接,因此为了使其可以远程需要进行如下操作: 一.允许root用户在任何地方进行远程登录,并具有所有库 ...
- AudioServicesPlaySystemSound音频服务—备用
对于简单的.无混音音频,AVAudio ToolBox框架提供了一个简单的C语言风格的音频服务.你可以使用AudioservicesPlaySystemSound函数来播放简单的声音.要遵守以下几个规 ...
- 01 - 概述 VTK 6.0 迁移
摘要 对vtk版本4和5的管道机制重新架架构的主要目的是:迁移数据对象和算法对象中的管道执行逻辑到一个新集合的类中,我们称这个集合类叫executives.分离数据和执行模型的代码后,可以双双简化修改 ...
- QT文档如何使用
http://blog.csdn.net/chenlong12580/article/details/7389588