远程升级
This commit is contained in:
parent
181edd0c77
commit
b5fcac8a04
@ -1,5 +1,6 @@
|
||||
package com.cdzy.operations.controller;
|
||||
|
||||
import com.cdzy.common.enums.Message;
|
||||
import com.cdzy.common.model.request.PageParam;
|
||||
import com.cdzy.common.model.response.JsonResult;
|
||||
import com.cdzy.operations.enums.CommandType;
|
||||
@ -13,6 +14,7 @@ import jakarta.annotation.Resource;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
@ -174,5 +176,15 @@ public class EbikeEcuInfoController {
|
||||
return JsonResult.success(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 上传远程升级文件
|
||||
* @param file 文件
|
||||
* @return 操作结果
|
||||
*/
|
||||
@GetMapping("upload")
|
||||
public JsonResult<?> upload(@RequestParam("file") MultipartFile file) throws Exception {
|
||||
String result = ebikeEcuInfoService.upload(file);
|
||||
return JsonResult.success(Message.SUCCESS,result);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -5,6 +5,7 @@ import com.cdzy.operations.model.vo.EbikeEcuInfoBatchVo;
|
||||
import com.cdzy.operations.model.vo.EbikeEcuInfoVo;
|
||||
import com.mybatisflex.core.service.IService;
|
||||
import com.cdzy.operations.model.entity.EbikeEcuInfo;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
@ -131,4 +132,9 @@ public interface EbikeEcuInfoService extends IService<EbikeEcuInfo> {
|
||||
*/
|
||||
boolean upgrade(EbikeEcuInfo ebikeEcuInfo,String url);
|
||||
|
||||
/**
|
||||
* 上传远程升级
|
||||
* @param file 文件对象
|
||||
*/
|
||||
String upload(MultipartFile file) throws Exception;
|
||||
}
|
||||
|
||||
@ -55,7 +55,7 @@ public class EbikeBatteryInfoServiceImpl extends ServiceImpl<EbikeBatteryInfoMap
|
||||
EbikeBatteryInfo batteryInfo = EbikeBatteryInfo.builder()
|
||||
.operatorId(operatorId)
|
||||
.batteryCode(code)
|
||||
.batteryQr(minioUtil.getQrShowUrl(batteryUrl+code +batterySuffix))
|
||||
.batteryQr(minioUtil.getShowUrl(batteryUrl+code +batterySuffix))
|
||||
.createdBy(StpUtil.getLoginIdAsLong())
|
||||
.build();
|
||||
batteryInfos.add(batteryInfo);
|
||||
|
||||
@ -55,7 +55,7 @@ public class EbikeBikeQrServiceImpl extends ServiceImpl<EbikeBikeQrMapper, Ebike
|
||||
EbikeBikeQr ebikeBikeQr = EbikeBikeQr.builder()
|
||||
.operatorId(operatorId)
|
||||
.bikeQrCode(code)
|
||||
.bikeQr(minioUtil.getQrShowUrl(bikeUrl+code +bikeSuffix))
|
||||
.bikeQr(minioUtil.getShowUrl(bikeUrl+code +bikeSuffix))
|
||||
.createdBy(StpUtil.getLoginIdAsLong())
|
||||
.status(BikeQrStatus.UN_BIND)
|
||||
.build();
|
||||
|
||||
@ -10,6 +10,7 @@ import com.cdzy.operations.model.vo.EbikeEcuInfoBatchVo;
|
||||
import com.cdzy.operations.model.vo.EbikeEcuInfoVo;
|
||||
import com.cdzy.operations.service.CommandService;
|
||||
import com.cdzy.operations.utils.EmqxApiClient;
|
||||
import com.cdzy.operations.utils.MinioUtil;
|
||||
import com.mybatisflex.core.query.QueryMethods;
|
||||
import com.mybatisflex.core.query.QueryWrapper;
|
||||
import com.mybatisflex.core.util.StringUtil;
|
||||
@ -19,10 +20,12 @@ import com.cdzy.operations.mapper.EbikeEcuInfoMapper;
|
||||
import com.cdzy.operations.service.EbikeEcuInfoService;
|
||||
import jakarta.annotation.Resource;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
import static com.cdzy.operations.model.entity.table.EbikeBikeInfoTableDef.EBIKE_BIKE_INFO;
|
||||
import static com.cdzy.operations.model.entity.table.EbikeEcuInfoTableDef.EBIKE_ECU_INFO;
|
||||
@ -45,6 +48,13 @@ public class EbikeEcuInfoServiceImpl extends ServiceImpl<EbikeEcuInfoMapper, Ebi
|
||||
@Resource
|
||||
private CommandService commandService;
|
||||
|
||||
@Resource
|
||||
private MinioUtil minioUtil;
|
||||
|
||||
private static final String upgradeUrl = "/upgrade-file/";
|
||||
|
||||
private static final String upgradeSuffix = ".bin";
|
||||
|
||||
@Override
|
||||
public void saveEcu(EbikeEcuInfoVo ebikeEcuInfo) {
|
||||
EbikeEcuInfo ebikeEcuInfoEntity = EbikeEcuInfo.builder()
|
||||
@ -169,6 +179,14 @@ public class EbikeEcuInfoServiceImpl extends ServiceImpl<EbikeEcuInfoMapper, Ebi
|
||||
return commandService.upgrade(ebikeEcuInfo, url);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String upload(MultipartFile file) throws Exception {
|
||||
String fileName = UUID.randomUUID().toString().replace("-", "");
|
||||
String objectName = upgradeUrl + fileName + upgradeSuffix;
|
||||
minioUtil.uploadFile(file.getInputStream() , objectName);
|
||||
return minioUtil.getShowUrl(objectName);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean checkSnOrBikeCode(String ecuSn, String bikeCode) {
|
||||
try {
|
||||
|
||||
@ -25,8 +25,6 @@ public class MinioUtil {
|
||||
@Setter
|
||||
private static String bucketName;
|
||||
|
||||
private static final String bikeUrl = "/bike-qr/";
|
||||
|
||||
|
||||
@Resource
|
||||
private MinioClient minioClient;
|
||||
@ -65,8 +63,7 @@ public class MinioUtil {
|
||||
*/
|
||||
public void uploadFile(InputStream inputStream, String objectName) throws Exception{
|
||||
//上传文件
|
||||
minioClient.putObject(PutObjectArgs.builder().bucket(bucketName).object(objectName)
|
||||
.stream(inputStream,-1,Integer.MAX_VALUE).build());
|
||||
uploadFile(inputStream, bucketName, objectName);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -275,7 +272,7 @@ public class MinioUtil {
|
||||
* 获取二维码展示路径
|
||||
* @param objectName 文件名称
|
||||
*/
|
||||
public String getQrShowUrl(String objectName){
|
||||
public String getShowUrl(String objectName){
|
||||
return baseUrl+objectName;
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user