子商城管理之签到活动

--建表脚本:
--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='停用'/>&nbsp;&nbsp;";html += "<img class='op-enable' src='"+ appPath+ "/js/lib/jquery-easyui/themes/icons/cancel.png' onClick='doOk("+ rowData.signActivityId+ "," + 2 + ")' title='禁用'/>&nbsp;&nbsp;";}else if(rowData.isdisable!='N'){html+="<img class='op-enable' src='"+appPath+"/js/lib/jquery-easyui/themes/icons/pencil.png' onClick='showWin("+dataStr+")' title='编辑'/>&nbsp;&nbsp;"; // html+="<img class='op-enable' src='"+appPath+"/js/lib/jquery-easyui/themes/icons/get-verify.png' onClick='isOpen("+rowData.signActivityId+")' title='启用'/>&nbsp;&nbsp;";html+="<img class='op-enable' src='"+appPath+"/js/lib/jquery-easyui/themes/icons/get-verify.png' onClick='doOk("+rowData.signActivityId+"," + 1 + ")' title='启用'/>&nbsp;&nbsp;";}html += "<img class='op-enable' src='"+ appPath+ "/js/lib/jquery-easyui/themes/icons/search.png' onClick='showWin("+ dataStr+ ","+1+")' title='查看'/>&nbsp;&nbsp;";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()">&nbsp;&nbsp;</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>&nbsp;&nbsp;</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>

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/292783.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VS2017/2019 F12无法导航到定义

今天对项目里某个对象点F12转到定义&#xff0c;无法跳转,研究了一会儿&#xff0c;找到如下解决方案:首先确认该函数是否能够正确被跳转到..就是是否真实定义了&#xff0c;然后确保要跳转的定义源码在项目文件下&#xff08;而不是直接引用的DLL&#xff09;接下来关闭VS2017…

oracle 主键删除,联合主键的创建

1&#xff0c;主键的删除 ALTER TABLE TABLENAME DROP PRIMARY_KEY运行上面的SQL能够删除主键&#xff1b;假设不成功能够用ALTER TABLE TABLENAME DROP CONSTRAINTS COLUMN CASCADE; --删除约束ALTER TABLE TABLENAME DISABLE PRIMARY_COLUMN ; --设置被设置为主键的列为无效D…

unable to launch什么意思_都表示太...以至于,so … that…?与too… to …有着明显区别...

【2019年12月8日 百天英语-Day135】【华东师范大学-林森撰写】昨日内容复习提要&#xff1a;昨天学习了主要学习了 ①be able to …与can的区别。②如何通过不认识的单词&#xff0c;猜到作者表达的含义。昨天文章如下&#xff1a;表示有能力做某事&#xff0c;be able to …与…

数据结构-Hash总结(一):理论学习篇

转载请注明出处http://blog.csdn.net/yankai0219/article/details/8185796零、学习方法简要学习理论篇&#xff0c;进入程序学习篇&#xff0c;再回头学习理论篇和实践篇一、基本概念1.Hash定义Hash定义&#xff1a;将任意长度的输入&#xff0c;通过散列算法&#xff0c;变成固…

Prism For WPF Login对话框又简单又合理的方案之一

一、前言 这是一篇极简的小短文。首先感谢站长和各位WPF大佬对我的指导&#xff0c;我学到了很多&#xff0c;还是关于利用Prism做Login对话框的事情&#xff0c;看到站长发过一篇《WPF Prism框架Region失效了&#xff1f;》&#xff0c;目前我有一个自认为更合适的解决方法&am…

html5 的支持

html5.js让IE&#xff08;包括IE6&#xff09;支持HTML5元素方法 微软的最新浏览器IE8及以下IE版本对HTML5标签的支持是有限的&#xff0c;我们可以通过在网页中添加脚本的方式来解决目前IE浏览器对HTML5支持的问题。 让IE&#xff08;包括IE6&#xff09;支持HTML5元素&#x…

求指教、。。。关于调用so文件

问题描述今天同事给我发来一个文件&#xff0c;说让我通过android调用里面的函数文件是&#xff1a;里面的内容是&#xff1a;call_so.cpp文件的内容&#xff1a;#pragma pack(1) //非常重要的申明&#xff0c;内存对齐的方法&#xff0c;影响sizeof()的结果#include <stdio…

数据结构-Hash总结(三):实践基础篇

