--建表脚本: --create sequence create sequence SIGN_ACTIVITY_SEQ; -- Create table create table SIGN_ACTIVITY ( SIGN_ACTIVITY_ID NUMBER not null, START_TIME VARCHAR2(20), END_TIME VARCHAR2(20), ACTIVITY_INTRODUCTION VARCHAR2(300), REWARD_TYPE VARCHAR2(20), REWARD_DAYS NUMBER(3), REWARD_CONTENT VARCHAR2(300), REWARD_NAME VARCHAR2(300) default '到额外奖励', IS_DELETE CHAR(1) default 'N', ADD_TIME VARCHAR2(20), ADD_USER_ID NUMBER(8), EDIT_TIME VARCHAR2(20), EDIT_USER_ID NUMBER(8), PLATFORM VARCHAR2(20), ISDISABLE VARCHAR2(20) default 'Y' ) tablespace USERS pctfree 10 initrans 1 maxtrans 255 storage ( initial 64 next 8 minextents 1 maxextents unlimited ); -- Add comments to the table comment on table SIGN_ACTIVITY is '签到活动'; -- Add comments to the columns comment on column SIGN_ACTIVITY.SIGN_ACTIVITY_ID is 'id'; comment on column SIGN_ACTIVITY.START_TIME is '活动开始时间'; comment on column SIGN_ACTIVITY.END_TIME is '活动结束时间'; comment on column SIGN_ACTIVITY.ACTIVITY_INTRODUCTION is '互动介绍'; comment on column SIGN_ACTIVITY.REWARD_TYPE is '奖励类型(例如积分)'; comment on column SIGN_ACTIVITY.REWARD_DAYS is '奖励期(默认为开始与结束之间的天数)'; comment on column SIGN_ACTIVITY.REWARD_CONTENT is '奖励内容,例如1000积分'; comment on column SIGN_ACTIVITY.REWARD_NAME is '奖励名称,例默认为到额外奖励'; comment on column SIGN_ACTIVITY.PLATFORM is '适用平台("PC","APP","WAP")'; comment on column SIGN_ACTIVITY.ISDISABLE is '是否禁用(''Y''禁用,''N''启用)';
//SignActivity.js
$(function(){ $("#opreateHtml").window("close"); $("#deliveryGrid").datagrid({ url:appPath+"/page/signActivityAct/getPage", height:"full", striped:true, remoteSort:false, pagination:true, rownumbers:true, singleSelect:false, queryParams:getQueryParam(), frozenColumns:[[{field:"ck",checkbox:true}, {field:"opt",title:"操作",width:100,align:"center", formatter:function(value,rowData,rowIndex){ var dataStr = JSON.stringify(rowData); var html = ""; if(rowData.isdisable=='N'&& rowData.isdisable!='Y'){ // html += "<img class='op-enable' src='"+ appPath+ "/js/lib/jquery-easyui/themes/icons/cancel.png' onClick='deletes("+ rowData.signActivityId+ ")' title='停用'/> "; html += "<img class='op-enable' src='"+ appPath+ "/js/lib/jquery-easyui/themes/icons/cancel.png' onClick='doOk("+ rowData.signActivityId+ "," + 2 + ")' title='禁用'/> "; }else if(rowData.isdisable!='N'){ html+="<img class='op-enable' src='"+appPath+"/js/lib/jquery-easyui/themes/icons/pencil.png' onClick='showWin("+dataStr+")' title='编辑'/> "; // html+="<img class='op-enable' src='"+appPath+"/js/lib/jquery-easyui/themes/icons/get-verify.png' onClick='isOpen("+rowData.signActivityId+")' title='启用'/> "; html+="<img class='op-enable' src='"+appPath+"/js/lib/jquery-easyui/themes/icons/get-verify.png' onClick='doOk("+rowData.signActivityId+"," + 1 + ")' title='启用'/> "; } html += "<img class='op-enable' src='"+ appPath+ "/js/lib/jquery-easyui/themes/icons/search.png' onClick='showWin("+ dataStr+ ","+1+")' title='查看'/> "; return html; } } ]], columns:[[ {field:'startTime',title:'开始时间',width:100,align:'left',sortable:true}, {field:'endTime',title:'结束时间',width:100,align:'left',sortable:true}, {field:'rewardDays',title:'奖励期',width:100,align:'center',sortable:true}, {field:'rewardName',title:'奖励产品',width:100,align:'center',sortable:true}, {field : 'isdisable', title : '启用情况', width : 120, align : 'center', sortable : true, formatter : function(value, rowData, rowIndex) { var strReturn = ""; if (rowData.isdisable == 'Y') { return ("<font color=red> "+strReturn +"停用</font>"); } else if (rowData.isdisable == 'N') { return ("<font color=green> "+strReturn +"启用</font>"); }else { return ("<font color=black> "+strReturn +"新增</font>"); } } }, {field:'editTime',title:'操作时间',width:120,align:'left',sortable:true} ]], toolbar:[ { id:'btnadd', text:'新增签到活动', iconCls:'icon-add', handler:function(){ showWin(null,null); } } ] }); $("#addstartTime").datetimebox({ onChange: function (n,o) { var bgAddTime = $('#addstartTime').datebox("getValue"); var edAddTime = $('#addendTime').datebox("getValue"); if(bgAddTime!=''&& bgAddTime!=null && edAddTime!=''&& edAddTime!=null){ if(bgAddTime>edAddTime){ $.messager.alert('提示', "开始时间不能大于结束时间", 'info'); return; } } // 获取两个日期天数差 var bgDates = new Date(bgAddTime); var edDates = new Date(edAddTime); var dayss = edDates.getTime() - bgDates.getTime(); var rewardDayss= (parseInt(dayss / (1000 * 60 * 60 * 24)))+1; $("#addrewardDays").val(rewardDayss); } }); //ji suan jie shu shi jian $("#addendTime").datetimebox({ onChange: function (n,o) { var bgAddTime = $('#addstartTime').datebox("getValue"); var edAddTime = $('#addendTime').datebox("getValue"); if(bgAddTime!=''&& bgAddTime!=null && edAddTime!=''&& edAddTime!=null){ if(bgAddTime>edAddTime){ $.messager.alert('提示', "开始时间不能大于结束时间", 'info'); return; } } // 获取两个日期天数差 var bgDates = new Date(bgAddTime); var edDates = new Date(edAddTime); var dayss = edDates.getTime() - bgDates.getTime(); var rewardDayss= (parseInt(dayss / (1000 * 60 * 60 * 24)))+1; $("#addrewardDays").val(rewardDayss); } }); }); function getQueryParam(){ var signActivity =new Object(); //封装查询条件 signActivity.startTime = $("#startTime").datebox("getValue"); signActivity.endTime = $("#endTime").datebox("getValue"); signActivity.isdisable = $('#isdisable').combobox("getValue"); return signActivity; } function doQuery(){ $("#deliveryGrid").datagrid('load',getQueryParam()); } function showWin(rowData,num){ if(rowData!=null){ $("#idHidden").val(""); $("#addrewardDays").val(""); $("#addplatform").val(""); $("#addactivityIntroduction").val(""); // $("#addrewardType").combobox("setValue", 'JF');//奖励类型 目前仅支持积分 $("#addsignActivityId").val(""); $("#addrewardName").val(""); $("#addrewardContent").val(""); $("#addstartTime").datebox("setValue",""); $("#addendTime").datebox("setValue",""); $("#isdisable").combobox("setValue", ''); //签到规则说明 var result=querySignRule(); $("#addruleIntroduction").val(result); var iconStr = "icon-add"; var title = "新增签到活动"; var urlList; var id =rowData.signActivityId; if (id != null) { iconStr = "icon-edit"; title = "编辑签到活动"; $.post( appPath+"/page/signActivityAct/getBean/"+id, {}, function(data){ $("#idHidden").val(data.signActivityId); $("#addrewardDays").val(data.rewardDays); $("#addplatform").combobox('setValue', data.platform); $("#addactivityIntroduction").val(data.activityIntroduction); $("#addrewardType").val(data.rewardType); $("#addsignActivityId").val(data.signActivityId); $("#addendTime").datebox("setValue", data.endTime); $("#addstartTime").datebox("setValue", data.startTime); $("#addrewardName").val(data.rewardName); $("#addrewardContent").val(data.rewardContent); $("#addisdisable").combobox('setValue', data.isdisable); },"json"); } }else{ var iconStr = "icon-add"; var title = "新增签到活动"; $("#idHidden").val(""); $("#addrewardDays").val(""); $("#addplatform").combobox("setValue", 'APP'); $("#addactivityIntroduction").val(""); $("#addrewardType").combobox("setValue", 'JF');//奖励类型 目前仅支持积分 $("#addsignActivityId").val(""); $("#addrewardName").val("签到额外奖励"); $("#addrewardContent").val(""); $("#addstartTime").datebox("setValue",""); $("#addendTime").datebox("setValue",""); $("#isdisable").combobox("setValue", ''); //签到规则说明 var result= querySignRule(); $("#addruleIntroduction").val(result); } $('#opreateHtml').window({ title:title, iconCls:iconStr, width : 750, height : 480, left : 200, modal : true, shadow : true, collapsible : false, minimizable : false, maximizable : false }); $('#opreateHtml').window('move',{top:0}); $('#opreateHtml').window('open'); if(num==1){ $("#shenheHideAndShow").hide(); }else{ $("#shenheHideAndShow").show(); } } function closeWin(id){ $('#opreateHtml').window('close'); } function save(){ var signActivity=new Object(); if ($("#idHidden").val() != null && $("#idHidden").val() != "") { signActivity.signActivityId = $("#idHidden").val(); } var bgAddTime = $('#addstartTime').datebox("getValue"); var edAddTime = $('#addendTime').datebox("getValue"); // 获取两个日期天数差 var bgDate = new Date(bgAddTime); var edDate = new Date(edAddTime); var days = edDate.getTime() - bgDate.getTime(); var rewardDays= (parseInt(days / (1000 * 60 * 60 * 24))) if($("#addstartTime").datebox("getValue")==""||$("#addstartTime").datebox("getValue")==null){ $.messager.alert("提示","开始时间不能为空","info"); return; } if ($("#addendTime").datebox("getValue") == null|| $("#addendTime").datebox("getValue") == "") { $.messager.alert('提示', "结束时间不能为空", 'info'); return; } if ($("#addstartTime").datebox("getValue") >= $("#addendTime").datebox("getValue")) { $.messager.alert('提示', "开始时间不能大于结束时间", 'info'); return; } if($("#addactivityIntroduction").val()==null || $("#addactivityIntroduction").val()==""){ $.messager.alert('提示', "请输入活动的内容介绍", 'info'); return; } if($("#addrewardName").val()==null ||$("#addrewardName").val()==""){ $.messager.alert('提示', "请输入奖励积分名称", 'info'); return; } if($("#addrewardContent").val()==null ||$("#addrewardContent").val()==""){ $.messager.alert('提示', "请输入奖励积分分值", 'info'); return; } signActivity.signActivityId = $("#idHidden").val(); signActivity.startTime = $("#addstartTime").datebox("getValue"); signActivity.endTime = $("#addendTime").datebox("getValue"); signActivity.platform=$("#addplatform").combobox("getValue"); signActivity.activityIntroduction=$("#addactivityIntroduction").val(); signActivity.rewardType=$("#addrewardType").combobox("getValue"); //默认是开始减去结束时间 signActivity.rewardDays=rewardDays+1; signActivity.rewardName=$("#addrewardName").val(); signActivity.rewardContent=$("#addrewardContent").val(); //默认签到规则 doAjax({ url:appPath+'/page/signActivityAct/saveOrUpdate', type:'post', data:signActivity, success : function(data) { if (data == "ok") { $.messager.alert('提示', "保存成功", 'info'); $('#opreateHtml').window('close'); doQuery(); } else { $.messager.alert('提示', data, 'info'); } } }); } function deletes(id) { var ids = ''; if (id == null || id == '') { var selections = $("#deliveryGrid").datagrid('getSelections'); if (selections == null || selections == '') { $.messager.alert('提示信息', '请选操作的记录', ''); return; } for (var i = 0; i < selections.length; i++) { ids += selections[i].signActivityId + ','; } } else { ids = id; } $.messager.confirm('提示信息', "您确定要停用吗?", function(r) { if (r) { $.post(appPath + "/page/signActivityAct/deleteIdsLogic", { "ids" : ids }, function(data) { $.messager.alert('提示信息', '停用成功', ''); doQuery(); }); } }); } //启用 function isOpen(id){ var isdisable='Y'; if(!checkIsisable(isdisable)){ $.messager.alert('提示','数据中已经存在启用状态的活动,不可再启用!'); return; } /** * 数据在启用的之前,应先查找数据库是否有已经启用的数据, * 保证后台数据只有一条是启用状态,否则弹框,并提示用户 */ var ids = ''; if (id == null || id == '') { var selections = $("#deliveryGrid").datagrid('getSelections'); if (selections == null || selections == '') { $.messager.alert('提示信息', '请选操作的记录', ''); return; } for (var i = 0; i < selections.length; i++) { ids += selections[i].signActivityId + ','; } } else { ids = id; } $.messager.confirm('提示信息', "您确定要启用吗?", function(r) { if (r) { $.post(appPath + "/page/signActivityAct/isOpen", { "ids" : ids }, function(data) { $.messager.alert('提示信息', '启用成功', ''); doQuery(); }); } }); } //检查活动编码是否唯一 function checkIsisable(isdisable){ var flag = false; doAjax({ url:appPath+'/page/signActivityAct/checkIsdisable', type:'post', async:false, data:{ isdisable:isdisable }, success:function(data){ if(data == 0){ flag = true; } } }); return flag; } /** * 通过soa-member 接口查询出默认签到规则 */ function querySignRule(){ var result=''; doAjax({ url:appPath+'/page/signActivityAct/getDeSignRule', type:'post', async:false, data:{}, success:function(data){ if(data!=null ){ result=data[0].signRule return result; } } }); return result; } /** * 启用,停用 * */ function doOk(id,val){ var msg = ""; msg = val ==1?"启用成功":"停用成功"; doAjax({ url: appPath + "/page/signActivityAct/onlineOrOffline", type: "post", dataType: "json", data: {id:id,isdisable:val} , success: function (data) { doQuery(); if(data=='1'){ $.messager.alert('提示','数据中已经存在启用状态的活动,不可再启用!'); }else{ $.messager.alert('提示信息', msg, 'info'); } }, error: function () { alert('ajax异常'); } }); }
//SigINActivity.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/signActivity/signActivity.js"></script> <table class="queryTable"> <tr> <td class="queryTitle" width="80px">开始时间</td> <td class="queryContent"><input class="inputText easyui-datetimebox" type="text" id="startTime"/></td> <td class="queryTitle" width="80px">结束时间</td> <td class="queryContent"><input class="inputText easyui-datetimebox" type="text" id="endTime"/></td> <td class="queryTitle" width="80px">启用状态</td> <td class="queryContent"> <select id="isdisable" class="easyui-combobox" style="width: 100px" panelHeight="auto"> <option value="">请选择</option> <option value="Y">禁用</option> <option value="N">启用</option> </select> </td> <td class="queryBtnTd" ><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:320px; height:550px;text-align:center; background: #fafafa;margin:0 auto;"> <div class="easyui-layout" fit="true"> <div region="center" border="false" style="background:#fff;border:1px solid #ccc;"> <form> <input type="hidden" id="idHidden" name="idHidden" value="" /> <table class="queryTable" width="100%"> <tr> <td class="queryTitle" width="100px">开始时间</td> <td class="queryContent" ><input class="inputText easyui-datetimebox" type="text" id="addstartTime" style="width:150px"/></td> </tr> <tr> <td class="queryTitle" width="100px">结束时间</td> <td class="queryContent" ><input class="inputText easyui-datetimebox" type="text" id="addendTime" style="width:150px"/></td> </tr> <tr> <td class="queryTitle" width="100px">适用端</td> <td class="queryContent" > <select id="addplatform" class="easyui-combobox" style="width: 100px" panelHeight="auto"> <option value="APP">APP</option> <option value="PC">PC</option> <option value="WAP">WAP</option> </select> </td> </tr> <tr> <td class="queryTitle" width="100px">内容介绍</td> <td class="queryContent" colspan="20"> <textarea id="addactivityIntroduction" name="addactivityIntroduction" class="inputText" validType="maxLength[1000]" style="width: 565px;height:70px;"></textarea> </td> </tr> <tr> <td class="queryTitle" width="100px">奖励类型</td> <td class="queryContent" > <select id="addrewardType" class="easyui-combobox" style="width: 100px" panelHeight="auto"> <option value="JF">积分</option> </select> </tr> <tr> <td class="queryTitle" width="100px">奖励期</td> <td class="queryContent" ><input class="inputText" type="text" id="addrewardDays" value="" readonly="readonly" /></td> </tr> <tr> <td class="queryTitle" width="100px">奖励积分名称</td> <td class="queryContent" ><input class="inputText" type="text" id="addrewardName" /></td> </tr> <tr> <td class="queryTitle" width="100px">奖励积分分值</td> <td class="queryContent" ><input class="inputText" type="text" id="addrewardContent" /></td> </tr> <tr> <td class="queryTitle"width="100px" >签到规则说明</td> <td class="queryContent" colspan="30" > <textarea id="addruleIntroduction" name="addruleIntroduction" class="inputText" validType="maxLength[1000]" readonly="true" style="width: 565px;height:70px;"></textarea> </td> </tr> </table> </form> </div> <div region="south" border="false" style="text-align:center;height:30px;line-height:30px;"> <label id="shenheHideAndShow"> <a class="easyui-linkbutton" iconCls="icon-ok" href="javascript:void(0);" onclick="save('1');">确定</a> </label> <a class="easyui-linkbutton" iconCls="icon-cancel" href="javascript:void(0);" onclick="closeWin();">退出</a> </div> </div> </div>
Action:
package com.founder.ec.cms.action; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import com.founder.ec.base.action.BaseClassAction; import com.founder.ec.cms.model.SignActivity; import com.founder.ec.cms.service.SignActivityService; import com.founder.ec.common.utils.DateUtils; import com.founder.ec.common.utils.StringUtil; import com.founder.ec.member.model.MemberShareActivity; import com.j1.base.dto.ServiceMessage; import com.j1.member.model.DeSignRule; import com.j1.member.model.MemberPointsSetting; import com.j1.soa.resource.member.api.MemberSignService; @Controller @RequestMapping(value = "/signActivityAct") public class SignActivityAction extends BaseClassAction { @Autowired private SignActivityService signActivityService; @Autowired private MemberSignService memberSignService; /** * @description 分页查询 */ @RequestMapping(value = "/getPage") @ResponseBody public Map<String, Object> getPage(HttpServletRequest request, SignActivity signActivity) { int pageSize = 10, pageNo = 1; pageNo = Integer.parseInt(request.getParameter("page")); pageSize = Integer.parseInt(request.getParameter("rows")); return signActivityService.getSignActivityPage(signActivity, pageNo, pageSize); } /** * @description 根据主键查询Bean */ @RequestMapping(value = "/getBean/{getId}") @ResponseBody public SignActivity getBean(HttpServletRequest request, HttpServletResponse response, @PathVariable Object getId) { SignActivity signActivity = new SignActivity(); signActivity.setSignActivityId(Long.parseLong(getId.toString())); return signActivityService.getsignActivityPageByPageId(signActivity); } /** * @description 保存或者更新 */ @RequestMapping(value = "/saveOrUpdate") @ResponseBody public String updateOrSave(HttpServletRequest request, HttpServletResponse response, SignActivity signActivity) { String userId = request.getSession().getAttribute("userId").toString(); signActivity.setAddTime(DateUtils.getCurrentDateString()); signActivity.setEditTime(DateUtils.getCurrentDateString()); if (signActivity.getSignActivityId() != null) { signActivity.setEditTime(StringUtil.returnDateFormat(new Date(), "yyyy-MM-dd HH:mm:ss")); signActivityService.updateSignActivity(signActivity); } else { signActivity.setEditTime(StringUtil.returnDateFormat(new Date(), "yyyy-MM-dd HH:mm:ss")); signActivityService.saveSignActivity(signActivity); return "ok"; } return "ok"; } /** * 删除 * * @description */ @RequestMapping(value = "/deleteIdsLogic") public void deleteIdsLogic(HttpServletRequest request, HttpServletResponse response) { String ids = null; if (request.getParameter("ids") != null) { ids = request.getParameter("ids").trim(); String[] idArr = ids.split(","); for (int i = 0; i < idArr.length; i++) { SignActivity bean = new SignActivity(); bean.setSignActivityId(Long.parseLong(idArr[i])); bean.setIsdisable("Y"); signActivityService.update(bean); } } } /** * 启用 */ @RequestMapping(value = "/isOpen") public void updateDiscountState(HttpServletRequest request, HttpServletResponse response) { String ids = null; if (request.getParameter("ids") != null) { ids = request.getParameter("ids").trim(); String[] idArr = ids.split(","); for (int i = 0; i < idArr.length; i++) { SignActivity bean = new SignActivity(); bean.setSignActivityId(Long.parseLong(idArr[i])); bean.setIsdisable("N"); signActivityService.update(bean); } } } /** * 检查数据库中是否存在已经开启的数据 * @param request * @param freeCoupon * @return */ @RequestMapping(value = "/checkIsdisable") @ResponseBody public Integer checkPublishId(HttpServletRequest request,SignActivity signActivity){ return signActivityService.queryCountIsdisable(signActivity); } /** * 调用soa-member接口查询出签到默认规则 */ @RequestMapping("/getDeSignRule") @ResponseBody public List<DeSignRule> getDeSignRule(HttpServletRequest request,DeSignRule deSignRule) { List<DeSignRule> deSignRuleList=new ArrayList<DeSignRule>(); //签到规则 ServiceMessage<String> signRule=memberSignService.getSignRule(); String sr = signRule.getResult(); deSignRule.setSignRule(sr); deSignRuleList.add(deSignRule); return deSignRuleList; } @RequestMapping(value="/onlineOrOffline") @ResponseBody public String onlineOrOffline(HttpServletRequest request,HttpServletResponse response){ String id = request.getParameter("id"); String status = request.getParameter("isdisable"); SignActivity signActivity=new SignActivity (); if("1".equals(status)){ int acCount=signActivityService.queryCountIsdisable(signActivity); if(acCount>0){ return "1"; }else{ signActivity.setSignActivityId(Long.parseLong(id)); signActivity.setIsdisable("N"); signActivityService.updateSignActivity(signActivity); } } if("2".equals(status)){ signActivity.setSignActivityId(Long.parseLong(id)); signActivity.setIsdisable("Y"); signActivityService.updateSignActivity(signActivity); } return "0"; } }
ServiceImpl:
package com.founder.ec.cms.service.impl; import java.util.HashMap; import java.util.List; import java.util.Map; import org.springframework.stereotype.Service; import com.founder.ec.cms.model.SignActivity; import com.founder.ec.cms.service.SignActivityService; import com.founder.ec.common.page.JspPage; import com.founder.ec.common.page.Page; import com.founder.ec.common.service.impl.BaseClassServiceImpl; @Service public class SignActivityServiceImpl extends BaseClassServiceImpl<SignActivity> implements SignActivityService{ @Override public Map<String, Object> getSignActivityPage(SignActivity signActivity, int pageNo, int pageSize) { signActivity.setStartRow((pageNo - 1) * pageSize + 1); signActivity.setEndRow(signActivity.getStartRow() + pageSize - 1); List<SignActivity> lmt = getSignActivityPage(signActivity); Integer count = getSignActivityCount(signActivity); // 实际起始位置 int skipResults = JspPage.getStartOfPage(pageNo, pageSize); Page page = new JspPage(skipResults, count, pageSize, lmt); Map<String, Object> resMap = new HashMap<String, Object>(); resMap.put("total", page.getTotalCount()); resMap.put("rows", page.getResult()); return resMap; } private Integer getSignActivityCount(SignActivity signActivity) { return (Integer) commonDao.queryForObject( "SignActivity.getSignActivityCount", signActivity); } private List<SignActivity> getSignActivityPage(SignActivity signActivity) { List<SignActivity> ttmList = commonDao.queryForList("SignActivity.getSignActivityPage",signActivity); return ttmList; } @Override public SignActivity getsignActivityPageByPageId(SignActivity signActivity) { return (SignActivity) commonDao.queryForObject( "SignActivity.getSignActivityPageByPageId", signActivity); } @Override public void updateSignActivity(SignActivity signActivity) { commonDao.update("SignActivity.update", signActivity); } @Override public void saveSignActivity(SignActivity signActivity) { if (signActivity == null) { try { throw new Exception("SignActivity is NULL"); } catch (Exception e) { e.printStackTrace(); } } commonDao.save("SignActivity.save", signActivity); } @Override public Integer queryCountIsdisable(SignActivity signActivity) { return (Integer) commonDao.queryForObject("SignActivity.queryCountIsdisable",signActivity); } }
Service:
package com.founder.ec.cms.service; import java.util.Map; import com.founder.ec.cms.model.SignActivity; import com.founder.ec.common.service.BaseClassService; public interface SignActivityService extends BaseClassService<SignActivity>{ Map<String, Object> getSignActivityPage(SignActivity signActivity, int pageNo, int pageSize); SignActivity getsignActivityPageByPageId(SignActivity signActivity); void updateSignActivity(SignActivity signActivity); void saveSignActivity(SignActivity signActivity); Integer queryCountIsdisable(SignActivity signActivity); }
sql:
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd" > <sqlMap namespace="SignActivity"> <typeAlias alias="SignActivity" type="com.founder.ec.cms.model.SignActivity"/> <resultMap id="SignActivityMap" class="SignActivity"> <result column="REWARD_DAYS" property="rewardDays" /> <result column="START_TIME" property="startTime" /> <result column="SIGN_ACTIVITY_ID" property="signActivityId" /> <result column="ISDISABLE" property="isdisable" /> <result column="PLATFORM" property="platform" /> <result column="ACTIVITY_INTRODUCTION" property="activityIntroduction" /> <result column="REWARD_TYPE" property="rewardType" /> <result column="END_TIME" property="endTime" /> <result column="REWARD_NAME" property="rewardName" /> <result column="REWARD_CONTENT" property="rewardContent" /> <result column="EDIT_TIME" property="editTime" /> </resultMap> <sql id="be_fy"> select * from (select row_.*, rownum rownum_ from ( </sql> <sql id="ed_fy"> ) row_ where 1=1 <isNotEmpty prepend="and" property="endRow"> <![CDATA[ rownum <= #endRow# ]]> </isNotEmpty> )where 1=1 <isNotEmpty prepend="and" property="startRow"> <![CDATA[ rownum_ >= #startRow# ]]> </isNotEmpty> </sql> <select id="getSignActivityPage" resultMap="SignActivityMap" parameterClass="SignActivity"> <include refid="be_fy"/> select sa.START_TIME, sa.SIGN_ACTIVITY_ID, sa.END_TIME, sa.ACTIVITY_INTRODUCTION, sa.REWARD_TYPE, sa.REWARD_DAYS, sa.REWARD_CONTENT, sa.REWARD_NAME, sa.PLATFORM, sa.EDIT_TIME, sa.ISDISABLE from sign_activity sa where sa.IS_DELETE='N' <isNotEmpty prepend="and" property="startTime"> <![CDATA[ START_TIME>=#startTime# ]]> </isNotEmpty> <isNotEmpty prepend="and" property="isdisable"> <![CDATA[ ISDISABLE=#isdisable# ]]> </isNotEmpty> <isNotEmpty prepend="and" property="endTime"> <![CDATA[ END_TIME<=#endTime# ]]> </isNotEmpty> order by sa.edit_time DESC <include refid="ed_fy"/> </select> <select id="getSignActivityCount" resultClass="Integer" parameterClass="SignActivity"> select count(1) from sign_activity sa where sa.IS_DELETE='N' <isNotEmpty prepend="and" property="startTime"> <![CDATA[ sa.START_TIME>=#startTime# ]]> </isNotEmpty> <isNotEmpty prepend="and" property="isdisable"> <![CDATA[ sa.ISDISABLE=#isdisable# ]]> </isNotEmpty> <isNotEmpty prepend="and" property="endTime"> <![CDATA[ sa.END_TIME <=#endTime# ]]> </isNotEmpty> </select> <insert id="save" parameterClass="SignActivity"> <selectKey resultClass="Long" keyProperty="signActivityId" > SELECT sign_activity_SEQ.nextval AS id from dual </selectKey> insert into sign_activity ( REWARD_DAYS, EDIT_TIME, ADD_USER_ID, IS_DELETE, ADD_TIME, START_TIME, SIGN_ACTIVITY_ID, ISDISABLE, EDIT_USER_ID, PLATFORM, ACTIVITY_INTRODUCTION, REWARD_TYPE, END_TIME, REWARD_NAME, REWARD_CONTENT ) values ( #rewardDays#, #editTime#, #addUserId#, 'N', #addTime#, #startTime#, #signActivityId#, #isdisable#, #editUserId#, #platform#, #activityIntroduction#, #rewardType#, #endTime#, #rewardName#, #rewardContent# ) </insert> <update id="update" parameterClass="SignActivity"> update sign_activity <dynamic prepend="set"> <isNotEmpty prepend="," property="rewardDays"> <![CDATA[ REWARD_DAYS=#rewardDays# ]]> </isNotEmpty> <isNotEmpty prepend="," property="editTime"> <![CDATA[ EDIT_TIME=#editTime# ]]> </isNotEmpty> <isNotEmpty prepend="," property="addUserId"> <![CDATA[ ADD_USER_ID=#addUserId# ]]> </isNotEmpty> <isNotEmpty prepend="," property="isDelete"> <![CDATA[ IS_DELETE=#isDelete# ]]> </isNotEmpty> <isNotEmpty prepend="," property="addTime"> <![CDATA[ ADD_TIME=#addTime# ]]> </isNotEmpty> <isNotEmpty prepend="," property="startTime"> <![CDATA[ START_TIME=#startTime# ]]> </isNotEmpty> <isNotEmpty prepend="," property="signActivityId"> <![CDATA[ SIGN_ACTIVITY_ID=#signActivityId# ]]> </isNotEmpty> <isNotEmpty prepend="," property="isdisable"> <![CDATA[ ISDISABLE=#isdisable# ]]> </isNotEmpty> <isNotEmpty prepend="," property="editUserId"> <![CDATA[ EDIT_USER_ID=#editUserId# ]]> </isNotEmpty> <isNotEmpty prepend="," property="platform"> <![CDATA[ PLATFORM=#platform# ]]> </isNotEmpty> <isNotEmpty prepend="," property="activityIntroduction"> <![CDATA[ ACTIVITY_INTRODUCTION=#activityIntroduction# ]]> </isNotEmpty> <isNotEmpty prepend="," property="rewardType"> <![CDATA[ REWARD_TYPE=#rewardType# ]]> </isNotEmpty> <isNotEmpty prepend="," property="endTime"> <![CDATA[ END_TIME=#endTime# ]]> </isNotEmpty> <isNotEmpty prepend="," property="rewardName"> <![CDATA[ REWARD_NAME=#rewardName# ]]> </isNotEmpty> <isNotEmpty prepend="," property="rewardContent"> <![CDATA[ REWARD_CONTENT=#rewardContent# ]]> </isNotEmpty> </dynamic> where SIGN_ACTIVITY_ID=#signActivityId# </update> <select id="getSignActivityPageByPageId" parameterClass="SignActivity" resultMap="SignActivityMap"> select * from sign_activity sa where sa.SIGN_ACTIVITY_ID=#signActivityId# </select> <!-- 查询数据是否存在已经开启的数据 --> <select id="queryCountIsdisable" resultClass= "Integer" parameterClass="SignActivity"> select count (1)from sign_activity sa where sa.ISDISABLE='N' </select> </sqlMap>