From c7fe55130816044f71f423727fc8ef734dfae13a Mon Sep 17 00:00:00 2001 From: 艾金辉 <1144154118@qq.com> Date: 星期五, 21 七月 2023 15:35:11 +0800 Subject: [PATCH] 根据用户名获取三一列表 --- ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java | 139 +++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 129 insertions(+), 10 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 0ba25e0..b14beaa 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,23 +8,25 @@ 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; import com.ruoyi.system.mapper.SysConfigMapper; -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; @@ -43,6 +46,7 @@ @Resource private ArdSyUserMapper ardSyUserMapper; + /** * 鏌ヨ涓変竴杞﹁締 @@ -96,6 +100,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); } @@ -166,8 +178,60 @@ } @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() { - //List<String> result = MinioUtils.getBucketObjectName("sycar"); boolean exsit = MinioUtils.exitsBucket("sycar"); if (exsit) { List<Map<String,String>> listObjetcName = new ArrayList<>(); @@ -197,16 +261,71 @@ listObjetcName.add(map); } return listObjetcName; - /*List<String> result = new ArrayList(); - for(String file : listObjetcName){ - String path = MinioUtils.getBucketObjectUrl("sycar", "carpicture/" + file); - result.add(path); - } - return result;*/ } 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 ""; + } + } + + @Override + public List<ArdSyCar> carListById(String id) { + return ardSyCarMapper.carListById(id); + } } -- Gitblit v1.9.3