From 146cffe8e1a2223677dadf2b51e6fd4fd08e5810 Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期六, 24 八月 2024 17:29:27 +0800 Subject: [PATCH] 计费修改 --- ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TApplyChargingPileController.java | 107 +++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 103 insertions(+), 4 deletions(-) diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TApplyChargingPileController.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TApplyChargingPileController.java index f60dca5..376534d 100644 --- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TApplyChargingPileController.java +++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TApplyChargingPileController.java @@ -5,10 +5,14 @@ import com.alibaba.excel.ExcelWriter; import com.alibaba.excel.write.builder.ExcelWriterBuilder; import com.alibaba.excel.write.metadata.WriteSheet; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.chargingPile.api.dto.ApplyChargingQuery; import com.ruoyi.chargingPile.api.dto.ApplyChargingRemarkDto; import com.ruoyi.chargingPile.api.model.TApplyChargingPile; +import com.ruoyi.chargingPile.dto.TApplyChargingPileExportDto; import com.ruoyi.chargingPile.service.TApplyChargingPileService; import com.ruoyi.common.core.constant.Constants; import com.ruoyi.common.core.domain.R; @@ -19,6 +23,7 @@ import com.ruoyi.common.security.service.TokenService; import io.swagger.annotations.ApiOperation; import org.apache.commons.codec.CharEncoding; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -26,8 +31,11 @@ import java.io.IOException; import java.io.InputStream; import java.io.UnsupportedEncodingException; +import java.net.URL; import java.net.URLEncoder; +import java.util.ArrayList; import java.util.List; +import java.util.regex.Pattern; /** * <p> @@ -75,7 +83,7 @@ @PostMapping(value = "/page") public AjaxResult<Page<TApplyChargingPile>> page(ApplyChargingQuery applyChargingQuery) { Page<TApplyChargingPile> page = applyChargingPileService.lambdaQuery() - .like(applyChargingQuery.getName() != null && !applyChargingQuery.getName().equals(""), TApplyChargingPile::getAgentPhone, applyChargingQuery.getName()) + .like(applyChargingQuery.getLandlordPhone() != null && !applyChargingQuery.getLandlordPhone().equals(""), TApplyChargingPile::getLandlordPhone, applyChargingQuery.getLandlordPhone()) .page(Page.of(applyChargingQuery.getPageCurr(), applyChargingQuery.getPageSize())); return AjaxResult.ok(page); } @@ -83,7 +91,7 @@ @ApiOperation(tags = {"后台-申请表单-申请建桩"},value = "导出") @PutMapping(value = "/export") - public R export(HttpServletResponse response) { + public R export(String landlordPhone,HttpServletResponse response) { try { response.setCharacterEncoding(Constants.UTF8); response.setContentType("application/vnd.ms-excel"); @@ -94,7 +102,90 @@ return R.fail("excel导出失败!"); } try { - List<TApplyChargingPile> list = applyChargingPileService.lambdaQuery().list(); + List<TApplyChargingPile> list = applyChargingPileService.lambdaQuery().like(landlordPhone != null && !landlordPhone.equals(""), TApplyChargingPile::getLandlordPhone, landlordPhone).list(); + + List<TApplyChargingPileExportDto> exportDtos =new ArrayList<>(); + for (TApplyChargingPile tApplyChargingPile : list) { + TApplyChargingPileExportDto applyChargingPileExportDto = new TApplyChargingPileExportDto(); + BeanUtils.copyProperties(tApplyChargingPile,applyChargingPileExportDto); + JSONArray p1 = JSON.parseArray(tApplyChargingPile.getLandlordFrontIdCard()); + if (!p1.isEmpty()) { + applyChargingPileExportDto.setLandlordFrontIdCard(new URL((String) p1.get(0))); + } + JSONArray p2 = JSON.parseArray(tApplyChargingPile.getLandlordBackIdCard()); + if (!p2.isEmpty()){ + applyChargingPileExportDto.setLandlordBackIdCard(new URL((String)p2.get(0)));} + JSONArray p3 = JSON.parseArray(tApplyChargingPile.getAgentBackIdCard()); + if (!p3.isEmpty()) + applyChargingPileExportDto.setAgentBackIdCard(new URL((String)p3.get(0))); + JSONArray p4 = JSON.parseArray(tApplyChargingPile.getAgentFrontIdCard()); + if (!p4.isEmpty()) { + applyChargingPileExportDto.setAgentFrontIdCard(new URL((String)p4.get(0))); + } + + if (tApplyChargingPile.getChargingPileUser()==1){ + JSONArray pics1 = JSON.parseArray(tApplyChargingPile.getFixedParkingPropertyRights()); + if (!pics1.isEmpty()) { + applyChargingPileExportDto.setPics1(new URL((String)pics1.get(0))); + } + JSONArray pics2 = JSON.parseArray(tApplyChargingPile.getConstructionCertificate()); + if (!pics1.isEmpty()) { + applyChargingPileExportDto.setPics2(new URL((String)pics2.get(0))); + } + }else { + JSONArray pics1 = JSON.parseArray(tApplyChargingPile.getTitleCertificate()); + if (!pics1.isEmpty()) { + applyChargingPileExportDto.setPics1(new URL((String)pics1.get(0))); + } + JSONArray pics2 = JSON.parseArray(tApplyChargingPile.getBusinessLicense()); + if (!pics1.isEmpty()) { + applyChargingPileExportDto.setPics2(new URL((String)pics2.get(0))); + } + } + + JSONArray objects1 = JSON.parseArray(tApplyChargingPile.getFurtherInformation()); + for (int i = 0; i < objects1.size(); i++) { + JSONObject jsonObject = JSON.parseObject(objects1.get(i).toString()); + System.err.println("==================="+jsonObject.get("url")); + + boolean isImage = isImageUrl(jsonObject); + if (!isImage){ + continue; + } + System.err.println("Is image: " + isImage); + if (i==0){ + applyChargingPileExportDto.setUrl1(new URL((String)jsonObject.get("url"))); + }else if (i==1){ + applyChargingPileExportDto.setUrl2(new URL((String)jsonObject.get("url"))); + }else if (i==2){ + applyChargingPileExportDto.setUrl3(new URL((String)jsonObject.get("url"))); + }else if (i==3){ + applyChargingPileExportDto.setUrl4(new URL((String)jsonObject.get("url"))); + }else if (i==4){ + applyChargingPileExportDto.setUrl5(new URL((String)jsonObject.get("url"))); + }else if (i==5){ + applyChargingPileExportDto.setUrl6(new URL((String)jsonObject.get("url"))); + } + } + + if (tApplyChargingPile.getLandlordHandling()==1){ + applyChargingPileExportDto.setIs1("是"); + }else { + applyChargingPileExportDto.setIs1("否"); + } + if (tApplyChargingPile.getChargingPileUser()==1){ + applyChargingPileExportDto.setIs2("是"); + }else { + applyChargingPileExportDto.setIs2("否"); + } + if (tApplyChargingPile.getChargingPile()==1){ + applyChargingPileExportDto.setIs3("是"); + }else { + applyChargingPileExportDto.setIs3("否"); + } + exportDtos.add(applyChargingPileExportDto); + + } // excel模板封装 ExcelWriterBuilder excelWriterBuilder = EasyExcelFactory.write(response.getOutputStream()); @@ -102,7 +193,7 @@ // 自动释放资源 try (ExcelWriter excelWriter = excelWriterBuilder.withTemplate(stream).build()) { WriteSheet writeSheet = EasyExcelFactory.writerSheet().build(); - excelWriter.fill(list, writeSheet); + excelWriter.fill(exportDtos, writeSheet); excelWriter.finish(); } catch (Exception e) { return R.fail("excel导出失败!"); @@ -113,6 +204,14 @@ return R.ok(); } + public static boolean isImageUrl(JSONObject jsonObject) { + String url = jsonObject.getString("url"); + Pattern pattern = Pattern.compile( + "^.*\\.(?i)(jpg|jpeg|png|gif|bmp|webp)$" + ); + return pattern.matcher(url).matches(); + } + @ApiOperation(tags = {"后台-申请表单-申请建桩"},value = "详情") @PostMapping(value = "/detail/{id}") public AjaxResult<TApplyChargingPile> detail(@PathVariable Integer id) { -- Gitblit v1.7.1