From fc5fcf753994834a72564944c117d5ec850f268c Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期一, 31 七月 2023 19:08:17 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 cloud-server-other/src/main/java/com/dsh/other/feignclient/SiteClient.java                                      |    3 
 cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java                 |    9 
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCouponExamineController.java |   50 ++++
 cloud-server-management/src/main/webapp/static/modular/system/tCouponExamine/TCouponExamine.js                  |  128 +++++++++++
 cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java                                   |    8 
 cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackageType.java                                 |    3 
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCouponController.java        |    1 
 cloud-server-account/src/main/java/com/dsh/account/model/vo/userBenefitDetail/ConsumeDetail.java                |    3 
 cloud-server-course/src/main/java/com/dsh/course/feignclient/CoursePaymentClient.java                           |    2 
 cloud-server-course/src/main/java/com/dsh/course/entity/TCourse.java                                            |    6 
 cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/CouponClient.java                     |    9 
 cloud-server-activity/src/main/java/com/dsh/activity/mapper/CouponMapper.java                                   |    8 
 cloud-server-course/src/main/java/com/dsh/course/feignclient/model/BillingDataRequestVo.java                    |   21 +
 cloud-server-management/src/main/webapp/WEB-INF/view/system/tCouponExamine/TCouponExamine.html                  |   64 +++++
 cloud-server-activity/src/main/resources/mapper/CouponMapper.xml                                                |   48 ++++
 cloud-server-account/src/main/java/com/dsh/account/controller/UseBenefitsController.java                        |    2 
 cloud-server-activity/src/main/java/com/dsh/activity/controller/CouponController.java                           |   51 ++++
 cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackagePayment.java                              |    3 
 cloud-server-activity/src/main/java/com/dsh/activity/service/ICouponService.java                                |    3 
 cloud-server-activity/src/main/java/com/dsh/activity/service/impl/CouponServiceImpl.java                        |    6 
 cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackageDiscount.java                             |    3 
 cloud-server-account/src/main/java/com/dsh/account/feignclient/course/CoursePaymentClient.java                  |    3 
 cloud-server-account/src/main/java/com/dsh/account/feignclient/other/SiteClient.java                            |    3 
 cloud-server-management/src/main/webapp/WEB-INF/view/system/tCoupon/TCouponAdd.html                             |    2 
 cloud-server-other/src/main/java/com/dsh/other/feignclient/model/BillingDataRequestVo.java                      |   21 +
 cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackage.java                                     |    4 
 cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java                        |   27 ++
 cloud-server-competition/src/main/java/com/dsh/competition/feignclient/DeductionCompetitionsClient.java         |    5 
 cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/model/CouponExamineListSearch.java    |   34 +++
 cloud-server-account/src/main/java/com/dsh/account/feignclient/competition/model/BillingDataRequestVo.java      |   21 +
 cloud-server-activity/src/main/java/com/dsh/activity/feignclient/model/CouponExamineListSearch.java             |   34 +++
 cloud-server-competition/src/main/java/com/dsh/competition/feignclient/model/BillingDataRequestVo.java          |   21 +
 cloud-server-account/src/main/java/com/dsh/account/feignclient/competition/DeductionCompetitionsClient.java     |    5 
 cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java                |   19 
 34 files changed, 589 insertions(+), 41 deletions(-)

diff --git a/cloud-server-account/src/main/java/com/dsh/account/controller/UseBenefitsController.java b/cloud-server-account/src/main/java/com/dsh/account/controller/UseBenefitsController.java
index 16f1915..d5b0986 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/controller/UseBenefitsController.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/controller/UseBenefitsController.java
@@ -177,7 +177,7 @@
     @ApiImplicitParams({
             @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."),
             @ApiImplicitParam(value = "年月", name = "yearMonth", required = true, dataType = "string"),
-            @ApiImplicitParam(value = "记录(1充值 2扣除)", name = "recordId", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "记录(1充值 2扣除)", name = "recordId", required = false, dataType = "int"),
     })
     public ResultUtil<List<ConsumeDetail>> getUserBillingDetails(String yearMonth,Integer recordId){
         try {
diff --git a/cloud-server-account/src/main/java/com/dsh/account/feignclient/competition/DeductionCompetitionsClient.java b/cloud-server-account/src/main/java/com/dsh/account/feignclient/competition/DeductionCompetitionsClient.java
index fc6962a..d9c28e7 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/feignclient/competition/DeductionCompetitionsClient.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/feignclient/competition/DeductionCompetitionsClient.java
@@ -1,6 +1,7 @@
 package com.dsh.account.feignclient.competition;
 
 
+import com.dsh.account.feignclient.competition.model.BillingDataRequestVo;
 import com.dsh.account.feignclient.competition.model.GetStuSourseList;
 import com.dsh.account.feignclient.competition.model.PaymentCompetition;
 import com.dsh.account.feignclient.competition.model.PurchaseRecordVo;
@@ -16,10 +17,10 @@
     List<PurchaseRecordVo> getStuSourseList(@RequestBody GetStuSourseList getStuSourseList);
 
     @PostMapping("/base/competition/getPayedCompetitions")
-    List<PaymentCompetition> getAllCompetitionPayRecord(@RequestBody Integer appUserId);
+    List<PaymentCompetition> getAllCompetitionPayRecord(@RequestBody BillingDataRequestVo requestVo);
 
     @PostMapping("/base/competition/getCancelOrderOfUserPay")
-    public List<PaymentCompetition> getCancelOrderOfUserPayRecord(@RequestBody Integer appUserId);
+    public List<PaymentCompetition> getCancelOrderOfUserPayRecord(@RequestBody BillingDataRequestVo appUserId);
 
     @PostMapping("/base/competition/getPlayPaiFGoldPayRecord")
     List<PaymentCompetition> getPlayPaiFGoldPayRecord(@RequestBody Integer appUserId);
diff --git a/cloud-server-account/src/main/java/com/dsh/account/feignclient/competition/model/BillingDataRequestVo.java b/cloud-server-account/src/main/java/com/dsh/account/feignclient/competition/model/BillingDataRequestVo.java
new file mode 100644
index 0000000..f63861f
--- /dev/null
+++ b/cloud-server-account/src/main/java/com/dsh/account/feignclient/competition/model/BillingDataRequestVo.java
@@ -0,0 +1,21 @@
+package com.dsh.account.feignclient.competition.model;
+
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class BillingDataRequestVo {
+
+    @ApiModelProperty(value = "开始时间")
+    private Date monthStart = null;
+
+    @ApiModelProperty(value = "结束时间时间")
+    private Date monthEnd = null;
+
+    @ApiModelProperty(value = "用户id")
+    private Integer appUserId;
+
+}
diff --git a/cloud-server-account/src/main/java/com/dsh/account/feignclient/course/CoursePaymentClient.java b/cloud-server-account/src/main/java/com/dsh/account/feignclient/course/CoursePaymentClient.java
index e37e95a..f04d1f3 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/feignclient/course/CoursePaymentClient.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/feignclient/course/CoursePaymentClient.java
@@ -1,5 +1,6 @@
 package com.dsh.account.feignclient.course;
 
+import com.dsh.account.feignclient.competition.model.BillingDataRequestVo;
 import com.dsh.account.feignclient.course.model.*;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -50,7 +51,7 @@
     public boolean savePaymentCoursePackage(@RequestBody TCoursePackagePayment packagePayment);
 
     @PostMapping("/base/coursePack/allAmountPayRecordOfUser")
-    public List<TCoursePackagePayment> getAmountPayRecord(@RequestBody Integer appUserId);
+    public List<TCoursePackagePayment> getAmountPayRecord(@RequestBody BillingDataRequestVo appUserId);
 
     @PostMapping("/base/coursePack/obtainStudentClassDetails")
     List<RecordAppoint> obtainStudentClassDetailsData(@RequestBody Integer stuId);
diff --git a/cloud-server-account/src/main/java/com/dsh/account/feignclient/other/SiteClient.java b/cloud-server-account/src/main/java/com/dsh/account/feignclient/other/SiteClient.java
index e781579..7f5e8ff 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/feignclient/other/SiteClient.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/feignclient/other/SiteClient.java
@@ -1,5 +1,6 @@
 package com.dsh.account.feignclient.other;
 
+import com.dsh.account.feignclient.competition.model.BillingDataRequestVo;
 import com.dsh.account.feignclient.other.model.SiteBooking;
 import com.dsh.account.model.vo.exploreDetail.SiteVo;
 import org.springframework.cloud.openfeign.FeignClient;
@@ -13,7 +14,7 @@
 public interface SiteClient {
 
     @PostMapping("/base/site/queryPaymentSiteDetail")
-    List<SiteBooking> getAllSiteBookingList(@RequestBody Integer appUserId);
+    List<SiteBooking> getAllSiteBookingList(@RequestBody BillingDataRequestVo appUserId);
 
 
     @PostMapping("/base/site/queryPlaypaiGoldSiteDetail")
diff --git a/cloud-server-account/src/main/java/com/dsh/account/model/vo/userBenefitDetail/ConsumeDetail.java b/cloud-server-account/src/main/java/com/dsh/account/model/vo/userBenefitDetail/ConsumeDetail.java
index b56d0a9..bfd3eb9 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/model/vo/userBenefitDetail/ConsumeDetail.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/model/vo/userBenefitDetail/ConsumeDetail.java
@@ -16,4 +16,7 @@
     @ApiModelProperty(value = "金额 例如 -90 ")
     private String consumeAmount;
 
+    @ApiModelProperty(value = "1充值 2扣除")
+    private Integer type;
+
 }
diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java
index 8cb1126..0c9b84a 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java
@@ -10,6 +10,7 @@
 import com.dsh.account.feignclient.activity.UserConponClient;
 import com.dsh.account.feignclient.activity.model.*;
 import com.dsh.account.feignclient.competition.DeductionCompetitionsClient;
+import com.dsh.account.feignclient.competition.model.BillingDataRequestVo;
 import com.dsh.account.feignclient.competition.model.PaymentCompetition;
 import com.dsh.account.feignclient.course.CoursePackageClient;
 import com.dsh.account.feignclient.course.CoursePackageConfigClient;
@@ -502,8 +503,13 @@
             monthStart = DateTimeHelper.getCurrentMouthStart();
             monthEnd = DateTimeHelper.getCurrentMouthEnd();
         }
+
+        BillingDataRequestVo requestVo = new BillingDataRequestVo();
+        requestVo.setMonthStart(monthStart);
+        requestVo.setMonthEnd(monthEnd);
+        requestVo.setAppUserId(appUserId);
 //            1.赛事报名
-        List<PaymentCompetition> allCompetitionPayRecord = deducClient.getAllCompetitionPayRecord(appUserId);
+        List<PaymentCompetition> allCompetitionPayRecord = deducClient.getAllCompetitionPayRecord(requestVo);
         if (allCompetitionPayRecord.size() > 0 ){
             for (PaymentCompetition paymentCompetition : allCompetitionPayRecord) {
                 ConsumeDetail consumeDetail = new ConsumeDetail();
@@ -511,32 +517,35 @@
                 consumeDetail.setConsumeTime(simpleDateFormat.format(paymentCompetition.getInsertTime()));
                 consumeDetail.setConsumeAmount("-" + paymentCompetition.getAmount());
                 details.add(consumeDetail);
+                consumeDetail.setType(1);
             }
         }
 //            2.取消赛事报名
-        List<PaymentCompetition> cancelOrderOfUserPayRecord = deducClient.getCancelOrderOfUserPayRecord(appUserId);
+        List<PaymentCompetition> cancelOrderOfUserPayRecord = deducClient.getCancelOrderOfUserPayRecord(requestVo);
         if (cancelOrderOfUserPayRecord.size() > 0 ){
             for (PaymentCompetition paymentCompetition : cancelOrderOfUserPayRecord) {
                 ConsumeDetail consumeDetail = new ConsumeDetail();
                 consumeDetail.setConsumeName(RechargeRecordEnum.CANCEL_EVENT_REGISTRATION.getMsg());
                 consumeDetail.setConsumeTime(simpleDateFormat.format(paymentCompetition.getInsertTime()));
                 consumeDetail.setConsumeAmount("+" + paymentCompetition.getAmount());
+                consumeDetail.setType(1);
                 details.add(consumeDetail);
             }
         }
 //            3.课包购买
-        List<TCoursePackagePayment> amountPayRecord = paymentClient.getAmountPayRecord(appUserId);
+        List<TCoursePackagePayment> amountPayRecord = paymentClient.getAmountPayRecord(requestVo);
         if (amountPayRecord.size() > 0 ){
             for (TCoursePackagePayment coursePackagePayment : amountPayRecord) {
                 ConsumeDetail consumeDetail = new ConsumeDetail();
                 consumeDetail.setConsumeName(RechargeRecordEnum.COURSE_PACKAGE_PURCHASE.getMsg());
                 consumeDetail.setConsumeTime(simpleDateFormat.format(coursePackagePayment.getInsertTime()));
                 consumeDetail.setConsumeAmount("-" + coursePackagePayment.getCashPayment());
+                consumeDetail.setType(2);
                 details.add(consumeDetail);
             }
         }
 //            4.场地预约
-        List<SiteBooking> allSiteBookingList = stClient.getAllSiteBookingList(appUserId);
+        List<SiteBooking> allSiteBookingList = stClient.getAllSiteBookingList(requestVo);
         if (allSiteBookingList.size() >  0){
             for (SiteBooking booking : allSiteBookingList) {
                 ConsumeDetail consumeDetail = new ConsumeDetail();
@@ -544,10 +553,12 @@
                     consumeDetail.setConsumeName(RechargeRecordEnum.VENUE_RESERVATION.getMsg());
                     consumeDetail.setConsumeAmount("-" + booking.getPayMoney());
                     consumeDetail.setConsumeTime(simpleDateFormat.format(booking.getPayTime()));
+                    consumeDetail.setType(2);
                 }else {
                     consumeDetail.setConsumeName(RechargeRecordEnum.CANCEL_VENUE_RESERVATION.getMsg());
                     consumeDetail.setConsumeAmount("+" + booking.getPayMoney());
                     consumeDetail.setConsumeTime(simpleDateFormat.format(booking.getCancelTime()));
+                    consumeDetail.setType(1);
                 }
                 details.add(consumeDetail);
             }
@@ -565,6 +576,7 @@
                 consumeDetail.setConsumeName(RechargeRecordEnum.ANNUAL_MEMBERSHIP.getMsg());
                 consumeDetail.setConsumeTime(simpleDateFormat.format(vipPayment.getInsertTime()));
                 consumeDetail.setConsumeAmount("-" + vipPayment.getAmount());
+                consumeDetail.setType(2);
                 details.add(consumeDetail);
             }
         }
@@ -579,6 +591,7 @@
                 consumeDetail.setConsumeName(RechargeRecordEnum.RECHARGE.getMsg() + ":" + rechargeRecord.getPlayPaiCoins());
                 consumeDetail.setConsumeTime(simpleDateFormat.format(rechargeRecord.getInsertTime()));
                 consumeDetail.setConsumeAmount("-" + rechargeRecord.getAmount());
+                consumeDetail.setType(2);
                 details.add(consumeDetail);
             }
         }
@@ -599,6 +612,12 @@
                     return date2.compareTo(date1);
                 }
             });
+
+            if (ToolUtil.isNotEmpty(recordId)){
+                details = details.stream()
+                        .filter(response -> Objects.equals(response.getType(), recordId))
+                        .collect(Collectors.toList());
+            }
         }
         return details;
     }
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/controller/CouponController.java b/cloud-server-activity/src/main/java/com/dsh/activity/controller/CouponController.java
index 19b5af2..3156857 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/controller/CouponController.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/controller/CouponController.java
@@ -4,6 +4,7 @@
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.dsh.activity.entity.Coupon;
 import com.dsh.activity.entity.UserCoupon;
+import com.dsh.activity.feignclient.model.CouponExamineListSearch;
 import com.dsh.activity.feignclient.model.CouponListOfSearch;
 import com.dsh.activity.model.CouponListVo;
 import com.dsh.activity.model.request.CommodityRequest;
@@ -14,16 +15,15 @@
 import com.dsh.activity.util.GDMapGeocodingUtil;
 import com.dsh.activity.util.ResultUtil;
 import com.dsh.activity.util.TokenUtil;
