Quellcode durchsuchen

代金券、优惠券提交

zjy vor 4 Wochen
Ursprung
Commit
006a4a9673

+ 3 - 0
alien-entity/src/main/java/shop/alien/entity/store/vo/LifeDiscountCouponVo.java

@@ -28,6 +28,9 @@ public class LifeDiscountCouponVo {
 
     private static final long serialVersionUID = 1L;
 
+    @ApiModelProperty(value = "主键ID")
+    private Integer id;
+
     @ApiModelProperty(value = "用户券id")
     private Integer userCouponId;
 

+ 30 - 0
alien-entity/src/main/java/shop/alien/entity/storePlatform/vo/LifeCouponPlatformVo.java

@@ -0,0 +1,30 @@
+package shop.alien.entity.storePlatform.vo;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import lombok.Data;
+
+/**
+ * 优惠券
+ */
+@Data
+@JsonInclude
+public class LifeCouponPlatformVo {
+
+    // 通用参数
+    public Integer pageNum;
+    public Integer pageSize;
+    public String storeId;
+    public String name;
+
+    // 代金券列表
+    public String status;
+    public Integer dataType;
+
+    // 优惠券列表
+    public Integer couponsFromType; // 默认1
+    public Integer couponStatus;//优惠券状态:1:进行中 2:已结束 3:草稿
+
+    // 优惠券还是代金券
+    public Integer couponType; // 1代金券 2优惠券
+
+}

+ 20 - 0
alien-entity/src/main/java/shop/alien/entity/storePlatform/vo/LifeDiscountCouponPlatformVo.java

@@ -0,0 +1,20 @@
+package shop.alien.entity.storePlatform.vo;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import lombok.Data;
+import shop.alien.entity.store.vo.LifeDiscountCouponVo;
+
+/**
+ * 优惠券
+ */
+@Data
+@JsonInclude
+public class LifeDiscountCouponPlatformVo {
+
+    // 代金券列表
+    public IPage<LifeCouponPlatformDto> couponList;
+    // 优惠券列表
+    public IPage<LifeDiscountCouponVo> discountList;
+
+}

+ 10 - 0
alien-entity/src/main/java/shop/alien/mapper/LifeDiscountCouponMapper.java

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Constants;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
+import org.apache.ibatis.annotations.Update;
 import shop.alien.entity.store.LifeDiscountCoupon;
 import shop.alien.entity.store.vo.LifeDiscountCouponPlatformVo;
 
@@ -38,4 +39,13 @@ public interface LifeDiscountCouponMapper extends BaseMapper<LifeDiscountCoupon>
     @Select("select a.*, b.store_name  from life_discount_coupon a left join store_info b on a.store_id = b.id where a.store_id= #{id}")
     LifeDiscountCouponPlatformVo getOnePlatformCoupon(@Param("id") Integer id);
 
+
+    /**
+     * 查询平台优惠券详情
+     *
+     * @param id
+     * @return LifeDiscountCouponPlatformVo
+     */
+    @Update("UPDATE life_discount_coupon SET single_qty = #{singleQty} where id= #{id}")
+    Integer updateCouponById(@Param("id") Integer id, @Param("singleQty") Integer singleQty);
 }

+ 30 - 32
alien-store-platform/src/main/java/shop/alien/storeplatform/controller/LifeCouponPlatformController.java

@@ -11,9 +11,16 @@ import shop.alien.entity.result.R;
 import shop.alien.entity.store.EssentialHolidayComparison;
 import shop.alien.entity.store.LifeCoupon;
 import shop.alien.entity.store.StoreGroupInfo;
+import shop.alien.entity.store.UserLoginInfo;
 import shop.alien.entity.store.vo.LifeCouponStatusVo;
+import shop.alien.entity.store.vo.LifeDiscountCouponVo;
 import shop.alien.entity.storePlatform.vo.LifeCouponPlatformDto;
+import shop.alien.entity.storePlatform.vo.LifeCouponPlatformVo;
+import shop.alien.entity.storePlatform.vo.LifeDiscountCouponPlatformVo;
 import shop.alien.storeplatform.service.LifeCouponPlatformService;
+import shop.alien.storeplatform.service.LifeDiscountCouponPlatformService;
+import shop.alien.util.common.TokenInfo;
+import springfox.documentation.annotations.ApiIgnore;
 
 import java.util.Map;
 
