activity_manager_server

目录结构

 

mapp.xml

<?xml version="1.0" encoding="UTF-8" ?>
<maxml version="2.0" xmlns="http://www.nj.fiberhome.com.cn/map"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.nj.fiberhome.com.cn/map maxml-2.0.xsd">
  <config>
    <htmlformat wellformat="true" />
    <filepreviewconfig wordtohtml="true"/>
    <session type="stateless"/>
    <database id="activity_mysql" user="root" password="123456" dbname="web" dbtype="mysql" ip="127.0.0.1" port="3306"/>
  </config>
  <services>
  	<http-service>
  		<forward pattern="/queryact" path="activity_list.jsp"></forward>
  		<forward pattern="/getimg" path="getimg.jsp"></forward>
  	</http-service>
  </services>
</maxml>

checklogin.jsp

<%-- ExMobi JSP文件,注释和取消快捷键统一为Ctrl+/ 多行注释为Ctrl+Shift+/ --%>
<%@ page language="java" import="java.util.*,org.json.*"
 contentType="application/uixml+xml; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ include file="/client/adapt.jsp"%>
<%@ include file="/client/adapt_extend.jsp"%>
<% 
	String login_id = aa.req.getParameter("login_id");
	String login_pwd = aa.req.getParameter("login_pwd");
	JSONObject oj = new JSONObject();
	if(login_id.equals("") || login_pwd.equals("")){
		oj.put("result", "fail");
		oj.put("msg", "用户名或密码缺失");
	}
	String sql = "select * from tbl_user_info where login_id = ? and login_pwd = ?";
	TableRow row  = aa.db.queryRow("activity_mysql", sql, new Object[]{login_id,login_pwd});
	if(null != row){
		oj.put("result", "success");
		JSONObject user_info = new JSONObject();
		user_info.putOpt("user_uuid", row.getField("user_uuid", ""));
		user_info.putOpt("user_name", row.getField("user_name", ""));
		user_info.putOpt("sex", row.getField("sex", 1));
		user_info.putOpt("tel_no", row.getField("tel_no", ""));
		user_info.putOpt("login_id", row.getField("login_id", ""));
		user_info.putOpt("login_pwd", row.getField("login_pwd", ""));
		user_info.putOpt("identify_id", row.getField("identify_id", ""));
		user_info.putOpt("remark", row.getField("remark", ""));
		oj.put("user_info", user_info);
	}else{
		oj.put("result", "fail");
		oj.put("msg", "用户名或密码错误");
	}
	out.print(oj.toString());
%>

 

checkrepeatloginid.jsp

<%-- ExMobi JSP文件,注释和取消快捷键统一为Ctrl+/ 多行注释为Ctrl+Shift+/ --%>
<%@ page language="java" import="java.util.*"
 contentType="text/plain; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ include file="/client/adapt.jsp"%>
<%@ include file="/client/adapt_extend.jsp"%>
<% 
	String login_id = aa.req.getParameter("login_id");
	String sql = "select * from tbl_user_info where login_id = ?";
	TableRow row = aa.db.queryRow("activity_mysql", sql, new Object[]{login_id});
	if(null != row){
		out.print("{\"repeat\":\"1\"}");
	}else{
		out.print("{\"repeat\":\"0\"}");
	}
%>

 

activity_list.jsp

<%@ page language="java" import="java.util.*,java.text.SimpleDateFormat"
 contentType="text/plain; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ include file="/client/adapt.jsp"%>
<%@ include file="/client/adapt_extend.jsp"%>
<% 
	String actTitle = aa.req.getParameter("actTitile");
	String actStatusParam = aa.req.getParameter("actStatus");
	String querySql = "select a.*,(select count(*) FROM tbl_activity_user b WHERE b.activity_uuid=a.activity_uuid) as join_count from tbl_activity_info a where 1=1 ";
	List<Object> params = new ArrayList<Object>();
	if(!actTitle.equals("")){
		querySql += "and a.activity_title like ?";
		params.add(actTitle);
	}
	SimpleDateFormat formatTime = new SimpleDateFormat("yyyy-MM-dd HH:mm");
	long currentMillis = System.currentTimeMillis();
	java.util.Date currentDate =  new java.util.Date(currentMillis);
	Timestamp currentTime = new Timestamp(currentMillis);
	if(!actStatusParam.equals("")){
		int status = new Integer(actStatusParam);
		switch(status){
			case 1://报名中
				querySql += " and a.deadline_time > ?";
				params.add(currentTime);
				break;
			case 2://报名截止
				querySql += " and a.deadline_time <= ? and a.begin_time > ?";
				params.add(currentTime);
				params.add(currentTime);
				break;
			case 3://进行中
				querySql += " and a.begin_time <= ? and a.end_time > ?";
				params.add(currentTime);
				params.add(currentTime);
				break;
			default://已结束
				querySql += " and a.end_time <= ?";
				params.add(currentTime);
				params.add(currentTime);
				break;
		}
	}
	Object[] paramsObject = null;
	if(params.size() > 0){
		paramsObject = params.toArray();
	}
	List<TableRow> actRows = aa.db.query("activity_mysql", querySql, paramsObject);
	JSONObject outJson = new JSONObject();
	JSONArray acts = new JSONArray();
	for(TableRow row:actRows){
		JSONObject activity = new JSONObject();
		activity.put("activity_uuid", row.getField("activity_uuid", ""));
		activity.put("activity_title", row.getField("activity_title", ""));
		activity.put("activity_content", row.getField("activity_content", ""));
		
		Timestamp beginTimestamp = (Timestamp)row.getField("begin_time");
		long beginTime = beginTimestamp.getTime();
		java.util.Date beginDate = new java.util.Date(beginTime);
		String beginStr = formatTime.format(beginDate);
		activity.put("begin_time",beginStr);
		
		Timestamp endTimestamp = (Timestamp)row.getField("end_time");
		long endTime = endTimestamp.getTime();
		java.util.Date endDate = new java.util.Date(endTime);
		String endStr = formatTime.format(endDate);
		activity.put("end_time", endStr);
		
		activity.put("address", row.getField("address", ""));
		activity.put("contact_tel", row.getField("contact_tel", ""));
		Timestamp deadlineTimestamp = (Timestamp)row.getField("deadline_time");
		long deadlineTime = deadlineTimestamp.getTime();
		java.util.Date deadlineDate = new java.util.Date(deadlineTime);
		String deadlineStr = formatTime.format(deadlineDate);
		activity.put("deadline_time", deadlineStr);
		
		activity.put("person_limit", row.getField("person_limit", 0));
		activity.put("poster_img_uuid", row.getField("poster_img_uuid", ""));
		activity.put("activity_imgs", row.getField("activity_imgs", ""));
		activity.put("necessary", row.getField("necessary", ""));
		
		String actStatus = "";
		if(currentMillis < deadlineTime){
			actStatus = "报名中";
		}else if(currentMillis >= deadlineTime && currentMillis < beginTime){
			actStatus = "报名截止";
		}else if(currentMillis >= beginTime && currentMillis < endTime){
			actStatus = "进行中";
		}else{
			actStatus = "已结束";
		}
		activity.put("actStatus", actStatus);
		activity.put("join_count", row.getField("join_count", 0));
		acts.put(activity);
	}
	outJson.put("acts", acts);
	out.print(outJson.toString());
%>

getimg.jsp

<%-- ExMobi JSP文件,注释和取消快捷键统一为Ctrl+/ 多行注释为Ctrl+Shift+/ --%>
<%@ page language="java" import="java.util.*,java.io.*"
 contentType="image/*; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ include file="/client/adapt.jsp"%>
