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

📄 providerproductaction.java

📁 shopping home JSP system
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
                }
                bean.setBigPicture(null);
            } else
            if(pForm.getBigPicData() != null && pForm.getBigPicData().getFileSize() > 0)
            {
                String fileName = updateAdElement(pForm.getBigPicData(), bean.getBigPicture(), "big");
                bean.setBigPicture(fileName);
            }
            ProductBO bo = new ProductBO();
            bean.setUpdateTime(DateUtil.getSysDateString());
            bean.setCorpId(provider.getId());
            bo.updateBean(pForm.getBean());
            String sql = " from ProductCategoryRelation as pcr where prc.productId='" + bean.getId() + "'";
            List categorys = provider.getProductCategorys();
            if(categorys != null && categorys.size() > 0)
            {
                sql = sql + " and pcr.categoryId in(";
                for(int i = 0; i < categorys.size(); i++)
                {
                    sql = sql + "'" + (String)categorys.get(i) + "'";
                    if(i != categorys.size() - 1)
                        sql = sql + ",";
                }

            }
            ProductCategoryRelationBO rbo = new ProductCategoryRelationBO();
            rbo.delete(sql);
            String selected[] = pForm.getSelected();
            if(selected != null && selected.length > 0)
            {
                for(int i = 0; i < selected.length; i++)
                {
                    ProductCategoryRelation prelation = new ProductCategoryRelation();
                    prelation.setCategoryId(selected[i]);
                    prelation.setProductId(pForm.getBean().getId());
                    rbo.addBean(prelation);
                }

            }
            if(bean.getTemplate() != null)
                updateTemplateFieldsData(request, form, bean);
            request.setAttribute("update_success", "true");
        }
        catch(Exception e)
        {
            generalError(request, e);
            return mapping.findForward("fail");
        }
        return mapping.findForward("edit");
    }

    public ActionForward performChangetemplate(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response)
    {
        return mapping.findForward("add");
    }

    public ActionForward performRemove(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response)
    {
        try
        {
            if(isRedirect)
                return null;
            ProviderProductForm pform = (ProviderProductForm)form;
            String selected[] = pform.getSelected();
            ProductBO bo = new ProductBO();
            if(selected != null && selected.length > 0)
            {
                for(int i = 0; i < selected.length; i++)
                {
                    String sel = selected[i];
                    try
                    {
                        bo.deleteById(sel);
                        bo.delete("from TemplateTextField field where field.productId='" + sel + "'");
                        bo.delete("from TemplateBlobField field where field.productId='" + sel + "'");
                        bo.delete("from ProductCategoryRelation relation where relation.productId='" + sel + "'");
                        bo.delete("from ProductRelation relation where relation.productId='" + sel + "' or relation.reproductId='" + sel + "'");
                    }
                    catch(Exception e)
                    {
                        e.printStackTrace();
                    }
                }

            }
            return performList(mapping, form, request, response);
        }
        catch(Exception e)
        {
            generalError(request, e);
        }
        return mapping.findForward("fail");
    }

    protected boolean isObjectExisted(PubBean bean)
    {
        return false;
    }

    private void updateBlobField(Product bean, HttpServletRequest request, TemplateBlobFieldBO bo, TemplateBlobField field, Hashtable files)
    {
        try
        {
            field.setProductId(bean.getId());
            String removePhoto = request.getParameter("removephoto" + field.getFieldId());
            if(removePhoto != null && removePhoto.equals("true"))
            {
                try
                {
                    FileUtil.deleteFile(request.getRealPath(field.getFieldValue()));
                }
                catch(Exception ex)
                {
                    ex.printStackTrace();
                }
                field.setFieldValue(null);
                if(!StringUtil.isEmpty(field.getId()))
                {
                    bo.updateBean(field);
                    return;
                }
            }
            FormFile formFile = (FormFile)files.get(field.getFieldId());
            if(formFile != null && formFile.getFileData() != null && formFile.getFileData().length > 0)
            {
                String fileName = updateAdElement(formFile, field.getFieldValue(), field.getId());
                field.setFieldValue(fileName);
                if(StringUtil.isEmpty(field.getId()))
                    bo.addBean(field);
                else
                    bo.updateBean(field);
            }
        }
        catch(Exception ex)
        {
            ex.printStackTrace();
        }
    }

    private void updateTextField(Product bean, HttpServletRequest request, TemplateTextFieldBO bo, TemplateTextField field, Hashtable files)
    {
        try
        {
            String fieldValue = request.getParameter(field.getFieldId());
            field.setFieldValue(fieldValue);
            field.setProductId(bean.getId());
            if(StringUtil.isEmpty(field.getId()))
                bo.addBean(field);
            else
                bo.updateBean(field);
        }
        catch(Exception ex)
        {
            ex.printStackTrace();
        }
    }

    private void updateTemplateFieldsData(HttpServletRequest request, ActionForm form, Product bean)
        throws Exception
    {
        if(bean.getTemplate() == null)
            return;
        TemplateTextFieldBO templateTextFieldBo = new TemplateTextFieldBO();
        TemplateBlobFieldBO templateBlobFieldBo = new TemplateBlobFieldBO();
        Hashtable files = null;
        if(form.getMultipartRequestHandler() != null)
            files = form.getMultipartRequestHandler().getFileElements();
        List templateCategorys = ProductHelper.getTemplateCategorys();
        if(templateCategorys != null && templateCategorys.size() > 0)
        {
            for(int i = 0; i < templateCategorys.size(); i++)
            {
                TemplateCategory category = (TemplateCategory)templateCategorys.get(i);
                List fieldDatas = bean.getFieldsData(category.getId(), category.getType());
                for(Iterator it = fieldDatas.iterator(); it.hasNext();)
                    if("img".equals(category.getType()) && files != null && files.size() > 0)
                    {
                        TemplateBlobField blobField = (TemplateBlobField)it.next();
                        updateBlobField(bean, request, templateBlobFieldBo, blobField, files);
                    } else
                    {
                        TemplateTextField textField = (TemplateTextField)it.next();
                        updateTextField(bean, request, templateTextFieldBo, textField, files);
                    }

            }

        }
    }

    private List getRelationProducts(String productId)
    {
        if(StringUtil.isEmpty(productId))
            return null;
        String sql = "select distinct p.id, p.name,p.unitPrice, p.status, p.key, p.createTime, p.updateTime";
        sql = sql + " from Product as p, ProductRelation r where 1=1 ";
        sql = sql + "  and p.id=r.reproductId";
        sql = sql + " and r.productId='" + productId + "'";
        try
        {
            PubHibernate bo = new PubHibernate();
            List list = bo.list(sql);
            list = convertProductList(list);
            if(list != null && list.size() > 0)
                httpRequest.setAttribute("existedlist", list);
            else
                httpRequest.setAttribute("existedlist", new ArrayList());
            return list;
        }
        catch(Exception ex)
        {
            ex.printStackTrace();
        }
        return null;
    }

    private List convertProductList(List searchResult)
    {
        if(searchResult == null || searchResult.size() <= 0)
            return new ArrayList();
        List rlist = new ArrayList();
        for(int i = 0; i < searchResult.size(); i++)
        {
            Product p = new Product();
            Object o[] = (Object[])searchResult.get(i);
            String id = (String)o[0];
            String name = (String)o[1];
            Double unitPrice = (Double)o[2];
            Boolean status = (Boolean)o[3];
            String key = (String)o[4];
            String createTime = (String)o[5];
            String updateTime = (String)o[6];
            p.setId(id);
            p.setName(name);
            p.setUnitPrice(unitPrice.doubleValue());
            p.setStatus(status.booleanValue());
            p.setKey(key);
            p.setCreateTime(createTime);
            p.setUpdateTime(updateTime);
            rlist.add(p);
        }

        return rlist;
    }

    private String updateAdElement(FormFile file, String oldFileName, String type)
    {
        shopResource = ResourceBundle.getBundle("resources.shopapplication", new Locale("", ""));
        String fileRoot = shopResource.getString("product.file.root");
        try
        {
            if(file != null && file.getFileData() != null && file.getFileSize() > 0)
            {
                String currentPath = fileRoot + DateUtil.getNoSpSysDateString() + "/" + type + "/";
                String currentRoot = httpRequest.getRealPath(currentPath);
                String oldFilePath = "";
                if(!StringUtil.isEmpty(oldFileName))
                    oldFilePath = httpRequest.getRealPath(oldFileName);
                File currentFolder = new File(currentRoot);
                if(!currentFolder.exists())
                    currentFolder.mkdirs();
                if(file != null && file.getFileSize() > 0)
                {
                    String fileName = FileUtil.updateImageFileByRelPath(currentRoot + "/", oldFilePath, file);
                    return currentPath + fileName;
                }
            }
        }
        catch(Exception ex)
        {
            ex.printStackTrace();
        }
        return "";
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -