📄 providerproductaction.java
字号:
}
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 + -