Kaynağa Gözat

Merge branch 'dev' of 113.31.163.91:quanshu/mp-server into dev

chunping 3 yıl önce
ebeveyn
işleme
0cff18b8f7
38 değiştirilmiş dosya ile 1323 ekleme ve 0 silme
  1. 92 0
      mp-admin/src/main/java/com/qs/mp/web/controller/api/admin/ShippingTemplateController.java
  2. 76 0
      mp-service/src/main/java/com/qs/mp/admin/domain/CouponPkg.java
  3. 63 0
      mp-service/src/main/java/com/qs/mp/admin/domain/CouponPkgItem.java
  4. 4 0
      mp-service/src/main/java/com/qs/mp/admin/domain/TicketBox.java
  5. 62 0
      mp-service/src/main/java/com/qs/mp/admin/domain/TicketBoxChannel.java
  6. 26 0
      mp-service/src/main/java/com/qs/mp/admin/domain/param/ShippingTemplateParam.java
  7. 19 0
      mp-service/src/main/java/com/qs/mp/admin/domain/param/ShippingTemplateRuleAreaParam.java
  8. 25 0
      mp-service/src/main/java/com/qs/mp/admin/domain/param/ShippingTemplateRuleParam.java
  9. 18 0
      mp-service/src/main/java/com/qs/mp/admin/domain/vo/ShippingTemplateRuleAreaVO.java
  10. 24 0
      mp-service/src/main/java/com/qs/mp/admin/domain/vo/ShippingTemplateRuleVO.java
  11. 22 0
      mp-service/src/main/java/com/qs/mp/admin/domain/vo/ShippingTemplateVO.java
  12. 13 0
      mp-service/src/main/java/com/qs/mp/admin/mapper/CouponPkgItemMapper.java
  13. 13 0
      mp-service/src/main/java/com/qs/mp/admin/mapper/CouponPkgMapper.java
  14. 13 0
      mp-service/src/main/java/com/qs/mp/admin/mapper/TicketBoxChannelMapper.java
  15. 16 0
      mp-service/src/main/java/com/qs/mp/admin/service/ICouponPkgItemService.java
  16. 16 0
      mp-service/src/main/java/com/qs/mp/admin/service/ICouponPkgService.java
  17. 16 0
      mp-service/src/main/java/com/qs/mp/admin/service/ITicketBoxChannelService.java
  18. 20 0
      mp-service/src/main/java/com/qs/mp/admin/service/impl/CouponPkgItemServiceImpl.java
  19. 20 0
      mp-service/src/main/java/com/qs/mp/admin/service/impl/CouponPkgServiceImpl.java
  20. 20 0
      mp-service/src/main/java/com/qs/mp/admin/service/impl/TicketBoxChannelServiceImpl.java
  21. 55 0
      mp-service/src/main/java/com/qs/mp/common/domain/ShippingTemplate.java
  22. 90 0
      mp-service/src/main/java/com/qs/mp/common/domain/ShippingTemplateRule.java
  23. 90 0
      mp-service/src/main/java/com/qs/mp/common/domain/ShippingTemplateRuleArea.java
  24. 13 0
      mp-service/src/main/java/com/qs/mp/common/mapper/ShippingTemplateMapper.java
  25. 13 0
      mp-service/src/main/java/com/qs/mp/common/mapper/ShippingTemplateRuleAreaMapper.java
  26. 13 0
      mp-service/src/main/java/com/qs/mp/common/mapper/ShippingTemplateRuleMapper.java
  27. 16 0
      mp-service/src/main/java/com/qs/mp/common/service/IShippingTemplateRuleAreaService.java
  28. 16 0
      mp-service/src/main/java/com/qs/mp/common/service/IShippingTemplateRuleService.java
  29. 47 0
      mp-service/src/main/java/com/qs/mp/common/service/IShippingTemplateService.java
  30. 20 0
      mp-service/src/main/java/com/qs/mp/common/service/impl/ShippingTemplateRuleAreaServiceImpl.java
  31. 20 0
      mp-service/src/main/java/com/qs/mp/common/service/impl/ShippingTemplateRuleServiceImpl.java
  32. 229 0
      mp-service/src/main/java/com/qs/mp/common/service/impl/ShippingTemplateServiceImpl.java
  33. 19 0
      mp-service/src/main/resources/mapper/admin/CouponPkgItemMapper.xml
  34. 21 0
      mp-service/src/main/resources/mapper/admin/CouponPkgMapper.xml
  35. 19 0
      mp-service/src/main/resources/mapper/admin/TicketBoxChannelMapper.xml
  36. 18 0
      mp-service/src/main/resources/mapper/common/ShippingTemplateMapper.xml
  37. 23 0
      mp-service/src/main/resources/mapper/common/ShippingTemplateRuleAreaMapper.xml
  38. 23 0
      mp-service/src/main/resources/mapper/common/ShippingTemplateRuleMapper.xml

+ 92 - 0
mp-admin/src/main/java/com/qs/mp/web/controller/api/admin/ShippingTemplateController.java

