usersettingsserviceimpl.java

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

JAVA
163
字号
/* 
 * Created on 2007-4-30
 * Last modified on 2008-1-1
 * Powered by YeQiangWei.com
 */
package com.yeqiangwei.club.service.user;

import java.util.List;

import com.yeqiangwei.cache.Cache;
import com.yeqiangwei.cache.CacheFactory;
import com.yeqiangwei.club.cache.CacheRegion;
import com.yeqiangwei.club.dao.DAOLocator;
import com.yeqiangwei.club.dao.DAOWrapper;
import com.yeqiangwei.club.dao.UserDAO;
import com.yeqiangwei.club.dao.UserSettingsDAO;
import com.yeqiangwei.club.model.User;
import com.yeqiangwei.club.model.UserSettings;
import com.yeqiangwei.club.exception.ClubException;
import com.yeqiangwei.club.param.UserParameter;
import com.yeqiangwei.club.util.BeanUtils;
import com.yeqiangwei.club.util.MessageUtils;
import com.yeqiangwei.util.Validator;

public class UserSettingsServiceImpl implements UserSettingsService{
			
	private static final Cache<UserSettings> CACHE = CacheFactory.<UserSettings>creator(CacheRegion.USER_SETTINGS);
	
	private static final Cache<Boolean> CACHE_BOOLEAN = CacheFactory.<Boolean>creator(CacheRegion.BOOLEAN);
	
	private String cacheKey(int userId){
		StringBuffer sb = new StringBuffer();
		sb.append("UserSettings:");
		sb.append(userId);
		return sb.toString();
	}

	public UserSettings findById(int id) {
		return null;
	}
	
	private void decorator(UserSettings model){
		if(!Validator.isEmpty(model.getMessageForwardUserName())){
			User user = this.getUserDAO().findByUserName(model.getMessageForwardUserName());
			if(!Validator.isEmpty(user)){
				model.setMessageForwardUserId(user.getUserId());
			}
		}
	}
	
	public void createOrUpdate(UserSettings model) throws ClubException {
		if(model.getUserId()>0){
			this.decorator(model);
			UserSettings item = this.getUserSettingsDAO().findOnlyByUserId(model.getUserId());
			if(Validator.isEmpty(item)){
				this.getUserSettingsDAO().create(model);
			}else{
				model.setSettingsId(item.getSettingsId());
				BeanUtils.copyProperties(item, model);
				this.getUserSettingsDAO().update(item);
			}
			CACHE.put(this.cacheKey(model.getUserId()),model);
		}else{
			throw new ClubException(MessageUtils.getMessage("error_system"));
		}
	}

	public void create(UserSettings model) throws ClubException {
		if(model.getUserId()>0){
			this.decorator(model);
			this.getUserSettingsDAO().create(model);
			CACHE.put(this.cacheKey(model.getUserId()),model);
		}else{
			throw new ClubException(MessageUtils.getMessage("error_system"));
		}
	}

	public void update(UserSettings model) throws ClubException {
		if(model.getUserId()>0){
			this.decorator(model);
			UserSettings item = this.getUserSettingsDAO().findOnlyByUserId(model.getUserId());
			if(Validator.isEmpty(item)){
				throw new ClubException(MessageUtils.getMessage("error_system"));
			}
			model.setSettingsId(item.getSettingsId());
			BeanUtils.copyProperties(item,model);
			this.getUserSettingsDAO().update(item);
			CACHE.put(this.cacheKey(model.getUserId()),model);
		}else{
			throw new ClubException(MessageUtils.getMessage("error_system"));
		}
	}
	

	public UserSettings findOnlyByUserId(int userId) {
		UserSettings model = CACHE.get(this.cacheKey(userId));
		Boolean isput = CACHE_BOOLEAN.get(this.cacheKey(userId)+"-isput");
		if(Validator.isEmpty(model)&&Validator.isEmpty(isput)){
			if(userId>0){
				model = this.getUserSettingsDAO().findOnlyByUserId(userId);
				if(!Validator.isEmpty(model)){
					CACHE.put(this.cacheKey(userId),model);
					CACHE_BOOLEAN.put(this.cacheKey(userId)+"-isput",new Boolean(true));
				}
			}
		}
		return model;
	}

	public UserSettings getUserSettings(int userId) {
		UserSettings model = this.findOnlyByUserId(userId);
		if(Validator.isEmpty(model)){
			model = new UserSettings();
			model.setUserId(userId);
		}
		return model;
	}
	

	public UserSettings getUserSettings(User user) {
		UserSettings model = null;
		if(!Validator.isEmpty(user)){
			model = this.findOnlyByUserId(user.getUserId());
			if(Validator.isEmpty(model)){
				model = new UserSettings();
				model.setUserId(user.getUserId());
			}
		}else{
			model = new UserSettings();
		}
		return model;
	}


	public int delete(UserSettings model) {
		return 0;
	}

	public int delete(String[] ids) {
		return 0;
	}


	public UserSettingsDAO getUserSettingsDAO() {
		return DAOWrapper.<UserSettingsDAO>getSingletonInstance(DAOLocator.USERSETTINGS);
	}

	
	public UserDAO getUserDAO() {
		return DAOWrapper.<UserDAO>getSingletonInstance(DAOLocator.USER);
	}


	public List<UserSettings> findByParameter(UserParameter param) {
		return null;
	}

	public long countByParameter(UserParameter param) {
		return 0;
	}

}

⌨️ 快捷键说明

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