#736 修复卡券高级信息的商户服务属性

This commit is contained in:
yuanqixun 2018-08-30 11:22:13 +08:00 committed by Binary Wang
parent f90f72fc9c
commit 28b09f7ed6
13 changed files with 223 additions and 181 deletions

View File

@ -191,8 +191,20 @@ public class WxMpMemberCardServiceImpl implements WxMpMemberCardService {
return WxMpCardCreateResult.failure("会员卡基本信息的门店使用范围选择指定门店,门店列表:locationIdList不能为空");
}
//TODO 高级信息
//校验高级信息
AdvancedInfo advancedInfo = memberCard.getAdvancedInfo();
if (advancedInfo != null) {
if (advancedInfo.getBusinessServiceList() != null) {
for (String bs : advancedInfo.getBusinessServiceList()) {
BusinessServiceType businessServiceType = null;
try {
businessServiceType = BusinessServiceType.valueOf(bs);
} catch (IllegalArgumentException ex) {
return WxMpCardCreateResult.failure("会员卡高级信息的商户服务:" + bs + " 不合法");
}
}
}
}
return WxMpCardCreateResult.success();
}

View File

@ -27,7 +27,7 @@ public class Abstract implements Serializable {
@SerializedName("icon_url_list")
private String iconUrlList;
public String toString(){
public String toString() {
return ToStringBuilder.reflectionToString(this, ToStringStyle.JSON_STYLE);
}
}

View File

@ -28,34 +28,42 @@ public class AdvancedInfo implements Serializable {
/**
* 使用门槛条件,若不填写使用条件则在券面拼写 无最低消费限制全场通用不限品类并在使用说明显示 可与其他优惠共享
*/
@SerializedName( "use_condition")
@SerializedName("use_condition")
private UseCondition useCondition;
/**
* 封面摘要
*/
@SerializedName( "abstract")
@SerializedName("abstract")
private Abstract abstractInfo;
/**
* 图文列表,显示在详情内页 优惠券券开发者须至少传入 一组图文列表
*/
@SerializedName( "text_image_list")
@SerializedName("text_image_list")
private List<TextImageList> textImageList;
/**
* 商家服务类型,数组类型:BIZ_SERVICE_DELIVER 外卖服务 BIZ_SERVICE_FREE_PARK 停车位 BIZ_SERVICE_WITH_PET 可带宠物 BIZ_SERVICE_FREE_WIFI 免费wifi 可多选
*/
@SerializedName( "business_service")
private String businessService;
@SerializedName("business_service")
private List<String> businessServiceList;
/**
* 使用时段限制
*/
@SerializedName( "time_limit")
@SerializedName("time_limit")
private TimeLimit timeLimit;
public String toString(){
public void addBusinessService(BusinessServiceType businessServiceType) {
if (businessServiceType != null) {
if (businessServiceList == null)
businessServiceList = new ArrayList<String>();
businessServiceList.add(businessServiceType.name());
}
}
public String toString() {
return ToStringBuilder.reflectionToString(this, ToStringStyle.JSON_STYLE);
}
}

View File

@ -164,7 +164,7 @@ public class BaseInfo implements Serializable {
* 每人可领券的数量限制,建议会员卡每人限领一张
*/
@SerializedName("get_limit")
private Integer getLimit=1;
private Integer getLimit = 1;
/**
* 卡券领取页面是否可分享,默认为true

View File

@ -0,0 +1,21 @@
package me.chanjar.weixin.mp.bean.card;
/**
* 商户提供服务类型
*/
public enum BusinessServiceType {
BIZ_SERVICE_DELIVER("外卖服务"),
BIZ_SERVICE_FREE_PARK("停车位"),
BIZ_SERVICE_WITH_PET("可带宠物"),
BIZ_SERVICE_FREE_WIFI("可带宠物");
private String description;
BusinessServiceType(String description) {
this.description = description;
}
public String getDescription() {
return description;
}
}

View File

@ -2,10 +2,11 @@ package me.chanjar.weixin.mp.bean.card;
/**
* 会员卡颜色
*
* @author yuanqixun
* @date 2018-08-29
*/
public enum CardColor{
public enum CardColor {
Color010("#63b359"),
Color020("#2c9f67"),
Color030("#509fc9"),

View File

@ -33,7 +33,7 @@ public class CustomCell1 implements Serializable {
@SerializedName("url")
private String url;
public String toString(){
public String toString() {
return ToStringBuilder.reflectionToString(this, ToStringStyle.JSON_STYLE);
}
}

View File

@ -18,10 +18,10 @@ public class PayInfo implements Serializable {
/**
* 刷卡功能
*/
@SerializedName( "swipe_card")
@SerializedName("swipe_card")
private SwipeCard swipeCard;
public String toString(){
public String toString() {
return ToStringBuilder.reflectionToString(this, ToStringStyle.JSON_STYLE);
}
}

View File

@ -19,9 +19,9 @@ public class Sku implements Serializable {
* 卡券库存的数量,不支持填写0上限为100000000
*/
@SerializedName("quantity")
private Integer quantity=100000000;
private Integer quantity = 100000000;
public String toString(){
public String toString() {
return ToStringBuilder.reflectionToString(this, ToStringStyle.JSON_STYLE);
}
}

View File

@ -18,16 +18,16 @@ public class SwipeCard implements Serializable {
/**
* 是否设置该会员卡支持拉出微信支付刷卡界面
*/
@SerializedName( "is_swipe_card")
@SerializedName("is_swipe_card")
private boolean isSwipeCard;
/**
* 是否设置该会员卡中部的按钮同时支持微信支付刷卡和会员卡二维码
*/
@SerializedName( "is_pay_and_qrcode")
@SerializedName("is_pay_and_qrcode")
private boolean isPayAndQrcode;
public String toString(){
public String toString() {
return ToStringBuilder.reflectionToString(this, ToStringStyle.JSON_STYLE);
}
}

View File

@ -18,7 +18,7 @@ public class TextImageList implements Serializable {
/**
* 图片链接,必须调用 上传图片接口 上传图片获得链接并在此填入 否则报错
*/
@SerializedName( "image_url")
@SerializedName("image_url")
private String imageUrl;
/**
@ -27,7 +27,7 @@ public class TextImageList implements Serializable {
@SerializedName("text")
private String text;
public String toString(){
public String toString() {
return ToStringBuilder.reflectionToString(this, ToStringStyle.JSON_STYLE);
}
}

View File

@ -25,28 +25,28 @@ public class TimeLimit implements Serializable {
/**
* 起始时间小时,当前type类型下的起始时间小时 如当前结构体内填写了MONDAY 此处填写了10则此处表示周一 10:00可用
*/
@SerializedName( "begin_hour")
@SerializedName("begin_hour")
private Integer beginHour;
/**
* 起始时间分钟,如当前结构体内填写了MONDAY begin_hour填写10此处填写了59 则此处表示周一 10:59可用
*/
@SerializedName( "begin_minute")
@SerializedName("begin_minute")
private Integer beginMinute;
/**
* 结束时间小时,如当前结构体内填写了MONDAY 此处填写了20 则此处表示周一 10:00-20:00可用
*/
@SerializedName( "end_hour")
@SerializedName("end_hour")
private Integer endHour;
/**
* 结束时间分钟,如当前结构体内填写了MONDAY begin_hour填写10此处填写了59 则此处表示周一 10:59-00:59可用
*/
@SerializedName( "end_minute")
@SerializedName("end_minute")
private Integer endMinute;
public String toString(){
public String toString() {
return ToStringBuilder.reflectionToString(this, ToStringStyle.JSON_STYLE);
}
}

View File

@ -19,34 +19,34 @@ public class UseCondition implements Serializable {
/**
* 指定可用的商品类目,仅用于代金券类型 填入后将在券面拼写适用于xxx
*/
@SerializedName( "accept_category")
@SerializedName("accept_category")
private String acceptCategory;
/**
* 指定不可用的商品类目,仅用于代金券类型 填入后将在券面拼写不适用于xxxx
*/
@SerializedName( "reject_category")
@SerializedName("reject_category")
private String rejectCategory;
/**
* 满减门槛字段,可用于兑换券和代金券 填入后将在全面拼写消费满xx元可用
*/
@SerializedName( "least_cost")
@SerializedName("least_cost")
private Integer leastCost;
/**
* 购买xx可用类型门槛,仅用于兑换 填入后自动拼写购买xxx可用
*/
@SerializedName( "object_use_for")
@SerializedName("object_use_for")
private String objectUseFor;
/**
* 不可以与其他类型共享门槛,填写false时系统将在使用须知里 拼写不可与其他优惠共享 填写true时系统将在使用须知里 拼写可与其他优惠共享 默认为true
*/
@SerializedName( "can_use_with_other_discount")
@SerializedName("can_use_with_other_discount")
private boolean canUseWithOtherDiscount;
public String toString(){
public String toString() {
return ToStringBuilder.reflectionToString(this, ToStringStyle.JSON_STYLE);
}
}