运费模板.md 6.8 KB

运费模板

商城应用

在mall4j商城系统中,商家在添加商品时,【配送方式】选择商家配送时,需要选择相应的运费模板。

1566821181888

在【门店管理】-【运费模板】中,可新增商品所需要的运费模板。

1566820766067

数据库设计

整体实体类关系如下图:

1566820283989

model实体类:

运费模板类(tz_transport)
@Data
@TableName("tz_transport")
public class Transport{
    /**
     * 运费模板id
     */
    @TableId
    @ApiModelProperty(value = "运费模板id",required=true)
    private Long transportId;

    /**
     * 运费模板名称
     */
    @ApiModelProperty(value = "运费模板名称",required=true)
    private String transName;

    /**
     * 店铺id
     */
    @ApiModelProperty(value = "店铺id",required=true)
    private Long shopId;

    /**
     * 参考 TransportChargeType
     * 收费方式(0 按件数,1 按重量 2 按体积)
     */
    @ApiModelProperty(value = "收费方式(0 按件数,1 按重量 2 按体积)",required=true)
    private Integer chargeType;


   /**
    * 是否包邮 0:不包邮 1:包邮
    */
    @ApiModelProperty(value = "是否包邮 0:不包邮 1:包邮",required=true)
    private Integer isFreeFee;

    /**
     * 是否含有包邮条件
     */
    @ApiModelProperty(value = "是否含有包邮条件",required=true)
    private Integer hasFreeCondition;
    
    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间",required=true)
    private Date createTime;
}

  • transportId ,运费模板id

  • transName,运费模板名称,存在多个运费模板时,方便商家选择更好的运费模板

  • shopId,店铺id,可扩展为B2B2C模式

  • isFreeFee,是否包邮,如果商家选择了包邮,则不需要后面的其他操作

  • chargeType,收费方式可分为按件数、按重量 、按体积,影响运费项表中firstPiececontinuousFee的单位

  • hasFreeCondition,是否包含包邮条件,勾选后,商家可以设定指定包邮的地区与条件

1566822457303

  • createTime , 创建模板时间
运费项(tz_transfee)
@Data
@TableName("tz_transfee")
public class Transfee {
    /**
     * 运费项id
     */
    @TableId
    @ApiModelProperty(value = "运费项id",required=true)
    private Long transfeeId;

    /**
     * 运费模板id
     */
    @ApiModelProperty(value = "运费模板id",required=true)
    private Long transportId;

    /**
     * 续件数量
     */
    @ApiModelProperty(value = "续件数量",required=true)
    private Double continuousPiece;

    /**
     * 首件数量
     */
    @ApiModelProperty(value = "首件数量",required=true)
    private Double firstPiece;

    /**
     * 续件费用
     */
    @ApiModelProperty(value = "续件费用",required=true)
    private Double continuousFee;

    /**
     * 首件费用
     */
    @ApiModelProperty(value = "首件费用",required=true)
    private Double firstFee;

}

1566823048345

点击【点击添加可配送的区域和运费】可在模板中新增一条运费项记录,运费模板与运费项为一对多关系。

  • transfeeId, 运费项目id
  • transportId ,运费模板id,表明所属于哪个运费模板
  • firstPiece,首件数量\重量\体积,根据运费模板中的收费方式而定
  • firstFee,首重费用
  • continuousPiece,续件数量
  • continuousFee,续件费用
运费项关联城市表(tz_transcity)
@Data
@TableName("tz_transcity")
public class Transcity implements Serializable {
    @TableId
    private Long transcityId;

    /**
     * 运费项id
     */
    private Long transfeeId;

    /**
     * 城市id
     */
    private Long cityId;
}

1566823763160

运费项可以根据需求指定特定区域的进行设置,运费项表与运费项关联城市表之间为一对多的关系,设定的区域优先于所有地区。

  • transcityId , 模板项关联城市ID
  • transfeeId ,关联的模板项目ID
  • cityId , 关联mall4j商城系统中的区域管理模块
指定条件包邮项表(tz_transfee_free)
@Data
@TableName("tz_transfee_free")
public class TransfeeFree {
    /**
     * 指定条件包邮项id
     */
    @TableId
    @ApiModelProperty(value = "指定条件包邮项id",required=true)
    private Long transfeeFreeId;

    /**
     * 运费模板id
     */
    @ApiModelProperty(value = "运费模板id",required=true)
    private Long transportId;

    /**
     * 包邮方式 (0 满x件/重量/体积包邮 1满金额包邮 2满x件/重量/体积且满金额包邮)
     */
    @ApiModelProperty(value = "包邮方式 (0 满x件/重量/体积包邮 1满金额包邮 2满x件/重量/体积且满金额包邮)",required=true)
    private Integer freeType;

    /**
     * 需满金额
     */
    @ApiModelProperty(value = "需满金额",required=true)
    private Double amount;

    /**
     * 包邮x件/重量/体积
     */
    @ApiModelProperty(value = "包邮x件/重量/体积",required=true)
    private Double piece;
}

1566824529223

在运费模板中,还可以指定区域进行包邮,运费模板表与指定条件包邮项表为一对多关系。

  • transfeeFreeId 指定条件包邮项id
  • transportId 所关联的运费模板id
  • freeType包邮条件可分为 满x件/重量/体积包邮 、满金额包邮 、满x件/重量/体积且满金额包邮

  • amount需满金额 --条件

  • piece包邮x件/重量/体积 --条件

指定条件包邮城市项表(tz_transcity_free)
@Data
@TableName("tz_transcity_free")
public class TranscityFree implements Serializable {
    private static final long serialVersionUID = 2579465286635831076L;
    /**
     * 指定条件包邮城市项id
     */
    @TableId
    private Long transcityFreeId;

    /**
     * 指定条件包邮项id
     */
    private Long transfeeFreeId;

    /**
     * 城市id
     */
    private Long freeCityId;
}

1566825029884

指定条件包邮城市项表与运费项关联城市表同理,可以根据需求选择特定区域,当满足包邮条件时对买家订单进行包邮,指定条件包邮项表与指定条件包邮城市项表之间为一对多的关系。

  • transcityFreeId , 指定条件包邮城市项ID
  • transfeeFreeId,指定条件包邮项id
  • freeCityId , 关联mall4j商城系统中区域管理模块的城市ID

注意:需要【指定条件包邮】勾选中,模板中指定条件的包邮项才可生效。