From a47efc2a25b9fe0dc21044497a9d63008ef98190 Mon Sep 17 00:00:00 2001 From: lin <642018748@qq.com> Date: Fri, 14 Jul 2023 20:15:00 +0800 Subject: [PATCH] fix bug --- .../iformall/controller/mem/AsyncTask.java | 134 +++++++++--------- 1 file changed, 65 insertions(+), 69 deletions(-) diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/mem/AsyncTask.java b/mallinkAdmin/src/main/java/com/iformall/controller/mem/AsyncTask.java index 25ce45d65..1954d18bc 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/mem/AsyncTask.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/mem/AsyncTask.java @@ -404,20 +404,21 @@ public class AsyncTask { } private void exportExcel(HttpServletRequest request, HttpServletResponse response,List successList, Class dataClass, String fileName) throws Exception { -// ExportParams exportParams = new ExportParams(); -// exportParams.setType(ExcelType.XSSF); -// Workbook workBook = ExcelExportUtil.exportExcel(exportParams, dataClass, successList); -// response.setContentType("application/octet-stream;charset=UTF-8"); -// //response.setHeader("Content-Type", "application/vnd.ms-excel");//xls -// response.setHeader("Content-Type", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");//xlsx -// response.setHeader("Content-Disposition", "attachment;filename=" + new String(fileName.getBytes("GB2312"), "8859_1")); -// response.addHeader("Pargam", "no-cache"); -// response.addHeader("Cache-Control", "no-cache"); -// OutputStream out = response.getOutputStream(); -// workBook.write(out); -// out.flush(); -// out.close(); - excelService.exportExcel(successList, null, null, dataClass, fileName, response, false); + ExportParams exportParams = new ExportParams(); + exportParams.setType(ExcelType.XSSF); + Workbook workBook = ExcelExportUtil.exportExcel(exportParams, dataClass, successList); + response.setContentType("application/octet-stream;charset=UTF-8"); + //response.setHeader("Content-Type", "application/vnd.ms-excel");//xls + response.setHeader("Content-Type", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");//xlsx + response.setHeader("Content-Disposition", "attachment;filename=" + new String(fileName.getBytes("GB2312"), "8859_1")); + response.addHeader("Pargam", "no-cache"); + response.addHeader("Cache-Control", "no-cache"); + OutputStream out = response.getOutputStream(); + System.out.println(">>>>>>>>> rrrrrrrrrrrrr:"+response.getStatus()); + workBook.write(out); + out.flush(); + out.close(); + //excelService.exportExcel(successList, null, null, dataClass, fileName, response, false); } private String uploadErrorExcel(List successList, Class dataClass, String fileName) throws Exception { @@ -505,61 +506,56 @@ public class AsyncTask { List successList = datalist.getList(); if(successList.size() > 0) { - try { - exportExcel(request, response, successList,MerchantPoiTNew.class, "POI初始化商户.xlsx"); - } catch (Exception e) { - e.printStackTrace(); - } -// try { -// for (int i = 0 ; i < successList.size(); i ++) { -// try { -// MerchantPoiTNew poiBase = successList.get(i); -// WxMerchant createM = createMerchantMap.get(poiBase.getPoiId()); -// boolean create = true; -// if (null != createM ) { -// create = false; -// if (createM.getId() > 0 ) { -// poiBase.setMerchantId(String.valueOf(createM.getId())); -// poiBase.setMerchantName(createM.getName()); -// poiBase.setInitMerchantRemark("初始化商户成功.已存在该POI创建的商户,无需重复创建"); -// }else { -// poiBase.setMerchantName(createM.getName()); -// poiBase.setInitMerchantRemark("初始化商户失败,已存在多个该POI创建的商户"); -// } -// }else { -// TtMerchantPoi poi = poiMerchantMap.get(poiBase.getPoiId()); -// if (null != poi) { -// create = false; -// if (poi.getId() > 0 ) { -// poiBase.setMerchantId(String.valueOf(poi.getId())); -// poiBase.setMerchantName(poi.getPoiName()); -// poiBase.setInitMerchantRemark("初始化商户成功.已存在该POI匹配的商户,无需重复创建"); -// }else { -// poiBase.setMerchantName(poi.getPoiName()); -// poiBase.setInitMerchantRemark("初始化商户失败,该POI匹配了多个商户"); -// } -// } -// } -// if (create) { -// try { -// WxMerchant merchant = wxMerchantService.initMerchantByPoi(user,poiBase.getPoiName(), poiBase.getPoiId(),poiBase.getPhone()); -// poiBase.setMerchantId(String.valueOf(merchant.getId())); -// poiBase.setMerchantName(merchant.getName()); -// poiBase.setInitMerchantRemark("初始化商户成功."); -// }catch(Exception e) { -// poiBase.setInitMerchantRemark("初始化商户失败."+e.getMessage()); -// } -// } -// } catch (UnknownSessionException ue) { -// logger.error("session :"+ue.getMessage(),ue); -// } -// } -// stringRedisTemplate.expire(importKey,10, TimeUnit.SECONDS); -// exportExcel(request, response, successList,MerchantPoiTNew.class, "POI初始化商户.xlsx"); -// } catch (Exception e) { -// logger.error("导入模板失败:"+e.getMessage(),e); -// stringRedisTemplate.expire(importKey,10, TimeUnit.SECONDS); -// } + try { + for (int i = 0 ; i < successList.size(); i ++) { + try { + MerchantPoiTNew poiBase = successList.get(i); + WxMerchant createM = createMerchantMap.get(poiBase.getPoiId()); + boolean create = true; + if (null != createM ) { + create = false; + if (createM.getId() > 0 ) { + poiBase.setMerchantId(String.valueOf(createM.getId())); + poiBase.setMerchantName(createM.getName()); + poiBase.setInitMerchantRemark("初始化商户成功.已存在该POI创建的商户,无需重复创建"); + }else { + poiBase.setMerchantName(createM.getName()); + poiBase.setInitMerchantRemark("初始化商户失败,已存在多个该POI创建的商户"); + } + }else { + TtMerchantPoi poi = poiMerchantMap.get(poiBase.getPoiId()); + if (null != poi) { + create = false; + if (poi.getId() > 0 ) { + poiBase.setMerchantId(String.valueOf(poi.getId())); + poiBase.setMerchantName(poi.getPoiName()); + poiBase.setInitMerchantRemark("初始化商户成功.已存在该POI匹配的商户,无需重复创建"); + }else { + poiBase.setMerchantName(poi.getPoiName()); + poiBase.setInitMerchantRemark("初始化商户失败,该POI匹配了多个商户"); + } + } + } + if (create) { + try { + WxMerchant merchant = wxMerchantService.initMerchantByPoi(user,poiBase.getPoiName(), poiBase.getPoiId(),poiBase.getPhone()); + poiBase.setMerchantId(String.valueOf(merchant.getId())); + poiBase.setMerchantName(merchant.getName()); + poiBase.setInitMerchantRemark("初始化商户成功."); + }catch(Exception e) { + poiBase.setInitMerchantRemark("初始化商户失败."+e.getMessage()); + } + } + } catch (UnknownSessionException ue) { + logger.error("session :"+ue.getMessage(),ue); + } + } + stringRedisTemplate.expire(importKey,10, TimeUnit.SECONDS); + exportExcel(request, response, successList,MerchantPoiTNew.class, "POI初始化商户.xlsx"); + } catch (Exception e) { + logger.error("导入模板失败:"+e.getMessage(),e); + stringRedisTemplate.expire(importKey,10, TimeUnit.SECONDS); + } } }