admin/public/favicon.icoadmin/public/template/member.xlsxBinary files differ
admin/src/components/business/OperaCasesImportWindow.vue
@@ -48,7 +48,7 @@ this.title = title this.fileName = '' this.visible = true this.type = 0 this.type = 1 }, // 导出模板 exportTemplate () { admin/src/components/business/OperaCasesWindow.vue
@@ -74,7 +74,7 @@ return { isUploading: false, uploadData: { folder: 'dianjiang/category' folder: 'dianjiang/cases' }, // 表单数据 form: { admin/src/views/business/cases.vue
@@ -54,7 +54,7 @@ @selection-change="handleSelectionChange" > <el-table-column type="selection" width="55"></el-table-column> <el-table-column prop="name" label="案例标题" min-width="100px"></el-table-column> <el-table-column prop="name" label="案例标题" min-width="200px"></el-table-column> <el-table-column prop="icon" label="排行榜图集" min-width="220px"> <template slot-scope="{row}"> <div style="display: flex; flex-wrap: wrap;width: 200px;" v-if="row.fileList && row.fileList.length"> server/services/src/main/java/com/doumee/core/annotation/excel/ExcelImporter.java
@@ -4,6 +4,7 @@ import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.openxml4j.exceptions.InvalidFormatException; import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFPicture; import org.apache.poi.xssf.usermodel.XSSFPictureData; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.slf4j.Logger; @@ -329,64 +330,102 @@ } StringBuilder sb = new StringBuilder(); for (Object[] os : annotationList){ Object val = this.getCellValue(row, column++); if (val != null){ ExcelColumn ef = (ExcelColumn)os[0]; // Get param type and type cast Class<?> valType = Class.class; if (os[1] instanceof Field){ valType = ((Field)os[1]).getType(); }else if(os[1] instanceof Method){ Method method = ((Method)os[1]); if ("get".equals(method.getName().substring(0, 3))){ valType = method.getReturnType(); }else if("set".equals(method.getName().substring(0, 3))){ valType = ((Method)os[1]).getParameterTypes()[0]; } int tcolumn = column++; Object val = this.getCellValue(row, tcolumn);; ExcelColumn ef = (ExcelColumn)os[0]; // Get param type and type cast Class<?> valType = Class.class; if (os[1] instanceof Field){ valType = ((Field)os[1]).getType(); }else if(os[1] instanceof Method){ Method method = ((Method)os[1]); if ("get".equals(method.getName().substring(0, 3))){ valType = method.getReturnType(); }else if("set".equals(method.getName().substring(0, 3))){ valType = ((Method)os[1]).getParameterTypes()[0]; } //log.debug("Import value type: ["+i+","+column+"] " + valType); try { if (valType == String.class){ String s = String.valueOf(val.toString()); if(StringUtils.endsWith(s, ".0")){ val = StringUtils.substringBefore(s, ".0"); }else{ val = String.valueOf(val.toString()).trim(); } if(ef.fieldType()== XSSFPictureData.class){ XSSFPictureData qrData = null; if(val !=null){ String tid = String.valueOf(val.toString()).trim(); int start = tid.indexOf("(\"")+2; int end = tid.indexOf("\","); if(start>=0&& end>=1 && end>start){ String picId = tid.substring(start,end); XSSFPictureData data = this.pictureList.get(picId); if(data!= null && data.getData() != null){ qrData =data; } } else if (valType == Integer.class){ val = Double.valueOf(val.toString()).intValue(); }else if (valType == Long.class){ val = Double.valueOf(val.toString()).longValue(); }else if (valType == Double.class){ val = Double.valueOf(val.toString()); }else if (valType == Float.class){ val = Float.valueOf(val.toString()); }else if (valType == Date.class){ val = DateUtil.getJavaDate((Double)val); }else{ if (ef.fieldType() != Class.class){ val = ef.fieldType().getMethod("getValue", String.class).invoke(null, val.toString()); }else{ val = Class.forName(this.getClass().getName().replaceAll(this.getClass().getSimpleName(), "fieldtype."+valType.getSimpleName()+"Type")).getMethod("getValue", String.class).invoke(null, val.toString()); } val = null; //悬浮图片 List<XSSFPictureData> xfData = ExcelPictureUtil.getPicturesFromCell(this.sheet,row.getCell(tcolumn)); List<XSSFPictureData> valList =new ArrayList<>(); if(qrData!=null){ valList.add(qrData); } if(xfData!=null){ valList.addAll(xfData); } if (valType==List.class){ val =valList; } else if ( valType==XSSFPictureData.class){ val = (valList!=null && valList.size()>0)?valList.get(0):null; } }else{ if (val != null){ try { if (valType == String.class){ String s = String.valueOf(val.toString()); if(StringUtils.endsWith(s, ".0")){ val = StringUtils.substringBefore(s, ".0"); }else{ val = String.valueOf(val.toString()).trim(); } } else if (valType == Integer.class){ val = Double.valueOf(val.toString()).intValue(); }else if (valType == Long.class){ val = Double.valueOf(val.toString()).longValue(); }else if (valType == Double.class){ val = Double.valueOf(val.toString()); }else if (valType == Float.class){ val = Float.valueOf(val.toString()); }else if (valType == Date.class){ val = DateUtil.getJavaDate((Double)val); }else if (valType == XSSFPictureData.class){ }else{ if (ef.fieldType() != Class.class){ val = ef.fieldType().getMethod("getValue", String.class).invoke(null, val.toString()); }else{ val = Class.forName(this.getClass().getName().replaceAll(this.getClass().getSimpleName(), "fieldtype."+valType.getSimpleName()+"Type")).getMethod("getValue", String.class).invoke(null, val.toString()); } } } catch (Exception ex) { log.info("Get cell value ["+i+","+column+"] error: " + ex.toString()); val = null; } } catch (Exception ex) { log.info("Get cell value ["+i+","+column+"] error: " + ex.toString()); val = null; } // set entity value if (os[1] instanceof Field){ Reflections.invokeSetter(e, ((Field)os[1]).getName(), val); }else if (os[1] instanceof Method){ String mthodName = ((Method)os[1]).getName(); if ("get".equals(mthodName.substring(0, 3))){ mthodName = "set"+StringUtils.substringAfter(mthodName, "get"); } Reflections.invokeMethod(e, mthodName, new Class[] {valType}, new Object[] {val}); } } if (val != null){ try { // set entity value if (os[1] instanceof Field){ Reflections.invokeSetter(e, ((Field)os[1]).getName(), val); }else if (os[1] instanceof Method){ String mthodName = ((Method)os[1]).getName(); if ("get".equals(mthodName.substring(0, 3))){ mthodName = "set"+StringUtils.substringAfter(mthodName, "get"); } Reflections.invokeMethod(e, mthodName, new Class[] {valType}, new Object[] {val}); } }catch (Exception e1){ val =null; } }else{ } sb.append(val+", "); } server/services/src/main/java/com/doumee/core/annotation/excel/ExcelPictureUtil.java
@@ -7,17 +7,13 @@ import org.apache.commons.io.IOUtils; import org.apache.commons.lang3.StringUtils; import org.apache.poi.openxml4j.opc.PackagePartName; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.ss.usermodel.WorkbookFactory; import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.*; import java.io.*; import java.nio.charset.StandardCharsets; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.*; import java.util.stream.Collectors; import java.util.zip.ZipEntry; import java.util.zip.ZipInputStream; @@ -315,4 +311,75 @@ } } /** * 获取单元格中的图片 */ public static List<XSSFPictureData> getPicturesFromCell(Sheet sheet, Cell cell) { try { List<XSSFPictureData> cellPictures = new ArrayList<>(); XSSFDrawing drawing = ((XSSFSheet) sheet).createDrawingPatriarch(); if (drawing != null) { List<XSSFPicture> pictures = drawing.getShapes().stream() .filter(shape -> shape instanceof XSSFPicture) .map(shape -> (XSSFPicture) shape).collect(Collectors.toList()); for (XSSFPicture picture : pictures) { int rowIndex = picture.getPreferredSize().getRow1(); int colIndex = picture.getPreferredSize().getCol1(); if (colIndex == cell.getColumnIndex() && rowIndex == cell.getRowIndex()) { cellPictures.add(picture.getPictureData()); } } } return cellPictures; }catch (Exception e){ e.printStackTrace(); } return null; } private static Map<String, List<XSSFPicture>> getImgPathMap(Sheet sheet) { Map<String, List<XSSFPicture>> imgPathMap = new HashMap<>(); XSSFDrawing drawing = ((XSSFSheet) sheet).createDrawingPatriarch(); if (drawing != null) { List<XSSFPicture> pictures = drawing.getShapes().stream() .filter(shape -> shape instanceof XSSFPicture) .map(shape -> (XSSFPicture) shape).collect(Collectors.toList()); for (XSSFPicture picture : pictures) { int rowIndex = picture.getPreferredSize().getRow1(); int colIndex = picture.getPreferredSize().getCol1(); String key = colIndex + "-" + rowIndex; List<XSSFPicture> list = null; if (imgPathMap.containsKey(key)) { list = imgPathMap.get(key); } else { list = new ArrayList<>(); imgPathMap.put(key, list); } list.add(picture); } } return imgPathMap; } /** * 获取图片的扩展名 */ private static String getImageExtension(PictureData picture) { String mimeType = picture.getMimeType(); switch (mimeType) { case "image/jpeg": return "jpg"; case "image/png": return "png"; default: return ""; } } } server/services/src/main/java/com/doumee/dao/business/dto/CasesImport.java
@@ -3,6 +3,11 @@ import com.doumee.core.annotation.excel.ExcelColumn; import io.swagger.annotations.ApiModel; import lombok.Data; import org.apache.poi.xssf.usermodel.XSSFPicture; import org.apache.poi.xssf.usermodel.XSSFPictureData; import java.util.Date; import java.util.List; /** * 员工信息导入表 @@ -13,24 +18,30 @@ @ApiModel("员工信息导入") public class CasesImport { // @ExcelColumn(name="序号",value = "sn") private Integer sn; @ExcelColumn(name="姓名",value = "name",index = 1) @ExcelColumn(name="案例主题",value = "name",index = 1) private String name; @ExcelColumn(name="手机号",value = "phone",index = 2) private String phone; @ExcelColumn(name="开始日期",value = "startDate",index = 2) private String startDate; @ExcelColumn(name="身份证号",value = "idcardNo",index = 3) private String idcardNo; @ExcelColumn(name="结束日期",value = "endDate",index = 3) private String endDate; @ExcelColumn(name="组织名称" , value = "companyName" ,index = 4) private String companyName; @ExcelColumn(name="服务老师" , value = "memberCode" ,index = 4) private String memberCode; @ExcelColumn(name="工号" , value = "code") private String code; @ExcelColumn(name="案例说明" , value = "detail",index = 5) private String detail; @ExcelColumn(name="岗位" , value = "code") private String positionName; @ExcelColumn(name="案例图1" , value = "imageList",fieldType = XSSFPictureData.class,index = 5) private List<XSSFPictureData> imageList; @ExcelColumn(name="案例图2" , value = "imageList1",fieldType = XSSFPictureData.class,index = 6) private List<XSSFPictureData> imageList1; @ExcelColumn(name="案例图3" , value = "imageList2",fieldType = XSSFPictureData.class,index = 7) private List<XSSFPictureData> imageList2; @ExcelColumn(name="案例图4" , value = "imageList3",fieldType = XSSFPictureData.class,index = 8) private List<XSSFPictureData> imageList3; @ExcelColumn(name="案例图5" , value = "imageList4",fieldType = XSSFPictureData.class,index = 9) private List<XSSFPictureData> imageList4; @ExcelColumn(name="案例图6" , value = "imageList5",fieldType = XSSFPictureData.class,index = 10) private List<XSSFPictureData> imageList5; } server/services/src/main/java/com/doumee/dao/business/dto/MemberImport.java
@@ -5,6 +5,7 @@ import com.doumee.dao.business.model.Category; import io.swagger.annotations.ApiModel; import lombok.Data; import org.apache.poi.xssf.usermodel.XSSFPictureData; import java.util.List; @@ -20,8 +21,8 @@ private String code; @ExcelColumn(name="姓名",value = "name",index = 2) private String name; @ExcelColumn(name="职业照",value = "imgurl",index = 3) private String imgurl; @ExcelColumn(name="职业照",value = "imgurl",index = 3,fieldType = XSSFPictureData.class) private XSSFPictureData imgurl; @ExcelColumn(name="等级",value = "levelName",index = 4) private String levelName; @ExcelColumn(name="性别" , value = "sex" ,index = 5) server/services/src/main/java/com/doumee/dao/business/model/Cases.java
@@ -92,4 +92,10 @@ @ApiModelProperty(value = "最后操作人员;", example = "1") @TableField(exist = false) private String updateUserName; @ApiModelProperty(value = "图片集数据;", example = "1") @TableField(exist = false) private List<byte[]> imgdataList; } server/services/src/main/java/com/doumee/service/business/impl/CasesServiceImpl.java
@@ -209,7 +209,7 @@ } private void initMultifileList(Cases cate) { String path = systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE, Constants.RESOURCE_PATH).getCode() + systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE, Constants.CATEGORY_FILES).getCode(); + systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE, Constants.CASES_FILES).getCode(); Multifile find = new Multifile(); find.setObjId(cate.getId()); server/services/src/main/java/com/doumee/service/business/impl/ImportRecordServiceImpl.java
@@ -10,17 +10,11 @@ import com.doumee.core.model.PageWrap; import com.doumee.core.utils.DateUtil; import com.doumee.core.utils.tyyun.TyyZosUtil; import com.doumee.dao.business.CasesMapper; import com.doumee.dao.business.CategoryMapper; import com.doumee.dao.business.MemberMapper; import com.doumee.dao.business.*; import com.doumee.dao.business.dto.CasesImport; import com.doumee.dao.business.dto.MemberImport; import com.doumee.dao.business.model.Cases; import com.doumee.dao.business.model.Category; import com.doumee.dao.business.model.ImportRecord; import com.doumee.dao.business.model.*; import com.doumee.core.utils.Utils; import com.doumee.dao.business.ImportRecordMapper; import com.doumee.dao.business.model.Member; import com.doumee.dao.system.model.SystemUser; import com.doumee.service.business.ImportRecordService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -67,6 +61,8 @@ private MemberMapper memberMapper; @Autowired private CasesMapper casesMapper; @Autowired private MultifileMapper multifileMapper; @Resource private RedisTemplate<String, Object> redisTemplate; @Resource @@ -203,9 +199,7 @@ Map<String, XSSFPictureData> pics = ie.getExcelPictures(); if(type == 1) { List<CasesImport> importList = (ie.getDataList(CasesImport.class,null)); if(importList==null || importList.size()==0){ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"导入文件案例信息内容为空!"); } model.setCaseList(isvalidImpartCasesParam(loginUserInfo,pics,importList)); model.setTotalNum(model.getCaseList().size()); }else{ List<MemberImport> importList = (ie.getDataList(MemberImport.class,null)); @@ -242,19 +236,21 @@ int index = 1; for(MemberImport param :memberList){ index ++; if(StringUtils.isBlank(param.getImgurl()) ||StringUtils.isBlank(param.getFee()) ||StringUtils.isBlank(param.getName()) ||StringUtils.isBlank(param.getInfo()) ||StringUtils.isBlank(param.getJobYear()) ||StringUtils.isBlank(param.getPosition()) ||StringUtils.isBlank(param.getFieldNames()) ||StringUtils.isBlank(param.getSex()) ||StringUtils.isBlank(param.getCode()) ||StringUtils.isBlank(param.getZqNames()) ||StringUtils.isBlank(param.getLevelName()) ||StringUtils.isBlank(param.getServeNum()) ||StringUtils.isBlank(param.getTypeNames())){ if(( param.getImgurl() == null ||param.getImgurl().getData() == null ||param.getImgurl().getData().length == 0) &&StringUtils.isBlank(param.getFee()) &&StringUtils.isBlank(param.getName()) &&StringUtils.isBlank(param.getInfo()) &&StringUtils.isBlank(param.getJobYear()) &&StringUtils.isBlank(param.getPosition()) &&StringUtils.isBlank(param.getFieldNames()) &&StringUtils.isBlank(param.getSex()) &&StringUtils.isBlank(param.getCode()) &&StringUtils.isBlank(param.getZqNames()) &&StringUtils.isBlank(param.getLevelName()) &&StringUtils.isBlank(param.getServeNum()) &&StringUtils.isBlank(param.getTypeNames())){ continue; } Member member = new Member(); @@ -295,7 +291,7 @@ if(StringUtils.isBlank(param.getFee())){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,第"+index+"行数据, 费用标准信息不能为空"); } if(pics!=null && StringUtils.isNotBlank(param.getImgurl())){ /* if(pics!=null && StringUtils.isNotBlank(param.getImgurl())){ log.info("===================="+param.getImgurl()); int start = param.getImgurl().indexOf("(\"")+2; int end = param.getImgurl().indexOf("\","); @@ -307,7 +303,11 @@ member.setImgurlData(data.getData()); } } } }*/ if(param.getImgurl() ==null ){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,第"+index+"行【"+param.getName()+"】数据, 未读取到任何职业照图片数据"); } member.setImgurlData(param.getImgurl().getData()); if(member.getImgurlData() ==null || member.getImgurlData().length==0){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,第"+index+"行【"+param.getName()+"】数据, 未读取到任何职业照图片数据"); } @@ -350,6 +350,93 @@ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,未读取到有效数据"); } return insertMember; } private List<Cases> isvalidImpartCasesParam(LoginUserInfo user, Map<String, XSSFPictureData> pics, List<CasesImport> casesImportList) { if(casesImportList ==null || casesImportList.size()==0){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,未读取到有效数据"); } if(pics ==null || pics.size()==0){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,未读取到任何职业照图片数据"); } List<Cases> insertList = new ArrayList<>(); List<Member> allList = memberMapper.selectList(new QueryWrapper<Member>().lambda() .eq(Member::getDeleted,Constants.ZERO)); allList=allList==null?new ArrayList<>():allList; if(allList == null || allList.size()==0){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对不起, 读取老师数据异常,请先维护老师数据信息!"); } Date date = new Date(); int index = 1; for(CasesImport param :casesImportList){ index ++; if( ( param.getImageList() == null ||param.getImageList().size() == 0 ) &&StringUtils.isBlank(param.getName()) &&StringUtils.isBlank(param.getMemberCode()) &&StringUtils.isBlank(param.getStartDate()) &&StringUtils.isBlank(param.getEndDate()) &&StringUtils.isBlank(param.getDetail())){ continue; } Cases cases = new Cases(); cases.setStartDate(DateUtil.fromStringToDate("yyyy-MM-dd",param.getStartDate())); cases.setEndDate(DateUtil.fromStringToDate("yyyy-MM-dd",param.getEndDate())); if(StringUtils.isBlank(param.getName())){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,第"+index+"行数据, 案例主题不能为空"); } Member member =null; for(Member m : allList){ if(StringUtils.equals(param.getMemberCode(),m.getCode())){ member = m; } } if(member == null){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,第"+index+"行数据, 老师工号【"+param.getMemberCode()+"】信息不存在,请确认不要重复录入"); } if(StringUtils.isBlank(param.getDetail())){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,第"+index+"行数据, 案例说明不能为空"); } if(param.getImageList() == null){ param.setImageList(new ArrayList<>()); } param.getImageList().addAll(param.getImageList1()!=null?param.getImageList1():new ArrayList<>()); param.getImageList().addAll(param.getImageList2()!=null?param.getImageList2():new ArrayList<>()); param.getImageList().addAll(param.getImageList3()!=null?param.getImageList3():new ArrayList<>()); param.getImageList().addAll(param.getImageList4()!=null?param.getImageList4():new ArrayList<>()); param.getImageList().addAll(param.getImageList5()!=null?param.getImageList5():new ArrayList<>()); if(param.getImageList() == null ||param.getImageList().size() == 0 ){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,第"+index+"行数据, 案例图信息不能为空"); } if(cases.getStartDate()==null){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,第"+index+"行数据, 开始日期读取失败"); } if(cases.getEndDate()==null){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,第"+index+"行数据, 结束日期读取失败"); } cases.setImgdataList(new ArrayList<>()); for(XSSFPictureData d : param.getImageList()){ cases.getImgdataList().add(d.getData()); } cases.setCreateTime(date); cases.setUpdateTime(date); cases.setCreateUser(user.getId()); cases.setUpdateUser(user.getId()); cases.setAddType(Constants.ONE); cases.setDeleted(Constants.ZERO); cases.setStatus(Constants.ZERO); cases.setName(param.getName()); cases.setDetail(param.getDetail()); cases.setMemberId(member.getId()); insertList.add(cases); } if(insertList ==null || insertList.size()==0){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,未读取到有效数据"); } return insertList; } @@ -420,16 +507,34 @@ private int dealCaseImportBiz(ImportRecord importRecord) { int success=0; String msg =""; String msg = ""; String nowDate =DateUtil.getNowShortDate(); try { for(Cases param:importRecord.getCaseList()){ String bucket =systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE,Constants.BUCKETNAME).getCode(); String folder =systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE,Constants.CASES_FILES).getCode(); TyyZosUtil obs = new TyyZosUtil(systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE,Constants.ENDPOINT).getCode(), systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE,Constants.ACCESS_ID).getCode(), systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE,Constants.ACCESS_KEY).getCode()); for(Cases param: importRecord.getCaseList()){ int ts =0; try { param.setImportId(importRecord.getId()); param.setAddType(Constants.ONE); ts = dealCasesInsert(obs,param,folder,nowDate,bucket); }catch (Exception e){ log.error("处理人员信息发生异常{}",e.getMessage()); ts =0; } success += ts; } obs.shutDown(); }catch (Exception e){ } importRecord.setDoneNum(success); importRecord.setErrorNum(importRecord.getTotalNum() - success); importRecord.setDetail(msg); redisTemplate.delete(Constants.RedisKeys.IMPORTING_RECORD); return success; } @@ -464,6 +569,33 @@ } @Transactional private int dealCasesInsert( TyyZosUtil obs,Cases param,String folder,String nowDate,String bucketName) { int success = casesMapper.insert(param); List<Multifile> multifileList = new ArrayList<>(); for(byte[] d : param.getImgdataList()){ String fileName = UUID.randomUUID() + ".png"; String tempFileName = nowDate + "/" + fileName; String key = folder + tempFileName;// 文件名 if (obs.uploadInputstreamObjectNoShutdown(new ByteArrayInputStream(d ) ,bucketName, key)) { Multifile s = new Multifile(); s.setIsdeleted(Constants.ZERO); s.setCreator(param.getCreateUser()); s.setCreateDate(param.getCreateTime()); s.setObjId(param.getId()); s.setType(Constants.ZERO); s.setFileurl(tempFileName); s.setObjType(Constants.ONE); multifileList.add(s); param.setImgurl(tempFileName);//证件照地址 }else{ throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"图集上传失败!"); } } multifileMapper.insert(multifileList); return success; } private int dealMemberInsert( TyyZosUtil obs,Member param,String folder,String nowDate,String bucketName) { int success =0; try {