⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 userproxy.java

📁 这是一款最新的野蔷薇论坛源码,有需要的朋友可以尽情下载
💻 JAVA
字号:
/* 
 * Created on 2007-1-16
 * Last modified on 2007-9-16
 * Powered by YeQiangWei.com
 */
package com.yeqiangwei.club.service.user;

import java.util.List;

import org.apache.log4j.Logger;

import com.yeqiangwei.club.exception.ClubException;
import com.yeqiangwei.club.param.UserParameter;
import com.yeqiangwei.club.passport.service.PUserService;
import com.yeqiangwei.club.passport.service.PUserServiceImpl;
import com.yeqiangwei.club.service.ServiceLocator;
import com.yeqiangwei.club.service.ServiceWrapper;
import com.yeqiangwei.club.service.model.BasicInfoModel;
import com.yeqiangwei.club.service.model.ManageLogModel;
import com.yeqiangwei.club.service.model.UserModel;
import com.yeqiangwei.club.service.util.BasicInfoService;
import com.yeqiangwei.club.service.util.NoAllowedCharService;
import com.yeqiangwei.club.util.MessageUtils;
import com.yeqiangwei.club.controller.form.AProfileForm;
import com.yeqiangwei.util.Validator;
import com.yeqiangwei.util.StringHelper;

/**
 * 禁止单例
 * 拦截系统限制的敏感字符
 * @author yeqiangwei
 */
public class UserProxy implements UserService{
	
	private static final Logger logger = Logger.getLogger(UserProxy.class);
	
	private static UserService USER_SERVICE ;
	
	private static PUserService PUSER_SERVICE;
	
	static{
		if(Validator.isEmpty(USER_SERVICE))USER_SERVICE = new UserServiceImpl();
		if(Validator.isEmpty(PUSER_SERVICE))PUSER_SERVICE = new PUserServiceImpl();
	}
	
	public int updateIsIndexedByUserId(int userId, boolean isIndexed){
		return USER_SERVICE.updateIsIndexedByUserId(userId,isIndexed);
	}
	
	public UserModel createOrUpdate(UserModel model) throws ClubException {
		return USER_SERVICE.createOrUpdate(model);
	}

	public UserModel update(AProfileForm form) throws ClubException {
		return USER_SERVICE.update(form);
	}
	
	private String noAllowed(UserModel model){
		/*
		if(Validator.isEmpty(model.getUserName()) || Validator.isEmpty(model.getPassword())
				|| Validator.isEmpty(model.getEmailAddress())
		){
			return (MessageUtils.getMessage("error_reg_empty"));
		}
		else if(StringHelper.Glength(model.getUserName())>20){
			return MessageUtils.getMessage("error_reg_userName_length");
		}
		else if(StringHelper.Glength(model.getPenName())>50){
			return MessageUtils.getMessage("error_reg_penName_length");
		}
		else if(StringHelper.Glength(model.getEmailAddress())>100){
			return MessageUtils.getMessage("error_reg_emailAddress_length");
		}
		else if(StringHelper.Glength(model.getSignatures())>200){
			return MessageUtils.getMessage("error_reg_signatures_length");
		}
		else if(StringHelper.Glength(model.getIntro())>200){
			return MessageUtils.getMessage("error_reg_intro_length");
		}
		else if(StringHelper.Glength(model.getArea())>30
				|| StringHelper.Glength(model.getCity())>30)
		{
			return MessageUtils.getMessage("error_reg_area_length");
		}
		else if(StringHelper.Glength(model.getWork())>30)
		{
			return MessageUtils.getMessage("error_reg_work_length");
		}
		else{
			if(StringHelper.Glength(model.getPhoto())>200){
				model.setPhoto(StringHelper.substring(model.getPhoto(),0,200,""));
			}
		}
		*/
		return null;
	}
	
	public UserModel create(UserModel model) throws ClubException {
		if(model!=null){
			if(!getNoAllowedCharService().permissionUser(model)){
				throw new ClubException(MessageUtils.getMessage("error_reg_noAllowed"));
			}
			else{
				String exp = this.noAllowed(model);
				if(exp!=null){
					throw new ClubException(exp);
				}else{
					if(!Validator.isEmpty(this.findByUserName(model.getUserName()))||!Validator.isEmpty(this.findByEmailAddress(model.getEmailAddress()))) {
						throw new ClubException(MessageUtils.getMessage("error_reg_duplicate"));
					}else{
						/*
						 * 通行证关联操作
						 
						if(getBasicInfoService().findOnly().getPassport()){
							PUSER_SERVICE.create(model);
						}*/
						USER_SERVICE.create(model);
						return model;
					}
				}
			}
		}else{
			logger.error("UserModel is null!");
			throw new ClubException(MessageUtils.getMessage("error_system"));
		}
	}
	

