From e2e9e877dba6fdbf18f895f1ee0423c13787ba03 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期四, 08 八月 2024 17:03:16 +0800 Subject: [PATCH] 商品管理列表查询 --- ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppCouponFallbackFactory.java | 34 ++++ ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/ServiceNameConstants.java | 1 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/TCouponService.java | 4 ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/query/ExchangeRecordGoodsQuery.java | 17 ++ ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/TAppCouponService.java | 4 ruoyi-service/ruoyi-other/src/main/resources/mapper/TCouponMapper.xml | 19 ++ ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/OtherClient.java | 1 ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/OrderFallbackFactory.java | 14 + ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/SysUserFallbackFactory.java | 10 + ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/OtherFallbackFactory.java | 1 ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/TCoupon.java | 6 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/mapper/TAppCouponMapper.java | 6 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TAppCouponServiceImpl.java | 14 ++ ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TCouponServiceImpl.java | 29 ++++ ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/vo/ExchangeRecordVO.java | 25 +++ ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TExchangeOrderController.java | 9 - ruoyi-service/ruoyi-other/pom.xml | 6 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java | 58 ++++++++ ruoyi-api/ruoyi-api-account/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports | 3 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TCouponController.java | 61 ++++++++ ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/query/CouponQuery.java | 22 +++ ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/mapper/TCouponMapper.java | 8 + ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TGoodsServiceImpl.java | 1 ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppCouponClient.java | 32 ++++ 24 files changed, 369 insertions(+), 16 deletions(-) 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 new file mode 100644 index 0000000..46d130d --- /dev/null +++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppCouponFallbackFactory.java @@ -0,0 +1,34 @@ +package com.ruoyi.account.api.factory; + +import com.ruoyi.account.api.feignClient.AppCouponClient; +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; + +/** + * 门店服务降级处理 + * + * @author ruoyi + */ +@Component +public class AppCouponFallbackFactory implements FallbackFactory<AppCouponClient> +{ + private static final Logger log = LoggerFactory.getLogger(AppCouponFallbackFactory.class); + + @Override + public AppCouponClient create(Throwable throwable) { + log.error("用户优惠券记录调用失败:{}", throwable.getMessage()); + return new AppCouponClient() { + + @Override + public R<List<Integer>> getCountByCouponIds(String couponIds) { + return null; + } + }; + } +} 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 new file mode 100644 index 0000000..595543c --- /dev/null +++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppCouponClient.java @@ -0,0 +1,32 @@ +package com.ruoyi.account.api.feignClient; + +import com.ruoyi.account.api.factory.AppCouponFallbackFactory; +import com.ruoyi.account.api.factory.AppUserFallbackFactory; +import com.ruoyi.common.core.constant.ServiceNameConstants; +import com.ruoyi.common.core.domain.R; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; + +import java.util.List; + +/** + * 用户服务 + * @author ruoyi + */ +@FeignClient(contextId = "AppCouponClient", value = ServiceNameConstants.CONTRACT_ACCOUNT, fallbackFactory = AppCouponFallbackFactory.class) +public interface AppCouponClient { + + /** + * 管理后台远程调用 根据优惠券ids 查询对应的发放数量 + * @return 优惠券ids 查询每个优惠券的发放数量 + */ + @PostMapping("/t-app-coupon/getCountByCouponIds") + public R<List<Integer>> getCountByCouponIds(String couponIds); + /** + * 管理后台远程调用 根据优惠券id 查询对应的使用数量 + * @param couponId + * @return + */ + @PostMapping("/t-app-coupon/getUseCountByCouponId") + public R<Integer> getUseCountByCouponId(Integer couponId); +} diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/query/ExchangeRecordGoodsQuery.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/query/ExchangeRecordGoodsQuery.java new file mode 100644 index 0000000..573f3a5 --- /dev/null +++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/query/ExchangeRecordGoodsQuery.java @@ -0,0 +1,17 @@ +package com.ruoyi.account.api.query; + +import com.ruoyi.common.core.web.page.BasePage; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel("管理后台 优惠券兑换记录") +public class ExchangeRecordGoodsQuery extends BasePage { + @ApiModelProperty(value = "用户名称") + private String name; + @ApiModelProperty(value = "状态1未使用 2已使用 3已过期 4已取消") + private Integer state; + @ApiModelProperty(value = "优惠券id",required = true) + private Integer couponId; +} 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 new file mode 100644 index 0000000..9519eee --- /dev/null +++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/vo/ExchangeRecordVO.java @@ -0,0 +1,25 @@ +package com.ruoyi.account.api.vo; + +import com.ruoyi.common.core.web.page.BasePage; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel("管理后台 优惠券兑换记录列表返回VO") +public class ExchangeRecordVO { + @ApiModelProperty(value = "获得时间") + private String name; + @ApiModelProperty(value = "获得用户") + private String state; + @ApiModelProperty(value = "优惠金额") + private String discountAmount; + @ApiModelProperty(value = "使用门槛") + private String meetTheConditions; + @ApiModelProperty(value = "使用状态 1未使用 2已使用") + private Integer status; + @ApiModelProperty(value = "失效时间") + private String endTime; + @ApiModelProperty(value = "关联订单") + private String orderId; +} diff --git a/ruoyi-api/ruoyi-api-account/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/ruoyi-api/ruoyi-api-account/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports index 9e16de7..9743c88 100644 --- a/ruoyi-api/ruoyi-api-account/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ b/ruoyi-api/ruoyi-api-account/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -1 +1,2 @@ -com.ruoyi.account.api.factory.AppUserFallbackFactory \ No newline at end of file +com.ruoyi.account.api.factory.AppUserFallbackFactory +com.ruoyi.account.api.factory.AppCouponFallbackFactory \ No newline at end of file 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 165973b..0ad9005 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 @@ -1,10 +1,14 @@ package com.ruoyi.order.api.factory; +import com.ruoyi.common.core.domain.R; import com.ruoyi.order.api.feignClient.ChargingOrderClient; +import com.ruoyi.order.api.feignClient.OrderClient; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.cloud.openfeign.FallbackFactory; import org.springframework.stereotype.Component; + +import java.util.List; /** * 充电订单服务降级处理 @@ -12,16 +16,20 @@ * @author ruoyi */ @Component -public class OrderFallbackFactory implements FallbackFactory<ChargingOrderClient> +public class OrderFallbackFactory implements FallbackFactory<OrderClient> { private static final Logger log = LoggerFactory.getLogger(OrderFallbackFactory.class); @Override - public ChargingOrderClient create(Throwable cause) { + public OrderClient create(Throwable cause) { log.error("商品订单调用失败:{}", cause.getMessage()); - return new ChargingOrderClient() { + return new OrderClient() { + @Override + public R<List<Integer>> getSalesCountByGoodsId(String goodsIds) { + return null; + } }; } } diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/TCoupon.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/TCoupon.java index af872cc..cd229d3 100644 --- a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/TCoupon.java +++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/TCoupon.java @@ -106,6 +106,12 @@ @ApiModelProperty(value = "状态(1=上架,2=下架)") @TableField("status") private Integer status; + @ApiModelProperty(value = "发放数量") + @TableField(exist = false) + private Integer count; + @ApiModelProperty(value = "使用数量") + @TableField(exist = false) + private Integer useCount; diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/OtherFallbackFactory.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/OtherFallbackFactory.java index 2466d95..ec44e0c 100644 --- a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/OtherFallbackFactory.java +++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/OtherFallbackFactory.java @@ -6,7 +6,6 @@ import com.ruoyi.common.core.domain.R; import com.ruoyi.other.api.domain.TCompany; import com.ruoyi.other.api.domain.TUserTag; -import com.ruoyi.other.api.feignClient.GoodsClient; import com.ruoyi.other.api.feignClient.OtherClient; import org.slf4j.Logger; import org.slf4j.LoggerFactory; 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 4630bf6..023e984 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 @@ -7,7 +7,6 @@ import com.ruoyi.common.core.domain.R; import com.ruoyi.other.api.domain.TCompany; import com.ruoyi.other.api.domain.TUserTag; -import com.ruoyi.other.api.factory.GoodsFallbackFactory; import com.ruoyi.other.api.factory.OtherFallbackFactory; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/SysUserFallbackFactory.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/SysUserFallbackFactory.java index ba46eb4..49df453 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/SysUserFallbackFactory.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/SysUserFallbackFactory.java @@ -86,6 +86,11 @@ } @Override + public R<SysUser> queryUserByAccount(String account) { + return null; + } + + @Override public R<SysUser> queryUserByUserName(String userName) { return R.fail("通过账号查询用户失败:" + cause.getMessage()); } @@ -94,6 +99,11 @@ public R addSysUser(SysUser user) { return R.fail("添加用户失败:" + cause.getMessage()); } + + @Override + public R resetPassword(SysUser user) { + return null; + } }; } } 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 91ba605..b4a5e88 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 @@ -36,4 +36,5 @@ */ public static final String CONTRACT_SERVICE = "ruoyi-contract"; public static final String CONTRACT_ORDER = "ruoyi-order"; + public static final String CONTRACT_ACCOUNT = "ruoyi-account"; } 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 8197d08..ffc595e 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 @@ -1,8 +1,25 @@ package com.ruoyi.account.controller; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ruoyi.account.api.model.TAppCoupon; +import com.ruoyi.account.api.query.ExchangeRecordGoodsQuery; +import com.ruoyi.account.api.vo.ExchangeRecordVO; +import com.ruoyi.account.service.TAppCouponService; +import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.core.web.domain.AjaxResult; +import com.ruoyi.common.core.web.page.PageInfo; +import com.ruoyi.other.api.domain.TCoupon; +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.ArrayList; +import java.util.Arrays; +import java.util.List; /** * <p> @@ -15,6 +32,47 @@ @RestController @RequestMapping("/t-app-coupon") public class TAppCouponController { + @Autowired + private TAppCouponService tAppCouponService; + /** + * 管理后台远程调用 根据优惠券ids 查询对应的发放数量 + * @return 优惠券ids 查询每个优惠券的发放数量 + */ + @PostMapping("/getCountByCouponIds") + public R<List<Integer>> getCountByCouponIds(String couponIds) { + // 最终结果 和优惠券id一一对应 + List<Integer> res = new ArrayList<>(); + String[] split = couponIds.split(","); + // 查询每个优惠券的发放数量 + List<TAppCoupon> couponId = tAppCouponService.list(new QueryWrapper<TAppCoupon>() + .in("coupon_id", Arrays.asList(split))); + for (String s : split) { + res.add(tAppCouponService.list(new QueryWrapper<TAppCoupon>() + .eq("coupon_id", s)).size()); + } + return R.ok(res); + } + + /** + * 后台远程调用 根据优惠券id 查询使用数量 + * @param couponId + * @return + */ + @PostMapping("/getUseCountByCouponId") + public R<Integer> getUseCountByCouponId(Integer couponId){ + return R.ok(tAppCouponService.list(new QueryWrapper<TAppCoupon>() + .eq("coupon_id", couponId) + .eq("status",2)).size()); + } + /** + * 后台远程调用 根据优惠券id 查询领取记录 + * @param couponId + * @return + */ + @PostMapping("/getExchangeRecordByCouponId") + public R<PageInfo<ExchangeRecordVO>> getUseCountByCouponId(ExchangeRecordGoodsQuery couponId){ + return R.ok(tAppCouponService.pagelist(couponId)); + } } diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/mapper/TAppCouponMapper.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/mapper/TAppCouponMapper.java index 35d5a5a..e2d3e98 100644 --- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/mapper/TAppCouponMapper.java +++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/mapper/TAppCouponMapper.java @@ -2,6 +2,11 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.account.api.model.TAppCoupon; +import com.ruoyi.account.api.query.ExchangeRecordGoodsQuery; +import com.ruoyi.account.api.vo.ExchangeRecordVO; +import com.ruoyi.common.core.web.page.PageInfo; + +import java.util.List; /** * <p> @@ -13,4 +18,5 @@ */ public interface TAppCouponMapper extends BaseMapper<TAppCoupon> { + List<ExchangeRecordVO> pageList(PageInfo<ExchangeRecordVO> pageInfo, ExchangeRecordGoodsQuery dto); } diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/TAppCouponService.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/TAppCouponService.java index 650c5dc..88e6aa1 100644 --- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/TAppCouponService.java +++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/TAppCouponService.java @@ -2,6 +2,9 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.account.api.model.TAppCoupon; +import com.ruoyi.account.api.query.ExchangeRecordGoodsQuery; +import com.ruoyi.account.api.vo.ExchangeRecordVO; +import com.ruoyi.common.core.web.page.PageInfo; /** * <p> @@ -13,4 +16,5 @@ */ public interface TAppCouponService extends IService<TAppCoupon> { + PageInfo<ExchangeRecordVO> pagelist(ExchangeRecordGoodsQuery couponId); } 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 cb258ba..f626664 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 @@ -2,9 +2,16 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.account.api.model.TAppCoupon; +import com.ruoyi.account.api.query.ExchangeRecordGoodsQuery; +import com.ruoyi.account.api.vo.ExchangeRecordVO; import com.ruoyi.account.mapper.TAppCouponMapper; import com.ruoyi.account.service.TAppCouponService; +import com.ruoyi.common.core.web.page.PageInfo; +import com.ruoyi.other.api.domain.TCoupon; import org.springframework.stereotype.Service; +import org.springframework.util.StringUtils; + +import java.util.List; /** * <p> @@ -17,4 +24,11 @@ @Service public class TAppCouponServiceImpl extends ServiceImpl<TAppCouponMapper, TAppCoupon> implements TAppCouponService { + @Override + public PageInfo<ExchangeRecordVO> pagelist(ExchangeRecordGoodsQuery dto) { + PageInfo<ExchangeRecordVO> pageInfo = new PageInfo<>(dto.getPageCurr(),dto.getPageSize()); + List<ExchangeRecordVO> list = this.baseMapper.pageList(pageInfo,dto); + pageInfo.setRecords(list); + return pageInfo; + } } 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 446c350..1c24499 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 @@ -35,10 +35,10 @@ private TExchangeOrderService exchangeOrderService; /** * 管理后台 根据商品ids 查询对应的销量 - * @param goodsIds + * @param goodsIds 订单号-商品类型 * @return */ - @PostMapping("/t-exchange-order/getSalesCountByGoodsIds") + @PostMapping("/getSalesCountByGoodsIds") public R<List<Integer>> getSalesCountByGoodsId(String goodsIds){ String[] split = goodsIds.split("-"); // 取出最后一位字符 类型1查询现金购买 类型2查询积分兑换 @@ -47,13 +47,11 @@ switch (Integer.parseInt(s)){ case 1: for (int i = 0; i < split.length-1; i++) { - Integer reduce = tShoppingOrderService.list(new QueryWrapper<TShoppingOrder>() .eq("goods_id", split[i]) .eq("payment_status", 2) .ne("refund_status", 2)) .stream().map(TShoppingOrder::getPurchaseQuantity).reduce(0, Integer::sum); - res.add(reduce); } break; @@ -63,13 +61,10 @@ .eq("goods_id", split[i]) ) .stream().map(TExchangeOrder::getPurchaseQuantity).reduce(0, Integer::sum); - res.add(reduce); } break; } - - return R.ok(res); } } diff --git a/ruoyi-service/ruoyi-other/pom.xml b/ruoyi-service/ruoyi-other/pom.xml index 5804ec5..9d8bc09 100644 --- a/ruoyi-service/ruoyi-other/pom.xml +++ b/ruoyi-service/ruoyi-other/pom.xml @@ -23,6 +23,12 @@ </dependency> <dependency> <groupId>com.ruoyi</groupId> + <artifactId>ruoyi-api-account</artifactId> + <version>3.6.2</version> + <scope>compile</scope> + </dependency> + <dependency> + <groupId>com.ruoyi</groupId> <artifactId>ruoyi-api-other</artifactId> <version>3.6.2</version> <scope>compile</scope> 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 c3b447b..7462917 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,9 +1,21 @@ package com.ruoyi.other.controller; -import org.springframework.web.bind.annotation.RequestMapping; - -import org.springframework.web.bind.annotation.RestController; +import com.ruoyi.account.api.feignClient.AppCouponClient; +import com.ruoyi.account.api.query.ExchangeRecordGoodsQuery; +import com.ruoyi.account.api.vo.ExchangeRecordVO; +import com.ruoyi.common.core.web.domain.AjaxResult; +import com.ruoyi.common.core.web.page.PageInfo; +import com.ruoyi.other.api.domain.TCoupon; +import com.ruoyi.other.api.domain.TGoods; +import com.ruoyi.other.api.dto.GoodsDTO; +import com.ruoyi.other.query.CouponQuery; +import com.ruoyi.other.service.TActivityService; +import com.ruoyi.other.service.TCouponService; +import com.ruoyi.other.service.TGoodsService; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; /** * <p> @@ -16,6 +28,49 @@ @RestController @RequestMapping("/t-coupon") public class TCouponController { + @Autowired + private TCouponService tCouponService; + @Autowired + private AppCouponClient appCouponClient; + @PostMapping("/saveGoods") + @ApiOperation(tags = {"管理后台-优惠券管理"},value = "优惠券添加") + public AjaxResult saveActivity(@RequestBody TCoupon dto) { + tCouponService.save(dto); + return AjaxResult.success(); + } + @GetMapping("/delete") + @ApiOperation(tags = {"管理后台-优惠券管理"},value = "优惠券删除") + public AjaxResult delete(Integer id) { + tCouponService.removeById(id); + return AjaxResult.success(); + } + @PostMapping("/updateVip") + @ApiOperation(tags = {"管理后台-优惠券管理"},value = "优惠券修改") + public AjaxResult updateActivity(@RequestBody TCoupon dto) { + tCouponService.updateById(dto); + return AjaxResult.success(); + } + @GetMapping("/getInfo") + @ApiOperation(tags = {"管理后台-优惠券管理"},value = "优惠券查看详情") + public AjaxResult<TCoupon> getInfo(Integer id) { + TCoupon byId = tCouponService.getById(id); + // 查询累计发放数量 + byId.setCount(appCouponClient.getCountByCouponIds(String.valueOf(id)).getData().get(0)); + // 查询累计使用数量 + byId.setUseCount(appCouponClient.getUseCountByCouponId(id).getData()); + return AjaxResult.ok(byId); + } + @PostMapping("/exchangeRecord") + @ApiOperation(tags = {"管理后台-优惠券管理"},value = "优惠券查看详情-兑换记录") + public AjaxResult<PageInfo<ExchangeRecordVO>> exchangeRecord(@RequestBody ExchangeRecordGoodsQuery dto) { + + return AjaxResult.ok(null); + } + @ApiOperation(tags = {"管理后台-优惠券管理"},value = "优惠券列表分页查询") + @PostMapping(value = "/pageList") + public AjaxResult<PageInfo<TCoupon>> pageList(@RequestBody CouponQuery dto) { + return AjaxResult.ok(tCouponService.pageList(dto)); + } } diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/mapper/TCouponMapper.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/mapper/TCouponMapper.java index d2927d2..314216a 100644 --- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/mapper/TCouponMapper.java +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/mapper/TCouponMapper.java @@ -1,7 +1,14 @@ package com.ruoyi.other.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.common.core.web.page.PageInfo; import com.ruoyi.other.api.domain.TCoupon; +import com.ruoyi.other.api.domain.TGoods; +import com.ruoyi.other.api.dto.GoodsDTO; +import com.ruoyi.other.query.CouponQuery; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * <p> @@ -13,4 +20,5 @@ */ public interface TCouponMapper extends BaseMapper<TCoupon> { + List<TCoupon> pageList(@Param("pageInfo")PageInfo<TCoupon> pageInfo, @Param("req") CouponQuery dto); } diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/query/CouponQuery.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/query/CouponQuery.java new file mode 100644 index 0000000..e7e39e1 --- /dev/null +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/query/CouponQuery.java @@ -0,0 +1,22 @@ +package com.ruoyi.other.query; + +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 CouponQuery extends BasePage { + + @ApiModelProperty(value = "优惠券名称") + private String name; + @ApiModelProperty(value = "类型 1充电优惠券 2购物优惠券") + private Integer type; + @ApiModelProperty(value = "获得方式(1=积分兑换,2=现金购买)") + private Integer waysToObtain; + @ApiModelProperty(value = "启用状态 1启用 2禁用") + private Integer status; + + +} diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/TCouponService.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/TCouponService.java index cfe2ac7..525df99 100644 --- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/TCouponService.java +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/TCouponService.java @@ -1,7 +1,10 @@ package com.ruoyi.other.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.common.core.web.page.PageInfo; import com.ruoyi.other.api.domain.TCoupon; +import com.ruoyi.other.api.domain.TGoods; +import com.ruoyi.other.query.CouponQuery; /** * <p> @@ -13,4 +16,5 @@ */ public interface TCouponService extends IService<TCoupon> { + PageInfo<TCoupon> pageList(CouponQuery dto); } diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TCouponServiceImpl.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TCouponServiceImpl.java index eb7892a..fe34127 100644 --- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TCouponServiceImpl.java +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TCouponServiceImpl.java @@ -1,10 +1,18 @@ package com.ruoyi.other.service.impl; +import com.ruoyi.account.api.feignClient.AppCouponClient; +import com.ruoyi.common.core.web.page.PageInfo; import com.ruoyi.other.api.domain.TCoupon; +import com.ruoyi.other.api.domain.TGoods; import com.ruoyi.other.mapper.TCouponMapper; +import com.ruoyi.other.query.CouponQuery; import com.ruoyi.other.service.TCouponService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.util.StringUtils; + +import java.util.List; /** * <p> @@ -17,4 +25,25 @@ @Service public class TCouponServiceImpl extends ServiceImpl<TCouponMapper, TCoupon> implements TCouponService { + @Autowired + private AppCouponClient appCouponClient; + @Override + public PageInfo<TCoupon> pageList(CouponQuery dto) { + PageInfo<TCoupon> pageInfo = new PageInfo<>(dto.getPageCurr(),dto.getPageSize()); + List<TCoupon> list = this.baseMapper.pageList(pageInfo,dto); + StringBuilder couponIds = new StringBuilder(); + for (TCoupon tCoupon : list) { + couponIds.append(tCoupon.getId()).append(","); + } + if (StringUtils.hasLength(couponIds)){ + // 去除最后一个字符 + couponIds.deleteCharAt(couponIds.length()-1); + } + List<Integer> data = appCouponClient.getCountByCouponIds(couponIds.toString()).getData(); + for (int i = 0; i < list.size(); i++) { + list.get(i).setCount(data.get(i)); + } + pageInfo.setRecords(list); + return pageInfo; + } } diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TGoodsServiceImpl.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TGoodsServiceImpl.java index f74785a..f0de342 100644 --- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TGoodsServiceImpl.java +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TGoodsServiceImpl.java @@ -45,6 +45,7 @@ return pageInfo; } String string = stringBuilder.toString(); + // 订单号加上商品类型 String res = string+"-"+dto.getType(); List<Integer> data = orderClient.getSalesCountByGoodsId(res).getData(); diff --git a/ruoyi-service/ruoyi-other/src/main/resources/mapper/TCouponMapper.xml b/ruoyi-service/ruoyi-other/src/main/resources/mapper/TCouponMapper.xml index 762311f..517753e 100644 --- a/ruoyi-service/ruoyi-other/src/main/resources/mapper/TCouponMapper.xml +++ b/ruoyi-service/ruoyi-other/src/main/resources/mapper/TCouponMapper.xml @@ -32,5 +32,24 @@ <sql id="Base_Column_List"> id, type, name, preferential_mode, discount_amount, meet_the_conditions, discount, maximum_discount_amount, inventory_quantity, validity_period_mode, end_time, days, ways_to_obtain, redeem_points, exchange_limit, payment_amount, vip_payment_amount, explain, remark, status, create_time, del_flag </sql> + <select id="pageList" resultType="com.ruoyi.other.api.domain.TCoupon"> + select * from t_coupon + <where> + <if test="req.name != null and req.name != ''"> + AND `name` LIKE concat('%',#{req.name}, '%') + </if> + <if test="req.type != null"> + AND `type` = #{req.type} + </if> + <if test="req.status != null"> + AND status = #{req.status} + </if> + <if test="req.waysToObtain != null"> + AND ways_to_obtain = #{req.waysToObtain} + </if> + AND del_flag = ${@com.ruoyi.common.core.enums.DelFlagEnum@NO.getCode()} + </where> + ORDER BY create_time DESC + </select> </mapper> -- Gitblit v1.7.1