public Single batchQrCode(TbRiskUnit pojo) { Single single = new Single(); try { List<TbRiskUnit> list = this.unitService.getList(pojo, null); if(list!=null && list.size()>0){ for (TbRiskUnit unit : list) { List<String> ListNote = new ArrayList<>(); //coderService.encode("/phone/risk/unit/getBean?id="+unit.getId(), unit.getId()); if(null!=unit.getRiskUnitName()&&!"".equals(unit.getRiskUnitName())){ ListNote.add("风险分析单元:"+unit.getRiskUnitName()); } if(null!=unit.getHazardName()&&!"".equals(unit.getHazardName())){ ListNote.add("风险分析对象:"+unit.getHazardName()); } if(null!=unit.getHazardDep()&&!"".equals(unit.getHazardDep())){ ListNote.add("责任部门:"+unit.getHazardDep()); } coderService.drawLogoQRCode(null,"/phone/risk/unit/getBean?id="+unit.getId(),ListNote, unit.getId()); } } single.setData(pojo); single.setSuccess(true); single.setMessage("批量生成二维码成功!"); logger.info("批量生成二维码风险单元信息: " + pojo.getRiskUnitName() + "-id: " + pojo.getId()); } catch (Exception e) { single.setMessage("批量生成二维码失败!"); logger.error("批量生成二维码风险单元信息失败 ---> " + e.getMessage()); e.printStackTrace(); } return single; }我怎么在创建二维码之前把更早生成的二维码删除
时间: 2024-02-10 11:14:20 浏览: 20
在创建新的二维码之前,你可以先根据已有的风险单元信息获取其对应的二维码图片文件名,然后使用Java的File类删除该文件,即可删除早期生成的二维码。具体实现可以增加以下代码段:
```java
File qrCodeFile = new File("二维码图片文件路径");
if (qrCodeFile.exists()) {
if (qrCodeFile.delete()) {
logger.info("删除成功!删除的二维码图片文件名为:" + qrCodeFile.getName());
} else {
logger.warn("删除失败!删除的二维码图片文件名为:" + qrCodeFile.getName());
}
} else {
logger.warn("需要删除的二维码图片文件不存在,文件名为:" + qrCodeFile.getName());
}
```
在这个代码段里,你需要把“二维码图片文件路径”替换成你实际使用的二维码图片文件的路径。当然,你还需要在删除二维码图片文件之前先判断该文件是否存在,以避免因为文件不存在而导致的异常。
相关问题
public Single batchQrCode(TbRiskUnit pojo) { Single single = new Single(); try { List<TbRiskUnit> list = this.unitService.getList(pojo, null); if(list!=null && list.size()>0){ for (TbRiskUnit unit : list) { List<String> ListNote = new ArrayList<>(); //coderService.encode("/phone/risk/unit/getBean?id="+unit.getId(), unit.getId()); if(null!=unit.getRiskUnitName()&&!"".equals(unit.getRiskUnitName())){ ListNote.add("风险分析单元:"+unit.getRiskUnitName()); } if(null!=unit.getHazardName()&&!"".equals(unit.getHazardName())){ ListNote.add("风险分析对象:"+unit.getHazardName()); } if(null!=unit.getHazardDep()&&!"".equals(unit.getHazardDep())){ ListNote.add("责任部门:"+unit.getHazardDep()); } coderService.drawLogoQRCode(null,"/phone/risk/unit/getBean?id="+unit.getId(),ListNote, unit.getId()); } } single.setData(pojo); single.setSuccess(true); single.setMessage("批量生成二维码成功!"); logger.info("批量生成二维码风险单元信息: " + pojo.getRiskUnitName() + "-id: " + pojo.getId()); } catch (Exception e) { single.setMessage("批量生成二维码失败!"); logger.error("批量生成二维码风险单元信息失败 ---> " + e.getMessage()); e.printStackTrace(); } return single; }以上代码中我的imageurl存在与TbQrCode实体中我要用TbRiskUnit实体中的crop_id查出TbQrCode中的数据并删除我该怎么写
您可以尝试以下代码:
```java
public Single batchQrCode(TbRiskUnit pojo) {
Single single = new Single();
try {
List<TbRiskUnit> list = this.unitService.getList(pojo, null);
if (list != null && list.size() > 0) {
for (TbRiskUnit unit : list) {
List<String> ListNote = new ArrayList<>();
if (null != unit.getRiskUnitName() && !"".equals(unit.getRiskUnitName())) {
ListNote.add("风险分析单元:" + unit.getRiskUnitName());
}
if (null != unit.getHazardName() && !"".equals(unit.getHazardName())) {
ListNote.add("风险分析对象:" + unit.getHazardName());
}
if (null != unit.getHazardDep() && !"".equals(unit.getHazardDep())) {
ListNote.add("责任部门:" + unit.getHazardDep());
}
TbQrCode qrCode = new TbQrCode();
qrCode.setCropId(unit.getCropId());
TbQrCode existQrCode = coderService.getBean(qrCode);
if (existQrCode != null) {
coderService.deleteBean(existQrCode.getId());
}
coderService.drawLogoQRCode(null, "/phone/risk/unit/getBean?id=" + unit.getId(), ListNote, unit.getId());
}
}
single.setData(pojo);
single.setSuccess(true);
single.setMessage("批量生成二维码成功!");
logger.info("批量生成二维码风险单元信息: " + pojo.getRiskUnitName() + "-id: " + pojo.getId());
} catch (Exception e) {
single.setMessage("批量生成二维码失败!");
logger.error("批量生成二维码风险单元信息失败 ---> " + e.getMessage());
e.printStackTrace();
}
return single;
}
```
在循环中,您可以通过创建一个新的TbQrCode实例并设置cropId属性,然后使用coderService的getBean方法获取已存在的实例。如果存在,则使用coderService的deleteBean方法删除实例,然后再绘制新的二维码。
public Single batchQrCode(TbRiskUnit pojo) { Single single = new Single(); try { List<TbRiskUnit> list = this.unitService.getList(pojo, null); CurrentLoginUser user = AppUtil.getCurrentUser(); if (user.getUserType() == 2) { pojo.setCorpId(user.getCorpId()); } if(list!=null && list.size()>0){ for (TbRiskUnit unit : list) { List<String> ListNote = new ArrayList<>(); //coderService.encode("/phone/risk/unit/getBean?id="+unit.getId(), unit.getId()); if(null!=unit.getRiskUnitName()&&!"".equals(unit.getRiskUnitName())){ ListNote.add("风险分析单元:"+unit.getRiskUnitName()); } if(null!=unit.getHazardName()&&!"".equals(unit.getHazardName())){ ListNote.add("风险分析对象:"+unit.getHazardName()); } if(null!=unit.getHazardDep()&&!"".equals(unit.getHazardDep())){ ListNote.add("责任部门:"+unit.getHazardDep()); } coderService.drawLogoQRCode(null,"/phone/risk/unit/getBean?id="+unit.getId(),ListNote, unit.getId()); } } single.setData(pojo); single.setSuccess(true); single.setMessage("批量生成二维码成功!"); logger.info("批量生成二维码风险单元信息: " + pojo.getRiskUnitName() + "-id: " + pojo.getId()); } catch (Exception e) { single.setMessage("批量生成二维码失败!"); logger.error("批量生成二维码风险单元信息失败 ---> " + e.getMessage()); e.printStackTrace(); } return single; }怎么在批量生成二维码之前删除此企业原来已有的二维码(此企业原来已有的二维码在TbQrCode实体中)
要删除TbRiskUnit对应的TbQrCode实体中的二维码,可以在生成新二维码之前,先查询该企业已有的二维码信息,然后再根据查询结果进行删除操作。
具体的实现方式可以参考以下代码:
```java
public Single batchQrCode(TbRiskUnit pojo) {
Single single = new Single();
try {
// 查询该企业已有的二维码信息
List<TbQrCode> qrCodeList = qrCodeService.getListByCorpId(pojo.getCorpId());
// 删除已有的二维码
for (TbQrCode qrCode : qrCodeList) {
qrCodeService.delete(qrCode);
}
// 生成新的二维码
List<TbRiskUnit> list = this.unitService.getList(pojo, null);
CurrentLoginUser user = AppUtil.getCurrentUser();
if (user.getUserType() == 2) {
pojo.setCorpId(user.getCorpId());
}
if(list!=null && list.size()>0){
for (TbRiskUnit unit : list) {
List<String> ListNote = new ArrayList<>();
if(null!=unit.getRiskUnitName()&&!"".equals(unit.getRiskUnitName())){
ListNote.add("风险分析单元:"+unit.getRiskUnitName());
}
if(null!=unit.getHazardName()&&!"".equals(unit.getHazardName())){
ListNote.add("风险分析对象:"+unit.getHazardName());
}
if(null!=unit.getHazardDep()&&!"".equals(unit.getHazardDep())){
ListNote.add("责任部门:"+unit.getHazardDep());
}
coderService.drawLogoQRCode(null,"/phone/risk/unit/getBean?id="+unit.getId(),ListNote, unit.getId());
}
}
single.setData(pojo);
single.setSuccess(true);
single.setMessage("批量生成二维码成功!");
logger.info("批量生成二维码风险单元信息: " + pojo.getRiskUnitName() + "-id: " + pojo.getId());
} catch (Exception e) {
single.setMessage("批量生成二维码失败!");
logger.error("批量生成二维码风险单元信息失败 ---> " + e.getMessage());
e.printStackTrace();
}
return single;
}
```
其中,`qrCodeService`是对TbQrCode实体进行操作的服务类,`getListByCorpId()`方法可以根据企业ID查询该企业已有的二维码信息。如果查询到了已有的二维码信息,就通过`delete()`方法进行删除操作。然后再进行新二维码的生成。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)