Browse Source

优惠券详情查询接口

guanglong 3 years ago
parent
commit
634e2cf3c4

+ 52 - 1
mp-admin/src/main/java/com/qs/mp/web/controller/api/admin/CouponMgrController.java

@@ -4,10 +4,15 @@ import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.qs.mp.admin.domain.Coupon;
+import com.qs.mp.admin.domain.CouponChannel;
 import com.qs.mp.admin.domain.CouponTicket;
+import com.qs.mp.admin.domain.Goods;
+import com.qs.mp.admin.domain.GoodsSku;
 import com.qs.mp.admin.domain.param.CouponParam;
 import com.qs.mp.admin.domain.param.GoodsParam;
 import com.qs.mp.admin.domain.vo.CouponVO;
+import com.qs.mp.admin.domain.vo.GoodsVO;
+import com.qs.mp.admin.service.ICouponChannelService;
 import com.qs.mp.admin.service.ICouponService;
 import com.qs.mp.admin.service.ICouponTicketService;
 import com.qs.mp.common.constant.UserConstants;
@@ -24,10 +29,14 @@ import ma.glasnost.orika.MapperFacade;
 
 import java.math.BigDecimal;
 import java.util.ArrayList;
+import java.util.Collection;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collector;
+import java.util.stream.Collectors;
 
 import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 import org.springframework.validation.annotation.Validated;
