Просмотр исходного кода

Merge branch 'dev' into 'mp-server-test'

Dev

See merge request quanshu/mp-server!628
jiang hao 2 лет назад
Родитель
Сommit
b7d32e4c39

+ 25 - 0
mp-admin/src/main/java/com/qs/mp/web/controller/api/user/MarketingController.java

@@ -1,6 +1,7 @@
 package com.qs.mp.web.controller.api.user;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.qs.mp.admin.domain.Marketing;
 import com.qs.mp.admin.domain.MarketingAwards;
@@ -83,6 +84,30 @@ public class MarketingController extends BaseApiController {
     @Autowired
     private ISysUserService sysUserService;
 
+    @PostMapping("/recent")
+    @ApiOperation("获取已开始且最近要开奖的营销活动")
+    @ApiResponses(
+            @ApiResponse(code = 200, message = "OK", response = UserMarketingListVO.class)
+    )
+    public AjaxResult getRecentMarketing() {
+        Date nowDate = DateUtils.getNowDate();
+        LambdaQueryWrapper<Marketing> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(Marketing::getIsOn, MarketingStatusEnum.ON.getValue());
+        queryWrapper.eq(Marketing::getTriggerStatus, 0);
+        queryWrapper.le(Marketing::getStartTime, nowDate);
+        queryWrapper.ge(Marketing::getEndTime, nowDate);
+        queryWrapper.orderByAsc(Marketing::getEndTime, Marketing::getStartTime);
+        List<Marketing> marketingList = marketingService.list(queryWrapper);
+        if (CollectionUtils.isNotEmpty(marketingList)) {
+            UserMarketingListVO userMarketingListVO = new UserMarketingListVO();
+            BeanUtils.copyProperties(marketingList.get(0), userMarketingListVO);
+            return success(userMarketingListVO);
+        }
+
+        return AjaxResult.success();
+    }
+
+
     @PostMapping("/userInfo/{inviteCode}")
     @ApiOperation("通过邀请码获取用户信息")
     @ApiResponses(

+ 9 - 0
mp-admin/src/main/java/com/qs/mp/web/controller/api/user/UserTicketOrderController.java

@@ -36,6 +36,9 @@ import io.swagger.annotations.ApiOperation;
 import java.util.List;
 import java.util.concurrent.TimeUnit;
 import javax.validation.Valid;
+
+import io.swagger.annotations.ApiResponse;
+import io.swagger.annotations.ApiResponses;
 import lombok.AllArgsConstructor;
 import ma.glasnost.orika.MapperFacade;
 import org.apache.pulsar.client.api.PulsarClientException;
@@ -210,6 +213,9 @@ public class UserTicketOrderController extends BaseApiController {
    */
   @PostMapping("/order/coupon/list")
   @ApiOperation(value = "查询可用优惠券" , notes = "在下单页面选择")
+  @ApiResponses(
+          @ApiResponse(code = 200, message = "成功", response = UserCouponVO.class)
+  )
   public AjaxResult listCoupon(@RequestBody TicketOrderParam param) {
     Long userId = SecurityUtils.getUserId();
     TicketOrderSettleVO orderSettleVO = redisCache.getCacheObject(RedisKey.build(RedisKey.USER_TICKET_ORDER_KEY, userId));
@@ -236,6 +242,9 @@ public class UserTicketOrderController extends BaseApiController {
 
   @PostMapping("/order/coupon/listPage")
   @ApiOperation(value = "查询可用优惠券,分页" , notes = "在下单页面选择")
+  @ApiResponses(
+          @ApiResponse(code = 200, message = "成功", response = UserCouponVO.class)
+  )
   public TableDataInfo listPageCoupon(@RequestBody TicketOrderParam param) {
     Long userId = SecurityUtils.getUserId();
     TicketOrderSettleVO orderSettleVO = redisCache.getCacheObject(RedisKey.build(RedisKey.USER_TICKET_ORDER_KEY, userId));

+ 2 - 1
mp-framework/src/main/java/com/qs/mp/framework/config/SecurityConfig.java

@@ -144,7 +144,8 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter
                     "/api/v1/mp/user/marketing/list",
                     "/api/v1/mp/user/marketing/detail/*",
                     "/api/v1/mp/user/marketing/userInfo/*",
-                    "/api/v1/mp/user/exchange/category/listTree"
+                    "/api/v1/mp/user/exchange/category/listTree",
+                    "/api/v1/mp/user/marketing/recent"
                 ).permitAll()
                 // 除上面外的所有请求全部需要鉴权认证
                 .anyRequest().authenticated()

+ 16 - 0
mp-service/src/main/java/com/qs/mp/user/domain/UserCoupon.java

@@ -10,6 +10,9 @@ import com.baomidou.mybatisplus.annotation.Version;
 import com.qs.mp.common.enums.UserCouponStatusEnum;
 import java.io.Serializable;
 import java.util.Date;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 /**
@@ -19,6 +22,7 @@ import lombok.Data;
  */
 @TableName("mp_user_coupon")
 @Data
+@ApiModel("用户的优惠券实体类")
 public class UserCoupon implements Serializable {
 
   private static final long serialVersionUID = 1L;
@@ -26,60 +30,70 @@ public class UserCoupon implements Serializable {
   /**
    * 主键
    */
+  @ApiModelProperty("主键")
   @TableId(value = "id", type = IdType.INPUT)
   private String id;
 
   /**
    * 用户ID
    */
+  @ApiModelProperty("用户id")
   @TableField("user_id")
   private Long userId;
 
   /**
    * 核销码
    */
+  @ApiModelProperty("核销码")
   @TableField("verify_code")
   private String verifyCode;
 
   /**
    * 优惠券ID
    */
+  @ApiModelProperty("优惠券id")
   @TableField("coupon_id")
   private Long couponId;
 
   /**
    * 生效日
    */
+  @ApiModelProperty("生效日")
   @TableField("valid_start")
   private Date validStart;
 
   /**
    * 到期日
    */
+  @ApiModelProperty("到期日")
   @TableField("valid_end")
   private Date validEnd;
 
   /**
    * 适用范围说明
    */
+  @ApiModelProperty("适用范围说明")
   @TableField("use_area_desc")
   private String useAreaDesc;
 
   /**
    * 使用订单ID
    */
+  @ApiModelProperty("使用订单id")
   @TableField("order_id")
   private String orderId;
 
   /**
    * 核销时间
    */
+  @ApiModelProperty("核销时间")
   @TableField("verify_time")
   private Date verifyTime;
 
   /**
    * 状态;1未使用 2已使用 3已过期
    */
+  @ApiModelProperty("状态;1未使用 2已使用 3已过期")
   @TableField("status")
   @JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString)
   private UserCouponStatusEnum status;
@@ -87,12 +101,14 @@ public class UserCoupon implements Serializable {
   /**
    * 创建时间
    */
+  @ApiModelProperty("创建时间")
   @TableField("created_time")
   private Date createdTime;
 
   /**
    * 更新时间
    */
+  @ApiModelProperty("更新时间")
   @TableField("updated_time")
   @Version
   private Date updatedTime;

+ 14 - 0
mp-service/src/main/java/com/qs/mp/user/domain/vo/UserCouponVO.java

@@ -15,6 +15,9 @@ import com.qs.mp.common.enums.UserCouponStatusEnum;
 import com.qs.mp.user.domain.UserCoupon;
 import java.io.Serializable;
 import java.util.Date;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 /**
@@ -23,58 +26,69 @@ import lombok.Data;
  * @create 2022-03-07 20:45:43
  */
 @Data
+@ApiModel("用户的优惠券出参类")
 public class UserCouponVO extends UserCoupon {
   /**
    * 标题
    */
+  @ApiModelProperty("标题")
   private String title;
 
   /**
    * 类型;1用户盲票购买优惠券、2用户门店消费优惠券、3经销商盲票采购优惠券
    */
+  @ApiModelProperty("类型;1用户盲票购买优惠券、2用户门店消费优惠券、3经销商盲票采购优惠券")
   @JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString)
   private CouponTypeEnum type;
 
   /**
    * 图片
    */
+  @ApiModelProperty("图片")
   private String picUrl;
 
   /**
    * 使用说明
    */
+  @ApiModelProperty("使用说明")
   private String description;
 
   /**
    * 优惠类型;1代金券、2折扣券、3兑换券
    */
+  @ApiModelProperty("优惠类型;1代金券、2折扣券、3兑换券")
   @JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString)
   private CouponDiscountTypeEnum discountType;
 
   /**
    * 优惠金额(比例)
    */
+  @ApiModelProperty("优惠金额(比例)")
   private Integer discount;
 
   /**
    * 最低消费金额
    */
+  @ApiModelProperty("最低消费金额")
   private Integer minOrderAmt;
 
   /**
    * 使用范围;0通用 1生成券时指定范围 2发放时动态指定范围
    */
+  @ApiModelProperty("使用范围;0通用 1生成券时指定范围 2发放时动态指定范围")
   @JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString)
   private CouponUseAreaEnum useArea;
 
   /**
    * 叠加使用;0不允许 1允许
    */
+  @ApiModelProperty("叠加使用;0不允许 1允许")
   private Integer compositeUse;
 
   /**
    * 是否选中
    */
+  @ApiModelProperty("是否选中")
   private boolean checked = false;