From c3363d35b8dd42a862681d505360cd2c72d070a1 Mon Sep 17 00:00:00 2001 From: zhibing.pu <393733352@qq.com> Date: 星期六, 10 八月 2024 18:11:39 +0800 Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/mx_charging_pile --- ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/query/TOrderEvaluateQuery.java | 26 + ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java | 104 ++++ ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/UserListQueryDto.java | 19 ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/ChargingPileClient.java | 12 ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/OrderFallbackFactory.java | 16 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/mapper/TEvaluationTagMapper.java | 9 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TEvaluationTagServiceImpl.java | 7 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 | 18 ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/vo/ExchangeRecordVO.java | 11 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TExchangeOrderController.java | 94 ++- ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderEvaluateServiceImpl.java | 84 +++ ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TActivityStatisticsController.java | 41 + ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/ChargingOrderClient.java | 2 ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/TEvaluationTagFallbackFactory.java | 34 + ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TChargingOrder.java | 4 ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/vo/TEvaluationTagVO.java | 15 ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml | 3 ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/GrantCouponDto.java | 20 ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/OrderClient.java | 20 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderEvaluateController.java | 30 + ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/TEvaluationTagClient.java | 28 + ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/TActivityStatisticslVO.java | 48 + ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/ChoiceUserListQueryDto.java | 19 ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TOrderEvaluateMapper.xml | 57 ++ ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/feignClient/ChargingPileClient.java | 2 ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/query/TActivityStatisticsQuery.java | 32 + ruoyi-service/ruoyi-order/pom.xml | 21 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileServiceImpl.java | 8 ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/ChargingPileFallbackFactory.java | 10 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TGrantVipServiceImpl.java | 23 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingPileController.java | 10 ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/ServiceNameConstants.java | 22 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TGrantVipMapper.java | 19 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TGrantVipService.java | 17 ruoyi-service/ruoyi-account/pom.xml | 6 ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/OtherClient.java | 2 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TOrderEvaluateMapper.java | 15 ruoyi-service/ruoyi-other/src/main/resources/mapper/TEvaluationTagMapper.xml | 10 ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TOrderEvaluateTagMapper.xml | 12 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TShoppingOrderService.java | 5 ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TGrantVip.java | 49 + ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/TOrderEvaluateVO.java | 18 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java | 16 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java | 22 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java | 50 ++ ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TShoppingOrderMapper.java | 7 ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppUserClient.java | 12 ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppCouponClient.java | 13 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/TEvaluationTagService.java | 8 ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppCouponFallbackFactory.java | 8 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TOrderEvaluateTagMapper.java | 10 ruoyi-api/ruoyi-api-payment/src/main/java/com/ruoyi/payment/api/feignClient/ChargingOrderClient.java | 2 ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/UserSiteClient.java | 2 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TAppCouponServiceImpl.java | 35 ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TShoppingOrderMapper.xml | 161 ++++++ ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/TChargingPileService.java | 3 ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserFallbackFactory.java | 9 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TCouponController.java | 42 + ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TEvaluationTagController.java | 21 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TSystemConfigurationController.java | 3 ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/ExchangeOrderClient.java | 2 ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/TActivityVO.java | 27 + 63 files changed, 1,350 insertions(+), 107 deletions(-) diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/ChoiceUserListQueryDto.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/ChoiceUserListQueryDto.java new file mode 100644 index 0000000..feda3ea --- /dev/null +++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/ChoiceUserListQueryDto.java @@ -0,0 +1,19 @@ +package com.ruoyi.account.api.dto; + +import com.ruoyi.common.core.web.page.BasePage; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel("发放优惠券-选择人员列表DTO") +public class ChoiceUserListQueryDto extends BasePage { + @ApiModelProperty(value = "用户手机号") + String userPhone; + @ApiModelProperty(value = "市code") + String cityCode; + @ApiModelProperty(value = "省code") + String provinceCode; + @ApiModelProperty(value = "用户标签ids 多个逗号分隔") + String userTagId; +} diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/GrantCouponDto.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/GrantCouponDto.java new file mode 100644 index 0000000..645a948 --- /dev/null +++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/GrantCouponDto.java @@ -0,0 +1,20 @@ +package com.ruoyi.account.api.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.time.LocalDateTime; + +@Data +@ApiModel("管理后台发放优惠券DTO") +public class GrantCouponDto { + @ApiModelProperty("用户ids 逗号分隔") + private String userIds; + @ApiModelProperty("优惠券id") + private Integer couponId; + @ApiModelProperty("发放方式 1积分 2现金") + private Integer waysToObtain; + @ApiModelProperty("结束时间 前端忽略") + private LocalDateTime endTime; +} diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/UserListQueryDto.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/UserListQueryDto.java index 2605486..b958d1d 100644 --- a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/UserListQueryDto.java +++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/UserListQueryDto.java @@ -1,14 +1,21 @@ package com.ruoyi.account.api.dto; import com.ruoyi.common.core.web.page.BasePage; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data public class UserListQueryDto extends BasePage { - private String userPhone; - private String cityCode; - private Integer status; - private Integer userTagId; - private Integer vipTypeId; - private Integer companyId; + @ApiModelProperty(value = "用户手机号") + String userPhone; + @ApiModelProperty(value = "所在地code") + String cityCode; + @ApiModelProperty(value = "状态 1正常2冻结 3注销") + Integer status; + @ApiModelProperty(value = "用户标签id") + Integer userTagId; + @ApiModelProperty(value = "会员类型id") + Integer vipTypeId; + @ApiModelProperty(value = "单位id") + Integer companyId; } diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppCouponFallbackFactory.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppCouponFallbackFactory.java index 370b476..cec1394 100644 --- a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppCouponFallbackFactory.java +++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppCouponFallbackFactory.java @@ -2,7 +2,10 @@ import com.ruoyi.account.api.feignClient.AppCouponClient; import com.ruoyi.account.api.feignClient.AppUserClient; +import com.ruoyi.account.api.query.ExchangeRecordGoodsQuery; +import com.ruoyi.account.api.vo.ExchangeRecordVO; import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.core.web.page.PageInfo; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.cloud.openfeign.FallbackFactory; @@ -34,6 +37,11 @@ public R<Integer> getUseCountByCouponId(Integer couponId) { return null; } + + @Override + public R<PageInfo<ExchangeRecordVO>> getExchangeRecordByCouponId(ExchangeRecordGoodsQuery couponId) { + return R.fail("根据优惠券id查询领取记录:"+throwable.getMessage()); + } }; } } diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserFallbackFactory.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserFallbackFactory.java index a2bd046..22549a5 100644 --- a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserFallbackFactory.java +++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserFallbackFactory.java @@ -1,10 +1,13 @@ package com.ruoyi.account.api.factory; import com.ruoyi.account.api.feignClient.AppUserClient; +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; /** * 门店服务降级处理 @@ -20,7 +23,11 @@ public AppUserClient create(Throwable throwable) { log.error("账户服务调用失败:{}", throwable.getMessage()); return new AppUserClient() { - + + @Override + public R<List<Long>> getUserIdsByPhone(String phone) { + return R.fail("根据手机号查询用户ids失败:"+throwable.getMessage()); + } }; } } diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppCouponClient.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppCouponClient.java index 595543c..e3ea1b3 100644 --- a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppCouponClient.java +++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppCouponClient.java @@ -2,10 +2,14 @@ import com.ruoyi.account.api.factory.AppCouponFallbackFactory; import com.ruoyi.account.api.factory.AppUserFallbackFactory; +import com.ruoyi.account.api.query.ExchangeRecordGoodsQuery; +import com.ruoyi.account.api.vo.ExchangeRecordVO; import com.ruoyi.common.core.constant.ServiceNameConstants; import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.core.web.page.PageInfo; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import java.util.List; @@ -13,7 +17,7 @@ * 用户服务 * @author ruoyi */ -@FeignClient(contextId = "AppCouponClient", value = ServiceNameConstants.CONTRACT_ACCOUNT, fallbackFactory = AppCouponFallbackFactory.class) +@FeignClient(contextId = "AppCouponClient", value = ServiceNameConstants.ACCOUNT_SERVICE, fallbackFactory = AppCouponFallbackFactory.class) public interface AppCouponClient { /** @@ -29,4 +33,11 @@ */ @PostMapping("/t-app-coupon/getUseCountByCouponId") public R<Integer> getUseCountByCouponId(Integer couponId); + /** + * 后台远程调用 根据优惠券id 查询领取记录 + * @param couponId + * @return + */ + @PostMapping("/t-app-coupon/getExchangeRecordByCouponId") + R<PageInfo<ExchangeRecordVO>> getExchangeRecordByCouponId(@RequestBody ExchangeRecordGoodsQuery couponId); } 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 0d96f57..8d4d1c7 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 @@ -2,14 +2,22 @@ import com.ruoyi.common.core.constant.ServiceNameConstants; import com.ruoyi.account.api.factory.AppUserFallbackFactory; +import com.ruoyi.common.core.domain.R; +import io.swagger.annotations.ApiOperation; import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestParam; + +import java.util.List; /** * 用户服务 * @author ruoyi */ -@FeignClient(contextId = "AppUserClient", value = ServiceNameConstants.CONTRACT_SERVICE, fallbackFactory = AppUserFallbackFactory.class) +@FeignClient(contextId = "AppUserClient", value = ServiceNameConstants.ACCOUNT_SERVICE, fallbackFactory = AppUserFallbackFactory.class) public interface AppUserClient { - + @ApiOperation(value = "管理后台-根据手机号查询用户ids", tags = {"管理后台-活动费用统计"}) + @PostMapping(value = "/t-app-user/user/getUserIdsByPhone") + public R<List<Long>> getUserIdsByPhone(@RequestParam("phone") String phone); } diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/vo/ExchangeRecordVO.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/vo/ExchangeRecordVO.java index 43c0f6d..b0cf1c1 100644 --- a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/vo/ExchangeRecordVO.java +++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/vo/ExchangeRecordVO.java @@ -11,7 +11,9 @@ @ApiModel("管理后台 优惠券兑换记录列表返回VO") public class ExchangeRecordVO { @ApiModelProperty(value = "获得时间") - private String createTime; + private String createTime1; + @ApiModelProperty(value = "获得时间 前端忽略") + private LocalDateTime createTime; @ApiModelProperty(value = "获得用户") private String phone; @ApiModelProperty(value = "优惠金额") @@ -28,9 +30,8 @@ private String orderId; @ApiModelProperty(value = " 前端忽略 获取方式 1=积分兑换 2现金购买") private Integer waysToObtain; - @ApiModelProperty(value = " 是否删除0否1是") + @ApiModelProperty(value = "优惠券id") + private Integer couponId; + @ApiModelProperty(value = " 是否删除0否1是 前端忽略") private Integer delFlag; - @ApiModelProperty(value = "三方支付流水号 前端忽略") - private String serialNumber; - } diff --git a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/ChargingPileFallbackFactory.java b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/ChargingPileFallbackFactory.java index a62e139..a868183 100644 --- a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/ChargingPileFallbackFactory.java +++ b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/ChargingPileFallbackFactory.java @@ -1,10 +1,14 @@ package com.ruoyi.chargingPile.api.factory; import com.ruoyi.chargingPile.api.feignClient.ChargingPileClient; +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; /** * 充电桩服务降级处理 @@ -20,7 +24,11 @@ public ChargingPileClient create(Throwable throwable) { log.error("充电桩调用失败:{}", throwable.getMessage()); return new ChargingPileClient() { - + + @Override + public R<List<TChargingPile>> getChargingPileBySiteId(Integer siteId) { + return R.fail("通过站点id获取充电桩列表失败:"+throwable.getMessage()); + } }; } } diff --git a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/ChargingPileClient.java b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/ChargingPileClient.java index aad471f..024bd8a 100644 --- a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/ChargingPileClient.java +++ b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/ChargingPileClient.java @@ -1,18 +1,28 @@ package com.ruoyi.chargingPile.api.feignClient; import com.ruoyi.chargingPile.api.factory.ChargingPileFallbackFactory; +import com.ruoyi.chargingPile.api.model.TChargingPile; import com.ruoyi.common.core.constant.ServiceNameConstants; import com.ruoyi.common.core.domain.R; +import io.swagger.annotations.ApiOperation; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestParam; + +import java.util.List; /** * 充电桩服务 * @author ruoyi */ -@FeignClient(contextId = "ChargingPileClient", value = ServiceNameConstants.CONTRACT_SERVICE, fallbackFactory = ChargingPileFallbackFactory.class) +@FeignClient(contextId = "ChargingPileClient", value = ServiceNameConstants.CHARGINGPILE_SERVICE, fallbackFactory = ChargingPileFallbackFactory.class) public interface ChargingPileClient { + /** + * 管理后台-通过站点id获取充电桩列表 不分页 + */ + @ApiOperation(value = "管理后台-通过站点id获取充电桩列表 不分页") + @PostMapping(value = "/t-charging-pile/getChargingPileBySiteId") + public R<List<TChargingPile>> getChargingPileBySiteId(@RequestParam("siteId") Integer siteId); } diff --git a/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/feignClient/ChargingPileClient.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/feignClient/ChargingPileClient.java index 462bc13..c7c1277 100644 --- a/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/feignClient/ChargingPileClient.java +++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/feignClient/ChargingPileClient.java @@ -8,7 +8,7 @@ * 充电订单服务 * @author ruoyi */ -@FeignClient(contextId = "ChargingPileClient", value = ServiceNameConstants.CONTRACT_SERVICE, fallbackFactory = ChargingPileFallbackFactory.class) +@FeignClient(contextId = "ChargingPileClient", value = ServiceNameConstants.INTEGRATION_SERVICE, fallbackFactory = ChargingPileFallbackFactory.class) public interface ChargingPileClient { diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/OrderFallbackFactory.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/OrderFallbackFactory.java index f3f3b95..4177dd3 100644 --- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/OrderFallbackFactory.java +++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/OrderFallbackFactory.java @@ -4,6 +4,8 @@ import com.ruoyi.order.api.feignClient.ChargingOrderClient; import com.ruoyi.order.api.feignClient.OrderClient; import com.ruoyi.order.api.model.TChargingOrder; +import com.ruoyi.order.api.query.TActivityStatisticsQuery; +import com.ruoyi.order.api.vo.TActivityVO; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.cloud.openfeign.FallbackFactory; @@ -30,8 +32,20 @@ @Override public R<List<Integer>> getSalesCountByGoodsId(String goodsIds) { - return null; + return R.fail("根据商品订单ids查询销量:" + cause.getMessage()); } + + @Override + public R<List<String>> getCodeByOrderId(String goodsIds) { + return R.fail("根据订单ids查询现金购买优惠券订单编号:" + cause.getMessage()); + } + + @Override + public R<TActivityVO> activityStatistics(TActivityStatisticsQuery dto) { + return R.fail("查询活动费用统计失败:" + cause.getMessage()); + } + + }; } } diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/ChargingOrderClient.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/ChargingOrderClient.java index 6a48e86..6fcf8eb 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 @@ -12,7 +12,7 @@ * 充电订单服务 * @author ruoyi */ -@FeignClient(contextId = "ChargingOrderClient", value = ServiceNameConstants.CONTRACT_SERVICE, fallbackFactory = ChargingOrderFallbackFactory.class) +@FeignClient(contextId = "ChargingOrderClient", value = ServiceNameConstants.ORDER_SERVICE, fallbackFactory = ChargingOrderFallbackFactory.class) public interface ChargingOrderClient { @PostMapping(value = "/t-charging-order/useOrderCount") R<Long> useOrderCount(@RequestParam Long userId); diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/ExchangeOrderClient.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/ExchangeOrderClient.java index ac22284..d690334 100644 --- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/ExchangeOrderClient.java +++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/ExchangeOrderClient.java @@ -14,7 +14,7 @@ * 充电订单服务 * @author ruoyi */ -@FeignClient(contextId = "ChargingOrderClient", value = ServiceNameConstants.CONTRACT_SERVICE, fallbackFactory = ExchangeOrderFallbackFactory.class) +@FeignClient(contextId = "ChargingOrderClient", value = ServiceNameConstants.ORDER_SERVICE, fallbackFactory = ExchangeOrderFallbackFactory.class) public interface ExchangeOrderClient { diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/OrderClient.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/OrderClient.java index c763d67..c00f97c 100644 --- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/OrderClient.java +++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/OrderClient.java @@ -4,8 +4,11 @@ import com.ruoyi.common.core.domain.R; import com.ruoyi.order.api.factory.ChargingOrderFallbackFactory; import com.ruoyi.order.api.factory.OrderFallbackFactory; +import com.ruoyi.order.api.query.TActivityStatisticsQuery; +import com.ruoyi.order.api.vo.TActivityVO; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import java.util.List; @@ -13,9 +16,24 @@ * 后台订单服务 * @author ruoyi */ -@FeignClient(contextId = "OrderClient", value = ServiceNameConstants.CONTRACT_ORDER, fallbackFactory = OrderFallbackFactory.class) +@FeignClient(contextId = "OrderClient", value = ServiceNameConstants.ORDER_SERVICE, fallbackFactory = OrderFallbackFactory.class) public interface OrderClient { @PostMapping("/t-exchange-order/getSalesCountByGoodsIds") R<List<Integer>> getSalesCountByGoodsId(String goodsIds); + + /** + * 管理后台 根据t_app_coupon订单购买或者兑换优惠券的订单编号 + * @param goodsIds 订单号-商品类型 + * @return + */ + @PostMapping("/t-exchange-order/getCodeByOrderId") + public R<List<String>> getCodeByOrderId(String goodsIds); + /** + * 管理后台 活动费用统计 + * @param + * @return + */ + @PostMapping(value = "/t-exchange-order/activityStatistics") + public R<TActivityVO> activityStatistics(@RequestBody TActivityStatisticsQuery dto); } 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 a48b136..3f36bcb 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 @@ -52,6 +52,10 @@ @TableField("app_user_car_id") private Integer appUserCarId; + @ApiModelProperty(value = "站点 id") + @TableField("site_id") + private Integer siteId; + @ApiModelProperty(value = "停车场id") @TableField("parking_lot_id") private Integer parkingLotId; diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TGrantVip.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TGrantVip.java new file mode 100644 index 0000000..f1958b4 --- /dev/null +++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TGrantVip.java @@ -0,0 +1,49 @@ +package com.ruoyi.order.api.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.ruoyi.common.core.web.domain.BasePojo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; + +/** + * <p> + * + * </p> + * + * @author xiaochen + * @since 2024-08-07 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("t_grant_vip") +@ApiModel(value="TGrantVip对象", description="") +public class TGrantVip extends BasePojo { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "主键") + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + @ApiModelProperty(value = "订单编号") + @TableField("code") + private String code; + + @ApiModelProperty(value = "用户id") + @TableField("app_user_id") + private Long appUserId; + + @ApiModelProperty(value = "购买的会员id") + @TableField("vip_id") + private Integer vipId; + @ApiModelProperty(value = "购买的会员id") + @TableField("vip_id") + private BigDecimal orderAmount; +} diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/query/TActivityStatisticsQuery.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/query/TActivityStatisticsQuery.java new file mode 100644 index 0000000..d1627a8 --- /dev/null +++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/query/TActivityStatisticsQuery.java @@ -0,0 +1,32 @@ +package com.ruoyi.order.api.query; + +import com.ruoyi.common.core.web.page.BasePage; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@Data +@ApiModel(value = "管理后台-活动费用统计Query") +public class TActivityStatisticsQuery extends BasePage { + @ApiModelProperty(value = "用户电话") + private String phone; + @ApiModelProperty(value = "订单编号") + private String code; + @ApiModelProperty(value = "参与类型1优惠券 2会员抵扣 3会员活动 4赠送会员") + private Integer type; + @ApiModelProperty(value = "订单类型1充电订单 2商品订单 3会员订单 4赠送会员") + private Integer orderType; + @ApiModelProperty(value = "电站id") + private Integer siteId; + @ApiModelProperty(value = "消费时间开始(2020-01-02 00:00)") + private String startTime; + @ApiModelProperty(value = "消费时间结束(2020-01-02 00:00)") + private String endTime; + + @ApiModelProperty(value = "用户ids 前端忽略") + private List<Long> userIds; + @ApiModelProperty(value = "充电桩ids 前端忽略") + private List<Integer> chargingPileIds; +} diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/query/TOrderEvaluateQuery.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/query/TOrderEvaluateQuery.java new file mode 100644 index 0000000..baa8356 --- /dev/null +++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/query/TOrderEvaluateQuery.java @@ -0,0 +1,26 @@ +package com.ruoyi.order.api.query; + +import com.ruoyi.common.core.web.page.BasePage; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@Data +@ApiModel(value = "TOrderEvaluateQuery对象",description = "订单评价查询条件") +public class TOrderEvaluateQuery extends BasePage { + + @ApiModelProperty(value = "站点id") + private Integer siteId; + + @ApiModelProperty(value = "订单id集合 前端忽略") + private List<Long> orderIds; + + @ApiModelProperty(value = "标签类型 1=最新 2=有图 3=好评 4=中差评 5=其他") + private Integer tagType; + + @ApiModelProperty(value = "标签id 标签类型为5时传输此字段") + private Integer tagId; + +} diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/TActivityStatisticslVO.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/TActivityStatisticslVO.java new file mode 100644 index 0000000..f20373b --- /dev/null +++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/TActivityStatisticslVO.java @@ -0,0 +1,48 @@ +package com.ruoyi.order.api.vo; + +import com.fasterxml.jackson.databind.ser.Serializers; +import com.ruoyi.common.core.web.domain.BasePojo; +import com.ruoyi.order.api.model.*; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +@ApiModel(value = "管理后台活动费用统计分页列表", description = "管理后台活动费用统计分页列表") +public class TActivityStatisticslVO extends BasePojo { + + @ApiModelProperty(value = "用户手机号") + private String phone; + + @ApiModelProperty(value = "参与类型 优惠券 会员抵扣 会员活动 赠送会员") + private String type; + + @ApiModelProperty(value = "订单类型 充电订单 商品订单 会员订单 赠送会员") + private Integer orderType; + + @ApiModelProperty(value = "订单编号") + private String code; + @ApiModelProperty(value = "应付/价值") + private BigDecimal orderAmount; + @ApiModelProperty(value = "优惠券抵扣") + private BigDecimal couponDiscountAmount; + @ApiModelProperty(value = "会员抵扣") + private BigDecimal vipDiscountAmount; + @ApiModelProperty(value = "实付") + private BigDecimal paymentAmount; + @ApiModelProperty(value = "消费时间") + private String time; + @ApiModelProperty(value = "消费时间") + private BigDecimal total; + @ApiModelProperty(value = "消费时间") + private BigDecimal coupon; + @ApiModelProperty(value = "消费时间") + private BigDecimal discount; + @ApiModelProperty(value = "消费时间") + private BigDecimal vipActivity; + @ApiModelProperty(value = "消费时间") + private BigDecimal grantVip; + +} diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/TActivityVO.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/TActivityVO.java new file mode 100644 index 0000000..405d1c0 --- /dev/null +++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/TActivityVO.java @@ -0,0 +1,27 @@ +package com.ruoyi.order.api.vo; + +import com.ruoyi.common.core.web.domain.BasePojo; +import com.ruoyi.common.core.web.page.PageInfo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +@ApiModel(value = "TOrderAppealVO对象", description = "订单申诉VO对象") +public class TActivityVO { + @ApiModelProperty(value = "分页列表") + private PageInfo<TActivityStatisticslVO> list; + @ApiModelProperty(value = "优惠总额") + private BigDecimal total; + @ApiModelProperty(value = "优惠券总额") + private BigDecimal coupon; + @ApiModelProperty(value = "会员抵扣总额") + private BigDecimal discount; + @ApiModelProperty(value = "会员活动") + private BigDecimal vipActivity; + @ApiModelProperty(value = "赠送会员") + private BigDecimal grantVip; + +} diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/TOrderEvaluateVO.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/TOrderEvaluateVO.java new file mode 100644 index 0000000..f69bb8b --- /dev/null +++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/TOrderEvaluateVO.java @@ -0,0 +1,18 @@ +package com.ruoyi.order.api.vo; + +import com.ruoyi.order.api.model.TOrderEvaluate; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel(value = "TOrderEvaluateVO对象",description = "订单评价") +public class TOrderEvaluateVO extends TOrderEvaluate { + + @ApiModelProperty(value = "用户") + private String name; + + @ApiModelProperty(value = "头像") + private String avatar; + +} diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/TEvaluationTagFallbackFactory.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/TEvaluationTagFallbackFactory.java new file mode 100644 index 0000000..c6527d9 --- /dev/null +++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/TEvaluationTagFallbackFactory.java @@ -0,0 +1,34 @@ +package com.ruoyi.other.api.factory; + +import com.ruoyi.common.core.domain.R; +import com.ruoyi.other.api.feignClient.RoleSiteClient; +import com.ruoyi.other.api.feignClient.TEvaluationTagClient; +import com.ruoyi.other.api.vo.TEvaluationTagVO; +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 TEvaluationTagFallbackFactory implements FallbackFactory<TEvaluationTagClient> { + private static final Logger log = LoggerFactory.getLogger(TEvaluationTagFallbackFactory.class); + + @Override + public TEvaluationTagClient create(Throwable throwable) { + log.error("调用失败:{}", throwable.getMessage()); + return new TEvaluationTagClient() { + + @Override + public R<List<TEvaluationTagVO>> getTagList() { + return R.fail("获取标签列表:" + throwable.getMessage()); + } + }; + } +} diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/OtherClient.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/OtherClient.java index 833e422..c300997 100644 --- a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/OtherClient.java +++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/OtherClient.java @@ -20,7 +20,7 @@ * 商品服务 * @author ruoyi */ -@FeignClient(contextId = "UnitClient", value = ServiceNameConstants.CONTRACT_SERVICE, fallbackFactory = OtherFallbackFactory.class) +@FeignClient(contextId = "UnitClient", value = ServiceNameConstants.OTHER_SERVICE, fallbackFactory = OtherFallbackFactory.class) public interface OtherClient { //单位分页 @PostMapping(value = "/t-company/unit/page") 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 82af5f7..e4dc369 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 @@ -17,7 +17,7 @@ * @author zhibing.pu * @Date 2024/8/9 18:14 */ -@FeignClient(contextId = "RoleSiteClient", value = ServiceNameConstants.CONTRACT_SERVICE, fallbackFactory = RoleSiteFallbackFactory.class) +@FeignClient(contextId = "RoleSiteClient", value = ServiceNameConstants.OTHER_SERVICE, fallbackFactory = RoleSiteFallbackFactory.class) public interface RoleSiteClient { 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 new file mode 100644 index 0000000..92c209d --- /dev/null +++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/TEvaluationTagClient.java @@ -0,0 +1,28 @@ +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.factory.RoleSiteFallbackFactory; +import com.ruoyi.other.api.vo.TEvaluationTagVO; +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; + +/** + * @author zhibing.pu + * @Date 2024/8/9 18:14 + */ +@FeignClient(contextId = "TEvaluationTagClient", value = ServiceNameConstants.OTHER_SERVICE, fallbackFactory = RoleSiteFallbackFactory.class) +public interface TEvaluationTagClient { + + + /** + * 获取标签列表 + * @return + */ + @PostMapping("/t-evaluation-tag/getTagList") + R<List<TEvaluationTagVO>> getTagList(); +} 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 790f7fa..4cd3910 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 @@ -17,7 +17,7 @@ * @author zhibing.pu * @Date 2024/8/9 18:14 */ -@FeignClient(contextId = "UserSiteClient", value = ServiceNameConstants.CONTRACT_SERVICE, fallbackFactory = UserSiteFallbackFactory.class) +@FeignClient(contextId = "UserSiteClient", value = ServiceNameConstants.OTHER_SERVICE, fallbackFactory = UserSiteFallbackFactory.class) public interface UserSiteClient { diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/vo/TEvaluationTagVO.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/vo/TEvaluationTagVO.java new file mode 100644 index 0000000..49e0e4a --- /dev/null +++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/vo/TEvaluationTagVO.java @@ -0,0 +1,15 @@ +package com.ruoyi.other.api.vo; + +import com.ruoyi.other.api.domain.TEvaluationTag; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel(value = "TEvaluationTagVO对象", description = "评价标签") +public class TEvaluationTagVO extends TEvaluationTag{ + + @ApiModelProperty(value = "评价标签数量") + private Integer tagCount; + +} diff --git a/ruoyi-api/ruoyi-api-payment/src/main/java/com/ruoyi/payment/api/feignClient/ChargingOrderClient.java b/ruoyi-api/ruoyi-api-payment/src/main/java/com/ruoyi/payment/api/feignClient/ChargingOrderClient.java index 628318d..d9f4240 100644 --- a/ruoyi-api/ruoyi-api-payment/src/main/java/com/ruoyi/payment/api/feignClient/ChargingOrderClient.java +++ b/ruoyi-api/ruoyi-api-payment/src/main/java/com/ruoyi/payment/api/feignClient/ChargingOrderClient.java @@ -8,7 +8,7 @@ * 充电订单服务 * @author ruoyi */ -@FeignClient(contextId = "ChargingOrderClient", value = ServiceNameConstants.CONTRACT_SERVICE, fallbackFactory = ChargingOrderFallbackFactory.class) +@FeignClient(contextId = "ChargingOrderClient", value = ServiceNameConstants.PAYMENT_SERVICE, fallbackFactory = ChargingOrderFallbackFactory.class) public interface ChargingOrderClient { diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/ServiceNameConstants.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/ServiceNameConstants.java index b4a5e88..9cb4b54 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/ServiceNameConstants.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/ServiceNameConstants.java @@ -21,20 +21,10 @@ * 文件服务的serviceid */ public static final String FILE_SERVICE = "ruoyi-file"; - /** - * 后台服务的serviceid - */ - public static final String MANAGEMENT_SERVICE = "ruoyi-management"; - - /** - * 车辆服务的serviceid - */ - public static final String VEHICLE_SERVICE = "ruoyi-vehicle"; - - /** - * 车辆合同的serviceid - */ - public static final String CONTRACT_SERVICE = "ruoyi-contract"; - public static final String CONTRACT_ORDER = "ruoyi-order"; - public static final String CONTRACT_ACCOUNT = "ruoyi-account"; + public static final String ACCOUNT_SERVICE = "ruoyi-account"; + public static final String CHARGINGPILE_SERVICE = "ruoyi-chargingPile"; + public static final String OTHER_SERVICE = "ruoyi-other"; + public static final String ORDER_SERVICE = "ruoyi-order"; + public static final String INTEGRATION_SERVICE = "ruoyi-integration"; + public static final String PAYMENT_SERVICE = "ruoyi-payment"; } diff --git a/ruoyi-service/ruoyi-account/pom.xml b/ruoyi-service/ruoyi-account/pom.xml index 957885b..a247e97 100644 --- a/ruoyi-service/ruoyi-account/pom.xml +++ b/ruoyi-service/ruoyi-account/pom.xml @@ -15,6 +15,12 @@ </description> <dependencies> + <dependency> + <groupId>com.ruoyi</groupId> + <artifactId>ruoyi-api-order</artifactId> + <version>3.6.2</version> + <scope>compile</scope> + </dependency> <!-- SpringCloud Alibaba Nacos --> <dependency> <groupId>com.alibaba.cloud</groupId> 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 ffc595e..b7e95ae 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 @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ruoyi.account.api.dto.GrantCouponDto; import com.ruoyi.account.api.model.TAppCoupon; import com.ruoyi.account.api.query.ExchangeRecordGoodsQuery; import com.ruoyi.account.api.vo.ExchangeRecordVO; @@ -71,8 +72,27 @@ * @return */ @PostMapping("/getExchangeRecordByCouponId") - public R<PageInfo<ExchangeRecordVO>> getUseCountByCouponId(ExchangeRecordGoodsQuery couponId){ + public R<PageInfo<ExchangeRecordVO>> getExchangeRecordByCouponId(@RequestBody ExchangeRecordGoodsQuery couponId){ return R.ok(tAppCouponService.pagelist(couponId)); } + + /** + * 后台远程调用 给用户发放优惠券 + */ + @PostMapping("/grantCoupon") + public R getExchangeRecordByCouponId(@RequestBody GrantCouponDto dto){ + List<TAppCoupon> res = new ArrayList<>(); + for (String s : dto.getUserIds().split(",")) { + TAppCoupon tAppCoupon = new TAppCoupon(); + tAppCoupon.setAppUserId(Long.valueOf(s)); + tAppCoupon.setCouponId(dto.getCouponId()); + tAppCoupon.setEndTime(dto.getEndTime()); + tAppCoupon.setWaysToObtain(dto.getWaysToObtain()); + tAppCoupon.setStatus(1); + res.add(tAppCoupon); + } + tAppCouponService.saveBatch(res); + return R.ok(); + } } 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 3eaf8db..fed89c4 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 @@ -1,6 +1,7 @@ package com.ruoyi.account.controller; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.account.api.dto.*; @@ -63,6 +64,13 @@ @Resource private ExchangeOrderClient exchangeOrderClient; + + @ApiOperation(value = "管理后台-根据手机号查询用户ids", tags = {"管理后台-活动费用统计"}) + @PostMapping(value = "/user/getUserIdsByPhone") + public R<List<Long>> getUserIdsByPhone(@RequestParam("phone") String phone) { + + return R.ok(appUserService.list(new QueryWrapper<TAppUser>().like("phone",phone)).stream().map(TAppUser::getId).collect(Collectors.toList())); + } @ApiOperation(value = "单位管理列表", tags = {"用户管理-单位管理"}) @PostMapping(value = "/unit/page") public R<Page<TCompany>> unitPage(@RequestBody UnitListQueryDto unitListQueryDto) { @@ -135,6 +143,48 @@ return R.ok(page); } + @ApiOperation(tags = {"管理后台-优惠券管理"},value = "优惠券发放-选择人员") + @PostMapping("/choiceUser") + public R<Page<TAppUser>> choiceUser(@RequestBody ChoiceUserListQueryDto userListQueryDto) { + List<Long> userIds = new ArrayList<>(); + //如果要筛选标签。用标签获取useids + if (userListQueryDto.getUserTagId() != null){ + String[] split = userListQueryDto.getUserTagId().split(","); + userIds = appUserTagService.lambdaQuery().in(TAppUserTag::getUserTagId, Arrays.asList(split)).list().stream().map(TAppUserTag::getAppUserId).collect(Collectors.toList()); + } + //列表查询 + Page<TAppUser> page = appUserService.lambdaQuery() + .like(userListQueryDto.getUserPhone() != null && !"".equals(userListQueryDto.getUserPhone()), TAppUser::getPhone, userListQueryDto.getUserPhone()) + .eq(userListQueryDto.getCityCode() != null && !"".equals(userListQueryDto.getCityCode()), TAppUser::getCityCode, userListQueryDto.getCityCode()) + .eq(userListQueryDto.getProvinceCode() != null && !"".equals(userListQueryDto.getProvinceCode()), TAppUser::getProvinceCode, userListQueryDto.getProvinceCode()) + .in(!userIds.isEmpty(),TAppUser::getId,userIds) + .eq(TAppUser::getStatus,1) + .page(Page.of(userListQueryDto.getPageCurr(), userListQueryDto.getPageSize())); + if (page.getRecords().isEmpty()){ + return R.ok(page); + } + List<Integer> vipIds = new ArrayList<>(); + vipIds = page.getRecords().stream().map(TAppUser::getVipId).collect(Collectors.toList()); + //获取会员map + R<Map<Integer, String>> vipMap = otherClient.getVipMap(vipIds); + //循环处理 + for (TAppUser appUser : page.getRecords()) { + //拿到最新的tagId + TAppUserTag one = appUserTagService.lambdaQuery().eq(TAppUserTag::getAppUserId, appUser.getId()).orderByDesc(TAppUserTag::getCreateTime).last("limit 1").one(); + //设置最新的tagName + R<TUserTag> byIdTag = otherClient.getByIdTag(one.getUserTagId()); + if (byIdTag.getData()!=null) { + appUser.setTagName(byIdTag.getData().getName()); + } + //匹配vipMap的值 + appUser.setVipName(vipMap.getData().get(appUser.getVipId())); + //累计充电次数 + R<Long> useOrderCount = chargingOrderClient.useOrderCount(appUser.getId()); + appUser.setOrderCount(useOrderCount.getData()); + + } + return R.ok(page); + } @ApiOperation(value = "用户添加编辑", tags = {"用户管理-用户列表"}) diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TAppCouponServiceImpl.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TAppCouponServiceImpl.java index 6bc6d16..98dc39f 100644 --- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TAppCouponServiceImpl.java +++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TAppCouponServiceImpl.java @@ -8,7 +8,10 @@ import com.ruoyi.account.service.TAppCouponService; import com.ruoyi.common.core.utils.DateUtils; import com.ruoyi.common.core.web.page.PageInfo; +import com.ruoyi.order.api.feignClient.OrderClient; import com.ruoyi.other.api.domain.TCoupon; +import org.apache.poi.ss.formula.functions.T; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.StringUtils; @@ -27,36 +30,36 @@ @Service public class TAppCouponServiceImpl extends ServiceImpl<TAppCouponMapper, TAppCoupon> implements TAppCouponService { + @Autowired + private OrderClient orderClient; @Override public PageInfo<ExchangeRecordVO> pagelist(ExchangeRecordGoodsQuery dto) { SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); PageInfo<ExchangeRecordVO> pageInfo = new PageInfo<>(dto.getPageCurr(),dto.getPageSize()); List<ExchangeRecordVO> list = this.baseMapper.pageList(pageInfo,dto); - // 现金优惠券 + // 订单ids StringBuilder stringBuilder = new StringBuilder(); - // 积分优惠券 - StringBuilder stringBuilder1 = new StringBuilder(); - for (ExchangeRecordVO exchangeRecordVO : list) { switch (exchangeRecordVO.getWaysToObtain()){ case 1: - if (exchangeRecordVO.getSerialNumber()!=null){ - stringBuilder.append(exchangeRecordVO.getSerialNumber()).append(","); + if (exchangeRecordVO.getOrderId()!=null){ + stringBuilder.append(exchangeRecordVO.getOrderId()).append(","); }else{ stringBuilder.append("0").append(","); } break; case 2: - if (exchangeRecordVO.getSerialNumber()!=null){ - stringBuilder1.append(exchangeRecordVO.getSerialNumber()).append(","); + if (exchangeRecordVO.getOrderId()!=null){ + stringBuilder.append("-").append(exchangeRecordVO.getOrderId()).append(","); }else{ - stringBuilder1.append("0").append(","); + stringBuilder.append("-").append("0").append(","); } break; } - Date date = DateUtils.toDate(exchangeRecordVO.getEndTime()); + Date date1 = DateUtils.toDate(exchangeRecordVO.getCreateTime()); exchangeRecordVO.setEndTime1(format.format(date)); + exchangeRecordVO.setCreateTime1(format.format(date1)); if (exchangeRecordVO.getStatus()==1){ if (exchangeRecordVO.getDelFlag() == 1){ // 删除了 就是已取消状态 @@ -80,18 +83,18 @@ exchangeRecordVO.setStatus(2); } } - // 根据购买方式 查询对应订单号 } // 去除最后一个字符 if (StringUtils.hasText(stringBuilder.toString())){ String string = stringBuilder.deleteCharAt(stringBuilder.length() - 1).toString(); - // 远程调用 查询关联的现金优惠券订单编号 + // 远程调用 查询关联的订单编号 + List<String> data = orderClient.getCodeByOrderId(string).getData(); + for (int i = 0; i < list.size(); i++) { + list.get(i).setOrderId(data.get(i)); + } } - if (StringUtils.hasText(stringBuilder.toString())){ - String string = stringBuilder.deleteCharAt(stringBuilder.length() - 1).toString(); - // 远程调用 查询关联的积分兑换优惠券订单编号 - } + pageInfo.setRecords(list); return pageInfo; } 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 88c1b86..3750bc9 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 @@ -1,6 +1,7 @@ package com.ruoyi.chargingPile.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ruoyi.chargingPile.api.dto.GetSiteListDTO; import com.ruoyi.chargingPile.api.model.Site; import com.ruoyi.chargingPile.api.model.TChargingGun; @@ -29,6 +30,7 @@ import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -77,7 +79,12 @@ PageInfo<GetSiteListDTO> list = siteService.getSiteList(siteList); return AjaxResult.success(list); } - + @ResponseBody + @GetMapping("/getSiteList1") + @ApiOperation(value = "获取站点列表 不分页", tags = {"管理后台-活动费用统计"}) + public AjaxResult<List<Site>> getSiteList1(){ + return AjaxResult.success(siteService.list(new QueryWrapper<>())); + } @ApiOperation(value = "获取站点分页列表", tags = {"小程序-站点管理"}) @PostMapping("/pageList") public AjaxResult<PageInfo<SiteVO>> pageList(@Validated @RequestBody SiteQuery query){ @@ -97,13 +104,14 @@ @ApiOperation(value = "获取站点下充电桩及充电枪列表", tags = {"小程序-站点管理-站点详情"}) @GetMapping("/getChargingGunList") - public AjaxResult<List<TChargingPileVO>> getChargingGunList(@RequestParam(name = "siteId",value = "站点id")Integer siteId){ - return AjaxResult.success(chargingPileService.getChargingGunList(siteId)); + public AjaxResult<List<TChargingPileVO>> getChargingGunList(@RequestParam(value = "siteId")@ApiParam(value = "站点id", required = true)Integer siteId, + @RequestParam(value = "siteId",required = false)@ApiParam(value = "类型 1=超充,2=快充,3=慢充")Integer type){ + return AjaxResult.success(chargingPileService.getChargingGunList(siteId,type)); } @ApiOperation(value = "获取站点下充电枪数量统计", tags = {"小程序-站点管理-站点详情"}) @GetMapping("/getChargingGunCount") - public AjaxResult<Map<String,ChargingGunCountVO>> getChargingGunCount(@RequestParam(name = "siteId",value = "站点id")Integer siteId){ + public AjaxResult<Map<String,ChargingGunCountVO>> getChargingGunCount(@RequestParam(value = "siteId")@ApiParam(value = "站点id", required = true)Integer siteId){ return AjaxResult.success(chargingGunService.getChargingGunCount(siteId)); } 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 9698cc6..0b68161 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 @@ -7,6 +7,7 @@ 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.chargingPile.api.dto.PageChargingPileListDTO; @@ -64,6 +65,15 @@ return AjaxResult.ok(chargingPileService.list(Wrappers.lambdaQuery(TChargingPile.class) .eq(TChargingPile::getSiteId,siteId))); } + /** + * 管理后台-通过站点id获取充电桩列表 不分页 + */ + @ApiOperation(value = "管理后台-通过站点id获取充电桩列表 不分页") + @PostMapping(value = "/getChargingPileBySiteId") + public R<List<TChargingPile>> getChargingPileBySiteId(@RequestParam("siteId") Integer siteId) { + return R.ok(chargingPileService.list(Wrappers.lambdaQuery(TChargingPile.class) + .eq(TChargingPile::getSiteId,siteId))); + } diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/TChargingPileService.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/TChargingPileService.java index b348dd8..beb89c2 100644 --- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/TChargingPileService.java +++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/TChargingPileService.java @@ -73,8 +73,9 @@ /** * 获取站点下充电桩及充电枪列表 * @param siteId + * @param type * @return */ - List<TChargingPileVO> getChargingGunList(Integer siteId); + List<TChargingPileVO> getChargingGunList(Integer siteId,Integer type); } diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileServiceImpl.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileServiceImpl.java index babc84f..6d771f5 100644 --- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileServiceImpl.java +++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileServiceImpl.java @@ -218,14 +218,14 @@ } @Override - public List<TChargingPileVO> getChargingGunList(Integer siteId) { + public List<TChargingPileVO> getChargingGunList(Integer siteId,Integer type) { List<TChargingPileVO> chargingPileVOS = this.baseMapper.getChargingGunList(siteId); List<TChargingGun> chargingGuns = chargingGunService.list(Wrappers.lambdaQuery(TChargingGun.class) - .eq(TChargingGun::getSiteId, siteId)); + .eq(TChargingGun::getSiteId, siteId) + .eq(TChargingGun::getChargeMode, type)); // 查询充电枪信息 chargingPileVOS.forEach(item -> { - List<TChargingGun> gunList = chargingGuns.stream().filter(gun -> gun.getChargingPileId().equals(item.getId())).collect(Collectors.toList()); - item.setChargingGunList(gunList); + item.setChargingGunList(chargingGuns.stream().filter(gun -> gun.getChargingPileId().equals(item.getId())).collect(Collectors.toList())); }); return chargingPileVOS; } diff --git a/ruoyi-service/ruoyi-order/pom.xml b/ruoyi-service/ruoyi-order/pom.xml index ea57ec9..3488348 100644 --- a/ruoyi-service/ruoyi-order/pom.xml +++ b/ruoyi-service/ruoyi-order/pom.xml @@ -15,7 +15,19 @@ </description> <dependencies> - + <!-- ruoyi-modules-other-api --> + <dependency> + <groupId>com.ruoyi</groupId> + <artifactId>ruoyi-api-other</artifactId> + <version>3.6.2</version> + <scope>compile</scope> + </dependency> + <dependency> + <groupId>com.ruoyi</groupId> + <artifactId>ruoyi-api-account</artifactId> + <version>3.6.2</version> + <scope>compile</scope> + </dependency> <!-- ruoyi-modules-chargingPile-api --> <dependency> <groupId>com.ruoyi</groupId> @@ -23,6 +35,13 @@ <version>3.6.2</version> <scope>compile</scope> </dependency> + <dependency> + <groupId>com.ruoyi</groupId> + <artifactId>ruoyi-api-chargingPile</artifactId> + <version>3.6.2</version> + <scope>compile</scope> + </dependency> + <!-- SpringCloud Alibaba Nacos --> <dependency> 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 873af59..17afde1 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 @@ -2,23 +2,32 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ruoyi.account.api.feignClient.AppUserClient; +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.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.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 org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.util.StringUtils; +import org.springframework.web.bind.annotation.*; import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.stream.Collectors; /** * <p> @@ -36,6 +45,33 @@ private TShoppingOrderService tShoppingOrderService; @Autowired private TExchangeOrderService exchangeOrderService; + @Autowired + private TChargingOrderService chargingOrderService; + @Autowired + private TVipOrderService vipOrderService; + @Autowired + private AppUserClient appUserClient; + @Autowired + private ChargingPileClient chargingPileClient; + /** + * 管理后台 活动费用统计 + * @param + * @return + */ + @PostMapping(value = "/activityStatistics") + public R<TActivityVO> activityStatistics(@RequestBody TActivityStatisticsQuery dto) { + if (StringUtils.hasLength(dto.getPhone())){ + // 远程调用查询出符合条件的用户ids + List<Long> data = appUserClient.getUserIdsByPhone(dto.getPhone()).getData(); + dto.setUserIds(data); + } + if (dto.getSiteId()!=null){ + // 远程调用查询出符合条件的充电桩ids + List<TChargingPile> data = chargingPileClient.getChargingPileBySiteId(dto.getSiteId()).getData(); + dto.setChargingPileIds(data.stream().map(TChargingPile::getId).collect(Collectors.toList())); + } + return R.ok(tShoppingOrderService.activityStatistics(dto)); + } //订单详情 @PostMapping(value = "/detail") @@ -78,49 +114,45 @@ return R.ok(res); } /** - * 管理后台 根据t_app_coupon流水号查询现金优惠券的订单编号 + * 管理后台 根据t_app_coupon订单ids查询优惠券的订单编号 * @param goodsIds 订单号-商品类型 * @return */ - @PostMapping("/getCodeBySerialNumber") - public R<List<String>> getCodeBySerialNumber(String goodsIds){ + @PostMapping("/getCodeByOrderId") + public R<List<String>> getCodeByOrderId(String goodsIds){ String[] split = goodsIds.split("-"); List<String> strings = new ArrayList<>(); for (String s : split) { - TShoppingOrder one = tShoppingOrderService.getOne(new QueryWrapper<TShoppingOrder>() - .eq("order_type", 2) - .eq("serial_number", s)); - if (one != null){ - strings.add(one.getCode()); + if (s.contains("-")){ + // 带有负号的是积分兑换的订单 + TExchangeOrder one = exchangeOrderService.getOne(new QueryWrapper<TExchangeOrder>() + .eq("order_type", 2) + .eq("id", s.replace("-",""))); + if (one != null){ + strings.add(one.getCode()); + }else{ + strings.add(""); + } }else{ - strings.add(""); + TShoppingOrder one = tShoppingOrderService.getOne(new QueryWrapper<TShoppingOrder>() + .eq("order_type", 2) + .eq("id", s)); + if (one != null){ + strings.add(one.getCode()); + }else{ + strings.add(""); + } } + } return R.ok(strings); } /** - * 管理后台 根据t_app_coupon流水号查询积分兑换优惠券的订单编号 + * 管理后台 根据t_app_coupon订单ids查询积分兑换优惠券的订单编号 * @param goodsIds 订单号-商品类型 * @return */ - @PostMapping("/getCodeBySerialNumberIntegral") - public R<List<String>> getCodeBySerialNumberIntegral(String goodsIds){ - String[] split = goodsIds.split("-"); - List<String> strings = new ArrayList<>(); - for (String s : split) { - TExchangeOrder one = exchangeOrderService.getOne(new QueryWrapper<TExchangeOrder - >() - .eq("order_type", 2) - .eq("serial_number", s)); - if (one != null){ - strings.add(one.getCode()); - }else{ - strings.add(""); - } - } - return R.ok(strings); - } } 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 9b8a2d1..ec89086 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 @@ -1,9 +1,23 @@ package com.ruoyi.order.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.order.api.query.TOrderEvaluateQuery; +import com.ruoyi.order.api.vo.TOrderEvaluateVO; +import com.ruoyi.order.service.TOrderEvaluateService; +import com.ruoyi.other.api.feignClient.TEvaluationTagClient; +import com.ruoyi.other.api.vo.TEvaluationTagVO; import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; + +import java.util.List; /** * <p> @@ -18,5 +32,21 @@ @RequestMapping("/t-order-evaluate") public class TOrderEvaluateController { + @Autowired + private TOrderEvaluateService orderEvaluateService; + + + @ApiOperation(tags = {"小程序-订单评价"},value = "充电订单评价标签及数量查询") + @PostMapping(value = "/getTagCount") + public AjaxResult<List<TEvaluationTagVO>> getTagCount() { + return AjaxResult.ok(orderEvaluateService.getTagCount()); + } + + @ApiOperation(tags = {"小程序-订单评价"},value = "充电订单评价分页列表查询") + @PostMapping(value = "/pageList") + public AjaxResult<PageInfo<TOrderEvaluateVO>> pageList(@RequestBody TOrderEvaluateQuery query) { + return AjaxResult.ok(orderEvaluateService.getTagList(query)); + } + } diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TGrantVipMapper.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TGrantVipMapper.java new file mode 100644 index 0000000..0a0dc22 --- /dev/null +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TGrantVipMapper.java @@ -0,0 +1,19 @@ +package com.ruoyi.order.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.order.api.model.TGrantVip; +import com.ruoyi.order.api.model.TVipOrder; +import org.apache.ibatis.annotations.Mapper; + +/** + * <p> + * Mapper 接口 + * </p> + * + * @author xiaochen + * @since 2024-08-07 + */ +@Mapper +public interface TGrantVipMapper extends BaseMapper<TGrantVip> { + +} diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TOrderEvaluateMapper.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TOrderEvaluateMapper.java index 8cb9c1b..b2566d5 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TOrderEvaluateMapper.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TOrderEvaluateMapper.java @@ -1,8 +1,16 @@ package com.ruoyi.order.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.common.core.web.page.PageInfo; import com.ruoyi.order.api.model.TOrderEvaluate; +import com.ruoyi.order.api.query.TOrderEvaluateQuery; +import com.ruoyi.order.api.vo.TOrderEvaluateVO; +import com.ruoyi.other.api.vo.TEvaluationTagVO; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; +import java.util.Map; /** * <p> @@ -15,4 +23,11 @@ @Mapper public interface TOrderEvaluateMapper extends BaseMapper<TOrderEvaluate> { + /** + * 订单评价分页列表查询 + * @param query + * @param pageInfo + * @return + */ + List<TOrderEvaluateVO> pageList(@Param("query") TOrderEvaluateQuery query,@Param("pageInfo")PageInfo<TOrderEvaluateVO> pageInfo); } diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TOrderEvaluateTagMapper.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TOrderEvaluateTagMapper.java index 2d365fc..80d3c73 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TOrderEvaluateTagMapper.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TOrderEvaluateTagMapper.java @@ -2,7 +2,11 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.order.api.model.TOrderEvaluateTag; +import com.ruoyi.other.api.vo.TEvaluationTagVO; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * <p> @@ -15,4 +19,10 @@ @Mapper public interface TOrderEvaluateTagMapper extends BaseMapper<TOrderEvaluateTag> { + /** + * 获取标签评价数量 + * @param tagIds + * @return + */ + List<TEvaluationTagVO> getCountByTagIds(@Param("tagIds") List<Integer> tagIds); } diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TShoppingOrderMapper.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TShoppingOrderMapper.java index db3f417..da4a11c 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TShoppingOrderMapper.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TShoppingOrderMapper.java @@ -1,8 +1,14 @@ package com.ruoyi.order.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.common.core.web.page.PageInfo; import com.ruoyi.order.api.model.TShoppingOrder; +import com.ruoyi.order.api.query.TActivityStatisticsQuery; +import com.ruoyi.order.api.vo.TActivityStatisticslVO; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * <p> @@ -15,4 +21,5 @@ @Mapper public interface TShoppingOrderMapper extends BaseMapper<TShoppingOrder> { + List<TActivityStatisticslVO> activityStatistics(@Param("pageInfo") PageInfo<TActivityStatisticslVO> pageInfo, @Param("req")TActivityStatisticsQuery dto); } diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TGrantVipService.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TGrantVipService.java new file mode 100644 index 0000000..6b0be52 --- /dev/null +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TGrantVipService.java @@ -0,0 +1,17 @@ +package com.ruoyi.order.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.order.api.model.TGrantVip; +import com.ruoyi.order.api.model.TVipOrder; + +/** + * <p> + * 服务类 + * </p> + * + * @author xiaochen + * @since 2024-08-07 + */ +public interface TGrantVipService extends IService<TGrantVip> { + +} 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 0acd943..cd76d7d 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,7 +1,13 @@ package com.ruoyi.order.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.common.core.web.page.PageInfo; import com.ruoyi.order.api.model.TOrderEvaluate; +import com.ruoyi.order.api.query.TOrderEvaluateQuery; +import com.ruoyi.order.api.vo.TOrderEvaluateVO; +import com.ruoyi.other.api.vo.TEvaluationTagVO; + +import java.util.List; /** * <p> @@ -13,4 +19,16 @@ */ public interface TOrderEvaluateService extends IService<TOrderEvaluate> { + /** + * 获取评价标签 + * @return + */ + List<TEvaluationTagVO> getTagCount(); + + /** + * 充电订单评价分页列表查询 + * @param query + * @return + */ + PageInfo<TOrderEvaluateVO> getTagList(TOrderEvaluateQuery query); } diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TShoppingOrderService.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TShoppingOrderService.java index 2487ffd..da59889 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TShoppingOrderService.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TShoppingOrderService.java @@ -1,7 +1,11 @@ package com.ruoyi.order.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.common.core.web.page.PageInfo; 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; /** * <p> @@ -13,4 +17,5 @@ */ public interface TShoppingOrderService extends IService<TShoppingOrder> { + TActivityVO activityStatistics(TActivityStatisticsQuery dto); } diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TGrantVipServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TGrantVipServiceImpl.java new file mode 100644 index 0000000..a86c6ee --- /dev/null +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TGrantVipServiceImpl.java @@ -0,0 +1,23 @@ +package com.ruoyi.order.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.order.api.model.TGrantVip; +import com.ruoyi.order.api.model.TVipOrder; +import com.ruoyi.order.mapper.TGrantVipMapper; +import com.ruoyi.order.mapper.TVipOrderMapper; +import com.ruoyi.order.service.TGrantVipService; +import com.ruoyi.order.service.TVipOrderService; +import org.springframework.stereotype.Service; + +/** + * <p> + * 服务实现类 + * </p> + * + * @author xiaochen + * @since 2024-08-07 + */ +@Service +public class TGrantVipServiceImpl extends ServiceImpl<TGrantVipMapper, TGrantVip> implements TGrantVipService { + +} 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 c636186..b1b5ca5 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,10 +1,28 @@ package com.ruoyi.order.service.impl; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.chargingPile.api.vo.TAccountingStrategyVO; +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.order.api.model.TOrderEvaluate; +import com.ruoyi.order.api.query.TOrderEvaluateQuery; +import com.ruoyi.order.api.vo.TOrderEvaluateVO; +import com.ruoyi.order.mapper.TChargingOrderMapper; import com.ruoyi.order.mapper.TOrderEvaluateMapper; +import com.ruoyi.order.mapper.TOrderEvaluateTagMapper; import com.ruoyi.order.service.TOrderEvaluateService; +import com.ruoyi.other.api.feignClient.TEvaluationTagClient; +import com.ruoyi.other.api.vo.TEvaluationTagVO; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; + +import java.util.Comparator; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; /** * <p> @@ -17,4 +35,70 @@ @Service public class TOrderEvaluateServiceImpl extends ServiceImpl<TOrderEvaluateMapper, TOrderEvaluate> implements TOrderEvaluateService { + @Autowired + private TEvaluationTagClient evaluationTagClient; + @Autowired + private TOrderEvaluateTagMapper orderEvaluateTagMapper; + @Autowired + private TChargingOrderMapper chargingOrderMapper; + @Override + public List<TEvaluationTagVO> getTagCount() { + // 查询标签列表 + R<List<TEvaluationTagVO>> r = evaluationTagClient.getTagList(); + List<TEvaluationTagVO> tagList = r.getData(); + List<Integer> tagIds = tagList.stream().map(TEvaluationTagVO::getId).collect(Collectors.toList()); + // 统计标签使用数量 + List<TEvaluationTagVO> counts = orderEvaluateTagMapper.getCountByTagIds(tagIds); + tagList.forEach(tag -> { + counts.forEach(count -> { + if (tag.getId().equals(count.getId())) { + tag.setTagCount(count.getTagCount()); + } + }); + }); + tagList = tagList.stream().sorted(Comparator.comparing(TEvaluationTagVO::getTagCount).reversed()).collect(Collectors.toList()); + // 统计有图,好评,中差评数量 + long imgUrlCount = this.count(Wrappers.lambdaQuery(TOrderEvaluate.class) + .isNotNull(TOrderEvaluate::getImgUrl)); + packageTagCount(imgUrlCount,"有图",tagList); + long goodCount = this.count(Wrappers.lambdaQuery(TOrderEvaluate.class) + .ge(TOrderEvaluate::getMark,4)); + packageTagCount(goodCount,"好评",tagList); + long badCount = this.count(Wrappers.lambdaQuery(TOrderEvaluate.class) + .le(TOrderEvaluate::getMark,3)); + packageTagCount(badCount,"中差评",tagList); + return tagList; + } + + @Override + public PageInfo<TOrderEvaluateVO> getTagList(TOrderEvaluateQuery query) { + PageInfo<TOrderEvaluateVO> pageInfo = new PageInfo<>(query.getPageCurr(),query.getPageSize()); + // 查询站点下的所有订单 + List<TChargingOrder> tChargingOrders = chargingOrderMapper.selectList(Wrappers.lambdaQuery(TChargingOrder.class) + .eq(TChargingOrder::getSiteId, query.getSiteId())); + if(CollectionUtils.isEmpty(tChargingOrders)){ + return new PageInfo<>(); + } + List<Long> orderIds = tChargingOrders.stream().map(TChargingOrder::getId).collect(Collectors.toList()); + query.setOrderIds(orderIds); + List<TOrderEvaluateVO> list = this.baseMapper.pageList(query,pageInfo); + pageInfo.setRecords(list); + return pageInfo; + } + + /** + * 统计有图,好评,中差评数量 + * @param count + * @param name + * @param tagList + */ + private void packageTagCount(Long count,String name,List<TEvaluationTagVO> tagList){ + if(count>0){ + TEvaluationTagVO evaluationTagVO = new TEvaluationTagVO(); + evaluationTagVO.setName(name); + evaluationTagVO.setTagCount(Integer.parseInt(String.valueOf(count))); + tagList.add(evaluationTagVO); + } + } + } diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java index b30e82f..ab1b1d6 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java @@ -1,10 +1,18 @@ package com.ruoyi.order.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.common.core.web.page.PageInfo; 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.mapper.TShoppingOrderMapper; import com.ruoyi.order.service.TShoppingOrderService; import org.springframework.stereotype.Service; + +import java.math.BigDecimal; +import java.text.SimpleDateFormat; +import java.util.List; /** * <p> @@ -17,4 +25,100 @@ @Service public class TShoppingOrderServiceImpl extends ServiceImpl<TShoppingOrderMapper, TShoppingOrder> implements TShoppingOrderService { + @Override + public TActivityVO activityStatistics(TActivityStatisticsQuery dto) { + TActivityVO res = new TActivityVO(); + + + + PageInfo<TActivityStatisticslVO> pageInfo = new PageInfo<>(dto.getPageCurr(),dto.getPageSize()); + List<TActivityStatisticslVO> list = this.baseMapper.activityStatistics(pageInfo,dto); + list.sort((o1, o2) -> o2.getCreateTime().compareTo(o1.getCreateTime())); + // 优惠券金额 + BigDecimal coupon = new BigDecimal("0"); + // 会员抵扣金额 + BigDecimal discount = new BigDecimal("0"); + // 会员活动金额 + BigDecimal vipActivity = new BigDecimal("0"); + // 赠送会员 + BigDecimal grantVip = new BigDecimal("0"); + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + + for (TActivityStatisticslVO tActivityStatisticslVO : list) { + // 判断享有了哪些类型 + switch (tActivityStatisticslVO.getOrderType()){ + case 1: + StringBuilder stringBuilder = new StringBuilder(); + + // 充电订单 优惠券金额大于0 + if (tActivityStatisticslVO.getCouponDiscountAmount()!=null + && + (tActivityStatisticslVO.getCouponDiscountAmount().compareTo(BigDecimal.ZERO)>0)){ + coupon = coupon.add(tActivityStatisticslVO.getCouponDiscountAmount()); + stringBuilder.append("优惠券抵扣").append("+"); + } + if (tActivityStatisticslVO.getVipDiscountAmount()!=null + && + (tActivityStatisticslVO.getCouponDiscountAmount().compareTo(BigDecimal.ZERO)>0)){ + discount = discount.add(tActivityStatisticslVO.getVipDiscountAmount()); + stringBuilder.append("会员抵扣").append("+"); + } + stringBuilder.deleteCharAt(stringBuilder.length()-1); + tActivityStatisticslVO.setType(stringBuilder.toString()); + tActivityStatisticslVO.setTime(simpleDateFormat.format(tActivityStatisticslVO.getCreateTime())); + break; + case 2: + StringBuilder stringBuilder1 = new StringBuilder(); + + // 购物订单 优惠券金额大于0 + if (tActivityStatisticslVO.getCouponDiscountAmount()!=null + && + (tActivityStatisticslVO.getCouponDiscountAmount().compareTo(BigDecimal.ZERO)>0)){ + coupon = coupon.add(tActivityStatisticslVO.getCouponDiscountAmount()); + stringBuilder1.append("优惠券抵扣").append("+"); + } + if (tActivityStatisticslVO.getVipDiscountAmount()!=null + && + (tActivityStatisticslVO.getVipDiscountAmount().compareTo(BigDecimal.ZERO)>0)){ + discount = discount.add(tActivityStatisticslVO.getVipDiscountAmount()); + stringBuilder1.append("会员抵扣").append("+"); + } + stringBuilder1.deleteCharAt(stringBuilder1.length()-1); + tActivityStatisticslVO.setType(stringBuilder1.toString()); + tActivityStatisticslVO.setTime(simpleDateFormat.format(tActivityStatisticslVO.getCreateTime())); + break; + case 3: + // 会员订单 优惠金额大于0 + if (tActivityStatisticslVO.getVipDiscountAmount()!=null + && + (tActivityStatisticslVO.getCouponDiscountAmount().compareTo(BigDecimal.ZERO)>0)){ + vipActivity = vipActivity.add(tActivityStatisticslVO.getVipDiscountAmount()); + } + tActivityStatisticslVO.setType("会员活动"); + tActivityStatisticslVO.setTime(simpleDateFormat.format(tActivityStatisticslVO.getCreateTime())); + break; + case 4: + // 赠送会员订单 如果支付金额为0 那么就是后台赠送的会员 + if (tActivityStatisticslVO.getPaymentAmount().compareTo(BigDecimal.ZERO)==0){ + grantVip = grantVip.add(tActivityStatisticslVO.getOrderAmount()); + tActivityStatisticslVO.setType("赠送会员"); + tActivityStatisticslVO.setTime(simpleDateFormat.format(tActivityStatisticslVO.getCreateTime())); + }else{ + // 赠送 + grantVip = grantVip.add(tActivityStatisticslVO.getVipDiscountAmount()); + tActivityStatisticslVO.setType("赠送会员"); + tActivityStatisticslVO.setTime(simpleDateFormat.format(tActivityStatisticslVO.getCreateTime())); + } + break; + } + } + pageInfo.setRecords(list); + res.setList(pageInfo); + res.setTotal(coupon.add(discount).add(vipActivity).add(grantVip)); + res.setCoupon(coupon); + res.setDiscount(discount); + res.setVipActivity(vipActivity); + res.setGrantVip(grantVip); + return res; + } } 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 5d95538..210207a 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 @@ -10,6 +10,7 @@ <result column="order_classification" property="orderClassification" /> <result column="app_user_id" property="appUserId" /> <result column="app_user_car_id" property="appUserCarId" /> + <result column="site_id" property="siteId" /> <result column="parking_lot_id" property="parkingLotId" /> <result column="charging_pile_id" property="chargingPileId" /> <result column="charging_gun_id" property="chargingGunId" /> @@ -37,7 +38,7 @@ <!-- 通用查询结果列 --> <sql id="Base_Column_List"> - id, code, order_type, order_classification, app_user_id, app_user_car_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 + 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> </mapper> diff --git a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TOrderEvaluateMapper.xml b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TOrderEvaluateMapper.xml index 8b88832..66e30e6 100644 --- a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TOrderEvaluateMapper.xml +++ b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TOrderEvaluateMapper.xml @@ -21,5 +21,62 @@ <sql id="Base_Column_List"> id, order_type, order_id, app_user_id, mark, content, img_url, evaluation_response, create_time, response_time, del_flag </sql> + <select id="pageList" resultType="com.ruoyi.order.api.vo.TOrderEvaluateVO"> + select id, order_type, order_id, app_user_id, mark, content, img_url, evaluation_response, + create_time, response_time, del_flag + from t_order_evaluate where id in + (select toe.id + from t_order_evaluate toe + left join t_order_evaluate_tag toet on toe.id = toet.order_evaluate_id + <where> + <if test="query.orderIds != null and query.orderIds.size()>0"> + and toe.order_id in + <foreach collection="query.orderIds" item="orderId" open="(" separator="," close=")"> + #{orderId} + </foreach> + </if> + <if test="query.tagType != null"> + <choose> + <when test="query.tagType == 2"> + AND toe.img_url IS NOT NULL + </when> + <when test="query.tagType == 3"> + AND toe.mark >= 4 + </when> + <when test="query.tagType == 4"> + AND toe.mark <= 3 + </when> + <when test="query.tagType == 5"> + AND toet.evaluation_tag_id = #{query.tagId} + </when> + </choose> + </if> + AND toe.del_flag = ${@com.ruoyi.common.core.enums.DelFlagEnum@NO.getCode()} + </where> + GROUP BY toe.id) + <if test="query.tagType != null"> + <choose> + <when test="query.tagType == 1"> + ORDER BY create_time DESC + </when> + <otherwise> + ORDER BY + CASE + WHEN img_url IS NOT NULL THEN 0 + ELSE 1 + END ASC, + create_time DESC; + </otherwise> + </choose> + </if> + <if test="query.tagType == null"> + ORDER BY + CASE + WHEN img_url IS NOT NULL THEN 0 + ELSE 1 + END ASC, + create_time DESC; + </if> + </select> </mapper> diff --git a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TOrderEvaluateTagMapper.xml b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TOrderEvaluateTagMapper.xml index d48e938..d1ee724 100644 --- a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TOrderEvaluateTagMapper.xml +++ b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TOrderEvaluateTagMapper.xml @@ -13,5 +13,17 @@ <sql id="Base_Column_List"> id, order_evaluate_id, evaluation_tag_id </sql> + <select id="getCountByTagIds" resultType="com.ruoyi.other.api.vo.TEvaluationTagVO"> + SELECT evaluation_tag_id,count(id) AS tagCount FROM t_order_evaluate_tag + <where> + <if test="tagIds != null and tagIds.size() > 0"> + AND evaluation_tag_id IN + <foreach collection="tagIds" item="tagId" open="(" separator="," close=")"> + #{tagId} + </foreach> + </if> + </where> + GROUP BY evaluation_tag_id + </select> </mapper> diff --git a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TShoppingOrderMapper.xml b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TShoppingOrderMapper.xml index 9a6103f..f5636c2 100644 --- a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TShoppingOrderMapper.xml +++ b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TShoppingOrderMapper.xml @@ -43,5 +43,166 @@ <sql id="Base_Column_List"> id, code, app_user_id, order_type, goods_id, coupon_id, purchase_quantity, app_user_address_id, order_amount, app_coupon_id, coupon_discount_amount, vip_discount, vip_discount_amount, payment_amount, payment_status, payment_type, serial_number, remark, status, express_company, express_number, consigner_id, consigner_time, receiving_time, cancellation_time, cancellation_id, refund_code, refund_amount, refund_status, refund_serial_number, refund_time, create_time, del_flag </sql> + <select id="activityStatistics" resultType="com.ruoyi.order.api.vo.TActivityStatisticslVO"> + <if test="req.orderType == null or req.orderType == 1"> + <if test="req.type == null or req.type == 1 or req.type == 2"> + select t1.code ,t1.order_amount as orderAmount, + t1.coupon_discount_amount as couponDiscountAmount, + t1.vip_discount_amount as vipDiscountAmount, + t1.payment_amount as paymentAmount, + t1.create_time as createTime, + 1 as orderType + from t_charging_order t1 + where 1 = 1 + <if test="null != req.code and req.code!=''"> + and t1.code LIKE CONCAT('%',#{req.code},'%') + </if> + <if test="req.type != null and req.type != '' and req.type == 1"> + and t1.coupon_discount_amount != null and t1.coupon_discount_amount != 0 + </if> + <if test="req.type != null and req.type != '' and req.type == 2"> + and t1.vip_discount_amount != null and t1.vip_discount_amount != 0 + </if> + <if test="null != req.userIds and req.userIds.size()>0" > + and t1.app_user_id in + <foreach collection="req.userIds" item="item" index="index" separator="," open="(" close=")"> + #{item} + </foreach> + </if> + <if test="null != req.chargingPileIds and req.chargingPileIds.size()>0" > + and t1.charging_pile_id in + <foreach collection="req.chargingPileIds" item="item" index="index" separator="," open="(" close=")"> + #{item} + </foreach> + </if> + <if test="req.endTime != null and req.endTime != '' and req.startTime != null and req.startTime != ''"> + AND (t1.create_time between CONCAT(#{req.startTime},':00') and CONCAT(#{req.endTime},':59')) + </if> + and t1.recharge_payment_status =2 + and t1.refund_status !=2 + </if> + </if> + <if test="req.orderType == null or req.orderType == 2"> + <if test="req.type == null or req.type == 1 or req.type == 2"> + union all + select t2.code ,t2.order_amount as orderAmount, + t2.coupon_discount_amount as couponDiscountAmount, + t2.vip_discount_amount as vipDiscountAmount, + t2.payment_amount as paymentAmount, + t2.create_time as createTime, + 2 as orderType + from t_shopping_order t2 + where 1 = 1 + <if test="null != req.code and req.code!=''"> + and t2.code LIKE CONCAT('%',#{req.code},'%') + </if> + <if test="req.type != null and req.type != '' and req.type == 1"> + and t2.coupon_discount_amount != null and t1.coupon_discount_amount != 0 + </if> + <if test="req.type != null and req.type != '' and req.type == 2"> + and t2.vip_discount_amount != null and t1.vip_discount_amount != 0 + </if> + <if test="req.type == null "> + and t2.vip_discount_amount != null and t1.vip_discount_amount != 0 and t2.coupon_discount_amount != null and t1.coupon_discount_amount != 0 + </if> + <if test="null != req.userIds and req.userIds.size()>0" > + and t2.app_user_id in + <foreach collection="req.userIds" item="item" index="index" separator="," open="(" close=")"> + #{item} + </foreach> + </if> + <if test="req.endTime != null and req.endTime != '' and req.startTime != null and req.startTime != ''"> + AND (t2.create_time between CONCAT(#{req.startTime},':00') and CONCAT(#{req.endTime},':59')) + </if> + and t2.refund_status !=2 + and t2.payment_status =2 + </if> + </if> + <if test="req.orderType == null or req.orderType == 3"> + <if test="req.type == null or req.type == 3"> + union all + select t3.code ,t3.order_amount as orderAmount, + 0 as couponDiscountAmount, + t3.discount_amount as vipDiscountAmount, + t3.payment_amount as paymentAmount, + t3.create_time as createTime, + 3 as orderType + from t_vip_order t3 + where 1 = 1 + and t3.type ==1 + <if test="null != req.code and req.code!=''"> + and t3.code LIKE CONCAT('%',#{req.code},'%') + </if> + <if test="req.type == null "> + and t3.discount_amount != null and t3.discount_amount != 0 + </if> + <if test="null != req.userIds and req.userIds.size()>0" > + and t3.app_user_id in + <foreach collection="req.userIds" item="item" index="index" separator="," open="(" close=")"> + #{item} + </foreach> + </if> + <if test="req.endTime != null and req.endTime != '' and req.startTime != null and req.startTime != ''"> + AND (t3.create_time between CONCAT(#{req.startTime},':00') and CONCAT(#{req.endTime},':59')) + </if> + and t3.payment_status =2 + </if> + </if> + <if test="req.orderType == null or req.orderType == 4"> + <if test="req.type == null or req.type == 4"> + union all + select t4.code ,t4.order_amount as orderAmount, + 0 as couponDiscountAmount, + t4.discount_amount as vipDiscountAmount, + t4.payment_amount as paymentAmount, + t4.create_time as createTime, + 4 as orderType + from t_vip_order t4 + where 1 = 1 + and t4.type =2 + <if test="null != req.code and req.code!=''"> + and t4.code LIKE CONCAT('%',#{req.code},'%') + </if> + <if test="req.type == null "> + and t4.discount_amount != null and t4.discount_amount != 0 + </if> + <if test="null != req.userIds and req.userIds.size()>0" > + and t4.app_user_id in + <foreach collection="req.userIds" item="item" index="index" separator="," open="(" close=")"> + #{item} + </foreach> + </if> + <if test="req.endTime != null and req.endTime != '' and req.startTime != null and req.startTime != ''"> + AND (t4.create_time between CONCAT(#{req.startTime},':00') and CONCAT(#{req.endTime},':59')) + </if> + and t4.payment_status =2 + </if> + </if> + <if test="req.orderType == null or req.orderType == 4"> + <if test="req.type == null or req.type == 4"> + union all + select t5.code ,t5.order_amount as orderAmount, + 0 as couponDiscountAmount, + 0 as vipDiscountAmount, + 0 as paymentAmount, + t5.create_time as createTime, + 4 as orderType + from t_grant_vip t5 + where 1 = 1 + <if test="null != req.code and req.code!=''"> + and t5.code LIKE CONCAT('%',#{req.code},'%') + </if> + <if test="null != req.userIds and req.userIds.size()>0" > + and t5.app_user_id in + <foreach collection="req.userIds" item="item" index="index" separator="," open="(" close=")"> + #{item} + </foreach> + </if> + <if test="req.endTime != null and req.endTime != '' and req.startTime != null and req.startTime != ''"> + AND (t5.create_time between CONCAT(#{req.startTime},':00') and CONCAT(#{req.endTime},':59')) + </if> + </if> + </if> + </select> </mapper> diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TActivityStatisticsController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TActivityStatisticsController.java new file mode 100644 index 0000000..ee8b0b7 --- /dev/null +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TActivityStatisticsController.java @@ -0,0 +1,41 @@ +package com.ruoyi.other.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.account.api.model.TAppUser; +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.order.api.feignClient.OrderClient; +import com.ruoyi.order.api.query.TActivityStatisticsQuery; +import com.ruoyi.order.api.vo.TActivityStatisticslVO; +import com.ruoyi.order.api.vo.TActivityVO; +import com.ruoyi.other.api.domain.TActivity; +import com.ruoyi.other.api.domain.TCoupon; +import com.ruoyi.other.api.dto.AdvertisingDTO; +import com.ruoyi.other.query.CouponQuery; +import com.ruoyi.other.service.TActivityService; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +/** + * <p> + * 管理后台活动费用统计 + * </p> + * + * @author 无关风月 + * @since 2024-08-06 + */ +@RestController +@RequestMapping("/activity") +public class TActivityStatisticsController { + @Autowired + private OrderClient orderClient; + @ApiOperation(tags = {"管理后台-活动费用统计"},value = "管理后台活动费用统计") + @PostMapping(value = "/pageList") + public AjaxResult<TActivityVO> pageList(@RequestBody TActivityStatisticsQuery query) { + return AjaxResult.ok(orderClient.activityStatistics(query).getData()); + } +} + 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 7462917..61ac718 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 @@ -1,6 +1,7 @@ package com.ruoyi.other.controller; +import com.ruoyi.account.api.dto.GrantCouponDto; import com.ruoyi.account.api.feignClient.AppCouponClient; import com.ruoyi.account.api.query.ExchangeRecordGoodsQuery; import com.ruoyi.account.api.vo.ExchangeRecordVO; @@ -13,9 +14,17 @@ import com.ruoyi.other.service.TActivityService; import com.ruoyi.other.service.TCouponService; import com.ruoyi.other.service.TGoodsService; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; + +import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.util.List; +import java.util.Objects; /** * <p> @@ -64,8 +73,37 @@ @PostMapping("/exchangeRecord") @ApiOperation(tags = {"管理后台-优惠券管理"},value = "优惠券查看详情-兑换记录") public AjaxResult<PageInfo<ExchangeRecordVO>> exchangeRecord(@RequestBody ExchangeRecordGoodsQuery dto) { - - return AjaxResult.ok(null); + PageInfo<ExchangeRecordVO> data = appCouponClient.getExchangeRecordByCouponId(dto).getData(); + List<ExchangeRecordVO> records = data.getRecords(); + for (ExchangeRecordVO record : records) { + TCoupon byId = tCouponService.getById(record.getCouponId()); + if (byId!=null){ + record.setDiscountAmount("¥"+byId.getDiscountAmount()); + if (Objects.equals(byId.getMeetTheConditions(), BigDecimal.ZERO)){ + record.setMeetTheConditions("无门槛"); + }else{ + record.setMeetTheConditions("满"+byId.getMeetTheConditions()+"元可用"); + } + } + } + return AjaxResult.ok(data); + } + @ApiOperation(tags = {"管理后台-优惠券管理"},value = "发放优惠券") + @GetMapping(value = "/pageList") + public AjaxResult pageList(@RequestBody GrantCouponDto dto) { + TCoupon byId = tCouponService.getById(dto.getCouponId()); + Integer waysToObtain = byId.getWaysToObtain(); + dto.setWaysToObtain(waysToObtain); + switch (byId.getValidityPeriodMode()){ + case 1: + dto.setEndTime(byId.getEndTime()); + break; + case 2: + dto.setEndTime(LocalDateTime.now().plusDays(byId.getDays())); + break; + } + // 远程送优惠券 + return AjaxResult.success(); } @ApiOperation(tags = {"管理后台-优惠券管理"},value = "优惠券列表分页查询") @PostMapping(value = "/pageList") 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 1193555..261869b 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,9 +1,18 @@ package com.ruoyi.other.controller; +import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.core.web.domain.AjaxResult; +import com.ruoyi.other.api.domain.TEvaluationTag; +import com.ruoyi.other.api.vo.TEvaluationTagVO; +import com.ruoyi.other.service.TEvaluationTagService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; + +import java.util.List; /** * <p> @@ -17,5 +26,17 @@ @RequestMapping("/t-evaluation-tag") public class TEvaluationTagController { + private final TEvaluationTagService evaluationTagService; + + @Autowired + public TEvaluationTagController(TEvaluationTagService evaluationTagService) { + this.evaluationTagService = evaluationTagService; + } + + @PostMapping("/getTagList") + public R<List<TEvaluationTagVO>> getTagList() { + return R.ok(evaluationTagService.getTagList()); + } + } diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TSystemConfigurationController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TSystemConfigurationController.java index cc3de1a..a78e805 100644 --- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TSystemConfigurationController.java +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TSystemConfigurationController.java @@ -6,6 +6,7 @@ import com.ruoyi.other.api.domain.TSystemConfiguration; import com.ruoyi.other.service.TSystemConfigurationService; import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; @@ -37,7 +38,7 @@ */ @ApiOperation(tags = {"小程序-系统设置"},value = "联系客服") @GetMapping(value = "/getDetailById") - public AjaxResult<TSystemConfiguration> getDetailById(@RequestParam(name = "type",value = "1=客服信息,2=系统设置") Integer type) { + public AjaxResult<TSystemConfiguration> getDetailById(@RequestParam(name = "type")@ApiParam(value = "1=客服信息,2=系统设置") Integer type) { return AjaxResult.ok(systemConfigurationService.getOne(Wrappers.lambdaQuery(TSystemConfiguration.class) .eq(TSystemConfiguration::getType, type))); } diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/mapper/TEvaluationTagMapper.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/mapper/TEvaluationTagMapper.java index 986b666..64e26b7 100644 --- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/mapper/TEvaluationTagMapper.java +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/mapper/TEvaluationTagMapper.java @@ -2,6 +2,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.other.api.domain.TEvaluationTag; +import com.ruoyi.other.api.vo.TEvaluationTagVO; + +import java.util.List; /** * <p> @@ -13,4 +16,10 @@ */ public interface TEvaluationTagMapper extends BaseMapper<TEvaluationTag> { + /** + * 获取评价标签列表 + * @return + */ + List<TEvaluationTagVO> getTagList(); + } diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/TEvaluationTagService.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/TEvaluationTagService.java index 074149f..5a58a01 100644 --- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/TEvaluationTagService.java +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/TEvaluationTagService.java @@ -2,6 +2,9 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.other.api.domain.TEvaluationTag; +import com.ruoyi.other.api.vo.TEvaluationTagVO; + +import java.util.List; /** * <p> @@ -13,4 +16,9 @@ */ public interface TEvaluationTagService extends IService<TEvaluationTag> { + /** + * 查询标签列表 + * @return + */ + List<TEvaluationTagVO> getTagList(); } diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TEvaluationTagServiceImpl.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TEvaluationTagServiceImpl.java index 459f90b..6b03b9b 100644 --- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TEvaluationTagServiceImpl.java +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TEvaluationTagServiceImpl.java @@ -1,10 +1,13 @@ package com.ruoyi.other.service.impl; import com.ruoyi.other.api.domain.TEvaluationTag; +import com.ruoyi.other.api.vo.TEvaluationTagVO; import com.ruoyi.other.mapper.TEvaluationTagMapper; import com.ruoyi.other.service.TEvaluationTagService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; + +import java.util.List; /** * <p> @@ -17,4 +20,8 @@ @Service public class TEvaluationTagServiceImpl extends ServiceImpl<TEvaluationTagMapper, TEvaluationTag> implements TEvaluationTagService { + @Override + public List<TEvaluationTagVO> getTagCount() { + return this.baseMapper.getTagList(); + } } diff --git a/ruoyi-service/ruoyi-other/src/main/resources/mapper/TEvaluationTagMapper.xml b/ruoyi-service/ruoyi-other/src/main/resources/mapper/TEvaluationTagMapper.xml index c39aee9..96c8e5f 100644 --- a/ruoyi-service/ruoyi-other/src/main/resources/mapper/TEvaluationTagMapper.xml +++ b/ruoyi-service/ruoyi-other/src/main/resources/mapper/TEvaluationTagMapper.xml @@ -5,15 +5,19 @@ <!-- 通用查询映射结果 --> <resultMap id="BaseResultMap" type="com.ruoyi.other.api.domain.TEvaluationTag"> <id column="id" property="id" /> - <result column="name" property="name" /> - <result column="type" property="type" /> + <result column="`name`" property="name" /> + <result column="`type`" property="type" /> <result column="create_time" property="createTime" /> <result column="del_flag" property="delFlag" /> </resultMap> <!-- 通用查询结果列 --> <sql id="Base_Column_List"> - id, name, type, create_time, del_flag + id, `name`, `type`, create_time, del_flag </sql> + <select id="getTagList" resultType="com.ruoyi.other.api.vo.TEvaluationTagVO"> + select <include refid="Base_Column_List"></include> + from t_evaluation_tag where del_flag = ${@com.ruoyi.common.core.enums.DelFlagEnum@NO.getCode()} ORDER BY `type` + </select> </mapper> -- Gitblit v1.7.1