📄 adserviceimpl.java
字号:
/*
* Created on 2007-8-4
* Last modified on 2007-8-4
* Powered by YeQiangWei.com
*/
package com.yeqiangwei.club.service.util.impl;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import com.yeqiangwei.club.cache.Cache;
import com.yeqiangwei.club.cache.singleton.CacheFactory;
import com.yeqiangwei.club.dao.AdDAO;
import com.yeqiangwei.club.dao.DAOLocator;
import com.yeqiangwei.club.dao.DAOWrapper;
import com.yeqiangwei.club.dao.model.Ad;
import com.yeqiangwei.club.param.AdParameter;
import com.yeqiangwei.club.service.model.AdModel;
import com.yeqiangwei.club.service.user.UserLogin;
import com.yeqiangwei.club.service.util.AdService;
import com.yeqiangwei.club.util.BeanLocator;
import com.yeqiangwei.club.util.BeanUtils;
import com.yeqiangwei.util.ParamUtils;
import com.yeqiangwei.util.TypeChange;
import com.yeqiangwei.util.Validator;
public class AdServiceImpl implements AdService{
public Cache cache = CacheFactory.creator("AD");
public String getCacheKey(int forumId, byte area){
return "AD: forumId."+forumId+",area."+area;
}
public List<AdModel> findAll(){
List<AdModel> list = null;
AdParameter param = new AdParameter();
param.setPage(1);
param.setRows(1000);
List<Ad> adlist = this.getAdDAO().findAll(param);
if(!Validator.isEmpty(adlist)){
list = BeanUtils.copyList(adlist,BeanLocator.ADMODEL);
}
return list;
}
public AdModel findById(int id) {
if(id>0){
Ad item = this.getAdDAO().findById(id);
if(!Validator.isEmpty(item)){
AdModel model = new AdModel();
BeanUtils.copyProperties(model,item);
cache.put(this.getCacheKey(model.getForumId(),model.getArea()),model);
return model;
}
}
return null;
}
public AdModel createOrUpdate(AdModel model, String[] forumIds){
if(!Validator.isEmpty(forumIds)){
List<Integer> list = new ArrayList<Integer>();
for(int i=0; i<forumIds.length; i++){
int forumId = TypeChange.stringToInt(forumIds[i]);
list.add(forumId);
}
model = this.createOrUpdate(model,list);
if(!Validator.isEmpty(model)){
cache.put(this.getCacheKey(model.getForumId(),model.getArea()),model);
}
}else{
model = null;
}
return model;
}
public AdModel createOrUpdate(AdModel model, List<Integer> forumIds) {
if(!Validator.isEmpty(forumIds)){
for(int i=0; i<forumIds.size(); i++){
int forumId = forumIds.get(i);
Ad item = this.getAdDAO().findByForumIdAndArea(forumId,model.getArea());
if(Validator.isEmpty(item)){
item = new Ad();
BeanUtils.copyProperties(item,model);
item.setForumId(forumId);
this.getAdDAO().create(item);
}else{
model.setAdId(item.getAdId());
model.setForumId(item.getForumId());
BeanUtils.copyProperties(item,model);
this.getAdDAO().update(item);
}
model.setForumId(forumId);
if(!Validator.isEmpty(model)){
cache.put(this.getCacheKey(model.getForumId(),model.getArea()),model);
}
}
}else{
model = null;
}
return model;
}
public int deleteById(int id) {
if(id>0){
Ad item = this.getAdDAO().findById(id);
if(!Validator.isEmpty(item)){
cache.remove(this.getCacheKey(item.getForumId(),item.getArea()));
return this.getAdDAO().delete(item);
}
}
return 0;
}
public AdModel findByForumIdAndArea(HttpServletRequest request, byte area){
int forumId = ParamUtils.getIntParameter(request,"forumId");
AdModel model = (AdModel) cache.get(this.getCacheKey(forumId,area));
Boolean isput = (Boolean) cache.get(this.getCacheKey(forumId,area)+"-isput");
if(Validator.isEmpty(model)&&Validator.isEmpty(isput)){
Ad item = this.getAdDAO().findByForumIdAndArea(forumId, area);
if(!Validator.isEmpty(item)){
model = new AdModel();
BeanUtils.copyProperties(model,item);
}
cache.put(this.getCacheKey(forumId,area),model);
cache.put(this.getCacheKey(forumId,area)+"-isput",new Boolean(true));
}
if(!Validator.isEmpty(model)){
byte isList = model.getIsList();
int userId = UserLogin.getUserId(request);
switch (isList){
case 0: //不显示
model = null;
break;
case 1: //仅显示给过客
if(userId>0){
model = null;
}
break;
case 2: //仅显示给登录用户
if(userId==0){
model = null;
}
break;
}
}
return model;
}
public String getAdContent(HttpServletRequest request, byte area){
AdModel model = this.findByForumIdAndArea(request,area);
if(!Validator.isEmpty(model)){
return model.getContent();
}else{
return "";
}
}
public void clearCache() {
cache.clear();
}
public AdDAO getAdDAO() {
return DAOWrapper.<AdDAO>getSingletonInstance(DAOLocator.AD);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -