cup 3 лет назад
Родитель
Сommit
31f8bdb3f6

+ 41 - 0
mp-admin/src/main/java/com/qs/mp/web/controller/api/admin/CouponPkgMgrController.java

@@ -0,0 +1,41 @@
+package com.qs.mp.web.controller.api.admin;
+
+import com.qs.mp.admin.domain.param.CouponPkgParam;
+import com.qs.mp.admin.service.ICouponPkgService;
+import com.qs.mp.common.core.domain.AjaxResult;
+import com.qs.mp.web.controller.common.BaseApiController;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+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;
+
+/**
+ * 券包管理API
+ *
+ * @author Cup
+ * @date 2022/5/6
+ */
+@Api(tags = "券包管理API")
+@RestController
+@RequestMapping("/api/v1/mp/admin/coupon/pkg/*")
+public class CouponPkgMgrController extends BaseApiController {
+
+
+    @Autowired
+    private ICouponPkgService couponPkgService;
+
+    @PostMapping("/create")
+    @ApiOperation("创建券包")
+    public AjaxResult create(@RequestBody CouponPkgParam couponPkgParam) {
+
+        couponPkgService.create(couponPkgParam);
+
+        return AjaxResult.success();
+    }
+
+
+}

+ 16 - 0
mp-service/src/main/java/com/qs/mp/admin/domain/param/CouponPkgItemParam.java

@@ -0,0 +1,16 @@
+package com.qs.mp.admin.domain.param;
+
+import com.qs.mp.admin.domain.CouponPkgItem;
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+/**
+ * 券包明细入参类
+ * @author Cup
+ * @date 2022/5/6
+ */
+@ApiModel("券包明细入参类")
+@Data
+public class CouponPkgItemParam extends CouponPkgItem {
+
+}

+ 22 - 0
mp-service/src/main/java/com/qs/mp/admin/domain/param/CouponPkgParam.java

@@ -0,0 +1,22 @@
+package com.qs.mp.admin.domain.param;
+
+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 CouponPkgParam extends CouponPkg {
+
+    @ApiModelProperty("券包明细列表")
+    List<CouponPkgItemParam> couponPkgItemList;
+
+}

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

@@ -2,6 +2,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;
 
 /**
  * <p>
@@ -13,4 +14,12 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface ICouponPkgService extends IService<CouponPkg> {
 
+    /**
+     * 新增券包
+     *
+     * @param couponPkgParam
+     * @return
+     */
+    boolean create(CouponPkgParam couponPkgParam);
+
 }

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

@@ -1,10 +1,22 @@
 package com.qs.mp.admin.service.impl;
 
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 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.mapper.CouponPkgMapper;
+import com.qs.mp.admin.service.ICouponPkgItemService;
 import com.qs.mp.admin.service.ICouponPkgService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.qs.mp.common.exception.ServiceException;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.ArrayList;
+import java.util.List;
 
 /**
  * <p>
@@ -17,4 +29,32 @@ import org.springframework.stereotype.Service;
 @Service
 public class CouponPkgServiceImpl extends ServiceImpl<CouponPkgMapper, CouponPkg> implements ICouponPkgService {
 
+    @Autowired
+    private ICouponPkgItemService couponPkgItemService;
+
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public boolean create(CouponPkgParam couponPkgParam) {
+
+        List<CouponPkgItemParam> couponPkgItemList = couponPkgParam.getCouponPkgItemList();
+        if (CollectionUtils.isEmpty(couponPkgItemList)) {
+            throw new ServiceException("券包明细不能为空");
+        }
+
+        CouponPkg couponPkg = new CouponPkg();
+        BeanUtils.copyProperties(couponPkgParam, couponPkg);
+        this.save(couponPkg);
+
+        List<CouponPkgItem> params = new ArrayList<>();
+        for (CouponPkgItemParam couponPkgItemParam : couponPkgItemList) {
+            CouponPkgItem param = new CouponPkgItem();
+            param.setCouponPkgId(couponPkg.getId());
+            param.setCouponId(couponPkgItemParam.getCouponId());
+            params.add(param);
+        }
+        couponPkgItemService.saveBatch(params);
+
+        return true;
+    }
 }