@@ -35,6 +42,8 @@ public class LifeCouponPlatformController {
 
     private final LifeCouponPlatformService lifeCouponService;
 
+    private final LifeDiscountCouponPlatformService lifeDiscountCouponPlatformService;
+
     /**
      * 新建或更新代金券
      * 根据代金券是否存在ID判断是新增还是更新操作
@@ -91,38 +100,6 @@ public class LifeCouponPlatformController {
     }
 
     /**
-     * 分页查询代金券列表
-     * 支持按门店、状态、名称、数据类型、审核状态等条件筛选
-     *
-     * @param pageNum 页码
-     * @param pageSize 每页数量
-     * @param storeId 门店ID
-     * @param status 状态
-     * @param name 优惠券名称
-     * @param reviewType 审核状态
-     * @param dataType 数据类型(0:正式数据, 1:草稿数据)
-     * @return R<IPage<LifeCouponPlatformDto>> 分页代金券列表
-     * @author alien-cloud
-     * @date 2025-11-18
-     */
-    @ApiOperation("代金劵列表")
-    @ApiImplicitParams({@ApiImplicitParam(name = "pageNum", value = "页数", dataType = "Integer", paramType = "query", required = true), @ApiImplicitParam(name = "pageSize", value = "页容", dataType = "Integer", paramType = "query", required = true), @ApiImplicitParam(name = "storeId", value = "门店id", dataType = "Integer", paramType = "query", required = true), @ApiImplicitParam(name = "status", value = "状态", dataType = "Integer", paramType = "query", required = false), @ApiImplicitParam(name = "name", value = "名称", dataType = "Integer", paramType = "query"), @ApiImplicitParam(name = "dataType", value = "数据类型: 0:正式数据, 1:草稿数据", dataType = "Integer", paramType = "query", defaultValue = "0")})
-    @GetMapping("/getCouponList")
-    private R<IPage<LifeCouponPlatformDto>> getCouponList(@RequestParam(value = "pageNum", defaultValue = "1") int pageNum,
-                                                          @RequestParam(value = "pageSize", defaultValue = "10") int pageSize,
-                                                          @RequestParam("storeId") String storeId,
-                                                          @RequestParam("status") String status,
-                                                          @RequestParam(value = "name", required = false) String name,
-                                                          @RequestParam(value = "reviewType", required = false) String reviewType,
-                                                          @RequestParam(value = "dataType", defaultValue = "0") Integer dataType) {
-        log.info("LifeCouponController.getCouponList?page={},size={},storeId={},status={},name={},dataType={}", pageNum, pageSize, storeId, status, name, dataType);
-        if (StringUtils.isBlank(storeId)) {
-            return R.data(null, "当前用户未入住!!!");
-        }
-        return R.data(lifeCouponService.getCouponList(pageNum, pageSize, storeId, status, name, dataType, reviewType));
-    }
-
-    /**
      * 暂停或恢复优惠券
      * 修改优惠券的状态,实现上架、下架等操作
      *
@@ -257,5 +234,26 @@ public class LifeCouponPlatformController {
         }
         return R.fail("失败");
     }
+
+    @ApiOperation("代金劵/优惠券列表")
+    @PostMapping("/getCouponList")
+    private R<LifeDiscountCouponPlatformVo> getCouponList(@ApiIgnore @TokenInfo UserLoginInfo userLoginInfo,
+                                                          @RequestBody LifeCouponPlatformVo lifeCouponPlatformVo) {
+        log.info("LifeCouponController.getCouponList?lifeCouponPlatformVo={}", lifeCouponPlatformVo);
+        if (StringUtils.isBlank(lifeCouponPlatformVo.getStoreId())) {
+            return R.data(null, "当前用户未入住!!!");
+        }
+        LifeDiscountCouponPlatformVo vo = new LifeDiscountCouponPlatformVo();
+        if (lifeCouponPlatformVo.getCouponType() == 1) {
+            vo.setCouponList(lifeCouponService.getCouponList(lifeCouponPlatformVo.getPageNum(), lifeCouponPlatformVo.getPageSize(), lifeCouponPlatformVo.getStoreId(),
+                    lifeCouponPlatformVo.getStatus(), lifeCouponPlatformVo.getName()));
+        } else {
+            vo.setDiscountList(lifeDiscountCouponPlatformService.getStoreAllCouponList(lifeCouponPlatformVo.getStoreId(), userLoginInfo,
+                    lifeCouponPlatformVo.getPageNum(), lifeCouponPlatformVo.getPageSize(), lifeCouponPlatformVo.getName(), lifeCouponPlatformVo.getCouponsFromType(), lifeCouponPlatformVo.getCouponStatus()));
+        }
+
+        return R.data(vo);
+    }
+
 }
 

+ 1 - 3
alien-store-platform/src/main/java/shop/alien/storeplatform/service/LifeCouponPlatformService.java

@@ -63,13 +63,11 @@ public interface LifeCouponPlatformService extends IService<LifeCoupon> {
      * @param storeId 商户ID
      * @param status 状态
      * @param name 优惠券名称
-     * @param dataType 数据类型
-     * @param reviewType 审核状态
      * @return IPage<LifeCouponPlatformDto> 分页优惠券列表
      * @author alien-cloud
      * @date 2025-11-18
      */
-    IPage<LifeCouponPlatformDto> getCouponList(int page, int size, String storeId, String status, String name, Integer dataType, String reviewType);
+    IPage<LifeCouponPlatformDto> getCouponList(int page, int size, String storeId, String status, String name);
 
     /**
      * 更新优惠券状态

+ 16 - 0
alien-store-platform/src/main/java/shop/alien/storeplatform/service/LifeDiscountCouponQuantumRulesPlatformService.java

@@ -0,0 +1,16 @@
+package shop.alien.storeplatform.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import shop.alien.entity.store.LifeDiscountCouponQuantumRules;
+
+/**
+ * <p>
+ * 优惠券时间段规则表 服务类
+ * </p>
+ *
+ * @author zjy
+ * @since 2025-02-08
+ */
+public interface LifeDiscountCouponQuantumRulesPlatformService extends IService<LifeDiscountCouponQuantumRules> {
+
+}

+ 8 - 28
alien-store-platform/src/main/java/shop/alien/storeplatform/service/impl/LifeCouponPlatformServiceImpl.java

@@ -169,45 +169,23 @@ public class LifeCouponPlatformServiceImpl extends ServiceImpl<LifeCouponMapper,
      * @param storeId 门店ID
      * @param status 状态
      * @param name 优惠券名称
-     * @param dataType 数据类型(0:正式数据, 1:草稿数据)
-     * @param reviewType 审核状态
      * @return IPage<LifeCouponPlatformDto> 分页优惠券列表
      * @author alien-cloud
      * @date 2025-11-18
      */
     @Override
-    public IPage<LifeCouponPlatformDto> getCouponList(int page, int size, String storeId, String status, String name, Integer dataType, String reviewType) {
+    public IPage<LifeCouponPlatformDto> getCouponList(int page, int size, String storeId, String status, String name) {
 
         LambdaUpdateWrapper<LifeCoupon> wrapper = new LambdaUpdateWrapper<>();
-        if (!StringUtils.isEmpty(reviewType)) {
-            switch (reviewType) {
-                case "0":
-                    wrapper.eq(LifeCoupon::getStatus, "1");
-                    break;
-                case "1":
-                    wrapper.in(LifeCoupon::getStatus, Arrays.asList("2", "4", "5", "6", "7", "8"));
-                    break;
-                case "2":
-                    wrapper.eq(LifeCoupon::getStatus, "3");
-                    break;
-                default:
-                    wrapper.eq(status != null && !status.isEmpty(), LifeCoupon::getStatus, status);
-                    break;
-            }
+        if (status != null && !status.isEmpty() && status.equals("0")) {
+            wrapper.eq(LifeCoupon::getDataType, 1);
         } else {
-            if (dataType == 1) {
-                wrapper.eq(status != null && !status.isEmpty(), LifeCoupon::getStatus, 1);
-            } else {
-                wrapper.eq(status != null && !status.isEmpty(), LifeCoupon::getStatus, status);
-            }
-
+            wrapper.eq(status != null && !status.isEmpty(), LifeCoupon::getStatus, status);
         }
+
         wrapper.eq(storeId != null && !storeId.isEmpty(), LifeCoupon::getStoreId, storeId);
         wrapper.like(name != null && !name.isEmpty(), LifeCoupon::getName, name);
         wrapper.eq(LifeCoupon::getType, 1);
-        if ( dataType != 2 ){
-            wrapper.eq(LifeCoupon::getDataType, dataType);
-        }
 //        修改排序 按照status(0草稿/1待审核/2未开始/3审核拒绝/4已售罄/5进行中/6已下架/7已结束/8=2+手动下架)   审核拒绝>待审核>进行中>已售罄,已下架,已结束(同等优先级的情况下,按照审核时间的倒序显示)
         wrapper.last("ORDER BY CASE " +
                 "WHEN status = 3 THEN 0 " +  // 审核拒绝
@@ -244,7 +222,9 @@ public class LifeCouponPlatformServiceImpl extends ServiceImpl<LifeCouponMapper,
 
 
             if (coupon.getStatus() == 1) {
-                dtoRecord.setReviewType("待审核");
+                if (coupon.getDataType().equals("0")) {
+                    dtoRecord.setReviewType("待审核");
+                }
             } else if (coupon.getStatus() == 2 || coupon.getStatus() == 4 || coupon.getStatus() == 5 || coupon.getStatus() == 6 || coupon.getStatus() == 7 ) {
                 dtoRecord.setReviewType("审核通过");
             } else if (coupon.getStatus() == 3) {

+ 2 - 0
alien-util/src/main/java/shop/alien/util/common/constant/DiscountCouponEnum.java

@@ -23,6 +23,8 @@ public enum DiscountCouponEnum {
     SUSPEND_GET("3"),
     //已售罄
     HAVE_SOLD_OUT("4"),
+    // 草稿
+    DRAFT("5"),
 
     /**限制使用规则*/
     //周规则限制