From dfafe88917bd344d570277f14b7ea7bf03fa93d4 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期三, 19 二月 2025 18:33:41 +0800
Subject: [PATCH] jtt808初始化
---
server/platform/src/main/java/com/doumee/api/business/LocksController.java | 19 +++++-
server/services/src/main/java/com/doumee/dao/business/model/Locks.java | 3 +
server/services/src/main/java/com/doumee/service/business/LocksService.java | 6 +
server/services/src/main/java/com/doumee/service/business/impl/LocksServiceImpl.java | 97 ++++++++++++++++++++++++++++---
4 files changed, 109 insertions(+), 16 deletions(-)
diff --git a/server/platform/src/main/java/com/doumee/api/business/LocksController.java b/server/platform/src/main/java/com/doumee/api/business/LocksController.java
index 1e399eb..9a0c88f 100644
--- a/server/platform/src/main/java/com/doumee/api/business/LocksController.java
+++ b/server/platform/src/main/java/com/doumee/api/business/LocksController.java
@@ -99,7 +99,12 @@
}
locksService.exportImages(id,response);
}
-
+ @ApiOperation("瀵煎嚭鐢佃溅灏忕▼搴忕爜")
+ @PostMapping("/exportEbikeImages")
+ @RequiresPermissions("business:locks:exportExcel")
+ public void exportEbikeImages(@RequestParam String bikeid,HttpServletResponse response) {
+ locksService.exportEbikeImages(bikeid,response);
+ }
@ApiOperation("鏍规嵁ID鏌ヨ")
@GetMapping("/{id}")
@RequiresPermissions("business:locks:query")
@@ -115,14 +120,20 @@
@ApiOperation("鑾峰彇閿佹鍣ㄥ皬绋嬪簭浜岀淮鐮�")
@GetMapping("/findLockBase")
- public ApiResponse<List<Locks>> findLockBase64List(@RequestParam String siteId){
+ public ApiResponse<List<Locks>> findLockBase64List(@RequestParam String siteId,@RequestParam Integer fouce){
Locks locks = new Locks();
locks.setSiteId(siteId);
+ locks.setFource(fouce);
return ApiResponse.success(locksService.findLockBase64List(locks));
}
@ApiOperation("鑾峰彇鐢佃溅灏忕▼搴忎簩缁寸爜")
@GetMapping("/findBikeBase")
- public ApiResponse<Bikes> findBikeBase(@RequestParam String bikeId){
- return ApiResponse.success(locksService.findBikeBase(bikeId));
+ public ApiResponse<Bikes> findBikeBase(@RequestParam String bikeId,@RequestParam Integer fouce){
+ return ApiResponse.success(locksService.findBikeBase(bikeId,fouce));
+ }
+ @ApiOperation("鑾峰彇鎵�鏈夌數杞﹀皬绋嬪簭鐮�")
+ @GetMapping("/findAllBikeBase")
+ public ApiResponse<List<Bikes>> findAllBikeBase( @RequestParam Integer fouce){
+ return ApiResponse.success(locksService.findAllBikeBase( fouce));
}
}
diff --git a/server/services/src/main/java/com/doumee/dao/business/model/Locks.java b/server/services/src/main/java/com/doumee/dao/business/model/Locks.java
index cfaab37..6385880 100644
--- a/server/services/src/main/java/com/doumee/dao/business/model/Locks.java
+++ b/server/services/src/main/java/com/doumee/dao/business/model/Locks.java
@@ -88,4 +88,7 @@
@ApiModelProperty(value = "澶囨敞")
@TableField(exist = false)
private String imgfullurl;
+ @ApiModelProperty(value = "鏄惁寮哄埗鍒锋柊灏忕▼搴忕爜")
+ @TableField(exist = false)
+ private Integer fource;
}
diff --git a/server/services/src/main/java/com/doumee/service/business/LocksService.java b/server/services/src/main/java/com/doumee/service/business/LocksService.java
index 4056db7..103560b 100644
--- a/server/services/src/main/java/com/doumee/service/business/LocksService.java
+++ b/server/services/src/main/java/com/doumee/service/business/LocksService.java
@@ -109,5 +109,9 @@
void exportImages(String siteid, HttpServletResponse response);
- Bikes findBikeBase(String bikeId);
+ Bikes findBikeBase(String bikeId,Integer force);
+
+ List<Bikes> findAllBikeBase(Integer fouce);
+
+ void exportEbikeImages(String bikeid, HttpServletResponse response);
}
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 fccf2b8..4e05e7d 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
@@ -26,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;
@@ -143,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){
@@ -158,21 +159,59 @@
}
return new ArrayList<>();
}
+
+ /**
+ * 鑾峰彇鎵�鏈夌數娴嬪皬绋嬪簭浜岀淮鐮�
+ * @param force 0涓嶅己鍒跺埛鏂� 1寮哄埗鍒锋柊
+ * @return
+ */
@Override
- public Bikes findBikeBase(String bikeId) {
- Locks re = new Locks();
+ 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();
+ bikesList.forEach(bikes-> {
+ 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() ;
-
- Bikes bikes = bikesMapper.selectById(bikeId);
- if(bikes == null){
- throw new BusinessException(ResponseStatus.DATA_EMPTY);
- }
String code = systemDictDataBiz.queryByCode(Constants.SYSTEM, Constants.PROJECTS).getCode();
String prePath = systemDictDataBiz.queryByCode(Constants.SYSTEM, Constants.IMG_DIR).getCode();
// 妫�鏌ユ槸鍚︽湁鍥剧墖淇℃伅娌℃湁鏇存柊淇濆瓨鍥剧墖
- if (StringUtils.isBlank(bikes.getImgurl())){
+ if (Constants.equalsInteger(force,Constants.ONE) || StringUtils.isBlank(bikes.getImgurl())){
try {
wxMiniUtilService.generateEbikeWXMiniCode(bikes, WxMiniConfig.wxMaService.getAccessToken(),prePath,code);
}catch (Exception e){
@@ -183,9 +222,10 @@
bikesMapper.updateById(bikes);
}
}
- if (StringUtils.isNotBlank(bikes.getImgurl())){
- bikes.setImgurl(fullPath+bikes.getInfo());
+ if (StringUtils.isBlank(bikes.getImgurl())){
+ throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"鑾峰彇灏忕▼搴忕爜澶辫触锛岃绋嶅悗閲嶈瘯锛�");
}
+ bikes.setImgurl(fullPath+bikes.getImgurl());
return bikes;
}
@@ -267,6 +307,41 @@
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.getInfo())){
+ 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