@@ -0,0 +1,92 @@
+package com.qs.mp.web.controller.api.admin;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.qs.mp.admin.domain.param.ShippingTemplateParam;
+import com.qs.mp.admin.domain.vo.ShippingTemplateVO;
+import com.qs.mp.common.core.domain.AjaxResult;
+import com.qs.mp.common.core.page.TableDataInfo;
+import com.qs.mp.common.domain.ShippingTemplate;
+import com.qs.mp.common.service.IShippingTemplateService;
+import com.qs.mp.web.controller.common.BaseApiController;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiResponse;
+import io.swagger.annotations.ApiResponses;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 运费模板相关接口
+ *
+ * @author Cup
+ * @date 2022/5/5
+ */
+@Api(tags = "运费模板相关接口")
+@RestController
+@RequestMapping("/api/v1/mp/admin/shipping/template/*")
+public class ShippingTemplateController extends BaseApiController {
+
+    @Autowired
+    private IShippingTemplateService shippingTemplateService;
+
+    @PostMapping("/create")
+    @PreAuthorize("@ss.hasPermi('setting:template:add')")
+    @ApiOperation("新增运费模板")
+    public AjaxResult create(@RequestBody ShippingTemplateParam shippingTemplateParam) {
+        // 新增运费模板
+        shippingTemplateService.create(shippingTemplateParam);
+
+        return AjaxResult.success();
+    }
+
+    @PostMapping("/update")
+    @PreAuthorize("@ss.hasPermi('setting:template:edit')")
+    @ApiOperation("更新运费模板")
+    public AjaxResult update(@RequestBody ShippingTemplateParam shippingTemplateParam){
+        // 修改运费模板
+        shippingTemplateService.updateShippingTemplate(shippingTemplateParam);
+        return AjaxResult.success();
+    }
+
+
+    @PostMapping("/detail/{id}")
+    @PreAuthorize("@ss.hasPermi('setting:template:query')")
+    @ApiOperation("运费模板详情")
+    @ApiResponses(
+            @ApiResponse(code = 200, message = "返回运费模板详情",response = ShippingTemplateVO.class)
+    )
+    public AjaxResult detail(@PathVariable("id") Long id){
+        // 运费模板详情
+        return AjaxResult.success(shippingTemplateService.detail(id));
+    }
+
+    @PostMapping("list")
+    @PreAuthorize("@ss.hasPermi('setting:template:list')")
+    @ApiOperation("运费模板列表")
+    @ApiResponses(
+            @ApiResponse(code = 200, message = "返回运费模板列表",response = ShippingTemplate.class)
+    )
+    public TableDataInfo list(){
+        startPage();
+        List<ShippingTemplate> list = shippingTemplateService.list(new LambdaQueryWrapper<ShippingTemplate>()
+                .orderByDesc(ShippingTemplate::getCreatedTime));
+        // 运费模板列表
+        return getDataTable(list);
+    }
+
+    @PostMapping("/delete/{id}")
+    @PreAuthorize("@ss.hasPermi('setting:template:remove')")
+    @ApiOperation("删除运费模板")
+    public AjaxResult delete(@PathVariable("id") Long id){
+        // 删除运费模板
+       boolean falg = shippingTemplateService.deleteShippingTemplate(id);
+        return AjaxResult.success();
+    }
+
+
+
+
+}

+ 76 - 0
mp-service/src/main/java/com/qs/mp/admin/domain/CouponPkg.java

@@ -0,0 +1,76 @@
+package com.qs.mp.admin.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+
+import java.util.Date;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableField;
+
+import java.io.Serializable;
+
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @describe 券包表实体类
+ * @auther quanshu
+ * @create 2022-04-29 17:43:38
+ */
+@TableName("mp_coupon_pkg")
+@Data
+@ApiModel("券包表实体类")
+public class CouponPkg implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty("主键")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 券包标题
+     */
+    @ApiModelProperty("券包标题")
+    @TableField("title")
+    private String title;
+
+    /**
+     * 面值
+     */
+    @ApiModelProperty("面值")
+    @TableField("face_price")
+    private Integer facePrice;
+
+    /**
+     * 优惠券数量
+     */
+    @ApiModelProperty("优惠券数量")
+    @TableField("coupon_num")
+    private Integer couponNum;
+
+    /**
+     * 券包,状态 0待上架 1 上架 2下架
+     */
+    @ApiModelProperty("券包,状态 0待上架 1 上架 2下架")
+    @TableField("status")
+    private Integer status;
+
+    /**
+     * 创建时间
+     */
+    @ApiModelProperty("创建时间")
+    @TableField("created_time")
+    private Date createdTime;
+
+    /**
+     * 更新时间
+     */
+    @ApiModelProperty("更新时间")
+    @TableField("updated_time")
+    private Date updatedTime;
+
+
+}

+ 63 - 0
mp-service/src/main/java/com/qs/mp/admin/domain/CouponPkgItem.java

@@ -0,0 +1,63 @@
+package com.qs.mp.admin.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+
+import java.util.Date;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableField;
+
+import java.io.Serializable;
+
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @describe 券包明细表实体类
+ * @auther quanshu
+ * @create 2022-04-29 17:43:54
+ */
+@TableName("mp_coupon_pkg_item")
+@Data
+@ApiModel("券包明细表实体类")
+public class CouponPkgItem implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+
+    @ApiModelProperty("主键")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 券包id
+     */
+    @ApiModelProperty("券包id")
+    @TableField("coupon_pkg_id")
+    private Long couponPkgId;
+
+    /**
+     * 优惠券id
+     */
+    @ApiModelProperty("优惠券id")
+    @TableField("coupon_id")
+    private Long couponId;
+
+    /**
+     * 创建时间
+     */
+    @ApiModelProperty("创建时间")
+    @TableField("created_time")
+    private Date createdTime;
+
+    /**
+     * 更新时间
+     */
+    @ApiModelProperty("更新时间")
+    @TableField("updated_time")
+    private Date updatedTime;
+
+
+}

+ 4 - 0
mp-service/src/main/java/com/qs/mp/admin/domain/TicketBox.java

