From 4fabfe4dbd2eb28d07a4350597d314958cc1c281 Mon Sep 17 00:00:00 2001 From: MrShi <1878285526@qq.com> Date: 星期四, 09 十月 2025 11:16:43 +0800 Subject: [PATCH] 优化 --- server/services/src/main/java/com/doumee/service/business/impl/LocksServiceImpl.java | 113 +++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 111 insertions(+), 2 deletions(-) diff --git a/server/services/src/main/java/com/doumee/service/business/impl/LocksServiceImpl.java b/server/services/src/main/java/com/doumee/service/business/impl/LocksServiceImpl.java index 63c8345..f789565 100644 --- a/server/services/src/main/java/com/doumee/service/business/impl/LocksServiceImpl.java +++ b/server/services/src/main/java/com/doumee/service/business/impl/LocksServiceImpl.java @@ -3,6 +3,7 @@ import com.doumee.core.exception.BusinessException; import com.doumee.core.model.LoginUserInfo; import com.doumee.core.wx.WxMiniConfig; +import com.doumee.dao.business.BikesMapper; import com.google.common.collect.Lists; import com.doumee.biz.system.SystemDictDataBiz; @@ -25,6 +26,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.doumee.service.business.SitesService; import com.github.yulichang.wrapper.MPJLambdaWrapper; +import io.swagger.models.auth.In; import org.apache.commons.compress.archivers.zip.ZipArchiveEntry; import org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream; import org.apache.commons.lang3.StringUtils; @@ -67,6 +69,8 @@ @Autowired private SystemDictDataBiz systemDictDataBiz; + @Autowired + private BikesMapper bikesMapper; @Override public String create(Locks locks) { @@ -140,7 +144,7 @@ if (!CollectionUtils.isEmpty(locksList)){ // 妫�鏌ユ槸鍚︽湁鍥剧墖淇℃伅娌℃湁鏇存柊淇濆瓨鍥剧墖 locksList.forEach(s-> { - if (StringUtils.isBlank(s.getInfo())){ + if (Constants.equalsInteger(locks.getFource(),Constants.ONE) ||StringUtils.isBlank(s.getInfo())){ try { wxMiniUtilService.generateWXMiniCode(s, WxMiniConfig.wxMaService.getAccessToken(),prePath,code); }catch (Exception e){ @@ -154,6 +158,77 @@ return locksList; } return new ArrayList<>(); + } + + /** + * 鑾峰彇鎵�鏈夌數娴嬪皬绋嬪簭浜岀淮鐮� + * @param force 0涓嶅己鍒跺埛鏂� 1寮哄埗鍒锋柊 + * @return + */ + @Override + public List<Bikes> findAllBikeBase(Integer force) { + List<Bikes> bikesList = bikesMapper.selectList(new QueryWrapper<Bikes>().lambda() + .eq(Bikes::getIsdeleted,Constants.ZERO) + .eq(Bikes::getType,Constants.ONE) + ); + if(bikesList!=null && bikesList.size()>0){ + LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); + String fullPath = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.FILE_DIR).getCode() + + systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.PROJECTS).getCode() ; + String code = systemDictDataBiz.queryByCode(Constants.SYSTEM, Constants.PROJECTS).getCode(); + String prePath = systemDictDataBiz.queryByCode(Constants.SYSTEM, Constants.IMG_DIR).getCode(); + for(Bikes bikes : bikesList){ + if (Constants.equalsInteger(force,Constants.ONE) || StringUtils.isBlank(bikes.getImgurl())){ + try { + wxMiniUtilService.generateEbikeWXMiniCode(bikes, WxMiniConfig.wxMaService.getAccessToken(),prePath,code); + }catch (Exception e){ + } + if (StringUtils.isNotBlank(bikes.getImgurl())){ + bikes.setEditor(loginUserInfo.getId()); + bikes.setEditDate(new Date()); + bikesMapper.updateById(bikes); + } + } + if (StringUtils.isNotBlank(bikes.getImgurl())){ + bikes.setImgurl(fullPath+bikes.getImgurl()); + } + } + + } + + return bikesList; + } + @Override + public Bikes findBikeBase(String bikeId, Integer force) { + Bikes bikes = bikesMapper.selectById(bikeId); + if(bikes == null + || Constants.equalsInteger(bikes.getIsdeleted(),Constants.ONE) + || !Constants.equalsInteger(bikes.getType(),Constants.ONE)){ + throw new BusinessException(ResponseStatus.DATA_EMPTY); + } + LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); + String fullPath = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.FILE_DIR).getCode() + + systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.PROJECTS).getCode() ; + String code = systemDictDataBiz.queryByCode(Constants.SYSTEM, Constants.PROJECTS).getCode(); + String prePath = systemDictDataBiz.queryByCode(Constants.SYSTEM, Constants.IMG_DIR).getCode(); + // 妫�鏌ユ槸鍚︽湁鍥剧墖淇℃伅娌℃湁鏇存柊淇濆瓨鍥剧墖 + if (Constants.equalsInteger(force,Constants.ONE) || StringUtils.isBlank(bikes.getImgurl())){ + try { + wxMiniUtilService.generateEbikeWXMiniCode(bikes, WxMiniConfig.wxMaService.getAccessToken(),prePath,code); + }catch (Exception e){ + e.printStackTrace(); + } + if (StringUtils.isNotBlank(bikes.getImgurl())){ + bikes.setEditor(loginUserInfo.getId()); + bikes.setEditDate(new Date()); + bikesMapper.updateById(bikes); + } + } + if (StringUtils.isBlank(bikes.getImgurl())){ + throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"鑾峰彇灏忕▼搴忕爜澶辫触锛岃绋嶅悗閲嶈瘯锛�"); + } + bikes.setImgurl(fullPath+bikes.getImgurl()); + return bikes; } @@ -234,6 +309,40 @@ throw new BusinessException(ResponseStatus.EXPORT_EXCEL_ERROR, e); } } - + @Override + public void exportEbikeImages(String bikeid, HttpServletResponse response){ + try { + List<File> fileList = new ArrayList<>(); + List<Bikes> bikesList = bikesMapper.selectList(new QueryWrapper<Bikes>().lambda() + .eq(Bikes::getIsdeleted,Constants.ZERO) + .eq(StringUtils.isNotBlank(bikeid) ,Bikes::getId,bikeid) + .eq(Bikes::getType,Constants.ONE) + ); + if(bikesList== null || bikesList.size() == 0){ + throw new BusinessException(ResponseStatus.DATA_EMPTY); + } + String path = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.IMG_DIR).getCode()+systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.PROJECTS).getCode(); + for(Bikes l : bikesList){ + if(StringUtils.isNotBlank(l.getImgurl())){ + File file = new File(path + l.getImgurl()); + if(file!=null && file.isFile()){ + fileList.add(file); + } + } + } + if(fileList == null || fileList.size() == 0){ + throw new BusinessException(ResponseStatus.DATA_EMPTY); + } + String fileName = "鐢佃溅灏忕▼搴忕爜鎵归噺瀵煎嚭_"+System.currentTimeMillis()+".zip" ; + String encodeFileName = URLEncoder.encode(fileName); + response.setHeader("Content-Disposition","attachment;filename=" + encodeFileName); + response.setContentType("application/octet-stream"); + response.setHeader("eva-opera-type", "download"); + response.setHeader("eva-download-filename", encodeFileName); + packFilesToZip(fileList,response.getOutputStream()); + } catch (IOException e) { + throw new BusinessException(ResponseStatus.EXPORT_EXCEL_ERROR, e); + } + } } -- Gitblit v1.9.3