在mall4j商城系统中,商家在添加商品时,【配送方式】选择商家配送时,需要选择相应的运费模板。
在【门店管理】-【运费模板】中,可新增商品所需要的运费模板。
@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,收费方式可分为按件数、按重量 、按体积,影响运费项表中firstPiece、continuousFee的单位
hasFreeCondition,是否包含包邮条件,勾选后,商家可以设定指定包邮的地区与条件
createTime , 创建模板时间@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;
}
点击【点击添加可配送的区域和运费】可在模板中新增一条运费项记录,运费模板与运费项为一对多关系。
transfeeId, 运费项目idtransportId ,运费模板id,表明所属于哪个运费模板firstPiece,首件数量\重量\体积,根据运费模板中的收费方式而定firstFee,首重费用continuousPiece,续件数量continuousFee,续件费用@Data
@TableName("tz_transcity")
public class Transcity implements Serializable {
@TableId
private Long transcityId;
/**
* 运费项id
*/
private Long transfeeId;
/**
* 城市id
*/
private Long cityId;
}
运费项可以根据需求指定特定区域的进行设置,运费项表与运费项关联城市表之间为一对多的关系,设定的区域优先于所有地区。
transcityId , 模板项关联城市IDtransfeeId ,关联的模板项目IDcityId , 关联mall4j商城系统中的区域管理模块@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;
}
在运费模板中,还可以指定区域进行包邮,运费模板表与指定条件包邮项表为一对多关系。
transfeeFreeId 指定条件包邮项idtransportId 所关联的运费模板idfreeType包邮条件可分为 满x件/重量/体积包邮 、满金额包邮 、满x件/重量/体积且满金额包邮
amount需满金额 --条件
piece包邮x件/重量/体积 --条件
@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;
}
指定条件包邮城市项表与运费项关联城市表同理,可以根据需求选择特定区域,当满足包邮条件时对买家订单进行包邮,指定条件包邮项表与指定条件包邮城市项表之间为一对多的关系。
transcityFreeId , 指定条件包邮城市项IDtransfeeFreeId,指定条件包邮项idfreeCityId , 关联mall4j商城系统中区域管理模块的城市ID注意:需要【指定条件包邮】勾选中,模板中指定条件的包邮项才可生效。