@@ -149,6 +149,10 @@ public class TicketBox implements Serializable {
   @TableField("sale_comm_rate")
   private BigDecimal saleCommRate;
 
+  @ApiModelProperty("销售渠道类型:1所有渠道,2指定渠道")
+  @TableField("sale_channel_type")
+  private Integer saleChannelType;
+
   /**
    * 规格属性
    */

+ 62 - 0
mp-service/src/main/java/com/qs/mp/admin/domain/TicketBoxChannel.java

@@ -0,0 +1,62 @@
+package com.qs.mp.admin.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+
+import java.util.Date;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableField;
+
+import java.io.Serializable;
+
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @describe 盲票销售渠道关联表实体类
+ * @auther quanshu
+ * @create 2022-04-29 17:44:27
+ */
+@TableName("mp_ticket_box_channel")
+@Data
+@ApiModel("盲票销售渠道关联表实体类")
+public class TicketBoxChannel implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty("主键")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 盲票组id
+     */
+    @ApiModelProperty("盲票组id")
+    @TableField("box_id")
+    private String boxId;
+
+    /**
+     * 渠道id
+     */
+    @ApiModelProperty("渠道id")
+    @TableField("channel_id")
+    private Long channelId;
+
+    /**
+     * 创建时间
+     */
+    @ApiModelProperty("创建时间")
+    @TableField("created_time")
+    private Date createdTime;
+
+    /**
+     * 更新时间
+     */
+    @ApiModelProperty("更新时间")
+    @TableField("updated_time")
+    private Date updatedTime;
+
+
+}

+ 26 - 0
mp-service/src/main/java/com/qs/mp/admin/domain/param/ShippingTemplateParam.java

@@ -0,0 +1,26 @@
+package com.qs.mp.admin.domain.param;
+
+
+import com.qs.mp.common.domain.ShippingTemplate;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 运费模板入参类
+ *
+ * @author Cup
+ * @date 2022/5/5
+ */
+@ApiModel("运费模板入参类")
+@Data
+public class ShippingTemplateParam extends ShippingTemplate {
+
+
+    @ApiModelProperty("运费模板相关规则列表")
+    List<ShippingTemplateRuleParam> shippingTemplateRuleList;
+
+
+}

+ 19 - 0
mp-service/src/main/java/com/qs/mp/admin/domain/param/ShippingTemplateRuleAreaParam.java

@@ -0,0 +1,19 @@
+package com.qs.mp.admin.domain.param;
+
+
+import com.qs.mp.common.domain.ShippingTemplateRuleArea;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 运费模板规则区域入参类
+ *
+ * @author Cup
+ * @date 2022/5/5
+ */
+@ApiModel("运费模板规则区域入参类")
+@Data
+public class ShippingTemplateRuleAreaParam extends ShippingTemplateRuleArea {
+
+}

+ 25 - 0
mp-service/src/main/java/com/qs/mp/admin/domain/param/ShippingTemplateRuleParam.java

@@ -0,0 +1,25 @@
+package com.qs.mp.admin.domain.param;
+
+
+import com.qs.mp.common.domain.ShippingTemplateRule;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 运费模板规则入参类
+ *
+ * @author Cup
+ * @date 2022/5/5
+ */
+@ApiModel("运费模板规则入参类")
+@Data
+public class ShippingTemplateRuleParam extends ShippingTemplateRule {
+
+
+    @ApiModelProperty("运费规则相关区域列表")
+    List<ShippingTemplateRuleAreaParam> shippingTemplateRuleAreaList;
+
+}

+ 18 - 0
mp-service/src/main/java/com/qs/mp/admin/domain/vo/ShippingTemplateRuleAreaVO.java

@@ -0,0 +1,18 @@
+package com.qs.mp.admin.domain.vo;
+
+
+import com.qs.mp.common.domain.ShippingTemplateRuleArea;
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+/**
+ * 运费模板规则区域出参类
+ *
+ * @author Cup
+ * @date 2022/5/5
+ */
+@ApiModel("运费模板规则区域出参类")
+@Data
+public class ShippingTemplateRuleAreaVO extends ShippingTemplateRuleArea {
+
+}

+ 24 - 0
mp-service/src/main/java/com/qs/mp/admin/domain/vo/ShippingTemplateRuleVO.java

@@ -0,0 +1,24 @@
+package com.qs.mp.admin.domain.vo;
+
+
+import com.qs.mp.common.domain.ShippingTemplateRule;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 运费模板规则出参类
+ *
+ * @author Cup
+ * @date 2022/5/5
+ */
+@ApiModel("运费模板规则出参类")
+@Data
+public class ShippingTemplateRuleVO extends ShippingTemplateRule {
+
+    @ApiModelProperty("运费规则相关区域列表")
+    List<ShippingTemplateRuleAreaVO> shippingTemplateRuleAreaList;
+
+}

+ 22 - 0
mp-service/src/main/java/com/qs/mp/admin/domain/vo/ShippingTemplateVO.java

@@ -0,0 +1,22 @@
+package com.qs.mp.admin.domain.vo;
+
+import com.qs.mp.common.domain.ShippingTemplate;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 运费模板出参类
+ * @author Cup
+ * @date 2022/5/5
+ */
+@ApiModel("运费模板出参类")
+@Data
+public class ShippingTemplateVO extends ShippingTemplate {
+
+    @ApiModelProperty("运费模板相关规则列表")
+    List<ShippingTemplateRuleVO> shippingTemplateRuleList;
+
+}

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

@@ -0,0 +1,13 @@
+package com.qs.mp.admin.mapper;
+
+import com.qs.mp.admin.domain.CouponPkgItem;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * @auther quanshu
+ * @create 2022-04-29 17:43:54
+ * @describe 券包明细表mapper类
+ */
+public interface CouponPkgItemMapper extends BaseMapper<CouponPkgItem> {
+
+}

+ 13 - 0
mp-service/src/main/java/com/qs/mp/admin/mapper/CouponPkgMapper.java

@@ -0,0 +1,13 @@
+package com.qs.mp.admin.mapper;
+
+import com.qs.mp.admin.domain.CouponPkg;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * @auther quanshu
+ * @create 2022-04-29 17:43:38
+ * @describe 券包表mapper类
+ */
+public interface CouponPkgMapper extends BaseMapper<CouponPkg> {
+
+}

+ 13 - 0
mp-service/src/main/java/com/qs/mp/admin/mapper/TicketBoxChannelMapper.java

