puzhibing
2026-02-27 02d717e9cfaa28f1d796af6df5a1c1a03e0b6715
Merge branch 'dev' of http://120.76.84.145:10101/gitblit/r/java/mx_charging_pile
6个文件已添加
7个文件已修改
342 ■■■■■ 已修改文件
ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/ChargingPileFallbackFactory.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/ChargingPileClient.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-jianguan/src/main/java/com/ruoyi/integration/api/elutong/model/ChargingGunInfo.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-jianguan/src/main/java/com/ruoyi/integration/api/elutong/model/ChargingPileInfo.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-jianguan/src/main/java/com/ruoyi/integration/api/elutong/model/ChargingStationInfo.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-jianguan/src/main/java/com/ruoyi/integration/api/factory/DongFuStationClientFallbackFactory.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-jianguan/src/main/java/com/ruoyi/integration/api/feignClient/DongFuStationClient.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-jianguan/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingPileController.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingGunServiceImpl.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileServiceImpl.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/dongfu/ChargingInfoController.java 159 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/ChargingPileFallbackFactory.java
@@ -67,7 +67,12 @@
            public void updateChargingPileStatus(UpdateChargingPileStatusVo vo) {
                log.error("修改充电桩状态失败:" + throwable.getMessage());
            }
            @Override
            public R<List<TChargingPile>> getAllPile() {
                return R.fail("查询所有充电桩信息失败:"+throwable.getMessage());
            }
        };
    }
}
ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/ChargingPileClient.java
@@ -60,4 +60,11 @@
     */
    @PostMapping("/t-charging-pile/updateChargingPileStatus")
    void updateChargingPileStatus(@RequestBody UpdateChargingPileStatusVo vo);
    /**
     * 获取所有桩
     */
    @PostMapping("/t-charging-pile/getAllPile")
    R<List<TChargingPile>> getAllPile();
}
ruoyi-api/ruoyi-api-jianguan/src/main/java/com/ruoyi/integration/api/elutong/model/ChargingGunInfo.java
New file
@@ -0,0 +1,22 @@
package com.ruoyi.integration.api.elutong.model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
@Data
@ApiModel(value = "东涪充电枪信息")
public class ChargingGunInfo implements Serializable {
    @ApiModelProperty(value = "充电枪id")
    private String id;
    @ApiModelProperty(value = "充电枪名称")
    private String name;
    @ApiModelProperty(value = "充电桩状态(1=空闲,2=使用中,0=离线)")
    private Integer status;
    @ApiModelProperty(value = "所属充电桩ID")
    private String pileId;
}
ruoyi-api/ruoyi-api-jianguan/src/main/java/com/ruoyi/integration/api/elutong/model/ChargingPileInfo.java
New file
@@ -0,0 +1,24 @@
package com.ruoyi.integration.api.elutong.model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
@Data
@ApiModel(value = "东涪充电桩信息")
public class ChargingPileInfo implements Serializable {
    @ApiModelProperty(value = "充电桩id")
    private String id;
    @ApiModelProperty(value = "充电桩名称")
    private String name;
    @ApiModelProperty(value = "充电桩状态(1=空闲,2=使用中,0=离线)")
    private Integer status;
    @ApiModelProperty(value = "是否快充(1=快充,0=慢充)")
    private Integer fast;
    @ApiModelProperty(value = "电站id")
    private String stationId;
}
ruoyi-api/ruoyi-api-jianguan/src/main/java/com/ruoyi/integration/api/elutong/model/ChargingStationInfo.java
New file
@@ -0,0 +1,20 @@
package com.ruoyi.integration.api.elutong.model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
@Data
@ApiModel(value = "东涪充电站信息")
public class ChargingStationInfo implements Serializable {
    @ApiModelProperty(value = "站点id")
    private String id;
    @ApiModelProperty(value = "站点名称")
    private String name;
    @ApiModelProperty(value = "充电站状态(0=关闭,1=正常)")
    private Integer status;
}
ruoyi-api/ruoyi-api-jianguan/src/main/java/com/ruoyi/integration/api/factory/DongFuStationClientFallbackFactory.java
New file
@@ -0,0 +1,29 @@
package com.ruoyi.integration.api.factory;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.integration.api.feignClient.DongFuStationClient;
import org.springframework.cloud.openfeign.FallbackFactory;
public class DongFuStationClientFallbackFactory implements FallbackFactory<DongFuStationClient> {
    @Override
    public DongFuStationClient create(Throwable cause) {
        return new DongFuStationClient() {
            @Override
            public R<String> pushChargingStation() {
                return R.fail("推送充电站信息失败:" + cause.getMessage());
            }
            @Override
            public R<String> pushChargingPile() {
                return R.fail("推送充电桩信息失败:" + cause.getMessage());
            }
            @Override
            public R<String> pushChargingGun() {
                return R.fail("推送充电枪信息失败:" + cause.getMessage());
            }
        };
    }
}
ruoyi-api/ruoyi-api-jianguan/src/main/java/com/ruoyi/integration/api/feignClient/DongFuStationClient.java
New file
@@ -0,0 +1,36 @@
package com.ruoyi.integration.api.feignClient;
import com.ruoyi.common.core.constant.ServiceNameConstants;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.integration.api.factory.ChengDuJianGuanClientFallbackFactory;
import com.ruoyi.integration.api.factory.DongFuStationClientFallbackFactory;
import com.ruoyi.integration.api.vo.NotificationConnectorChargeStatusVo;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
@FeignClient(contextId = "DongFuStationClient", value = ServiceNameConstants.JIANGUAN_SERVICE, fallbackFactory = DongFuStationClientFallbackFactory.class)
public interface DongFuStationClient {
    /**
     * 推送充电站信息
     * @return
     */
    @PostMapping("/chargingStationInfo/pushChargingStation")
    R<String> pushChargingStation();
    /**
     * 推送充电桩信息
     * @return
     */
    @PostMapping("/chargingStationInfo/pushChargingPile")
    R<String> pushChargingPile();
    /**
     * 推送充电枪信息
     * @return
     */
    @PostMapping("/chargingStationInfo/pushChargingGun")
    R<String> pushChargingGun();
}
ruoyi-api/ruoyi-api-jianguan/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
@@ -1,3 +1,4 @@
com.ruoyi.integration.api.factory.ChargingMessageClientFallbackFactory
com.ruoyi.integration.api.factory.ELuTongClientFallbackFactory
com.ruoyi.integration.api.factory.ChengDuJianGuanClientFallbackFactory
com.ruoyi.integration.api.factory.ChengDuJianGuanClientFallbackFactory
com.ruoyi.integration.api.factory.DongFuStationClientFallbackFactory
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingPileController.java
@@ -416,7 +416,12 @@
            }
        }
    }
    @ResponseBody
    @PostMapping("/getAllPile")
    public R<List<TChargingPile>> getAllPile(){
        List<TChargingPile> pileList = chargingPileService.list();
        return R.ok(pileList);
    }
    /**
     * 推送设备接口状态信息
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java
@@ -26,10 +26,7 @@
import com.ruoyi.common.security.service.TokenService;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.integration.api.elutong.model.*;
import com.ruoyi.integration.api.feignClient.ChengDuJianGuanClient;
import com.ruoyi.integration.api.feignClient.ELuTongClient;
import com.ruoyi.integration.api.feignClient.IntegrationClient;
import com.ruoyi.integration.api.feignClient.TCECClient;
import com.ruoyi.integration.api.feignClient.*;
import com.ruoyi.other.api.domain.TVip;
import com.ruoyi.other.api.feignClient.RoleSiteClient;
import com.ruoyi.other.api.feignClient.UserSiteClient;
@@ -104,7 +101,9 @@
    @Resource
    private ChengDuJianGuanClient chengDuJianGuanClient;
    @Resource
    private DongFuStationClient dongFuStationClient;
    
    /**
     * 获取站点管理列表数据
@@ -234,6 +233,8 @@
                if(200 != r.getCode()){
                    System.out.println(r.getMsg());
                }
                // TODO 东涪推送
                dongFuStationClient.pushChargingStation();
            });
        }
        return AjaxResult.success();
@@ -445,6 +446,8 @@
                if(200 != r.getCode()){
                    System.out.println(r.getMsg());
                }
                // TODO 东涪推送
                dongFuStationClient.pushChargingStation();
            });
        }
        return AjaxResult.success();
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingGunServiceImpl.java
@@ -24,6 +24,7 @@
import com.ruoyi.common.security.service.TokenService;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.integration.api.feignClient.ChengDuJianGuanClient;
import com.ruoyi.integration.api.feignClient.DongFuStationClient;
import com.ruoyi.integration.api.feignClient.SendMessageClient;
import com.ruoyi.integration.api.feignClient.TCECClient;
import com.ruoyi.integration.api.model.QrCodeDelivery;
@@ -131,6 +132,8 @@
    @Resource
    private ChengDuJianGuanClient chengDuJianGuanClient;
    @Resource
    private DongFuStationClient dongFuStationClient;
@@ -171,6 +174,8 @@
        threadPoolExecutor.execute(()->{
            //推送成都监管
            chengDuJianGuanClient.notificationStationInfo(chargingPile.getSiteId());
            // TODO 东涪推送
            dongFuStationClient.pushChargingGun();
        });
        return AjaxResult.success();
    }
@@ -217,6 +222,8 @@
        threadPoolExecutor.execute(()->{
            //推送成都监管
            chengDuJianGuanClient.notificationStationInfo(chargingPile.getSiteId());
            // TODO 东涪推送
            dongFuStationClient.pushChargingGun();
        });
        return AjaxResult.success();
    }
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileServiceImpl.java
@@ -134,7 +134,9 @@
    @Resource
    private ChengDuJianGuanClient chengDuJianGuanClient;
    @Resource
    private DongFuStationClient dongFuStationClient;
    
    /**
@@ -221,6 +223,8 @@
        threadPoolExecutor.execute(()->{
            //推送成都监管
            chengDuJianGuanClient.notificationStationInfo(chargingPile.getSiteId());
            // TODO 东涪推送
            dongFuStationClient.pushChargingPile();
        });
        return AjaxResult.success();
    }
@@ -346,6 +350,8 @@
        threadPoolExecutor.execute(()->{
            //推送成都监管
            chengDuJianGuanClient.notificationStationInfo(chargingPile.getSiteId());
            // TODO 东涪推送
            dongFuStationClient.pushChargingPile();
        });
        return AjaxResult.success();
    }
ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/dongfu/ChargingInfoController.java
New file
@@ -0,0 +1,159 @@
package com.ruoyi.jianguan.dongfu;
import com.alibaba.fastjson2.JSONObject;
import com.ruoyi.chargingPile.api.feignClient.ChargingGunClient;
import com.ruoyi.chargingPile.api.feignClient.ChargingPileClient;
import com.ruoyi.chargingPile.api.feignClient.SiteClient;
import com.ruoyi.chargingPile.api.model.Site;
import com.ruoyi.chargingPile.api.model.TChargingGun;
import com.ruoyi.chargingPile.api.model.TChargingPile;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.integration.api.elutong.model.ChargingGunInfo;
import com.ruoyi.integration.api.elutong.model.ChargingPileInfo;
import com.ruoyi.integration.api.elutong.model.ChargingStationInfo;
import com.ruoyi.jianguan.chengdujianguan.util.HttpRequestUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.List;
/**
 * 站桩枪、订单 临时数据接口
 *
 * @author stylefeng
 * @Date 2018/7/20 23:39
 */
