From ca7f9422ee91f211c9b264922729c929a5ed17b3 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期三, 23 十月 2024 11:28:51 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TRepairServiceImpl.java                   |   36 +++++++++++++++++-
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TAccountingStrategyController.java          |    5 ++
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/TRepairService.java                            |    6 +++
 ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/vo/StrategyPriceVO.java                            |    2 
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java                      |    3 +
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TRepairController.java                      |   28 +++++++++++++
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TAccountingStrategyDetailServiceImpl.java |    2 
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileNotificationServiceImpl.java |    1 
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileServiceImpl.java             |   10 ++++-
 9 files changed, 85 insertions(+), 8 deletions(-)

diff --git a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/vo/StrategyPriceVO.java b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/vo/StrategyPriceVO.java
index dcddb54..690ea5e 100644
--- a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/vo/StrategyPriceVO.java
+++ b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/vo/StrategyPriceVO.java
@@ -23,7 +23,7 @@
     @ApiModelProperty(value = "服务费折扣")
     private BigDecimal serviceFeeDiscount;
 
-    @ApiModelProperty(value = "折扣")
+    @ApiModelProperty(value = "模板折扣几折")
     private BigDecimal discount;
 
 }
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 94abbc7..920cac1 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
@@ -2,6 +2,7 @@
 
 
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.ruoyi.account.api.model.TAppUser;
 import com.ruoyi.chargingPile.api.dto.TAccountingStrategyDTO;
 import com.ruoyi.chargingPile.api.model.*;
 import com.ruoyi.chargingPile.api.query.BatchSetAccountingStrategy;
@@ -14,6 +15,7 @@
 import com.ruoyi.chargingPile.service.TChargingPileService;
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.dto.SteategyPassDto;
+import com.ruoyi.common.core.enums.status.AppUserStatusEnum;
 import com.ruoyi.common.core.web.domain.AjaxResult;
 import com.ruoyi.common.core.web.page.PageInfo;
 import com.ruoyi.common.log.annotation.Log;
@@ -143,6 +145,9 @@
         if(!flag1){
             return AjaxResult.error("同阶段费率值需一致");
         }
+        if(Objects.isNull(dto.getDiscount())){
+            accountingStrategyService.update(Wrappers.<TAccountingStrategy>lambdaUpdate().set(TAccountingStrategy::getDiscount, null).eq(TAccountingStrategy::getId, dto.getId()));
+        }
         // 判断修改的计费策略是否为已通过
         if(null != dto.getAuditStatus() && (dto.getAuditStatus() == 3 || dto.getAuditStatus() == 4)){
             // 查询是否有下级审核中的策略
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TRepairController.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TRepairController.java
index 8156686..7fb53ff 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TRepairController.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TRepairController.java
@@ -10,11 +10,17 @@
 import com.ruoyi.common.log.annotation.Log;
 import com.ruoyi.common.log.enums.BusinessType;
 import com.ruoyi.common.log.enums.OperatorType;
+import com.ruoyi.common.security.service.TokenService;
+import com.ruoyi.system.api.domain.SysUser;
+import com.ruoyi.system.api.feignClient.SysUserClient;
 import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
 import java.util.List;
+import java.util.Objects;
 
 /**
  * <p>
@@ -30,7 +36,27 @@
 
 	@Resource
 	private TRepairService repairService;
-	
+	@Resource
+	private TokenService tokenService;
+	@Autowired
+	private SysUserClient userClient;
+
+	/**
+	 * 添加故障报修管理
+	 */
+	@Log(title = "添加故障报修管理", businessType = BusinessType.INSERT,operatorType = OperatorType.MOBILE)
+	@ApiOperation(tags = {"小程序-故障报修"},value = "添加故障报修管理")
+	@PostMapping(value = "/add")
+	public AjaxResult<String> add(@Validated @RequestBody TRepair dto) {
+		Long userId = tokenService.getLoginUserApplet().getUserId();
+		// 查询报修人员信息
+		SysUser user = userClient.getSysUser(userId).getData();
+		if(Objects.nonNull(user)){
+			dto.setRepairman(user.getUserName());
+		}
+		repairService.add(dto);
+		return AjaxResult.success();
+	}
 	
 	@ResponseBody
 	@GetMapping("/getRepairList")
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/TRepairService.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/TRepairService.java
index 4f85479..02edf11 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/TRepairService.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/TRepairService.java
@@ -24,4 +24,10 @@
 	 * @return
 	 */
 	List<TRepair> getRepairList(PageInfo<TRepair> pageInfo, String name, String siteId);
+
+	/**
+	 * 添加报修记录
+	 * @param dto
+	 */
+    void add(TRepair dto);
 }
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 d39dbcc..481c18a 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
@@ -38,6 +38,7 @@
 import org.springframework.util.CollectionUtils;
 
 import javax.annotation.Resource;