@@ -0,0 +1,13 @@
+package com.qs.mp.admin.mapper;
+
+import com.qs.mp.admin.domain.TicketBoxChannel;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * @auther quanshu
+ * @create 2022-04-29 17:44:27
+ * @describe 盲票销售渠道关联表mapper类
+ */
+public interface TicketBoxChannelMapper extends BaseMapper<TicketBoxChannel> {
+
+}

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

@@ -0,0 +1,16 @@
+package com.qs.mp.admin.service;
+
+import com.qs.mp.admin.domain.CouponPkgItem;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 券包明细表 服务类
+ * </p>
+ *
+ * @author quanshu
+ * @since 2022-04-29
+ */
+public interface ICouponPkgItemService extends IService<CouponPkgItem> {
+
+}

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

@@ -0,0 +1,16 @@
+package com.qs.mp.admin.service;
+
+import com.qs.mp.admin.domain.CouponPkg;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 券包表 服务类
+ * </p>
+ *
+ * @author quanshu
+ * @since 2022-04-29
+ */
+public interface ICouponPkgService extends IService<CouponPkg> {
+
+}

+ 16 - 0
mp-service/src/main/java/com/qs/mp/admin/service/ITicketBoxChannelService.java

@@ -0,0 +1,16 @@
+package com.qs.mp.admin.service;
+
+import com.qs.mp.admin.domain.TicketBoxChannel;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 盲票销售渠道关联表 服务类
+ * </p>
+ *
+ * @author quanshu
+ * @since 2022-04-29
+ */
+public interface ITicketBoxChannelService extends IService<TicketBoxChannel> {
+
+}

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

@@ -0,0 +1,20 @@
+package com.qs.mp.admin.service.impl;
+
+import com.qs.mp.admin.domain.CouponPkgItem;
+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;
+
+/**
+ * <p>
+ * 券包明细表 服务实现类
+ * </p>
+ *
+ * @author quanshu
+ * @since 2022-04-29
+ */
+@Service
+public class CouponPkgItemServiceImpl extends ServiceImpl<CouponPkgItemMapper, CouponPkgItem> implements ICouponPkgItemService {
+
+}

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

@@ -0,0 +1,20 @@
+package com.qs.mp.admin.service.impl;
+
+import com.qs.mp.admin.domain.CouponPkg;
+import com.qs.mp.admin.mapper.CouponPkgMapper;
+import com.qs.mp.admin.service.ICouponPkgService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 券包表 服务实现类
+ * </p>
+ *
+ * @author quanshu
+ * @since 2022-04-29
+ */
+@Service
+public class CouponPkgServiceImpl extends ServiceImpl<CouponPkgMapper, CouponPkg> implements ICouponPkgService {
+
+}

+ 20 - 0
mp-service/src/main/java/com/qs/mp/admin/service/impl/TicketBoxChannelServiceImpl.java

@@ -0,0 +1,20 @@
+package com.qs.mp.admin.service.impl;
+
+import com.qs.mp.admin.domain.TicketBoxChannel;
+import com.qs.mp.admin.mapper.TicketBoxChannelMapper;
+import com.qs.mp.admin.service.ITicketBoxChannelService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 盲票销售渠道关联表 服务实现类
+ * </p>
+ *
+ * @author quanshu
+ * @since 2022-04-29
+ */
+@Service
+public class TicketBoxChannelServiceImpl extends ServiceImpl<TicketBoxChannelMapper, TicketBoxChannel> implements ITicketBoxChannelService {
+
+}

+ 55 - 0
mp-service/src/main/java/com/qs/mp/common/domain/ShippingTemplate.java

@@ -0,0 +1,55 @@
+package com.qs.mp.common.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+
+import java.util.Date;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableField;
+
+import java.io.Serializable;
+
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @describe 运费模板表实体类
+ * @auther quanshu
+ * @create 2022-04-29 17:38:31
+ */
+@TableName("mp_shipping_template")
+@Data
+@ApiModel("运费模板表实体类")
+public class ShippingTemplate implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty("主键")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 运费模板标题
+     */
+    @ApiModelProperty("运费模板标题")
+    @TableField("title")
+    private String title;
+
+    /**
+     * 创建时间
+     */
+    @ApiModelProperty("创建时间")
+    @TableField("created_time")
+    private Date createdTime;
+
+    /**
+     * 更新时间
+     */
+    @ApiModelProperty("更新时间")
+    @TableField("updated_time")
+    private Date updatedTime;
+
+
+}

+ 90 - 0
mp-service/src/main/java/com/qs/mp/common/domain/ShippingTemplateRule.java

@@ -0,0 +1,90 @@
+package com.qs.mp.common.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+
+import java.util.Date;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableField;
+
+import java.io.Serializable;
+
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @describe 运费规则表实体类
+ * @auther quanshu
+ * @create 2022-04-29 17:38:57
+ */
+@TableName("mp_shipping_template_rule")
+@Data
+@ApiModel("运费规则表实体类")
+public class ShippingTemplateRule implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty("主键")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 运费模板ID
+     */
+    @ApiModelProperty("运费模板ID")
+    @TableField("shipping_template_id")
+    private Long shippingTemplateId;
+
+    /**
+     * 类型 1发货,2不发货,默认1
+     */
+    @ApiModelProperty("类型 1发货,2不发货,默认1")
+    @TableField("type")
+    private Integer type;
+
+    /**
+     * 默认数量
+     */
+    @ApiModelProperty("默认数量")
+    @TableField("default_number")
+    private Integer defaultNumber;
+
+    /**
+     * 默认价格
+     */
+    @ApiModelProperty("默认价格")
+    @TableField("default_price")
+    private Integer defaultPrice;
+
+    /**
+     * 新增数量
+     */
+    @ApiModelProperty("新增数量")
+    @TableField("create_number")
+    private Integer createNumber;
+
+    /**
+     * 新增价格
+     */
+    @ApiModelProperty("新增价格")
+    @TableField("create_price")
+    private Integer createPrice;
+
+    /**
+     * 创建时间
+     */
+    @ApiModelProperty("创建时间")
+    @TableField("created_time")
+    private Date createdTime;
+
+    /**
+     * 更新时间
+     */
+    @ApiModelProperty("更新时间")
+    @TableField("updated_time")
+    private Date updatedTime;
+
+
+}

+ 90 - 0
mp-service/src/main/java/com/qs/mp/common/domain/ShippingTemplateRuleArea.java

@@ -0,0 +1,90 @@
+package com.qs.mp.common.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+
+import java.util.Date;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableField;
+
+import java.io.Serializable;
+
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @describe 运费规则地区关联表实体类
+ * @auther quanshu
+ * @create 2022-04-29 17:39:13
+ */
+@TableName("mp_shipping_template_rule_area")
+@Data
+@ApiModel("运费规则地区关联表实体类")
+public class ShippingTemplateRuleArea implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty("主键")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 运费规则id
+     */
+    @ApiModelProperty("运费规则id")
+    @TableField("shipping_template_rule_id")
+    private Long shippingTemplateRuleId;
+
+    /**
+     * 省份
+     */
+    @ApiModelProperty("省份")
+    @TableField("province")
+    private String province;
+
+    /**
+     * 省份ID
+     */
+    @ApiModelProperty("省份ID")
+    @TableField("province_id")
+    private Long provinceId;
+
+    /**
+     * 市
+     */
+    @ApiModelProperty("市")
+    @TableField("city")
+    private String city;
+
+    /**
+     * 市ID
+     */
+    @ApiModelProperty("市ID")
+    @TableField("city_id")
+    private Long cityId;
+
+    /**
+     * 备注
+     */
+    @ApiModelProperty("备注")
+    @TableField("remark")
+    private String remark;
+
+    /**
+     * 创建时间
+     */
+    @ApiModelProperty("创建时间")
+    @TableField("created_time")
+    private Date createdTime;
+
+    /**
+     * 更新时间
+     */
+    @ApiModelProperty("更新时间")
+    @TableField("updated_time")
+    private Date updatedTime;
+
+
+}

+ 13 - 0
mp-service/src/main/java/com/qs/mp/common/mapper/ShippingTemplateMapper.java

@@ -0,0 +1,13 @@
+package com.qs.mp.common.mapper;
+
+import com.qs.mp.common.domain.ShippingTemplate;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * @auther quanshu
+ * @create 2022-04-29 17:38:31
+ * @describe 运费模板表mapper类
+ */
+public interface ShippingTemplateMapper extends BaseMapper<ShippingTemplate> {
+
+}

+ 13 - 0
mp-service/src/main/java/com/qs/mp/common/mapper/ShippingTemplateRuleAreaMapper.java

@@ -0,0 +1,13 @@
+package com.qs.mp.common.mapper;
+
+import com.qs.mp.common.domain.ShippingTemplateRuleArea;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * @auther quanshu
+ * @create 2022-04-29 17:39:13
+ * @describe 运费规则地区关联表mapper类
+ */
+public interface ShippingTemplateRuleAreaMapper extends BaseMapper<ShippingTemplateRuleArea> {
+
+}

+ 13 - 0
mp-service/src/main/java/com/qs/mp/common/mapper/ShippingTemplateRuleMapper.java

@@ -0,0 +1,13 @@
+package com.qs.mp.common.mapper;
+
+import com.qs.mp.common.domain.ShippingTemplateRule;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * @auther quanshu
+ * @create 2022-04-29 17:38:57
+ * @describe 运费规则表mapper类
+ */
+public interface ShippingTemplateRuleMapper extends BaseMapper<ShippingTemplateRule> {
+
+}

+ 16 - 0
mp-service/src/main/java/com/qs/mp/common/service/IShippingTemplateRuleAreaService.java

@@ -0,0 +1,16 @@
+package com.qs.mp.common.service;
+
+import com.qs.mp.common.domain.ShippingTemplateRuleArea;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 运费规则地区关联表 服务类
+ * </p>
+ *
+ * @author quanshu
+ * @since 2022-04-29
+ */
+public interface IShippingTemplateRuleAreaService extends IService<ShippingTemplateRuleArea> {
+
+}

+ 16 - 0
mp-service/src/main/java/com/qs/mp/common/service/IShippingTemplateRuleService.java

@@ -0,0 +1,16 @@
+package com.qs.mp.common.service;
+
+import com.qs.mp.common.domain.ShippingTemplateRule;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 运费规则表 服务类
+ * </p>
+ *
+ * @author quanshu
+ * @since 2022-04-29
+ */
+public interface IShippingTemplateRuleService extends IService<ShippingTemplateRule> {
+
+}

+ 47 - 0
mp-service/src/main/java/com/qs/mp/common/service/IShippingTemplateService.java

@@ -0,0 +1,47 @@
+package com.qs.mp.common.service;
+
+import com.qs.mp.admin.domain.param.ShippingTemplateParam;
+import com.qs.mp.admin.domain.vo.ShippingTemplateVO;
+import com.qs.mp.common.domain.ShippingTemplate;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 运费模板表 服务类
+ * </p>
+ *
+ * @author quanshu
+ * @since 2022-04-29
+ */
+public interface IShippingTemplateService extends IService<ShippingTemplate> {
+
+    /**
+     * 新增运费模板
+     * @param shippingTemplateParam 运费模板入参类
+     * @return
+     */
+    boolean create(ShippingTemplateParam shippingTemplateParam);
+
+    /**
+     * 更新运费模板
+     * @param shippingTemplateParam 运费模板入参类
+     * @return
+     */
+    boolean updateShippingTemplate(ShippingTemplateParam shippingTemplateParam);
+
+    /**
+     * 根据id查询运费模板详情
+     * @param id    运费模板id
+     * @return
+     */
+    ShippingTemplateVO detail(Long id);
+
+
+    /**
+     * 根据id删除运费模板
+     * @param id    运费模板id
+     * @return
+     */
+    boolean deleteShippingTemplate(Long id);
+
+}

+ 20 - 0
mp-service/src/main/java/com/qs/mp/common/service/impl/ShippingTemplateRuleAreaServiceImpl.java

@@ -0,0 +1,20 @@
+package com.qs.mp.common.service.impl;
+
+import com.qs.mp.common.domain.ShippingTemplateRuleArea;
+import com.qs.mp.common.mapper.ShippingTemplateRuleAreaMapper;
+import com.qs.mp.common.service.IShippingTemplateRuleAreaService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 运费规则地区关联表 服务实现类
+ * </p>
+ *
+ * @author quanshu
+ * @since 2022-04-29
+ */
+@Service
+public class ShippingTemplateRuleAreaServiceImpl extends ServiceImpl<ShippingTemplateRuleAreaMapper, ShippingTemplateRuleArea> implements IShippingTemplateRuleAreaService {
+
+}

+ 20 - 0
mp-service/src/main/java/com/qs/mp/common/service/impl/ShippingTemplateRuleServiceImpl.java

@@ -0,0 +1,20 @@
+package com.qs.mp.common.service.impl;
+
+import com.qs.mp.common.domain.ShippingTemplateRule;
+import com.qs.mp.common.mapper.ShippingTemplateRuleMapper;
+import com.qs.mp.common.service.IShippingTemplateRuleService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 运费规则表 服务实现类
+ * </p>
+ *
+ * @author quanshu
+ * @since 2022-04-29
+ */
+@Service
+public class ShippingTemplateRuleServiceImpl extends ServiceImpl<ShippingTemplateRuleMapper, ShippingTemplateRule> implements IShippingTemplateRuleService {
+
+}

+ 229 - 0
mp-service/src/main/java/com/qs/mp/common/service/impl/ShippingTemplateServiceImpl.java

@@ -0,0 +1,229 @@
+package com.qs.mp.common.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.qs.mp.admin.domain.param.ShippingTemplateParam;
+import com.qs.mp.admin.domain.param.ShippingTemplateRuleAreaParam;
+import com.qs.mp.admin.domain.param.ShippingTemplateRuleParam;
+import com.qs.mp.admin.domain.vo.ShippingTemplateRuleAreaVO;
+import com.qs.mp.admin.domain.vo.ShippingTemplateRuleVO;
+import com.qs.mp.admin.domain.vo.ShippingTemplateVO;
+import com.qs.mp.common.domain.ShippingTemplate;
+import com.qs.mp.common.domain.ShippingTemplateRule;
+import com.qs.mp.common.domain.ShippingTemplateRuleArea;
+import com.qs.mp.common.exception.ServiceException;
+import com.qs.mp.common.mapper.ShippingTemplateMapper;
+import com.qs.mp.common.service.IShippingTemplateRuleAreaService;
+import com.qs.mp.common.service.IShippingTemplateRuleService;
+import com.qs.mp.common.service.IShippingTemplateService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.Assert;
+import org.springframework.util.CollectionUtils;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+
+/**
+ * <p>
+ * 运费模板表 服务实现类
+ * </p>
+ *
+ * @author quanshu
+ * @since 2022-04-29
+ */
+@Service
+public class ShippingTemplateServiceImpl extends ServiceImpl<ShippingTemplateMapper, ShippingTemplate> implements IShippingTemplateService {
+
+    @Autowired
+    private IShippingTemplateRuleService shippingTemplateRuleService;;
+
+    @Autowired
+    private IShippingTemplateRuleAreaService shippingTemplateRuleAreaService;
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public boolean deleteShippingTemplate(Long id) {
+        ShippingTemplate shippingTemplate = this.getById(id);
+        if (Objects.isNull(shippingTemplate)) {
+            throw new ServiceException("运费模板不存在");
+        }
+
+        // 清除原来运费模板规则地区
+        List<ShippingTemplateRule> shippingTemplateRules = shippingTemplateRuleService.list(new LambdaQueryWrapper<ShippingTemplateRule>().eq(ShippingTemplateRule::getShippingTemplateId, id));
+        for (ShippingTemplateRule shippingTemplateRule : shippingTemplateRules) {
+            shippingTemplateRuleAreaService.remove(new LambdaQueryWrapper<ShippingTemplateRuleArea>().eq(ShippingTemplateRuleArea::getShippingTemplateRuleId, shippingTemplateRule.getId()));
+        }
+        // 清除原来的运费模板规则
+        shippingTemplateRuleService.remove(new LambdaQueryWrapper<ShippingTemplateRule>().eq(ShippingTemplateRule::getShippingTemplateId, id));
+
+        // 删除运费模板
+        this.removeById(id);
+        return true;
+    }
+
+    @Override
+    public ShippingTemplateVO detail(Long id) {
+        ShippingTemplateVO shippingTemplateVO = new ShippingTemplateVO();
+        ShippingTemplate shippingTemplate = this.getById(id);
+        if (Objects.isNull(shippingTemplate)) {
+            throw new ServiceException("运费模板不存在");
+        }
+        BeanUtils.copyProperties(shippingTemplate, shippingTemplateVO);
+
+        // 获取封装运费模板规则
+        List<ShippingTemplateRuleVO> shippingTemplateRuleVOS = new ArrayList<>();
+        List<ShippingTemplateRule> shippingTemplateRules = shippingTemplateRuleService.list(new LambdaQueryWrapper<ShippingTemplateRule>().eq(ShippingTemplateRule::getShippingTemplateId, id));
+        for (ShippingTemplateRule shippingTemplateRule : shippingTemplateRules) {
+
+            ShippingTemplateRuleVO shippingTemplateRuleVO = new ShippingTemplateRuleVO();
+            BeanUtils.copyProperties(shippingTemplateRule, shippingTemplateRuleVO);
+
+            List<ShippingTemplateRuleAreaVO> shippingTemplateRuleAreaVOS = new ArrayList<>();
+
+            // 获取封装运费模板规则区域
+            List<ShippingTemplateRuleArea> shippingTemplateRuleAreaList = shippingTemplateRuleAreaService.list(new LambdaQueryWrapper<ShippingTemplateRuleArea>().eq(ShippingTemplateRuleArea::getShippingTemplateRuleId, shippingTemplateRule.getId()));
+            for (ShippingTemplateRuleArea shippingTemplateRuleArea : shippingTemplateRuleAreaList) {
+                ShippingTemplateRuleAreaVO shippingTemplateRuleAreaVO = new ShippingTemplateRuleAreaVO();
+                BeanUtils.copyProperties(shippingTemplateRuleArea, shippingTemplateRuleAreaVO);
+                shippingTemplateRuleAreaVOS.add(shippingTemplateRuleAreaVO);
+            }
+
+            shippingTemplateRuleVO.setShippingTemplateRuleAreaList(shippingTemplateRuleAreaVOS);
+            shippingTemplateRuleVOS.add(shippingTemplateRuleVO);
+        }
+        shippingTemplateVO.setShippingTemplateRuleList(shippingTemplateRuleVOS);
+        return shippingTemplateVO;
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public boolean create(ShippingTemplateParam shippingTemplateParam) {
+
+        // 校验运费模板参数
+        this.checkCreateShippingTemplateParam(shippingTemplateParam);
+
+        // 新增运费模板
+        ShippingTemplate shippingTemplate = new ShippingTemplate();
+        BeanUtils.copyProperties(shippingTemplateParam, shippingTemplate);
+        this.save(shippingTemplate);
+
+        // 新增运费模板规则
+        List<ShippingTemplateRuleParam> shippingTemplateRuleList = shippingTemplateParam.getShippingTemplateRuleList();
+        for (ShippingTemplateRuleParam shippingTemplateRuleParam : shippingTemplateRuleList) {
+            ShippingTemplateRule shippingTemplateRule = new ShippingTemplateRule();
+            BeanUtils.copyProperties(shippingTemplateRuleParam, shippingTemplateRule);
+            shippingTemplateRule.setShippingTemplateId(shippingTemplate.getId());
+            shippingTemplateRuleService.save(shippingTemplateRule);
+
+            // 新增运费模板规则地区
+            List<ShippingTemplateRuleAreaParam> shippingTemplateRuleAreaList = shippingTemplateRuleParam.getShippingTemplateRuleAreaList();
+            List<ShippingTemplateRuleArea> params = new ArrayList<>();
+            for (ShippingTemplateRuleAreaParam shippingTemplateRuleAreaParam : shippingTemplateRuleAreaList) {
+                ShippingTemplateRuleArea param = new ShippingTemplateRuleArea();
+                BeanUtils.copyProperties(shippingTemplateRuleAreaParam, param);
+                param.setShippingTemplateRuleId(shippingTemplateRule.getId());
+                params.add(param);
+            }
+            shippingTemplateRuleAreaService.saveBatch(params);
+        }
+        return true;
+    }
+
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public boolean updateShippingTemplate(ShippingTemplateParam shippingTemplateParam) {
+
+        Long shippingTemplateId = shippingTemplateParam.getId();
+        if (Objects.isNull(shippingTemplateId)) {
+            throw new ServiceException("运费模板ID不能为空");
+        }
+
+        // 校验运费模板参数
+        this.checkCreateShippingTemplateParam(shippingTemplateParam);
+
+        // 清除原来运费模板规则地区
+        List<ShippingTemplateRule> shippingTemplateRules = shippingTemplateRuleService.list(new LambdaQueryWrapper<ShippingTemplateRule>().eq(ShippingTemplateRule::getShippingTemplateId, shippingTemplateId));
+        for (ShippingTemplateRule shippingTemplateRule : shippingTemplateRules) {
+            shippingTemplateRuleAreaService.remove(new LambdaQueryWrapper<ShippingTemplateRuleArea>().eq(ShippingTemplateRuleArea::getShippingTemplateRuleId, shippingTemplateRule.getId()));
+        }
+        // 清除原来的运费模板规则
+        shippingTemplateRuleService.remove(new LambdaQueryWrapper<ShippingTemplateRule>().eq(ShippingTemplateRule::getShippingTemplateId, shippingTemplateId));
+
+        // 更新运费模板
+        ShippingTemplate shippingTemplate = new ShippingTemplate();
+        BeanUtils.copyProperties(shippingTemplateParam, shippingTemplate);
+        this.updateById(shippingTemplate);
+
+        // 新增运费模板规则
+        List<ShippingTemplateRuleParam> shippingTemplateRuleList = shippingTemplateParam.getShippingTemplateRuleList();
+        for (ShippingTemplateRuleParam shippingTemplateRuleParam : shippingTemplateRuleList) {
+            ShippingTemplateRule shippingTemplateRule = new ShippingTemplateRule();
+            BeanUtils.copyProperties(shippingTemplateRuleParam, shippingTemplateRule);
+            shippingTemplateRule.setShippingTemplateId(shippingTemplateId);
+            shippingTemplateRuleService.save(shippingTemplateRule);
+
+            // 新增运费模板规则地区
+            List<ShippingTemplateRuleAreaParam> shippingTemplateRuleAreaList = shippingTemplateRuleParam.getShippingTemplateRuleAreaList();
+            List<ShippingTemplateRuleArea> params = new ArrayList<>();
+            for (ShippingTemplateRuleAreaParam shippingTemplateRuleAreaParam : shippingTemplateRuleAreaList) {
+                ShippingTemplateRuleArea param = new ShippingTemplateRuleArea();
+                BeanUtils.copyProperties(shippingTemplateRuleAreaParam, param);
+                param.setShippingTemplateRuleId(shippingTemplateRule.getId());
+                params.add(param);
+            }
+            shippingTemplateRuleAreaService.saveBatch(params);
+        }
+
+        return true;
+    }
+
+    /**
+     * 校验运费模板参数
+     * @param shippingTemplateParam 运费模板入参类
+     */
+    private void checkCreateShippingTemplateParam(ShippingTemplateParam shippingTemplateParam) {
+
+        if (StringUtils.isBlank(shippingTemplateParam.getTitle())) {
+            throw new ServiceException("运费模板标题不能为空");
+        }
+
+        List<ShippingTemplateRuleParam> shippingTemplateRuleList = shippingTemplateParam.getShippingTemplateRuleList();
+        if (CollectionUtils.isEmpty(shippingTemplateRuleList)) {
+            throw new ServiceException("运费模板规则不能为空");
+        }
+
+        for (ShippingTemplateRuleParam shippingTemplateRuleParam : shippingTemplateRuleList) {
+            List<ShippingTemplateRuleAreaParam> shippingTemplateRuleAreaList = shippingTemplateRuleParam.getShippingTemplateRuleAreaList();
+            if (CollectionUtils.isEmpty(shippingTemplateRuleAreaList)) {
+                throw new ServiceException("运费模板规则区域不能为空");
+            }
+
+            for (ShippingTemplateRuleAreaParam shippingTemplateRuleAreaParam : shippingTemplateRuleAreaList) {
+
+                if (StringUtils.isBlank(shippingTemplateRuleAreaParam.getProvince())) {
+                    throw new ServiceException("省份不能为空");
+                }
+
+                if (Objects.isNull(shippingTemplateRuleAreaParam.getProvinceId())) {
+                    throw new ServiceException("省份ID不能为空");
+                }
+
+                if (StringUtils.isBlank(shippingTemplateRuleAreaParam.getCity())) {
+                    throw new ServiceException("城市不能为空");
+                }
+
+                if (Objects.isNull(shippingTemplateRuleAreaParam.getCityId())) {
+                    throw new ServiceException("城市ID不能为空");
+                }
+            }
+        }
+
+
+    }
+}

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

@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.qs.mp.admin.mapper.CouponPkgItemMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.qs.mp.admin.domain.CouponPkgItem">
+        <id column="id" property="id" />
+        <result column="coupon_pkg_id" property="couponPkgId" />
+        <result column="coupon_id" property="couponId" />
+        <result column="created_time" property="createdTime" />
+        <result column="updated_time" property="updatedTime" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id, coupon_pkg_id, coupon_id, created_time, updated_time
+    </sql>
+
+</mapper>

+ 21 - 0
mp-service/src/main/resources/mapper/admin/CouponPkgMapper.xml

@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.qs.mp.admin.mapper.CouponPkgMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.qs.mp.admin.domain.CouponPkg">
+        <id column="id" property="id" />
+        <result column="title" property="title" />
+        <result column="face_price" property="facePrice" />
+        <result column="coupon_num" property="couponNum" />
+        <result column="status" property="status" />
+        <result column="created_time" property="createdTime" />
+        <result column="updated_time" property="updatedTime" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id, title, face_price, coupon_num, status, created_time, updated_time
+    </sql>
+
+</mapper>

+ 19 - 0
mp-service/src/main/resources/mapper/admin/TicketBoxChannelMapper.xml

@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.qs.mp.admin.mapper.TicketBoxChannelMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.qs.mp.admin.domain.TicketBoxChannel">
+        <id column="id" property="id" />
+        <result column="box_id" property="boxId" />
+        <result column="channel_id" property="channelId" />
+        <result column="created_time" property="createdTime" />
+        <result column="updated_time" property="updatedTime" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id, box_id, channel_id, created_time, updated_time
+    </sql>
+
+</mapper>

+ 18 - 0
mp-service/src/main/resources/mapper/common/ShippingTemplateMapper.xml

@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.qs.mp.common.mapper.ShippingTemplateMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.qs.mp.common.domain.ShippingTemplate">
+        <id column="id" property="id" />
+        <result column="title" property="title" />
+        <result column="created_time" property="createdTime" />
+        <result column="updated_time" property="updatedTime" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id, title, created_time, updated_time
+    </sql>
+
+</mapper>

+ 23 - 0
mp-service/src/main/resources/mapper/common/ShippingTemplateRuleAreaMapper.xml

@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.qs.mp.common.mapper.ShippingTemplateRuleAreaMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.qs.mp.common.domain.ShippingTemplateRuleArea">
+        <id column="id" property="id" />
+        <result column="shipping_template_rule_id" property="shippingTemplateRuleId" />
+        <result column="province" property="province" />
+        <result column="province_id" property="provinceId" />
+        <result column="city" property="city" />
+        <result column="city_id" property="cityId" />
+        <result column="remark" property="remark" />
+        <result column="created_time" property="createdTime" />
+        <result column="updated_time" property="updatedTime" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id, shipping_template_rule_id, province, province_id, city, city_id, remark, created_time, updated_time
+    </sql>
+
+</mapper>

+ 23 - 0
mp-service/src/main/resources/mapper/common/ShippingTemplateRuleMapper.xml

@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.qs.mp.common.mapper.ShippingTemplateRuleMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.qs.mp.common.domain.ShippingTemplateRule">
+        <id column="id" property="id" />
+        <result column="shipping_template_id" property="shippingTemplateId" />
+        <result column="type" property="type" />
+        <result column="default_number" property="defaultNumber" />
+        <result column="default_price" property="defaultPrice" />
+        <result column="create_number" property="createNumber" />
+        <result column="create_price" property="createPrice" />
+        <result column="created_time" property="createdTime" />
+        <result column="updated_time" property="updatedTime" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id, shipping_template_id, type, default_number, default_price, create_number, create_price, created_time, updated_time
+    </sql>
+
+</mapper>