<%@ include file="/client/adapt_extend.jsp"%>
<% 
	String img_uuid = aa.req.getParameterFromUrl("img_uuid").equals("")?aa.req.getParameter("img_uuid"):aa.req.getParameterFromUrl("img_uuid");
	String queryimgSql = "select * from tbl_img where img_uuid = ?";
	TableRow row = aa.db.queryRow("activity_mysql", queryimgSql, new Object[]{img_uuid});
	if(null != row){
		String imgPath  = row.getField("img_path", "");
		String imgname = imgPath.substring(imgPath.lastIndexOf("\\")+1);
		response.addHeader("Content-Disposition","attachment;fileName="+imgname);
		File img = new File(imgPath);
		FileInputStream in = new FileInputStream(img);
		byte data[] = new byte[in.available()];
		in.read(data); // 读数据
		in.close();
		response.setContentType("image/*"); // 设置返回的文件类型
		OutputStream os = response.getOutputStream(); // 得到向客户端输出二进制数据的对象
		os.write(data); // 输出数据
		os.close();
		out.clear(); 
		out = pageContext.pushBody(); 
	}
%>

 

signup_act.jsp

<%@ page language="java" import="java.util.*,java.text.SimpleDateFormat"
 contentType="application/uixml+xml; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ include file="/client/adapt.jsp"%>
<%@ include file="/client/adapt_extend.jsp"%>
<% 
	String act_uuid = aa.req.getParameter("act_uuid");
	String user_uuid = aa.req.getParameter("user_uuid");
	String insertSql = "insert into tbl_activity_user values (?,?)";
	
	JSONObject outJson = new JSONObject();
	String querySql = "select a.*,(select count(*) FROM tbl_activity_user b WHERE b.activity_uuid=a.activity_uuid) as join_count from tbl_activity_info a where a.activity_uuid = ?";
	TableRow actRow = aa.db.queryRow("activity_mysql", querySql, new Object[]{act_uuid});
	if(null!=actRow){
		int personLimit = actRow.getField("person_limit", 0);
		int joinCount = actRow.getField("joing_count", 0);
		if(joinCount >= personLimit){//报名人数限制校验
			outJson.put("result", "fail");
			outJson.put("msg", "活动报名人数已满");
			out.print(outJson.toString());
			return;
		}
		Timestamp deadlineTimestamp = (Timestamp)actRow.getField("deadline_time");
		long deadlineTime = deadlineTimestamp.getTime();
		long currentMillis = System.currentTimeMillis();
		if(currentMillis >= deadlineTime){//报名截止时间校验
			outJson.put("result", "fail");
			outJson.put("msg", "已过活动报名时间");
			out.print(outJson.toString());
			return;
		}
		
		int ret = aa.db.update("activity_mysql", insertSql, new Object[]{act_uuid,user_uuid});
		if(ret > 0){
			outJson.put("result", "success");
			outJson.put("msg", "报名成功");
		}else{
			outJson.put("result", "fail");
			outJson.put("msg", "报名失败,请联系管理员");
		}
		out.print(outJson.toString());
	}else{
		outJson.put("result", "fail");
		outJson.put("msg", "此活动不存在");
		out.print(outJson.toString());
		return;
	}
	
%>

 

submitactivity.jsp

<%@ page language="java" import="java.util.*,java.io.*,java.nio.*,java.text.SimpleDateFormat"
 contentType="text/plain; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ include file="/client/adapt.jsp"%>