@RestController
@RequestMapping("/chargingStationInfo")
@Slf4j
public class ChargingInfoController {
    /**
     * 推送地址
     */
    private final String PUSH_URL = "https://kdgkg.dftzyxgs.com/scenic";
    /**
     * 推送站点
     */
    private final String PUSH_SITE_URL = "/open/xw/charging/push/station";
    /**
     * 推送桩
     */
    private final String PUSH_PILE_URL = "/open/xw/charging/push/pile";
    /**
     * 推送枪
     */
    private final String PUSH_GUN_URL = "/open/xw/charging/push/gun";
    @Autowired
    private ChargingGunClient chargingGunClient;
    @Autowired
    private ChargingPileClient chargingPileClient;
    @Autowired
    private SiteClient siteClient;
    /**
     * 推送充电站信息
     * @return
     */
    @PostMapping("/pushChargingStation")
    public R<String> pushChargingStation(){
        R<List<Site>> siteListR = siteClient.getSiteAll();
        List<Site> siteList = siteListR.getData();
        if(!CollectionUtils.isEmpty(siteList)){
            List<ChargingStationInfo> chargingStationInfoList = new ArrayList<>();
            for (Site site : siteList) {
                ChargingStationInfo chargingStationInfo = new ChargingStationInfo();
                chargingStationInfo.setId(site.getId().toString());
                chargingStationInfo.setName(site.getName());
                chargingStationInfo.setStatus(site.getStatus()==1?1:0);
                chargingStationInfoList.add(chargingStationInfo);
            }
            // 推送http请求
            String result = HttpRequestUtil.httpPost(PUSH_URL + PUSH_SITE_URL, JSONObject.toJSONString(chargingStationInfoList), "");
            log.info("推送充电站信息:{}",result);
        }
        return R.ok();
    }
    /**
     * 推送充电桩信息
     * @return
     */
    @PostMapping("/pushChargingPile")
    public R<String> pushChargingPile(){
        R<List<TChargingPile>> pileListR = chargingPileClient.getAllPile();
        List<TChargingPile> chargingPiles = pileListR.getData();
        if(!CollectionUtils.isEmpty(chargingPiles)){
            List<ChargingPileInfo> chargingPileInfoList = new ArrayList<>();
            for (TChargingPile pile : chargingPiles) {
                ChargingPileInfo chargingPileInfo = new ChargingPileInfo();
                chargingPileInfo.setId(pile.getId().toString());
                chargingPileInfo.setName(pile.getName());
                if(pile.getStatus() == 1){
                    chargingPileInfo.setStatus(2);
                }else {
                    chargingPileInfo.setStatus(0);
                }
                chargingPileInfo.setStatus(pile.getStatus()==1?1:0);
                chargingPileInfo.setFast(1);
                chargingPileInfo.setStationId(pile.getSiteId().toString());
                chargingPileInfoList.add(chargingPileInfo);
            }
            // 推送http请求
            String result = HttpRequestUtil.httpPost(PUSH_URL + PUSH_PILE_URL, JSONObject.toJSONString(chargingPileInfoList), "");
            log.info("推送充电桩信息:{}",result);
        }
        return R.ok();
    }
    /**
     * 推送充电枪信息
     * @return
     */
    @PostMapping("/pushChargingGun")
    public R<String> pushChargingGun(){
        R<List<TChargingGun>> gunListR = chargingGunClient.getAllGun();
        List<TChargingGun> chargingGuns = gunListR.getData();
        if(!CollectionUtils.isEmpty(chargingGuns)){
            List<ChargingGunInfo> chargingGunInfoList = new ArrayList<>();
            for (TChargingGun gun : chargingGuns) {
                ChargingGunInfo chargingGunInfo = new ChargingGunInfo();
                chargingGunInfo.setId(gun.getId().toString());
                chargingGunInfo.setName(gun.getName());
                if(gun.getStatus() == 1 || gun.getStatus() == 7){
                    chargingGunInfo.setStatus(0);
                }else if (gun.getStatus() == 2){
                    chargingGunInfo.setStatus(1);
                }else {
                    chargingGunInfo.setStatus(2);
                }
                chargingGunInfo.setPileId(gun.getChargingPileId().toString());
                chargingGunInfoList.add(chargingGunInfo);
            }
            // 推送http请求
            String result = HttpRequestUtil.httpPost(PUSH_URL + PUSH_GUN_URL, JSONObject.toJSONString(chargingGunInfoList), "");
            log.info("推送充电枪信息:{}",result);
        }
        return R.ok();
    }
}