From 731c3d326b6cc2e08e703f06d06aa453bc52cda3 Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期五, 16 八月 2024 15:32:57 +0800 Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/mx_charging_pile --- ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java | 122 ++++ ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/SecurityConstants.java | 4 ruoyi-api/ruoyi-api-chargingPile/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports | 3 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/GetMyExchangeOrder.java | 17 ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/IntegralRuleFallbackFactory.java | 43 + ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/RoleSiteClient.java | 2 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TOrderEvaluateService.java | 19 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/SysRoleClient.java | 3 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TExchangeOrderController.java | 54 + ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderEvaluateServiceImpl.java | 107 +++ ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/ChargingGunFallbackFactory.java | 41 + ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/ChargingOrderClient.java | 2 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TExchangeOrderService.java | 22 ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TChargingOrder.java | 4 ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml | 12 ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/CouponClient.java | 26 ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/JwtUtils.java | 12 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderEvaluateController.java | 29 ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/TEvaluationTagClient.java | 2 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/MyChargingOrderInfo.java | 59 ++ ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserIntegralChangeFallbackFactory.java | 32 + ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppUserIntegralChangeClient.java | 20 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/ISiteService.java | 16 ruoyi-service/ruoyi-order/pom.xml | 7 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserAddressController.java | 15 ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/ChargingGunClient.java | 34 + ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/ChargingOrderAccountingStrategyClient.java | 5 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingPileController.java | 1 ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java | 58 ++ ruoyi-api/ruoyi-api-account/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports | 4 ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/ParkingLotClient.java | 2 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TRoleSiteController.java | 6 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserIntegralChangeController.java | 28 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderAppealController.java | 18 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/OrderEvaluateVo.java | 23 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TChargingOrderMapper.java | 15 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingGunController.java | 34 + ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TExchangeOrderServiceImpl.java | 122 ++++ ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TOrderAppeal.java | 2 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TGoodsController.java | 12 ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/SiteMapper.xml | 28 + ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/ExchangeOrderGoodsInfo.java | 54 + ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/MyChargingOrderList.java | 32 + ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppUserAddressClient.java | 26 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TChargingOrderService.java | 22 ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/CouponFallbackFactory.java | 34 + ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java | 28 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TParkingLotController.java | 2 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java | 15 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java | 15 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/mapper/SiteMapper.java | 12 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/GetMyChargingOrderList.java | 17 ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/GoodsFallbackFactory.java | 32 + ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppUserClient.java | 7 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java | 30 + ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderAccountingStrategyController.java | 4 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/SysUserClient.java | 4 ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/IntegralRuleClient.java | 24 ruoyi-api/ruoyi-api-other/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports | 3 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/model/LoginUserApplet.java | 51 + ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/MyExchangeOrderList.java | 30 + ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserAddressFallbackFactory.java | 33 + ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/TCoupon.java | 10 ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/UserSiteClient.java | 2 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TIntegralRuleController.java | 18 ruoyi-service/ruoyi-other/src/main/resources/mapper/other/TCouponMapper.xml | 2 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java | 4 ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/GoodsClient.java | 25 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java | 44 + ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TCouponController.java | 12 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TEvaluationTagController.java | 15 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TUserSiteController.java | 4 72 files changed, 1,591 insertions(+), 85 deletions(-) diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserAddressFallbackFactory.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserAddressFallbackFactory.java new file mode 100644 index 0000000..7e36950 --- /dev/null +++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserAddressFallbackFactory.java @@ -0,0 +1,33 @@ +package com.ruoyi.account.api.factory; + +import com.ruoyi.account.api.feignClient.AppUserAddressClient; +import com.ruoyi.account.api.model.TAppUserAddress; +import com.ruoyi.account.api.model.TAppUserIntegralChange; +import com.ruoyi.common.core.domain.R; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.cloud.openfeign.FallbackFactory; +import org.springframework.stereotype.Component; + +/** + * @author zhibing.pu + * @Date 2024/8/16 11:02 + */ +@Component +public class AppUserAddressFallbackFactory implements FallbackFactory<AppUserAddressClient> { + + private static final Logger log = LoggerFactory.getLogger(AppUserAddressFallbackFactory.class); + + + @Override + public AppUserAddressClient create(Throwable throwable) { + log.error("用户地址调用失败:{}", throwable.getMessage()); + return new AppUserAddressClient(){ + + @Override + public R<TAppUserAddress> getAppUserAddressById(Long id) { + return R.fail("根据id获取用户地址信息失败:" + throwable.getMessage()); + } + }; + } +} diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserIntegralChangeFallbackFactory.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserIntegralChangeFallbackFactory.java new file mode 100644 index 0000000..da91d05 --- /dev/null +++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserIntegralChangeFallbackFactory.java @@ -0,0 +1,32 @@ +package com.ruoyi.account.api.factory; + +import com.ruoyi.account.api.feignClient.AppUserIntegralChangeClient; +import com.ruoyi.account.api.model.TAppUserIntegralChange; +import com.ruoyi.common.core.domain.R; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.cloud.openfeign.FallbackFactory; +import org.springframework.stereotype.Component; + +/** + * @author zhibing.pu + * @Date 2024/8/16 11:02 + */ +@Component +public class AppUserIntegralChangeFallbackFactory implements FallbackFactory<AppUserIntegralChangeClient> { + + private static final Logger log = LoggerFactory.getLogger(AppUserIntegralChangeFallbackFactory.class); + + + @Override + public AppUserIntegralChangeClient create(Throwable throwable) { + log.error("账户积分变动调用失败:{}", throwable.getMessage()); + return new AppUserIntegralChangeClient(){ + + @Override + public R addAppUserIntegralChange(TAppUserIntegralChange appUserIntegralChange) { + return R.fail("添加积分变动记录失败:" + throwable.getMessage()); + } + }; + } +} diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppUserAddressClient.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppUserAddressClient.java new file mode 100644 index 0000000..b284de8 --- /dev/null +++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppUserAddressClient.java @@ -0,0 +1,26 @@ +package com.ruoyi.account.api.feignClient; + +import com.ruoyi.account.api.factory.AppUserAddressFallbackFactory; +import com.ruoyi.account.api.model.TAppUserAddress; +import com.ruoyi.common.core.constant.ServiceNameConstants; +import com.ruoyi.common.core.domain.R; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; + +/** + * @author zhibing.pu + * @Date 2024/8/16 14:47 + */ +@FeignClient(contextId = "AppUserAddressClient", value = ServiceNameConstants.ACCOUNT_SERVICE, fallbackFactory = AppUserAddressFallbackFactory.class) +public interface AppUserAddressClient { + + + /** + * 根据id获取用户地址信息 + * @param id + * @return + */ + @PostMapping("/t-app-user-address/getAppUserAddressById") + R<TAppUserAddress> getAppUserAddressById(Long id); +} diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppUserClient.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppUserClient.java index 931d00a..9812ddd 100644 --- a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppUserClient.java +++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppUserClient.java @@ -37,6 +37,11 @@ * @param id * @return */ - @GetMapping(value = "/user/getUserById") + @PostMapping(value = "/t-app-user/user/getUserById") R<TAppUser> getUserById(Long id); + + + + @PostMapping("/t-app-user/") + R updateAppUser(TAppUser appUser); } diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppUserIntegralChangeClient.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppUserIntegralChangeClient.java new file mode 100644 index 0000000..dfc2d19 --- /dev/null +++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppUserIntegralChangeClient.java @@ -0,0 +1,20 @@ +package com.ruoyi.account.api.feignClient; + +import com.ruoyi.account.api.model.TAppUserIntegralChange; +import com.ruoyi.common.core.domain.R; +import org.springframework.web.bind.annotation.PostMapping; + +/** + * @author zhibing.pu + * @Date 2024/8/16 11:01 + */ +public interface AppUserIntegralChangeClient { + + /** + * 添加积分变动记录 + * @param appUserIntegralChange + * @return + */ + @PostMapping("/t-app-user-integral-change/addAppUserIntegralChange") + R addAppUserIntegralChange(TAppUserIntegralChange appUserIntegralChange); +} diff --git a/ruoyi-api/ruoyi-api-account/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/ruoyi-api/ruoyi-api-account/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports index 3c87b41..40f7d82 100644 --- a/ruoyi-api/ruoyi-api-account/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ b/ruoyi-api/ruoyi-api-account/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -1,3 +1,5 @@ com.ruoyi.account.api.factory.AppUserFallbackFactory com.ruoyi.account.api.factory.AppCouponFallbackFactory -com.ruoyi.account.api.factory.AppUserCarFallbackFactory \ No newline at end of file +com.ruoyi.account.api.factory.AppUserCarFallbackFactory +com.ruoyi.account.api.factory.AppUserIntegralChangeFallbackFactory +com.ruoyi.account.api.factory.AppUserAddressFallbackFactory \ No newline at end of file diff --git a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/ChargingGunFallbackFactory.java b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/ChargingGunFallbackFactory.java new file mode 100644 index 0000000..ee67b6f --- /dev/null +++ b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/ChargingGunFallbackFactory.java @@ -0,0 +1,41 @@ +package com.ruoyi.chargingPile.api.factory; + +import com.ruoyi.chargingPile.api.feignClient.ChargingGunClient; +import com.ruoyi.chargingPile.api.feignClient.ChargingPileClient; +import com.ruoyi.chargingPile.api.model.TChargingGun; +import com.ruoyi.chargingPile.api.model.TChargingPile; +import com.ruoyi.common.core.domain.R; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.cloud.openfeign.FallbackFactory; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * 充电桩服务降级处理 + * + * @author ruoyi + */ +@Component +public class ChargingGunFallbackFactory implements FallbackFactory<ChargingGunClient> +{ + private static final Logger log = LoggerFactory.getLogger(ChargingGunFallbackFactory.class); + + @Override + public ChargingGunClient create(Throwable throwable) { + log.error("充电枪调用失败:{}", throwable.getMessage()); + return new ChargingGunClient() { + + @Override + public R<String> getAllName(Integer id) { + return R.fail("根据id获取充电枪完整名称失败:" + throwable.getMessage()); + } + + @Override + public R<TChargingGun> getChargingGunById(Integer id) { + return R.fail("根据id获取充电枪失败:" + throwable.getMessage()); + } + }; + } +} diff --git a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/ChargingGunClient.java b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/ChargingGunClient.java new file mode 100644 index 0000000..015c04b --- /dev/null +++ b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/ChargingGunClient.java @@ -0,0 +1,34 @@ +package com.ruoyi.chargingPile.api.feignClient; + +import com.ruoyi.chargingPile.api.factory.ChargingGunFallbackFactory; +import com.ruoyi.chargingPile.api.model.TChargingGun; +import com.ruoyi.common.core.constant.ServiceNameConstants; +import com.ruoyi.common.core.domain.R; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; + +/** + * @author zhibing.pu + * @Date 2024/8/15 19:36 + */ +@FeignClient(contextId = "ChargingGunClient", value = ServiceNameConstants.CHARGINGPILE_SERVICE, fallbackFactory = ChargingGunFallbackFactory.class) +public interface ChargingGunClient { + + /** + * 根据id获取充电枪完整名称 + * @param id + * @return + */ + @PostMapping("/t-charging-gun/getAllName") + R<String> getAllName(Integer id); + + + /** + * 根据id获取充电枪 + * @param id + * @return + */ + @PostMapping("/t-charging-gun/getChargingGunById") + R<TChargingGun> getChargingGunById(Integer id); +} diff --git a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/ParkingLotClient.java b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/ParkingLotClient.java index 0312dd8..b6f8169 100644 --- a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/ParkingLotClient.java +++ b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/ParkingLotClient.java @@ -23,7 +23,7 @@ /** * 通过站点id查询停车场信息 */ - @GetMapping(value = "/t-parking-lot/getLotBySiteId") + @PostMapping(value = "/t-parking-lot/getLotBySiteId") public R<TParkingLot> getLotBySiteId(@RequestParam("siteId") Integer siteId); } diff --git a/ruoyi-api/ruoyi-api-chargingPile/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/ruoyi-api/ruoyi-api-chargingPile/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports index 2a1a113..e5e3ae5 100644 --- a/ruoyi-api/ruoyi-api-chargingPile/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ b/ruoyi-api/ruoyi-api-chargingPile/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -1,3 +1,4 @@ com.ruoyi.chargingPile.api.factory.ChargingPileFallbackFactory com.ruoyi.chargingPile.api.factory.SiteFallbackFactory -com.ruoyi.chargingPile.api.factory.ParkingLotFallbackFactory \ No newline at end of file +com.ruoyi.chargingPile.api.factory.ParkingLotFallbackFactory +com.ruoyi.chargingPile.api.factory.ChargingGunFallbackFactory \ No newline at end of file diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/ChargingOrderAccountingStrategyClient.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/ChargingOrderAccountingStrategyClient.java index c09794d..c9ede24 100644 --- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/ChargingOrderAccountingStrategyClient.java +++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/ChargingOrderAccountingStrategyClient.java @@ -6,6 +6,7 @@ import com.ruoyi.order.api.factory.ChargingOrderFallbackFactory; 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.RequestParam; import java.util.List; @@ -25,7 +26,7 @@ * @param days 天数 * @return */ - @GetMapping("/t-charging-order-accounting-strategy/getTotalElectricQuantity") + @PostMapping("/t-charging-order-accounting-strategy/getTotalElectricQuantity") R<List<List<Map<String, Object>>>> getTotalElectricQuantity(Integer days, @RequestParam("siteIds") Set<Integer> siteIds); @@ -34,6 +35,6 @@ * @param days * @return */ - @GetMapping("/t-charging-order-getDailyChargingDegree-strategy/getUtilizationTrend") + @PostMapping("/t-charging-order-getDailyChargingDegree-strategy/getUtilizationTrend") R<List<Double>> getDailyChargingDegree(Integer days, @RequestParam("siteIds") Set<Integer> siteIds); } 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 2ac0181..b7402f2 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 @@ -37,6 +37,6 @@ * @param chargingGunId 充电枪id * @return */ - @GetMapping(value = "/t-charging-order/getOrderDetailByGunId") + @PostMapping(value = "/t-charging-order/getOrderDetailByGunId") R<TChargingOrder> getOrderDetailByGunId(@RequestParam("chargingGunId") Integer chargingGunId); } diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TChargingOrder.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TChargingOrder.java index 9f1178f..286e4e4 100644 --- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TChargingOrder.java +++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TChargingOrder.java @@ -89,6 +89,10 @@ @ApiModelProperty(value = "状态(0=未知,1=等待中,2=启动中,3=充电中,4=停止中,5=已结束)") @TableField("status") private Integer status; + + @ApiModelProperty(value = "结束方式(0=异常终止,1=主动终止,2=满电终止,3=费用不足终止)") + @TableField("end_mode") + private Integer endMode; @ApiModelProperty(value = "充值金额") @TableField("recharge_amount") diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TOrderAppeal.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TOrderAppeal.java index 77bbbe7..7b4f546 100644 --- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TOrderAppeal.java +++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TOrderAppeal.java @@ -28,7 +28,7 @@ private static final long serialVersionUID = 1L; @ApiModelProperty(value = "主键") - @TableId(value = "id", type = IdType.AUTO) + @TableId(value = "id", type = IdType.NONE) private Long id; @ApiModelProperty(value = "订单类型(1=充电订单,2=购物订单,3=兑换订单,4=会员订单)") diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/TCoupon.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/TCoupon.java index 8073eef..4e7777b 100644 --- a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/TCoupon.java +++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/TCoupon.java @@ -38,7 +38,15 @@ @ApiModelProperty(value = "优惠券名称") @TableField("name") private String name; - + + @ApiModelProperty(value = "封面图") + @TableField("cover_picture") + private String coverPicture; + + @ApiModelProperty(value = "详情图片") + @TableField("details_picture") + private String detailsPicture; + @ApiModelProperty(value = "优惠方式(1=满减,2=抵扣)") @TableField("preferential_mode") private Integer preferentialMode; diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/CouponFallbackFactory.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/CouponFallbackFactory.java new file mode 100644 index 0000000..f5821e7 --- /dev/null +++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/CouponFallbackFactory.java @@ -0,0 +1,34 @@ +package com.ruoyi.other.api.factory; + +import com.ruoyi.common.core.domain.R; +import com.ruoyi.other.api.domain.TCoupon; +import com.ruoyi.other.api.domain.TGoods; +import com.ruoyi.other.api.feignClient.CouponClient; +import com.ruoyi.other.api.feignClient.GoodsClient; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.cloud.openfeign.FallbackFactory; +import org.springframework.stereotype.Component; + +/** + * @author zhibing.pu + * @Date 2024/8/16 13:48 + */ +@Component +public class CouponFallbackFactory implements FallbackFactory<CouponClient> { + + private static final Logger log = LoggerFactory.getLogger(CouponFallbackFactory.class); + + @Override + public CouponClient create(Throwable throwable) { + log.error("优惠券调用失败:{}", throwable.getMessage()); + return new CouponClient() { + + @Override + public R<TCoupon> getCouponById(Integer id) { + return R.fail("根据id获取优惠券信息失败:" + throwable.getMessage()); + } + }; + } + +} diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/GoodsFallbackFactory.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/GoodsFallbackFactory.java new file mode 100644 index 0000000..2f57fab --- /dev/null +++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/GoodsFallbackFactory.java @@ -0,0 +1,32 @@ +package com.ruoyi.other.api.factory; + +import com.ruoyi.common.core.domain.R; +import com.ruoyi.other.api.domain.TGoods; +import com.ruoyi.other.api.feignClient.GoodsClient; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.cloud.openfeign.FallbackFactory; +import org.springframework.stereotype.Component; + +/** + * @author zhibing.pu + * @Date 2024/8/16 13:48 + */ +@Component +public class GoodsFallbackFactory implements FallbackFactory<GoodsClient> { + + private static final Logger log = LoggerFactory.getLogger(GoodsFallbackFactory.class); + + @Override + public GoodsClient create(Throwable throwable) { + log.error("商品调用失败:{}", throwable.getMessage()); + return new GoodsClient() { + + @Override + public R<TGoods> getGoodsById(Integer id) { + return R.fail("根据id获取商品信息失败:" + throwable.getMessage()); + } + }; + } + +} diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/IntegralRuleFallbackFactory.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/IntegralRuleFallbackFactory.java new file mode 100644 index 0000000..a1f7ab5 --- /dev/null +++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/IntegralRuleFallbackFactory.java @@ -0,0 +1,43 @@ +package com.ruoyi.other.api.factory; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.account.api.dto.TagListQueryDto; +import com.ruoyi.account.api.dto.UnitListQueryDto; +import com.ruoyi.account.api.vo.CouponListVOVO; +import com.ruoyi.common.core.domain.R; +import com.ruoyi.other.api.domain.TCompany; +import com.ruoyi.other.api.domain.TIntegralRule; +import com.ruoyi.other.api.domain.TUserTag; +import com.ruoyi.other.api.feignClient.IntegralRuleClient; +import com.ruoyi.other.api.feignClient.OtherClient; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.cloud.openfeign.FallbackFactory; +import org.springframework.stereotype.Component; + +import java.util.List; +import java.util.Map; + +/** + * 商品服务降级处理 + * + * @author ruoyi + */ +@Component +public class IntegralRuleFallbackFactory implements FallbackFactory<IntegralRuleClient> +{ + private static final Logger log = LoggerFactory.getLogger(IntegralRuleFallbackFactory.class); + + @Override + public IntegralRuleClient create(Throwable throwable) { + log.error("积分规则调用失败:{}", throwable.getMessage()); + return new IntegralRuleClient() { + + + @Override + public R<TIntegralRule> getSet() { + return R.fail("获取积分设置失败:" + throwable.getMessage()); + } + }; + } +} diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/CouponClient.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/CouponClient.java new file mode 100644 index 0000000..f2f6fd6 --- /dev/null +++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/CouponClient.java @@ -0,0 +1,26 @@ +package com.ruoyi.other.api.feignClient; + +import com.ruoyi.common.core.constant.ServiceNameConstants; +import com.ruoyi.common.core.domain.R; +import com.ruoyi.other.api.domain.TCoupon; +import com.ruoyi.other.api.factory.CouponFallbackFactory; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; + +/** + * @author zhibing.pu + * @Date 2024/8/16 14:00 + */ +@FeignClient(contextId = "CouponClient", value = ServiceNameConstants.OTHER_SERVICE, fallbackFactory = CouponFallbackFactory.class) +public interface CouponClient { + + + /** + * 根据id获取优惠券信息 + * @param id + * @return + */ + @PostMapping("/t-coupon/getCouponById") + R<TCoupon> getCouponById(Integer id); +} diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/GoodsClient.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/GoodsClient.java new file mode 100644 index 0000000..05c44ec --- /dev/null +++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/GoodsClient.java @@ -0,0 +1,25 @@ +package com.ruoyi.other.api.feignClient; + +import com.ruoyi.common.core.constant.ServiceNameConstants; +import com.ruoyi.common.core.domain.R; +import com.ruoyi.other.api.domain.TGoods; +import com.ruoyi.other.api.factory.GoodsFallbackFactory; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; + +/** + * @author zhibing.pu + * @Date 2024/8/16 13:47 + */ +@FeignClient(contextId = "GoodsClient", value = ServiceNameConstants.OTHER_SERVICE, fallbackFactory = GoodsFallbackFactory.class) +public interface GoodsClient { + + /** + * 根据id获取商品信息 + * @param id + * @return + */ + @PostMapping("/t-goods/getGoodsById") + R<TGoods> getGoodsById(Integer id); +} diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/IntegralRuleClient.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/IntegralRuleClient.java new file mode 100644 index 0000000..9659c83 --- /dev/null +++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/IntegralRuleClient.java @@ -0,0 +1,24 @@ +package com.ruoyi.other.api.feignClient; + +import com.ruoyi.common.core.constant.ServiceNameConstants; +import com.ruoyi.common.core.domain.R; +import com.ruoyi.other.api.domain.TIntegralRule; +import com.ruoyi.other.api.factory.IntegralRuleFallbackFactory; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; + +/** + * @author zhibing.pu + * @Date 2024/8/16 10:54 + */ +@FeignClient(contextId = "IntegralRuleClient", value = ServiceNameConstants.OTHER_SERVICE, fallbackFactory = IntegralRuleFallbackFactory.class) +public interface IntegralRuleClient { + + /** + * 获取积分设置 + * @return + */ + @PostMapping("/integral/getSet") + R<TIntegralRule> getSet(); +} diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/RoleSiteClient.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/RoleSiteClient.java index e4dc369..7dd2db2 100644 --- a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/RoleSiteClient.java +++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/RoleSiteClient.java @@ -26,7 +26,7 @@ * @param roleId * @return */ - @GetMapping("/t-role-site/getSiteIds") + @PostMapping("/t-role-site/getSiteIds") R<List<Integer>> getSiteIds(Long roleId); diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/TEvaluationTagClient.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/TEvaluationTagClient.java index 4d7e87a..ea305af 100644 --- a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/TEvaluationTagClient.java +++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/TEvaluationTagClient.java @@ -33,6 +33,6 @@ * @param tagIds * @return */ - @GetMapping("/t-evaluation-tag/getListByIds") + @PostMapping("/t-evaluation-tag/getListByIds") R<List<TEvaluationTag>> getListByIds(List<Integer> tagIds); } diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/UserSiteClient.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/UserSiteClient.java index 4cd3910..68d0746 100644 --- a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/UserSiteClient.java +++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/UserSiteClient.java @@ -26,7 +26,7 @@ * @param userId * @return */ - @GetMapping("/t-user-site/getSiteIds") + @PostMapping("/t-user-site/getSiteIds") R<List<Integer>> getSiteIds(Long userId); diff --git a/ruoyi-api/ruoyi-api-other/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/ruoyi-api/ruoyi-api-other/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports index bbbaed4..3398b1d 100644 --- a/ruoyi-api/ruoyi-api-other/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ b/ruoyi-api/ruoyi-api-other/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -2,4 +2,5 @@ com.ruoyi.other.api.factory.UserSiteFallbackFactory com.ruoyi.other.api.factory.RoleSiteFallbackFactory com.ruoyi.other.api.factory.TEvaluationTagFallbackFactory -com.ruoyi.other.api.factory.VipFallbackFactory \ No newline at end of file +com.ruoyi.other.api.factory.VipFallbackFactory +com.ruoyi.other.api.factory.IntegralRuleFallbackFactory \ No newline at end of file diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/SysRoleClient.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/SysRoleClient.java index 10edd4c..16472fa 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/SysRoleClient.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/SysRoleClient.java @@ -7,6 +7,7 @@ import com.ruoyi.system.api.model.GetSysRoleByIds; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; import java.util.List; @@ -17,7 +18,7 @@ @FeignClient(contextId = "SysRoleClient", value = ServiceNameConstants.SYSTEM_SERVICE, fallbackFactory = SysRoleFallbackFactory.class) public interface SysRoleClient { - @GetMapping("/role/getSysRoleByIds") + @PostMapping("/role/getSysRoleByIds") public R<List<SysRole>> getSysRoleByIds(GetSysRoleByIds ids); } diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/SysUserClient.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/SysUserClient.java index 4dff3cc..d0f2eb4 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/SysUserClient.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/SysUserClient.java @@ -51,7 +51,7 @@ * @param userId * @return */ - @GetMapping("/user/queryRoleByUserId/{userId}") + @PostMapping("/user/queryRoleByUserId/{userId}") R<SysRole> queryRoleByUserId(@PathVariable("userId") Long userId); @@ -60,7 +60,7 @@ * @param roleId * @return */ - @GetMapping("/user/queryRoleByRoleId/{roleId}") + @PostMapping("/user/queryRoleByRoleId/{roleId}") R<SysRole> queryRoleByRoleId(@PathVariable("roleId") Long roleId); /** diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/model/LoginUserApplet.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/model/LoginUserApplet.java new file mode 100644 index 0000000..2f01d93 --- /dev/null +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/model/LoginUserApplet.java @@ -0,0 +1,51 @@ +package com.ruoyi.system.api.model; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 用户信息 小程序登录使用 + * + * @author 无关风月 + */ +@Data +public class LoginUserApplet implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 用户唯一标识 + */ + private String token; + /** + * 用户姓名 + */ + private String name; + + /** + * 用户名id + */ + private Integer userid; + + /** + * 用户名 + */ + private String phone; + /** + * 登录时间 + */ + private Long loginTime; + + /** + * 过期时间 + */ + private Long expireTime; + + /** + * 登录IP地址 + */ + private String ipaddr; + + + +} diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/SecurityConstants.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/SecurityConstants.java index c122e52..8f56ebf 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/SecurityConstants.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/SecurityConstants.java @@ -36,6 +36,10 @@ * 用户标识 */ public static final String USER_KEY = "user_key"; + /** + * 小程序登录用户标识 + */ + public static final String USER_APPLET_KEY = "user_applet_key"; /** * 登录用户 diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/JwtUtils.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/JwtUtils.java index d984892..b5f5b92 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/JwtUtils.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/JwtUtils.java @@ -64,6 +64,17 @@ } /** + * 小程序根据令牌获取用户标识 + * + * @param token 令牌 + * @return 用户ID + */ + public static String getUserKeyApplet(String token) + { + Claims claims = parseToken(token); + return getValue(claims, SecurityConstants.USER_APPLET_KEY); + } + /** * 根据令牌获取用户ID * * @param token 令牌 @@ -75,6 +86,7 @@ return getValue(claims, SecurityConstants.DETAILS_USER_ID); } + /** * 根据身份信息获取用户ID * diff --git a/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java b/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java index 139ee8b..2d7cae5 100644 --- a/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java +++ b/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java @@ -4,6 +4,8 @@ import java.util.Map; import java.util.concurrent.TimeUnit; import javax.servlet.http.HttpServletRequest; + +import com.ruoyi.system.api.model.LoginUserApplet; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import com.ruoyi.common.core.constant.CacheConstants; @@ -64,7 +66,53 @@ rspMap.put("expires_in", expireTime); return rspMap; } - + /** + * 创建小程序令牌 + */ + public Map<String, Object> createTokenApplet(LoginUserApplet loginUser) { + String token = IdUtils.fastUUID(); + Integer userId = loginUser.getUserid(); + String name = loginUser.getName(); + loginUser.setToken(token); + loginUser.setIpaddr(IpUtils.getIpAddr()); + refreshToken1(loginUser); + // Jwt存储信息 + Map<String, Object> claimsMap = new HashMap<String, Object>(); + claimsMap.put(SecurityConstants.USER_APPLET_KEY, token); + claimsMap.put(SecurityConstants.DETAILS_USER_ID, userId); + claimsMap.put(SecurityConstants.DETAILS_USERNAME, name); + // 接口返回信息 + Map<String, Object> rspMap = new HashMap<String, Object>(); + rspMap.put("access_token", JwtUtils.createToken(claimsMap)); + rspMap.put("expires_in", expireTime); + return rspMap; + } + public LoginUserApplet getLoginUserApplet() { + return getLoginUserAppletToken(ServletUtils.getRequest()); + } + public LoginUserApplet getLoginUserAppletToken(HttpServletRequest request) { + // 获取请求携带的令牌 + String token = SecurityUtils.getToken(request); + return getLoginUserApplet(token); + } + /** + * 小程序 获取用户身份信息 + * + * @return 用户信息 + */ + public LoginUserApplet getLoginUserApplet(String token) { + LoginUserApplet user = null; + try { + if (StringUtils.isNotEmpty(token)) { + String userkey = JwtUtils.getUserKeyApplet(token); + user = redisService.getCacheObject(getTokenKey(userkey)); + return user; + } + } catch (Exception e) { + e.printStackTrace(); + } + return user; + } /** * 获取用户身份信息 * @@ -161,7 +209,13 @@ String userKey = getTokenKey(loginUser.getToken()); redisService.setCacheObject(userKey, loginUser, expireTime, TimeUnit.MINUTES); } - + public void refreshToken1(LoginUserApplet dto) { + dto.setLoginTime(System.currentTimeMillis()); + dto.setExpireTime(dto.getLoginTime() + expireTime * MILLIS_MINUTE); + // 根据uuid将loginUser缓存 + String userKey = getTokenKey(dto.getToken()); + redisService.setCacheObject(userKey, dto, expireTime, TimeUnit.MINUTES); + } private String getTokenKey(String token) { return ACCESS_TOKEN + token; diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java index 20f1847..bc9e7b5 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java @@ -595,7 +595,7 @@ * @param userId * @return */ - @GetMapping("/queryRoleByUserId/{userId}") + @PostMapping("/queryRoleByUserId/{userId}") public R<SysRole> queryRoleByUserId(@PathVariable("userId") Long userId){ SysUserRole one = sysUserRoleService.getOne(Wrappers.lambdaQuery(SysUserRole.class) .eq(SysUserRole::getUserId, userId) @@ -611,7 +611,7 @@ } - @GetMapping("/queryRoleByRoleId/{roleId}") + @PostMapping("/queryRoleByRoleId/{roleId}") public R<SysRole> queryRoleByRoleId(@PathVariable("roleId") Long roleId){ return R.ok( roleService.getOne(Wrappers.lambdaQuery(SysRole.class) .eq(SysRole::getRoleId, roleId) 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 26d4687..a85603f 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 @@ -5,10 +5,13 @@ import com.ruoyi.account.api.dto.CouponListDto; import com.ruoyi.account.api.dto.GrantCouponDto; import com.ruoyi.account.api.model.TAppCoupon; +import com.ruoyi.account.api.model.TAppUserCar; import com.ruoyi.account.api.query.ExchangeRecordGoodsQuery; +import com.ruoyi.account.api.vo.CarListVO; import com.ruoyi.account.api.vo.CouponListVOVO; import com.ruoyi.account.api.vo.ExchangeRecordVO; import com.ruoyi.account.service.TAppCouponService; +import com.ruoyi.account.service.TAppUserCarService; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.web.domain.AjaxResult; import com.ruoyi.common.core.web.page.BasePage; @@ -43,6 +46,8 @@ @Autowired private OtherClient otherClient; + @Autowired + private TAppUserCarService appUserCarService; /** * 查询用户可用优惠券数量 * @param dto @@ -55,14 +60,16 @@ return AjaxResult.ok(res); } /** - * - * @param dto + * 选择车辆列表 * @return */ @ApiOperation(value = "选择车辆列表", tags = {"小程序-扫一扫"}) @PostMapping(value = "/scan/carList") - public AjaxResult<CouponListVOVO> carList(@RequestBody CouponListDto dto) { - return AjaxResult.success(); + public AjaxResult<List<TAppUserCar>> carList() { + // todo 用户id + List<TAppUserCar> appUserId = appUserCarService.list(new QueryWrapper<TAppUserCar>() + .eq("app_user_id", 11)); + return AjaxResult.ok(appUserId); } /** diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserAddressController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserAddressController.java index f1bb29d..277bfdd 100644 --- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserAddressController.java +++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserAddressController.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.ruoyi.account.api.model.TAppUserAddress; import com.ruoyi.account.service.TAppUserAddressService; +import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.web.domain.AjaxResult; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; @@ -72,6 +73,18 @@ public AjaxResult<Boolean> deleteById(@RequestParam("id") Integer id) { return AjaxResult.ok(appUserAddressService.removeById(id)); } - + + + /** + * 根据id获取地址信息 + * @param id + * @return + */ + @PostMapping(value = "/getAppUserAddressById/{id}") + public R<TAppUserAddress> getAppUserAddressById(@PathVariable Long id){ + TAppUserAddress userAddress = appUserAddressService.getById(id); + return R.ok(userAddress); + } + } 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 839c64a..f8237ff 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 @@ -355,10 +355,23 @@ * @param id * @return */ - @GetMapping(value = "/user/getUserById/{id}") + @PostMapping(value = "/user/getUserById/{id}") public R<TAppUser> getUserById(@PathVariable Long id){ TAppUser appUser = appUserService.getById(id); return R.ok(appUser); } + + + /** + * 修改用户信息 + * @param appUser + * @return + */ + @ResponseBody + @PostMapping("/user/updateAppUser") + public R updateAppUser(@RequestBody TAppUser appUser){ + appUserService.updateById(appUser); + return R.ok(); + } } diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserIntegralChangeController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserIntegralChangeController.java index acea96c..b721c52 100644 --- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserIntegralChangeController.java +++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserIntegralChangeController.java @@ -1,8 +1,15 @@ package com.ruoyi.account.controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import com.ruoyi.account.api.model.TAppUserIntegralChange; +import com.ruoyi.account.service.TAppUserIntegralChangeService; +import com.ruoyi.common.core.domain.R; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.time.LocalDateTime; +import java.time.ZoneOffset; +import java.time.format.DateTimeFormatter; /** * <p> @@ -16,5 +23,22 @@ @RequestMapping("/t-app-user-integral-change") public class TAppUserIntegralChangeController { + @Resource + private TAppUserIntegralChangeService appUserIntegralChangeService; + + + /** + * 添加积分变动记录 + * @param appUserIntegralChange + * @return + */ + @ResponseBody + @PostMapping("/addAppUserIntegralChange") + public R addAppUserIntegralChange(@RequestBody TAppUserIntegralChange appUserIntegralChange){ + String code = Math.random() * 1000 + LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmssSSS")); + appUserIntegralChange.setCode(code); + appUserIntegralChangeService.save(appUserIntegralChange); + return R.ok(); + } } 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 6209a9a..44c9356 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 @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +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; @@ -16,10 +17,7 @@ import com.ruoyi.chargingPile.api.vo.SiteVO; import com.ruoyi.chargingPile.api.vo.TChargingPileVO; import com.ruoyi.chargingPile.domain.SiteMenu; -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.domain.R; import com.ruoyi.common.core.utils.GeodesyUtil; import com.ruoyi.common.core.web.domain.AjaxResult; @@ -69,7 +67,9 @@ @Resource private TChargingGunService chargingGunService; - + @Autowired + private TParkingLotService parkingLotService; + @@ -86,12 +86,23 @@ public AjaxResult<List<Site>> getSiteList1(){ return AjaxResult.success(siteService.list(new QueryWrapper<>())); } - @ApiOperation(value = "获取站点分页列表", tags = {"小程序-站点管理"}) + + @PostMapping("/getSiteListGun") + @ApiOperation(value = "获取站点列表 不分页", tags = {"管理后台-接口信息使用"}) + public AjaxResult<List<Site>> getSiteListGun(){ + return AjaxResult.success(siteService.getSiteListGun()); + } + + @PostMapping("/getSiteListParkLot") + @ApiOperation(value = "获取站点列表不分页", tags = {"管理后台-停车场绑定"}) + public AjaxResult<List<Site>> getSiteListParkLot(){ + return AjaxResult.success(siteService.getSiteListParkLot()); + } + @ApiOperation(value = "获取站点分页列表", tags = {"小程序-站点管理-首页"}) @PostMapping("/pageList") public AjaxResult<PageInfo<SiteVO>> pageList(@Validated @RequestBody SiteQuery query){ return AjaxResult.success(siteService.pageList(query)); } - @ApiOperation(value = "获取站点详细信息", tags = {"小程序-站点管理-站点详情"}) @PostMapping("/getDetailById") public AjaxResult<SiteDetailVO> getDetailById(@Validated @RequestBody SiteDetailQuery query){ @@ -100,7 +111,8 @@ Map<String, Double> distance = GeodesyUtil.getDistance(query.getLat() + "," + query.getLon(), siteDetailVO.getLat() + "," + siteDetailVO.getLon()); siteDetailVO.setDistance(distance.get("WGS84")); // 查询绑定车牌提示文案 - TParkingLot parkingLot = parkingLotClient.getLotBySiteId(query.getSiteId()).getData(); + TParkingLot parkingLot = parkingLotService.getOne(Wrappers.lambdaQuery(TParkingLot.class) + .eq(TParkingLot::getSiteId, query.getSiteId())); if(Objects.nonNull(parkingLot)){ siteDetailVO.setRemark(parkingLot.getRemark()); } diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingGunController.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingGunController.java index 6ef7c88..e9f4b05 100644 --- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingGunController.java +++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingGunController.java @@ -3,9 +3,12 @@ import com.ruoyi.chargingPile.api.dto.TChargingGunDTO; import com.ruoyi.chargingPile.api.model.TChargingGun; +import com.ruoyi.chargingPile.api.model.TChargingPile; import com.ruoyi.chargingPile.api.query.TChargingGunQuery; import com.ruoyi.chargingPile.api.vo.TChargingGunVO; import com.ruoyi.chargingPile.service.TChargingGunService; +import com.ruoyi.chargingPile.service.TChargingPileService; +import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.web.domain.AjaxResult; import com.ruoyi.common.core.web.page.PageInfo; import com.ruoyi.common.log.annotation.Log; @@ -16,6 +19,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import java.util.List; @@ -33,6 +37,9 @@ public class TChargingGunController { private final TChargingGunService chargingGunService; + + @Resource + private TChargingPileService chargingPileService; @Autowired public TChargingGunController(TChargingGunService chargingGunService) { @@ -118,5 +125,32 @@ public void downloadQRCode(@PathVariable Integer id, HttpServletResponse response){ // todo 待完善 } + + + /** + * 根据id获取充电枪完整名称 + * @param id + * @return + */ + @ResponseBody + @PostMapping(value = "/getAllName/{id}") + public R<String> getAllName(@PathVariable Integer id){ + TChargingGun chargingGun = chargingGunService.getById(id); + TChargingPile chargingPile = chargingPileService.getById(chargingGun.getChargingPileId()); + return R.ok(chargingPile.getName() + chargingGun.getName()); + } + + + /** + * 根据id获取充电枪详情 + * @param id + * @return + */ + @ResponseBody + @PostMapping(value = "/getChargingGunById/{id}") + public R<TChargingGun> getChargingGunById(@PathVariable Integer id){ + TChargingGun chargingGun = chargingGunService.getById(id); + return R.ok(chargingGun); + } } diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingPileController.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingPileController.java index 8be1229..11b8807 100644 --- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingPileController.java +++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingPileController.java @@ -80,7 +80,6 @@ } - @ResponseBody @GetMapping("/pageChargingPileList") @ApiOperation(value = "获取充电桩列表数据", tags = {"管理后台-充电桩信息"}) diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TParkingLotController.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TParkingLotController.java index 3ad4a91..aca8121 100644 --- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TParkingLotController.java +++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TParkingLotController.java @@ -130,7 +130,7 @@ /** * 通过站点id查询停车场信息 */ - @GetMapping(value = "/getLotBySiteId") + @PostMapping(value = "/getLotBySiteId") public R<TParkingLot> getLotBySiteId(@RequestParam("siteId") Integer siteId){ return R.ok(parkingLotService.getOne(Wrappers.lambdaQuery(TParkingLot.class) .eq(TParkingLot::getSiteId, siteId))); diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/mapper/SiteMapper.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/mapper/SiteMapper.java index 0305c89..1603912 100644 --- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/mapper/SiteMapper.java +++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/mapper/SiteMapper.java @@ -41,4 +41,16 @@ */ SiteDetailVO getDetailById(@Param("siteId")Integer siteId); + /** + * 获取站点列表不分页 管理后台-停车场绑定 + * @return + */ + List<Site> getSiteListParkLot(@Param("ids")Set<Integer> ids); + + /** + * 获取站点列表不分页接口信息使用 + * @param ids + * @return + */ + List<Site> getSiteListGun(@Param("ids")Set<Integer> ids); } diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/ISiteService.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/ISiteService.java index 4a8dd0e..4145a21 100644 --- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/ISiteService.java +++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/ISiteService.java @@ -13,6 +13,8 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; +import java.util.List; + /** * @author zhibing.pu * @Date 2024/8/7 19:54 @@ -73,4 +75,18 @@ * @return */ SiteDetailVO getDetailById(Integer siteId); + + /** + * 获取站点列表不分页 管理后台-停车场绑定 + * @return + */ + List<Site> getSiteListParkLot(); + + + /** + * 获取站点列表不分页接口信息使用 + * @return + */ + List<Site> getSiteListGun(); + } 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 fe3d696..a427ee1 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 @@ -229,6 +229,50 @@ return this.baseMapper.getDetailById(siteId); } + @Override + public List<Site> getSiteListParkLot() { + Set<Integer> ids = null; + //校验合作商权限 + SysUser sysUser = sysUserClient.getSysUser(SecurityUtils.getUserId()).getData(); + Integer roleType = sysUser.getRoleType(); + Integer objectId = sysUser.getObjectId(); + //合作商 + if(roleType == 2){ + ids = partnerService.authSite(objectId, SiteMenu.SITE_LIST); + }else{ + //非管理员需要根据角色和用户配置查询允许的站点数据 + if(!SecurityUtils.isAdmin(SecurityUtils.getUserId())){ + List<Integer> data = userSiteClient.getSiteIds(sysUser.getUserId()).getData(); + List<Integer> data1 = roleSiteClient.getSiteIds(sysUser.getRoleId()).getData(); + data.addAll(data1); + ids = new HashSet<>(data); + } + } + return this.baseMapper.getSiteListParkLot(ids); + } + + @Override + public List<Site> getSiteListGun() { + Set<Integer> ids = null; + //校验合作商权限 + SysUser sysUser = sysUserClient.getSysUser(SecurityUtils.getUserId()).getData(); + Integer roleType = sysUser.getRoleType(); + Integer objectId = sysUser.getObjectId(); + //合作商 + if(roleType == 2){ + ids = partnerService.authSite(objectId, SiteMenu.SITE_LIST); + }else{ + //非管理员需要根据角色和用户配置查询允许的站点数据 + if(!SecurityUtils.isAdmin(SecurityUtils.getUserId())){ + List<Integer> data = userSiteClient.getSiteIds(sysUser.getUserId()).getData(); + List<Integer> data1 = roleSiteClient.getSiteIds(sysUser.getRoleId()).getData(); + data.addAll(data1); + ids = new HashSet<>(data); + } + } + return this.baseMapper.getSiteListGun(ids); + } + /** * 设置站点计费策略 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 79ce0b7..2d141d8 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 @@ -178,4 +178,32 @@ SELECT <include refid="Base_Column_List"></include> 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 + 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 + <foreach collection="ids" item="id" index="index" open="(" separator="," close=")"> + #{id} + </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"> + select <include refid="Base_Column_List"></include> + from t_site + <where> + <if test="null != ids and ids.size()>0"> + AND id IN + <foreach collection="ids" item="id" index="index" open="(" separator="," close=")"> + #{id} + </foreach> + </if> + AND del_flag = ${@com.ruoyi.common.core.enums.DelFlagEnum@NO.getCode()} + </where> + </select> </mapper> \ No newline at end of file diff --git a/ruoyi-service/ruoyi-order/pom.xml b/ruoyi-service/ruoyi-order/pom.xml index 3488348..193649c 100644 --- a/ruoyi-service/ruoyi-order/pom.xml +++ b/ruoyi-service/ruoyi-order/pom.xml @@ -60,7 +60,12 @@ <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId> </dependency> - + + <dependency> + <groupId>com.alibaba.cloud</groupId> + <artifactId>spring-cloud-starter-alibaba-seata</artifactId> + </dependency> + <!-- SpringBoot Actuator --> <dependency> <groupId>org.springframework.boot</groupId> diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderAccountingStrategyController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderAccountingStrategyController.java index eb4fe5b..b24aa02 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderAccountingStrategyController.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderAccountingStrategyController.java @@ -34,7 +34,7 @@ * @return */ @ResponseBody - @GetMapping("/getTotalElectricQuantity/{days}") + @PostMapping("/getTotalElectricQuantity/{days}") public R<List<List<Map<String, Object>>>> getTotalElectricQuantity(@PathVariable Integer days, @RequestParam("siteIds") Set<Integer> siteIds){ List<List<Map<String, Object>>> list = chargingOrderAccountingStrategyService.getTotalElectricQuantity(days, siteIds); return R.ok(list); @@ -47,7 +47,7 @@ * @return */ @ResponseBody - @GetMapping("/getDailyChargingDegree/{days}") + @PostMapping("/getDailyChargingDegree/{days}") public R<List<Double>> getDailyChargingDegree(@PathVariable Integer days, @RequestParam("siteIds") Set<Integer> siteIds){ List<Double> list = chargingOrderAccountingStrategyService.getDailyChargingDegree(days, siteIds); return R.ok(list); 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 075ac4a..14971f7 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 @@ -3,13 +3,21 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; 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.order.api.model.TChargingOrder; import com.ruoyi.order.api.query.TChargingCountQuery; +import com.ruoyi.order.dto.GetMyChargingOrderList; +import com.ruoyi.order.dto.MyChargingOrderInfo; import com.ruoyi.order.service.TChargingOrderService; import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import java.util.List; +import java.util.Map; import java.util.List; /** @@ -78,11 +86,31 @@ * @param chargingGunId 充电枪id * @return */ - @GetMapping(value = "/getOrderDetailByGunId") + @PostMapping(value = "/getOrderDetailByGunId") public R<TChargingOrder> getOrderDetailByGunId(@RequestParam("chargingGunId") Integer chargingGunId){ TChargingOrder one = chargingOrderService.getOne(new LambdaQueryWrapper<TChargingOrder>().eq(TChargingOrder::getChargingGunId, chargingGunId) .eq(TChargingOrder::getDelFlag, 0).eq(TChargingOrder::getStatus, 3)); return R.ok(one); } + + + + + @ResponseBody + @GetMapping(value = "/getMyChargingOrderList") + @ApiOperation(value = "获取充电记录列表", tags = {"小程序-充电记录"}) + public AjaxResult<Map<String, Object>> getMyChargingOrderList(GetMyChargingOrderList query){ + Map<String, Object> orderList = chargingOrderService.getMyChargingOrderList(query); + return AjaxResult.success(orderList); + } + + + @ResponseBody + @GetMapping(value = "/getMyChargingOrderInfo") + @ApiOperation(value = "获取充电记订单明细", tags = {"小程序-充电记录"}) + public AjaxResult<MyChargingOrderInfo> getMyChargingOrderInfo(String id){ + MyChargingOrderInfo myChargingOrderInfo = chargingOrderService.getMyChargingOrderInfo(id); + return AjaxResult.success(myChargingOrderInfo); + } } diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TExchangeOrderController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TExchangeOrderController.java index 0208eb3..d5dc5e8 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TExchangeOrderController.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TExchangeOrderController.java @@ -6,26 +6,25 @@ import com.ruoyi.chargingPile.api.feignClient.ChargingPileClient; import com.ruoyi.chargingPile.api.model.TChargingPile; import com.ruoyi.common.core.domain.R; -import com.ruoyi.common.core.web.page.PageInfo; -import com.ruoyi.order.api.model.TChargingOrder; +import com.ruoyi.common.core.web.domain.AjaxResult; import com.ruoyi.order.api.model.TExchangeOrder; import com.ruoyi.order.api.model.TShoppingOrder; import com.ruoyi.order.api.query.TActivityStatisticsQuery; -import com.ruoyi.order.api.vo.TActivityStatisticslVO; import com.ruoyi.order.api.vo.TActivityVO; +import com.ruoyi.order.dto.ExchangeOrderGoodsInfo; +import com.ruoyi.order.dto.GetMyExchangeOrder; +import com.ruoyi.order.dto.MyExchangeOrderList; import com.ruoyi.order.service.TChargingOrderService; import com.ruoyi.order.service.TExchangeOrderService; import com.ruoyi.order.service.TShoppingOrderService; import com.ruoyi.order.service.TVipOrderService; -import com.ruoyi.order.service.impl.TChargingOrderServiceImpl; import io.swagger.annotations.Api; -import io.swagger.models.auth.In; -import org.springframework.beans.factory.annotation.Autowired; +import io.swagger.annotations.ApiOperation; import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; @@ -41,17 +40,14 @@ @RestController @RequestMapping("/t-exchange-order") public class TExchangeOrderController { - @Autowired + @Resource private TShoppingOrderService tShoppingOrderService; - @Autowired + @Resource private TExchangeOrderService exchangeOrderService; - @Autowired - private TChargingOrderService chargingOrderService; - @Autowired - private TVipOrderService vipOrderService; - @Autowired + + @Resource private AppUserClient appUserClient; - @Autowired + @Resource private ChargingPileClient chargingPileClient; /** * 管理后台 活动费用统计 @@ -148,11 +144,27 @@ return R.ok(strings); } - /** - * 管理后台 根据t_app_coupon订单ids查询积分兑换优惠券的订单编号 - * @param goodsIds 订单号-商品类型 - * @return - */ - + + + + + + + @GetMapping("/getMyExchangeOrder") + @ApiOperation(value = "获取兑换记录列表", tags = {"小程序-兑换记录"}) + public AjaxResult<List<MyExchangeOrderList>> getMyExchangeOrder(GetMyExchangeOrder query){ + List<MyExchangeOrderList> list = exchangeOrderService.getMyExchangeOrder(query); + return AjaxResult.success(list); + } + + + + @GetMapping("/getGoodsExchangeOrder/{id}") + @ApiOperation(value = "获取兑换订单详情", tags = {"小程序-兑换记录"}) + public AjaxResult<ExchangeOrderGoodsInfo> getGoodsExchangeOrder(@PathVariable String id){ + ExchangeOrderGoodsInfo goodsExchangeOrder = exchangeOrderService.getGoodsExchangeOrder(id); + return AjaxResult.success(goodsExchangeOrder); + } + } diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderAppealController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderAppealController.java index d1615ae..9188660 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderAppealController.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderAppealController.java @@ -4,6 +4,8 @@ import com.ruoyi.common.core.web.domain.AjaxResult; import com.ruoyi.common.core.web.page.PageInfo; import com.ruoyi.common.security.service.TokenService; +import com.ruoyi.common.security.utils.SecurityUtils; +import com.ruoyi.order.api.model.TOrderAppeal; import com.ruoyi.order.api.query.TOrderAppealQuery; import com.ruoyi.order.api.vo.TOrderAppealVO; import com.ruoyi.order.service.TOrderAppealService; @@ -53,8 +55,18 @@ public AjaxResult<TOrderAppealVO> getDetailById(@RequestParam("id") Integer id) { return AjaxResult.ok(orderAppealService.getDetailById(id)); } - - - + + + + @ResponseBody + @GetMapping(value = "/addOrderAppeal") + @ApiOperation(value = "申诉订单", tags = {"小程序-充电记录(个人中心)"}) + public AjaxResult addOrderAppeal(@RequestBody TOrderAppeal orderAppeal){ + Long appUserId = tokenService.getLoginUser().getUserid(); + orderAppeal.setAppUserId(appUserId); + orderAppeal.setStatus(1); + orderAppealService.save(orderAppeal); + return AjaxResult.success(); + } } diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderEvaluateController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderEvaluateController.java index 844f56e..977579c 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderEvaluateController.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderEvaluateController.java @@ -9,11 +9,10 @@ import com.ruoyi.order.api.vo.TOrderEvaluateVO; import com.ruoyi.order.dto.GetOrderEvaluatePageList; import com.ruoyi.order.dto.GetOrderEvaluatePageListDTO; +import com.ruoyi.order.dto.OrderEvaluateVo; import com.ruoyi.order.service.TOrderEvaluateService; import com.ruoyi.other.api.vo.TEvaluationTagVO; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import io.swagger.annotations.ApiParam; +import io.swagger.annotations.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -111,6 +110,28 @@ public AjaxResult<SiteDetailEvaluateVO> getSiteDetailEveList(@RequestParam(value = "siteId")@ApiParam(value = "站点id")Integer siteId) { return AjaxResult.ok(orderEvaluateService.getSiteDetailEveList(siteId)); } - + + + + + @PostMapping(value = "/addOrderEvaluate") + @ApiOperation(value = "添加评价记录", tags = {"小程序-充电记录"}) + public AjaxResult addOrderEvaluate(@RequestBody OrderEvaluateVo query){ + return orderEvaluateService.addOrderEvaluate(query); + } + + + @GetMapping(value = "/getOrderEvaluate") + @ApiOperation(value = "获取订单评价详情", tags = {"小程序-充电记录"}) + @ApiImplicitParams({ + @ApiImplicitParam(value = "订单id", name = "orderId", required = true), + @ApiImplicitParam(value = "订单类型(1=充电订单,2=购物订单,3=兑换订单,4=会员订单)", name = "orderType", required = true), + }) + public AjaxResult<OrderEvaluateVo> getOrderEvaluate(@PathVariable Integer orderId, Integer orderType){ + OrderEvaluateVo orderEvaluate = orderEvaluateService.getOrderEvaluate(orderId, orderType); + return AjaxResult.success(orderEvaluate); + } + + } diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/ExchangeOrderGoodsInfo.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/ExchangeOrderGoodsInfo.java new file mode 100644 index 0000000..bb080b4 --- /dev/null +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/ExchangeOrderGoodsInfo.java @@ -0,0 +1,54 @@ +package com.ruoyi.order.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author zhibing.pu + * @Date 2024/8/16 14:07 + */ +@Data +@ApiModel +public class ExchangeOrderGoodsInfo { + @ApiModelProperty("订单id") + private String id; + @ApiModelProperty("状态(1=待发货,2=待收货,3=已完成,4=已取消)") + private Integer status; + @ApiModelProperty("收货人姓名") + private String consignee; + @ApiModelProperty("电话") + private String phone; + @ApiModelProperty("地址") + private String address; + @ApiModelProperty("快递公司") + private String expressCompany; + @ApiModelProperty("快递单号") + private String expressNumber; + @ApiModelProperty("商品名称") + private String name; + @ApiModelProperty("商品图片") + private String imgUrl; + @ApiModelProperty("兑换数量") + private Integer purchaseQuantity; + @ApiModelProperty("兑换积分单价") + private Integer unitPoints; + @ApiModelProperty("订单编号") + private String code; + @ApiModelProperty("下单时间") + private String createTime; + @ApiModelProperty("兑换总积分") + private Integer points; + @ApiModelProperty("备注") + private String remark; + @ApiModelProperty("发货时间") + private String deliveryTime; + @ApiModelProperty("完成时间") + private String finishTime; + @ApiModelProperty("优惠券类型(1=充电优惠券,2=购物优惠券)") + private Integer couponType; + @ApiModelProperty("优惠券有效天数") + private Integer days; + @ApiModelProperty("有效期截止时间") + private String endTime; +} diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/GetMyChargingOrderList.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/GetMyChargingOrderList.java new file mode 100644 index 0000000..5e8e9eb --- /dev/null +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/GetMyChargingOrderList.java @@ -0,0 +1,17 @@ +package com.ruoyi.order.dto; + +import com.ruoyi.common.core.web.page.BasePage; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author zhibing.pu + * @Date 2024/8/15 19:11 + */ +@Data +@ApiModel +public class GetMyChargingOrderList extends BasePage { + @ApiModelProperty("0=全部,1=待评价") + private Integer type; +} diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/GetMyExchangeOrder.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/GetMyExchangeOrder.java new file mode 100644 index 0000000..64520c0 --- /dev/null +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/GetMyExchangeOrder.java @@ -0,0 +1,17 @@ +package com.ruoyi.order.dto; + +import com.ruoyi.common.core.web.page.BasePage; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author zhibing.pu + * @Date 2024/8/16 13:34 + */ +@Data +@ApiModel +public class GetMyExchangeOrder extends BasePage { + @ApiModelProperty("状态(0=全部,1=待发货,2=待收货,3=已完成)") + private Integer status; +} diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/MyChargingOrderInfo.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/MyChargingOrderInfo.java new file mode 100644 index 0000000..65d4294 --- /dev/null +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/MyChargingOrderInfo.java @@ -0,0 +1,59 @@ +package com.ruoyi.order.dto; + +import com.ruoyi.order.api.model.TChargingOrderAccountingStrategy; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; +import java.util.Map; + +/** + * @author zhibing.pu + * @Date 2024/8/16 9:08 + */ +@Data +@ApiModel +public class MyChargingOrderInfo { + @ApiModelProperty("订单id") + private String id; + @ApiModelProperty("订单编号") + private String code; + @ApiModelProperty("订单时间") + private String createTime; + @ApiModelProperty("订单状态(0=未知,1=等待中,2=启动中,3=充电中,4=停止中,5=已结束)") + private Integer status; + @ApiModelProperty("订单标题") + private String title; + @ApiModelProperty("充电模式(1=超级快充,2=快充,3=慢充)") + private Integer chargeMode; + @ApiModelProperty("充电枪名称") + private String name; + @ApiModelProperty("车牌号") + private String licensePlate; + @ApiModelProperty("充电开始时间") + private Long startTime; + @ApiModelProperty("充电结束时间") + private Long endTime; + @ApiModelProperty("充电费") + private BigDecimal orderAmount; + @ApiModelProperty("实际消费") + private BigDecimal paymentAmount;; + @ApiModelProperty("充值金额") + private BigDecimal rechargeAmount; + @ApiModelProperty("优惠券抵扣") + private BigDecimal couponDiscountAmount; + @ApiModelProperty("会员抵扣") + private BigDecimal vipDiscountAmount; + @ApiModelProperty("退回金额") + private BigDecimal refundAmount; + @ApiModelProperty("阶段费用明细") + private List<TChargingOrderAccountingStrategy> stageCost; + @ApiModelProperty("电流电压曲线") + private Map<String, Object> currentAndVoltage; + @ApiModelProperty("功率曲线") + private Map<String, Object> power; + @ApiModelProperty("是否可申诉(0=否,1=是)") + private Integer actionable; +} diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/MyChargingOrderList.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/MyChargingOrderList.java new file mode 100644 index 0000000..e38ea6e --- /dev/null +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/MyChargingOrderList.java @@ -0,0 +1,32 @@ +package com.ruoyi.order.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * @author zhibing.pu + * @Date 2024/8/15 18:59 + */ +@Data +@ApiModel +public class MyChargingOrderList { + @ApiModelProperty("订单id") + private String id; + @ApiModelProperty("订单状态(0=未知,1=等待中,2=启动中,3=充电中,4=停止中,5=已结束)") + private Integer status; + @ApiModelProperty("标题") + private String title; + @ApiModelProperty("充电度数") + private BigDecimal chargingDegree; + @ApiModelProperty("充电桩枪名称") + private String name; + @ApiModelProperty("结束方式(0=异常终止,1=主动终止,2=满电终止,3=费用不足终止)") + private Integer endMode; + @ApiModelProperty("支付金额") + private BigDecimal payMoney; + @ApiModelProperty("订单时间") + private String createTime; +} diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/MyExchangeOrderList.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/MyExchangeOrderList.java new file mode 100644 index 0000000..6f4c588 --- /dev/null +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/MyExchangeOrderList.java @@ -0,0 +1,30 @@ +package com.ruoyi.order.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author zhibing.pu + * @Date 2024/8/16 13:36 + */ +@Data +@ApiModel +public class MyExchangeOrderList { + @ApiModelProperty("订单id") + private String id; + @ApiModelProperty("兑换积分单价") + private Integer unitPoints; + @ApiModelProperty("兑换总积分") + private Integer points; + @ApiModelProperty("兑换数量") + private Integer purchaseQuantity; + @ApiModelProperty("订单类型(1=商品,2=优惠券)") + private Integer orderType; + @ApiModelProperty("状态(1=待发货,2=待收货,3=已完成,4=已取消)") + private Integer status; + @ApiModelProperty("名称") + private String name; + @ApiModelProperty("图片") + private String imgUrl; +} diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/OrderEvaluateVo.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/OrderEvaluateVo.java new file mode 100644 index 0000000..bcbd782 --- /dev/null +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/OrderEvaluateVo.java @@ -0,0 +1,23 @@ +package com.ruoyi.order.dto; + +import com.ruoyi.order.api.model.TOrderEvaluate; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @author zhibing.pu + * @Date 2024/8/16 10:25 + */ +@Data +@ApiModel +public class OrderEvaluateVo extends TOrderEvaluate { + @ApiModelProperty("评价标签id") + private List<Integer> tagIds; + + @ApiModelProperty("评价标签名称") + private List<String> tagName; + +} diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TChargingOrderMapper.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TChargingOrderMapper.java index 2d6a017..1b186da 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TChargingOrderMapper.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TChargingOrderMapper.java @@ -4,6 +4,9 @@ import com.ruoyi.order.api.model.TChargingOrder; import org.apache.ibatis.annotations.Mapper; +import java.util.List; +import java.util.Map; + /** * <p> * Mapper 接口 @@ -14,5 +17,15 @@ */ @Mapper public interface TChargingOrderMapper extends BaseMapper<TChargingOrder> { - + + + /** + * 获取小程序充电记录列表数据 + * @param appUserId + * @param type + * @param pageCurr + * @param pageSize + * @return + */ + List<TChargingOrder> getMyChargingOrderList(Long appUserId, Integer type, Integer pageCurr, Integer pageSize); } diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TChargingOrderService.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TChargingOrderService.java index 5650b83..d5e9755 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TChargingOrderService.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TChargingOrderService.java @@ -1,7 +1,12 @@ package com.ruoyi.order.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.common.core.web.page.BasePage; import com.ruoyi.order.api.model.TChargingOrder; +import com.ruoyi.order.dto.GetMyChargingOrderList; +import com.ruoyi.order.dto.MyChargingOrderInfo; + +import java.util.Map; /** * <p> @@ -12,5 +17,20 @@ * @since 2024-08-07 */ public interface TChargingOrderService extends IService<TChargingOrder> { - + + + /** + * 获取小程序充电记录列表数据 + * @param query + * @return + */ + Map<String, Object> getMyChargingOrderList(GetMyChargingOrderList query); + + + /** + * 获取小程序充电记录明细 + * @param id + * @return + */ + MyChargingOrderInfo getMyChargingOrderInfo(String id); } diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TExchangeOrderService.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TExchangeOrderService.java index 9246415..baf7452 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TExchangeOrderService.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TExchangeOrderService.java @@ -2,6 +2,11 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.order.api.model.TExchangeOrder; +import com.ruoyi.order.dto.ExchangeOrderGoodsInfo; +import com.ruoyi.order.dto.GetMyExchangeOrder; +import com.ruoyi.order.dto.MyExchangeOrderList; + +import java.util.List; /** * <p> @@ -12,5 +17,20 @@ * @since 2024-08-07 */ public interface TExchangeOrderService extends IService<TExchangeOrder> { - + + + /** + * 获取小程序兑换记录 + * @param query + * @return + */ + List<MyExchangeOrderList> getMyExchangeOrder(GetMyExchangeOrder query); + + + /** + * 获取兑换订单详情 + * @param id + * @return + */ + ExchangeOrderGoodsInfo getGoodsExchangeOrder(String id); } diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TOrderEvaluateService.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TOrderEvaluateService.java index 534d681..3098ba9 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TOrderEvaluateService.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TOrderEvaluateService.java @@ -1,6 +1,7 @@ package com.ruoyi.order.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.common.core.web.domain.AjaxResult; import com.ruoyi.common.core.web.page.PageInfo; import com.ruoyi.order.api.model.TOrderEvaluate; import com.ruoyi.order.api.query.TOrderEvaluateQuery; @@ -8,7 +9,9 @@ import com.ruoyi.order.api.vo.TOrderEvaluateVO; import com.ruoyi.order.dto.GetOrderEvaluatePageList; import com.ruoyi.order.dto.GetOrderEvaluatePageListDTO; +import com.ruoyi.order.dto.OrderEvaluateVo; import com.ruoyi.other.api.vo.TEvaluationTagVO; +import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import java.util.List; @@ -50,4 +53,20 @@ * @return */ PageInfo<GetOrderEvaluatePageListDTO> getPageList(GetOrderEvaluatePageList pageList); + + + /** + * 评价订单 + * @param query + * @return + */ + AjaxResult addOrderEvaluate(OrderEvaluateVo query); + + + /** + * 根据订单id获取 + * @param orderId + * @return + */ + OrderEvaluateVo getOrderEvaluate(Integer orderId, Integer orderType); } diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java index de40f2c..f189465 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java @@ -1,10 +1,33 @@ package com.ruoyi.order.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.account.api.feignClient.AppUserCarClient; +import com.ruoyi.account.api.model.TAppUserCar; +import com.ruoyi.chargingPile.api.feignClient.ChargingGunClient; +import com.ruoyi.chargingPile.api.feignClient.ChargingPileClient; +import com.ruoyi.chargingPile.api.feignClient.SiteClient; +import com.ruoyi.chargingPile.api.model.Site; +import com.ruoyi.chargingPile.api.model.TChargingGun; +import com.ruoyi.common.core.web.page.BasePage; +import com.ruoyi.common.security.service.TokenService; +import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.order.api.model.TChargingOrder; +import com.ruoyi.order.api.model.TChargingOrderAccountingStrategy; +import com.ruoyi.order.dto.GetMyChargingOrderList; +import com.ruoyi.order.dto.MyChargingOrderInfo; +import com.ruoyi.order.dto.MyChargingOrderList; import com.ruoyi.order.mapper.TChargingOrderMapper; +import com.ruoyi.order.service.TChargingOrderAccountingStrategyService; import com.ruoyi.order.service.TChargingOrderService; import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.math.BigDecimal; +import java.text.SimpleDateFormat; +import java.time.ZoneOffset; +import java.time.format.DateTimeFormatter; +import java.util.*; /** * <p> @@ -16,5 +39,102 @@ */ @Service public class TChargingOrderServiceImpl extends ServiceImpl<TChargingOrderMapper, TChargingOrder> implements TChargingOrderService { - + + @Resource + private ChargingGunClient chargingGunClient; + + @Resource + private SiteClient siteClient; + + @Resource + private AppUserCarClient appUserCarClient; + + @Resource + private TChargingOrderAccountingStrategyService chargingOrderAccountingStrategyService; + + @Resource + private TokenService tokenService; + + + + + /** + * 获取小程序充电记录列表数据 + * @param query + * @return + */ + @Override + public Map<String, Object> getMyChargingOrderList(GetMyChargingOrderList query) { + Long appUserId = tokenService.getLoginUser().getUserid(); + Map<String, Object> map = new HashMap<>(); + int size = this.baseMapper.getMyChargingOrderList(appUserId, 1, null, null).size(); + map.put("number", size); + List<TChargingOrder> list = this.baseMapper.getMyChargingOrderList(appUserId, query.getType(), query.getPageCurr(), query.getPageSize()); + List<MyChargingOrderList> orderLists = new ArrayList<>(); + for (TChargingOrder tChargingOrder : list) { + MyChargingOrderList myChargingOrderList = new MyChargingOrderList(); + myChargingOrderList.setId(tChargingOrder.getId().toString()); + myChargingOrderList.setStatus(tChargingOrder.getStatus()); + Site site = siteClient.getSiteByIds(Arrays.asList(tChargingOrder.getSiteId())).getData().get(0); + myChargingOrderList.setTitle(site.getName()); + myChargingOrderList.setChargingDegree(tChargingOrder.getChargingCapacity()); + String name = chargingGunClient.getAllName(tChargingOrder.getChargingGunId()).getData(); + myChargingOrderList.setName(name); + myChargingOrderList.setEndMode(tChargingOrder.getEndMode()); + BigDecimal payMoney = tChargingOrder.getStatus() < 4 ? tChargingOrder.getRechargeAmount() : tChargingOrder.getPaymentAmount(); + myChargingOrderList.setPayMoney(payMoney); + myChargingOrderList.setCreateTime(tChargingOrder.getCreateTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); + orderLists.add(myChargingOrderList); + } + map.put("list", orderLists); + return map; + } + + + /** + * 获取充电订单明细 + * @param id 订单id + * @return + */ + @Override + public MyChargingOrderInfo getMyChargingOrderInfo(String id) { + TChargingOrder chargingOrder = this.getById(id); + MyChargingOrderInfo myChargingOrderInfo = new MyChargingOrderInfo(); + myChargingOrderInfo.setId(id); + myChargingOrderInfo.setCode(chargingOrder.getCode()); + myChargingOrderInfo.setCreateTime(chargingOrder.getCreateTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); + myChargingOrderInfo.setStatus(chargingOrder.getStatus()); + Site site = siteClient.getSiteByIds(Arrays.asList(chargingOrder.getSiteId())).getData().get(0); + myChargingOrderInfo.setTitle(site.getName()); + TChargingGun chargingGun = chargingGunClient.getChargingGunById(chargingOrder.getChargingGunId()).getData(); + myChargingOrderInfo.setChargeMode(chargingGun.getChargeMode()); + String name = chargingGunClient.getAllName(chargingOrder.getChargingGunId()).getData(); + myChargingOrderInfo.setName(name); + if(null != chargingOrder.getAppUserCarId()){ + TAppUserCar tAppUserCar = appUserCarClient.getCarByIds(Arrays.asList(chargingOrder.getAppUserCarId())).getData().get(0); + myChargingOrderInfo.setLicensePlate(tAppUserCar.getLicensePlate()); + }else{ + myChargingOrderInfo.setLicensePlate("无"); + } + myChargingOrderInfo.setStartTime(chargingOrder.getStartTime().toInstant(ZoneOffset.of("+8")).toEpochMilli()); + myChargingOrderInfo.setEndTime(chargingOrder.getEndTime().toInstant(ZoneOffset.of("+8")).toEpochMilli()); + myChargingOrderInfo.setOrderAmount(chargingOrder.getOrderAmount()); + myChargingOrderInfo.setPaymentAmount(chargingOrder.getPaymentAmount()); + myChargingOrderInfo.setRechargeAmount(chargingOrder.getRechargeAmount()); + myChargingOrderInfo.setCouponDiscountAmount(chargingOrder.getCouponDiscountAmount()); + myChargingOrderInfo.setVipDiscountAmount(chargingOrder.getVipDiscountAmount()); + myChargingOrderInfo.setRefundAmount(chargingOrder.getRefundAmount()); + List<TChargingOrderAccountingStrategy> stageCost = chargingOrderAccountingStrategyService.list( + new LambdaQueryWrapper<TChargingOrderAccountingStrategy>().eq(TChargingOrderAccountingStrategy::getChargingOrderId, id) + .orderByAsc(TChargingOrderAccountingStrategy::getStartTime) + ); + myChargingOrderInfo.setStageCost(stageCost); + // todo 待完善 + //再MongoDB中获取数据 + myChargingOrderInfo.setCurrentAndVoltage(null); + //再MongoDB中获取数据 + myChargingOrderInfo.setPower(null); + myChargingOrderInfo.setActionable(myChargingOrderInfo.getEndTime() + 604800000L > System.currentTimeMillis() ? 0 : 1); + return myChargingOrderInfo; + } } diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TExchangeOrderServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TExchangeOrderServiceImpl.java index 84f4764..341d6b7 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TExchangeOrderServiceImpl.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TExchangeOrderServiceImpl.java @@ -1,10 +1,27 @@ package com.ruoyi.order.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.account.api.feignClient.AppUserAddressClient; +import com.ruoyi.account.api.model.TAppUserAddress; +import com.ruoyi.common.security.service.TokenService; import com.ruoyi.order.api.model.TExchangeOrder; +import com.ruoyi.order.dto.ExchangeOrderGoodsInfo; +import com.ruoyi.order.dto.GetMyExchangeOrder; +import com.ruoyi.order.dto.MyExchangeOrderList; import com.ruoyi.order.mapper.TExchangeOrderMapper; import com.ruoyi.order.service.TExchangeOrderService; +import com.ruoyi.other.api.domain.TCoupon; +import com.ruoyi.other.api.domain.TGoods; +import com.ruoyi.other.api.feignClient.CouponClient; +import com.ruoyi.other.api.feignClient.GoodsClient; +import org.springframework.format.annotation.DateTimeFormat; import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.List; /** * <p> @@ -16,5 +33,108 @@ */ @Service public class TExchangeOrderServiceImpl extends ServiceImpl<TExchangeOrderMapper, TExchangeOrder> implements TExchangeOrderService { - + + @Resource + private TokenService tokenService; + + @Resource + private GoodsClient goodsClient; + + @Resource + private CouponClient couponClient; + + @Resource + private AppUserAddressClient appUserAddressClient; + + + + + + + /** + * 获取小程序兑换记录 + * @param query + * @return + */ + @Override + public List<MyExchangeOrderList> getMyExchangeOrder(GetMyExchangeOrder query) { + Long userid = tokenService.getLoginUser().getUserid(); + LambdaQueryWrapper<TExchangeOrder> wrapper = new LambdaQueryWrapper<TExchangeOrder>().eq(TExchangeOrder::getDelFlag, 0).eq(TExchangeOrder::getAppUserId, userid); + if(query.getStatus() == 0){ + wrapper.ne(TExchangeOrder::getStatus, 4); + }else{ + wrapper.eq(TExchangeOrder::getStatus, query.getStatus()); + } + List<TExchangeOrder> list = this.list(wrapper.orderByDesc(TExchangeOrder::getCreateTime).last(" limit " + query.getPageCurr() + "," + query.getPageSize())); + List<MyExchangeOrderList> pageList = new ArrayList<>(); + for (TExchangeOrder tExchangeOrder : list) { + MyExchangeOrderList exchangeOrderList = new MyExchangeOrderList(); + exchangeOrderList.setId(tExchangeOrder.getId().toString()); + exchangeOrderList.setUnitPoints(tExchangeOrder.getPoints() / tExchangeOrder.getPurchaseQuantity()); + exchangeOrderList.setPoints(tExchangeOrder.getPoints()); + exchangeOrderList.setPurchaseQuantity(tExchangeOrder.getPurchaseQuantity()); + exchangeOrderList.setOrderType(tExchangeOrder.getOrderType()); + exchangeOrderList.setStatus(tExchangeOrder.getStatus()); + String name = ""; + String imgUrl = ""; + if(tExchangeOrder.getOrderType() == 1){ + TGoods goods = goodsClient.getGoodsById(tExchangeOrder.getGoodsId()).getData(); + name = goods.getName(); + imgUrl = goods.getCoverPicture(); + }else{ + TCoupon coupon = couponClient.getCouponById(tExchangeOrder.getGoodsId()).getData(); + name = coupon.getName(); + imgUrl = coupon.getCoverPicture(); + } + exchangeOrderList.setName(name); + exchangeOrderList.setImgUrl(imgUrl); + pageList.add(exchangeOrderList); + } + return pageList; + } + + + /** + * 获取兑换订单详情 + * @param id + * @return + */ + @Override + public ExchangeOrderGoodsInfo getGoodsExchangeOrder(String id) { + TExchangeOrder exchangeOrder = this.getById(id); + ExchangeOrderGoodsInfo info = new ExchangeOrderGoodsInfo(); + info.setId(id); + info.setStatus(exchangeOrder.getStatus()); + TAppUserAddress userAddress = appUserAddressClient.getAppUserAddressById(exchangeOrder.getAppUserAddressId()).getData(); + info.setConsignee(userAddress.getName()); + info.setPhone(userAddress.getPhone()); + info.setAddress(userAddress.getAddress()); + info.setExpressCompany(exchangeOrder.getExpressCompany()); + info.setExpressNumber(exchangeOrder.getExpressNumber()); + String name = ""; + String imgUrl = ""; + if(exchangeOrder.getOrderType() == 1){ + TGoods goods = goodsClient.getGoodsById(exchangeOrder.getGoodsId()).getData(); + name = goods.getName(); + imgUrl = goods.getCoverPicture(); + }else{ + TCoupon coupon = couponClient.getCouponById(exchangeOrder.getGoodsId()).getData(); + info.setCouponType(coupon.getType()); + info.setDays(coupon.getDays()); + info.setEndTime(coupon.getEndTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); + name = coupon.getName(); + imgUrl = coupon.getCoverPicture(); + } + info.setName(name); + info.setImgUrl(imgUrl); + info.setPurchaseQuantity(exchangeOrder.getPurchaseQuantity()); + info.setUnitPoints(exchangeOrder.getPoints() / exchangeOrder.getPurchaseQuantity()); + info.setCode(exchangeOrder.getCode()); + info.setCreateTime(exchangeOrder.getCreateTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); + info.setPoints(exchangeOrder.getPoints()); + info.setRemark(exchangeOrder.getRemark()); + info.setDeliveryTime(exchangeOrder.getConsignerTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); + info.setFinishTime(exchangeOrder.getReceivingTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); + return info; + } } diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderEvaluateServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderEvaluateServiceImpl.java index 6916f8a..e0f76a8 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderEvaluateServiceImpl.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderEvaluateServiceImpl.java @@ -1,19 +1,26 @@ package com.ruoyi.order.service.impl; +import cn.hutool.db.DaoTemplate; +import com.alibaba.fastjson2.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.account.api.feignClient.AppUserCarClient; import com.ruoyi.account.api.feignClient.AppUserClient; +import com.ruoyi.account.api.feignClient.AppUserIntegralChangeClient; import com.ruoyi.account.api.model.TAppUser; import com.ruoyi.account.api.model.TAppUserCar; import com.ruoyi.account.api.feignClient.AppUserClient; import com.ruoyi.account.api.model.TAppUser; +import com.ruoyi.account.api.model.TAppUserIntegralChange; import com.ruoyi.chargingPile.api.feignClient.SiteClient; import com.ruoyi.chargingPile.api.model.Site; import com.ruoyi.chargingPile.api.vo.TAccountingStrategyVO; import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.core.utils.StringUtils; +import com.ruoyi.common.core.web.domain.AjaxResult; import com.ruoyi.common.core.web.page.PageInfo; +import com.ruoyi.common.security.service.TokenService; import com.ruoyi.order.api.model.TChargingOrder; import com.ruoyi.order.api.model.TOrderEvaluate; import com.ruoyi.order.api.model.TOrderEvaluateTag; @@ -22,19 +29,26 @@ import com.ruoyi.order.api.vo.TOrderEvaluateVO; import com.ruoyi.order.dto.GetOrderEvaluatePageList; import com.ruoyi.order.dto.GetOrderEvaluatePageListDTO; +import com.ruoyi.order.dto.OrderEvaluateVo; import com.ruoyi.order.mapper.TChargingOrderMapper; import com.ruoyi.order.mapper.TOrderEvaluateMapper; import com.ruoyi.order.mapper.TOrderEvaluateTagMapper; +import com.ruoyi.order.service.TChargingOrderService; import com.ruoyi.order.service.TOrderEvaluateService; import com.ruoyi.other.api.domain.TEvaluationTag; +import com.ruoyi.other.api.domain.TIntegralRule; +import com.ruoyi.other.api.feignClient.IntegralRuleClient; import com.ruoyi.other.api.feignClient.TEvaluationTagClient; import com.ruoyi.other.api.vo.TEvaluationTagVO; +import io.seata.spring.annotation.GlobalTransactional; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import java.math.BigDecimal; import javax.annotation.Resource; +import java.time.LocalDateTime; import java.util.Arrays; import java.util.Comparator; import java.util.List; @@ -66,6 +80,19 @@ @Resource private SiteClient siteClient; + + @Resource + private TokenService tokenService; + + @Resource + private TChargingOrderService chargingOrderService; + + @Resource + private IntegralRuleClient integralRuleClient; + + @Resource + private AppUserIntegralChangeClient appUserIntegralChangeClient; + @@ -202,4 +229,84 @@ } return pageInfo.setRecords(list); } + + + /** + * 评价订单 + * @param query + * @return + */ + @Override + @GlobalTransactional(rollbackFor = Exception.class)//分布式事务 + public AjaxResult addOrderEvaluate(OrderEvaluateVo query) { + TOrderEvaluate orderEvaluate = this.getOne(new LambdaQueryWrapper<TOrderEvaluate>().eq(TOrderEvaluate::getOrderId, query.getOrderId()) + .eq(TOrderEvaluate::getOrderType, query.getOrderType()).eq(TOrderEvaluate::getDelFlag, 0)); + if(null != orderEvaluate){ + return AjaxResult.error("不能重复评价"); + } + orderEvaluate = new TOrderEvaluate(); + BeanUtils.copyProperties(query, orderEvaluate); + Long userid = tokenService.getLoginUser().getUserid(); + orderEvaluate.setAppUserId(userid); + if(query.getOrderType() == 1){ + TChargingOrder chargingOrder = chargingOrderService.getById(query.getOrderId()); + orderEvaluate.setAppUserCarId(chargingOrder.getAppUserCarId()); + } + this.save(orderEvaluate); + + List<Integer> tagIds = query.getTagIds(); + for (Integer tagId : tagIds) { + TOrderEvaluateTag orderEvaluateTag = new TOrderEvaluateTag(); + orderEvaluateTag.setOrderEvaluateId(orderEvaluate.getId()); + orderEvaluateTag.setEvaluationTagId(tagId); + orderEvaluateTagMapper.insert(orderEvaluateTag); + } + + //判断发放积分 文字+图片+5星好评 + if(StringUtils.isNotEmpty(query.getContent()) && StringUtils.isNotEmpty(query.getImgUrl()) && 5 == query.getMark()){ + TIntegralRule data = integralRuleClient.getSet().getData(); + String credit = data.getCredit(); + //积分 + Integer num1 = JSON.parseObject(credit).getInteger("num1"); + if(null != num1 && 0 < num1){ + TAppUser appUser = appUserClient.getUserById(userid).getData(); + Integer points = appUser.getPoints(); + appUser.setPoints(appUser.getPoints() + num1); + appUserClient.updateAppUser(appUser); + + //积分变动明细 + TAppUserIntegralChange appUserIntegralChange = new TAppUserIntegralChange(); + appUserIntegralChange.setAppUserId(appUser.getId()); + appUserIntegralChange.setChangeType(3); + appUserIntegralChange.setHistoricalIntegral(points); + appUserIntegralChange.setCurrentIntegral(points + num1); + appUserIntegralChange.setCreateTime(LocalDateTime.now()); + appUserIntegralChangeClient.addAppUserIntegralChange(appUserIntegralChange); + } + } + return AjaxResult.success(); + } + + + /** + * 获取订单评价 + * @param orderId 订单id + * @param orderType 订单类型 + * @return + */ + @Override + public OrderEvaluateVo getOrderEvaluate(Integer orderId, Integer orderType) { + TOrderEvaluate orderEvaluate = this.getOne(new LambdaQueryWrapper<TOrderEvaluate>().eq(TOrderEvaluate::getOrderId, orderId).eq(TOrderEvaluate::getOrderType, orderType)); + if(null != orderEvaluate){ + OrderEvaluateVo orderEvaluateVo = new OrderEvaluateVo(); + BeanUtils.copyProperties(orderEvaluate, orderEvaluateVo); + List<TOrderEvaluateTag> tOrderEvaluateTags = orderEvaluateTagMapper.selectList(new LambdaQueryWrapper<TOrderEvaluateTag>().eq(TOrderEvaluateTag::getOrderEvaluateId, orderEvaluate.getId())); + List<Integer> tagId = tOrderEvaluateTags.stream().map(TOrderEvaluateTag::getEvaluationTagId).collect(Collectors.toList()); + List<TEvaluationTag> data = evaluationTagClient.getListByIds(tagId).getData(); + List<String> collect = data.stream().map(TEvaluationTag::getName).collect(Collectors.toList()); + orderEvaluateVo.setTagName(collect); + return orderEvaluateVo; + } + return null; + } } diff --git a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml index f41d4d6..418f126 100644 --- a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml +++ b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml @@ -19,6 +19,7 @@ <result column="start_time" property="startTime" /> <result column="end_time" property="endTime" /> <result column="status" property="status" /> + <result column="end_mode" property="endMode"/> <result column="recharge_amount" property="rechargeAmount" /> <result column="recharge_payment_type" property="rechargePaymentType" /> <result column="recharge_payment_status" property="rechargePaymentStatus" /> @@ -43,4 +44,15 @@ id, code, order_type, order_classification, app_user_id, app_user_car_id,site_id, parking_lot_id, charging_pile_id, charging_gun_id, start_time, end_time, status, recharge_amount, recharge_payment_type, recharge_payment_status, recharge_serial_number, order_amount, app_coupon_id, coupon_discount_amount, vip_discount, vip_discount_amount, payment_amount, refund_code, refund_amount, refund_status, refund_serial_number, refund_time, create_time, del_flag </sql> + + <select id="getMyChargingOrderList" resultMap="BaseResultMap"> + select * from t_charging_order where del_flag = 0 and app_user_id = #{appUserId} + <if test="1 == type"> + and id not in (select order_id from t_order_evaluate where order_type = 1 and app_user_id = #{appUserId} and del_flag = 0) + </if> + order by create_time desc + <if test="null != pageCurr and null != pageSize"> + limit #{pageCurr}, #{pageSize} + </if> + </select> </mapper> diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TCouponController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TCouponController.java index bc579b9..f36cca6 100644 --- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TCouponController.java +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TCouponController.java @@ -129,5 +129,17 @@ } return R.ok(list); } + + + /** + * 根据id获取优惠券信息 + * @param id + * @return + */ + @PostMapping(value = "/getCouponById/{id}") + public R<TCoupon> getCouponById(@PathVariable Integer id){ + TCoupon coupon = tCouponService.getById(id); + return R.ok(coupon); + } } diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TEvaluationTagController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TEvaluationTagController.java index 6b55808..9a49776 100644 --- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TEvaluationTagController.java +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TEvaluationTagController.java @@ -1,6 +1,7 @@ package com.ruoyi.other.controller; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.web.domain.AjaxResult; import com.ruoyi.common.core.web.page.BasePage; @@ -96,10 +97,20 @@ * @param tagIds * @return */ - @GetMapping("/getListByIds") - public R<List<TEvaluationTag>> getListByIds(List<Integer> tagIds){ + @PostMapping("/getListByIds") + public R<List<TEvaluationTag>> getListByIds(@RequestBody List<Integer> tagIds){ List<TEvaluationTag> tEvaluationTags = evaluationTagService.listByIds(tagIds); return R.ok(tEvaluationTags); } + + + + @ResponseBody + @GetMapping("/getRandomEvaluationTag") + @ApiOperation(value = "获取随机的4个评价标签", tags = {"小程序-充电记录"}) + public AjaxResult<List<TEvaluationTag>> getRandomEvaluationTag(){ + List<TEvaluationTag> list = evaluationTagService.list(new LambdaQueryWrapper<TEvaluationTag>().last(" order by RAND() limit 0, 4")); + return AjaxResult.success(list); + } } diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TGoodsController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TGoodsController.java index f714570..bea875b 100644 --- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TGoodsController.java +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TGoodsController.java @@ -1,6 +1,7 @@ package com.ruoyi.other.controller; +import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.web.domain.AjaxResult; import com.ruoyi.common.core.web.page.PageInfo; import com.ruoyi.other.api.domain.TActivity; @@ -57,5 +58,16 @@ public AjaxResult<PageInfo<TGoods>> pageList(@RequestBody GoodsDTO dto) { return AjaxResult.ok(goodsService.pageList(dto)); } + + /** + * 根据id获取商品信息 + * @param id + * @return + */ + @PostMapping("/getGoodsById/{id}") + public R<TGoods> getGoodsById(@PathVariable Integer id){ + TGoods goods = goodsService.getById(id); + return R.ok(goods); + } } 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 772d11a..4c80295 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 @@ -1,14 +1,12 @@ package com.ruoyi.other.controller; import java.time.LocalDateTime; -import java.util.Date; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.fasterxml.jackson.annotation.JsonFormat; import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.core.web.domain.AjaxResult; import com.ruoyi.other.api.domain.THtml; import com.ruoyi.other.api.domain.TIntegralRule; -import com.ruoyi.other.api.dto.SaveIntegralDTO; import com.ruoyi.other.service.THtmlService; import com.ruoyi.other.service.TIntegralRuleService; import io.swagger.annotations.ApiImplicitParam; @@ -32,12 +30,18 @@ private THtmlService htmlService; @Autowired private TIntegralRuleService integralRuleService; + + + @GetMapping("/getSet") @ApiOperation(tags = {"管理后台-积分管理"},value = "获取积分设置") public R<TIntegralRule> getSet() { TIntegralRule res = integralRuleService.getOne(new QueryWrapper<>()); return R.ok(res); } + + + @PostMapping("/saveSet") @ApiOperation(tags = {"管理后台-积分管理"},value = "保存积分设置") public R saveSet(@RequestBody TIntegralRule dto) { @@ -94,5 +98,13 @@ } return R.ok(); } + + + @GetMapping("/getIntegralRule") + @ApiOperation(tags = {"小程序-充电记录"},value = "获取积分规则设置") + public AjaxResult<String> getIntegralRule(){ + TIntegralRule one = integralRuleService.getOne(null); + return AjaxResult.success(one); + } } diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TRoleSiteController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TRoleSiteController.java index 043a2cd..089747c 100644 --- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TRoleSiteController.java +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TRoleSiteController.java @@ -32,8 +32,8 @@ * @return */ @ResponseBody - @GetMapping("/getSiteIds") - public R<List<Integer>> getSiteIds(Long roleId){ + @PostMapping("/getSiteIds/{roleId}") + public R<List<Integer>> getSiteIds(@PathVariable Long roleId){ List<TRoleSite> list = roleSiteService.list(new LambdaQueryWrapper<TRoleSite>().eq(TRoleSite::getRoleId, roleId)); List<Integer> collect = list.stream().map(TRoleSite::getSiteId).collect(Collectors.toList()); return R.ok(collect); @@ -45,7 +45,7 @@ * @return */ @ResponseBody - @PostMapping("/getSiteIds") + @PostMapping("/addRoleSite") public R addRoleSite(@RequestBody List<TRoleSite> roleSites){ roleSiteService.saveBatch(roleSites); return R.ok(); diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TUserSiteController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TUserSiteController.java index 686f3b9..8b5327c 100644 --- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TUserSiteController.java +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TUserSiteController.java @@ -33,8 +33,8 @@ * @return */ @ResponseBody - @GetMapping("/getSiteIds") - public R<List<Integer>> getSiteIds(Long userId){ + @PostMapping("/getSiteIds/{userId}") + public R<List<Integer>> getSiteIds(@PathVariable Long userId){ List<TUserSite> list = userSiteService.list(new LambdaQueryWrapper<TUserSite>().eq(TUserSite::getUserId, userId)); List<Integer> collect = list.stream().map(TUserSite::getSiteId).collect(Collectors.toList()); return R.ok(collect); diff --git a/ruoyi-service/ruoyi-other/src/main/resources/mapper/other/TCouponMapper.xml b/ruoyi-service/ruoyi-other/src/main/resources/mapper/other/TCouponMapper.xml index 517753e..ae8d93a 100644 --- a/ruoyi-service/ruoyi-other/src/main/resources/mapper/other/TCouponMapper.xml +++ b/ruoyi-service/ruoyi-other/src/main/resources/mapper/other/TCouponMapper.xml @@ -7,6 +7,8 @@ <id column="id" property="id" /> <result column="type" property="type" /> <result column="name" property="name" /> + <result column="cover_picture" property="coverPicture"/> + <result column="details_picture" property="detailsPicture"/> <result column="preferential_mode" property="preferentialMode" /> <result column="discount_amount" property="discountAmount" /> <result column="meet_the_conditions" property="meetTheConditions" /> -- Gitblit v1.7.1