--建表脚本: --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 USERSpctfree 10initrans 1maxtrans 255storage(initial 64next 8minextents 1maxextents unlimited); -- Add comments to the table comment on table SIGN_ACTIVITYis '签到活动'; -- Add comments to the columns comment on column SIGN_ACTIVITY.SIGN_ACTIVITY_IDis 'id'; comment on column SIGN_ACTIVITY.START_TIMEis '活动开始时间'; comment on column SIGN_ACTIVITY.END_TIMEis '活动结束时间'; comment on column SIGN_ACTIVITY.ACTIVITY_INTRODUCTIONis '互动介绍'; comment on column SIGN_ACTIVITY.REWARD_TYPEis '奖励类型(例如积分)'; comment on column SIGN_ACTIVITY.REWARD_DAYSis '奖励期(默认为开始与结束之间的天数)'; comment on column SIGN_ACTIVITY.REWARD_CONTENTis '奖励内容,例如1000积分'; comment on column SIGN_ACTIVITY.REWARD_NAMEis '奖励名称,例默认为到额外奖励'; comment on column SIGN_ACTIVITY.PLATFORMis '适用平台("PC","APP","WAP")'; comment on column SIGN_ACTIVITY.ISDISABLEis '是否禁用(''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].signRulereturn 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 {@Autowiredprivate SignActivityService signActivityService;@Autowiredprivate MemberSignService memberSignService;/*** @description 分页查询*/@RequestMapping(value = "/getPage")@ResponseBodypublic 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}")@ResponseBodypublic 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")@ResponseBodypublic 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")@ResponseBodypublic Integer checkPublishId(HttpServletRequest request,SignActivity signActivity){return signActivityService.queryCountIsdisable(signActivity);}/*** 调用soa-member接口查询出签到默认规则*/@RequestMapping("/getDeSignRule")@ResponseBodypublic 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")@ResponseBodypublic 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{@Overridepublic 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;}@Overridepublic SignActivity getsignActivityPageByPageId(SignActivity signActivity) {return (SignActivity) commonDao.queryForObject("SignActivity.getSignActivityPageByPageId",signActivity);}@Overridepublic void updateSignActivity(SignActivity signActivity) {commonDao.update("SignActivity.update", signActivity);}@Overridepublic void saveSignActivity(SignActivity signActivity) {if (signActivity == null) {try {throw new Exception("SignActivity is NULL");} catch (Exception e) {e.printStackTrace();}}commonDao.save("SignActivity.save", signActivity);}@Overridepublic 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.ISDISABLEfrom 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>