From 976c901225ab892868cd6c6c041c73420628ce57 Mon Sep 17 00:00:00 2001 From: zhangnaisong <2434969829@qq.com> Date: 星期五, 21 七月 2023 13:40:39 +0800 Subject: [PATCH] 查询全部三一车辆提交 --- ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java | 166 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 166 insertions(+), 0 deletions(-) diff --git a/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java b/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java index dc8b3e4..ed8f4dc 100644 --- a/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java +++ b/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java @@ -1,5 +1,6 @@ package com.ruoyi.sy.service.impl; +import java.io.InputStream; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -7,6 +8,9 @@ import java.util.function.Predicate; import java.util.stream.Collectors; +import com.ruoyi.common.utils.uuid.IdUtils; +import com.ruoyi.device.hiksdk.config.MinioClientSingleton; +import com.ruoyi.device.hiksdk.util.minio.MinioUtils; import com.ruoyi.sy.domain.ArdSyUser; import com.ruoyi.sy.mapper.ArdSyUserMapper; import com.ruoyi.system.domain.SysConfig; @@ -14,11 +18,18 @@ import com.ruoyi.system.mapper.SysUserMapper; import com.ruoyi.system.service.ISysConfigService; import com.ruoyi.utils.httpclient.SYCarClient; +import io.minio.GetPresignedObjectUrlArgs; +import io.minio.ListObjectsArgs; +import io.minio.PutObjectArgs; +import io.minio.Result; +import io.minio.http.Method; +import io.minio.messages.Item; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.ruoyi.sy.mapper.ArdSyCarMapper; import com.ruoyi.sy.domain.ArdSyCar; import com.ruoyi.sy.service.IArdSyCarService; +import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; @@ -91,6 +102,14 @@ */ @Override public int deleteArdSyCarByIds(String[] ids) { + List<ArdSyCar> result = ardSyCarMapper.selectArdSyCarByIds(ids); + List<String> objectNames = new ArrayList(); + for(ArdSyCar ardSyCar : result){ + if(ardSyCar.getCarPicture() != null && !ardSyCar.getCarPicture().equals("")){ + objectNames.add(ardSyCar.getCarPicture().split("/sycar/")[1]); + } + } + MinioUtils.removeObjects("sycar", objectNames); return ardSyCarMapper.deleteArdSyCarByIds(ids); } @@ -159,4 +178,151 @@ } } } + + @Override + public Map<String, Object> getArdSyCarAll(String userId) { + SysConfig config = new SysConfig(); + config.setConfigKey("syCarPT"); + List<SysConfig> sysConfigResult = sysConfigMapper.selectConfigList(config); + String syURL = ""; + Map<String,Object> result = new HashMap(); + if(sysConfigResult.size() == 0){ + result.put("data","涓変竴杞﹁締url娌℃湁褰曞叆"); + result.put("code","500"); + return result; + }else{ + syURL = sysConfigResult.get(0).getConfigValue(); + ArdSyUser ardSyUserPara = new ArdSyUser(); + ardSyUserPara.setSysUserId(userId); + List<ArdSyUser> ardSyUserList = ardSyUserMapper.selectArdSyUserList(ardSyUserPara); + if(ardSyUserList.size() == 0){ + result.put("data","鐢ㄦ埛鏈寕鎺ヤ笁涓�杞﹁締"); + result.put("code","500"); + return result; + }else{ + ArdSyUser ardSyUser = ardSyUserList.get(0); + Map<String,Object> LogInResult = SYCarClient.logIn(syURL,ardSyUser.getUserId(), ardSyUser.getPassword()); + String sessionId = (String) LogInResult.get("sessionId"); + Map<String,Object> carListMap = SYCarClient.getCarList(syURL,sessionId); + if(((String)carListMap.get("rspCode")).equals("1")){ + List<Map<String,Object>> list = (List<Map<String,Object>>) carListMap.get("list"); + /*ArdSyCar ardSyCar = new ArdSyCar(); + List<ArdSyCar> ardSyCarList = ardSyCarMapper.selectArdSyCarList(ardSyCar); + List<String> carIdList = new ArrayList(); + for(ArdSyCar innerArdSyCar : ardSyCarList){ + carIdList.add(innerArdSyCar.getCarId()); + } + + List<Map<String,Object>> carList = list.stream().filter(new Predicate<Map<String,Object>>(){ + @Override + public boolean test(Map<String,Object> map) { + return !carIdList.contains((String)map.get("carId")); + } + }).collect(Collectors.toList()); + result.put("data",carList);*/ + result.put("data",list); + result.put("code","200"); + return result; + }else{ + result.put("data","涓変竴杞﹁締骞冲彴鍑洪敊"); + result.put("code","500"); + return result; + } + } + } + } + + @Override + public List<Map<String,String>> getAllCarModel() { + boolean exsit = MinioUtils.exitsBucket("sycar"); + if (exsit) { + List<Map<String,String>> listObjetcName = new ArrayList<>(); + try { + ListObjectsArgs listObjectsArgs = ListObjectsArgs.builder().prefix("carmodel/").bucket("sycar").build(); + Iterable<Result<Item>> myObjects = MinioClientSingleton.getMinioClient().listObjects(listObjectsArgs); + for (Result<Item> result : myObjects) { + Item item = result.get(); + Map<String,String> map = new HashMap(); + map.put("carModel","sycar/" + item.objectName()); + switch(item.objectName()){ + case "carmodel/aodi.glb":map.put("carType","濂ヨ开");break; + case "carmodel/baolai.glb":map.put("carType","瀹濇潵");break; + case "carmodel/bieke.glb":map.put("carType","鍒厠");break; + case "carmodel/bus1.glb":map.put("carType","澶у杞�");break; + case "carmodel/car.glb":map.put("carType","灏忓瀷杞�");break; + case "carmodel/fire(1).glb":map.put("carType","娑堥槻杞�");break; + case "carmodel/fute.glb":map.put("carType","绂忕壒");break; + case "carmodel/jingche_a.glb":map.put("carType","璀﹁溅");break; + case "carmodel/jiuhu.glb":map.put("carType","鏁戞姢杞�");break; + case "carmodel/oil.glb":map.put("carType","娌圭綈杞�");break; + case "carmodel/truck.glb":map.put("carType","宸ョ▼鐢ㄨ溅");break; + case "carmodel/van1.glb":map.put("carType","澶ц揣杞�");break; + default: + break; + } + listObjetcName.add(map); + } + return listObjetcName; + } catch (Exception ex) { + //log.error("minio鑾峰彇妗朵笅瀵硅薄寮傚父锛�" + ex.getMessage()); + } + } + return null; + } + + @Override + public String uploadCarPicture(String id, MultipartFile carPicture) { + if(id != null && !id.equals("")){//id涓洪潪蹇呰 + ArdSyCar ardSyCarr = ardSyCarMapper.selectArdSyCarById(id); + List<String> objectNames = new ArrayList(); + if(ardSyCarr.getCarPicture() != null || !ardSyCarr.getCarPicture().equals("")){ + String objectName = ardSyCarr.getCarPicture().split("/sycar/")[1]; + objectNames.add(objectName); + MinioUtils.removeObjects("sycar", objectNames); + } + } + //鍒ゆ柇鏂囦欢鏄惁涓虹┖ + if (null == carPicture || 0 == carPicture.getSize()) { + return ""; + } + boolean exsit = MinioUtils.exitsBucket("sycar"); + if (!exsit) { + boolean bucket = MinioUtils.createBucket("sycar"); + } + //鏂囦欢鍚� + String originalFilename = carPicture.getOriginalFilename(); + //鏂扮殑鏂囦欢鍚� + String fileName = "carpicture/" + IdUtils.fastSimpleUUID()+"_"+ originalFilename; + try { + InputStream inputStream = carPicture.getInputStream(); + /*涓婁紶瀵硅薄*/ + PutObjectArgs putObjectArgs = PutObjectArgs + .builder() + .bucket("sycar") + .object(fileName) + .stream(inputStream, carPicture.getSize(), -1) + .contentType(carPicture.getContentType()) + .build(); + MinioClientSingleton.getMinioClient().putObject(putObjectArgs); + inputStream.close(); + /*鑾峰彇url*/ + GetPresignedObjectUrlArgs getPresignedObjectUrlArgs = GetPresignedObjectUrlArgs + .builder() + .bucket("sycar") + .object(fileName) + .method(Method.GET) + .build(); + String presignedObjectUrl = MinioClientSingleton.getMinioClient().getPresignedObjectUrl(getPresignedObjectUrlArgs); + String ObjectUrl = presignedObjectUrl.substring(0, presignedObjectUrl.indexOf("?")); + if(id != null && !id.equals("")){//id涓洪潪蹇呰 + ArdSyCar ardSyCar = new ArdSyCar(); + ardSyCar.setId(id); + ardSyCar.setCarPicture(ObjectUrl); + ardSyCarMapper.updateArdSyCar(ardSyCar); + } + return ObjectUrl; + } catch (Exception ex) { + return ""; + } + } } -- Gitblit v1.9.3