+import java.math.BigDecimal;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -288,7 +289,7 @@
 			TVip vip = vipClient.getInfo1(appUser.getVipId()).getData();
 			if(Objects.nonNull(vip) && vip.getType() == 2){
 				list.forEach(item -> {
-					item.setVipElectrovalence(vip.getDiscount().multiply(item.getServiceCharge()).add(item.getElectrovalenceOriginal()));
+					item.setVipElectrovalence(vip.getDiscount().divide(new BigDecimal(10)).multiply(item.getServiceCharge()).add(item.getElectrovalenceOriginal()));
 				});
 			}
 		}
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 a8cc5e0..57d3f7e 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
@@ -135,7 +135,7 @@
         // 查询最高折扣的会员
         TVip monthlyCardDiscount = vipClient.getVipInfoByType(3).getData();
         strategyPriceVO.setServiceFeeDiscount(monthlyCardDiscount.getMonthlyCardDiscount());
-        // 查询最高抵扣的会员
+        // 查询最高优惠的会员
         TVip maximumDeduction = vipClient.getVipInfoByType(1).getData();
         strategyPriceVO.setMaxDiscountAmount(maximumDeduction.getMaximumDeduction());
         // 查询最低起步价会员
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileNotificationServiceImpl.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileNotificationServiceImpl.java
index 2fa9813..9bead20 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileNotificationServiceImpl.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileNotificationServiceImpl.java
@@ -109,6 +109,7 @@
 				notification.setContent(data);
 				break;
 		}
+		this.save(notification);
 	}
 
 }
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileServiceImpl.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileServiceImpl.java
index 1c55a4d..eca82dd 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileServiceImpl.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileServiceImpl.java
@@ -298,8 +298,14 @@
 			List<TChargingGun> chargingGunList = chargingGuns.stream().filter(gun -> gun.getChargingPileId().equals(item.getId())).collect(Collectors.toList());
 			for (TChargingGun chargingGun : chargingGunList) {
 				if(chargingGun.getStatus().equals(4)){
-					// TODO 查询正在充电的单子的实时记录
-					chargingGun.setSoc(100);
+					// 查询正在充电的单子的实时记录
+					TChargingOrder chargingOrder = chargingOrderClient.getOrderDetailByGunId(chargingGun.getId()).getData();
+					if(Objects.nonNull(chargingOrder)){
+						UploadRealTimeMonitoringData uploadRealTimeMonitoringData = uploadRealTimeMonitoringDataClient.chargingOrderInfo(chargingOrder.getCode()).getData();
+						chargingGun.setSoc(uploadRealTimeMonitoringData.getSoc());
+					}else {
+						chargingGun.setSoc(100);
+					}
 				}
 				if(chargingGun.getStatus().equals(5)){
 					chargingGun.setSoc(100);
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TRepairServiceImpl.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TRepairServiceImpl.java
index d348ebb..3832dc5 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TRepairServiceImpl.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TRepairServiceImpl.java
@@ -3,14 +3,24 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.chargingPile.api.feignClient.SiteClient;
 import com.ruoyi.chargingPile.api.model.Site;
+import com.ruoyi.chargingPile.api.model.TChargingPile;
 import com.ruoyi.chargingPile.api.model.TRepair;
 import com.ruoyi.chargingPile.mapper.TRepairMapper;
+import com.ruoyi.chargingPile.service.ISiteService;
+import com.ruoyi.chargingPile.service.TChargingPileNotificationService;
+import com.ruoyi.chargingPile.service.TChargingPileService;
 import com.ruoyi.chargingPile.service.TRepairService;
+import com.ruoyi.common.core.constant.MsgConstants;
+import com.ruoyi.common.core.utils.HttpUtils;
+import com.ruoyi.common.core.utils.MsgUtil;
 import com.ruoyi.common.core.web.page.BasePage;
 import com.ruoyi.common.core.web.page.PageInfo;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.time.LocalDateTime;
 import java.util.Arrays;
 import java.util.List;
 
@@ -22,10 +32,15 @@
  * @author xiaochen
  * @since 2024-08-08
  */
+@Slf4j
 @Service
 public class TRepairServiceImpl extends ServiceImpl<TRepairMapper, TRepair> implements TRepairService {
-	
-	
+	@Autowired
+	private ISiteService siteService;
+	@Autowired
+	private TChargingPileService chargingPileService;
+	@Autowired
+	private TChargingPileNotificationService chargingPileNotificationService;
 	/**
 	 * 获取报修记录列表
 	 * @param name
@@ -36,4 +51,21 @@
 	public List<TRepair> getRepairList(PageInfo<TRepair> pageInfo, String name, String siteId) {
 		return this.baseMapper.getRepairList(pageInfo, name, siteId);
 	}
+
+	@Override
+	public void add(TRepair dto) {
+		// 故障短信提醒
+		Site site = siteService.getById(dto.getSiteId());
+		TChargingPile chargingPile = chargingPileService.getById(dto.getChargingPileId());
+		String siteName = site.getName();
+		String reqStr = MsgUtil.faultMsg(site.getPhone(), site.getName(), chargingPile.getNumber() + "");
+		String result = HttpUtils.post(MsgConstants.SEND_URL, reqStr);
+		log.info("故障短信提醒:{}",result);
+		if(siteName.length()>10){
+			siteName = siteName.substring(0,10);
+		}
+		chargingPileNotificationService.saveData(4,dto.getSiteId(),dto.getChargingPileId(),site.getPhone(),"检测到"+siteName+"..."+chargingPile.getNumber()+"号桩设备离线,请及时查看处理!");
+		dto.setRepairTime(LocalDateTime.now());
+		this.save(dto);
+	}
 }

--
Gitblit v1.7.1