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; } 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)){ // 查询是否有下级审核中的策略 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") 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); } 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())); }); } } 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()); // 查询最低起步价会员 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); } } 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); 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); } }