	public UserModel update(UserModel model, boolean passwordEncrypt) throws ClubException {
		if(model!=null){
			if(!getNoAllowedCharService().permissionUser(model)){
				throw new ClubException(MessageUtils.getMessage("error_reg_noAllowed"));
			}else{
				String exp = this.noAllowed(model);
				if(exp!=null){
					throw new ClubException(exp);
				}else{
					USER_SERVICE.update(model,passwordEncrypt);
					return model;
				}
			}
		}else{
			logger.error("UserModel is null!");
			throw new ClubException(MessageUtils.getMessage("error_system"));
		}
	}
	
	public UserModel update(UserModel model) throws ClubException {
		return this.update(model,false);
	}

	public int delete(UserModel model) throws ClubException {
		return USER_SERVICE.delete(model);
	}

	public UserModel findByUserName(String userName) {
		return USER_SERVICE.findByUserName(userName);
	}
	
	/**
	 * 用户登录模块判读是否开启了通行证
	 * 如果开启还需要向关联用户库发送判断
	 * @throws ClubException 
	 */
	public UserModel findByUserNameAndPassword(UserModel model) throws ClubException {
		String userName = model.getUserName();
		String password = StringHelper.encodeString(this.getBasicInfoService().findOnly().getPasswordEncrypt(),model.getPassword());
		model = USER_SERVICE.findByUserNameAndPassword(model);
		logger.debug("passport: "+this.getBasicInfoService().findOnly().getPassport());
		if(Validator.isEmpty(model)&&this.getBasicInfoService().findOnly().getPassport()){//如果CLUB数据库没有该用户而且通行证开启
			try {
				return PUSER_SERVICE.login(userName,password);
			} catch (ClubException e) {
				logger.error(e.toString());
				return null;
			}
		}else{
			return model;
		}
	}
	

	public UserModel findByUserNameAndPassword(UserModel model, boolean passwordEncrypt) throws ClubException {
		String userName = model.getUserName();
		String password = model.getPassword();		
		model = USER_SERVICE.findByUserNameAndPassword(model,passwordEncrypt);
		logger.debug("passport: "+this.getBasicInfoService().findOnly().getPassport());
		if(Validator.isEmpty(model)&&this.getBasicInfoService().findOnly().getPassport()){//如果CLUB数据库没有该用户而且通行证开启
			if(passwordEncrypt){
				password=StringHelper.encodeString(this.getBasicInfoService().findOnly().getPasswordEncrypt(),password);
			}
			try {
				return PUSER_SERVICE.login(userName,password);
			} catch (ClubException e) {
				logger.error(e.toString());
				return null;
			}
		}else{
			return model;
		}
	}

	public UserModel findByUserIdAndPassword(int userId, String password) {
		return USER_SERVICE.findByUserIdAndPassword(userId,password);
	}

	public UserModel findByEmailAddress(String emailAddress) {
		return USER_SERVICE.findByEmailAddress(emailAddress);
	}

	public UserModel findById(int id) {
		return USER_SERVICE.findById(id);
	}

	public List<UserModel> findByParameter(UserParameter param) {
		return USER_SERVICE.findByParameter(param);
	}

	public long countByParameter(UserParameter param) {
		return USER_SERVICE.countByParameter(param);
	}

	public int updateGroupIdByUserIds(int groupId, String[] userIds) throws ClubException {
		return USER_SERVICE.updateGroupIdByUserIds(groupId,userIds);
	}
	
	public BasicInfoModel getBasicInfo(){
		return USER_SERVICE.getBasicInfo();
	}

	public UserModel getUserModel() {
		return USER_SERVICE.getUserModel();
	}

	public void setUserModel(UserModel model) {
		USER_SERVICE.setUserModel(model);
	}

	public UserModel ruleUtils(UserModel model, int forumId, int locator) {
		return USER_SERVICE.ruleUtils(model,forumId,locator);
	}

	public ManageLogModel ruleUtils(ManageLogModel model, int forumId, int locator) {
		return USER_SERVICE.ruleUtils(model,forumId,locator);
	}

	public UserModel findByUserIdAndPassword(int userId, String password, boolean passwordEncrypt) {
		return USER_SERVICE.findByUserIdAndPassword(userId,password,passwordEncrypt);
	}

	public BasicInfoService getBasicInfoService() {
		return USER_SERVICE.getBasicInfoService();
	}
	
	public NoAllowedCharService getNoAllowedCharService(){
		return ServiceWrapper.<NoAllowedCharService>getSingletonInstance(ServiceLocator.NOALLOWEDCHAR);
	}

}

⌨️ 快捷键说明

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