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 + -
显示快捷键?