⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frontserviceimpl.java

📁 这个是完整的wap项目的源码 开发语言 Java 系统架构 Struts + hibernate + spring 数据库 Mysql5.0 应用服务器Tomcat5.0 开发工具 MyEc
💻 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 + -