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