📄 frontserviceimpl.java
字号:
package com.longtime.wap.module.front.service.impl;
import java.util.Date;
import java.util.List;
import com.longtime.wap.common.web.Page;
import com.longtime.wap.model.Information;
import com.longtime.wap.model.Payment;
import com.longtime.wap.model.UserInfo;
import com.longtime.wap.module.front.dao.BusinessDao;
import com.longtime.wap.module.front.dao.InformationDao;
import com.longtime.wap.module.front.dao.PaymentDao;
import com.longtime.wap.module.front.dao.UncommandWordDao;
import com.longtime.wap.module.front.dao.UserInfoDao;
import com.longtime.wap.module.front.service.FrontService;
/**
* 前端信息服务类实现
*
* @author bulc
* @date Nov 22, 2007
*/
public class FrontServiceImpl implements FrontService {
private InformationDao infoDao;
private UserInfoDao userDao;
private PaymentDao paymentDao;
private BusinessDao businessDao;
private UncommandWordDao uncommandWordDao;
/**
* 接受spring的注入,把dao对象注入到service中
*
* @param businessDao
* 设置业务dao
*/
public void setBusinessDao(BusinessDao businessDao) {
this.businessDao = businessDao;
}
/**
* 接受spring的注入,把dao对象注入到service中
*
* @param infoDao
* 设置信息dao
*/
public void setInfoDao(InformationDao infoDao) {
this.infoDao = infoDao;
}
/**
* 接受spring的注入,把dao对象注入到service中
*
* @param userDao
* 设置用户dao
*/
public void setUserDao(UserInfoDao userDao) {
this.userDao = userDao;
}
/**
* 接受spring的注入,把dao对象注入到service中
*
* @param paymentDao
* 设置消费dao
*/
public void setPaymentDao(PaymentDao paymentDao) {
this.paymentDao = paymentDao;
}
/**
* 接受spring的注入,把dao对象注入到service中
*
* @param uncommandWordDao
* 设置过滤字符dao
*/
public void setUncommandWordDao(UncommandWordDao uncommandWordDao) {
this.uncommandWordDao = uncommandWordDao;
}
/**
* 获得信息对象
*
* @param id
* 信息编号
* @return 信息对象
*/
public Information getInfoById(long id) {
return this.infoDao.retrieveInfoById(new Long(id));
}
/**
* 列表显示所有热点信息
*
* @param page
* 分页参数
* @return 热点信息列表
*/
public List getInfosByIsHotAndIsPub(Page page) {
return this.infoDao.retrieveInfosByIsHotAndIsPub(page);
}
/**
* 列表显示所有推荐信息
*
* @param page
* 分页参数
* @return 推荐信息列表
*/
public List getInfosByIsRecommendAndIsPub(Page page) {
return infoDao.retrieveInfosByIsRecommendAndIsPub(page);
}
/**
* 列表显示业务类别的信息
*
* @param category
* 业务类别
* @param page
* 分页参数
* @return 业务类别信息对象
*/
public List getInfosByCategoryAndViewCount(int category, Page page) {
return infoDao.retrieveInfosByCategoryAndViewCount(
new Integer(category), page);
}
/**
* 列表显示搜索的信息
*
* @param content
* 搜索内容
* @param page
* 分页参数
* @return 搜索信息对象
*/
public List getInfosByContent(String content, Page page) {
page.setTotalCount(infoDao.retrieveInfosCountByContent(content));
return infoDao.retrieveInfosByContent(content, page);
}
/**
* 获取业务类别下的业务信息
*
* @param category
* 业务类别
* @param page
* 分页参数
* @return 业务信息对象
*/
public List getBusinessesByCategory(int category, Page page) {
page.setTotalCount(businessDao.retrieveBusinessesCountByCategory(
new Integer(category)));
return businessDao.retrieveBusinessesByCategory(
new Integer(category), page);
}
/**
* 获取业务信息
*
* @param page
* 分页参数
* @return 业务信息对象
*/
public List getBusinesses(Page page) {
page.setTotalCount(businessDao.retrieveBusinessesCountByCategory(null));
return businessDao.retrieveBusinesses(page);
}
/**
* 通过用户名来获取用户信息
*
* @param username
* 用户名
* @return 用户信息
*/
public UserInfo getUserByUsername(String username) {
List users = userDao.retrieveUserByName(username);
if (null == users || users.size() == 0) {
return null;
} else {
return (UserInfo)users.get(0);
}
}
/**
* 保存用户信息
*
* @param user
* 用户对象
*/
public void saveUser(UserInfo user) {
if (0 == user.getUserId()) {
userDao.createUser(user);
} else {
userDao.updateUser(user);
}
}
/**
* 获取消费信息对象
*
* @param userId
* 用户id
* @param infoId
* 信息id
* @return 消费信息对象
*/
public Payment getPaymentByUserIdAndInfoId(long userId, long infoId) {
List payments = paymentDao.retrievePaymentByUserIdAndInfoId(
new Long(userId), new Long(infoId));
if (null == payments || payments.size() < 1) {
return null;
} else {
return (Payment)payments.get(0);
}
}
/**
* 获取用户对象信息
*
* @param id
* 用户id
* @return 用户信息对象
*/
public UserInfo getUserById(long id) {
return (UserInfo)userDao.retrieveUserById(new Long(id));
}
/**
* 保存消费记录
*
* @param userId
* 用户id
* @param infoId
* 信息id
*/
public void savePurchaseInfo(long userId, long infoId) {
// 减钱
UserInfo user = userDao.retrieveUserById(new Long(userId));
Information info = infoDao.retrieveInfoById(infoId);
if (user.getMoney() < info.getPrice()) {
throw new RuntimeException("您的余额不足,请您充值后购买!");
}
user.setMoney(user.getMoney() - info.getPrice());
userDao.updateUser(user);
// 加payment
Payment payment = new Payment();
payment.setUserId(userId);
payment.setInformationId(infoId);
payment.setPayDate(new Date());
payment.setInformationTitle(info.getTitle());
payment.setInformationPrice(info.getPrice());
payment.setCpName(info.getBusiness().getCp().getCompanyName());
payment.setUserName(user.getUserName());
paymentDao.createPayment(payment);
// 加info购买量
info.setPayCount(info.getPayCount() + 1);
infoDao.updateInfo(info);
}
/**
* 列表显示业务目录下的信息
*
* @param businessId
* 业务编号
* @param page
* 分页参数
* @return 业务目录下的信息对象
*/
public List getInfosByBusinessId(long businessId, Page page) {
page.setTotalCount(infoDao.retrieveInfosCountByBusinessId(
new Long(businessId)));
return infoDao.retrieveInfosByBusinessId(new Long(businessId), page);
}
/**
* 列表显示用户的消费记录
*
* @param userId
* 用户id
* @param page
* 分页参数
* @return 用户消费记录列表
*/
public List getPaymentsByUserId(long userId, Page page) {
page.setTotalCount(paymentDao.retrievePaymentCountByUserId(
new Long(userId)));
return paymentDao.retrievePaymentByUserId(new Long(userId), page);
}
/**
* 获得过滤字符信息对象
*
* @return 过滤字符信息对象
*/
public List getUncommandWords() {
return uncommandWordDao.retrieveUncommandWords();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -