Browse Source

券包详情

cup 3 năm trước cách đây
mục cha
commit
8f18f04559

+ 15 - 4
mp-admin/src/main/java/com/qs/mp/web/controller/api/admin/CouponPkgMgrController.java

@@ -3,6 +3,8 @@ package com.qs.mp.web.controller.api.admin;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.qs.mp.admin.domain.CouponPkg;
 import com.qs.mp.admin.domain.param.CouponPkgParam;
+import com.qs.mp.admin.domain.vo.CouponPkgVO;
+import com.qs.mp.admin.service.ICouponPkgItemService;
 import com.qs.mp.admin.service.ICouponPkgService;
 import com.qs.mp.common.core.domain.AjaxResult;
 import com.qs.mp.common.core.page.TableDataInfo;
@@ -13,10 +15,7 @@ import io.swagger.annotations.ApiResponse;
 import io.swagger.annotations.ApiResponses;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
 
@@ -35,6 +34,8 @@ public class CouponPkgMgrController extends BaseApiController {
     @Autowired
     private ICouponPkgService couponPkgService;
 
+
+
     @PostMapping("/create")
     @ApiOperation("创建券包")
     public AjaxResult create(@RequestBody CouponPkgParam couponPkgParam) {
@@ -65,4 +66,14 @@ public class CouponPkgMgrController extends BaseApiController {
         return getDataTable(list);
     }
 
+    @PostMapping("/detail/{id}")
+    @ApiOperation("券包详情")
+    @ApiResponses(
+            @ApiResponse(code = 200, message = "券包详情", response = CouponPkgVO.class)
+    )
+    public AjaxResult detail(@PathVariable("id") Long id) {
+
+        return AjaxResult.success(couponPkgService.detail(id));
+    }
+
 }

+ 35 - 0
mp-service/src/main/java/com/qs/mp/admin/domain/vo/CouponPkgItemVO.java

@@ -0,0 +1,35 @@
+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.CouponPkgItem;
+import com.qs.mp.common.enums.CouponTypeEnum;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 券包明细出参类
+ *
+ * @author Cup
+ * @date 2022/5/6
+ */
+@ApiModel("券包明细出参类")
+@Data
+public class CouponPkgItemVO extends CouponPkgItem {
+
+    @ApiModelProperty("优惠券名称")
+    private String title;
+
+    @ApiModelProperty("券优惠金额(比例)")
+    private Integer discount;
+
+    @ApiModelProperty("类型;1用户盲票购买优惠券、2用户门店消费优惠券、3经销商盲票采购优惠券")
+    @JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString)
+    private CouponTypeEnum type;
+
+    @ApiModelProperty("有效期天数;从领券后开始多少天有效,0则使用绝对有效期")
+    private Integer dueDays;
+
+
+}

+ 23 - 0
mp-service/src/main/java/com/qs/mp/admin/domain/vo/CouponPkgVO.java

@@ -0,0 +1,23 @@
+package com.qs.mp.admin.domain.vo;
+
+import com.qs.mp.admin.domain.CouponPkg;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 券包出参类
+ *
+ * @author Cup
+ * @date 2022/5/6
+ */
+@ApiModel("券包出参类")
+@Data
+public class CouponPkgVO extends CouponPkg {
+
+    @ApiModelProperty("券包明细列表")
+    List<CouponPkgItemVO> couponPkgItemVOList;
+
+}

+ 12 - 0
mp-service/src/main/java/com/qs/mp/admin/mapper/CouponPkgItemMapper.java

@@ -1,7 +1,13 @@
 package com.qs.mp.admin.mapper;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
 import com.qs.mp.admin.domain.CouponPkgItem;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.qs.mp.admin.domain.vo.CouponPkgItemVO;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * @auther quanshu
@@ -10,4 +16,10 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface CouponPkgItemMapper extends BaseMapper<CouponPkgItem> {
 
+    /**
+     * 查询券包明细列表
+     * @param queryWrapper
+     * @return
+     */
+    List<CouponPkgItemVO> selectDetail(@Param(Constants.WRAPPER) QueryWrapper<CouponPkgItemVO> queryWrapper);
 }

+ 9 - 0
mp-service/src/main/java/com/qs/mp/admin/service/ICouponPkgItemService.java

@@ -2,6 +2,9 @@ package com.qs.mp.admin.service;
 
 import com.qs.mp.admin.domain.CouponPkgItem;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.qs.mp.admin.domain.vo.CouponPkgItemVO;
+
+import java.util.List;
 
 /**
  * <p>
@@ -13,4 +16,10 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface ICouponPkgItemService extends IService<CouponPkgItem> {
 
+    /**
+     * 获取券包明细列表
+     * @param id
+     * @return
+     */
+    List<CouponPkgItemVO> listDetailByCouponPkgId(Long id);
 }

+ 8 - 0
mp-service/src/main/java/com/qs/mp/admin/service/ICouponPkgService.java

@@ -3,6 +3,7 @@ package com.qs.mp.admin.service;
 import com.qs.mp.admin.domain.CouponPkg;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.qs.mp.admin.domain.param.CouponPkgParam;
+import com.qs.mp.admin.domain.vo.CouponPkgVO;
 
 /**
  * <p>
@@ -30,4 +31,11 @@ public interface ICouponPkgService extends IService<CouponPkg> {
      */
     boolean updateCouponPkg(CouponPkgParam couponPkgParam);
 
+    /**
+     * 券包详情
+     *
+     * @param id
+     * @return
+     */
+    CouponPkgVO detail(Long id);
 }

+ 10 - 0
mp-service/src/main/java/com/qs/mp/admin/service/impl/CouponPkgItemServiceImpl.java

@@ -1,11 +1,15 @@
 package com.qs.mp.admin.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.qs.mp.admin.domain.CouponPkgItem;
+import com.qs.mp.admin.domain.vo.CouponPkgItemVO;
 import com.qs.mp.admin.mapper.CouponPkgItemMapper;
 import com.qs.mp.admin.service.ICouponPkgItemService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * <p>
  * 券包明细表 服务实现类
@@ -17,4 +21,10 @@ import org.springframework.stereotype.Service;
 @Service
 public class CouponPkgItemServiceImpl extends ServiceImpl<CouponPkgItemMapper, CouponPkgItem> implements ICouponPkgItemService {
 
+    @Override
+    public List<CouponPkgItemVO> listDetailByCouponPkgId(Long id) {
+        QueryWrapper<CouponPkgItemVO> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("coupon_pkg_id", id);
+        return this.getBaseMapper().selectDetail(queryWrapper);
+    }
 }

+ 19 - 0
mp-service/src/main/java/com/qs/mp/admin/service/impl/CouponPkgServiceImpl.java

@@ -7,6 +7,8 @@ import com.qs.mp.admin.domain.CouponPkg;
 import com.qs.mp.admin.domain.CouponPkgItem;
 import com.qs.mp.admin.domain.param.CouponPkgItemParam;
 import com.qs.mp.admin.domain.param.CouponPkgParam;
+import com.qs.mp.admin.domain.vo.CouponPkgItemVO;
+import com.qs.mp.admin.domain.vo.CouponPkgVO;
 import com.qs.mp.admin.mapper.CouponPkgMapper;
 import com.qs.mp.admin.service.ICouponPkgItemService;
 import com.qs.mp.admin.service.ICouponPkgService;
@@ -36,6 +38,23 @@ public class CouponPkgServiceImpl extends ServiceImpl<CouponPkgMapper, CouponPkg
     @Autowired
     private ICouponPkgItemService couponPkgItemService;
 
+    @Override
+    public CouponPkgVO detail(Long id) {
+        CouponPkgVO couponPkgVO = new CouponPkgVO();
+
+        // 封装券包信息
+        CouponPkg couponPkg = this.getById(id);
+        if (Objects.isNull(couponPkg)) {
+            throw new ServiceException("券包不存在");
+        }
+        BeanUtils.copyProperties(couponPkg, couponPkgVO);
+
+        // 封装券包明细信息
+        List<CouponPkgItemVO> list = couponPkgItemService.listDetailByCouponPkgId(id);
+        couponPkgVO.setCouponPkgItemVOList(list);
+
+        return couponPkgVO;
+    }
 
     @Override
     @Transactional(rollbackFor = Exception.class)

+ 15 - 0
mp-service/src/main/resources/mapper/admin/CouponPkgItemMapper.xml

@@ -16,4 +16,19 @@
         id, coupon_pkg_id, coupon_id, created_time, updated_time
     </sql>
 
+    <select id="selectDetail" resultType="com.qs.mp.admin.domain.vo.CouponPkgItemVO">
+        select t1.id,
+            t1.coupon_pkg_id,
+            t1.coupon_id,
+            t1.coupon_num,
+            t1.created_time,
+            t1.updated_time,
+            t2.title,
+            t2.discount,
+            t2.type,
+            t2.due_days
+        from mp_coupon_pkg_item t1
+        left join mp_coupon t2 on t1.coupon_id = t2.coupon_id
+        ${ew.customSqlSegment}
+    </select>
 </mapper>