+import com.dsh.activity.util.ToolUtil;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
+import java.text.SimpleDateFormat;
+import java.util.*;
 
 /**
  * @author zhibing.pu
@@ -183,5 +183,48 @@
         return mapList;
     }
 
+    @ResponseBody
+    @PostMapping("/base/coupon/couponExamineListSearch")
+    public List<Map<String,Object>> getCouponExamineListOfSearch(@RequestBody CouponExamineListSearch ofSearch){
+        List<Map<String, Object>> mapList = couponService.queryCouponExamineList(ofSearch);
+        if (mapList.size() > 0){
+            for (Map<String, Object> stringObjectMap : mapList) {
+                Object startTime = stringObjectMap.get("startTime");
+                Object endTime = stringObjectMap.get("endTime");
+                stringObjectMap.put("timeValue",startTime + "至"+endTime);
+            }
+        }
+        return mapList;
+    }
+
+
+    @PostMapping("/base/coupon/couponExamineDetail")
+    Map<String, Object> queryCouponExamineDetail(@RequestBody Integer id){
+        Map<String, Object> couponInfo = new HashMap<>();
+        Coupon coupon = couponService.getById(id);
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
+        if (ToolUtil.isNotEmpty(coupon)){
+            couponInfo.put("",coupon.getId());
+            couponInfo.put("",coupon.getName());
+            couponInfo.put("",coupon.getAuditStatus());
+            couponInfo.put("",coupon.getProvince());
+            couponInfo.put("",coupon.getCity());
+            couponInfo.put("",coupon.getType());
+            couponInfo.put("",coupon.getContent());
+            couponInfo.put("",coupon.getIllustrate());
+            couponInfo.put("",coupon.getDistributionMethod());
+            couponInfo.put("",coupon.getRedemptionMethod());
+            couponInfo.put("integral",coupon.getIntegral());
+            couponInfo.put("cash",coupon.getCash());
+            couponInfo.put("userPopulation",coupon.getUserPopulation());
+            couponInfo.put("quantityIssued",coupon.getQuantityIssued());
+            couponInfo.put("pickUpQuantity",coupon.getPickUpQuantity());
+            String startTime = simpleDateFormat.format(coupon.getStartTime());
+            String endTime = simpleDateFormat.format(coupon.getEndTime());
+            couponInfo.put("timeValue",startTime + "至"+endTime);
+            couponInfo.put("useScope",coupon.getUseScope());
+        }
+        return couponInfo;
+    }
 
 }
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/model/CouponExamineListSearch.java b/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/model/CouponExamineListSearch.java
new file mode 100644
index 0000000..6a12a0c
--- /dev/null
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/model/CouponExamineListSearch.java
@@ -0,0 +1,34 @@
+package com.dsh.activity.feignclient.model;
+
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Map;
+
+@Data
+public class CouponExamineListSearch {
+
+
+    @ApiModelProperty(value = "后台登录用户id")
+    private Integer loginId;
+    @ApiModelProperty(value = "优惠券名称")
+    private String name;
+
+    @ApiModelProperty(value = "优惠券类型")
+    private Integer type;
+
+    @ApiModelProperty(value = "发放方式")
+    private Integer distributionMethod;
+
+    @ApiModelProperty(value = "用户人群")
+    private Integer userPopulation;
+
+    @ApiModelProperty(value = "审核状态")
+    private Integer auditStatus;
+
+    private Page<Map<String, Object>> page;
+
+
+}
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/mapper/CouponMapper.java b/cloud-server-activity/src/main/java/com/dsh/activity/mapper/CouponMapper.java
index 42ba242..c522a07 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/mapper/CouponMapper.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/mapper/CouponMapper.java
@@ -30,4 +30,12 @@
                                                       @Param("state")Integer state,
                                                       @Param("page")Page<Map<String, Object>> page);
 
+    List<Map<String, Object>> queryCouponExamineList(@Param("name")String name,
+                                                     @Param("type")Integer type,
+                                                     @Param("userPopulation") Integer userPopulation,
+                                                     @Param("distributionMethod")Integer distributionMethod,
+                                                     @Param("auditStatus")Integer auditStatus,
+                                                     @Param("page")Page<Map<String, Object>> page);
+
+
 }
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/service/ICouponService.java b/cloud-server-activity/src/main/java/com/dsh/activity/service/ICouponService.java
index 1b89adc..77c8a58 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/service/ICouponService.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/service/ICouponService.java
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.dsh.activity.entity.Coupon;
+import com.dsh.activity.feignclient.model.CouponExamineListSearch;
 import com.dsh.activity.feignclient.model.CouponListOfSearch;
 import com.dsh.activity.model.CouponListVo;
 
@@ -30,4 +31,6 @@
 
     List<Map<String, Object>> queryCouponListOfSearch(CouponListOfSearch ofSearch);
 
+    List<Map<String, Object>> queryCouponExamineList(CouponExamineListSearch ofSearch);
+
 }
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/CouponServiceImpl.java b/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/CouponServiceImpl.java
index 4278dd6..0043c63 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/CouponServiceImpl.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/CouponServiceImpl.java
@@ -10,6 +10,7 @@
 import com.dsh.activity.feignclient.account.StudentClient;
 import com.dsh.activity.feignclient.account.model.AppUser;
 import com.dsh.activity.feignclient.account.model.Student;
+import com.dsh.activity.feignclient.model.CouponExamineListSearch;
 import com.dsh.activity.feignclient.model.CouponListOfSearch;
 import com.dsh.activity.mapper.CouponMapper;
 import com.dsh.activity.model.CouponListVo;
@@ -104,4 +105,9 @@
         return this.baseMapper.queryCouponListOfSearch(ofSearch.getName(),ofSearch.getType(),ofSearch.getDistributionMethod(),ofSearch.getUserPopulation(),ofSearch.getStatus(),ofSearch.getState(),ofSearch.getPage());
     }
 
+    @Override
+    public List<Map<String, Object>> queryCouponExamineList(CouponExamineListSearch ofSearch) {
+        return this.baseMapper.queryCouponExamineList(ofSearch.getName(),ofSearch.getType(),ofSearch.getUserPopulation(),ofSearch.getDistributionMethod(),ofSearch.getAuditStatus(),ofSearch.getPage());
+    }
+
 }
diff --git a/cloud-server-activity/src/main/resources/mapper/CouponMapper.xml b/cloud-server-activity/src/main/resources/mapper/CouponMapper.xml
index e63a5c6..5ea88d3 100644
--- a/cloud-server-activity/src/main/resources/mapper/CouponMapper.xml
+++ b/cloud-server-activity/src/main/resources/mapper/CouponMapper.xml
@@ -26,9 +26,22 @@
         `status`,
         state
         from t_coupon
-        where 1 = 1
+        where 1 = 1SELECT id,
+        `name`,
+        useScope,
+        `type`,
+        distributionMethod,
+        date_format(startTime ,'%Y-%m-%d') as startTime,
+        date_format(endTime ,'%Y-%m-%d') as endTime,
+        userPopulation,
+        quantityIssued,
+        pickUpQuantity,
+        `status`,
+        state
+        from t_coupon
+        where 1=1
           <if test="name != null">
-              and `name` like concat('%', #{}, '%')
+              and `name` like concat('%', #{name}, '%')
           </if>
         <if test="type != null">
             and type = #{type}
@@ -47,6 +60,37 @@
         </if>
           order by insertTime desc
     </select>
+    <select id="queryCouponExamineList" resultType="java.util.Map">
+        SELECT id,
+               `name`,
+               useScope,
+               `type`,
+               distributionMethod,
+               date_format(startTime ,'%Y-%m-%d') as startTime,
+               date_format(endTime ,'%Y-%m-%d') as endTime,
+               userPopulation,
+               quantityIssued,
+               pickUpQuantity,
+               auditStatus
+        from t_coupon
+        where auditStatus != 2
+        <if test="name != null">
+            and `name` like concat('%', #{name}, '%')
+        </if>
+        <if test="type != null">
+            and type = #{type}
+        </if>
+        <if test="distributionMethod != null">
+            and distributionMethod = #{distributionMethod}
+        </if>
+        <if test="userPopulation != null">
+            and userPopulation = #{userPopulation}
+        </if>
+        <if test="auditStatus != null">
+            and auditStatus = #{auditStatus}
+        </if>
+        order by insertTime desc
+    </select>
 
 
 </mapper>
diff --git a/cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java b/cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java
index 8b5074a..67a007a 100644
--- a/cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java
+++ b/cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java
@@ -8,10 +8,7 @@
 import com.dsh.competition.entity.Participant;
 import com.dsh.competition.entity.PaymentCompetition;
 import com.dsh.competition.entity.UserCompetition;
-import com.dsh.competition.feignclient.model.GetPeopleQuery;
-import com.dsh.competition.feignclient.model.GetStuSourseList;
-import com.dsh.competition.feignclient.model.ListQuery;
-import com.dsh.competition.feignclient.model.PurchaseRecordVo;
+import com.dsh.competition.feignclient.model.*;
 import com.dsh.competition.model.CompetitionInfo;
 import com.dsh.competition.model.CompetitionListVo;
 import com.dsh.competition.model.PaymentCompetitionVo;
@@ -74,26 +71,28 @@
 
 
     @PostMapping("/base/competition/getPayedCompetitions")
-    public List<PaymentCompetition> getAllCompetitionPayRecord(@RequestBody Integer appUserId){
+    public List<PaymentCompetition> getAllCompetitionPayRecord(@RequestBody BillingDataRequestVo requestVo){
         List<Integer> integers = new ArrayList<>();
         integers.add(1);
         integers.add(2);
         return paymentCompetitionService.list(new QueryWrapper<PaymentCompetition>()
                 .in("payType",integers)
-                .eq("appUserId",appUserId)
-                .eq("payStatus",2));
+                .eq("appUserId",requestVo.getAppUserId())
+                .eq("payStatus",2)
+                .between("payTime",requestVo.getMonthStart(),requestVo.getMonthEnd()));
     }
 
 
     @PostMapping("/base/competition/getCancelOrderOfUserPay")
-    public List<PaymentCompetition> getCancelOrderOfUserPayRecord(@RequestBody Integer appUserId){
+    public List<PaymentCompetition> getCancelOrderOfUserPayRecord(@RequestBody BillingDataRequestVo requestVo){
         List<Integer> integers = new ArrayList<>();
         integers.add(1);
         integers.add(2);
         return paymentCompetitionService.list(new QueryWrapper<PaymentCompetition>()
                 .in("payType",integers)
-                .eq("appUserId",appUserId)
-                .eq("payStatus",3));
+                .eq("appUserId",requestVo.getAppUserId())
+                .eq("payStatus",3)
+                .between("refundTime",requestVo.getMonthStart(),requestVo.getMonthEnd()));
     }
 
 
diff --git a/cloud-server-competition/src/main/java/com/dsh/competition/feignclient/DeductionCompetitionsClient.java b/cloud-server-competition/src/main/java/com/dsh/competition/feignclient/DeductionCompetitionsClient.java
index c7292bb..566a010 100644
--- a/cloud-server-competition/src/main/java/com/dsh/competition/feignclient/DeductionCompetitionsClient.java
+++ b/cloud-server-competition/src/main/java/com/dsh/competition/feignclient/DeductionCompetitionsClient.java
@@ -2,6 +2,7 @@
 
 
 import com.dsh.competition.entity.PaymentCompetition;
+import com.dsh.competition.feignclient.model.BillingDataRequestVo;
 import com.dsh.competition.feignclient.model.GetStuSourseList;
 import com.dsh.competition.feignclient.model.PurchaseRecordVo;
 import org.springframework.cloud.openfeign.FeignClient;
@@ -17,10 +18,10 @@
     public List<PurchaseRecordVo> getStuSourseList(@RequestBody GetStuSourseList sourseList);
 
     @PostMapping("/base/competition/getPayedCompetitions")
-    List<PaymentCompetition> getAllCompetitionPayRecord(@RequestBody Integer appUserId);
+    List<PaymentCompetition> getAllCompetitionPayRecord(@RequestBody BillingDataRequestVo requestVo);
 
     @PostMapping("/base/competition/getCancelOrderOfUserPay")
-    public List<PaymentCompetition> getCancelOrderOfUserPayRecord(@RequestBody Integer appUserId);
+    public List<PaymentCompetition> getCancelOrderOfUserPayRecord(@RequestBody BillingDataRequestVo requestVo);
 
     @PostMapping("/base/competition/getPlayPaiFGoldPayRecord")
     List<PaymentCompetition> getPlayPaiFGoldPayRecord(@RequestBody Integer appUserId);
diff --git a/cloud-server-competition/src/main/java/com/dsh/competition/feignclient/model/BillingDataRequestVo.java b/cloud-server-competition/src/main/java/com/dsh/competition/feignclient/model/BillingDataRequestVo.java
new file mode 100644
index 0000000..40c2b5c
--- /dev/null
+++ b/cloud-server-competition/src/main/java/com/dsh/competition/feignclient/model/BillingDataRequestVo.java
@@ -0,0 +1,21 @@
+package com.dsh.competition.feignclient.model;
+
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class BillingDataRequestVo {
+
+    @ApiModelProperty(value = "开始时间")
+    private Date monthStart = null;
+
+    @ApiModelProperty(value = "结束时间时间")
+    private Date monthEnd = null;
+
+    @ApiModelProperty(value = "用户id")
+    private Integer appUserId;
+
+}
diff --git a/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java b/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java
index 9f0ee68..4d41f52 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java
@@ -97,6 +97,7 @@
      * @param stuId 学员id
      * @return  课包列表
      */
