www in docker support
This commit is contained in:
parent
539a848e95
commit
c227fce036
2145 changed files with 399596 additions and 58 deletions
|
|
@ -0,0 +1,892 @@
|
|||
package it.acxent.cart.servlet;
|
||||
|
||||
import it.acxent.cart.AcCartObject;
|
||||
import it.acxent.cart.Cart;
|
||||
import it.acxent.cart.CartStatus;
|
||||
import it.acxent.common.Users;
|
||||
import it.acxent.db.ResParm;
|
||||
import it.acxent.servlet.LogonSvlt;
|
||||
import it.acxent.servlet.SavedHttpRequest;
|
||||
import it.acxent.util.AbMessages;
|
||||
import java.util.StringTokenizer;
|
||||
import javax.servlet.RequestDispatcher;
|
||||
import javax.servlet.ServletRequest;
|
||||
import javax.servlet.ServletResponse;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.servlet.http.HttpSession;
|
||||
|
||||
public abstract class AcCartSvlt extends LogonSvlt {
|
||||
protected static String ACT_ADD_ONE = "one";
|
||||
|
||||
protected static String ACT_CHECK_OUT = "checkOut";
|
||||
|
||||
protected static String ACT_LOGIN = "login";
|
||||
|
||||
public static String CAL_CR = "cr";
|
||||
|
||||
public static String CAL_MD = "md";
|
||||
|
||||
public static String CAL_CAT = "cat";
|
||||
|
||||
protected static String JSP_CART = "cart.jsp";
|
||||
|
||||
protected static String ATTR_THE_PAGE = "thePage";
|
||||
|
||||
protected static String JSP_CHECKOUT = "checkOut.jsp";
|
||||
|
||||
protected static String JSP_CHECKOUT_NO_REG = "checkOutNoReg.jsp";
|
||||
|
||||
protected static String JSP_HOME = "index.jsp";
|
||||
|
||||
public static String JSP_LOSTPASSWORD = "lostPwd.jsp";
|
||||
|
||||
protected static String JSP_ORDER = "order.jsp";
|
||||
|
||||
protected static String JSP_ORDER_NO_REG = "orderNoReg.jsp";
|
||||
|
||||
protected static String ACT_LOSTPWD = "lostPwd";
|
||||
|
||||
public static String ATTR_CART = "cart";
|
||||
|
||||
public static String ATTR_CART_STATUS = "cartStatus";
|
||||
|
||||
public static String CMD_ADD_ITEMS = "addItems";
|
||||
|
||||
protected static String DEFAULT_CATALOG_SVLT = "/Catalogo.abl";
|
||||
|
||||
protected static String CMD_CHECK_CART = "checkCart";
|
||||
|
||||
protected static String CMD_CHECKOUT = "checkOut";
|
||||
|
||||
protected static String CMD_LOGOUT = "logout";
|
||||
|
||||
protected static String CMD_DELETE_CART = "deleteCart";
|
||||
|
||||
public static String CMD_DELETE_ITEM = "deleteItem";
|
||||
|
||||
protected static String CMD_MODIFY_ITEM = "modifyItem";
|
||||
|
||||
protected static String CMD_MODIFY_ITEMS = "modifyItems";
|
||||
|
||||
protected static String CMD_UPDATE_CART = "updateCart";
|
||||
|
||||
public static String PROP_ORDER = "bean";
|
||||
|
||||
public static String CMD_LOSTPWD = "lostPwd";
|
||||
|
||||
public static String ATTR_LOSTPWDEMAIL = "lostPwdEmail";
|
||||
|
||||
public static String CMD_ADD_ITEM = "addItem";
|
||||
|
||||
protected static String CMD_LOGON = "logon";
|
||||
|
||||
protected static String ACT_CHECK_OUT_NO_LOGIN = "checkOutNL";
|
||||
|
||||
protected static String CMD_CHECKOUT_NO_REG = "checkOutNoReg";
|
||||
|
||||
protected void addItems(HttpServletRequest req, HttpServletResponse res) {}
|
||||
|
||||
protected void callJsp(HttpServletRequest req, HttpServletResponse res) {
|
||||
if (!getCal(req).isEmpty()) {
|
||||
setJspPageRelative(getCal(req), req);
|
||||
} else {
|
||||
setJspPageRelative("cart.jsp", req);
|
||||
}
|
||||
try {
|
||||
RequestDispatcher rd = getServletContext().getRequestDispatcher(getJspPage(req));
|
||||
rd.forward((ServletRequest)req, (ServletResponse)res);
|
||||
} catch (Exception e) {
|
||||
handleDebug(e);
|
||||
}
|
||||
}
|
||||
|
||||
protected void checkCart(HttpServletRequest req, HttpServletResponse res) {
|
||||
try {
|
||||
Cart cart = getCart(req);
|
||||
if (cart.getNumberOfItems() == 0L) {
|
||||
String msg = "CheckCart: Il carrello è vuoto!";
|
||||
handleDebug(msg);
|
||||
sendMessage(req, msg);
|
||||
callJsp(req, res);
|
||||
} else {
|
||||
Users utente = getLoginUser(req);
|
||||
if (utente != null && utente.getId_userProfile() == utente.getIdUserProfileNoReg()) {
|
||||
req.getSession().removeAttribute("utenteLogon");
|
||||
req.getSession().removeAttribute("loginUser_id");
|
||||
}
|
||||
afterCheckCart(req, res);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
handleDebug(e);
|
||||
}
|
||||
}
|
||||
|
||||
protected void checkOut(HttpServletRequest req, HttpServletResponse res) {
|
||||
CartStatus cartStatus = new CartStatus();
|
||||
try {
|
||||
Cart cart = getCart(req);
|
||||
if (getAct(req).equals(ATTR_CART)) {
|
||||
if (cart.getNumberOfItems() == 0L) {
|
||||
String msg = "CheckOut: Si è tentato di utilizzare un carrello vuoto!!!!";
|
||||
handleDebug(msg);
|
||||
forceMessage(req, msg);
|
||||
cartStatus.setStatus(CartStatus.ST_CHECK_OUT_ERROR);
|
||||
req.setAttribute(ATTR_CART_STATUS, cartStatus);
|
||||
setCart(req, cart);
|
||||
afterCheckCart(req, res);
|
||||
} else {
|
||||
cartStatus.setStatus(CartStatus.ST_OK);
|
||||
fillObject(req, cart);
|
||||
req.setAttribute(ATTR_CART, cart);
|
||||
req.setAttribute(ATTR_CART_STATUS, cartStatus);
|
||||
afterCheckOut(req, res);
|
||||
}
|
||||
} else if (getAct(req).equals(ACT_LOGIN)) {
|
||||
if (!getLogin(req).equals(""))
|
||||
if (checkLoginName(req, res) >= 5L) {
|
||||
if (!isFirstAccess(req)) {
|
||||
cartStatus.setStatus(CartStatus.ST_OK);
|
||||
} else {
|
||||
SavedHttpRequest shr = (SavedHttpRequest)req.getSession().getAttribute("savedHttpRequest");
|
||||
if (shr == null) {
|
||||
shr = new SavedHttpRequest();
|
||||
shr.setCompleteRequestedURI(req.getRequestURI());
|
||||
shr.setServletPath(req.getServletPath());
|
||||
shr.setAllParametersNAttributes(req);
|
||||
req.getSession().setAttribute("savedHttpRequest", shr);
|
||||
}
|
||||
forceJspPageRelative(getCheckCCPage(), req);
|
||||
RequestDispatcher rd = getServletContext().getRequestDispatcher(getJspPage(req));
|
||||
rd.forward((ServletRequest)req, (ServletResponse)res);
|
||||
}
|
||||
} else {
|
||||
sendMessage(req, AbMessages.getMessage(getLang(req), "LOGIN_FAIL"));
|
||||
}
|
||||
req.setAttribute(ATTR_CART_STATUS, cartStatus);
|
||||
getCart(req);
|
||||
afterCheckOut(req, res);
|
||||
} else if (getAct(req).equals(ACT_LOSTPWD)) {
|
||||
ResParm rp = sendLostPasswordMessage(req, res);
|
||||
if (!rp.getStatus())
|
||||
sendMessage(req, rp.getMsg());
|
||||
afterCheckOut(req, res);
|
||||
} else if (getAct(req).equals(ACT_CHECK_OUT)) {
|
||||
if (getLoginUser(req) != null) {
|
||||
if (cart.getNumberOfItems() == 0L) {
|
||||
handleDebug(AbMessages.getMessage(getLang(req), "CART_SUBMIT_EMPTY"));
|
||||
sendMessage(req, AbMessages.getMessage(getLang(req), "CART_SUBMIT_EMPTY"));
|
||||
cartStatus.setStatus(CartStatus.ST_CHECK_OUT_ERROR);
|
||||
req.setAttribute(ATTR_CART_STATUS, cartStatus);
|
||||
setCart(req, cart);
|
||||
afterCheckOut(req, res);
|
||||
} else if (checkAvailability(req) && !cart.areAllItemsAvailable()) {
|
||||
String msg = "CheckOut: Attenzione! Alcuni articoli non sono più disponibili!!!";
|
||||
handleDebug(msg);
|
||||
forceMessage(req, msg);
|
||||
cartStatus.setStatus(CartStatus.ST_CHECK_OUT_ERROR);
|
||||
req.setAttribute(ATTR_CART_STATUS, cartStatus);
|
||||
setCart(req, cart);
|
||||
afterCheckCart(req, res);
|
||||
} else {
|
||||
fillObject(req, cart);
|
||||
setCart(req, cart);
|
||||
ResParm rp = recordOrder(req, res);
|
||||
if (rp.getStatus()) {
|
||||
if (sendCheckOutMessage(req, res).getStatus()) {
|
||||
cartStatus.setStatus(CartStatus.ST_CHECK_OUT_OK);
|
||||
} else {
|
||||
cartStatus.setStatus(CartStatus.ST_CHECK_OUT_OK_NO_MAIL);
|
||||
sendMessage(req, rp.getMsg());
|
||||
}
|
||||
req.setAttribute(ATTR_CART_STATUS, cartStatus);
|
||||
removeCart(req);
|
||||
afterOrderRecorded(req, res);
|
||||
} else {
|
||||
sendMessage(req, rp.getMsg());
|
||||
setJspPageRelative(getJspCheckOutPage(req), req);
|
||||
callJsp(req, res);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
sendMessage(req, AbMessages.getMessage(getLang(req), "CART_NEED_LOGIN"));
|
||||
afterCheckOut(req, res);
|
||||
}
|
||||
} else if (getAct(req).equals(ACT_CHECK_OUT_NO_LOGIN)) {
|
||||
if (cart.getNumberOfItems() == 0L) {
|
||||
handleDebug(AbMessages.getMessage(getLang(req), "CART_SUBMIT_EMPTY"));
|
||||
sendMessage(req, AbMessages.getMessage(getLang(req), "CART_SUBMIT_EMPTY"));
|
||||
cartStatus.setStatus(CartStatus.ST_CHECK_OUT_ERROR);
|
||||
req.setAttribute(ATTR_CART_STATUS, cartStatus);
|
||||
setCart(req, cart);
|
||||
afterCheckOut(req, res);
|
||||
} else {
|
||||
fillObject(req, cart);
|
||||
setCart(req, cart);
|
||||
ResParm rp = recordOrder(req, res);
|
||||
if (rp.getStatus()) {
|
||||
if (sendCheckOutMessage(req, res).getStatus()) {
|
||||
cartStatus.setStatus(CartStatus.ST_CHECK_OUT_OK);
|
||||
} else {
|
||||
cartStatus.setStatus(CartStatus.ST_CHECK_OUT_OK_NO_MAIL);
|
||||
sendMessage(req, rp.getMsg());
|
||||
}
|
||||
req.setAttribute(ATTR_CART_STATUS, cartStatus);
|
||||
removeCart(req);
|
||||
afterOrderRecorded(req, res);
|
||||
} else {
|
||||
sendMessage(req, rp.getMsg());
|
||||
afterCheckOut(req, res);
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
handleDebug(e);
|
||||
sendMessage(req, e.getMessage());
|
||||
callJsp(req, res);
|
||||
}
|
||||
}
|
||||
|
||||
protected void logOut(HttpServletRequest req, HttpServletResponse res) {
|
||||
try {
|
||||
req.getSession().removeAttribute("utenteLogon");
|
||||
req.getSession().removeAttribute("loginUser_id");
|
||||
setJspPageRelative(JSP_HOME, req);
|
||||
_updateCart(req);
|
||||
callJsp(req, res);
|
||||
} catch (Exception e) {
|
||||
handleDebug(e);
|
||||
sendMessage(req, e.getMessage());
|
||||
callJsp(req, res);
|
||||
}
|
||||
}
|
||||
|
||||
protected void lostPasword(HttpServletRequest req, HttpServletResponse res) {
|
||||
try {
|
||||
CartStatus cs = new CartStatus();
|
||||
ResParm rp = sendLostPasswordMessage(req, res);
|
||||
if (!rp.getStatus()) {
|
||||
forceMessage(req, rp.getMsg());
|
||||
cs.setStatus(CartStatus.ST_LOSTPWD_SEND_ERROR);
|
||||
req.setAttribute(ATTR_CART_STATUS, cs);
|
||||
} else {
|
||||
forceMessage(req, rp.getMsg());
|
||||
cs.setStatus(CartStatus.ST_LOSTPWD_SEND_OK);
|
||||
req.setAttribute(ATTR_CART_STATUS, cs);
|
||||
}
|
||||
req.setAttribute(ATTR_THE_PAGE, getRequestParameter(req, ATTR_THE_PAGE));
|
||||
setJspPageRelative(getJspLostPasswordPage(req), req);
|
||||
callJsp(req, res);
|
||||
} catch (Exception e) {
|
||||
handleDebug(e);
|
||||
sendMessage(req, e.getMessage());
|
||||
callJsp(req, res);
|
||||
}
|
||||
}
|
||||
|
||||
protected void deleteCart(HttpServletRequest req, HttpServletResponse res) {
|
||||
try {
|
||||
removeCart(req);
|
||||
afterDeleteCart(req, res);
|
||||
} catch (Exception e) {
|
||||
handleDebug(e);
|
||||
}
|
||||
}
|
||||
|
||||
protected void deleteItem(HttpServletRequest req, HttpServletResponse res) {
|
||||
try {
|
||||
AcCartObject aco = getCartObject(req);
|
||||
Cart cart = getCart(req);
|
||||
cart.remove(aco);
|
||||
setCart(req, cart);
|
||||
if (cart.getNumberOfItems() == 0L) {
|
||||
String msg = "Il carrello è vuoto!";
|
||||
handleDebug(msg);
|
||||
sendMessage(req, msg);
|
||||
}
|
||||
afterDeleteItem(req, res);
|
||||
callJsp(req, res);
|
||||
} catch (Exception e) {
|
||||
handleDebug(e);
|
||||
}
|
||||
}
|
||||
|
||||
protected String getAfterAddItemServlet(HttpServletRequest req) {
|
||||
return DEFAULT_CATALOG_SVLT;
|
||||
}
|
||||
|
||||
protected Cart getCart(HttpServletRequest req) {
|
||||
HttpSession session = req.getSession(true);
|
||||
Cart cart = null;
|
||||
if (session.getAttribute(ATTR_CART) != null) {
|
||||
cart = (Cart)session.getAttribute(ATTR_CART);
|
||||
cart.setApplParmFull(getApFull(req));
|
||||
updateDeliveryCost(cart, req);
|
||||
} else {
|
||||
cart = new Cart(getApFull(req));
|
||||
updateDeliveryCost(cart, req);
|
||||
}
|
||||
if (cart != null)
|
||||
setCart(req, cart);
|
||||
return cart;
|
||||
}
|
||||
|
||||
protected String getJspCartPage(HttpServletRequest req) {
|
||||
return JSP_CART;
|
||||
}
|
||||
|
||||
protected String getJspCheckOutPage(HttpServletRequest req) {
|
||||
return JSP_CHECKOUT;
|
||||
}
|
||||
|
||||
protected String getJspCheckOutNoRegPage(HttpServletRequest req) {
|
||||
return JSP_CHECKOUT_NO_REG;
|
||||
}
|
||||
|
||||
protected String getJspHomePage(HttpServletRequest req) {
|
||||
return JSP_HOME;
|
||||
}
|
||||
|
||||
protected String getJspLostPasswordPage(HttpServletRequest req) {
|
||||
return JSP_LOSTPASSWORD;
|
||||
}
|
||||
|
||||
protected String getJspOrderPage(HttpServletRequest req) {
|
||||
return JSP_ORDER;
|
||||
}
|
||||
|
||||
protected String getJspOrderPageNoReg(HttpServletRequest req) {
|
||||
return JSP_ORDER_NO_REG;
|
||||
}
|
||||
|
||||
public abstract AcCartObject getCartObject(HttpServletRequest paramHttpServletRequest) throws Exception;
|
||||
|
||||
protected String getCheckOutMailMessage() {
|
||||
return getParm(Cart.P_CHECKOUTMSG).getTesto();
|
||||
}
|
||||
|
||||
protected String getCheckOutMailMessage(String lang) {
|
||||
String temp = getParm(Cart.P_CHECKOUTMSG).getTesto();
|
||||
if (lang != null && !lang.isEmpty()) {
|
||||
int dot = temp.lastIndexOf(".");
|
||||
if (dot > 0)
|
||||
temp = temp.substring(0, dot) + "_" + temp.substring(0, dot) + lang.toLowerCase();
|
||||
}
|
||||
return temp;
|
||||
}
|
||||
|
||||
protected String getLostPasswordMailMessage() {
|
||||
return getParm(Cart.P_CHECKOUTMSG).getTesto();
|
||||
}
|
||||
|
||||
protected boolean isUsePriceWithVat(HttpServletRequest req) {
|
||||
return !(getParm(Cart.P_USE_PRICE_WITH_VAT).getNumeroInt() == 0);
|
||||
}
|
||||
|
||||
protected double getDeliveryCost(HttpServletRequest req, Cart cart) {
|
||||
return getParm(Cart.P_DELIVERY_COST).getNumeroDouble();
|
||||
}
|
||||
|
||||
protected boolean isCostoSpedizioneFull() {
|
||||
return getParm("CC_COSTO_SPED_FULL").isTrue();
|
||||
}
|
||||
|
||||
protected long getDeliveryIvaId(HttpServletRequest req) {
|
||||
return getParm(Cart.P_DELIVERY_IVA_ID).getNumeroLong();
|
||||
}
|
||||
|
||||
protected double getDeliveryIvaAliquota(HttpServletRequest req) {
|
||||
return getParm(Cart.P_DELIVERY_IVA_ALIQUOTA).getNumeroDouble();
|
||||
}
|
||||
|
||||
protected void modifyItem(HttpServletRequest req, HttpServletResponse res) {
|
||||
try {
|
||||
AcCartObject aco = getCartObject(req);
|
||||
Cart cart = getCart(req);
|
||||
if (aco.getId().equals(""));
|
||||
ResParm rp = cart.add(aco, checkAvailability(req));
|
||||
if (!rp.getStatus())
|
||||
sendMessage(req, rp.getMsg());
|
||||
setCart(req, cart);
|
||||
afterModifyItems(req, res);
|
||||
} catch (Exception e) {
|
||||
handleDebug(e);
|
||||
}
|
||||
}
|
||||
|
||||
protected void modifyItems(HttpServletRequest req, HttpServletResponse res) {
|
||||
try {
|
||||
AcCartObject aco = null;
|
||||
String l_id = "";
|
||||
double l_quantita = 1.0D;
|
||||
Cart cart = getCart(req);
|
||||
String l_id_itemsVector = getRequestParameter(req, "id_itemsVector");
|
||||
l_id_itemsVector = l_id_itemsVector.replace('\'', ' ');
|
||||
StringTokenizer st = new StringTokenizer(l_id_itemsVector, ",");
|
||||
while (st.hasMoreTokens()) {
|
||||
l_id = st.nextToken().trim();
|
||||
req.setAttribute("id", l_id);
|
||||
aco = getCartObject(req);
|
||||
if (req.getParameter("qt_" + l_id) != null &&
|
||||
!req.getParameter("qt_" + l_id).equals(""))
|
||||
l_quantita = getRequestDoubleParameter(req, "qt_" + l_id);
|
||||
aco.setQuantity(l_quantita);
|
||||
ResParm rp = cart.add(aco, checkAvailability(req));
|
||||
if (!rp.getStatus())
|
||||
sendMessage(req, rp.getMsg());
|
||||
}
|
||||
setCart(req, cart);
|
||||
afterModifyItems(req, res);
|
||||
} catch (Exception e) {
|
||||
handleDebug(e);
|
||||
}
|
||||
}
|
||||
|
||||
protected void otherCommands(HttpServletRequest req, HttpServletResponse res) {
|
||||
checkCart(req, res);
|
||||
}
|
||||
|
||||
protected void processRequest(HttpServletRequest req, HttpServletResponse res) {
|
||||
String cmd = getCmd(req);
|
||||
forceJspPage("", req);
|
||||
if (cmd.equals(CMD_ADD_ITEM)) {
|
||||
addItem(req, res);
|
||||
} else if (cmd.equals(CMD_ADD_ITEMS)) {
|
||||
addItems(req, res);
|
||||
} else if (cmd.equals(CMD_MODIFY_ITEM)) {
|
||||
modifyItem(req, res);
|
||||
} else if (cmd.equals(CMD_MODIFY_ITEMS)) {
|
||||
modifyItems(req, res);
|
||||
} else if (cmd.equals(CMD_DELETE_ITEM)) {
|
||||
deleteItem(req, res);
|
||||
} else if (cmd.equals(CMD_DELETE_CART)) {
|
||||
deleteCart(req, res);
|
||||
} else if (cmd.equals(CMD_CHECK_CART)) {
|
||||
checkCart(req, res);
|
||||
} else if (cmd.startsWith(CMD_CHECKOUT_NO_REG)) {
|
||||
checkOutNoReg(req, res);
|
||||
} else if (cmd.startsWith(CMD_CHECKOUT)) {
|
||||
checkOut(req, res);
|
||||
} else if (cmd.equals(CMD_LOGOUT)) {
|
||||
logOut(req, res);
|
||||
} else if (cmd.equals(CMD_LOGON)) {
|
||||
logOn(req, res);
|
||||
} else if (cmd.equals(CMD_LOSTPWD)) {
|
||||
lostPasword(req, res);
|
||||
} else if (cmd.equals(CMD_UPDATE_CART)) {
|
||||
_updateCart(req);
|
||||
} else {
|
||||
ResParm rp = callCmdMethod(req, res);
|
||||
if (!rp.getStatus()) {
|
||||
if (!rp.getMsg().isEmpty())
|
||||
sendMessage(req, rp.getMsg());
|
||||
otherCommands(req, res);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected abstract ResParm recordOrder(HttpServletRequest paramHttpServletRequest, HttpServletResponse paramHttpServletResponse);
|
||||
|
||||
protected void removeCart(HttpServletRequest req) {
|
||||
req.getSession(true).removeAttribute(ATTR_CART);
|
||||
}
|
||||
|
||||
protected abstract ResParm sendCheckOutMessage(HttpServletRequest paramHttpServletRequest, HttpServletResponse paramHttpServletResponse);
|
||||
|
||||
protected abstract ResParm sendLostPasswordMessage(HttpServletRequest paramHttpServletRequest, HttpServletResponse paramHttpServletResponse);
|
||||
|
||||
protected void setCart(HttpServletRequest req, Cart cart) {
|
||||
cart.setApplParmFull(getApFull(req));
|
||||
cart.setDeliveryCostSetted(false);
|
||||
req.getSession(true).setAttribute(ATTR_CART, cart);
|
||||
}
|
||||
|
||||
protected void afterAddItem(HttpServletRequest req, HttpServletResponse res) {
|
||||
try {
|
||||
if (getCal(req).equals(CAL_CR)) {
|
||||
req.setAttribute("cmd", "search");
|
||||
req.setAttribute("act", CAL_CR);
|
||||
RequestDispatcher rd = getServletContext().getRequestDispatcher(getAfterAddItemServlet(req));
|
||||
rd.forward((ServletRequest)req, (ServletResponse)res);
|
||||
} else {
|
||||
req.setAttribute("cmd", "md");
|
||||
req.setAttribute("act", CMD_ADD_ITEM);
|
||||
RequestDispatcher rd = getServletContext().getRequestDispatcher(getAfterAddItemServlet(req));
|
||||
rd.forward((ServletRequest)req, (ServletResponse)res);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
handleDebug(e);
|
||||
}
|
||||
}
|
||||
|
||||
protected void afterCheckCart(HttpServletRequest req, HttpServletResponse res) {
|
||||
setJspPageRelative(getJspCartPage(req), req);
|
||||
try {
|
||||
callJsp(req, res);
|
||||
} catch (Exception e) {
|
||||
handleDebug(e);
|
||||
}
|
||||
}
|
||||
|
||||
protected void afterCheckOut(HttpServletRequest req, HttpServletResponse res) {
|
||||
setJspPageRelative(getJspCheckOutPage(req), req);
|
||||
callJsp(req, res);
|
||||
}
|
||||
|
||||
protected void afterDeleteCart(HttpServletRequest req, HttpServletResponse res) {
|
||||
setJspPageRelative(getJspHomePage(req), req);
|
||||
try {
|
||||
RequestDispatcher rd = getServletContext().getRequestDispatcher(getJspPage(req));
|
||||
rd.forward((ServletRequest)req, (ServletResponse)res);
|
||||
} catch (Exception e) {
|
||||
handleDebug(e);
|
||||
}
|
||||
}
|
||||
|
||||
protected void afterDeleteItem(HttpServletRequest req, HttpServletResponse res) {
|
||||
try {
|
||||
checkCart(req, res);
|
||||
} catch (Exception e) {
|
||||
handleDebug(e);
|
||||
}
|
||||
}
|
||||
|
||||
protected void afterModifyItems(HttpServletRequest req, HttpServletResponse res) {
|
||||
try {
|
||||
checkCart(req, res);
|
||||
} catch (Exception e) {
|
||||
handleDebug(e);
|
||||
}
|
||||
}
|
||||
|
||||
protected void afterOrderRecorded(HttpServletRequest req, HttpServletResponse res) {
|
||||
setJspPageRelative(getJspOrderPage(req), req);
|
||||
callJsp(req, res);
|
||||
}
|
||||
|
||||
protected void afterOrderRecordedNoReg(HttpServletRequest req, HttpServletResponse res) {
|
||||
setJspPageRelative(getJspOrderPageNoReg(req), req);
|
||||
callJsp(req, res);
|
||||
}
|
||||
|
||||
protected boolean useControlCodeAccess() {
|
||||
return false;
|
||||
}
|
||||
|
||||
protected boolean usePriceWithVat() {
|
||||
return true;
|
||||
}
|
||||
|
||||
protected boolean useDeliveryCostOnUser() {
|
||||
return true;
|
||||
}
|
||||
|
||||
protected boolean checkControlCode(HttpServletRequest req) {
|
||||
try {
|
||||
Users ute = (Users)req.getSession().getAttribute("utenteCC");
|
||||
if (ute == null)
|
||||
return false;
|
||||
ute.findByPrimaryKey(new Long(ute.getId_users()));
|
||||
String controlCode = "";
|
||||
if (req.getParameter("controlCode") != null &&
|
||||
!req.getParameter("controlCode").equals(""))
|
||||
controlCode = req.getParameter("controlCode");
|
||||
if (!ute.getControlCode().equals(controlCode)) {
|
||||
sendMessage(req, AbMessages.getMessage(getLocale(req), "CONTROL_CODE_FAIL"));
|
||||
handleDebug(AbMessages.getMessage(getLocale(req), "CONTROL_CODE_FAIL"), 2);
|
||||
setJspPageRelative(getCheckCCPage(), req);
|
||||
return false;
|
||||
}
|
||||
sendMessage(req, AbMessages.getMessage(getLocale(req), "CONTROL_CODE_OK"));
|
||||
handleDebug(AbMessages.getMessage(getLocale(req), "CONTROL_CODE_OK"));
|
||||
ute.setControlCode("");
|
||||
ute.save();
|
||||
req.getSession().removeAttribute("utenteCC");
|
||||
req.getSession().setAttribute("utenteLogon", ute);
|
||||
req.getSession().setAttribute("loginUser_id", new Long(ute.getId_users()));
|
||||
return true;
|
||||
} catch (Exception e) {
|
||||
handleDebug(e);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
protected String getCheckCCPage() {
|
||||
if (!getWebappResource("controlCodePage").equals(""))
|
||||
return getWebappResource("controlCodePage");
|
||||
return "controlCode.jsp";
|
||||
}
|
||||
|
||||
protected boolean isFirstAccess(HttpServletRequest req) {
|
||||
if (useControlCodeAccess())
|
||||
try {
|
||||
Users ute = (Users)req.getSession().getAttribute("utenteLogon");
|
||||
ute.findByPrimaryKey(new Long(ute.getId_users()));
|
||||
if (!ute.getControlCode().equals("")) {
|
||||
req.getSession().removeAttribute("loginUser_id");
|
||||
req.getSession().removeAttribute("utenteLogon");
|
||||
req.getSession().setAttribute("utenteCC", ute);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
} catch (Exception e) {
|
||||
handleDebug(e);
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
protected double getMoreCost(HttpServletRequest req) {
|
||||
return getParm(Cart.P_MORE_COST).getNumeroDouble();
|
||||
}
|
||||
|
||||
protected void addItem(HttpServletRequest req, HttpServletResponse res) {
|
||||
try {
|
||||
AcCartObject aco = getCartObject(req);
|
||||
Cart cart = getCart(req);
|
||||
CartStatus cartStatus = new CartStatus();
|
||||
String act = getAct(req);
|
||||
if (act.equals(ACT_ADD_ONE)) {
|
||||
ResParm rp = cart.quantityIncrement(aco, checkAvailability(req));
|
||||
if (!rp.getStatus()) {
|
||||
sendMessage(req, rp.getMsg());
|
||||
cartStatus.setStatus(22L);
|
||||
} else {
|
||||
cartStatus.setStatus(21L);
|
||||
}
|
||||
} else {
|
||||
ResParm rp = cart.add(aco, checkAvailability(req));
|
||||
if (!rp.getStatus()) {
|
||||
sendMessage(req, rp.getMsg());
|
||||
cartStatus.setStatus(22L);
|
||||
} else {
|
||||
cartStatus.setStatus(21L);
|
||||
}
|
||||
}
|
||||
req.setAttribute(ATTR_CART_STATUS, cartStatus);
|
||||
updateDeliveryCost(cart, req);
|
||||
setCart(req, cart);
|
||||
afterAddItem(req, res);
|
||||
} catch (Exception e) {
|
||||
handleDebug(e);
|
||||
}
|
||||
}
|
||||
|
||||
protected double getDeliveryWarnCost(HttpServletRequest req) {
|
||||
return getParm(Cart.P_DELIVERY_WARN_COST).getNumeroDouble();
|
||||
}
|
||||
|
||||
protected void logOn(HttpServletRequest req, HttpServletResponse res) {
|
||||
try {
|
||||
String jspPage = getCal(req);
|
||||
if (jspPage.isEmpty())
|
||||
jspPage = getJspHomePage(req);
|
||||
if (!getLogin(req).isEmpty())
|
||||
if (checkLoginName(req, res) >= 5L) {
|
||||
_updateCart(req);
|
||||
if (isFirstAccess(req)) {
|
||||
SavedHttpRequest shr = (SavedHttpRequest)req.getSession().getAttribute("savedHttpRequest");
|
||||
if (shr == null) {
|
||||
shr = new SavedHttpRequest();
|
||||
shr.setCompleteRequestedURI(req.getRequestURI());
|
||||
shr.setServletPath(req.getServletPath());
|
||||
shr.setAllParametersNAttributes(req);
|
||||
req.getSession().setAttribute("savedHttpRequest", shr);
|
||||
}
|
||||
forceJspPageRelative(getCheckCCPage(), req);
|
||||
RequestDispatcher rd = getServletContext().getRequestDispatcher(getJspPage(req));
|
||||
rd.forward((ServletRequest)req, (ServletResponse)res);
|
||||
} else {
|
||||
setJspPageRelative(jspPage, req);
|
||||
callJsp(req, res);
|
||||
}
|
||||
} else {
|
||||
_updateCart(req);
|
||||
sendMessage(req, AbMessages.getMessage(getLang(req), "LOGIN_FAIL"));
|
||||
setJspPageRelative(jspPage, req);
|
||||
callJsp(req, res);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
handleDebug(e);
|
||||
sendMessage(req, e.getMessage());
|
||||
setJspPageRelative(getCal(req), req);
|
||||
callJsp(req, res);
|
||||
}
|
||||
}
|
||||
|
||||
protected boolean checkAvailability(HttpServletRequest req) {
|
||||
return true;
|
||||
}
|
||||
|
||||
public void _updateCart(HttpServletRequest req, HttpServletResponse res) {
|
||||
HttpSession session = req.getSession(true);
|
||||
session.setAttribute(ATTR_CART, getCart(req));
|
||||
setJspPage(getLoginPage(req, res), req);
|
||||
RequestDispatcher rd = getServletContext().getRequestDispatcher(getJspPage(req));
|
||||
try {
|
||||
rd.forward((ServletRequest)req, (ServletResponse)res);
|
||||
} catch (Exception e) {
|
||||
handleDebug(e);
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
protected void checkOutNoReg(HttpServletRequest req, HttpServletResponse res) {
|
||||
CartStatus cartStatus = new CartStatus();
|
||||
try {
|
||||
Cart cart = getCart(req);
|
||||
if (getAct(req).equals(ATTR_CART)) {
|
||||
if (cart.getNumberOfItems() == 0L) {
|
||||
String msg = "CheckOut: Si è tentato di utilizzare un carrello vuoto!!!!";
|
||||
handleDebug(msg);
|
||||
forceMessage(req, msg);
|
||||
cartStatus.setStatus(CartStatus.ST_CHECK_OUT_ERROR);
|
||||
req.setAttribute(ATTR_CART_STATUS, cartStatus);
|
||||
setCart(req, cart);
|
||||
forceJspPageRelative(getJspCheckOutPage(req), req);
|
||||
afterCheckCart(req, res);
|
||||
} else {
|
||||
cartStatus.setStatus(CartStatus.ST_OK);
|
||||
fillObject(req, cart);
|
||||
req.setAttribute(ATTR_CART, cart);
|
||||
req.setAttribute(ATTR_CART_STATUS, cartStatus);
|
||||
afterCheckOutNoReg(req, res);
|
||||
}
|
||||
} else if (getAct(req).equals(ACT_CHECK_OUT)) {
|
||||
if (cart.getNumberOfItems() == 0L) {
|
||||
handleDebug(AbMessages.getMessage(getLang(req), "CART_SUBMIT_EMPTY"));
|
||||
sendMessage(req, AbMessages.getMessage(getLang(req), "CART_SUBMIT_EMPTY"));
|
||||
cartStatus.setStatus(CartStatus.ST_CHECK_OUT_ERROR);
|
||||
req.setAttribute(ATTR_CART_STATUS, cartStatus);
|
||||
setCart(req, cart);
|
||||
afterCheckOut(req, res);
|
||||
} else {
|
||||
fillObject(req, cart);
|
||||
setCart(req, cart);
|
||||
ResParm rp = recordOrderNoReg(req, res);
|
||||
if (rp.getStatus()) {
|
||||
if (sendCheckOutMessage(req, res).getStatus()) {
|
||||
cartStatus.setStatus(CartStatus.ST_CHECK_OUT_OK);
|
||||
} else {
|
||||
cartStatus.setStatus(CartStatus.ST_CHECK_OUT_OK_NO_MAIL);
|
||||
sendMessage(req, rp.getMsg());
|
||||
}
|
||||
req.setAttribute(ATTR_CART_STATUS, cartStatus);
|
||||
removeCart(req);
|
||||
afterOrderRecorded(req, res);
|
||||
} else {
|
||||
sendMessage(req, rp.getMsg());
|
||||
forceJspPageRelative(getJspCheckOutNoRegPage(req), req);
|
||||
afterCheckOutNoReg(req, res);
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
handleDebug(e);
|
||||
sendMessage(req, e.getMessage());
|
||||
callJsp(req, res);
|
||||
}
|
||||
}
|
||||
|
||||
protected void afterCheckOutNoReg(HttpServletRequest req, HttpServletResponse res) {
|
||||
setJspPageRelative(getJspCheckOutNoRegPage(req), req);
|
||||
callJsp(req, res);
|
||||
}
|
||||
|
||||
protected abstract ResParm recordOrderNoReg(HttpServletRequest paramHttpServletRequest, HttpServletResponse paramHttpServletResponse);
|
||||
|
||||
public void updateDeliveryCost(Cart cart, HttpServletRequest req) {
|
||||
Users users = getLoginUser(req);
|
||||
if (users == null || users.getId_users() == 0L) {
|
||||
cart.setId_users(0L);
|
||||
resetDeliveryIva();
|
||||
cart.setDeliveryCost(getDeliveryCost(req, cart));
|
||||
cart.setAliquotaIvaDelivery(getDeliveryIvaAliquota(req));
|
||||
cart.setId_ivaDelivery(getDeliveryIvaId(req));
|
||||
} else {
|
||||
cart.setId_users(users.getId_users());
|
||||
resetDeliveryIva();
|
||||
if (useDeliveryCostOnUser()) {
|
||||
if (getLoginUserId(req) != null && getLoginUserId(req) != 0L) {
|
||||
cart.setDeliveryCost(getDeliveryCost(req, cart));
|
||||
cart.setId_ivaDelivery(getDeliveryIvaId(req));
|
||||
cart.setAliquotaIvaDelivery(getDeliveryIvaAliquota(req));
|
||||
cart.setDeliveryCostSetted(true);
|
||||
cart.setUsePriceWithVat(isUsePriceWithVat(req));
|
||||
}
|
||||
System.out.println("updateDeliveryCost2: " + cart.getDeliveryCost());
|
||||
} else {
|
||||
cart.setDeliveryCost(getDeliveryCost(req, cart));
|
||||
cart.setId_ivaDelivery(getDeliveryIvaId(req));
|
||||
cart.setAliquotaIvaDelivery(getDeliveryIvaAliquota(req));
|
||||
cart.setDeliveryCostSetted(true);
|
||||
cart.setUsePriceWithVat(isUsePriceWithVat(req));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected Cart getCartOldConDeliveryCostDentro(HttpServletRequest req) {
|
||||
HttpSession session = req.getSession(true);
|
||||
Cart cart = null;
|
||||
if (session.getAttribute(ATTR_CART) != null) {
|
||||
cart = (Cart)session.getAttribute(ATTR_CART);
|
||||
cart.setApplParmFull(getApFull(req));
|
||||
if (useDeliveryCostOnUser()) {
|
||||
if (getLoginUserId(req) != null && getLoginUserId(req) != 0L) {
|
||||
cart.setDeliveryCost(getDeliveryCost(req, cart));
|
||||
cart.setDeliveryCostSetted(true);
|
||||
cart.setId_ivaDelivery(getDeliveryIvaId(req));
|
||||
cart.setAliquotaIvaDelivery(getDeliveryIvaAliquota(req));
|
||||
}
|
||||
} else {
|
||||
cart.setDeliveryCost(getDeliveryCost(req, cart));
|
||||
cart.setId_ivaDelivery(getDeliveryIvaId(req));
|
||||
cart.setAliquotaIvaDelivery(getDeliveryIvaAliquota(req));
|
||||
cart.setDeliveryCostSetted(true);
|
||||
cart.setUsePriceWithVat(isUsePriceWithVat(req));
|
||||
}
|
||||
} else {
|
||||
cart = new Cart(getApFull(req));
|
||||
if (!cart.isDeliveryCostSetted() && getDeliveryCost(req, cart) > 0.0D) {
|
||||
cart.setDeliveryCost(getDeliveryCost(req, cart));
|
||||
cart.setId_ivaDelivery(getDeliveryIvaId(req));
|
||||
cart.setAliquotaIvaDelivery(getDeliveryIvaAliquota(req));
|
||||
cart.setDeliveryCostSetted(true);
|
||||
}
|
||||
}
|
||||
if (cart != null) {
|
||||
Users users = getLoginUser(req);
|
||||
if (users == null || users.getId_users() == 0L) {
|
||||
cart.setId_users(0L);
|
||||
cart.setDeliveryCost(0.0D);
|
||||
cart.setMoreCost(0.0D);
|
||||
cart.setDeliveryWarnCost(0.0D);
|
||||
cart.setId_ivaDelivery(0L);
|
||||
} else {
|
||||
cart.setId_users(users.getId_users());
|
||||
}
|
||||
setCart(req, cart);
|
||||
}
|
||||
return cart;
|
||||
}
|
||||
|
||||
public void _updateCart(HttpServletRequest req) {
|
||||
HttpSession session = req.getSession(true);
|
||||
session.setAttribute(ATTR_CART, getCart(req));
|
||||
}
|
||||
|
||||
public void _updateCartAfterLogin(HttpServletRequest req, HttpServletResponse res) {
|
||||
HttpSession session = req.getSession(true);
|
||||
session.setAttribute(ATTR_CART, getCart(req));
|
||||
setJspPage(getLoginPage(req, res), req);
|
||||
RequestDispatcher rd = getServletContext().getRequestDispatcher(getJspPage(req));
|
||||
try {
|
||||
rd.forward((ServletRequest)req, (ServletResponse)res);
|
||||
} catch (Exception e) {
|
||||
handleDebug(e);
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
protected void resetDeliveryIva() {}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue