添加数据校验,分页导出功能

parent b851d0de
...@@ -35,8 +35,6 @@ import org.apache.poi.hssf.usermodel.HSSFWorkbook; ...@@ -35,8 +35,6 @@ import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import static com.sun.xml.internal.ws.api.model.wsdl.WSDLBoundOperation.ANONYMOUS.required;
/** /**
* Created by zenglibin on 17/06/13. * Created by zenglibin on 17/06/13.
*/ */
...@@ -65,7 +63,7 @@ public class UserQueryLogController { ...@@ -65,7 +63,7 @@ public class UserQueryLogController {
public JsonResult queryLog(@RequestParam(required=false) String beginDate,@RequestParam(required=false) String endDate, Integer pageId, Integer pageSize) { public JsonResult queryLog(@RequestParam(required=false) String beginDate,@RequestParam(required=false) String endDate, Integer pageId, Integer pageSize) {
try{ try{
SimpleDateFormat sf=new SimpleDateFormat("yyyy-MM-DD HH:mm:ss"); SimpleDateFormat sf=new SimpleDateFormat("yyyy-MM-dd");
Date date1=null,date2=null; Date date1=null,date2=null;
if(beginDate!=null&& StringUtils.hasLength(beginDate)){ if(beginDate!=null&& StringUtils.hasLength(beginDate)){
date1=sf.parse(beginDate); date1=sf.parse(beginDate);
...@@ -103,11 +101,9 @@ public class UserQueryLogController { ...@@ -103,11 +101,9 @@ public class UserQueryLogController {
//key=>phoneNo、idNo、userId //key=>phoneNo、idNo、userId
//checkKeysType; //checkKeysType;
//后台参数校验 //后台参数校验
String[] values=keyValues.split(";"); String[] values=keyValues.split(";");
List<String> queryV= Arrays.asList(values); List<String> queryV= Arrays.asList(values);
List<UserQueryInfo> userQueryInfos=new ArrayList<UserQueryInfo>(); List<UserQueryInfo> userQueryInfos=new ArrayList<UserQueryInfo>();
Page<UserQueryInfo> userQueryInfoPage=null;
List<UserDetail> userDetails=new ArrayList<UserDetail>(); List<UserDetail> userDetails=new ArrayList<UserDetail>();
Page<UserDetail> userDetailPage=null; Page<UserDetail> userDetailPage=null;
List<Address> addresslist=new ArrayList<Address>(); List<Address> addresslist=new ArrayList<Address>();
...@@ -165,7 +161,6 @@ public class UserQueryLogController { ...@@ -165,7 +161,6 @@ public class UserQueryLogController {
} }
//转换userDetail to userQueryInfo
for(UserDetail ud:userDetails){ for(UserDetail ud:userDetails){
UserQueryInfo uqi=new UserQueryInfo(); UserQueryInfo uqi=new UserQueryInfo();
if(columns.contains("idNo")){ if(columns.contains("idNo")){
...@@ -208,7 +203,7 @@ public class UserQueryLogController { ...@@ -208,7 +203,7 @@ public class UserQueryLogController {
uqi.setPages(userDetailPage.getTotalPages()); uqi.setPages(userDetailPage.getTotalPages());
uqi.setTotal(userDetailPage.getTotalElements()); uqi.setTotal(userDetailPage.getTotalElements());
return JsonResult.buildSuccessResult("成功",uqi); return JsonResult.buildSuccessResult("查询成功",uqi);
} }
private String getBankCardsByPhoneNos(String phoneNo){ private String getBankCardsByPhoneNos(String phoneNo){
...@@ -238,15 +233,87 @@ public class UserQueryLogController { ...@@ -238,15 +233,87 @@ public class UserQueryLogController {
} }
@RequestMapping("/exportUserInfo") @RequestMapping("/exportUserInfo")
public void exportExcel(final HttpServletResponse response,String key,String keyValues,String userName, String columns){ public JsonResult exportExcel(final HttpServletResponse response,String key,String keyValues,String userName, String columns){
List<UserQueryInfo> uqls=new ArrayList<UserQueryInfo>(); List<UserQueryInfo> uqls=new ArrayList<UserQueryInfo>();
UserQueryInfo uq=new UserQueryInfo();
uq.setUserId(123l); String[] values=keyValues.split(";");
uq.setAddress("AAAAAAA"); List<String> queryV= Arrays.asList(values);
uq.setPhoneNo("15840001232"); List<UserQueryInfo> userQueryInfos=new ArrayList<UserQueryInfo>();
uq.setIdNo("362529199701235671"); List<UserDetail> userDetails=new ArrayList<UserDetail>();
uq.setBankCards("6217564445877112"); List<Address> addresslist=new ArrayList<Address>();
uqls.add(uq); if(key.equals("userId")){
List<Long> userIds=new ArrayList<Long>();
try{
for(String s:queryV){
if(s.length()>8){
return JsonResult.buildErrorStateResult("查询的userId长度超过8位",s);
}
long uid=Long.valueOf(s);
userIds.add(uid);
}
}catch(Exception e){
return JsonResult.buildErrorStateResult("查询的userId有误",null);
}
userDetails=userDetailService.findByUserIdIn(userIds);
}else if(key.equals("phoneNo")){
for(String pn:queryV){
if(!ValidationUtil.validatePhoneNo(pn)){
return JsonResult.buildErrorStateResult("查询的手机号码格式有误",pn);
}
}
userDetails=userDetailService.findByPhoneNos(queryV);
}else if(key.equals("idNo")){
IdcardValidator iv = new IdcardValidator();
for(String idno:queryV){
if(!iv.is18Idcard(idno)&&!iv.is15Idcard(idno)){
return JsonResult.buildErrorStateResult("查询的身份证号格式有误",idno);
}
}
userDetails=userDetailService.findByIdnos(queryV);
}
if(columns.contains("bankCard")){
//需加银行卡信息
}
if(columns.contains("address")){
List<Long> uidss=new ArrayList<Long>();
//加地址信息
for(UserDetail ud:userDetails){
uidss.add(ud.getUserId());
}
if(uidss!=null&&uidss.size()>0){
addresslist=addressService.findByUserIds(uidss);
}
}
for(UserDetail ud:userDetails){
UserQueryInfo uqi=new UserQueryInfo();
if(columns.contains("idNo")){
uqi.setIdNo(ud.getIdNo());
}
if(columns.contains("phoneNo")){
uqi.setPhoneNo(ud.getPhoneNo());
}
if(columns.contains("userId")){
uqi.setUserId(ud.getUserId());
}
if(columns.contains("address")){
Optional<Address> oad=addresslist.stream().filter(addr->addr.getUserId()==ud.getUserId()).findFirst();
if(oad.isPresent()){
uqi.setAddress(oad.get().toString());
}
}
uqls.add(uqi);
}
HSSFWorkbook wb = new HSSFWorkbook(); HSSFWorkbook wb = new HSSFWorkbook();
// 第二步,在webbook中添加一个sheet,对应Excel文件中的sheet // 第二步,在webbook中添加一个sheet,对应Excel文件中的sheet
...@@ -304,6 +371,7 @@ public class UserQueryLogController { ...@@ -304,6 +371,7 @@ public class UserQueryLogController {
{ {
e.printStackTrace(); e.printStackTrace();
} }
return JsonResult.buildSuccessResult("导出成功",null);
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment