zhangnaisong
2023-07-21 976c901225ab892868cd6c6c041c73420628ce57
ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java
@@ -102,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);
    }
@@ -172,6 +180,59 @@
    }
    @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) {
@@ -211,7 +272,15 @@
    @Override
    public String uploadCarPicture(String id, MultipartFile carPicture) {
        //String url = MinioUtils.putObjectAndGetUrl("sycar",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 "";
@@ -245,10 +314,12 @@
                    .build();
            String presignedObjectUrl = MinioClientSingleton.getMinioClient().getPresignedObjectUrl(getPresignedObjectUrlArgs);
            String ObjectUrl  = presignedObjectUrl.substring(0, presignedObjectUrl.indexOf("?"));
            ArdSyCar ardSyCar = new ArdSyCar();
            ardSyCar.setId(id);
            ardSyCar.setCarPicture(ObjectUrl);
            ardSyCarMapper.updateArdSyCar(ardSyCar);
            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 "";