@RequestMapping(value = "/save.api")
@ResponseBody
public String save(MultipartHttpServletRequest req) {
String userId = req.getParameter("user_id");// 钱宝用户id
if (StringUtil.isNotNumber(userId)) {
return jsonpFailed("钱包用户校验错误");
}
String username = req.getParameter("username");// 钱宝用户名
if (StringUtils.isEmpty(username)) {
return jsonpFailed("钱包用户校验错误");
}
String storeName = req.getParameter("storeName");// 门店名称
if (null == storeName || storeName.length() > 10) {
return jsonpFailed("门店名称校验错误");
}
String workingGroupId = req.getParameter("workingGroupId");// 经营类型
if (null == workingGroupId || StringUtil.isNotNumber(workingGroupId)) {
return jsonpFailed("经营类型校验错误");
}
String provinceId = req.getParameter("provinceId");// 省
if (null == provinceId || StringUtil.isNotNumber(provinceId)) {
return jsonpFailed("省校验错误");
}
String cityId = req.getParameter("cityId");// 市
if (null == cityId || StringUtil.isNotNumber(cityId)) {
return jsonpFailed("市校验错误");
}
String areaId = req.getParameter("areaId");// 区
if (null == areaId || StringUtil.isNotNumber(areaId)) {
return jsonpFailed("区校验错误");
}
String detailAddress = req.getParameter("detailAddress");// 详细地址
if (null == detailAddress || StringUtil.isNotNumber(detailAddress)) {
return jsonpFailed("详细地址校验错误");
}
String latitude = req.getParameter("latitude");// 经度
String longitude = req.getParameter("longitude");// 纬度
if (null == latitude || null == longitude
|| !StringUtil.isFloatDigit(latitude)
|| !StringUtil.isFloatDigit(longitude)) {
return jsonpFailed("详细地址校验错误");
}
String ownerName = req.getParameter("ownerName");// 门店负责人姓名
if (null == ownerName || ownerName.length() > 30
|| StringUtil.hasNumberOrSpecialSym(ownerName)) {
return jsonpFailed("门店负责人姓名校验错误");
}
String mobilePhone = req.getParameter("mobilePhone");// 手机号码
if (null == mobilePhone || !StringUtil.isMobile(mobilePhone)) {
return jsonpFailed("手机号码校验错误");
}
MultipartFile facePicture = req.getFile("facePicture");// 门店正面门头照
if (null == facePicture || facePicture.isEmpty()) {
return jsonpFailed("门店正面门头照校验错误");
}
List<MultipartFile> internalPictures = req.getFiles("internalPictures");// 门店内景照
if (null == internalPictures || internalPictures.size() != 3) {
return jsonpFailed("门店内景照校验错误");
}
MultipartFile businessLicense = req.getFile("businessLicense");// 营业执照
if (null == businessLicense || businessLicense.isEmpty()) {
return jsonpFailed("营业执照校验错误");
}
MultipartFile taxRegistrationCertificate = req
.getFile("taxRegistrationCertificate");// 税务登记证
if (null == taxRegistrationCertificate
|| taxRegistrationCertificate.isEmpty()) {
return jsonpFailed("税务登记证校验错误");
}
MultipartFile organizationCode = req.getFile("organizationCode");// 组织机构代码复印件
if (null == organizationCode || organizationCode.isEmpty()) {
return jsonpFailed("组织机构代码复印件校验错误");
}
/**************************************** 可选项 *************************************************/
String openTime = req.getParameter("openTime");// 营业时间
String closeTime = req.getParameter("closeTime");// 营业时间
String perCapita = req.getParameter("perCapita");// 人均
if (StringUtils.hasText(perCapita)) {
if (!StringUtil.isNumber(perCapita)
|| Long.parseLong(perCapita) > 999999) {
return jsonpFailed("人均校验错误");
}
}
String fixedPhoneCode = req.getParameter("fixedPhoneCode");// 门店固话
String fixedPhoneNumber = req.getParameter("fixedPhoneNumber");// 门店固话
if (StringUtils.hasText(fixedPhoneCode)
&& StringUtils.hasText(fixedPhoneNumber)) {
if (!StringUtil.isFixedPhone(fixedPhoneCode + "-"
+ fixedPhoneNumber)) {
return jsonpFailed("门店固话校验错误");
}
}
String qq = req.getParameter("qq");// QQ号
if (StringUtils.hasText(qq)) {
if (!StringUtil.checkQQ(qq)) {
return jsonpFailed("QQ号校验错误");
}
}
String email = req.getParameter("email");// 电子邮箱
if (StringUtils.hasText(email)) {
if (!StringUtil.isEmail(email)) {
return jsonpFailed("电子邮箱校验错误");
}
}
MultipartFile specialLicence = req.getFile("specialLicence");// 特殊行业许可证
String recommendPerson = req.getParameter("recommendPerson");// 推荐人邀请码
ReqStoreInfo reqStore = new ReqStoreInfo();
reqStore.setUserId(Long.parseLong(userId));
reqStore.setUsername(username);
reqStore.setStoreName(storeName);
reqStore.setWorkingGroupId(Long.parseLong(workingGroupId));
reqStore.setProvinceId(Long.parseLong(provinceId));
reqStore.setCityId(Long.parseLong(cityId));
reqStore.setAreaId(Long.parseLong(areaId));
reqStore.setDetailAddress(detailAddress);
reqStore.setOpenTime(openTime);
reqStore.setCloseTime(closeTime);
reqStore.setPer_capita(Integer.parseInt(perCapita));
reqStore.setFixedPhoneCode(Integer.valueOf(fixedPhoneCode));
reqStore.setFixed_phone_number(Integer.valueOf(fixedPhoneNumber));
reqStore.setOwnerName(ownerName);
reqStore.setMobilePhone(mobilePhone);
reqStore.setQq(qq);
reqStore.setEmail(email);
reqStore.setFacePicture(facePicture);
reqStore.setInternalPictures(internalPictures);
reqStore.setBusinessLicense(businessLicense);
reqStore.setTaxRegistrationCertificate(taxRegistrationCertificate);
reqStore.setOrganizationCode(organizationCode);
reqStore.setSpecialLicence(specialLicence);
reqStore.setRecommendPerson(recommendPerson);
reqStore.setAuditorName(getCurrentUserId() + "");
try {
storeService.save(reqStore);
} catch (IOException e) {
e.printStackTrace();
log.error(e.getMessage());
return jsonpFailed("保存失败");
} catch (DataValidateException e) {
e.printStackTrace();
log.error(e.getMessage());
return jsonpFailed("保存失败");
}
return jsonpSuccess(null);
}
//多文件上传部分参考自:http://blog.csdn.net/a1314517love/article/details/24183273,http://blog.csdn.net/swingpyzf/article/details/20230865
相关推荐
这个"springMVC多文件上传demo"是一个实例,它展示了如何在Spring MVC应用中实现这个功能。下面将详细介绍相关知识点。 1. **Spring MVC概述** Spring MVC是Spring框架的一部分,它提供了一个用于构建Web应用程序...
在Spring MVC框架中,多文件上传是一个常见的功能需求,它允许用户通过Web界面一次性上传多个文件。本知识点将深入探讨如何实现Spring MVC中的多文件上传,包括必要的配置、控制器处理和存储策略。 首先,我们需要...
"bootstrap+springMVC多文件上传"是一个典型的Web应用案例,它整合了前端的Bootstrap框架和后端的SpringMVC框架,实现了高效且用户体验良好的多文件上传功能。以下是关于这个主题的详细知识点: 1. **Bootstrap**:...
在本文中,我们将深入探讨如何使用SpringMVC和Ajax实现多文件上传并显示上传进度条的功能。这是一个在Web开发中常见的需求,特别是在处理大文件或批量上传时,用户界面的实时反馈至关重要,以提供更好的用户体验。 ...
在这个“SpringMVC文件上传,多文件上传实例”中,我们将深入探讨如何在SpringMVC环境中实现文件上传功能,包括单个文件上传以及多个文件的批量上传。 1. **文件上传原理**: 文件上传是通过HTTP协议的POST请求来...
这里,我们主要关注"springMVC多文件上传需要的jar"这一资源,它包含了实现这一功能所必需的Java档案(JAR)文件。 首先,Spring MVC是Spring框架的一个模块,专门处理Web应用的请求和响应。它提供了模型-视图-控制...
在Spring MVC框架中,实现多文件上传功能是一个常见的需求,涉及到多个关键组件和技术。下面将详细解释这些给定的jar包以及它们在多文件上传中的作用。 首先,我们来看看核心的Spring框架组件: 1. **spring-core-...
springMvc 文件上传,springMvc 支持单文件和多文件上传,
本文将详细讲解如何实现Spring MVC中的文件上传和下载,包括单一文件上传、多文件上传以及两种不同的文件下载方法。 一、单一文件上传 1. 添加依赖:在Spring MVC项目中,我们需要引入`commons-fileupload`和`...
基于springmvc实现文件上传下载 基于AOP的日志功能基于springmvc实现文件上传下载 基于AOP的日志功能基于springmvc实现文件上传下载 基于AOP的日志功能基于springmvc实现文件上传下载 基于AOP的日志功能基于...
本文将详细讲解如何实现SpringMVC中的单文件上传、多文件上传、文件列表显示以及文件下载。 首先,我们需要理解SpringMVC处理文件上传的基本原理。在SpringMVC中,文件上传通常涉及到`CommonsMultipartResolver`...
在SpringMVC中,文件上传主要依赖于`CommonsMultipartResolver`,这是Spring提供的一个解析多部分请求的组件。在配置文件中,我们需要添加如下配置启用文件上传: ```xml <!-- 指定最大上传文件大小 --> ...
下面将详细阐述Spring MVC如何实现多文件上传以及文件下载的处理。 ### 多文件上传 1. **配置MultipartResolver**: 首先,我们需要在Spring MVC的配置文件中启用multipart resolver,以便处理多部分HTTP请求,即...
### SpringMVC 实现多文件上传的技术要点与实践 #### 技术背景 SpringMVC 是 Spring 框架中的一个重要组成部分,它提供了一种基于 Model-View-Controller(MVC)模式的轻量级 Web 开发框架。利用 SpringMVC,开发...
在Web应用中,文件上传是一项常见的...总结,基于SpringMVC的文件上传功能涉及到环境配置、控制器编写、视图设计、文件存储策略以及安全措施等多个方面。理解并掌握这些知识点,可以构建出稳定、高效的文件上传系统。
在实际应用中,你可能还需要处理文件上传进度、错误处理、多文件上传等情况。同时,确保前端和后端的安全性,比如使用CSRF令牌防止跨站请求伪造,以及对上传文件进行适当的权限控制。 最后,项目中的"新建文件夹...
在Spring MVC框架中实现文件上传并提供进度条功能是一项实用且复杂的任务,涉及到前端与后端的交互以及数据传输过程的监控。以下是对这个主题的详细解析。 首先,我们需要理解Spring MVC的基本工作原理。Spring MVC...
这将启用基于Apache Commons FileUpload的多部分解析器,用于处理文件上传请求。 然后,我们需要创建一个SpringMVC的Controller来处理文件上传。在Controller类中,可以定义一个方法,使用`@RequestParam("file") ...
首先,我们来看SpringMVC中的文件上传。SpringMVC是Spring框架的一部分,它提供了强大的MVC设计模式支持,使得处理HTTP请求变得更加方便。在SpringMVC中,文件上传主要依赖于`CommonsMultipartResolver`,这是Spring...