@RequestMapping(value = "/createAct", method = RequestMethod.POST) public ModelAndView createAct(AddActForm form, Long addUid, HttpServletRequest request) { UserContext context = (UserContext) request.getAttribute("context"); Act act = converAct(form, context.getUid()); ModelMap mmap = new ModelMap(); try { String logo = null; long actId = 0; if (act != null && act.getName() != null) { Act oldAct = actService.getActByName(act.getName()); if (oldAct == null) { Act a = actService.createAct(act, form.getCatIds()); if (addUid != null) { userActService.addAct(addUid, a.getId()); } actId = a.getId(); logo = a.getLogo(); mmap.addAttribute("msg", "create is success"); } else { act.setId(oldAct.getId()); act.setActive(oldAct.getActive()); if (CollectionUtils.isNotEmpty(form.getCatIds())) { act.setCategoryIds(StringUtils.join(form.getCatIds(), ",")); } act.setCreateTime(oldAct.getCreateTime()); act.setCreateUid(oldAct.getCreateUid()); act.setPopularity(oldAct.getPopularity()); if (act.getProvince() == null) { act.setProvince(0l); } if (act.getCity() == null) { act.setCity(0l); } actService.updateAct(act, form.getCatIds()); if (StringUtils.isNotEmpty(oldAct.getLogo())) { uploadImageService.deleteImg(act.getId(), oldAct.getLogo()); } actId = act.getId(); logo = act.getLogo(); mmap.addAttribute("msg", "replace is success"); } if (logo != null && form.getImgFile() != null && form.getImgFile().getSize() > 0 && actId > 0) { uploadImageService.uploadImg(actId, logo, form.getImgFile()); } } else { mmap.addAttribute("msg", "create act name is null"); } } catch (Exception e) { mmap.addAttribute("msg", "create act is error."); log.error("create act is error.", e); } return new ModelAndView("redirect:/cms/showCreateAct", mmap); }
private Act converAct(AddActForm form, Long uid) { if (form == null) { return null; } Act act = null; if (form.getId() != null) { act = actService.getActById(form.getId()); if (act == null) { return null; } if (form.getImgFile() != null && form.getImgFile().getSize() > 0) { UUID uuid = UUID.randomUUID(); String fileName = uuid.toString() + "." + uploadImageService.getImgType(form.getImgFile()); uploadImageService.uploadImg(form.getId(), fileName, form.getImgFile()); if (!StringUtils.isEmpty(act.getLogo())) { uploadImageService.deleteImg(form.getId(), act.getLogo()); } act.setLogo(fileName); } } else { act = new Act(); act.setCreateUid(uid); if (form.getImgFile() != null && form.getImgFile().getSize() > 0) { UUID uuid = UUID.randomUUID(); if (form.getImgFile() != null) { String fileName = uuid.toString() + "." + uploadImageService.getImgType(form.getImgFile()); act.setLogo(fileName); } } } if (!form.getCheckAddress()) { act.setAddress(form.getAddress()); act.setCity(form.getCity()); act.setProvince(form.getProvince()); } Date startTime = null; Date endTime = null; try { if (!StringUtils.isEmpty(form.getStartTime())) { startTime = DateUtils.parseDate(form.getStartTime(), new String[] {"yyyy-MM-dd"}); act.setStartTime(startTime); } if (!StringUtils.isEmpty(form.getEndTime())) { endTime = DateUtils.parseDate(form.getEndTime(), new String[] {"yyyy-MM-dd"}); act.setEndTime(endTime); } } catch (ParseException e) { log.error("parse search date error.", e); } String intro = form.getIntro(); if (intro != null) act.setIntro(subString(200, form.getIntro())); if (form.getMaxCharge() == null) { act.setMaxCharge(0); } else { act.setMaxCharge(form.getMaxCharge()); } if (form.getMinCharge() == null) { act.setMinCharge(0); } else { act.setMinCharge(form.getMinCharge()); } if (form.getMaxRoleNum() == null) { act.setMaxRoleNum(0); } else { act.setMaxRoleNum(form.getMaxRoleNum()); } if (form.getMinRoleNum() == null) { act.setMinRoleNum(0); } else { act.setMinRoleNum(form.getMinRoleNum()); } act.setName(subString(10, form.getName())); act.setCategoryIds(StringUtils.join(form.getCatIds(), ",")); if (!StringUtils.isEmpty(form.getSuiAge())) { act.setSuitAge(SuitAge.getSuitAge(form.getSuiAge())); } if (!StringUtils.isEmpty(form.getSuitGender())) { act.setSuitGender(SuitGender.getSuitGender(form.getSuitGender())); } if (!StringUtils.isEmpty(form.getSuitStatu())) { act.setSuitStatus(SuitStatus.getSuitStatus(form.getSuitStatu())); } act.setFullName(subString(30, form.getFullName())); return act; }