From 7742eded8183625d8eff93e0cc0278bfe2166537 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期日, 29 九月 2024 09:48:13 +0800
Subject: [PATCH] 修改
---
ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/SiteMapper.xml | 4 -
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/AcquisitionBillingModeReply.java | 1
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java | 2
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TAccountingStrategyController.java | 10 ++++
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java | 16 ++++++--
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TAdvertisingController.java | 5 ++
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/listener/IotMessageListener.java | 37 +++++++++++++++++-
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TAccountingStrategyDetailServiceImpl.java | 9 ++++
8 files changed, 71 insertions(+), 13 deletions(-)
diff --git a/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/AcquisitionBillingModeReply.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/AcquisitionBillingModeReply.java
index 6546d89..1fc190a 100644
--- a/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/AcquisitionBillingModeReply.java
+++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/AcquisitionBillingModeReply.java
@@ -27,6 +27,7 @@
private BigDecimal low_peak_electricity_rate;// 谷电费费率(精确到五位小数)
private BigDecimal low_peak_service_rate;// 谷服务费费率(精确到五位小数)
private BigDecimal loss_ratio;// 计损比例
+// private DayTimeBase day_time_base;
private Integer time1;// 0:00~0:30 时段费率号(0:尖费率,1:峰费率,2:平费率,3:谷费率)
private Integer time2;// 0:30~1:00 时段费率号(0:尖费率,1:峰费率,2:平费率,3:谷费率)
private Integer time3;// 0:30~1:00 时段费率号(0:尖费率,1:峰费率,2:平费率,3:谷费率)
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java
index 9f4183e..bc7e0de 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java
@@ -252,7 +252,7 @@
return AjaxResult.success(siteService.getSiteListGun());
}
- @PostMapping("/getSiteListParkLot")
+ @GetMapping("/getSiteListParkLot")
@ApiOperation(value = "获取站点列表不分页", tags = {"管理后台-停车场绑定"})
public AjaxResult<List<Site>> getSiteListParkLot(){
return AjaxResult.success(siteService.getSiteListParkLot());
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TAccountingStrategyController.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TAccountingStrategyController.java
index 48c30cf..67c3b9e 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TAccountingStrategyController.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TAccountingStrategyController.java
@@ -160,8 +160,8 @@
Long userId = SecurityUtils.getLoginUser().getUserid();
dto.setUserId(userId);
dto.setAuditStatus(1);
- dto.setId(null);
dto.setParentId(dto.getId());
+ dto.setId(null);
accountingStrategyService.save(dto);
// 添加明细
List<TAccountingStrategyDetail> accountingStrategyDetails = dto.getAccountingStrategyDetails();
@@ -228,6 +228,10 @@
String twoUserName = sysUserClient.getSysUser(children.getTwoUserId()).getData().getNickName();
accountingStrategyVO.setTwoUserName(twoUserName);
}
+ if(null != children.getUserId()){
+ String userName = sysUserClient.getSysUser(children.getUserId()).getData().getNickName();
+ accountingStrategyVO.setUserName(userName);
+ }
accountingStrategyVO.setAccountingStrategyDetailList(accountingStrategyDetailService.list(Wrappers.lambdaQuery(TAccountingStrategyDetail.class)
.eq(TAccountingStrategyDetail::getAccountingStrategyId, children.getId())));
}else {
@@ -242,6 +246,10 @@
String twoUserName = sysUserClient.getSysUser(accountingStrategy.getTwoUserId()).getData().getNickName();
accountingStrategyVO.setTwoUserName(twoUserName);
}
+ if(null != children.getUserId()){
+ String userName = sysUserClient.getSysUser(children.getUserId()).getData().getNickName();
+ accountingStrategyVO.setUserName(userName);
+ }
accountingStrategyVO.setAccountingStrategyDetailList(accountingStrategyDetailService.list(Wrappers.lambdaQuery(TAccountingStrategyDetail.class)
.eq(TAccountingStrategyDetail::getAccountingStrategyId, id)));
}
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java
index 1c0a150..c748aee 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java
@@ -8,6 +8,7 @@
import com.ruoyi.chargingPile.api.model.Site;
import com.ruoyi.chargingPile.api.model.TChargingGun;
import com.ruoyi.chargingPile.api.model.TChargingPile;
+import com.ruoyi.chargingPile.api.model.TParkingLot;
import com.ruoyi.chargingPile.api.query.GetSiteList;
import com.ruoyi.chargingPile.api.query.SiteQuery;
import com.ruoyi.chargingPile.api.vo.SiteDetailVO;
@@ -15,10 +16,7 @@
import com.ruoyi.chargingPile.api.vo.TAccountingStrategyVO;
import com.ruoyi.chargingPile.domain.SiteMenu;
import com.ruoyi.chargingPile.mapper.SiteMapper;
-import com.ruoyi.chargingPile.service.IPartnerService;
-import com.ruoyi.chargingPile.service.ISiteService;
-import com.ruoyi.chargingPile.service.TChargingGunService;
-import com.ruoyi.chargingPile.service.TChargingPileService;
+import com.ruoyi.chargingPile.service.*;
import com.ruoyi.common.core.utils.ServletUtils;
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.common.core.web.domain.AjaxResult;
@@ -36,9 +34,11 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
import java.util.*;
+import java.util.stream.Collectors;
/**
* @author zhibing.pu
@@ -72,6 +72,8 @@
private VipClient vipClient;
@Resource
private SysUserRoleClient sysUserRoleClient;
+ @Resource
+ private TParkingLotService parkingLotService;
@@ -317,6 +319,12 @@
ids = new HashSet<>(data);
}
}
+ // 查询所有的停车场的站点id
+ List<TParkingLot> list = parkingLotService.list();
+ List<Integer> siteIds = list.stream().map(TParkingLot::getSiteId).collect(Collectors.toList());
+ if(!CollectionUtils.isEmpty(ids) && !CollectionUtils.isEmpty(siteIds)){
+ ids.addAll(siteIds);
+ }
return this.baseMapper.getSiteListParkLot(ids);
}
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TAccountingStrategyDetailServiceImpl.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TAccountingStrategyDetailServiceImpl.java
index 2412c8c..7d4fd08 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TAccountingStrategyDetailServiceImpl.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TAccountingStrategyDetailServiceImpl.java
@@ -147,17 +147,24 @@
@Override
public Boolean isStrategyPriceConsistent(List<TAccountingStrategyDetail> accountingStrategyDetails) {
Map<Integer, BigDecimal> phaseToServiceFee = new HashMap<>();
+ Map<Integer, BigDecimal> phaseToCostServiceFee = new HashMap<>();
for (TAccountingStrategyDetail detail : accountingStrategyDetails) {
Integer type = detail.getType();
BigDecimal serviceFee = detail.getServiceCharge();
+ BigDecimal costServiceCharge = detail.getCostServiceCharge();
if (phaseToServiceFee.containsKey(type)) {
BigDecimal existingFee = phaseToServiceFee.get(type);
- if (!existingFee.equals(serviceFee)) {
+ BigDecimal existingCostServiceCharge = phaseToCostServiceFee.get(type);
+ if (existingFee.compareTo(serviceFee) != 0) {
return false; // 发现不一致的服务费
+ }
+ if (existingCostServiceCharge.compareTo(costServiceCharge) != 0) {
+ return false; // 发现不一致的原价服务费
}
} else {
phaseToServiceFee.put(type, serviceFee);
+ phaseToCostServiceFee.put(type, costServiceCharge);
}
}
return true; // 所有相同阶段的服务费一致
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/SiteMapper.xml b/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/SiteMapper.xml
index 2acbc96..237ea5f 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/SiteMapper.xml
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/SiteMapper.xml
@@ -184,9 +184,8 @@
FROM t_site WHERE id = #{siteId} AND del_flag = ${@com.ruoyi.common.core.enums.DelFlagEnum@NO.getCode()}
</select>
<select id="getSiteListParkLot" resultType="com.ruoyi.chargingPile.api.model.Site">
- select ts.id, ts.partner_id, ts.code, ts.`name`, ts.site_type, ts.business_category, ts.status,tpl.id AS parkingLotId
+ select ts.id, ts.partner_id, ts.code, ts.`name`, ts.site_type, ts.business_category, ts.status
from t_site ts
- left join t_parking_lot tpl on (ts.id = tpl.site_id)
<where>
<if test="null != ids and ids.size()>0">
AND ts.id IN
@@ -195,7 +194,6 @@
</foreach>
</if>
AND ts.del_flag = ${@com.ruoyi.common.core.enums.DelFlagEnum@NO.getCode()}
- AND tpl.id IS NULL
</where>
</select>
<select id="getSiteListGun" resultType="com.ruoyi.chargingPile.api.model.Site">
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/listener/IotMessageListener.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/listener/IotMessageListener.java
index e43d689..0d449de 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/listener/IotMessageListener.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/listener/IotMessageListener.java
@@ -76,6 +76,11 @@
onlineReply.setOnline_result(0);
result = iotMessageProduce.sendMessage(deviceId, ServiceIdMenu.ONLINE_REPLY.getKey(), messageUtil.onlineReply(onlineReply));
log.info("充电桩登录认证-返回结果:{}",result);
+ // 响应硬件 对时设置应答
+ TimingSettingReply timingSettingReplyOnline = new TimingSettingReply();
+ timingSettingReplyOnline.setCharging_pile_code(onlineMessage.getCharging_pile_code());
+ timingSettingReplyOnline.setCurrent_time(CP56Time2aConverter.convertToCP56Time2a(new Date()));
+ iotMessageProduce.sendMessage(deviceId, ServiceIdMenu.TIMING_SETTING_REPLY.getKey(),messageUtil.timingSettingReply(timingSettingReplyOnline));
break;
case SendTagConstant.PING:
PingMessage pingMessage = JSON.parseObject(content.toJSONString(),PingMessage.class);
@@ -129,14 +134,14 @@
AcquisitionBillingModeMessage acquisitionBillingModeMessage = JSON.parseObject(content.toJSONString(),AcquisitionBillingModeMessage.class);
sendResult = enhanceProduce.acquisitionBillingModeMessage(acquisitionBillingModeMessage);
// 响应硬件 计费模型请求应答 1=尖阶段,2=峰阶段,3=平阶段,4=谷阶段
- List<TAccountingStrategyDetail> accountingStrategyDetails = accountingStrategyDetailClient.getDetailListByCode(acquisitionBillingModeMessage.getCharging_pile_code()).getData();
+ List<TAccountingStrategyDetail> accountingStrategyDetails = accountingStrategyDetailClient.getDetailListByCode(acquisitionBillingModeMessage.getCharging_pile_code().substring(0,14)).getData();
Map<Integer, TAccountingStrategyDetail> strategyPrice = StrategyUtil.getStrategyPrice(accountingStrategyDetails);
// 价格设置
AcquisitionBillingModeReply acquisitionBillingModeReply = new AcquisitionBillingModeReply();
StrategyUtil.setStrategyPrice(strategyPrice,acquisitionBillingModeReply);
// 时段设置
StrategyUtil.setTime(accountingStrategyDetails,acquisitionBillingModeReply);
- TAccountingStrategyDetail accountingStrategyDetail = accountingStrategyDetailClient.getDetailByCode(acquisitionBillingModeMessage.getCharging_pile_code()).getData();
+ TAccountingStrategyDetail accountingStrategyDetail = accountingStrategyDetailClient.getDetailByCode(acquisitionBillingModeMessage.getCharging_pile_code().substring(0,14)).getData();
acquisitionBillingModeReply.setBilling_model_code(accountingStrategyDetail.getId().toString());
acquisitionBillingModeReply.setCharging_pile_code(acquisitionBillingModeMessage.getCharging_pile_code());
acquisitionBillingModeReply.setLoss_ratio(BigDecimal.ZERO);
@@ -362,4 +367,32 @@
return R.ok(message);
}
+ @ApiOperation(value = "测试",tags = {"硬件接口"})
+ @GetMapping(value = "/test")
+ public R test() {
+ String orderNum = "2024092646526785213546";
+ String deviceId = "3401231001200202";
+ Long orderId = 2024065544L;
+ BigDecimal money = new BigDecimal(50);
+ PlatformStartCharging platformStartCharging = new PlatformStartCharging();
+ platformStartCharging.setTransaction_serial_number(orderNum);
+ platformStartCharging.setCharging_pile_code(deviceId);
+ platformStartCharging.setCharging_gun_code("02");
+ platformStartCharging.setCard_number(orderId.toString());
+ platformStartCharging.setAccount_balance(money);
+ String message = iotMessageProduce.sendMessage(platformStartCharging.getCharging_pile_code(), ServiceIdMenu.PLATFORM_START_CHARGING.getKey(), messageUtil.platformStartCharging(platformStartCharging));
+ System.err.println(platformStartCharging);
+ return R.ok(message);
+ }
+
+ @ApiOperation(value = "测试",tags = {"硬件接口"})
+ @GetMapping(value = "/stop")
+ public R test1() {
+ PlatformStopCharging platformStopCharging = new PlatformStopCharging();
+ platformStopCharging.setCharging_pile_code("3401231001200202");
+ platformStopCharging.setCharging_gun_code("02");
+ String message = iotMessageProduce.sendMessage(platformStopCharging.getCharging_pile_code(), ServiceIdMenu.PLATFORM_STOP_CHARGING.getKey(),messageUtil.platformStopCharging(platformStopCharging));
+ return R.ok(message);
+ }
+
}
\ No newline at end of file
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TAdvertisingController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TAdvertisingController.java
index 0feffa7..47f1a2f 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TAdvertisingController.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TAdvertisingController.java
@@ -19,6 +19,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
+import java.time.LocalDateTime;
import java.util.Arrays;
import java.util.List;
@@ -76,7 +77,9 @@
public AjaxResult<List<TAdvertising>> list(@RequestParam("position") Integer position) {
return AjaxResult.ok(advertisingService.list(Wrappers.lambdaQuery(TAdvertising.class)
.eq(TAdvertising::getStatus, AdvertisingStatusEnum.YES.getCode())
- .eq(TAdvertising::getPosition,position)));
+ .eq(TAdvertising::getPosition,position)
+ .le(TAdvertising::getStartTime, LocalDateTime.now())
+ .ge(TAdvertising::getEndTime,LocalDateTime.now())));
}
}
--
Gitblit v1.7.1