商铺接入接口提交

This commit is contained in:
danmo 2024-04-28 16:35:39 +08:00
parent ac3a0a0042
commit af488d841d
38 changed files with 3252 additions and 0 deletions

View File

@ -653,6 +653,86 @@ public class DyAppletClient extends BaseClient {
return new AptEAppletHandler(configuration().getAgentByTenantId(tenantId, clientKey)).shopMemberLeave(appId, openId, shopId);
}
/**
* 商铺同步
*
* @param query 入参
* @return DyResult<SupplierSyncVo>
*/
public DyResult<SupplierSyncVo> supplierSync(SupplierSyncQuery query) {
return new LifeServiceHandler(configuration().getAgentByTenantId(tenantId, clientKey)).supplierSync(query);
}
/**
* 查询店铺
*
* @param supplierExtId 店铺ID
* @return DyResult<SupplierVo>
*/
public DyResult<SupplierVo> querySupplier(String supplierExtId) {
return new LifeServiceHandler(configuration().getAgentByTenantId(tenantId, clientKey)).querySupplier(supplierExtId);
}
/**
* 获取抖音POI ID
*
* @param amapId 高德POI ID
* @return DyResult<PoiIdVo>
*/
public DyResult<PoiIdVo> queryPoiId(String amapId) {
return new LifeServiceHandler(configuration().getAgentByTenantId(tenantId, clientKey)).queryPoiId(amapId);
}
/**
* 店铺匹配任务结果查询
*
* @param supplierTaskIds 店铺任务ID
* @return DyResult<SupplierTaskResultVo>
*/
public DyResult<SupplierTaskResultVo> querySupplierTaskResult(String supplierTaskIds) {
return new LifeServiceHandler(configuration().getAgentByTenantId(tenantId, clientKey)).querySupplierTaskResult(supplierTaskIds);
}
/**
* 店铺匹配任务状态查询
*
* @param supplierExtId 店铺ID
* @return DyResult<SupplierTaskStatusVo>
*/
public DyResult<SupplierTaskStatusVo> querySupplierMatchStatus(String supplierExtId) {
return new LifeServiceHandler(configuration().getAgentByTenantId(tenantId, clientKey)).querySupplierMatchStatus(supplierExtId);
}
/**
* 提交门店匹配任务
*
* @param query 入参
* @return DyResult<SupplierSubmitTaskVo>
*/
public DyResult<SupplierSubmitTaskVo> submitSupplierMatchTask(SupplierSubmitTaskQuery query) {
return new LifeServiceHandler(configuration().getAgentByTenantId(tenantId, clientKey)).submitSupplierMatchTask(query);
}
/**
* 查询全部店铺信息接口(天级别请求5次)
*
* @return DyResult<SupplierTaskVo>
*/
public DyResult<SupplierTaskVo> queryAllSupplier() {
return new LifeServiceHandler(configuration().getAgentByTenantId(tenantId, clientKey)).queryAllSupplier();
}
/**
* 查询店铺全部信息任务返回内容
*
* @param taskId 任务ID
* @return DyResult<SupplierTaskVo>
*/
public DyResult<SupplierTaskVo> querySupplierCallback(String taskId) {
return new LifeServiceHandler(configuration().getAgentByTenantId(tenantId, clientKey)).querySupplierCallback(taskId);
}
/**
* 查询用户可用券信息

View File

@ -0,0 +1,95 @@
package com.dyj.applet.client;
import com.dtflys.forest.annotation.*;
import com.dyj.applet.domain.query.SupplierSubmitTaskQuery;
import com.dyj.applet.domain.query.SupplierSyncQuery;
import com.dyj.applet.domain.vo.*;
import com.dyj.common.domain.DyResult;
import com.dyj.common.domain.query.BaseQuery;
import com.dyj.common.interceptor.ClientTokenInterceptor;
/**
* 生活服务
*
* @author danmo
* @date 2024-04-28 11:16
**/
@BaseRequest(baseURL = "${domain}")
public interface LifeServicesClient {
/**
* 商铺同步
*
* @param query 入参
* @return DyResult<SupplierSyncVo>
*/
@Post(url = "supplierSync", interceptor = ClientTokenInterceptor.class)
DyResult<SupplierSyncVo> supplierSync(@JSONBody SupplierSyncQuery query);
/**
* 查询店铺
*
* @param query 应用信息
* @param supplierExtId 店铺ID
* @return DyResult<SupplierVo>
*/
@Get(url = "querySupplier", interceptor = ClientTokenInterceptor.class)
DyResult<SupplierVo> querySupplier(@Var("query") BaseQuery query, @Query("supplier_ext_id") String supplierExtId);
/**
* 获取抖音POI ID
*
* @param query 应用信息
* @param amapId 高德POI ID
* @return DyResult<PoiIdVo>
*/
@Get(url = "queryPoiId", interceptor = ClientTokenInterceptor.class)
DyResult<PoiIdVo> queryPoiId(@Var("query") BaseQuery query, @Query("amap_id") String amapId);
/**
* 店铺匹配任务结果查询
*
* @param query 应用信息
* @param supplierTaskIds 店铺任务ID
* @return DyResult<SupplierTaskResultVo>
*/
@Get(url = "querySupplierTaskResult", interceptor = ClientTokenInterceptor.class)
DyResult<SupplierTaskResultVo> querySupplierTaskResult(@Var("query") BaseQuery query, @Query("supplier_task_ids") String supplierTaskIds);
/**
* 店铺匹配任务状态查询
*
* @param query 应用信息
* @param supplierExtId 店铺ID
* @return DyResult<SupplierTaskStatusVo>
*/
@Get(url = "querySupplierMatchStatus", interceptor = ClientTokenInterceptor.class)
DyResult<SupplierTaskStatusVo> querySupplierMatchStatus(@Var("query") BaseQuery query, @Query("supplier_ext_id") String supplierExtId);
/**
* 提交门店匹配任务
*
* @param query 入参
* @return DyResult<SupplierSubmitTaskVo>
*/
@Post(url = "submitSupplierMatchTask", interceptor = ClientTokenInterceptor.class)
DyResult<SupplierSubmitTaskVo> submitSupplierMatchTask(@JSONBody SupplierSubmitTaskQuery query);
/**
* 查询全部店铺信息接口(天级别请求5次)
* @param query 应用信息
* @return DyResult<SupplierTaskVo>
*/
@Get(url = "queryAllSupplier", interceptor = ClientTokenInterceptor.class)
DyResult<SupplierTaskVo> queryAllSupplier(@Var("query") BaseQuery query);
/**
* 查询店铺全部信息任务返回内容
*
* @param query 应用信息
* @param taskId 任务ID
* @return DyResult<SupplierTaskVo>
*/
@Get(url = "querySupplierCallback", interceptor = ClientTokenInterceptor.class)
DyResult<SupplierTaskVo> querySupplierCallback(@Var("query") BaseQuery query, @Query("task_id") String taskId);
}

View File

