1.引入POI依赖 :
<!-- /artifact//poi-ooxml -->
<dependency>
<groupId></groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.17</version>
</dependency>
<!-- /artifact//poi-ooxml-schemas -->
<dependency>
<groupId></groupId>
<artifactId>poi-ooxml-schemas</artifactId>
<version>3.17</version>
</dependency>
<!-- hutool引入 -->
<dependency>
<groupId></groupId>
<artifactId>hutool-all</artifactId>
<version>4.5.10</version>
</dependency>
层:
package ;
/**
* Title: AdminJzmUserController
* Description: 会员管理相关接口
*
* @author jintian
* @created 2019/3/27 14:47
*/
import ;
import ;
import ;
import ;
import ;
import ;
import ;
import ;
import ;
import .*;
import ;
import ;
import ;
@Api(value = "AdminJzmUserController", description = "jzm:AdminJzmUserController")
@RestController
@RequestMapping(value = .V1, produces = {MediaType.APPLICATION_JSON_UTF8_VALUE})
public class AdminJzmUserController {
@Autowired
JzmUserService jzmUserService;
/**
* 导出商铺信息
*
*
* @param shopName
* @param shopCode
* @param jzmShopAuditStatus
* @param response
* @return
* @throws Exception
*/
@ApiOperation(value="导出商铺信息", notes = "")
@GetMapping(value = + "/exportJzmUserInfo")
public ResponseMessage exportJzmUserInfo(String shopName,String shopCode,String jzmShopAuditStatus, HttpServletResponse response)throws Exception{
return (shopName,shopCode,jzmShopAuditStatus,response);
}
}
层:
package ;
import ;
import ;
import ;
import ;
/**
* Title: JzmUserService
* Description: TODO
*
* @author
* @created
*/
public interface JzmUserService extends CommonService<JzmUser> {
/**
* 导出商铺信息
*
*
* @param shopName
* @param shopCode
* @param jzmShopAuditStatus
* @param response
* @return
* @throws Exception
*/
ResponseMessage exportJzmUserInfo(String shopName,String shopCode,String jzmShopAuditStatus, HttpServletResponse response)throws Exception;
}
实现层:
package ;
import ;
import ;
import ;
import .*;
import .*;
import .*;
import .*;
import .*;
import .*;
import .slf4j.Slf4j;
import ;
import ;
import ;
import ;
import ;
import ;
import .*;
/**
* Title: JzmUserService
* Description: TODO
*
* @author
* @created
*/
@Slf4j
@Service
public class JzmUserServiceImpl implements JzmUserService {
@Autowired
private JzmUserRepository jzmUserRepository;
/**
* 导出商铺信息
*
* @param shopName
* @param shopCode
* @param jzmShopAuditStatus
* @param response
* @return
* @throws Exception
*/
@Override
public ResponseMessage exportJzmUserInfo(String shopName,String shopCode,String jzmShopAuditStatus,HttpServletResponse response) throws Exception {
//个体商铺信息
List<JzmUser> sellerListP = (shopName,shopCode,jzmShopAuditStatus);
//企业商铺信息
List<JzmUser> sellerListE = (shopName,shopCode,jzmShopAuditStatus);
List<Map<String,Object>> resultListP = new ArrayList<>();
List<Map<String,Object>> resultListE = new ArrayList<>();
if(()>0){
for (JzmUser temp:sellerListP) {
Map<String,Object> map = new HashMap<>();
//商铺名称
("shopName",());
//商铺类型
if(null != ()){
if(().equals()){
("jzmShopType","个人");
}
if(().equals()){
("jzmShopType","企业");
}
}else{
("jzmShopType","");
}
//是否为代理商
if(null != ()){
if(()){
("isProxy","是");
}
if(!()){
("isProxy","否");
}
}else{
("isProxy","");
}
//创建时间
("createDate",());
//审核状态
if(null != ()){
if(().equals(JzmShopAuditStatus.AUDIT_PASS)){
("jzmShopAuditStatus","审核通过");
}
if(().equals()){
("jzmShopAuditStatus","未审核");
}
if(().equals(JzmShopAuditStatus.AUDIT_NOPASS)){
("jzmShopAuditStatus","审核不通过");
}
}else{
("jzmShopAuditStatus","");
}
//姓名
("name",().getName());
//身份证号
("identityCardNo",().getIdentityCardNo());
//邮箱
("email",());
//联系电话
("mobile",());
//店铺介绍
("shopDescribe",() != null?():"");
//经营范围
("businessScope",());
//店铺地址
("province",());
(map);
}
}
if(()>0){
for (JzmUser temp:sellerListE) {
Map<String,Object> map = new HashMap<>();
//商铺名称
("shopName",());
//商铺类型
if(null != ()){
if(().equals()){
("jzmShopType","个人");
}
if(().equals()){
("jzmShopType","企业");
}
}else{
("jzmShopType","");
}
//是否为代理商
if(null != ()){
if(()){
("isProxy","是");
}
if(!()){
("isProxy","否");
}
}else{
("isProxy","");
}
//创建时间
("createDate",());
//审核状态
if(null != ()){
if(().equals(JzmShopAuditStatus.AUDIT_PASS)){
("jzmShopAuditStatus","审核通过");
}
if(().equals()){
("jzmShopAuditStatus","未审核");
}
if(().equals(JzmShopAuditStatus.AUDIT_NOPASS)){
("jzmShopAuditStatus","审核不通过");
}
}else{
("jzmShopAuditStatus","");
}
//注册资本
("registeredCapital",().getRegisteredCapital());
//企业类型
("compnayType",().getCompnayType());
//企业电话
("companyPhone",().getCompanyPhone());
//法人身份证号
("corporateCardNo",().getCorporateCardNo());
//注册地址
("province",());
//企业联系人
("companyContactName",().getCompanyContactName());
//企业联系人邮箱
("companyContactEmail",().getCompanyContactEmail());
//经营范围
("businessScope",());
//营业期限
("businessTime",new SimpleDateFormat("yyyy年MM月dd日").format(().getBusinessStartTime())+"-"+new SimpleDateFormat("yyyy年MM月dd日").format(().getBusinessEndTime()));
//社会信用代码
("creditCode",().getCreditCode());
//所属行业
("companyIndustry",().getCompanyIndustry());
//法定代表人
("corporate",().getCorporate());
//法定身份证有效期
String time = ().getCorporateCardNoTime();
String[] arr = (",");
("corporateCardNoTime",((arr[0]),"yyyy年MM月dd日")+"-"+((arr[1]),"yyyy年MM月dd日"));
//企业联系人电话
("companyContactPhone",().getCompanyContactPhone());
//店铺介绍
("shopDescribe",() != null?():"");
(map);
}
}
ExcelWriter writer = new ExcelWriter(false,"个体商铺信息");
//自定义标题别名
Map<String, String> headerAliasP = new LinkedHashMap<>();
("shopName", "商铺名称");
("jzmShopType", "商铺类型");
("isProxy", "是否为代理商");
("createDate", "创建时间");
("jzmShopAuditStatus","审核状态");
("name","姓名");
("identityCardNo","身份证号");
("email", "邮箱");
("mobile", "联系电话");
("shopDescribe", "店铺介绍");
("businessScope", "经营范围");
("province", "店铺地址");
(headerAliasP);
// 合并单元格后的标题行,使用默认标题样式
(11, "个人商铺信息");
// 一次性写出内容,使用默认样式
(resultListP,true);
//设置所有列为自动宽度,不考虑合并单元格
();
("企业商铺信息");
//自定义标题别名
Map<String, String> headerAliasE = new LinkedHashMap<>();
("shopName", "商铺名称");
("jzmShopType", "商铺类型");
("isProxy", "是否为代理商");
("createDate", "创建时间");
("jzmShopAuditStatus","审核状态");
("registeredCapital","注册资本");
("compnayType","企业类型");
("companyPhone", "企业电话");
("corporateCardNo", "法人身份证号");
("province", "注册地址");
("companyContactName", "企业联系人");
("companyContactEmail", "企业联系人邮箱");
("businessScope", "经营范围");
("businessTime", "营业期限");
("creditCode", "社会信用代码");
("companyIndustry", "所属行业");
("corporate", "法定代表人");
("corporateCardNoTime", "法定身份证有效期");
("companyContactPhone", "企业联系人电话");
("shopDescribe", "店铺介绍");
(headerAliasE);
// 合并单元格后的标题行,使用默认标题样式
(19, "企业商铺信息");
(resultListE,true);
//设置所有列为自动宽度,不考虑合并单元格
();
("application/-excel;charset=utf-8");
//是弹出下载对话框的文件名,不能为中文,中文请自行编码
String codedFileName = ("商铺信息", "UTF-8");
("Content-Disposition","attachment;filename="+ codedFileName + ".xls");
(());
// 关闭writer,释放内存
();
return (ResultEnum.EXPORT_SUCCESS.getCode(),ResultEnum.EXPORT_SUCCESS.getMsg());
}
/**
* 根据条件查询个体商铺信息
*
* @param shopName
* @param shopCode
* @param jzmShopAuditStatus
* @return
*/
public List<JzmUser> findByPersonal(String shopName, String shopCode, String jzmShopAuditStatus) {
Specification<JzmUser> specification = Specifications.<JzmUser>and()
.like((shopName),"shopName","%"+shopName+"%")
.eq((shopCode),"shopCode",shopCode)
.eq((jzmShopAuditStatus),"jzmShopAuditStatus",(jzmShopAuditStatus))
.eq("jzmUserType", )
.eq("jzmShopType",)
.build();
return (specification);
}
/**
* 根据条件查询企业商铺信息
*
*
* @param shopName
* @param shopCode
* @param jzmShopAuditStatus
* @return
*/
public List<JzmUser> findByEnterprise(String shopName, String shopCode, String jzmShopAuditStatus) {
Specification<JzmUser> specification = Specifications.<JzmUser>and()
.like((shopName),"shopName","%"+shopName+"%")
.eq((shopCode),"shopCode",shopCode)
.eq((jzmShopAuditStatus),"jzmShopAuditStatus",(jzmShopAuditStatus))
.eq("jzmUserType", )
.eq("jzmShopType",)
.build();
return (specification);
}
}