📄 userproxy.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 + -