useraction.java

来自「社区文章采用的是平板、树形自由选择的两种展示方式」· Java 代码 · 共 463 行 · 第 1/2 页

JAVA
463
字号
/* 
 * Created on 2007-2-5
 * Last modified on 2007-11-29
 * Powered by YeQiangWei.com
 */
package com.yeqiangwei.club.controller.action;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.log4j.Logger;

import com.yeqiangwei.club.model.Register;
import com.yeqiangwei.club.exception.ClubException;
import com.yeqiangwei.club.service.ServiceLocator;
import com.yeqiangwei.club.service.ServiceWrapper;
import com.yeqiangwei.club.service.user.RegisterService;
import com.yeqiangwei.club.service.user.UserService;
import com.yeqiangwei.club.service.user.UserSettingsService;
import com.yeqiangwei.club.model.User;
import com.yeqiangwei.club.model.UserSettings;
import com.yeqiangwei.club.service.user.UserLogin;
import com.yeqiangwei.club.service.mail.MailService;
import com.yeqiangwei.club.service.mail.EmailSender;
import com.yeqiangwei.club.service.mail.MailEntry;
import com.yeqiangwei.club.util.BeanUtils;
import com.yeqiangwei.club.util.MessageUtils;
import com.yeqiangwei.club.view.util.UrlUtils;
import com.yeqiangwei.util.Validator;
import com.yeqiangwei.club.controller.form.AProfileForm;
import com.yeqiangwei.club.controller.form.EmailForm;
import com.yeqiangwei.club.controller.form.PasswordForm;
import com.yeqiangwei.club.controller.form.ProfileForm;
import com.yeqiangwei.club.controller.form.RegisterForm;
import com.yeqiangwei.club.controller.form.UpdateUserParamterForm;
import com.yeqiangwei.club.controller.form.UserGroupForm;
import com.yeqiangwei.club.controller.form.UserLoginForm;
import com.yeqiangwei.club.controller.form.UserRegisterForm;
import com.yeqiangwei.club.controller.form.UserSettingsForm;
import com.yeqiangwei.club.controller.form.build.AProfileBuild;
import com.yeqiangwei.club.controller.form.build.EmailBuild;
import com.yeqiangwei.club.controller.form.build.PasswordBuild;
import com.yeqiangwei.club.controller.form.build.ProfileBuild;
import com.yeqiangwei.club.controller.form.build.RegisterBuild;
import com.yeqiangwei.club.controller.form.build.UserGroupBuild;
import com.yeqiangwei.club.controller.form.build.UserLoginBuild;
import com.yeqiangwei.club.controller.form.build.UserRegisterBuild;
import com.yeqiangwei.club.controller.form.build.UserSettingsBuild;
import com.yeqiangwei.util.HttpServletUtils;
import com.yeqiangwei.util.ParamUtils;
import com.yeqiangwei.util.StringHelper;

public class UserAction{
	
	private static final Logger logger = Logger.getLogger(UserAction.class);
	
	public UserAction()
	{

	}
	
	public void updateUserParameter(HttpServletRequest request,HttpServletResponse response){
		UpdateUserParamterForm form = new UpdateUserParamterForm();
		form.setByUser(UserLogin.getUser(request));
		form.setByUserIp(request.getRemoteAddr());
		form.setCredit(ParamUtils.getDoubleParameter(request, "credit"));
		form.setScore(ParamUtils.getDoubleParameter(request, "score"));
		form.setMoney(ParamUtils.getDoubleParameter(request, "money"));
		form.setViews(ParamUtils.getIntParameter(request, "views"));
		form.setTopicId(ParamUtils.getIntParameter(request, "topicId"));
		form.setReplyId(ParamUtils.getIntParameter(request, "replyId"));
		form.setUserId(ParamUtils.getIntParameter(request, "userId", 0));
		form.setContent(ParamUtils.getStringParameter(request, "content"));
		form.setSendMessage(ParamUtils.getIntParameter(request, "sendMessage"));
		try {
			this.getUserService().updateUserParameter(form);
			request.setAttribute("message",MessageUtils.getMessage("success"));		
			HttpServletUtils.redirect(response,UrlUtils.getTopicUrl(request));			
		} catch (ClubException e) {
			request.setAttribute("message",e.getMessage());
			HttpServletUtils.forward(request,response,"/club/topicAdmin.jsp");
		}
	}
	
