package com.awit.cms.action;import java.io.IOException;
import java.net.URLDecoder;
import java.util.List;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import net.sf.json.JSONObject;import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.DispatchAction;import com.awit.cms.bean.Company;
import com.awit.cms.bean.OrderEntity;
import com.awit.cms.bean.Orders;
import com.awit.cms.bean.UserRegister;
import com.awit.cms.dao.CompanyDAO;
import com.awit.cms.dao.OrderDAO;
import com.awit.cms.dao.OrderEntityDAO;
import com.awit.cms.dao.UserRegisterDAO;
import com.awit.cms.util.getNowTime;
public class OeAction extends DispatchAction {
private OrderEntityDAO oeDao;
private OrderDAO orderDAO;
private CompanyDAO companyDAO;
private UserRegisterDAO userRegisterDAO;
public UserRegisterDAO getUserRegisterDAO() {
return userRegisterDAO;
} public void setUserRegisterDAO(UserRegisterDAO userRegisterDAO) {
this.userRegisterDAO = userRegisterDAO;
} public CompanyDAO getCompanyDAO() {
return companyDAO;
} public void setCompanyDAO(CompanyDAO companyDAO) {
this.companyDAO = companyDAO;
} public OrderDAO getOrderDAO() {
return orderDAO;
} public void setOrderDAO(OrderDAO orderDAO) {
this.orderDAO = orderDAO;
} public OrderEntityDAO getOeDao() {
return oeDao;
} public void setOeDao(OrderEntityDAO oeDao) {
this.oeDao = oeDao;
}
//查询所有订单基表的列表
public ActionForward findAll(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws IOException{
response = setResponse(response);// 设置相应参数
List<OrderEntity> oeList=oeDao.findAll();
try {
if(oeList.size()>0){
JSONObject object=new JSONObject();
object.put("oeList",oeList);
response.getWriter().print(object.toString());
}
else{
response.getWriter().println("没有找到相关的记录!");
}
} catch (RuntimeException e) {
response.getWriter().println("没有找到相关的记录!");
e.printStackTrace();
}
return null;
}
//根据订单Id查询单个订单对象
public ActionForward findfindById(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws IOException{
response = setResponse(response);// 设置相应参数
Integer oeId=Integer.parseInt(request.getParameter("oeId"));
OrderEntity orderEntity=oeDao.findById(oeId);
try {
if(orderEntity!=null){
JSONObject object=new JSONObject();
object.put("orderEntity",orderEntity);
response.getWriter().print(object.toString());
}else{
response.getWriter().println("没有找到相关的记录!");
}
} catch (RuntimeException e) {
response.getWriter().println("没有找到相关的记录!");
e.printStackTrace();
}
return null;
}
/**
* 保存用户购买的订单
* @param orderEntity
*/
public ActionForward saveBuyOrder(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
response = setResponse(response);// 设置相应参数
String oe_id=URLDecoder.decode(request.getParameter("oe_id"));
UserRegister user =(UserRegister)request.getSession().getAttribute("user"); //取出登陆用户的对象
OrderEntity orderEntity=oeDao.findById(Integer.parseInt(oe_id));
try{
if(user!=null){
//种子购买等级与用户等级进行比较,如果用户等级大于种子的所需等级,才可以购买
if(Integer.parseInt(user.getUserLevel())>Integer.parseInt(orderEntity.getOrderBuyLevel())){
Company company=new Company();
company.setComId(companyDAO.findById(user.getUserId()).getComId());
Orders order=new Orders();
order.setOrderName(orderEntity.getOrderName());
order.setOrderMark(orderEntity.getOrderMark());
order.setOrderLogo(orderEntity.getOrderLogo());
order.setOrderType(orderEntity.getOrderType());
order.setOrderPrice(orderEntity.getOrderPrice());
order.setOrderSalePrice(orderEntity.getOrderSalePrice());
order.setOrderYffTime(orderEntity.getOrderYffTime());
order.setOrderPfTime(orderEntity.getOrderPfTime());
order.setOrderBuyTime(getNowTime.getNowDate());
order.setOrderState("入库");
order.setOrderExper(orderEntity.getOrderExper());
order.setOrderProNum(orderEntity.getOrderProNum());
order.setCompany(company);
boolean flag=orderDAO.saveOrder(order); //持久化订单实例到数据库
if(flag){
user=userRegisterDAO.findById(user.getUserId());
//订单购买成功的话,就需要扣掉用户的金币
int leftGold=user.getUserOwnGold()-orderEntity.getOrderGold();
user.setUserOwnGold(leftGold);
userRegisterDAO.updateUserGold(user);
JSONObject object = new JSONObject();
object.put("orderGold","此订单需要"+ orderEntity.getOrderGold()+"金币!");
object.put("msg", "订单购买成功!");
response.getWriter().print(object.toString());
}else{
response.getWriter().print("购买订单失败!可能是您的等级不够!");
}
}
else{
response.getWriter().println("对不起,您的等级不够!");
}
}
else{
response.getWriter().println("对不起,您还没有登陆!");
}
}catch(Exception e){
response.getWriter().print("对不起,您还没有登陆!");
e.printStackTrace();
}
return null;
}
private HttpServletResponse setResponse(HttpServletResponse response) {
response.setCharacterEncoding("GBK");
response.setHeader("Pragma", "no-cache");
response.setHeader("Cache-Control", "no-cache, must-revalidate");
response.setHeader("Cache-Control","no-store");
response.setDateHeader("Expires",0);
return response;
}}
解决方案 »
- 关于JSP连接数据库sql2005 分少见谅,谢谢大侠
- 求jqGrid的jsp例子!!
- [Hibernate][关于插入更新数据] 各位大哥大姐大叔大婶走过路过不要错过的帮我来看看这个入门问题
- 代码没有预想的效果 高手帮忙看看啊
- jsp连接access不能进行新增 修改 删除 急啊 摆脱高手看看
- JSP 容器 (如Tomcat) 与 PHP 服务器 (如Apache) 整合,是否会有问题,功能的缺失
- javascript中如何比较两个字符串形式的时间之间的分差
- 求助:sevrlet 问题
- 谁能帮我提供个JAVA WEB 方面开发的实习机会?
- 请教Jsp+数据库用经验者!!!!多谢!一定给分!
- struts2 action无法获得jsp页面中的参数
- 求助
可以在你的这个service里注入多个dao
在配置文件里配置好就行了
还有你的结贴率是0.00%,希望你能把以前的帖子接了。。
DAO类其实也只是一个普通的Bean,只不过是实现了访问数据库的操作
Dao的注入就行了