转载请注明出处 http://blog.csdn.net/yankai0219/article/details/8185847问题&#xff1a;1. hash算法主表实现为什么不直接用数组,而使用malloc动态申请?2. 另外每个桶的使用 线性队列 和 双向队列 以及 二级hash的区别以及好处是什么?答案:1.1&#xff09;hash表大小如果…

人类历史上最伟大的物理学家

全世界只有3.14 % 的人关注了爆炸吧知识一沙见世界 一花窥天堂手心握无限 须臾纳永恒杨振宁曾说读上面的四句诗可以感受到物理的美但物理的美不止于此物理还有一种庄严美一种神秘美一种初窥宇宙奥秘的畏惧美物理就是如此的迷人任何语言在它的面前都很贫瘠数学让人摆脱了愚昧而…

DevToys - 开发人员的瑞士军刀

DevToys 是一个适用于开发人员的工具箱, 基于 UWP 开发, DevToys 旨在拥抱 Windows 生态系统, 免费并且开源, 拥有现代化的界面, 支持中文, 有深色/浅色主题可选, 并且它是离线化的, 所以你完全可以在无网络环境中使用。你可以使用它处理与开发相关的一些任务, 它提供 了14…

python写小猪佩奇_python之小猪佩奇

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 小猪佩奇 &#xff08;源码有点长&#xff09;# coding:utf-8 import turtle as t t.pensize(4) t.hideturtle() t.colormode(255) t.color((255,155,192),"pink") t.setup(840,500) t.speed(10) #鼻子 t.pu() t.goto(-…

PYHON中的切片

Python中的切片容易混淆&#xff0c;这里总结一下自己的看法 切片的语法 1 a [1,2,3,4] 2 x a[1:2] #实际上执行的是 a.__getitem__(slice(1,2,None)) 1 slice([start], stop[, step] 2 3 step的符号表示一种方向的含义 4 &#xff1a;从左向…

求字符串的不重复字符的最长子串长度的问题

题目: 已知一个字符串,只含有小写字母,求这个字符串的每个字符都不相同的最长子串的长度。 比如: abcd 结果是4 abcab 结果是3 思路: 用一个26个元素的整形数组表示一个字符串中是否含有某个字符。a~b分别映射到数组元素0~25。 用两个指针分别指向字符串的第一个和第…

ionic 中文 API CSS and javascript link

ionic 中文 API CSS ionic 中文 API javascript 转载于:https://www.cnblogs.com/xieyier/p/4036152.html

phpmyadmin的安装部署

系统环境&#xff1a;centos7php版本&#xff1a;5.3.27phpmyadmin版本&#xff1a;4.2.7.1IP:192.168.1.205数据库&#xff1a;mysql5.5.32本次部署使用nginx下载phpmyadmin&#xff1a;wget https://files.phpmyadmin.net/phpMyAdmin/4.2.7.1/phpMyAdmin-4.2.7.1-all-languag…

你和985硕博研究生,差了这些东西

全世界只有3.14 % 的人关注了爆炸吧知识明明都是在搞科研为什么别人的思路比你开阔&#xff1f;明明都是在写文章为什么别人的方向比你更新颖&#xff1f;今天小编就来推荐几个能拓展视野的公号快点收藏起来吧&#xff01;募格课堂ID&#xff1a;mugeketang推荐理由&#xff1a…

产品运行所需的信息检索失败_禁煤后用什么替代锅炉?看看三种热源运行费用对比就知道了...

山西是我国的煤炭大省&#xff0c;煤炭资源丰富&#xff0c;自然而然也是燃煤大省。在打赢蓝天保卫战的目标任务下&#xff0c;拆除燃煤锅炉&#xff0c;改用清洁能源产品是大势所趋。这样的市场背景下&#xff0c;显然可见的是&#xff0c;山西地区将会迎来一大波的燃煤锅炉改…

图像处理技术(三)白平衡

在现实生活中&#xff0c;同学们经常会出旅游、去景点打卡&#xff0c;拍照&#xff0c;发个朋友圈&#xff0c;如果遇到阴雨天、雾霾天或者沙尘天气&#xff0c;那拍照的效果&#xff0c;可是让人头疼。好不容易去北京故宫玩一次&#xff0c;这不&#xff0c;遇到这种天气&…

Android之使用AIDL时的跨进程回调—Server回调Client

首先建立在server端建立两个aidl文件 ITaskCallback.aidl 用于存放要回调client端的方法 package com.cmcc.demo.server; interface ITaskCallback { void actionPerformed(int actionId); } ITaskBinder.aidl 用于存放供给client端调用的方法package com.cmcc.demo.se…