+    @ResponseBody
     @PostMapping("/base/coursePack/queryPayment")
     public List<StuCourseResp> getStuCoursePackagePayment(@RequestBody Integer stuId){
         Integer userIdFormRedis = null;
@@ -131,6 +132,7 @@
      *
      * 获取发布的 课包列表
      */
+    @ResponseBody
     @PostMapping("/base/coursePack/storeOfCourse")
     public List<CourseOfStoreVo> getStuCourseWithStores(@RequestBody WeeksOfCourseRest courseRest){
         List<CourseOfStoreVo> course = new ArrayList<>();
@@ -379,12 +381,13 @@
     }
 
     @PostMapping("/base/coursePack/allAmountPayRecordOfUser")
-    public List<TCoursePackagePayment> getAmountPayRecord(@RequestBody Integer appUserId){
+    public List<TCoursePackagePayment> getAmountPayRecord(@RequestBody BillingDataRequestVo billingDataRequestVo){
         return packagePaymentService.list(new QueryWrapper<TCoursePackagePayment>()
-                .eq("appUserId",appUserId)
+                .eq("appUserId",billingDataRequestVo.getAppUserId())
                 .notIn("payType",3)
                 .eq("payStatus",2)
-                .eq("state",1));
+                .eq("state",1)
+                .between("insertTime",billingDataRequestVo.getMonthStart(),billingDataRequestVo.getMonthEnd()));
     }
 
 
diff --git a/cloud-server-course/src/main/java/com/dsh/course/entity/TCourse.java b/cloud-server-course/src/main/java/com/dsh/course/entity/TCourse.java
index f46e49e..58db95f 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/entity/TCourse.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/entity/TCourse.java
@@ -5,6 +5,7 @@
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -24,7 +25,10 @@
 @EqualsAndHashCode(callSuper = false)
 @Accessors(chain = true)
 @TableName("t_course")
-public class TCourse {
+public class TCourse extends Model<TCourse>{
+
+    private static final long serialVersionUID = 1L;
+
     /**
      * 主键
      */
diff --git a/cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackage.java b/cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackage.java
index ffd5ef3..5eddca4 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackage.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackage.java
@@ -4,6 +4,7 @@
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -23,8 +24,9 @@
 @EqualsAndHashCode(callSuper = false)
 @Accessors(chain = true)
 @TableName("t_course_package")
-public class TCoursePackage {
+public class TCoursePackage extends Model<TCoursePackage>{
 
+    private static final long serialVersionUID = 1L;
 
     /**
      * 主键
diff --git a/cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackageDiscount.java b/cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackageDiscount.java
index d8be4e7..268ad4b 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackageDiscount.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackageDiscount.java
@@ -4,6 +4,7 @@
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
@@ -22,7 +23,7 @@
 @EqualsAndHashCode(callSuper = false)
 @Accessors(chain = true)
 @TableName("t_course_package_discount")
-public class TCoursePackageDiscount {
+public class TCoursePackageDiscount extends Model<TCoursePackageDiscount>{
 
     private static final long serialVersionUID = 1L;
 
diff --git a/cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackagePayment.java b/cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackagePayment.java
index 599764e..bfd418b 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackagePayment.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackagePayment.java
@@ -4,6 +4,7 @@
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
@@ -23,7 +24,7 @@
 @EqualsAndHashCode(callSuper = false)
 @Accessors(chain = true)
 @TableName("t_course_package_payment")
-public class TCoursePackagePayment {
+public class TCoursePackagePayment extends Model<TCoursePackagePayment>{
     private static final long serialVersionUID = 1L;
 
     /**
diff --git a/cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackageType.java b/cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackageType.java
index 6d7d185..27f0edb 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackageType.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackageType.java
@@ -8,6 +8,7 @@
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
@@ -24,7 +25,7 @@
 @EqualsAndHashCode(callSuper = false)
 @Accessors(chain = true)
 @TableName("t_course_package_type")
-public class TCoursePackageType {
+public class TCoursePackageType extends Model<TCoursePackageType>{
 
     private static final long serialVersionUID = 1L;
 
diff --git a/cloud-server-course/src/main/java/com/dsh/course/feignclient/CoursePaymentClient.java b/cloud-server-course/src/main/java/com/dsh/course/feignclient/CoursePaymentClient.java
index 5484b04..a8aeaae 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/feignclient/CoursePaymentClient.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/feignclient/CoursePaymentClient.java
@@ -56,7 +56,7 @@
     public boolean savePaymentCoursePackage(@RequestBody TCoursePackagePayment packagePayment);
 
     @PostMapping("/base/coursePack/allAmountPayRecordOfUser")
-    public List<TCoursePackagePayment> getAmountPayRecord(@RequestBody Integer appUserId);
+    public List<TCoursePackagePayment> getAmountPayRecord(@RequestBody BillingDataRequestVo appUserId);
 
     @PostMapping("/base/coursePack/obtainStudentClassDetails")
     List<RecordAppoint> obtainStudentClassDetailsData(@RequestBody Integer stuId);
diff --git a/cloud-server-course/src/main/java/com/dsh/course/feignclient/model/BillingDataRequestVo.java b/cloud-server-course/src/main/java/com/dsh/course/feignclient/model/BillingDataRequestVo.java
new file mode 100644
index 0000000..c58c74e
--- /dev/null
+++ b/cloud-server-course/src/main/java/com/dsh/course/feignclient/model/BillingDataRequestVo.java
@@ -0,0 +1,21 @@
+package com.dsh.course.feignclient.model;
+
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class BillingDataRequestVo {
+
+    @ApiModelProperty(value = "开始时间")
+    private Date monthStart = null;
+
+    @ApiModelProperty(value = "结束时间时间")
+    private Date monthEnd = null;
+
+    @ApiModelProperty(value = "用户id")
+    private Integer appUserId;
+
+}
diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/CouponClient.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/CouponClient.java
index 082a999..1728668 100644
--- a/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/CouponClient.java
+++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/CouponClient.java
@@ -1,6 +1,7 @@
 package com.dsh.course.feignClient.activity;
 
 
+import com.dsh.course.feignClient.activity.model.CouponExamineListSearch;
 import com.dsh.course.feignClient.activity.model.CouponListOfSearch;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -16,4 +17,12 @@
     @PostMapping("/base/coupon/queryCouponListSearch")
     List<Map<String,Object>> getCouponListOfSearch(@RequestBody CouponListOfSearch ofSearch);
 
+
+    @PostMapping("/base/coupon/couponExamineListSearch")
+    List<Map<String,Object>> getCouponExamineListOfSearch(@RequestBody CouponExamineListSearch ofSearch);
+
+
+    @PostMapping("/base/coupon/couponExamineDetail")
+    Map<String, Object> queryCouponExamineDetail(@RequestBody Integer id);
+
 }
diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/model/CouponExamineListSearch.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/model/CouponExamineListSearch.java
new file mode 100644
index 0000000..edb91a4
--- /dev/null
+++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/model/CouponExamineListSearch.java
@@ -0,0 +1,34 @@
+package com.dsh.course.feignClient.activity.model;
+
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Map;
+
+@Data
+public class CouponExamineListSearch {
+
+
+    @ApiModelProperty(value = "后台登录用户id")
+    private Integer loginId;
+    @ApiModelProperty(value = "优惠券名称")
+    private String name;
+
+    @ApiModelProperty(value = "优惠券类型")
+    private Integer type;
+
+    @ApiModelProperty(value = "发放方式")
+    private Integer distributionMethod;
+
+    @ApiModelProperty(value = "用户人群")
+    private Integer userPopulation;
+
+    @ApiModelProperty(value = "审核状态")
+    private Integer auditStatus;
+
+    private Page<Map<String, Object>> page;
+
+
+}
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCouponController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCouponController.java
index 202b658..ab5a668 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCouponController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCouponController.java
@@ -69,4 +69,5 @@
     }
 
 
+    // TODO: 2023/7/31 优惠券管理
 }
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCouponExamineController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCouponExamineController.java
index ee1de5b..059366b 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCouponExamineController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCouponExamineController.java
@@ -1,9 +1,20 @@
 package com.dsh.guns.modular.system.controller.code;
 
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.dsh.course.feignClient.activity.CouponClient;
+import com.dsh.course.feignClient.activity.model.CouponExamineListSearch;
+import com.dsh.course.feignClient.activity.model.CouponListOfSearch;
+import com.dsh.guns.core.common.constant.factory.PageFactory;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.Map;
 
 /**
  * 优惠券审核 控制器
@@ -16,6 +27,9 @@
 
     private String PREFIX = "/system/tCouponExamine/";
 
+    @Resource
+    private CouponClient client;
+
     /**
      * 优惠券审核列表页
      */
@@ -25,4 +39,40 @@
     }
 
 
+
+    /**
+     * 获取 优惠券审核列表
+     */
+    @RequestMapping(value = "/list")
+    @ResponseBody
+    public Object listOfDatas(String name, Integer type, Integer distributionMethod , Integer userPopulation, Integer auditStatus) {
+        Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage();
+        CouponExamineListSearch ofSearch = new CouponExamineListSearch();
+        ofSearch.setPage(page);
+        ofSearch.setName(name);
+        ofSearch.setType(type);
+        ofSearch.setDistributionMethod(distributionMethod);
+        ofSearch.setUserPopulation(userPopulation);
+        ofSearch.setAuditStatus(auditStatus);
+        List<Map<String, Object>> couponExamineListOfSearch = client.getCouponExamineListOfSearch(ofSearch);
+        if (couponExamineListOfSearch.size() > 0){
+            for (Map<String, Object> examineListOfSearch : couponExamineListOfSearch) {
+                examineListOfSearch.put("province","");
+                examineListOfSearch.put("city","");
+                examineListOfSearch.put("account","");
+            }
+        }
+        return couponExamineListOfSearch;
+    }
+
+    /**
+     * 获取 优惠券审核详情
+     */
+    @RequestMapping(value = "/couponOfDetail/{id}")
+    @ResponseBody
+    public Object detailOfCoupon(@PathVariable Integer id){
+        Map<String,Object> couponMap = client.queryCouponExamineDetail(id);
+        return null;// TODO: 2023/7/31
+    }
+
 }
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCoupon/TCouponAdd.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCoupon/TCouponAdd.html
index 33e9063..16120ea 100644
--- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCoupon/TCouponAdd.html
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCoupon/TCouponAdd.html
@@ -190,7 +190,7 @@
                             <label class="col-sm-1" style="width: 16%;margin-top: 7px">指定城市</label>
                             <input class="col-sm-1 control-label" name="company" onclick="scopeOfApplication3()" type="radio"
                                    value="1" checked style="margin-left: 4%;margin-top: 10px;width: 13px;height: 13px"/>
-                            <label class="col-sm-1" style="width: 25%;margin-top: -16px">指定门店</label>
+                            <label class="col-sm-1" style="width: 16%;margin-top: -16px;margin-left: 8%">指定门店</label>
                         </div>
                     </div>
                 </div>
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCouponExamine/TCouponExamine.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCouponExamine/TCouponExamine.html
new file mode 100644
index 0000000..58164ea
--- /dev/null
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCouponExamine/TCouponExamine.html
@@ -0,0 +1,64 @@
+@layout("/common/_container.html"){
+<div class="row">
+  <div class="col-sm-12">
+    <div class="ibox float-e-margins">
+      <div class="ibox-title">
+        <h5>优惠券审核</h5>
+      </div>
+      <div class="ibox-content">
+        <div class="row row-lg">
+          <div class="col-sm-12">
+            <div class="row">
+              <div class="col-sm-3">
+                <#NameCon id="name" name="优惠券名称" />
+              </div>
+              <div class="col-sm-3">
+                <#SelectCon id="type" name="优惠券类型" >
+                <option value="">全部</option>
+                <option value="1">满减券</option>
+                <option value="2">折扣券</option>
+                <option value="3">体验券</option>
+              </#SelectCon>
+            </div>
+            <div class="col-sm-3">
+              <#SelectCon id="distributionMethod" name="发放方式" >
+              <option value="">全部</option>
+              <option value="1">积分购买</option>
+              <option value="2">注册赠送</option>
+              <option value="3">自动发券</option>
+            </#SelectCon>
+          </div>
+          <div class="col-sm-3">
+            <#SelectCon id="userPopulation" name="用户人群" >
+            <option value="">全部</option>
+            <option value="1">全部用户</option>
+            <option value="2">年度会员</option>
+            <option value="3">已有学员用户</option>
+          </#SelectCon>
+        </div>
+      <div class="col-sm-3">
+        <#SelectCon id="auditStatus" name="审核状态" >
+        <option value="">全部</option>
+        <option value="1">待审核</option>
+        <option value="2">未通过</option>
+      </#SelectCon>
+    </div>
+    <div class="col-sm-3">
+      <#button name="搜索" icon="fa-search" clickFun="TCouponExamine.search()"/>
+      <#button name="重置" icon="fa-trash" clickFun="TCouponExamine.resetSearch()"/>
+    </div>
+  </div>
+  <div class="hidden-xs" id="TCouponExamineExamineTableToolbar" role="group">
+    <#button name="审核" icon="fa-plus" clickFun="TCouponExamine.openAdd()"/>
+    <#button name="查看详情" icon="fa-remove" clickFun="TCouponExamine.openDetail()" space="true"/>
+  </div>
+  <#table id="TCouponExamineTable"/>
+</div>
+</div>
+</div>
+
+</div>
+</div>
+</div>
+<script src="${ctxPath}/modular/system/tCouponExamine/TCouponExamine.js"></script>
+@}
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/tCouponExamine/TCouponExamine.js b/cloud-server-management/src/main/webapp/static/modular/system/tCouponExamine/TCouponExamine.js
new file mode 100644
index 0000000..385b084
--- /dev/null
+++ b/cloud-server-management/src/main/webapp/static/modular/system/tCouponExamine/TCouponExamine.js
@@ -0,0 +1,128 @@
+/**
+ * 管理初始化
+ */
+var TCouponExamine = {
+    id: "TCouponExamineTable",	//表格id
+    seItem: null,		//选中的条目
+    table: null,
+    layerIndex: -1
+};
+
+/**
+ * 初始化表格的列
+ */
+TCouponExamine.initColumn = function () {
+    return [
+        {field: 'selectItem', radio: true},
+        {title: 'id', field: 'id', visible: false, align: 'center', valign: 'middle'},
+        {title: '发布省', field: 'province', visible: true, align: 'center', valign: 'middle'},
+        {title: '发布城市', field: 'city', visible: true, align: 'center', valign: 'middle'},
+        {title: '所属账号', field: 'account', visible: true, align: 'center', valign: 'middle'},
+        {title: '优惠券名称', field: 'name', visible: true, align: 'center', valign: 'middle'},
+        {title: '适用范围', field: 'useScope', visible: true, align: 'center', valign: 'middle'},
+        {title: '优惠券类型', field: 'type', visible: true, align: 'center', valign: 'middle',
+            formatter: function (value, row, index) {
+                return {1: "满减券", 2: "代金券", 3: "体验券"}[value]
+            }},
+        {title: '发放方式', field: 'distributionMethod', visible: true, align: 'center', valign: 'middle',
+            formatter: function (value, row, index) {
+                return {1: "积分购买", 2: "注册赠送", 3: "自动发券"}[value]
+            }},
+        {title: '有效期', field: 'timeValue', visible: true, align: 'center', valign: 'middle'},
+        {title: '用户人群', field: 'userPopulation', visible: true, align: 'center', valign: 'middle',
+            formatter: function (value, row, index) {
+                return {1: "全部用户", 2: "年度会员", 3: "已有学员用户"}[value]
+            }},
+        {title: '发放数量', field: 'quantityIssued', visible: true, align: 'center', valign: 'middle'},
+        {title: '限领数量', field: 'pickUpQuantity', visible: true, align: 'center', valign: 'middle'},
+        {title: '审核状态', field: 'auditStatus', visible: true, align: 'center', valign: 'middle',
+            formatter: function (value, row, index) {
+                return {1: "上架", 2: "下架"}[value]
+            }}
+    ];
+};
+
+/**
+ * 检查是否选中
+ */
+TCouponExamine.check = function () {
+    var selected = $('#' + this.id).bootstrapTable('getSelections');
+    if(selected.length == 0){
+        Feng.info("请先选中表格中的某一记录!");
+        return false;
+    }else{
+        TCouponExamine.seItem = selected[0];
+        return true;
+    }
+};
+
+
+/**
+ * 打开查看详情
+ */
+TCouponExamine.openDetail = function () {
+    if (this.check()) {
+        var index = layer.open({
+            type: 2,
+            title: '详情',
+            area: ['800px', '420px'], //宽高
+            fix: false, //不固定
+            maxmin: true,
+            content: Feng.ctxPath + '/tCouponExamine/couponOfDetail/' + TCouponExamine.seItem.id
+        });
+        this.layerIndex = index;
+    }
+};
+
+
+/**
+ * 打开审核页面
+ */
+TCouponExamine.openCollectionRecord = function () {
+    if (this.check()) {
+        var index = layer.open({
+            type: 2,
+            title: '详情',
+            area: ['800px', '420px'], //宽高
+            fix: false, //不固定
+            maxmin: true,
+            content: Feng.ctxPath + '/tCouponExamine/coupon_examine_page/' + TCouponExamine.seItem.id
+        });
+        this.layerIndex = index;
+    }
+};
+
+
+
+/**
+ * 查询列表
+ */
+TCouponExamine.search = function () {
+    var queryData = {};
+    queryData['name'] = $("#name").val();
+    queryData['type'] = $("#type").val();
+    queryData['distributionMethod'] = $("#distributionMethod").val();
+    queryData['userPopulation'] = $("#userPopulation").val();
+    queryData['auditStatus'] = $("#auditStatus").val();
+    TCouponExamine.table.refresh({query: queryData});
+};
+
+
+/**
+ * 重置搜索
+ */
+TCouponExamine.resetSearch = function () {
+    $("#name").val('');
+    $("#type").val('');
+    $("#distributionMethod").val('');
+    $("#userPopulation").val('');
+    $("#auditStatus").val('');
+    TCouponExamine.search();
+};
+
+$(function () {
+    var defaultColunms = TCouponExamine.initColumn();
+    var table = new BSTable(TCouponExamine.id, "/tCouponExamine/list", defaultColunms);
+    table.setPaginationType("client");
+    TCouponExamine.table = table.init();
+});
diff --git a/cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java b/cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java
index 3d3f7e9..420f390 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java
@@ -6,6 +6,7 @@
 import com.dsh.other.entity.SiteType;
 import com.dsh.other.feignclient.activity.UserCouponClient;
 import com.dsh.other.feignclient.activity.model.UserCoupon;
+import com.dsh.other.feignclient.model.BillingDataRequestVo;
 import com.dsh.other.feignclient.model.SiteVo;
 import com.dsh.other.model.*;
 import com.dsh.other.service.ISiteBookingService;
@@ -358,11 +359,11 @@
 
     /**
      * 查询所有现金支付的预约记录
-     * @param appUserId
+     * @param requestVo
      * @return
      */
     @PostMapping("/base/site/queryPaymentSiteDetail")
-    public List<SiteBooking> getAllSiteBookingList(@RequestBody Integer appUserId){
+    public List<SiteBooking> getAllSiteBookingList(@RequestBody BillingDataRequestVo requestVo){
         ArrayList<Integer> integers = new ArrayList<>();
         integers.add(1);
         integers.add(2);
@@ -372,7 +373,8 @@
         return siteBookingService.list(new QueryWrapper<SiteBooking>()
                 .in("status",integers)
                 .ne("payType",3)
-                .eq("appUserId",appUserId));
+                .eq("appUserId",requestVo.getAppUserId())
+                .between("payTime",requestVo.getMonthStart(),requestVo.getMonthEnd()));
     }
 
     /**
diff --git a/cloud-server-other/src/main/java/com/dsh/other/feignclient/SiteClient.java b/cloud-server-other/src/main/java/com/dsh/other/feignclient/SiteClient.java
index 2a5e117..e71c1a3 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/feignclient/SiteClient.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/feignclient/SiteClient.java
@@ -1,6 +1,7 @@
 package com.dsh.other.feignclient;
 
 import com.dsh.other.entity.SiteBooking;
+import com.dsh.other.feignclient.model.BillingDataRequestVo;
 import com.dsh.other.feignclient.model.SiteVo;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -13,7 +14,7 @@
 public interface SiteClient {
 
     @PostMapping("/base/site/queryPaymentSiteDetail")
-    List<SiteBooking> getAllSiteBookingList(@RequestBody Integer appUserId);
+    List<SiteBooking> getAllSiteBookingList(@RequestBody BillingDataRequestVo requestVo);
 
     @PostMapping("/base/site/queryPlaypaiGoldSiteDetail")
     List<SiteBooking> wanpaiGoldSiteBookingList(@RequestBody Integer appUserId);
diff --git a/cloud-server-other/src/main/java/com/dsh/other/feignclient/model/BillingDataRequestVo.java b/cloud-server-other/src/main/java/com/dsh/other/feignclient/model/BillingDataRequestVo.java
new file mode 100644
index 0000000..9e324e4
--- /dev/null
+++ b/cloud-server-other/src/main/java/com/dsh/other/feignclient/model/BillingDataRequestVo.java
@@ -0,0 +1,21 @@
+package com.dsh.other.feignclient.model;
+
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class BillingDataRequestVo {
+
+    @ApiModelProperty(value = "开始时间")
+    private Date monthStart = null;
+
+    @ApiModelProperty(value = "结束时间时间")
+    private Date monthEnd = null;
+
+    @ApiModelProperty(value = "用户id")
+    private Integer appUserId;
+
+}

--
Gitblit v1.7.1