package com.itbaizhan.daowen.action;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.text.MessageFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.itbaizhan.daowen.bll.SystemParam;
import com.itbaizhan.daowen.dal.DALBase;
import com.itbaizhan.daowen.entity.Attachement;
import com.itbaizhan.daowen.entity.Dingdan;
import com.itbaizhan.daowen.entity.Dingdanitems;
import com.itbaizhan.daowen.entity.Huiyuan;
import com.itbaizhan.daowen.entity.Shangpin;
import com.itbaizhan.daowen.util.PagerMetal;
public class DingdanAction extends PageActionBase {
public void onLoad() {
String actiontype = request.getParameter("actiontype");
System.out.println("actiontype=" + actiontype);
if (actiontype == null)
return ;
if(actiontype.equals("modifyAmount")){
modifyAmount();
}
if (actiontype.equals("shopcart")) {
shopcart();
}
if (actiontype.equals("clearshopcart")) {
clearshopcart();
}
if (actiontype.equals("removeShangpin")) {
removeShangpin();
}
if(actiontype.equals("payfor"))
fukuan();
if(actiontype.equals("fahuo"))
fahuo();
}
private void fahuo() {
String ddid=request.getParameter("ddid");
String fahuoren=request.getParameter("fahuoren");
if(ddid!=null)
{
Dingdan dingdan=(Dingdan)DALBase.load("dingdan", "where id="+ddid);
dingdan.setStatus("已发货");
dingdan.setFahuoren(fahuoren);
dingdan.setFahuotime(new Date());
DALBase.update(dingdan);
}
String forwardurl = request.getParameter("forwardurl");
if (forwardurl != null)
try {
response.sendRedirect(SystemParam.getSiteRoot() + forwardurl);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private void fukuan() {
String ddid=request.getParameter("ddid");
String accountname=request.getParameter("accountname");
String errorurl=request.getParameter("errorurl");
if(ddid!=null)
{
Dingdan dingdan=(Dingdan)DALBase.load("dingdan", "where id="+ddid);
if(accountname!=null)
{
Huiyuan hy=(Huiyuan)DALBase.load("huiyuan", "where accountname='"+accountname+"'");
if(hy.getYue()<dingdan.getTotalprice()){
request.setAttribute("errormsg", "<label class='error'>账户余额不足于支付订单,请充值</label>");
try {
request.getRequestDispatcher("/e/huiyuan/fukuan.jsp?id="+ddid).forward(request, response);
return;
} catch (ServletException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}else {
hy.setYue((float)(hy.getYue()-dingdan.getTotalprice()));
hy.setJifen(hy.getJifen()+(int)dingdan.getTotalprice());
DALBase.update(hy);
dingdan.setStatus("已付款");
DALBase.update(dingdan);
request.getSession().setAttribute("huiyuan", hy);
}
}
}
String forwardurl = request.getParameter("forwardurl");
if (forwardurl != null)
try {
response.sendRedirect(SystemParam.getSiteRoot() + forwardurl);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/*
* 修改购物车数量
* */
private void modifyAmount(){
String spid=request.getParameter("spid");
String shuliang=request.getParameter("shuliang");
List<Dingdanitems> temlist=(List<Dingdanitems>)request.getSession().getAttribute("cart");
if(temlist!=null)
{
for(Iterator<Dingdanitems> it= temlist.iterator();it.hasNext();)
{
Dingdanitems ddi=it.next();
if(ddi.getSpid()==new Integer(spid))
{
ddi.setShuliang(new Integer(shuliang));
}
}
}
calcuateTotalfee();
String forwardurl = request.getParameter("forwardurl");
if (forwardurl != null)
try {
response.sendRedirect(SystemParam.getSiteRoot() + forwardurl);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private void removeShangpin() {
String spid=request.getParameter("spid");
List<Dingdanitems> temlist=(List<Dingdanitems>)request.getSession().getAttribute("cart");
if(temlist!=null)
{
for(Iterator<Dingdanitems> it= temlist.iterator();it.hasNext();)
{
Dingdanitems ddi=it.next();
if(ddi.getSpid()==new Integer(spid))
{
it.remove();
float totalfee=Float.parseFloat(request.getSession().getAttribute("totalfee").toString());
totalfee-=ddi.getShuliang()* Float.parseFloat(ddi.getJiage());
request.getSession().setAttribute("totalfee", totalfee);
}
}
}
String forwardurl = request.getParameter("forwardurl");
if (forwardurl != null)
try {
response.sendRedirect(SystemParam.getSiteRoot() + forwardurl);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private void clearshopcart() {
request.getSession().removeAttribute("cart");
request.getSession().removeAttribute("totalfee");
String forwardurl = request.getParameter("forwardurl");
if (forwardurl != null)
try {
response.sendRedirect(SystemParam.getSiteRoot() + forwardurl);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private void calcuateTotalfee()
{
List<Dingdanitems> cart = (List<Dingdanitems>) request.getSession()
.getAttribute("cart");
int totalfee=0;
for (Dingdanitems dditem : cart) {
totalfee += dditem.getShuliang()
* new Double(dditem.getJiage());
}
request.getSession().setAttribute("totalfee", totalfee);
}
private void shopcart() {
String forwardurl = request.getParameter("forwardurl");
// 商品ID
String spid = request.getParameter("spid");
// 商品名
String spname2 = request.getParameter("spname");
//
String command = request.getParameter("command");
// request.setCharacterEncoding("UTF-8");
float totalfee = 0;
List<Dingdanitems> cart = (List<Dingdanitems>) request.getSession()
.getAttribute("cart");
if (spid != null) {
if (cart == null) {
cart = new ArrayList<Dingdanitems>();
request.getSession().setAttribute("cart", cart);
}
Shangpin addshangpin = (Shangpin) DALBase.load("shangpin",
"where id=" + spid);
Boolean hasin = false;
for (Dingdanitems dditem : cart) {
System.out.println("addshangpin.getId()" + addshangpin.getId());
System.out.println("dditem.getId()" + dditem.getId());
if (addshangpin.getId() == dditem.getSpid()) {
hasin = true;
if (command!=null&&command.equals("modifyCount")) {
String shuliang = request.getParameter("shuliang");
dditem.setShuliang(new Integer(shuliang));
} else
dditem.setShuliang(dditem.getShuliang() + 1);
}
totalfee += dditem.getSh
- 1
- 2
- 3
- 4
前往页