@@ -52,6 +61,9 @@ public class CouponMgrController extends BaseApiController {
 
 	@Autowired
 	private ICouponTicketService couponTicketService;
+	
+	@Autowired
+	private ICouponChannelService couponChannelService;
 
 	@Autowired
 	private ISysUserService userService;
@@ -75,7 +87,46 @@ public class CouponMgrController extends BaseApiController {
 		list = couponService.list(queryWrapper);
 		return getDataTable(list);
 	}
-
+	
+	
+	/**
+	 * 获取代金券详情信息
+	 *
+	 * @param
+	 * @return
+	 */
+	@PostMapping(value = "/detail")
+	public AjaxResult getCouponDetail(@RequestBody JSONObject jsonObject) {
+		String couponId = jsonObject.getString("couponId");
+	    if (StringUtils.isBlank(couponId)){
+	      return error(ErrorCodeEnum.ERROR_CODE_1001);
+	    }
+	    Coupon coupon = couponService.getById(couponId);
+		if(null == coupon || StringUtils.isBlank(coupon.getCouponId())) {
+			 return error(ErrorCodeEnum.ERROR_CODE_1001);
+		}
+		CouponVO couponVO = new CouponVO();
+		BeanUtils.copyProperties(coupon, couponVO);
+		// 查询盲票限制列表
+		List<CouponTicket> ticketList = new ArrayList<>();
+		LambdaQueryWrapper<CouponTicket> ticketQueryWrapper = new LambdaQueryWrapper<>();
+		ticketQueryWrapper.eq(CouponTicket::getCouponId, coupon.getCouponId());
+		ticketQueryWrapper.orderByDesc(CouponTicket::getCreatedTime);
+		ticketList = couponTicketService.list(ticketQueryWrapper);
+		if(null != ticketList && ticketList.size() > 0) {
+			couponVO.setBoxIdList(ticketList.stream().map(CouponTicket::getBoxId).collect(Collectors.toList()));
+		}
+		// 查询门店限制列表
+		List<CouponChannel> channelList = new ArrayList<>();
+		LambdaQueryWrapper<CouponChannel> channelQueryWrapper = new LambdaQueryWrapper<>();
+		channelQueryWrapper.eq(CouponChannel::getCouponId, coupon.getCouponId());
+		channelQueryWrapper.orderByDesc(CouponChannel::getCreatedTime);
+		channelList = couponChannelService.list(channelQueryWrapper);
+		if(null != channelList && channelList.size() > 0) {
+			couponVO.setChannelIdList(channelList.stream().map(CouponChannel::getChannelId).collect(Collectors.toList()));
+		}
+		return AjaxResult.success(couponVO);
+	}
 
 	/**
 	 * 新增代金券信息

+ 1 - 1
mp-admin/src/main/java/com/qs/mp/web/controller/api/admin/GoodsMgrController.java

@@ -100,7 +100,7 @@ public class GoodsMgrController extends BaseApiController {
 	 * @return
 	 */
 	@PostMapping(value = "/detail")
-	public AjaxResult getSiteDetail(@RequestBody JSONObject jsonObject) {
+	public AjaxResult getGoodsDetail(@RequestBody JSONObject jsonObject) {
 		String goodsId = jsonObject.getString("goodsId");
 	    if (StringUtils.isBlank(goodsId)){
 	      return error(ErrorCodeEnum.ERROR_CODE_1001);

+ 118 - 107
mp-service/src/main/java/com/qs/mp/admin/domain/vo/CouponVO.java

@@ -2,12 +2,16 @@ package com.qs.mp.admin.domain.vo;
 
 import com.alibaba.fastjson.annotation.JSONField;
 import com.alibaba.fastjson.serializer.SerializerFeature;
+import com.qs.mp.admin.domain.CouponTicket;
+import com.qs.mp.admin.domain.GoodsSku;
 import com.qs.mp.common.enums.CouponDiscountTypeEnum;
 import com.qs.mp.common.enums.CouponDistributeTypeEnum;
 import com.qs.mp.common.enums.CouponStatusEnum;
 import com.qs.mp.common.enums.CouponTypeEnum;
 import com.qs.mp.common.enums.CouponUseAreaEnum;
 import java.util.Date;
+import java.util.List;
+
 import lombok.Data;
 
 /**
@@ -18,112 +22,119 @@ import lombok.Data;
 @Data
 public class CouponVO {
 
-
-  /**
-   * 主键
-   */
-  private String couponId;
-
-  /**
-   * 标题
-   */
-  private String title;
-
-  /**
-   * 类型;1用户盲票购买优惠券、2用户门店消费优惠券、3经销商盲票采购优惠券
-   */
-  @JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString)
-  private CouponTypeEnum type;
-
-  /**
-   * 图片
-   */
-  private String picUrl;
-
-  /**
-   * 使用说明
-   */
-  private String description;
-
-  /**
-   * 优惠类型;1代金券、2折扣券、3兑换券
-   */
-  @JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString)
-  private CouponDiscountTypeEnum discountType;
-
-  /**
-   * 优惠金额(比例)
-   */
-  private Integer discount;
-
-  /**
-   * 最低消费金额
-   */
-  private Integer minOrderAmt;
-
-  /**
-   * 渠道代金券,渠道承担比例
-   */
-  private Integer channelSharedRate;
-
-
-  /**
-   * 状态;off下架 on正常
-   */
-  @JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString)
-  private CouponStatusEnum status;
-
-  /**
-   * 使用范围;0通用 1生成券时指定范围 2发放时动态指定范围
-   */
-  @JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString)
-  private CouponUseAreaEnum useArea;
-
-  /**
-   * 发放方式;1系统发放 2用户主动领取
-   */
-  @JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString)
-  private CouponDistributeTypeEnum distributeType;
-
-  /**
-   * 叠加使用;0不允许 1允许
-   */
-  private Integer compositeUse;
-
-  /**
-   * 有效期天数;从领券后开始多少天有效,0则使用绝对有效期
-   */
-  private Integer dueDays;
-
-  /**
-   * 有效期开始日
-   */
-  private Date validStart;
-
-  /**
-   * 有效期结束日
-   */
-  private Date validEnd;
-
-  /**
-   * 总量;总量为0代表不限量
-   */
-  private Integer quantity;
-
-  /**
-   * 已发放量
-   */
-  private Integer distributeQty;
-
-  /**
-   * 创建时间
-   */
-  private Date createdTime;
-
-  /**
-   * 更新时间
-   */
-  private Date updatedTime;
-
+	/**
+	 * 盲票购买优惠券使用范围限制列表
+	 */
+	private List<String> boxIdList;
+
+	/**
+	 * 经销商门店优惠券使用范围限制列表
+	 */
+	private List<Long> channelIdList;
+
+	/**
+	 * 主键
+	 */
+	private String couponId;
+
+	/**
+	 * 标题
+	 */
+	private String title;
+
+	/**
+	 * 类型;1用户盲票购买优惠券、2用户门店消费优惠券、3经销商盲票采购优惠券
+	 */
+	@JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString)
+	private CouponTypeEnum type;
+
+	/**
+	 * 图片
+	 */
+	private String picUrl;
+
+	/**
+	 * 使用说明
+	 */
+	private String description;
+
+	/**
+	 * 优惠类型;1代金券、2折扣券、3兑换券
+	 */
+	@JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString)
+	private CouponDiscountTypeEnum discountType;
+
+	/**
+	 * 优惠金额(比例)
+	 */
+	private Integer discount;
+
+	/**
+	 * 最低消费金额
+	 */
+	private Integer minOrderAmt;
+
+	/**
+	 * 渠道代金券,渠道承担比例
+	 */
+	private Integer channelSharedRate;
+
+	/**
+	 * 状态;off下架 on正常
+	 */
+	@JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString)
+	private CouponStatusEnum status;
+
+	/**
+	 * 使用范围;0通用 1生成券时指定范围 2发放时动态指定范围
+	 */
+	@JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString)
+	private CouponUseAreaEnum useArea;
+
+	/**
+	 * 发放方式;1系统发放 2用户主动领取
+	 */
+	@JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString)
+	private CouponDistributeTypeEnum distributeType;
+
+	/**
+	 * 叠加使用;0不允许 1允许
+	 */
+	private Integer compositeUse;
+
+	/**
+	 * 有效期天数;从领券后开始多少天有效,0则使用绝对有效期
+	 */
+	private Integer dueDays;
+
+	/**
+	 * 有效期开始日
+	 */
+	private Date validStart;
+
+	/**
+	 * 有效期结束日
+	 */
+	private Date validEnd;
+
+	/**
+	 * 总量;总量为0代表不限量
+	 */
+	private Integer quantity;
+
+	/**
+	 * 已发放量
+	 */
+	private Integer distributeQty;
+
+	/**
+	 * 创建时间
+	 */
+	private Date createdTime;
+
+	/**
+	 * 更新时间
+	 */
+	private Date updatedTime;
 
 }