<%@ include file="/client/adapt_extend.jsp"%>
<% 
	JSONObject outJson = new JSONObject();

	String activity_title = aa.req.getParameter("activity_title");
	String activity_content = aa.req.getParameter("activity_content");
		
	SimpleDateFormat formatTime = new SimpleDateFormat("yyyy-MM-dd HH:mm");
	String begin_timeStr = aa.req.getParameter("begin_time");
	java.util.Date beginDate = formatTime.parse(begin_timeStr);
	//活动开始时间
	Timestamp beginTime = new Timestamp(beginDate.getTime());
		
	String end_timeStr = aa.req.getParameter("end_time");
	java.util.Date endDate = formatTime.parse(end_timeStr);
	//活动结束时间
	Timestamp endTime = new Timestamp(endDate.getTime());
	
	if(beginDate.getTime() >= endDate.getTime()){
		outJson.put("result", "fail");
		outJson.put("msg", "开始时间必须早于结束时间");
		out.print(outJson.toString());
		return;
	}
		
	String address = aa.req.getParameter("address");
		
	String deadline_timeStr = aa.req.getParameter("deadline_time");
	java.util.Date deadlineDate = formatTime.parse(deadline_timeStr);
	//活动报名截止时间
	Timestamp deadlineTime = new Timestamp(deadlineDate.getTime());
	if(deadlineDate.getTime() >= beginDate.getTime()){
		outJson.put("result", "fail");
		outJson.put("msg", "报名截止时间必须早于活动开始时间");
		out.print(outJson.toString());
		return;
	}
		
	//活动联系人
	String contact_tel = aa.req.getParameter("contact_tel");
	//活动人数限制
	String person_limitStr = aa.req.getParameter("person_limit");
	Integer person_limit = !person_limitStr.equals("")?new Integer(person_limitStr):null;
	//用户报名必选项
	String nessary = aa.req.getParameter("necessary");
		
	//活动海报
	String poster_img_uuid = aa.req.getParameter("poster_img_uuid");
	//活动图片
	String activity_imgs = aa.req.getParameter("activity_imgs");
	
	
	//创建活动主键
	String activity_uuid = UUID.randomUUID().toString().replaceAll("-","");
	String inserSql = "insert into tbl_activity_info (";
	String sqlParamKey = "activity_uuid,begin_time,end_time,address,contact_tel,deadline_time,poster_img_uuid,activity_title,activity_content";
	String sqlParamCode = "?,?,?,?,?,?,?,?,?";
	List<Object> paramObjects = new ArrayList<Object>();
	paramObjects.add(activity_uuid);
	paramObjects.add(beginTime);
	paramObjects.add(endTime);
	paramObjects.add(address);
	paramObjects.add(contact_tel);
	paramObjects.add(deadlineTime);
	paramObjects.add(poster_img_uuid);
	paramObjects.add(activity_title);
	paramObjects.add(activity_content);
	
	if(null!=person_limit){
		sqlParamKey += ",person_limit";
		sqlParamCode +=",?";
		paramObjects.add(person_limit);
	}
	if(!nessary.equals("")){
		sqlParamKey += ",necessary";
		sqlParamCode +=",?";
		paramObjects.add(nessary);
	}
	if(!activity_imgs.equals("")){
		sqlParamKey += ",activity_imgs";
		sqlParamCode +=",?";
		paramObjects.add(activity_imgs);
	}
	
	inserSql += sqlParamKey+") values ("+sqlParamCode+")";
	int ret = aa.db.update("activity_mysql", inserSql, paramObjects.toArray());
	
	if(ret > 0){
		outJson.put("result", "success");
		outJson.put("msg", "发布活动成功");
	}else{
		outJson.put("result", "fail");
		outJson.put("msg", "入库失败,请联系管理员");
	}
	out.print(outJson.toString());
%>

submituser.jsp

<%@ page language="java" import="java.util.*,org.json.*"
 contentType="text/plain; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ include file="/client/adapt.jsp"%>
