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