From bdd5d358a70b89e42aa963cbc812e5ff3405465c Mon Sep 17 00:00:00 2001 From: yuyang Date: Tue, 30 Aug 2022 17:48:44 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=A1=A9=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E5=8F=B7=E6=8E=A7=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/xhpc/system/api/domain/SysUser.java | 1 - .../controller/XhpcPileEditionController.java | 44 +++++ .../station/mapper/XhpcPileEditionMapper.java | 29 ++++ .../service/IXhpcPileEditionService.java | 27 +++ .../service/XhpcPileEditionServiceImpl.java | 108 ++++++++++++ .../mapper/XhpcPileEditionMapper.xml | 164 ++++++++++++++++++ .../xhpc/common/domain/XhpcPileEdition.java | 38 ++++ .../com/xhpc/common/util/UserTypeUtil.java | 4 +- .../XhpcStopChargingOrderController.java | 10 +- 9 files changed, 417 insertions(+), 8 deletions(-) create mode 100644 xhpc-modules/xhpc-charging-station/src/main/java/com/xhpc/charging/station/controller/XhpcPileEditionController.java create mode 100644 xhpc-modules/xhpc-charging-station/src/main/java/com/xhpc/charging/station/mapper/XhpcPileEditionMapper.java create mode 100644 xhpc-modules/xhpc-charging-station/src/main/java/com/xhpc/charging/station/service/IXhpcPileEditionService.java create mode 100644 xhpc-modules/xhpc-charging-station/src/main/java/com/xhpc/charging/station/service/XhpcPileEditionServiceImpl.java create mode 100644 xhpc-modules/xhpc-charging-station/src/main/resources/mapper/XhpcPileEditionMapper.xml create mode 100644 xhpc-modules/xhpc-common/src/main/java/com/xhpc/common/domain/XhpcPileEdition.java diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/xhpc/system/api/domain/SysUser.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/xhpc/system/api/domain/SysUser.java index ec911c4e..4e570ed2 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/xhpc/system/api/domain/SysUser.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/xhpc/system/api/domain/SysUser.java @@ -44,7 +44,6 @@ public class SysUser extends BaseEntity * 用户类型(00系统用户) */ private String userType; - /** * 租户id(000000平台) */ diff --git a/xhpc-modules/xhpc-charging-station/src/main/java/com/xhpc/charging/station/controller/XhpcPileEditionController.java b/xhpc-modules/xhpc-charging-station/src/main/java/com/xhpc/charging/station/controller/XhpcPileEditionController.java new file mode 100644 index 00000000..ea52ff15 --- /dev/null +++ b/xhpc-modules/xhpc-charging-station/src/main/java/com/xhpc/charging/station/controller/XhpcPileEditionController.java @@ -0,0 +1,44 @@ +package com.xhpc.charging.station.controller; + +import com.xhpc.charging.station.service.IXhpcPileEditionService; +import com.xhpc.common.api.dto.XhpcChargingStationDto; +import com.xhpc.common.core.web.controller.BaseController; +import com.xhpc.common.core.web.domain.AjaxResult; +import com.xhpc.common.core.web.page.TableDataInfo; +import com.xhpc.common.domain.XhpcPileEdition; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import java.util.List; +import java.util.Map; + +/** + * @author yuyang + * @date 2022/8/30 14:17 + */ +@RestController +@RequestMapping("/pileEdition") +public class XhpcPileEditionController extends BaseController { + + + @Resource + private IXhpcPileEditionService xhpcPileEditionService; + + @GetMapping("/list") + public TableDataInfo list(HttpServletRequest request,Long chargingStationId,String chargingPileIds) { + startPage(); + List> list = xhpcPileEditionService.list(request,chargingStationId,chargingPileIds); + return getDataTable(list); + } + + @PostMapping(value = "/addPileEdition") + public AjaxResult addPileEdition(HttpServletRequest request, @RequestBody XhpcPileEdition xhpcPileEdition) { + return xhpcPileEditionService.addPileEdition(request, xhpcPileEdition); + } + @PostMapping("/status") + public AjaxResult status(@RequestParam(value = "status", required = true) Integer status,@RequestParam(value = "pileEditionId", required = true) Long pileEditionId) { + + return xhpcPileEditionService.status(pileEditionId,status); + } +} diff --git a/xhpc-modules/xhpc-charging-station/src/main/java/com/xhpc/charging/station/mapper/XhpcPileEditionMapper.java b/xhpc-modules/xhpc-charging-station/src/main/java/com/xhpc/charging/station/mapper/XhpcPileEditionMapper.java new file mode 100644 index 00000000..8cb96e05 --- /dev/null +++ b/xhpc-modules/xhpc-charging-station/src/main/java/com/xhpc/charging/station/mapper/XhpcPileEditionMapper.java @@ -0,0 +1,29 @@ +package com.xhpc.charging.station.mapper; + +import com.xhpc.common.domain.XhpcPileEdition; +import org.apache.ibatis.annotations.Param; + +import java.util.List; +import java.util.Map; + +/** + * @author yuyang + * @date 2022/8/30 14:15 + */ +public interface XhpcPileEditionMapper { + + List> list(@Param("chargingStationId")Long chargingStationId, @Param("chargingPileIds") String chargingPileIds,@Param("logOperatorId")Long logOperatorId, @Param("type")Integer type, @Param("tenantId")String tenantId); + + /** + * + * @param pileEditionId + * @param chargingPileIds + * @param type 1是去掉自己 + * @return + */ + int getXhpcPileEditions(@Param("pileEditionId")Long pileEditionId,@Param("chargingPileIds") String chargingPileIds,@Param("type")Integer type); + + int insertXhpcPileEdition(XhpcPileEdition xhpcPileEdition); + + int updatePileEdition(XhpcPileEdition xhpcPileEdition); +} diff --git a/xhpc-modules/xhpc-charging-station/src/main/java/com/xhpc/charging/station/service/IXhpcPileEditionService.java b/xhpc-modules/xhpc-charging-station/src/main/java/com/xhpc/charging/station/service/IXhpcPileEditionService.java new file mode 100644 index 00000000..198ba977 --- /dev/null +++ b/xhpc-modules/xhpc-charging-station/src/main/java/com/xhpc/charging/station/service/IXhpcPileEditionService.java @@ -0,0 +1,27 @@ +package com.xhpc.charging.station.service; + +import com.xhpc.common.core.web.domain.AjaxResult; +import com.xhpc.common.domain.XhpcPileEdition; + +import javax.servlet.http.HttpServletRequest; +import java.util.List; +import java.util.Map; + +/** + * @author yuyang + * @date 2022/8/30 14:09 + */ +public interface IXhpcPileEditionService { + + + /** + * 查询版本列表 + * @return + */ + List> list(HttpServletRequest request, Long chargingStationId, String chargingPileIds); + + + AjaxResult addPileEdition(HttpServletRequest request, XhpcPileEdition xhpcPileEdition); + + AjaxResult status(Long pileEditionId,Integer status); +} diff --git a/xhpc-modules/xhpc-charging-station/src/main/java/com/xhpc/charging/station/service/XhpcPileEditionServiceImpl.java b/xhpc-modules/xhpc-charging-station/src/main/java/com/xhpc/charging/station/service/XhpcPileEditionServiceImpl.java new file mode 100644 index 00000000..797f525a --- /dev/null +++ b/xhpc-modules/xhpc-charging-station/src/main/java/com/xhpc/charging/station/service/XhpcPileEditionServiceImpl.java @@ -0,0 +1,108 @@ +package com.xhpc.charging.station.service; + +import com.xhpc.charging.station.mapper.XhpcPileEditionMapper; +import com.xhpc.common.core.web.domain.AjaxResult; +import com.xhpc.common.core.web.service.BaseService; +import com.xhpc.common.domain.XhpcChargingStation; +import com.xhpc.common.domain.XhpcPileEdition; +import com.xhpc.common.security.service.TokenService; +import com.xhpc.common.util.UserTypeUtil; +import com.xhpc.system.api.domain.SysUser; +import com.xhpc.system.api.model.LoginUser; +import org.springframework.stereotype.Service; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestParam; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +/** + * @author yuyang + * @date 2022/8/30 14:10 + */ +@Service +public class XhpcPileEditionServiceImpl extends BaseService implements IXhpcPileEditionService{ + + @Resource + private XhpcPileEditionMapper xhpcPileEditionMapper; + @Resource + private TokenService tokenService; + + /** + * 查询版本列表 + * + * @param request + * @param chargingStationId + * @param chargingPileIds + * @return + */ + @Override + public List> list(HttpServletRequest request, Long chargingStationId, String chargingPileIds) { + LoginUser loginUser = tokenService.getLoginUser(request); + SysUser sysUser = loginUser.getSysUser(); + Long sysUserId = sysUser.getUserId(); + String tenantId =loginUser.getTenantId(); + //判断登录人的权限 + List> list =new ArrayList<>(); + if(UserTypeUtil.SYS_USER_TYPE_FOUR.equals(sysUser.getUserType())){ + //运维人员权限 + }else{ + if(!UserTypeUtil.SYS_USER_TYPE_ADMIN.equals(sysUser.getUserId())){ + // startPage(); + if(UserTypeUtil.SYS_USER_TYPE_ONE.equals(sysUser.getUserType())){ + Long logOperatorId = sysUser.getOperatorId(); + //运营商看自己的场站 + list = xhpcPileEditionMapper.list(chargingStationId,chargingPileIds,logOperatorId,1,tenantId); + }else{ + //查询赋值的场站 + list = xhpcPileEditionMapper.list(chargingStationId,chargingPileIds,sysUserId,2,tenantId); + } + }else{ + // startPage(); + list = xhpcPileEditionMapper.list(chargingStationId,chargingPileIds,sysUserId,0,tenantId); + } + } + return list; + } + + @Override + public AjaxResult addPileEdition(HttpServletRequest request, XhpcPileEdition xhpcPileEdition) { + + //判断是否已添加该桩 + int xhpcPileEditions = xhpcPileEditionMapper.getXhpcPileEditions(xhpcPileEdition.getPileEditionId(), xhpcPileEdition.getChargingPileIds(),1); + + if(xhpcPileEditions >0){ + return AjaxResult.error(500, "有重复桩"); + } + if(xhpcPileEdition.getPileEditionId() ==null){ + LoginUser loginUser = tokenService.getLoginUser(request); + String tenantId =loginUser.getTenantId(); + xhpcPileEdition.setTenantId(tenantId); + xhpcPileEditionMapper.insertXhpcPileEdition(xhpcPileEdition); + }else{ + xhpcPileEditionMapper.updatePileEdition(xhpcPileEdition); + } + return AjaxResult.success(); + } + + @Override + public AjaxResult status(Long pileEditionId,Integer status) { + XhpcPileEdition xhpcPileEdition = new XhpcPileEdition(); + xhpcPileEdition.setPileEditionId(pileEditionId); + xhpcPileEdition.setStatus(status); + if(status==0){ + int xhpcPileEditions = xhpcPileEditionMapper.getXhpcPileEditions(xhpcPileEdition.getPileEditionId(), xhpcPileEdition.getChargingPileIds(),1); + if(xhpcPileEditions >0){ + return AjaxResult.error(500, "有重复桩"); + } + } + xhpcPileEditionMapper.updatePileEdition(xhpcPileEdition); + return AjaxResult.success(); + } + + +} diff --git a/xhpc-modules/xhpc-charging-station/src/main/resources/mapper/XhpcPileEditionMapper.xml b/xhpc-modules/xhpc-charging-station/src/main/resources/mapper/XhpcPileEditionMapper.xml new file mode 100644 index 00000000..36e9b4a0 --- /dev/null +++ b/xhpc-modules/xhpc-charging-station/src/main/resources/mapper/XhpcPileEditionMapper.xml @@ -0,0 +1,164 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + insert into xhpc_pile_edition + + + charging_station_id, + + + charging_pile_ids, + + + direct_number, + + + communication_number, + + + status, + + + del_flag, + + + create_time, + + + create_by, + + + update_time, + + + update_by, + + + remark, + + + tenant_id, + + + + + #{chargingStationId}, + + + #{chargingPileIds}, + + + #{directNumber}, + + + #{communicationNumber}, + + + #{status}, + + + #{delFlag}, + + + #{createTime}, + + + #{createBy}, + + + #{updateTime}, + + + #{updateBy}, + + + #{remark}, + + + #{tenantId}, + + + + + + update xhpc_pile_edition + + charging_station_id = #{chargingStationId}, + charging_pile_ids = #{chargingPileIds}, + direct_number = #{directNumber}, + communication_number = #{communicationNumber}, + status = #{status}, + del_flag = #{delFlag}, + create_time = #{createTime}, + create_by = #{createBy}, + update_time = #{updateTime}, + update_by = #{updateBy}, + remark = #{remark}, + tenant_id=#{tenantId}, + + where pile_edition_id = #{pileEditionId} + + \ No newline at end of file diff --git a/xhpc-modules/xhpc-common/src/main/java/com/xhpc/common/domain/XhpcPileEdition.java b/xhpc-modules/xhpc-common/src/main/java/com/xhpc/common/domain/XhpcPileEdition.java new file mode 100644 index 00000000..92015f8d --- /dev/null +++ b/xhpc-modules/xhpc-common/src/main/java/com/xhpc/common/domain/XhpcPileEdition.java @@ -0,0 +1,38 @@ +package com.xhpc.common.domain; + +import com.xhpc.common.core.web.domain.BaseEntity; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * @author yuyang + * @date 2022/8/30 13:47 + */ +@Data +public class XhpcPileEdition extends BaseEntity { + + + private Long pileEditionId; + + /** 电站id */ + private Long chargingStationId; + + /** 桩id集合 */ + private String chargingPileIds; + + /** 直流版本号 */ + private String directNumber; + + /** 交流版本号 */ + private String communicationNumber; + + /** 状态(0正常 1停用) */ + private Integer status; + + /** 删除标志(0代表存在 1代表删除) */ + private Integer delFlag; + + + +} diff --git a/xhpc-modules/xhpc-common/src/main/java/com/xhpc/common/util/UserTypeUtil.java b/xhpc-modules/xhpc-common/src/main/java/com/xhpc/common/util/UserTypeUtil.java index e869d608..bee86d05 100644 --- a/xhpc-modules/xhpc-common/src/main/java/com/xhpc/common/util/UserTypeUtil.java +++ b/xhpc-modules/xhpc-common/src/main/java/com/xhpc/common/util/UserTypeUtil.java @@ -88,13 +88,13 @@ public class UserTypeUtil { /** - * 系统用户(00 平台管理员 01 运营上 03 子账户) + * 系统用户(00 平台管理员 01 运营上 03 子账户 04运维人员) */ public static final String SYS_USER_TYPE_ZERO = "00"; public static final String SYS_USER_TYPE_ONE = "01"; public static final String SYS_USER_TYPE_TWO = "02"; public static final String SYS_USER_TYPE_THREE = "03"; - + public static final String SYS_USER_TYPE_FOUR = "04"; /** * 启动方式 微信、支付宝、刷卡 diff --git a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/controller/XhpcStopChargingOrderController.java b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/controller/XhpcStopChargingOrderController.java index ede6c055..de317551 100644 --- a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/controller/XhpcStopChargingOrderController.java +++ b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/controller/XhpcStopChargingOrderController.java @@ -58,14 +58,14 @@ public class XhpcStopChargingOrderController extends BaseController { if(cacheMap!=null){ if(cacheMap.get("orderkey") !=null){ - String orderkey = cacheMap.get("orderkey").toString().substring(6); + String orderNumber = cacheMap.get("orderkey").toString().substring(6); + String orderkey = cacheMap.get("orderkey").toString(); - Map xhpcChargingPileById = xhpcChargeOrderService.getXhpcChargingPileById(chargingPileId); String version ="0A"; - if(xhpcChargingPileById.get("communicationProtocolVersion")!=null && !"".equals(xhpcChargingPileById.get("communicationProtocolVersion").toString())){ - version=xhpcChargingPileById.get("communicationProtocolVersion").toString(); + if(cacheMap.get("version") !=null){ + version =cacheMap.get("version").toString(); } - R r = powerPileService.stopCharging(orderkey, orderkey.substring(0,14), orderkey.substring(0,16), version); + R r = powerPileService.stopCharging(orderNumber, orderkey.substring(0,14), orderkey.substring(0,16), version); if(r.getCode()==200){ return AjaxResult.success("停止充电命令已下发");