📄 informationserviceimpl.java
字号:
package com.longtime.wap.module.information.service.impl;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Date;
import java.util.List;
import java.util.UUID;
import org.apache.struts.upload.FormFile;
import com.longtime.wap.common.web.Page;
import com.longtime.wap.model.Business;
import com.longtime.wap.model.Information;
import com.longtime.wap.module.information.common.InformationQueryBean;
import com.longtime.wap.module.information.dao.BusinessDao;
import com.longtime.wap.module.information.dao.InformationDao;
import com.longtime.wap.module.information.service.InformationService;
/**
* information服务类接口
*
* @author Bulc
* @date Nov 15, 2007
*/
public class InformationServiceImpl implements InformationService {
private InformationDao infoDao;
private BusinessDao businessDao;
/**
* 注入information dao对象
*
* @param infoDao
* 信息Dao
*/
public void setInforDao(InformationDao infoDao) {
this.infoDao = infoDao;
}
/**
* 注入business dao对象
*
* @param businessDao
* 业务Dao
*/
public void setBusinessDao(BusinessDao businessDao) {
this.businessDao = businessDao;
}
/**
* 根据搜索条件,取得信息
*
* @param searchValue
* 搜索值
* @param searchType
* 搜索类型
* @param cpId
* 发布商id
* @param businessId
* 业务id
* @param page
* 分页参数
* @return 信息列表
*/
public List getInfosByCondition(String searchValue,
String searchType,
long cpId,
long businessId,
Page page) {
Long tempCpId = null;
Long tempBusinessId = null;
// 查询条件:cpId
if (0 < cpId) {
tempCpId = cpId;
}
// 查询条件:businessId;
if (0 < businessId) {
tempBusinessId = businessId;
}
InformationQueryBean queryBean = new InformationQueryBean();
queryBean.setBusinessId(tempBusinessId);
queryBean.setCpId(tempCpId);
if (null != searchValue && searchValue.trim().length() > 0) {
queryBean.setSearchValue("%" + searchValue.trim() + "%");
}
page.setTotalCount(infoDao.retrieveInformationsCount(queryBean,
searchType));
return infoDao.retrieveInformationsByCondition(queryBean, searchType,
page);
}
/**
* 根据信息提供商id 取得业务列表
*
* @param cpId
* 发布商id
* @return 业务列表
*/
public List getBusinesses(long cpId) {
Long tempCpId = null;
if (0 < cpId) {
tempCpId = cpId;
}
return businessDao.retrieveBusinesses(tempCpId);
}
/**
* 根据业务id取得业务
*
* @param id
* 业务id
* @return 业务对象
*/
public Business getBusinessById(long id) {
return businessDao.retrieveBusinessById(new Long(id));
}
/**
* 根据信息id取得信息
*
* @param id
* 信息id
* @return 信息对象
*/
public Information getInformationById(long id) {
return infoDao.retrieveInformationById(new Long(id));
}
/**
* 批量保存信息的发布状态
*
* @param ids
* 信息id列表
* @param isPub
* 是否发布
*/
public void savePubStatus(String[] ids, boolean isPub) {
List informations = infoDao.retrieveInformationsByIds(ids);
for (int i = 0; i < informations.size(); i++) {
Information information = (Information) informations.get(i);
if (isPub) {
information.setIsPub(1);
information.setPubDate(new Date());
} else {
information.setIsPub(0);
information.setPubDate(null);
}
}
infoDao.updateInformations(informations);
}
/**
* 保存信息
*
* @param information
* 信息对象
*/
public void saveInformation(Information information) {
if (0 == information.getInformationId()) {
information.setRegDate(new Date());
infoDao.createInformation(information);
} else {
infoDao.updateInformation(information);
}
}
/**
* 批量删除信息
*
* @param ids
* 信息id列表
*/
public void deleteInformations(String[] ids) {
List informations = infoDao.retrieveInformationsByIds(ids);
infoDao.deleteInformations(informations);
}
/**
* 上传文件
*
* @param dir
* 上传文件路径
* @param uploadFile
* 上传文件对象
* @return 上传服务器后,文件名称
*/
public String uploadFile(String dir, FormFile uploadFile) {
String fileName = "";
try {
InputStream streamIn = uploadFile.getInputStream();
fileName = UUID.randomUUID().toString() + "."
+ uploadFile.getFileName().split("\\.")[1].toLowerCase();
OutputStream streamOut = new FileOutputStream(dir + "/" + fileName);
int bytesRead = 0;
// 8MB
byte[] buffer = new byte[8192];
while ((bytesRead = streamIn.read(buffer, 0, 8192)) != -1) {
streamOut.write(buffer, 0, bytesRead);
}
streamOut.close();
streamIn.close();
} catch (Exception ex) {
throw new RuntimeException("上传文件" + uploadFile.getFileName()
+ "时出错");
}
return fileName;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -