优惠券接口完善

This commit is contained in:
macro 2020-06-27 10:32:10 +08:00
parent 0a2ccc5c99
commit a3c557b7f4
4 changed files with 55 additions and 6 deletions

View File

@ -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);
}
}

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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>