@ -0,0 +1,75 @@
package com.dyj.applet.domain;
/**
* @author danmo
* @date 2024-04-28 13:39
**/
public class BusinessLicense {
/**
* 服务上营业执照公司名称
*/
private String company;
/**
* 商家营业执照外部id
*/
private String ext_id;
/**
* 商家营业执照链接
*/
private String url;
public static BusinessLicenseBuilder builder() {
return new BusinessLicenseBuilder();
}
public static class BusinessLicenseBuilder {
private String company;
private String extId;
private String url;
public BusinessLicenseBuilder company(String company) {
this.company = company;
return this;
}
public BusinessLicenseBuilder extId(String extId) {
this.extId = extId;
return this;
}
public BusinessLicenseBuilder url(String url) {
this.url = url;
return this;
}
public BusinessLicense build() {
BusinessLicense businessLicense = new BusinessLicense();
businessLicense.setCompany(company);
businessLicense.setExt_id(extId);
businessLicense.setUrl(url);
return businessLicense;
}
}
public String getCompany() {
return company;
}
public void setCompany(String company) {
this.company = company;
}
public String getExt_id() {
return ext_id;
}
public void setExt_id(String ext_id) {
this.ext_id = ext_id;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
}

View File

@ -0,0 +1,61 @@
package com.dyj.applet.domain;
/**
* @author danmo
* @date 2024-04-28 13:42
**/
public class IndustryLicense {
/**
* 商家营业执行业许可证外部id
*/
private String ext_id;
/**
* 商家行业许可证链接
*/
private String url;
public static IndustryLicenseBuilder builder() {
return new IndustryLicenseBuilder();
}
public static class IndustryLicenseBuilder {
private String extId;
private String url;
public IndustryLicenseBuilder extId(String extId) {
this.extId = extId;
return this;
}
public IndustryLicenseBuilder url(String url) {
this.url = url;
return this;
}
public IndustryLicense build() {
IndustryLicense industryLicense = new IndustryLicense();
industryLicense.setExt_id(extId);
industryLicense.setUrl(url);
return industryLicense;
}
}
public String getExt_id() {
return ext_id;
}
public void setExt_id(String ext_id) {
this.ext_id = ext_id;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
}

View File

@ -0,0 +1,53 @@
package com.dyj.applet.domain;
/**
* @author danmo
* @date 2024-04-28 13:37
**/
public class PowerOfAttorney {
private String ext_id;
private String url;
public static PowerOfAttorneyBuilder builder() {
return new PowerOfAttorneyBuilder();
}
public static class PowerOfAttorneyBuilder {
private String extId;
private String url;
public PowerOfAttorneyBuilder extId(String extId) {
this.extId = extId;
return this;
}
public PowerOfAttorneyBuilder url(String url) {
this.url = url;
return this;
}
public PowerOfAttorney build() {
PowerOfAttorney powerOfAttorney = new PowerOfAttorney();
powerOfAttorney.setExt_id(extId);
powerOfAttorney.setUrl(url);
return powerOfAttorney;
}
}
public String getExt_id() {
return ext_id;
}
public void setExt_id(String ext_id) {
this.ext_id = ext_id;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
}

View File

@ -0,0 +1,43 @@
package com.dyj.applet.domain;
/**
* @author danmo
* @date 2024-04-28 14:30
**/
public class ScenicNoticeFacility {
/**
* 设施名称三方自定义(每项不超过5个汉字)
*/
private String name;
public static ScenicNoticeFacilityBuilder builder() {
return new ScenicNoticeFacilityBuilder();
}
public static class ScenicNoticeFacilityBuilder {
private String name;
ScenicNoticeFacilityBuilder() {
}
public ScenicNoticeFacilityBuilder name(String name) {
this.name = name;
return this;
}
public ScenicNoticeFacility build() {
ScenicNoticeFacility scenicNoticeFacility = new ScenicNoticeFacility();
scenicNoticeFacility.setName(name);
return scenicNoticeFacility;
}
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}

View File

@ -0,0 +1,62 @@
package com.dyj.applet.domain;
/**
* @author danmo
* @date 2024-04-28 14:24
**/
public class ScenicNoticeIntro {
/**
* 节点内容
*/
private String content;
/**
* 富文本处理中的节点类型
* 1 - text
* 2 - image
*/
private String node_type;
public static SupplierScenicNoticePlayIntroBuilder builder() {
return new SupplierScenicNoticePlayIntroBuilder();
}
public static class SupplierScenicNoticePlayIntroBuilder {
private String content;
private String nodeType;
public SupplierScenicNoticePlayIntroBuilder content(String content) {
this.content = content;
return this;
}
public SupplierScenicNoticePlayIntroBuilder nodeType(String nodeType) {
this.nodeType = nodeType;
return this;
}
public ScenicNoticeIntro build() {
ScenicNoticeIntro scenicNoticeIntro = new ScenicNoticeIntro();
scenicNoticeIntro.setContent(content);
scenicNoticeIntro.setNode_type(nodeType);
return scenicNoticeIntro;
}
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public String getNode_type() {
return node_type;
}
public void setNode_type(String node_type) {
this.node_type = node_type;
}
}

View File

@ -0,0 +1,74 @@
package com.dyj.applet.domain;
/**
* 优待政策
* @author danmo
* @date 2024-04-28 14:25
**/
public class ScenicNoticePreferentialPolicy {
/**
* 优待政策-适用条件(不超过200个汉字)
*/
private String condition;
/**
* 优待政策-优待内容(免费优惠半价)
*/
private String discount;
/**
* 优待政策-人群(婴儿儿童老人军人残障人士不超过30个汉字)
*/
private String population;
public static ScenicNoticePreferentialPolicyBuilder builder() {
return new ScenicNoticePreferentialPolicyBuilder();
}
public static class ScenicNoticePreferentialPolicyBuilder {
private String condition;
private String discount;
private String population;
public ScenicNoticePreferentialPolicyBuilder condition(String condition) {
this.condition = condition;
return this;
}
public ScenicNoticePreferentialPolicyBuilder discount(String discount) {
this.discount = discount;
return this;
}
public ScenicNoticePreferentialPolicyBuilder population(String population) {
this.population = population;
return this;
}
public ScenicNoticePreferentialPolicy build() {
ScenicNoticePreferentialPolicy scenicNoticePreferentialPolicy = new ScenicNoticePreferentialPolicy();
scenicNoticePreferentialPolicy.setCondition(condition);
scenicNoticePreferentialPolicy.setDiscount(discount);
scenicNoticePreferentialPolicy.setPopulation(population);
return scenicNoticePreferentialPolicy;
}
}
public String getCondition() {
return condition;
}
public void setCondition(String condition) {
this.condition = condition;
}
public String getDiscount() {
return discount;
}
public void setDiscount(String discount) {
this.discount = discount;
}
public String getPopulation() {
return population;
}
public void setPopulation(String population) {
this.population = population;
}
}

View File

@ -0,0 +1,106 @@
package com.dyj.applet.domain;
import java.util.List;
/**
* 商家资质信息
*
* @author danmo
* @date 2024-04-28 13:34
**/
public class SupplierCustomerInfo {
/**
* 服务商和商家合作协议/授意书
*/
private PowerOfAttorney power_of_attorney;
/**
* 商家营业执照
*/
private BusinessLicense business_license;
/**
* 行业许可证
*/
private List<IndustryLicense> industry_license;
/**
* 其他补充材料
*/
private List<SupplierCustomerOtherInfo> other_info;
public static SupplierCustomerInfoBuilder builder() {
return new SupplierCustomerInfoBuilder();
}
public static class SupplierCustomerInfoBuilder {
private PowerOfAttorney powerOfAttorney;
private BusinessLicense businessLicense;
private List<IndustryLicense> industryLicense;
private List<SupplierCustomerOtherInfo> otherInfo;
public SupplierCustomerInfoBuilder powerOfAttor(PowerOfAttorney powerOfAttorney) {
this.powerOfAttorney = powerOfAttorney;
return this;
}
public SupplierCustomerInfoBuilder businessLicens(BusinessLicense businessLicense) {
this.businessLicense = businessLicense;
return this;
}
public SupplierCustomerInfoBuilder industryLicense(List<IndustryLicense> industryLicense) {
this.industryLicense = industryLicense;
return this;
}
public SupplierCustomerInfoBuilder otherInfo(List<SupplierCustomerOtherInfo> otherInfo) {
this.otherInfo = otherInfo;
return this;
}
public SupplierCustomerInfo build() {
SupplierCustomerInfo supplierCustomerInfo = new SupplierCustomerInfo();
supplierCustomerInfo.setPower_of_attorney(powerOfAttorney);
supplierCustomerInfo.setBusiness_license(businessLicense);
supplierCustomerInfo.setIndustry_license(industryLicense);
supplierCustomerInfo.setOther_info(otherInfo);
return supplierCustomerInfo;
}
}
public PowerOfAttorney getPower_of_attorney() {
return power_of_attorney;
}
public void setPower_of_attorney(PowerOfAttorney power_of_attorney) {
this.power_of_attorney = power_of_attorney;
}
public BusinessLicense getBusiness_license() {
return business_license;
}
public void setBusiness_license(BusinessLicense business_license) {
this.business_license = business_license;
}
public List<IndustryLicense> getIndustry_license() {
return industry_license;
}
public void setIndustry_license(List<IndustryLicense> industry_license) {
this.industry_license = industry_license;
}
public List<SupplierCustomerOtherInfo> getOther_info() {
return other_info;
}
public void setOther_info(List<SupplierCustomerOtherInfo> other_info) {
this.other_info = other_info;
}
}

View File

@ -0,0 +1,61 @@
package com.dyj.applet.domain;
/**
* @author danmo
* @date 2024-04-28 13:44
**/
public class SupplierCustomerOtherInfo {
/**
* 其他补充材料外部id
*/
private String ext_id;
/**
* 其他补充材料url
*/
private String url;
public static SupplierCustomerOtherInfoBuilder builder() {
return new SupplierCustomerOtherInfoBuilder();
}
public static class SupplierCustomerOtherInfoBuilder {
private String extId;
private String url;
public SupplierCustomerOtherInfoBuilder extId(String extId) {
this.extId = extId;
return this;
}
public SupplierCustomerOtherInfoBuilder url(String url) {
this.url = url;
return this;
}
public SupplierCustomerOtherInfo build() {
SupplierCustomerOtherInfo supplierCustomerOtherInfo = new SupplierCustomerOtherInfo();
supplierCustomerOtherInfo.setExt_id(extId);
supplierCustomerOtherInfo.setUrl(url);
return supplierCustomerOtherInfo;
}
}
public String getExt_id() {
return ext_id;
}
public void setExt_id(String ext_id) {
this.ext_id = ext_id;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
}

View File

@ -0,0 +1,192 @@
package com.dyj.applet.domain;
import com.alibaba.fastjson.JSONObject;
import java.util.List;
/**
* @author danmo
* @date 2024-04-28 15:04
**/
public class SupplierDataDetail {
/**
* 在线状态 1 - 在线; 2 - 下线
*/
private Integer status;
/**
* 店铺属性字段编号规则垂直行业 1xxx-酒店民宿 2xxx-餐饮 3xxx-景区 通用属性-9yxxx
*/
private JSONObject attributes;
/**
* 联系座机号
*/
private String contact_tel;
/**
* 商家资质信息
*/
private SupplierCustomerInfo customer_info;
/**
* 店铺介绍(<=500字)
*/
private String description;
/**
* 店铺名称
*/
private String name;
/**
* poi详细信息
*/
private SupplierPoiInfo poi_info;
/**
* 店铺地址
*/
private String address;
/**
* 抖音poi id, 三方如果使用高德poi id可以通过/poi/query/接口转换其它三方poi id走poi匹配功能进行抖音poi id获取
*/
private String poi_id;
/**
* 接入方店铺id
*/
private String supplier_ext_id;
/**
* 店铺类型 1 - 酒店民宿 2 - 餐饮 3 - 景区 4 - 电商 5 - 教育 6 - 丽人 7 - 爱车 8 - 亲子 9 - 宠物 10 - 家装 11 - 娱乐场所 12 - 图文快印
*/
private Integer type;
/**
* 联系手机号
*/
private String contact_phone;
/**
* 服务商资质信息
*/
private SupplierServiceProvider service_provider;
/**
* 店铺图片
*/
private List<SupplierService> images;
private String services;
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
public JSONObject getAttributes() {
return attributes;
}
public void setAttributes(JSONObject attributes) {
this.attributes = attributes;
}
public String getContact_tel() {
return contact_tel;
}
public void setContact_tel(String contact_tel) {
this.contact_tel = contact_tel;
}
public SupplierCustomerInfo getCustomer_info() {
return customer_info;
}
public void setCustomer_info(SupplierCustomerInfo customer_info) {
this.customer_info = customer_info;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public SupplierPoiInfo getPoi_info() {
return poi_info;
}
public void setPoi_info(SupplierPoiInfo poi_info) {
this.poi_info = poi_info;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getPoi_id() {
return poi_id;
}
public void setPoi_id(String poi_id) {
this.poi_id = poi_id;
}
public String getSupplier_ext_id() {
return supplier_ext_id;
}
public void setSupplier_ext_id(String supplier_ext_id) {
this.supplier_ext_id = supplier_ext_id;
}
public Integer getType() {
return type;
}
public void setType(Integer type) {
this.type = type;
}
public String getContact_phone() {
return contact_phone;
}
public void setContact_phone(String contact_phone) {
this.contact_phone = contact_phone;
}
public SupplierServiceProvider getService_provider() {
return service_provider;
}
public void setService_provider(SupplierServiceProvider service_provider) {
this.service_provider = service_provider;
}
public List<SupplierService> getImages() {
return images;
}
public void setImages(List<SupplierService> images) {
this.images = images;
}
public String getServices() {
return services;
}
public void setServices(String services) {
this.services = services;
}
}

View File

@ -0,0 +1,88 @@
package com.dyj.applet.domain;
/**
* 酒店设施
* @author danmo
* @date 2024-04-28 14:03
**/
public class SupplierHotelFacilitie
{
/**
* 设施/服务code,
* -1代表自定义
* 1 - 空调;
* 2 - 电视;
* 3 - 阳台;
* 4 - 窗户;
* 5 - 独立卫浴;
* 6 - 浴缸;
* 7 - 吹风机;
* 8 - 衣架;
* 9 - 热水;
* 10 - 洗衣机;
* 11 - 基本厨具;
* 12 - 冰箱;
* 13 - 免费Wifi;
* 14 - 电热水壶;
* 15 - 暖气;
* 16 - 智能马桶;
* 17 - 微波炉;
* 18 - 门禁系统;
* 19 - 智能门锁;
* 20 - 私家花园;
* 21 - 私家泳池;
* 22 - 观景露台;
* 23 - 免费停车;
* 24 - 行李寄存;
*/
private String code;
/**
* 设施/服务名称, code与name不匹配时code生效
* 自定义项目不超过5个汉字
*/
private String name;
public static SupplierHotelFacilitieBuilder builder()
{
return new SupplierHotelFacilitieBuilder();
}
public static class SupplierHotelFacilitieBuilder
{
private String code;
private String name;
public SupplierHotelFacilitieBuilder code(String code)
{
this.code = code;
return this;
}
public SupplierHotelFacilitieBuilder name(String name)
{
this.name = name;
return this;
}
public SupplierHotelFacilitie build()
{
SupplierHotelFacilitie supplierHotelFacilitie = new SupplierHotelFacilitie();
supplierHotelFacilitie.setCode(code);
supplierHotelFacilitie.setName(name);
return supplierHotelFacilitie;
}
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}

View File

@ -0,0 +1,59 @@
package com.dyj.applet.domain;
/**
* 酒店特色项目
* @author danmo
* @date 2024-04-28 14:06
**/
public class SupplierHotelFeatured {
/**
* 设施/服务code,
* -1代表自定义
* 1 - 空调;
* 2 - 电视;
* 3 - 阳台;
* 4 - 窗户;
* 5 - 独立卫浴;
* 6 - 浴缸;
* 7 - 吹风机;
* 8 - 衣架;
* 9 - 热水;
* 10 - 洗衣机;
* 11 - 基本厨具;
* 12 - 冰箱;
* 13 - 免费Wifi;
* 14 - 电热水壶;
* 15 - 暖气;
* 16 - 智能马桶;
* 17 - 微波炉;
* 18 - 门禁系统;
* 19 - 智能门锁;
* 20 - 私家花园;
* 21 - 私家泳池;
* 22 - 观景露台;
* 23 - 免费停车;
* 24 - 行李寄存;
*/
private String code;
/**
* 设施/服务名称, code与name不匹配时code生效
* 自定义项目不超过5个汉字
*/
private String name;
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}

View File

@ -0,0 +1,112 @@
package com.dyj.applet.domain;
/**
* 酒店政策
* @author danmo
* @date 2024-04-28 14:09
**/
public class SupplierHotelPolicy {
/**
* 早餐政策
*/
private SupplierHotelPolicyBreakFast breakfast;
/**
* 入住时间(HH:mm)
*/
private String check_in_time;
/**
* 离店时间(HH:mm)
*/
private String check_out_time;
/**
* 儿童政策
*/
private String child;
/**
* 宠物政策
*/
private String pet;
public static SupplierHotelPolicyBuilder builder() {
return new SupplierHotelPolicyBuilder();
}
public static class SupplierHotelPolicyBuilder {
private SupplierHotelPolicyBreakFast breakfast;
private String checkInTime;
private String checkOutTime;
private String child;
private String pet;
public SupplierHotelPolicyBuilder breakfast(SupplierHotelPolicyBreakFast breakfast) {
this.breakfast = breakfast;
return this;
}
public SupplierHotelPolicyBuilder checkInTime(String checkInTime) {
this.checkInTime = checkInTime;
return this;
}
public SupplierHotelPolicyBuilder checkOutTime(String checkOutTime) {
this.checkOutTime = checkOutTime;
return this;
}
public SupplierHotelPolicyBuilder child(String child) {
this.child = child;
return this;
}
public SupplierHotelPolicyBuilder pet(String pet) {
this.pet = pet;
return this;
}
public SupplierHotelPolicy build() {
SupplierHotelPolicy supplierHotelPolicy = new SupplierHotelPolicy();
supplierHotelPolicy.setBreakfast(breakfast);
supplierHotelPolicy.setCheck_in_time(checkInTime);
supplierHotelPolicy.setCheck_out_time(checkOutTime);
supplierHotelPolicy.setChild(child);
supplierHotelPolicy.setPet(pet);
return supplierHotelPolicy;
}
}
public SupplierHotelPolicyBreakFast getBreakfast() {
return breakfast;
}
public void setBreakfast(SupplierHotelPolicyBreakFast breakfast) {
this.breakfast = breakfast;
}
public String getCheck_in_time() {
return check_in_time;
}
public void setCheck_in_time(String check_in_time) {
this.check_in_time = check_in_time;
}
public String getCheck_out_time() {
return check_out_time;
}
public void setCheck_out_time(String check_out_time) {
this.check_out_time = check_out_time;
}
public String getChild() {
return child;
}
public void setChild(String child) {
this.child = child;
}
public String getPet() {
return pet;
}
public void setPet(String pet) {
this.pet = pet;
}
}

View File

@ -0,0 +1,60 @@
package com.dyj.applet.domain;
/**
* @author danmo
* @date 2024-04-28 14:11
**/
public class SupplierHotelPolicyBreakFast {
/**
* 早餐价格(单位人民币分)
*/
private String price;
/**
* 早餐类型
* 0 - 无早餐,
* 1 - 早餐,
* 2 - 自助早餐
*/
private String type;
public static SupplierHotelPolicyBreakFastBuilder builder() {
return new SupplierHotelPolicyBreakFastBuilder();
}
public static class SupplierHotelPolicyBreakFastBuilder {
private String price;
private String type;
public SupplierHotelPolicyBreakFastBuilder price(String price) {
this.price = price;
return this;
}
public SupplierHotelPolicyBreakFastBuilder type(String type) {
this.type = type;
return this;
}
public SupplierHotelPolicyBreakFast build() {
SupplierHotelPolicyBreakFast supplierHotelPolicyBreakFast = new SupplierHotelPolicyBreakFast();
supplierHotelPolicyBreakFast.setPrice(price);
supplierHotelPolicyBreakFast.setType(type);
return supplierHotelPolicyBreakFast;
}
}
public String getPrice() {
return price;
}
public void setPrice(String price) {
this.price = price;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
}

View File

@ -0,0 +1,82 @@
package com.dyj.applet.domain;
/**
* @author danmo
* @date 2024-04-28 14:01
**/
public class SupplierHotelService {
/**
* 设施/服务code
* 1 - 空调;
* 2 - 电视;
* 3 - 阳台;
* 4 - 窗户;
* 5 - 独立卫浴;
* 6 - 浴缸;
* 7 - 吹风机;
* 8 - 衣架;
* 9 - 热水;
* 10 - 洗衣机;
* 11 - 基本厨具;
* 12 - 冰箱;
* 13 - 免费Wifi;
* 14 - 电热水壶;
* 15 - 暖气;
* 16 - 智能马桶;
* 17 - 微波炉;
* 18 - 门禁系统;
* 19 - 智能门锁;
* 20 - 私家花园;
* 21 - 私家泳池;
* 22 - 观景露台;
* 23 - 免费停车;
* 24 - 行李寄存;
*/
private String code;
/**
* 设施/服务名称, code与name不匹配时code生效
* 自定义项目不超过5个汉字
*/
private String name;
public static SupplierHotelServiceBuilder builder() {
return new SupplierHotelServiceBuilder();
}
public static class SupplierHotelServiceBuilder {
private String code;
private String name;
public SupplierHotelServiceBuilder code(String code) {
this.code = code;
return this;
}
public SupplierHotelServiceBuilder name(String name) {
this.name = name;
return this;
}
public SupplierHotelService build() {
SupplierHotelService supplierHotelService = new SupplierHotelService();
supplierHotelService.setCode(code);
supplierHotelService.setName(name);
return supplierHotelService;
}
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}

View File

@ -0,0 +1,57 @@
package com.dyj.applet.domain;
/**
* @author danmo
* @date 2024-04-28 16:12
**/
public class SupplierMatchStatus {
/**
* 匹配状态0-没有匹配1-匹配中2-匹配完成3-匹配失败
*/
private Integer status;
/**
* 商户ID
*/
private Integer supplier_ext_id;
/**
* 匹配任务ID
*/
private Integer task_id;
/**
* 抖音POIID
*/
private Integer poi_id;
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
public Integer getSupplier_ext_id() {
return supplier_ext_id;
}
public void setSupplier_ext_id(Integer supplier_ext_id) {
this.supplier_ext_id = supplier_ext_id;
}
public Integer getTask_id() {
return task_id;
}
public void setTask_id(Integer task_id) {
this.task_id = task_id;
}
public Integer getPoi_id() {
return poi_id;
}
public void setPoi_id(Integer poi_id) {
this.poi_id = poi_id;
}
}

View File

@ -0,0 +1,44 @@
package com.dyj.applet.domain;
/**
* @author danmo
* @date 2024-04-28 15:16
**/
public class SupplierPoiInfo {
/**
* 一级品类
*/
private String first_category;
/**
* 二级品类
*/
private String second_category;
/**
* 三级品类
*/
private String third_category;
public String getFirst_category() {
return first_category;
}
public void setFirst_category(String first_category) {
this.first_category = first_category;
}
public String getSecond_category() {
return second_category;
}
public void setSecond_category(String second_category) {
this.second_category = second_category;
}
public String getThird_category() {
return third_category;
}
public void setThird_category(String third_category) {
this.third_category = third_category;
}
}

View File

@ -0,0 +1,189 @@
package com.dyj.applet.domain;
import java.util.List;
/**
* 景区须知
*
* @author danmo
* @date 2024-04-28 14:19
**/
public class SupplierScenicNotice {
/**
* 玩法介绍(不超过200个汉字)
*/
private List<ScenicNoticeIntro> play_intro;
/**
* 优待政策(不超过200个汉字)
*/
private List<ScenicNoticePreferentialPolicy> preferential_policy;
/**
* 优待政策-扩展区(不超过1000个汉字)
*/
private List<ScenicNoticeIntro> preferential_policy_ext;
/**
* 服务设施列表
*/
private List<ScenicNoticeFacility> facility;
/**
* 开放时间
*/
private String open_time;
/**
* 开放时间-扩展区(不超过200个汉字)
*/
private List<ScenicNoticeIntro> open_time_ext;
/**
* 宠物携带(1:可携带宠物2:不可携带宠物)
*/
private Integer pet;
/**
* 景点介绍(不超过2000个汉字)
*/
private List<ScenicNoticeIntro> scenic_intro;
/**
* 交通(不超过200个汉字)
*/
private List<ScenicNoticeIntro> traffic;
public static SupplierScenicNoticeBuilder builder() {
return new SupplierScenicNoticeBuilder();
}
public static class SupplierScenicNoticeBuilder {
private List<ScenicNoticeIntro> playIntro;
private List<ScenicNoticePreferentialPolicy> preferentialPolicy;
private List<ScenicNoticeIntro> preferentialPolicyExt;
private String openTime;
private List<ScenicNoticeIntro> openTimeExt;
private Integer pet;
private List<ScenicNoticeIntro> scenicIntro;
private List<ScenicNoticeIntro> traffic;
public SupplierScenicNoticeBuilder playIntro(List<ScenicNoticeIntro> playIntro) {
this.playIntro = playIntro;
return this;
}
public SupplierScenicNoticeBuilder preferentialPolicy(List<ScenicNoticePreferentialPolicy> preferentialPolicy) {
this.preferentialPolicy = preferentialPolicy;
return this;
}
public SupplierScenicNoticeBuilder preferentialPolicyExt(List<ScenicNoticeIntro> preferentialPolicyExt) {
this.preferentialPolicyExt = preferentialPolicyExt;
return this;
}
public SupplierScenicNoticeBuilder openTime(String openTime) {
this.openTime = openTime;
return this;
}
public SupplierScenicNoticeBuilder openTimeExt(List<ScenicNoticeIntro> openTimeExt) {
this.openTimeExt = openTimeExt;
return this;
}
public SupplierScenicNoticeBuilder pet(Integer pet) {
this.pet = pet;
return this;
}
public SupplierScenicNoticeBuilder scenicIntro(List<ScenicNoticeIntro> scenicIntro) {
this.scenicIntro = scenicIntro;
return this;
}
public SupplierScenicNoticeBuilder traffic(List<ScenicNoticeIntro> traffic) {
this.traffic = traffic;
return this;
}
public SupplierScenicNotice build() {
SupplierScenicNotice supplierScenicNotice = new SupplierScenicNotice();
supplierScenicNotice.setOpen_time(openTime);
supplierScenicNotice.setOpen_time_ext(openTimeExt);
supplierScenicNotice.setPet(pet);
supplierScenicNotice.setPreferential_policy(preferentialPolicy);
supplierScenicNotice.setPreferential_policy_ext(preferentialPolicyExt);
supplierScenicNotice.setPlay_intro(playIntro);
supplierScenicNotice.setScenic_intro(scenicIntro);
supplierScenicNotice.setTraffic(traffic);
return supplierScenicNotice;
}
}
public List<ScenicNoticeIntro> getPlay_intro() {
return play_intro;
}
public void setPlay_intro(List<ScenicNoticeIntro> play_intro) {
this.play_intro = play_intro;
}
public List<ScenicNoticePreferentialPolicy> getPreferential_policy() {
return preferential_policy;
}
public void setPreferential_policy(List<ScenicNoticePreferentialPolicy> preferential_policy) {
this.preferential_policy = preferential_policy;
}
public List<ScenicNoticeIntro> getPreferential_policy_ext() {
return preferential_policy_ext;
}
public void setPreferential_policy_ext(List<ScenicNoticeIntro> preferential_policy_ext) {
this.preferential_policy_ext = preferential_policy_ext;
}
public List<ScenicNoticeFacility> getFacility() {
return facility;
}
public void setFacility(List<ScenicNoticeFacility> facility) {
this.facility = facility;
}
public String getOpen_time() {
return open_time;
}
public void setOpen_time(String open_time) {
this.open_time = open_time;
}
public List<ScenicNoticeIntro> getOpen_time_ext() {
return open_time_ext;
}
public void setOpen_time_ext(List<ScenicNoticeIntro> open_time_ext) {
this.open_time_ext = open_time_ext;
}
public Integer getPet() {
return pet;
}
public void setPet(Integer pet) {
this.pet = pet;
}
public List<ScenicNoticeIntro> getScenic_intro() {
return scenic_intro;
}
public void setScenic_intro(List<ScenicNoticeIntro> scenic_intro) {
this.scenic_intro = scenic_intro;
}
public List<ScenicNoticeIntro> getTraffic() {
return traffic;
}
public void setTraffic(List<ScenicNoticeIntro> traffic) {
this.traffic = traffic;
}
}

View File

@ -0,0 +1,76 @@
package com.dyj.applet.domain;
/**
* @author danmo
* @date 2024-04-28 15:19
**/
public class SupplierService {
/**
* 上线状态(1:上线2:下线)
*/
private Integer enable;
/**
* 服务类型(201-预约点餐服务, 202-预约订位服务, 203-排队取号服务, 9001-门票预订服务, 9101-团购套餐服务, 9102-领优惠劵服务, 9201-在线预约服务, 9301-外卖服务)
*/
private Integer service_type;
/**
* 服务入口拼接参数
*/
private SupplierServiceEntry entry;
public static SupplierServiceBuilder builder() {
return new SupplierServiceBuilder();
}
public static class SupplierServiceBuilder {
private Integer enable;
private Integer serviceType;
private SupplierServiceEntry entry;
public SupplierServiceBuilder enable(Integer enable) {
this.enable = enable;
return this;
}
public SupplierServiceBuilder serviceType(Integer serviceType) {
this.serviceType = serviceType;
return this;
}
public SupplierServiceBuilder entry(SupplierServiceEntry entry) {
this.entry = entry;
return this;
}
public SupplierService build() {
SupplierService supplierService = new SupplierService();
supplierService.setEnable(enable);
supplierService.setService_type(serviceType);
supplierService.setEntry(entry);
return supplierService;
}
}
public Integer getEnable() {
return enable;
}
public void setEnable(Integer enable) {
this.enable = enable;
}
public Integer getService_type() {
return service_type;
}
public void setService_type(Integer service_type) {
this.service_type = service_type;
}
public SupplierServiceEntry getEntry() {
return entry;
}
public void setEntry(SupplierServiceEntry entry) {
this.entry = entry;
}
}

View File

@ -0,0 +1,58 @@
package com.dyj.applet.domain;
/**
* @author danmo
* @date 2024-04-28 15:21
**/
public class SupplierServiceEntry {
/**
* 抖音小程序入口参数
*/
private SupplierServiceEntryMiniApp entry_mini_app;
/**
* 入口类型(1:H52:抖音小程序)
*/
private Integer entry_type;
public static SupplierServiceEntryBuilder builder() {
return new SupplierServiceEntryBuilder();
}
public static class SupplierServiceEntryBuilder {
private SupplierServiceEntryMiniApp entryMiniApp;
private Integer entryType;
public SupplierServiceEntryBuilder entryMiniApp(SupplierServiceEntryMiniApp entryMiniApp) {
this.entryMiniApp = entryMiniApp;
return this;
}
public SupplierServiceEntryBuilder entryType(Integer entryType) {
this.entryType = entryType;
return this;
}
public SupplierServiceEntry build() {
SupplierServiceEntry supplierServiceEntry = new SupplierServiceEntry();
supplierServiceEntry.setEntry_mini_app(entryMiniApp);
supplierServiceEntry.setEntry_type(entryType);
return supplierServiceEntry;
}
}
public SupplierServiceEntryMiniApp getEntry_mini_app() {
return entry_mini_app;
}
public void setEntry_mini_app(SupplierServiceEntryMiniApp entry_mini_app) {
this.entry_mini_app = entry_mini_app;
}
public Integer getEntry_type() {
return entry_type;
}
public void setEntry_type(Integer entry_type) {
this.entry_type = entry_type;
}
}

View File

@ -0,0 +1,80 @@
package com.dyj.applet.domain;
/**
* @author danmo
* @date 2024-04-28 15:22
**/
public class SupplierServiceEntryMiniApp {
/**
* 服务参数json
*/
private String params;
/**
* 服务路径
*/
private String path;
/**
* 小程序的appid
*/
private String app_id;
public SupplierServiceEntryMiniAppBuilder builder() {
return new SupplierServiceEntryMiniAppBuilder();
}
public static class SupplierServiceEntryMiniAppBuilder {
private String params;
private String path;
private String appId;
public SupplierServiceEntryMiniAppBuilder params(String params) {
this.params = params;
return this;
}
public SupplierServiceEntryMiniAppBuilder path(String path) {
this.path = path;
return this;
}
public SupplierServiceEntryMiniAppBuilder appId(String appId) {
this.appId = appId;
return this;
}
public SupplierServiceEntryMiniApp build() {
SupplierServiceEntryMiniApp supplierServiceEntryMiniApp = new SupplierServiceEntryMiniApp();
supplierServiceEntryMiniApp.setParams(params);
supplierServiceEntryMiniApp.setPath(path);
supplierServiceEntryMiniApp.setApp_id(appId);
return supplierServiceEntryMiniApp;
}
}
public String getParams() {
return params;
}
public void setParams(String params) {
this.params = params;
}
public String getPath() {
return path;
}
public void setPath(String path) {
this.path = path;
}
public String getApp_id() {
return app_id;
}
public void setApp_id(String app_id) {
this.app_id = app_id;
}
}

View File

@ -0,0 +1,60 @@
package com.dyj.applet.domain;
import java.util.List;
/**
* @author danmo
* @date 2024-04-28 14:48
**/
public class SupplierServiceProvider {
/**
* 服务商营业执照
*/
private String business_license_ext_id;
/**
* 服务商行业许可证
*/
private List<String> industry_license_ext_id;
public static SupplierServiceProviderBuilder builder() {
return new SupplierServiceProviderBuilder();
}
public static class SupplierServiceProviderBuilder {
private String businessLicenseExtId;
private List<String> industryLicenseExtId;
public SupplierServiceProviderBuilder businessLicenseExtId(String businessLicenseExtId) {
this.businessLicenseExtId = businessLicenseExtId;
return this;
}
public SupplierServiceProviderBuilder industryLicenseExtId(List<String> industryLicenseExtId) {
this.industryLicenseExtId = industryLicenseExtId;
return this;
}
public SupplierServiceProvider build() {
SupplierServiceProvider supplierServiceProvider = new SupplierServiceProvider();
supplierServiceProvider.setBusiness_license_ext_id(businessLicenseExtId);
supplierServiceProvider.setIndustry_license_ext_id(industryLicenseExtId);
return supplierServiceProvider;
}
}
public String getBusiness_license_ext_id() {
return business_license_ext_id;
}
public void setBusiness_license_ext_id(String business_license_ext_id) {
this.business_license_ext_id = business_license_ext_id;
}
public List<String> getIndustry_license_ext_id() {
return industry_license_ext_id;
}
public void setIndustry_license_ext_id(List<String> industry_license_ext_id) {
this.industry_license_ext_id = industry_license_ext_id;
}
}

View File

@ -0,0 +1,221 @@
package com.dyj.applet.domain;
/**
* @author danmo
* @date 2024-04-28 16:16
**/
public class SupplierSubmitTaskData {
/**
* 三方系统内的唯一 id
*/
private String supplier_ext_id;
/**
* 抖音门店 id
* 若已获取抖音门店 id可直接用于关联匹配以提高匹配成功率
*/
private String poi_id;
/**
* 门店名称
*/
private String poi_name;
/**
* 省份名称
*/
private String province;
/**
* 城市名称
* 可为空字符串仅供问题排查使用
*/
private String city;
/**
* 门店地址信息
*/
private String address;
/**
* 纬度精度为小数点后6位需使用 GCJ-02 坐标系统
*/
private Float latitude;
/**
* 经度精度为小数点后6位需使用 GCJ-02 坐标系统
*/
private Float longitude;
/**
* 其他信息可为空字符串
*/
private String extra;
/**
* 营业手机号
*/
private String contact_phone;
/**
* 营业座机号
*/
private String contact_tel;
public static SupplierSubmitTaskDataBuilder builder() {
return new SupplierSubmitTaskDataBuilder();
}
public static class SupplierSubmitTaskDataBuilder {
private String supplierExtId;
private String poiId;
private String poiName;
private String province;
private String city;
private String address;
private Float latitude;
private Float longitude;
private String extra;
private String contactPhone;
private String contactTel;
public SupplierSubmitTaskDataBuilder supplierExtId(String supplierExtId) {
this.supplierExtId = supplierExtId;
return this;
}
public SupplierSubmitTaskDataBuilder poiId(String poiId) {
this.poiId = poiId;
return this;
}
public SupplierSubmitTaskDataBuilder poiName(String poiName) {
this.poiName = poiName;
return this;
}
public SupplierSubmitTaskDataBuilder province(String province) {
this.province = province;
return this;
}
public SupplierSubmitTaskDataBuilder city(String city) {
this.city = city;
return this;
}
public SupplierSubmitTaskDataBuilder address(String address) {
this.address = address;
return this;
}
public SupplierSubmitTaskDataBuilder latitude(Float latitude) {
this.latitude = latitude;
return this;
}
public SupplierSubmitTaskDataBuilder longitude(Float longitude) {
this.longitude = longitude;
return this;
}
public SupplierSubmitTaskDataBuilder extra(String extra) {
this.extra = extra;
return this;
}
public SupplierSubmitTaskDataBuilder contactPhone(String contactPhone) {
this.contactPhone = contactPhone;
return this;
}
public SupplierSubmitTaskDataBuilder contactTel(String contactTel) {
this.contactTel = contactTel;
return this;
}
public SupplierSubmitTaskData build() {
SupplierSubmitTaskData supplierSubmitTaskData = new SupplierSubmitTaskData();
supplierSubmitTaskData.setSupplier_ext_id(supplierExtId);
supplierSubmitTaskData.setPoi_id(poiId);
supplierSubmitTaskData.setPoi_name(poiName);
supplierSubmitTaskData.setProvince(province);
supplierSubmitTaskData.setCity(city);
supplierSubmitTaskData.setAddress(address);
supplierSubmitTaskData.setLatitude(latitude);
supplierSubmitTaskData.setLongitude(longitude);
supplierSubmitTaskData.setExtra(extra);
supplierSubmitTaskData.setContact_phone(contactPhone);
supplierSubmitTaskData.setContact_tel(contactTel);
return supplierSubmitTaskData;
}
}
public String getSupplier_ext_id() {
return supplier_ext_id;
}
public void setSupplier_ext_id(String supplier_ext_id) {
this.supplier_ext_id = supplier_ext_id;
}
public String getPoi_id() {
return poi_id;
}
public void setPoi_id(String poi_id) {
this.poi_id = poi_id;
}
public String getPoi_name() {
return poi_name;
}
public void setPoi_name(String poi_name) {
this.poi_name = poi_name;
}
public String getProvince() {
return province;
}
public void setProvince(String province) {
this.province = province;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public Float getLatitude() {
return latitude;
}
public void setLatitude(Float latitude) {
this.latitude = latitude;
}
public Float getLongitude() {
return longitude;
}
public void setLongitude(Float longitude) {
this.longitude = longitude;
}
public String getExtra() {
return extra;
}
public void setExtra(String extra) {
this.extra = extra;
}
public String getContact_phone() {
return contact_phone;
}
public void setContact_phone(String contact_phone) {
this.contact_phone = contact_phone;
}
public String getContact_tel() {
return contact_tel;
}
public void setContact_tel(String contact_tel) {
this.contact_tel = contact_tel;
}
}

View File

@ -0,0 +1,34 @@
package com.dyj.applet.domain;
/**
* @author danmo
* @date 2024-04-28 15:03
**/
public class SupplierSyncStatus {
/**
* 最近一次同步状态, 0 - 未处理; 1 - 通过; 2 - 未通过
*/
private Integer last_sync_status;
/**
* 同步失败原因抖音风控政策问题该字段无法提供太多信息目前审核不通过联系抖音运营做进一步处理
*/
private String fail_reason;
public Integer getLast_sync_status() {
return last_sync_status;
}
public void setLast_sync_status(Integer last_sync_status) {
this.last_sync_status = last_sync_status;
}
public String getFail_reason() {
return fail_reason;
}
public void setFail_reason(String fail_reason) {
this.fail_reason = fail_reason;
}
}

View File

@ -0,0 +1,57 @@
package com.dyj.applet.domain.query;
import com.dyj.applet.domain.SupplierSubmitTaskData;
import com.dyj.common.domain.query.BaseQuery;
import java.util.List;
/**
* @author danmo
* @date 2024-04-28 16:15
**/
public class SupplierSubmitTaskQuery extends BaseQuery {
private List<SupplierSubmitTaskData> match_data_list;
public static SupplierSubmitTaskQueryBuilder builder() {
return new SupplierSubmitTaskQueryBuilder();
}
public static class SupplierSubmitTaskQueryBuilder {
private List<SupplierSubmitTaskData> matchDataList;
private Integer tenantId;
private String clientKey;
public SupplierSubmitTaskQueryBuilder matchDataList(List<SupplierSubmitTaskData> matchDataList) {
this.matchDataList = matchDataList;
return this;
}
public SupplierSubmitTaskQueryBuilder tenantId(Integer tenantId) {
this.tenantId = tenantId;
return this;
}
public SupplierSubmitTaskQueryBuilder clientKey(String clientKey) {
this.clientKey = clientKey;
return this;
}
public SupplierSubmitTaskQuery build() {
SupplierSubmitTaskQuery supplierSubmitTaskQuery = new SupplierSubmitTaskQuery();
supplierSubmitTaskQuery.setMatch_data_list(matchDataList);
supplierSubmitTaskQuery.setTenantId(tenantId);
supplierSubmitTaskQuery.setClientKey(clientKey);
return supplierSubmitTaskQuery;
}
}
public List<SupplierSubmitTaskData> getMatch_data_list() {
return match_data_list;
}
public void setMatch_data_list(List<SupplierSubmitTaskData> match_data_list) {
this.match_data_list = match_data_list;
}
}

View File

@ -0,0 +1,550 @@
package com.dyj.applet.domain.query;
import com.alibaba.fastjson.JSONObject;
import com.dyj.applet.domain.*;
import com.dyj.common.domain.query.BaseQuery;
import org.springframework.util.CollectionUtils;
import java.util.List;
import java.util.Objects;
/**
* @author danmo
* @date 2024-04-28 11:40
**/
public class SupplierSyncQuery extends BaseQuery {
/**
* 联系手机号
*/
private String contact_phone;
/**
* 联系座机号
*/
private String contact_tel;
/**
* 店铺图片
*/
private List<String> images;
/**
* 商户号商家担保交易中的收款账户ID
*/
private String merchant_uid;
/**
* 服务商资质信息
*/
private SupplierServiceProvider service_provider;
/**
* 接入方店铺id
*/
private String supplier_ext_id;
/**
* 标签
* [可停车 离地铁近]
*/
private List<String> tags;
/**
* 纬度
*/
private String latitude;
/**
* 在线状态 1 - 在线; 2 - 下线
*/
private Integer status;
/**
* POI品类编码
*/
private String type_code;
/**
* POI品类描述 eg. 美食;中式餐饮;小龙虾
*/
private String type_name;
/**
* 店铺地址
*/
private String address;
/**
* 人均消费单位分
*/
private Long avg_cost;
/**
* 商家资质信息
*/
private SupplierCustomerInfo customer_info;
/**
* 店铺介绍(<=500字)
*/
private String description;
/**
* 店铺名称
*/
private String name;
/**
* 推荐
*/
private List<String> recommends;
/**
* 店铺提供的服务列表
*/
private List<SupplierService> services;
/**
* 店铺属性字段编号规则垂直行业 1xxx-酒店民宿 2xxx-餐饮 3xxx-景区 通用属性-9yxxx
*/
private JSONObject attributes;
/**
* 经度
*/
private String longitude;
/**
* 营业时间, 从周一到周日list长度为7不营业则为空字符串
* [10:00-12:00;13:00-22:00 10:00-12:00;13:00-22:00 10:00-12:00;13:00-22:00 10:00-12:00;13:00-22:00 10:00-12:00;13:00-22:00 10:00-12:00;13:00-22:00]
*/
private List<String> open_time;
/**
* 抖音poi id, 三方如果使用高德poi id可以通过/poi/query/接口转换其它三方poi id走poi匹配功能进行抖音poi id获取
*/
private String poi_id;
/**
* 店铺类型
* 1 - 酒店民宿
* 2 - 餐饮
* 3 - 景区
* 4 - 电商
* 5 - 教育
* 6 - 丽人
* 7 - 爱车
* 8 - 亲子
* 9 - 宠物
* 10 - 家装
* 11 - 娱乐场所
* 12 - 图文快印
*/
private Integer type;
public static SupplierSyncQueryBuilder builder() {
return new SupplierSyncQueryBuilder();
}
public static class SupplierSyncQueryBuilder {
private String contactPhone;
private String contactTel;
private List<String> images;
private String merchantUid;
private SupplierServiceProvider serviceProvider;
private String supplierExtId;
private List<String> tags;
private String latitude;
private Integer status;
private String typeCode;
private String typeName;
private String address;
private Long avgCost;
private SupplierCustomerInfo customerInfo;
private String description;
private String name;
private List<String> recommends;
private List<SupplierService> services;
private JSONObject attributes;
private String longitude;
private List<String> openTime;
private String poiId;
private Integer type;
public SupplierSyncQueryBuilder contactPhone(String contactPhone) {
this.contactPhone = contactPhone;
return this;
}
public SupplierSyncQueryBuilder contactTel(String contactTel) {
this.contactTel = contactTel;
return this;
}
public SupplierSyncQueryBuilder images(List<String> images) {
this.images = images;
return this;
}
public SupplierSyncQueryBuilder merchantUid(String merchantUid) {
this.merchantUid = merchantUid;
return this;
}
public SupplierSyncQueryBuilder serviceProvider(SupplierServiceProvider serviceProvider) {
this.serviceProvider = serviceProvider;
return this;
}
public SupplierSyncQueryBuilder supplierExtId(String supplierExtId) {
this.supplierExtId = supplierExtId;
return this;
}
public SupplierSyncQueryBuilder tags(List<String> tags) {
this.tags = tags;
return this;
}
public SupplierSyncQueryBuilder latitude(String latitude) {
this.latitude = latitude;
return this;
}
public SupplierSyncQueryBuilder status(Integer status) {
this.status = status;
return this;
}
public SupplierSyncQueryBuilder typeCode(String typeCode) {
this.typeCode = typeCode;
return this;
}
public SupplierSyncQueryBuilder typeName(String typeName) {
this.typeName = typeName;
return this;
}
public SupplierSyncQueryBuilder address(String address) {
this.address = address;
return this;
}
public SupplierSyncQueryBuilder avgCost(Long avgCost) {
this.avgCost = avgCost;
return this;
}
public SupplierSyncQueryBuilder customerInfo(SupplierCustomerInfo customerInfo) {
this.customerInfo = customerInfo;
return this;
}
public SupplierSyncQueryBuilder description(String description) {
this.description = description;
return this;
}
public SupplierSyncQueryBuilder name(String name) {
this.name = name;
return this;
}
public SupplierSyncQueryBuilder recommends(List<String> recommends) {
this.recommends = recommends;
return this;
}
public SupplierSyncQueryBuilder services(List<SupplierService> services) {
this.services = services;
return this;
}
public SupplierSyncQueryBuilder attributes(List<SupplierHotelService> hotelServices
, List<SupplierHotelFacilitie> hotelFacilities
, List<SupplierHotelFeatured> hotelFeatures
, SupplierHotelPolicy hotelPolicy
, Integer type
, SupplierScenicNotice scenicNotice) {
this.setAttributes(hotelServices, hotelFacilities, hotelFeatures, hotelPolicy, type, scenicNotice);
return this;
}
public SupplierSyncQueryBuilder longitude(String longitude) {
this.longitude = longitude;
return this;
}
public SupplierSyncQueryBuilder openTime(List<String> openTime) {
this.openTime = openTime;
return this;
}
public SupplierSyncQueryBuilder poiId(String poiId) {
this.poiId = poiId;
return this;
}
public SupplierSyncQueryBuilder type(Integer type) {
this.type = type;
return this;
}
/**
* 设置店铺属性字段编号规则垂直行业 1xxx-酒店民宿 2xxx-餐饮 3xxx-景区 通用属性-9yxxx
*
* @param hotelServices 酒店服务
* @param hotelFacilities 酒店设施
* @param hotelFeatures 酒店特色项目
* @param hotelPolicy 酒店政策
* @param type 下单模板1 - 国内模板, 2 - 海外模板
* @param scenicNotice 景区须知
*/
public void setAttributes(List<SupplierHotelService> hotelServices
, List<SupplierHotelFacilitie> hotelFacilities
, List<SupplierHotelFeatured> hotelFeatures
, SupplierHotelPolicy hotelPolicy
, Integer type
, SupplierScenicNotice scenicNotice) {
if (Objects.isNull(this.attributes)) {
this.attributes = new JSONObject();
}
if (!CollectionUtils.isEmpty(hotelServices)) {
this.attributes.put("1101", hotelServices);
}
if (!CollectionUtils.isEmpty(hotelFacilities)) {
this.attributes.put("1102", hotelFacilities);
}
if (!CollectionUtils.isEmpty(hotelFeatures)) {
this.attributes.put("1103", hotelFeatures);
}
if (Objects.nonNull(hotelPolicy)) {
this.attributes.put("1104", hotelPolicy);
}
if (Objects.nonNull(type)) {
this.attributes.put("1105", type);
}
if (Objects.nonNull(scenicNotice)) {
this.attributes.put("3101", scenicNotice);
}
}
public SupplierSyncQuery build() {
SupplierSyncQuery supplierSyncQuery = new SupplierSyncQuery();
supplierSyncQuery.setContact_phone(contactPhone);
supplierSyncQuery.setContact_tel(contactTel);
supplierSyncQuery.setImages(images);
supplierSyncQuery.setMerchant_uid(merchantUid);
supplierSyncQuery.setService_provider(serviceProvider);
supplierSyncQuery.setSupplier_ext_id(supplierExtId);
supplierSyncQuery.setTags(tags);
supplierSyncQuery.setLatitude(latitude);
supplierSyncQuery.setStatus(status);
supplierSyncQuery.setType_code(typeCode);
supplierSyncQuery.setType_name(typeName);
supplierSyncQuery.setAddress(address);
supplierSyncQuery.setAvg_cost(avgCost);
supplierSyncQuery.setCustomer_info(customerInfo);
supplierSyncQuery.setDescription(description);
supplierSyncQuery.setName(name);
supplierSyncQuery.setRecommends(recommends);
supplierSyncQuery.setServices(services);
supplierSyncQuery.setAttributes(attributes);
supplierSyncQuery.setOpen_time(openTime);
supplierSyncQuery.setLongitude(longitude);
supplierSyncQuery.setPoi_id(poiId);
supplierSyncQuery.setType(type);
return supplierSyncQuery;
}
}
public String getContact_phone() {
return contact_phone;
}
public void setContact_phone(String contact_phone) {
this.contact_phone = contact_phone;
}
public String getContact_tel() {
return contact_tel;
}
public void setContact_tel(String contact_tel) {
this.contact_tel = contact_tel;
}
public List<String> getImages() {
return images;
}
public void setImages(List<String> images) {
this.images = images;
}
public String getMerchant_uid() {
return merchant_uid;
}
public void setMerchant_uid(String merchant_uid) {
this.merchant_uid = merchant_uid;
}
public SupplierServiceProvider getService_provider() {
return service_provider;
}
public void setService_provider(SupplierServiceProvider service_provider) {
this.service_provider = service_provider;
}
public String getSupplier_ext_id() {
return supplier_ext_id;
}
public void setSupplier_ext_id(String supplier_ext_id) {
this.supplier_ext_id = supplier_ext_id;
}
public List<String> getTags() {
return tags;
}
public void setTags(List<String> tags) {
this.tags = tags;
}
public String getLatitude() {
return latitude;
}
public void setLatitude(String latitude) {
this.latitude = latitude;
}
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
public String getType_code() {
return type_code;
}
public void setType_code(String type_code) {
this.type_code = type_code;
}
public String getType_name() {
return type_name;
}
public void setType_name(String type_name) {
this.type_name = type_name;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public Long getAvg_cost() {
return avg_cost;
}
public void setAvg_cost(Long avg_cost) {
this.avg_cost = avg_cost;
}
public SupplierCustomerInfo getCustomer_info() {
return customer_info;
}
public void setCustomer_info(SupplierCustomerInfo customer_info) {
this.customer_info = customer_info;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public List<String> getRecommends() {
return recommends;
}
public void setRecommends(List<String> recommends) {
this.recommends = recommends;
}
public List<SupplierService> getServices() {
return services;
}
public void setServices(List<SupplierService> services) {
this.services = services;
}
public JSONObject getAttributes() {
return attributes;
}
public void setAttributes(JSONObject attributes) {
this.attributes = attributes;
}
public String getLongitude() {
return longitude;
}
public void setLongitude(String longitude) {
this.longitude = longitude;
}
public List<String> getOpen_time() {
return open_time;
}
public void setOpen_time(List<String> open_time) {
this.open_time = open_time;
}
public String getPoi_id() {
return poi_id;
}
public void setPoi_id(String poi_id) {
this.poi_id = poi_id;
}
public Integer getType() {
return type;
}
public void setType(Integer type) {
this.type = type;
}
}

View File

@ -0,0 +1,95 @@
package com.dyj.applet.domain.vo;
import com.dyj.common.domain.vo.BaseVo;
/**
* @author danmo
* @date 2024-04-28 15:31
**/
public class PoiIdVo extends BaseVo {
/**
* POI所在城市
*/
private String city;
/**
* 纬度
*/
private Float latitude;
/**
* 经度
*/
private Float longitude;
/**
* 抖音POI ID
*/
private String poi_id;
/**
* POI 名称
*/
private String poi_name;
/**
* POI地址
*/
private String address;
/**
* 高德POI ID
*/
private String amap_id;
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
public Float getLatitude() {
return latitude;
}
public void setLatitude(Float latitude) {
this.latitude = latitude;
}
public Float getLongitude() {
return longitude;
}
public void setLongitude(Float longitude) {
this.longitude = longitude;
}
public String getPoi_id() {
return poi_id;
}
public void setPoi_id(String poi_id) {
this.poi_id = poi_id;
}
public String getPoi_name() {
return poi_name;
}
public void setPoi_name(String poi_name) {
this.poi_name = poi_name;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getAmap_id() {
return amap_id;
}
public void setAmap_id(String amap_id) {
this.amap_id = amap_id;
}
}

View File

@ -0,0 +1,116 @@
package com.dyj.applet.domain.vo;
/**
* @author danmo
* @date 2024-04-28 15:35
**/
public class SupplierMatchResult {
/**
* 匹配状态描述
*/
private String mismatch_status_desc;
/**
* POI所在省份
*/
private String province;
/**
* POI地址
*/
private String address;
/**
* 匹配状态0-等待匹配1-正在匹配2-匹配成功3-匹配失败
*/
private String match_status;
/**
* POI名称
*/
private String poi_name;
/**
*抖音POI ID
*/
private String poi_id;
/**
* 第三方商户ID
*/
private String supplier_ext_id;
/**
* POI所在城市
*/
private String city;
/**
* 其他信息
*/
private String extra;
public String getMismatch_status_desc() {
return mismatch_status_desc;
}
public void setMismatch_status_desc(String mismatch_status_desc) {
this.mismatch_status_desc = mismatch_status_desc;
}
public String getProvince() {
return province;
}
public void setProvince(String province) {
this.province = province;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getMatch_status() {
return match_status;
}
public void setMatch_status(String match_status) {
this.match_status = match_status;
}
public String getPoi_name() {
return poi_name;
}
public void setPoi_name(String poi_name) {
this.poi_name = poi_name;
}
public String getPoi_id() {
return poi_id;
}
public void setPoi_id(String poi_id) {
this.poi_id = poi_id;
}
public String getSupplier_ext_id() {
return supplier_ext_id;
}
public void setSupplier_ext_id(String supplier_ext_id) {
this.supplier_ext_id = supplier_ext_id;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
public String getExtra() {
return extra;
}
public void setExtra(String extra) {
this.extra = extra;
}
}

View File

@ -0,0 +1,38 @@
package com.dyj.applet.domain.vo;
import com.dyj.common.domain.vo.BaseVo;
/**
* @author danmo
* @date 2024-04-28 16:22
**/
public class SupplierSubmitTaskVo extends BaseVo {
/**
* 任务提交状态
* 1 - 成功
* 2 - 失败
*/
private Integer is_success;
/**
* 匹配任务 id咨询问题时需提供
*/
private String task_id;
public Integer getIs_success() {
return is_success;
}
public void setIs_success(Integer is_success) {
this.is_success = is_success;
}
public Integer getTask_id() {
return task_id;
}
public void setTask_id(Integer task_id) {
this.task_id = task_id;
}
}

View File

@ -0,0 +1,23 @@
package com.dyj.applet.domain.vo;
import com.dyj.common.domain.vo.BaseVo;
/**
* @author danmo
* @date 2024-04-28 14:58
**/
public class SupplierSyncVo extends BaseVo {
/**
* 抖音平台商户ID
*/
private String supplier_id;
public String getSupplier_id() {
return supplier_id;
}
public void setSupplier_id(String supplier_id) {
this.supplier_id = supplier_id;
}
}

View File

@ -0,0 +1,22 @@
package com.dyj.applet.domain.vo;
import com.dyj.common.domain.vo.BaseVo;
import java.util.List;
/**
* @author danmo
* @date 2024-04-28 15:34
**/
public class SupplierTaskResultVo extends BaseVo {
private List<SupplierMatchResult> match_result_list;
public List<SupplierMatchResult> getMatch_result_list() {
return match_result_list;
}
public void setMatch_result_list(List<SupplierMatchResult> match_result_list) {
this.match_result_list = match_result_list;
}
}

View File

@ -0,0 +1,23 @@
package com.dyj.applet.domain.vo;
import com.dyj.applet.domain.SupplierMatchStatus;
import com.dyj.common.domain.vo.BaseVo;
import java.util.List;
/**
* @author danmo
* @date 2024-04-28 16:12
**/
public class SupplierTaskStatusVo extends BaseVo {
private List<SupplierMatchStatus> match_result_list;
public List<SupplierMatchStatus> getMatch_result_list() {
return match_result_list;
}
public void setMatch_result_list(List<SupplierMatchStatus> match_result_list) {
this.match_result_list = match_result_list;
}
}

View File

@ -0,0 +1,49 @@
package com.dyj.applet.domain.vo;
import com.dyj.common.domain.vo.BaseVo;
/**
* @author danmo
* @date 2024-04-28 16:24
**/
public class SupplierTaskVo extends BaseVo {
/**
* 任务id
*/
private String task_id;
/**
* 结果链接
*/
private String result_uri;
/**
* 任务状态 0 进行中 1 完成 2 失败
*/
private Integer task_status;
public String getTask_id() {
return task_id;
}
public void setTask_id(String task_id) {
this.task_id = task_id;
}
public String getResult_uri() {
return result_uri;
}
public void setResult_uri(String result_uri) {
this.result_uri = result_uri;
}
public Integer getTask_status() {
return task_status;
}
public void setTask_status(Integer task_status) {
this.task_status = task_status;
}
}

View File

@ -0,0 +1,36 @@
package com.dyj.applet.domain.vo;
import com.dyj.applet.domain.SupplierDataDetail;
import com.dyj.applet.domain.SupplierSyncStatus;
import com.dyj.common.domain.vo.BaseVo;
/**
* @author danmo
* @date 2024-04-28 15:02
**/
public class SupplierVo extends BaseVo {
private SupplierDataDetail data_detail;
/**
* 数据同步结果
*/
private SupplierSyncStatus sync_status;
public SupplierDataDetail getData_detail() {
return data_detail;
}
public void setData_detail(SupplierDataDetail data_detail) {
this.data_detail = data_detail;
}
public SupplierSyncStatus getSync_status() {
return sync_status;
}
public void setSync_status(SupplierSyncStatus sync_status) {
this.sync_status = sync_status;
}
}

View File

@ -62,6 +62,9 @@ public abstract class AbstractAppletHandler {
return SpringUtils.getBean(AptEAppletClient.class);
}
protected LifeServicesClient getLifeServicesClient() {
return SpringUtils.getBean(LifeServicesClient.class);
}
protected BaseQuery baseQuery(){
return baseQuery(null);
}

View File

@ -0,0 +1,100 @@
package com.dyj.applet.handler;
import com.dyj.applet.domain.query.SupplierSubmitTaskQuery;
import com.dyj.applet.domain.query.SupplierSyncQuery;
import com.dyj.applet.domain.vo.*;
import com.dyj.common.config.AgentConfiguration;
import com.dyj.common.domain.DyResult;
/**
* @author danmo
* @date 2024-04-28 16:27
**/
public class LifeServiceHandler extends AbstractAppletHandler {
public LifeServiceHandler(AgentConfiguration agentConfiguration) {
super(agentConfiguration);
}
/**
* 商铺同步
*
* @param query 入参
* @return DyResult<SupplierSyncVo>
*/
public DyResult<SupplierSyncVo> supplierSync(SupplierSyncQuery query) {
baseQuery(query);
return getLifeServicesClient().supplierSync(query);
}
/**
* 查询店铺
*
* @param supplierExtId 店铺ID
* @return DyResult<SupplierVo>
*/
public DyResult<SupplierVo> querySupplier(String supplierExtId) {
return getLifeServicesClient().querySupplier(baseQuery(), supplierExtId);
}
/**
* 获取抖音POI ID
*
* @param amapId 高德POI ID
* @return DyResult<PoiIdVo>
*/
public DyResult<PoiIdVo> queryPoiId(String amapId) {
return getLifeServicesClient().queryPoiId(baseQuery(), amapId);
}
/**
* 店铺匹配任务结果查询
*
* @param supplierTaskIds 店铺任务ID
* @return DyResult<SupplierTaskResultVo>
*/
public DyResult<SupplierTaskResultVo> querySupplierTaskResult(String supplierTaskIds) {
return getLifeServicesClient().querySupplierTaskResult(baseQuery(), supplierTaskIds);
}
/**
* 店铺匹配任务状态查询
*
* @param supplierExtId 店铺ID
* @return DyResult<SupplierTaskStatusVo>
*/
public DyResult<SupplierTaskStatusVo> querySupplierMatchStatus(String supplierExtId) {
return getLifeServicesClient().querySupplierMatchStatus(baseQuery(), supplierExtId);
}
/**
* 提交门店匹配任务
*
* @param query 入参
* @return DyResult<SupplierSubmitTaskVo>
*/
public DyResult<SupplierSubmitTaskVo> submitSupplierMatchTask(SupplierSubmitTaskQuery query) {
baseQuery(query);
return getLifeServicesClient().submitSupplierMatchTask(query);
}
/**
* 查询全部店铺信息接口(天级别请求5次)
*
* @return DyResult<SupplierTaskVo>
*/
public DyResult<SupplierTaskVo> queryAllSupplier() {
return getLifeServicesClient().queryAllSupplier(baseQuery());
}
/**
* 查询店铺全部信息任务返回内容
*
* @param taskId 任务ID
* @return DyResult<SupplierTaskVo>
*/
public DyResult<SupplierTaskVo> querySupplierCallback(String taskId) {
return getLifeServicesClient().querySupplierCallback(baseQuery(), taskId);
}
}

View File

@ -119,6 +119,24 @@ public enum DyAppletUrlPathEnum {
//退会
SHOP_MEMBER_LEAVE("shopMemberLeave","/api/ecom/v1/shop_member/leave/"),
//商铺同步
SUPPLIER_SYNC("supplierSync", "/poi/supplier/sync/"),
//查询店铺
QUERY_SUPPLIER("querySupplier", "/poi/supplier/query/"),
//获取抖音POI ID
QUERY_POI_ID("queryPoiId", "/poi/query/"),
//店铺匹配任务结果查询
QUERY_SUPPLIER_TASK_RESULT("querySupplierTaskResult", "/poi/v2/supplier/query/task/"),
//店铺匹配状态查询
QUERY_SUPPLIER_MATCH_STATUS("querySupplierMatchStatus", "/poi/v2/supplier/query/supplier/"),
//提交门店匹配任务
SUBMIT_SUPPLIER_MATCH_TASK("submitSupplierMatchTask", "/poi/v2/supplier/match/"),
//查询全部店铺信息接口(天级别请求5次)
QUERY_ALL_SUPPLIER("queryAllSupplier", "/poi/supplier/query_all/"),
//查询店铺全部信息任务返回内容
QUERY_SUPPLIER_CALLBACK("querySupplierCallback", "/poi/supplier/query_callback/"),
/**
* 查询用户可用券信息
*/