<%@ include file="/client/adapt_extend.jsp"%>
<% 
	JSONObject oj = new JSONObject();
	JSONObject currentUser = new JSONObject();
	String user_uuid = aa.req.getParameter("user_uuid");
	String login_id = aa.req.getParameter("login_id");
	String login_pwd = aa.req.getParameter("login_pwd");
	String user_name = aa.req.getParameter("user_name");
	String sex = aa.req.getParameter("sex");
	String tel_no = aa.req.getParameter("tel_no");
	String identify_id = aa.req.getParameter("identify_id"); 
	String remark = aa.req.getParameter("remark"); 
	
	if(login_id.equals("") || login_pwd.equals("") || user_name.equals("")){
		oj.put("result", "fail");
		oj.put("msg", "必填参数缺失");
	}
	
	boolean UpdateFlag = false;
	if(null != user_uuid && !("").equals(user_uuid)){
		UpdateFlag = true;
	}
	String finalSql = "";
	List<Object> sqlParams = new ArrayList<Object>();
	if(UpdateFlag){
		finalSql = "update tbl_user_info set login_pwd = ?,user_name = ?";
		sqlParams.add(login_pwd);
		sqlParams.add(user_name);
		if(!("").equals(sex)){
			finalSql += ",sex = ?";
			sqlParams.add(new Integer(sex));
		}
		if(!("").equals(tel_no)){
			finalSql += ",tel_no = ?";
			sqlParams.add(tel_no);
		}
		if(!("").equals(identify_id)){
			finalSql += ",identify_id = ?";
			sqlParams.add(identify_id);
		}
		if(!("").equals(remark)){
			finalSql += ",remark = ? ";
			sqlParams.add(remark);
		}
		finalSql += "where user_uuid = ?";
		sqlParams.add(user_uuid);
		
	}else{
		finalSql = "insert into tbl_user_info (user_uuid, login_id, login_pwd, user_name";
		user_uuid = UUID.randomUUID().toString().replaceAll("-","");
		sqlParams.add(user_uuid);
		sqlParams.add(login_id);
		sqlParams.add(login_pwd);
		sqlParams.add(user_name);
		String valStrs = "?,?,?,?";
		if(!("").equals(sex)){
			finalSql += ",sex ";
			valStrs += ",?";
			sqlParams.add(sex);
		}
		if(!("").equals(tel_no)){
			finalSql += ",tel_no ";
			valStrs += ",?";
			sqlParams.add(tel_no);
		}
		if(!("").equals(identify_id)){
			finalSql += ",identify_id ";
			valStrs += ",?";
			sqlParams.add(identify_id);
		}
		if(!("").equals(remark)){
			finalSql += ",remark ";
			valStrs += ",?";
			sqlParams.add(remark);
		}
		finalSql+=") values ("+valStrs+")";
		System.out.println(finalSql);
	}
	int sqlResult = aa.db.update("activity_mysql", finalSql, sqlParams.toArray());
	if(sqlResult > 0){
		oj.put("result", "success");
		oj.put("msg", "提交成功");
		if(UpdateFlag){
			currentUser.put("user_uuid", user_uuid);
			currentUser.put("login_id", login_id);
			currentUser.put("login_pwd", login_pwd);
			currentUser.put("user_name", user_name);
			currentUser.put("sex", new Integer(sex));
			currentUser.put("tel_no", tel_no);
			currentUser.put("identify_id", identify_id);
			currentUser.put("remark", remark);
			oj.put("currentUser", currentUser);
		}
	}else{
		oj.put("result", "fail");
		oj.put("msg", "入库失败,请联系管理员");
	}
	out.print(oj.toString());
%>

 

uploadactimgs.jsp

<%-- ExMobi JSP文件,注释和取消快捷键统一为Ctrl+/ 多行注释为Ctrl+Shift+/ --%>
<%@ page language="java" import="java.util.*"
 contentType="text/plain; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ include file="/client/adapt.jsp"%>
