From ac3eaed54fbbe46ebd9cf89eb93e0f99733fd1da Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期六, 17 八月 2024 15:55:12 +0800
Subject: [PATCH] 代码提交
---
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/ChargingOrderFallbackFactory.java | 5 +
ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/ChargingPileFallbackFactory.java | 6 ++
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TIntegralRuleController.java | 4 -
ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/ChargingPileClient.java | 11 ++-
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java | 46 +++++++++++----
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java | 46 +++++++++++++--
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java | 14 ++++
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/ChargingOrderClient.java | 7 ++
ruoyi-service/ruoyi-chargingPile/pom.xml | 7 ++
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/OrderClient.java | 2
ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/vo/SiteInfoVO.java | 9 +++
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java | 4
12 files changed, 133 insertions(+), 28 deletions(-)
diff --git a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/ChargingPileFallbackFactory.java b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/ChargingPileFallbackFactory.java
index 8b4f691..f8bb5cf 100644
--- a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/ChargingPileFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/ChargingPileFallbackFactory.java
@@ -2,6 +2,7 @@
import com.ruoyi.chargingPile.api.feignClient.ChargingPileClient;
import com.ruoyi.chargingPile.api.model.TChargingPile;
+import com.ruoyi.chargingPile.api.vo.SiteInfoVO;
import com.ruoyi.common.core.domain.R;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -35,6 +36,11 @@
public R<BigDecimal> getServiceMoney(String param) {
return R.fail("根据会员折扣、预付金额 计算服务费失败:"+throwable.getMessage());
}
+
+ @Override
+ public R<SiteInfoVO> getSiteInfoByNumber(String number) {
+ return R.fail("通过桩编号获取电站信息失败:"+throwable.getMessage());
+ }
};
}
}
diff --git a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/ChargingPileClient.java b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/ChargingPileClient.java
index a330a00..b2e13b0 100644
--- a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/ChargingPileClient.java
+++ b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/ChargingPileClient.java
@@ -2,6 +2,7 @@
import com.ruoyi.chargingPile.api.factory.ChargingPileFallbackFactory;
import com.ruoyi.chargingPile.api.model.TChargingPile;
+import com.ruoyi.chargingPile.api.vo.SiteInfoVO;
import com.ruoyi.common.core.constant.ServiceNameConstants;
import com.ruoyi.common.core.domain.R;
import io.swagger.annotations.ApiOperation;
@@ -24,12 +25,16 @@
*/
@ApiOperation(value = "管理后台-通过站点id获取充电桩列表 不分页")
@PostMapping(value = "/t-charging-pile/getChargingPileBySiteId")
- public R<List<TChargingPile>> getChargingPileBySiteId(@RequestParam("siteId") Integer siteId);
+ R<List<TChargingPile>> getChargingPileBySiteId(@RequestParam("siteId") Integer siteId);
/**
* 小程序远程调用 根据会员折扣、预付金额 计算服务费
* @return
*/
- @PostMapping(value = "/getServiceMoney")
- public R<BigDecimal> getServiceMoney(@RequestParam("param") String param);
+ @PostMapping(value = "/t-accounting-strategy/getServiceMoney")
+ R<BigDecimal> getServiceMoney(@RequestParam("param") String param);
+
+ @PostMapping("/site/getSiteInfoByNumber")
+ @ApiOperation(value = "扫一扫后通过桩编号获取电站信息", tags = {"小程序-扫一扫"})
+ R<SiteInfoVO> getSiteInfoByNumber(@RequestParam("number") String number);
}
diff --git a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/vo/SiteInfoVO.java b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/vo/SiteInfoVO.java
index 39fae79..df3a14a 100644
--- a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/vo/SiteInfoVO.java
+++ b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/vo/SiteInfoVO.java
@@ -20,4 +20,13 @@
private BigDecimal vipElectrovalence;
@ApiModelProperty(value = "超时占位费说明")
private String spaceChargeExplain;
+
+ @ApiModelProperty(value = "上次选择车辆logo")
+ private String carLogo;
+ @ApiModelProperty(value = "上次选择车辆车牌号")
+ private String licensePlate;
+ @ApiModelProperty(value = "上次选择车辆品牌")
+ private String vehicleBrand;
+ @ApiModelProperty(value = "上次选择车辆id")
+ private Long id;
}
diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/ChargingOrderFallbackFactory.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/ChargingOrderFallbackFactory.java
index c398faf..ee6192f 100644
--- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/ChargingOrderFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/ChargingOrderFallbackFactory.java
@@ -44,6 +44,11 @@
public R<TChargingOrder> getOrderDetailByGunId(Integer chargingGunId) {
return R.fail("根据充电枪获取正在充电的订单:" + throwable.getMessage());
}
+
+ @Override
+ public R<Long> getCar() {
+ return R.fail("获取用户最近使用车辆充电的车辆id:" + throwable.getMessage());
+ }
};
}
}
diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/ChargingOrderClient.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/ChargingOrderClient.java
index b7402f2..5d19dd8 100644
--- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/ChargingOrderClient.java
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/ChargingOrderClient.java
@@ -39,4 +39,11 @@
*/
@PostMapping(value = "/t-charging-order/getOrderDetailByGunId")
R<TChargingOrder> getOrderDetailByGunId(@RequestParam("chargingGunId") Integer chargingGunId);
+
+ /**
+ * 获取用户最近使用车辆充电的车辆id
+ * @return
+ */
+ @GetMapping(value = "/t-charging-order/getCar")
+ public R<Long> getCar();
}
diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/OrderClient.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/OrderClient.java
index c00f97c..9e59397 100644
--- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/OrderClient.java
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/OrderClient.java
@@ -7,6 +7,7 @@
import com.ruoyi.order.api.query.TActivityStatisticsQuery;
import com.ruoyi.order.api.vo.TActivityVO;
import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@@ -36,4 +37,5 @@
*/
@PostMapping(value = "/t-exchange-order/activityStatistics")
public R<TActivityVO> activityStatistics(@RequestBody TActivityStatisticsQuery dto);
+
}
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java
index 0c63199..da91f1f 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java
@@ -12,23 +12,24 @@
import com.ruoyi.account.api.vo.ExchangeRecordVO;
import com.ruoyi.account.service.TAppCouponService;
import com.ruoyi.account.service.TAppUserCarService;
+import com.ruoyi.chargingPile.api.feignClient.ChargingPileClient;
+import com.ruoyi.chargingPile.api.vo.SiteInfoVO;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.web.domain.AjaxResult;
import com.ruoyi.common.core.web.page.BasePage;
import com.ruoyi.common.core.web.page.PageInfo;
import com.ruoyi.common.security.service.TokenService;
+import com.ruoyi.order.api.feignClient.ChargingOrderClient;
import com.ruoyi.other.api.domain.TCoupon;
import com.ruoyi.other.api.feignClient.OtherClient;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.Date;
import java.util.List;
/**
@@ -51,6 +52,40 @@
private TAppUserCarService appUserCarService;
@Autowired
private TokenService tokenService;
+ @Autowired
+ private ChargingPileClient chargingPileClient;
+ @Autowired
+ private ChargingOrderClient chargingOrderClient;
+ /**
+ * 查询用户可用优惠券数量
+ * @return
+ */
+ @ApiOperation(value = "通过桩编号获取电站详情", tags = {"小程序-扫一扫"})
+ @GetMapping(value = "/scan/siteInfo")
+ public AjaxResult<SiteInfoVO> siteInfo(String number) {
+ SiteInfoVO data = chargingPileClient.getSiteInfoByNumber(number).getData();
+ List<TAppUserCar> cars = appUserCarService.list(new QueryWrapper<TAppUserCar>()
+ .eq("app_user_id",tokenService.getLoginUserApplet().getUserId())
+ .orderByDesc("create_time"));
+ Long data1 = chargingOrderClient.getCar().getData();
+ if (!cars.isEmpty()){
+ if (data1 == -1){
+ // 没有充电订单 展示最新添加的车辆
+ data.setLicensePlate(cars.get(0).getLicensePlate());
+ data.setVehicleBrand(cars.get(0).getVehicleBrand());
+ data.setId(cars.get(0).getId());
+ }else{
+ for (TAppUserCar car : cars) {
+ if (car.getId().equals(data1)){
+ data.setLicensePlate(car.getLicensePlate());
+ data.setVehicleBrand(car.getVehicleBrand());
+ data.setId(car.getId());
+ }
+ }
+ }
+ }
+ return AjaxResult.ok(data);
+ }
/**
* 查询用户可用优惠券数量
* @param dto
@@ -69,9 +104,8 @@
@ApiOperation(value = "选择车辆列表", tags = {"小程序-扫一扫"})
@PostMapping(value = "/scan/carList")
public R<List<TAppUserCar>> carList() {
- // todo 用户id
List<TAppUserCar> appUserId = appUserCarService.list(new QueryWrapper<TAppUserCar>()
- .eq("app_user_id",tokenService.getLoginUserApplet().getUserid()));
+ .eq("app_user_id",tokenService.getLoginUserApplet().getUserId()));
return R.ok(appUserId);
}
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java
index 0a12801..9c6f99d 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java
@@ -35,6 +35,7 @@
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
+import org.aspectj.weaver.loadtime.Aj;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.client.RestTemplate;
@@ -86,6 +87,19 @@
private WeixinProperties wxConfig;
@Autowired
private RestTemplate wxRestTemplate;
+
+ @ApiOperation(value = "查询当前用户是否为会员 0否1是", tags = {"小程序--查询当前用户是否为会员"})
+ @PostMapping(value = "/getUserInfo")
+ public AjaxResult<Integer> getUserInfo() {
+ TAppUser byId = appUserService.getById(tokenService.getLoginUserApplet().getUserId());
+ if (byId.getVipEndTime() == null){
+ return AjaxResult.ok(0);
+ }else if (byId.getVipEndTime().isAfter(LocalDateTime.now())){
+ return AjaxResult.ok(1);
+ }else{
+ return AjaxResult.ok(0);
+ }
+ }
@ApiOperation(value = "通过code获得openid, 1 --->对应的appid:wx4c405fa42539fc21 2---->对应的appid:wx02d9f6c92e6d3c86")
@GetMapping("openId-by-jscode2session/{code}")
public AjaxResult<Map<String, Object>> jscode2session(@PathVariable String code) {
diff --git a/ruoyi-service/ruoyi-chargingPile/pom.xml b/ruoyi-service/ruoyi-chargingPile/pom.xml
index 87b9b86..63d7f4a 100644
--- a/ruoyi-service/ruoyi-chargingPile/pom.xml
+++ b/ruoyi-service/ruoyi-chargingPile/pom.xml
@@ -15,7 +15,12 @@
</description>
<dependencies>
-
+ <dependency>
+ <groupId>com.ruoyi</groupId>
+ <artifactId>ruoyi-api-account</artifactId>
+ <version>3.6.2</version>
+ <scope>compile</scope>
+ </dependency>
<!-- ruoyi-modules-chargingPile-api -->
<dependency>
<groupId>com.ruoyi</groupId>
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 44c9356..011fff5 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
@@ -5,17 +5,11 @@
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.chargingPile.api.dto.GetSiteListDTO;
import com.ruoyi.chargingPile.api.feignClient.ParkingLotClient;
-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.model.*;
import com.ruoyi.chargingPile.api.query.GetSiteList;
import com.ruoyi.chargingPile.api.query.SiteDetailQuery;
import com.ruoyi.chargingPile.api.query.SiteQuery;
-import com.ruoyi.chargingPile.api.vo.ChargingGunCountVO;
-import com.ruoyi.chargingPile.api.vo.SiteDetailVO;
-import com.ruoyi.chargingPile.api.vo.SiteVO;
-import com.ruoyi.chargingPile.api.vo.TChargingPileVO;
+import com.ruoyi.chargingPile.api.vo.*;
import com.ruoyi.chargingPile.domain.SiteMenu;
import com.ruoyi.chargingPile.service.*;
import com.ruoyi.common.core.domain.R;
@@ -36,6 +30,8 @@
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
+import java.math.BigDecimal;
+import java.time.LocalTime;
import java.util.*;
/**
@@ -69,18 +65,44 @@
@Autowired
private TParkingLotService parkingLotService;
+ @Autowired
+ private TAccountingStrategyService accountingStrategyService;
+ @Autowired
+ private TAccountingStrategyDetailService accountingStrategyDetailService;
+
+ /**
+ * 小程序扫一扫
+ * @param number
+ * @return
+ */
+ @PostMapping("/getSiteInfoByNumber")
+ @ApiOperation(value = "扫一扫后通过桩编号获取电站信息", tags = {"小程序-扫一扫"})
+ public R<SiteInfoVO> getSiteInfoByNumber(@RequestParam("number") String number){
+ SiteInfoVO siteInfoVO = new SiteInfoVO();
+ TChargingPile one = chargingPileService.lambdaQuery().eq(TChargingPile::getNumber, number).one();
+ Site byId = siteService.getById(one.getSiteId());
+ TAccountingStrategy byId1 = accountingStrategyService.getById(byId.getAccountingStrategyId());
+ List<TAccountingStrategyDetail> list = accountingStrategyDetailService.lambdaQuery().eq(TAccountingStrategyDetail::getAccountingStrategyId, byId1.getId()).list();
+ for (TAccountingStrategyDetail tAccountingStrategyDetail : list) {
+ // 当前时间属于那个阶段 取哪个阶段的电价
+ if(LocalTime.now().isAfter(LocalTime.parse(tAccountingStrategyDetail.getStartTime())) && LocalTime.now().isBefore(LocalTime.parse(tAccountingStrategyDetail.getEndTime()))){
+ siteInfoVO.setElectrovalence(tAccountingStrategyDetail.getElectrovalence());
+ siteInfoVO.setVipElectrovalence(tAccountingStrategyDetail.getElectrovalence().multiply(byId1.getDiscount()).setScale(2, BigDecimal.ROUND_HALF_UP));
+ }
+ }
+ siteInfoVO.setName(byId.getName());
+ siteInfoVO.setNumber(one.getNumber().toString());
+ siteInfoVO.setSpaceChargeExplain(byId.getSpaceChargeExplain());
+ return R.ok(siteInfoVO);
+ }
-
-
- @ResponseBody
@GetMapping("/getSiteList")
@ApiOperation(value = "获取站点列表", tags = {"管理后台-站点管理"})
public AjaxResult<PageInfo<GetSiteListDTO>> getSiteList(GetSiteList siteList){
PageInfo<GetSiteListDTO> list = siteService.getSiteList(siteList);
return AjaxResult.success(list);
}
- @ResponseBody
@GetMapping("/getSiteList1")
@ApiOperation(value = "获取站点列表 不分页", tags = {"管理后台-活动费用统计"})
public AjaxResult<List<Site>> getSiteList1(){
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java
index 9b405c1..af5cec4 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java
@@ -44,10 +44,10 @@
* @param
* @return
*/
- @PostMapping(value = "/getCar")
+ @GetMapping(value = "/getCar")
public R<Long> getCar() {
List<TChargingOrder> list = chargingOrderService.list(new LambdaQueryWrapper<TChargingOrder>()
- .eq(TChargingOrder::getAppUserId, tokenService.getLoginUserApplet().getUserid())
+ .eq(TChargingOrder::getAppUserId, tokenService.getLoginUserApplet().getUserId())
.isNotNull(TChargingOrder::getAppUserCarId));
if (!list.isEmpty()){
// 最近使用的车辆id
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TIntegralRuleController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TIntegralRuleController.java
index 4c80295..b0c49e1 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TIntegralRuleController.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TIntegralRuleController.java
@@ -87,10 +87,6 @@
THtml tHtml = new THtml();
tHtml.setType(type);
tHtml.setContent(info);
-
-
- tHtml.setCreateTime(LocalDateTime.now());
- tHtml.setDelFlag(false);
htmlService.save(tHtml);
}else{
g.setContent(info);
--
Gitblit v1.7.1