	public void sendMail(HttpServletRequest request,HttpServletResponse response){
		EmailForm f = new EmailBuild(request).build();
		User toUser = this.getUserService().findById(f.getTakerUserId());
		boolean issent = false;
		if(!Validator.isEmpty(toUser)){
			f.setTo(toUser.getEmailAddress());
			f.setTaker(toUser.getEmailAddress());
		}else{
			toUser = this.getUserService().findByUserName(f.getTaker());
			if(!Validator.isEmpty(toUser)){
				f.setTo(toUser.getEmailAddress());
				f.setTaker(toUser.getEmailAddress());
			}
		}
		if(!Validator.isEmpty(toUser)){
			if(Validator.isEmpty(f.getSubject())||Validator.isEmpty(f.getContent())){
				request.setAttribute("message",MessageUtils.getMessage("error_empty"));
			}else{
				MailEntry e = new MailEntry();
				e.setSubject(f.getSubject());
				e.setContent(f.getContent());
				e.setFrom(f.getSender());
				e.setTo(f.getTo());
				e.setTaker(f.getTaker());
				e.setSender(f.getSender());
				e.setSenderUserId(f.getSenderUserId());
				e.setTakerUserId(f.getTakerUserId());
				EmailSender mailSender = new EmailSender();
				try {
					mailSender.sendMail(e);
					issent = true;
					request.setAttribute("message",MessageUtils.getMessage("success"));
				} catch (ClubException e1) {
					request.setAttribute("message",e1.getMessage());
				}
			}
		}else{
			request.setAttribute("message",MessageUtils.getMessage("error_notfind_user"));
		}
		request.setAttribute("EmailForm",f);
		request.setAttribute("issent",issent);
		HttpServletUtils.forward(request,response,"/club/email.jsp?userId="+f.getTakerUserId());
	}
	
	public UserRegisterForm findByEmailAddress(HttpServletRequest request)
	{
		String emailAddress = ParamUtils.getStringParameter(request,"emailAddress");
		User model = this.getUserService().findByEmailAddress(emailAddress);
		UserRegisterForm userRegisterForm = new UserRegisterForm();
		if(Validator.isEmpty(model)){
			userRegisterForm = null;
		}else{
			BeanUtils.copyProperties(userRegisterForm,model);
		}
		return userRegisterForm;		
	}
	
	public UserRegisterForm findByUserName(HttpServletRequest request)
	{
		String userName = ParamUtils.getStringParameter(request,"userName");
		User model = this.getUserService().findByUserName(userName);
		UserRegisterForm f = new UserRegisterForm();
		if(Validator.isEmpty(model)){
			f = null;
		}else{
			BeanUtils.copyProperties(f,model);
		}		
		return f;	
	}
	
	public void loginInit(HttpServletRequest request,HttpServletResponse response){
		UserLogin.loginInit(request, this.getUserService());
	}
	
	/**
	 * 管理员强制更新资料
	 * @param request
	 * @return
	 */
	public AProfileForm aprofile(HttpServletRequest request,HttpServletResponse response){
		AProfileForm aProfileForm = new AProfileBuild(request).building();
		try {
			this.getUserService().update(aProfileForm);
			request.setAttribute("message",MessageUtils.getMessage("success"));
			//UserLogin.setUser(request, response, this.getUserService().findById(aProfileForm.getUserId()));
		} catch (ClubException e) {
			request.setAttribute("message",e.getMessage());
		}
		request.setAttribute("AProfileForm",aProfileForm);
		//request.setAttribute("message",this.getUserService().getMessage());
		HttpServletUtils.forward(request,response,"profile.jsp");
		return aProfileForm;
	}

	public ProfileForm profileInit(HttpServletRequest request){
		User user = UserLogin.getUser(request);
		ProfileForm profileForm = new ProfileForm();
		if(!Validator.isEmpty(user)){
			BeanUtils.copyProperties(profileForm,user);
		}
		return profileForm;
	}
	
	public void login(HttpServletRequest request,HttpServletResponse response){
		UserLoginForm userLoginForm = new UserLoginBuild(request).building();
		User user = UserLogin.login(request,response,this.getUserService(), userLoginForm);
		request.setAttribute("loginPosts",userLoginForm.getPosts());
		request.setAttribute("UserLoginForm",userLoginForm);
		if(userLoginForm.getBeforeURL().endsWith("login.jsp")){
			request.setAttribute("beforeURL","/club/myInfo.jsp");
		}else{
			request.setAttribute("beforeURL",userLoginForm.getBeforeURL());
		}
		byte loginForward = 0;
		String forwardUrl = "/club/login.jsp";
		if(!Validator.isEmpty(user)){
			request.setAttribute("message",MessageUtils.getMessage("success_login"));
			loginForward = this.getUserSettingsService().getUserSettings(user.getUserId()).getLoginForward();
			request.setAttribute("hint","success");
			switch(loginForward){
				case 1:
					forwardUrl = "/club/main.jsp";
					break;
				case 2:
					forwardUrl = "/club/myInfo.jsp";
					break;
				case 3:
					forwardUrl = userLoginForm.getBeforeURL();
					if(forwardUrl.indexOf("http://")!=-1){
						forwardUrl = forwardUrl.replace("http://","");
						forwardUrl = StringHelper.substring(forwardUrl,forwardUrl.indexOf("/"),forwardUrl.length(),"/club/main.jsp");
						logger.debug("forwardUrl: "+forwardUrl);
					}
					break;
				case 4:
					forwardUrl = "/club/favoriteTopic.jsp";
					break;
				default:
					//forwardUrl = "/club/main.jsp";
			}
			if(forwardUrl.endsWith("login.jsp")||forwardUrl.endsWith("msg.jsp")){
				HttpServletUtils.forward(request,response,forwardUrl);
			}else{
				HttpServletUtils.redirect(response,forwardUrl);
			}
		}else{
			request.setAttribute("message",MessageUtils.getMessage("error_login"));
			request.setAttribute("hint","error");

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?