<%@ include file="/client/adapt_extend.jsp"%>
<% 
	JSONObject outJson = new JSONObject();
	List<String> imgAddrList = aa.req.getAttachAddrs("activity_img");
	java.nio.channels.FileChannel inputChannel =  null;
	java.nio.channels.FileChannel outputChannel = null;
	
	List<Object[]> params = new ArrayList<Object[]>();
	
		
	try{
		for(String imgAddr:imgAddrList){
			String imgSurfix = imgAddr.substring(imgAddr.lastIndexOf("."), imgAddr.length());
			File tempActImg = new File(imgAddr);
			File realActImgFile = new File("D:\\var\\activityimg\\"+UUID.randomUUID().toString().replaceAll("-","")+imgSurfix);
			realActImgFile.createNewFile();
			inputChannel =  new FileInputStream(tempActImg).getChannel(); 
			outputChannel = new FileOutputStream(realActImgFile).getChannel(); 
			outputChannel.transferFrom(inputChannel, 0, inputChannel.size());
			
			String imgUuid = UUID.randomUUID().toString().replaceAll("-","");
			String imgPath = realActImgFile.getPath();
			params.add(new Object[]{imgUuid,imgPath});
		}
	}catch(Exception e){
		outJson.put("result", "fail");
		outJson.put("msg", "上传图片失败,请联系管理员");
		out.print(outJson.toString());
	}finally{
		inputChannel.close();
		outputChannel.close();
	}
	int ret = aa.db.batchUpdate("activity_mysql", "insert into tbl_img value (?,?)", params);
	if(ret >0){
		outJson.put("result", "success");
		String[] uuids = new String[params.size()];
		for(int i=0;i<uuids.length;i++){
			uuids[i] = (String)params.get(i)[0];
		}
		outJson.put("img_uuid", uuids);
		out.print(outJson.toString());
	}else{
		outJson.put("result", "fail");
		outJson.put("msg", "入库失败,请联系管理员");
		out.print(outJson.toString());
	}
%>

 

uploadposterimg.jsp

<%-- ExMobi JSP文件,注释和取消快捷键统一为Ctrl+/ 多行注释为Ctrl+Shift+/ --%>
<%@ page language="java" import="java.util.*"
 contentType="text/plain; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ include file="/client/adapt.jsp"%>
<%@ include file="/client/adapt_extend.jsp"%>
<% 
	JSONObject outJson = new JSONObject();
	
	//活动海报
	String posterImgPathStr = aa.req.getAttachAddr("posters_img");

	String posterImgName = aa.req.getAttachName("posters_img");
	String imgSurfix = posterImgName.substring(posterImgName.lastIndexOf("."), posterImgName.length());
	
	File tempPosterImg = new File(posterImgPathStr);
	//图片最终存储名字为“uuid.后缀名”
	File realPosterImgFile = new File("D:\\var\\activityimg\\"+UUID.randomUUID().toString().replaceAll("-","")+imgSurfix);
		
	java.nio.channels.FileChannel inputChannel =  null;
	java.nio.channels.FileChannel outputChannel = null;
	try{
		realPosterImgFile.createNewFile();//创建空图片
			
		inputChannel =  new FileInputStream(tempPosterImg).getChannel(); 
		outputChannel = new FileOutputStream(realPosterImgFile).getChannel(); 
		//把图片内容拷贝至存储目录里的空图片
		outputChannel.transferFrom(inputChannel, 0, inputChannel.size());
		
		String insertSql = "insert into tbl_img value (?,?)";
		String img_uuid = UUID.randomUUID().toString().replaceAll("-","");
		//图片信息入库
		int ret = aa.db.update("activity_mysql", insertSql, new Object[]{img_uuid,realPosterImgFile.getPath()});
		if(ret > 0){
			outJson.put("result", "success");
			outJson.put("img_uuid", img_uuid);
		}else{
			outJson.put("result", "fail");
			outJson.put("msg", "入库失败,请联系管理员");
		}
	}catch(Exception e){
		outJson.put("result", "fail");
		outJson.put("msg", "上传图片失败,请联系管理员");
	}finally{
		inputChannel.close();
		outputChannel.close();
	}
	
	out.print(outJson.toString());
%>

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值