Эх сурвалжийг харах

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

Dev

See merge request quanshu/mp-server!81
zhong chunping 3 жил өмнө
parent
commit
cfa173828a

+ 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);
+	}
 
 	/**
 	 * 新增代金券信息

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

@@ -11,11 +11,13 @@ 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.GoodsListVO;
+import com.qs.mp.admin.domain.vo.GoodsVO;
 import com.qs.mp.admin.service.IGoodsCategoryService;
 import com.qs.mp.admin.service.IGoodsService;
 import com.qs.mp.admin.service.IGoodsSkuService;
 import com.qs.mp.channel.domain.Channel;
 import com.qs.mp.channel.domain.param.ChannelParam;
+import com.qs.mp.channel.domain.vo.ChannelOperDataVO;
 import com.qs.mp.channel.domain.vo.ChannelVO;
 import com.qs.mp.channel.service.IChannelService;
 import com.qs.mp.channel.service.IChannelUserRelService;
@@ -27,6 +29,7 @@ import com.qs.mp.common.enums.CouponStatusEnum;
 import com.qs.mp.common.enums.ErrorCodeEnum;
 import com.qs.mp.system.domain.SysUser;
 import com.qs.mp.system.service.ISysUserService;
+import com.qs.mp.utils.SecurityUtils;
 import com.qs.mp.web.controller.common.BaseApiController;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -38,6 +41,7 @@ import java.util.List;
 import java.util.Map;
 
 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;
@@ -88,6 +92,36 @@ public class GoodsMgrController extends BaseApiController {
 		res.setRows(goodsListVOList);
 		return res;
 	}
+	
+	/**
+	 * 获取商品详情信息
+	 *
+	 * @param
+	 * @return
+	 */
+	@PostMapping(value = "/detail")
+	public AjaxResult getGoodsDetail(@RequestBody JSONObject jsonObject) {
+		String goodsId = jsonObject.getString("goodsId");
+	    if (StringUtils.isBlank(goodsId)){
+	      return error(ErrorCodeEnum.ERROR_CODE_1001);
+	    }
+		Goods goods = goodsService.getById(goodsId);
+		if(null == goods || StringUtils.isBlank(goods.getGoodsId())) {
+			 return error(ErrorCodeEnum.ERROR_CODE_1001);
+		}
+		GoodsVO goodsVo = new GoodsVO();
+		BeanUtils.copyProperties(goods, goodsVo);
+		// 查询SKU列表
+		List<GoodsSku> skuList = new ArrayList<>();
+		LambdaQueryWrapper<GoodsSku> queryWrapper = new LambdaQueryWrapper<>();
+		queryWrapper.eq(GoodsSku::getGoodsId, goods.getGoodsId());
+		queryWrapper.orderByDesc(GoodsSku::getCreatedTime);
+		skuList = goodsSkuService.list(queryWrapper);
+		if(null != skuList && skuList.size() > 0) {
+			goodsVo.setSkuList(skuList);
+		}
+		return AjaxResult.success(goodsVo);
+	}
 
 
 	/**
@@ -136,7 +170,7 @@ public class GoodsMgrController extends BaseApiController {
 	}
 
 	/**
-	 * 编辑子渠道信息
+	 * 编辑商品信息
 	 * @param
 	 * @return
 	 */

+ 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;
 
 }

+ 22 - 5
mp-service/src/main/java/com/qs/mp/admin/domain/vo/GoodsVO.java

@@ -1,5 +1,7 @@
 package com.qs.mp.admin.domain.vo;
 
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.qs.mp.admin.domain.GoodsSku;
 
 import java.util.Date;
@@ -20,11 +22,7 @@ public class GoodsVO {
 	 */
 	private List<GoodsSku> skuList;
 
-	/**
-	 * 主键
-	 */
 	private String goodsId;
-
 	/**
 	 * 商品标题
 	 */
@@ -60,6 +58,11 @@ public class GoodsVO {
 	 */
 	private Integer value;
 
+	/**
+	 * 商品成本
+	 */
+	private Integer cost;
+
 	/**
 	 * 库存数量
 	 */
@@ -70,11 +73,26 @@ public class GoodsVO {
 	 */
 	private Integer exchangedQty;
 
+	/**
+	 * 兑换大厅是否展示,0不展示,1展示
+	 */
+	private Integer exchangeShow;
+
+	/**
+	 * 是否多sku,0否,1是
+	 */
+	private Integer multiSku;
+
 	/**
 	 * 上架状态;上架/下架
 	 */
 	private String status;
 
+	/**
+	 * 逻辑删除标识
+	 */
+	private Integer isDeleted;
+
 	/**
 	 * 创建时间
 	 */
@@ -84,5 +102,4 @@ public class GoodsVO {
 	 * 更新时间
 	 */
 	private Date updatedTime;
-
 }