Browse Source

优惠券接口完善

macro 4 years ago
parent
commit
a3c557b7f4

+ 22 - 3
mall-portal/src/main/java/com/macro/mall/portal/controller/UmsMemberCouponController.java

@@ -1,6 +1,7 @@
 package com.macro.mall.portal.controller;
 
 import com.macro.mall.common.api.CommonResult;
+import com.macro.mall.model.SmsCoupon;
 import com.macro.mall.model.SmsCouponHistory;
 import com.macro.mall.portal.domain.CartPromotionItem;
 import com.macro.mall.portal.domain.SmsCouponHistoryDetail;
@@ -39,14 +40,24 @@ public class UmsMemberCouponController {
         return CommonResult.success(null,"领取成功");
     }
 
+    @ApiOperation("获取用户优惠券历史列表")
+    @ApiImplicitParam(name = "useStatus", value = "优惠券筛选类型:0->未使用;1->已使用;2->已过期",
+            allowableValues = "0,1,2", paramType = "query", dataType = "integer")
+    @RequestMapping(value = "/listHistory", method = RequestMethod.GET)
+    @ResponseBody
+    public CommonResult<List<SmsCouponHistory>> listHistory(@RequestParam(value = "useStatus", required = false) Integer useStatus) {
+        List<SmsCouponHistory> couponHistoryList = memberCouponService.listHistory(useStatus);
+        return CommonResult.success(couponHistoryList);
+    }
+
     @ApiOperation("获取用户优惠券列表")
     @ApiImplicitParam(name = "useStatus", value = "优惠券筛选类型:0->未使用;1->已使用;2->已过期",
             allowableValues = "0,1,2", paramType = "query", dataType = "integer")
     @RequestMapping(value = "/list", method = RequestMethod.GET)
     @ResponseBody
-    public CommonResult<List<SmsCouponHistory>> list(@RequestParam(value = "useStatus", required = false) Integer useStatus) {
-        List<SmsCouponHistory> couponHistoryList = memberCouponService.list(useStatus);
-        return CommonResult.success(couponHistoryList);
+    public CommonResult<List<SmsCoupon>> list(@RequestParam(value = "useStatus", required = false) Integer useStatus) {
+        List<SmsCoupon> couponList = memberCouponService.list(useStatus);
+        return CommonResult.success(couponList);
     }
 
     @ApiOperation("获取登录会员购物车的相关优惠券")
@@ -59,4 +70,12 @@ public class UmsMemberCouponController {
         List<SmsCouponHistoryDetail> couponHistoryList = memberCouponService.listCart(cartPromotionItemList, type);
         return CommonResult.success(couponHistoryList);
     }
+
+    @ApiOperation("获取当前商品相关优惠券")
+    @RequestMapping(value = "/listByProduct/{productId}", method = RequestMethod.GET)
+    @ResponseBody
+    public CommonResult<List<SmsCoupon>> listByProduct(@PathVariable Long productId) {
+        List<SmsCoupon> couponHistoryList = memberCouponService.listByProduct(productId);
+        return CommonResult.success(couponHistoryList);
+    }
 }

+ 3 - 0
mall-portal/src/main/java/com/macro/mall/portal/dao/SmsCouponHistoryDao.java

@@ -1,6 +1,8 @@
 package com.macro.mall.portal.dao;
 
+import com.macro.mall.model.SmsCoupon;
 import com.macro.mall.portal.domain.SmsCouponHistoryDetail;
+import io.swagger.models.auth.In;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -11,4 +13,5 @@ import java.util.List;
  */
 public interface SmsCouponHistoryDao {
     List<SmsCouponHistoryDetail> getDetailList(@Param("memberId") Long memberId);
+    List<SmsCoupon> getCouponList(@Param("memberId") Long memberId, @Param("useStatus")Integer useStatus);
 }

+ 13 - 3
mall-portal/src/main/java/com/macro/mall/portal/service/UmsMemberCouponService.java

@@ -1,5 +1,6 @@
 package com.macro.mall.portal.service;
 
+import com.macro.mall.model.SmsCoupon;
 import com.macro.mall.model.SmsCouponHistory;
 import com.macro.mall.portal.domain.CartPromotionItem;
 import com.macro.mall.portal.domain.SmsCouponHistoryDetail;
@@ -19,13 +20,22 @@ public interface UmsMemberCouponService {
     void add(Long couponId);
 
     /**
-     * 获取优惠券列表
-     * @param useStatus 优惠券的使用状态
+     * 获取优惠券历史列表
      */
-    List<SmsCouponHistory> list(Integer useStatus);
+    List<SmsCouponHistory> listHistory(Integer useStatus);
 
     /**
      * 根据购物车信息获取可用优惠券
      */
     List<SmsCouponHistoryDetail> listCart(List<CartPromotionItem> cartItemList, Integer type);
+
+    /**
+     * 获取当前商品相关优惠券
+     */
+    List<SmsCoupon> listByProduct(Long productId);
+
+    /**
+     * 获取用户优惠券列表
+     */
+    List<SmsCoupon> list(Integer useStatus);
 }

+ 17 - 0
mall-portal/src/main/resources/dao/SmsCouponHistoryDao.xml

@@ -33,4 +33,21 @@
         WHERE ch.member_id = #{memberId}
         AND ch.use_status = 0
     </select>
+
+    <select id="getCouponList" resultMap="com.macro.mall.mapper.SmsCouponMapper.BaseResultMap">
+        SELECT
+          c.*
+        FROM
+            sms_coupon_history ch
+                LEFT JOIN sms_coupon c ON ch.coupon_id = c.id
+        WHERE ch.member_id = #{memberId}
+        <if test="useStatus!=null and useStatus!=2">
+            AND ch.use_status = #{useStatus}
+            AND NOW() > c.start_time
+            AND c.end_time > NOW()
+        </if>
+        <if test="useStatus!=null and useStatus==2">
+            AND NOW() > c.end_time
+        </if>
+    </select>
 </mapper>