gongfuzhu 1 gadu atpakaļ
vecāks
revīzija
4ad48079e5

+ 24 - 0
SpringBatchServiceClient/src/main/java/com/zswl/cloud/springBatch/client/model/dfy/request/CancelOrderRequest.java

@@ -0,0 +1,24 @@
+package com.zswl.cloud.springBatch.client.model.dfy.request;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class CancelOrderRequest extends DfyRequestBase{
+
+    private Datas data;
+
+
+    @Data
+    @NoArgsConstructor
+    @AllArgsConstructor
+    public static class Datas {
+
+        private Integer orderId;
+
+        private String remark;
+    }
+}

+ 122 - 0
SpringBatchServiceClient/src/main/java/com/zswl/cloud/springBatch/client/model/dfy/request/CreateOrderNewRequest.java

@@ -0,0 +1,122 @@
+package com.zswl.cloud.springBatch.client.model.dfy.request;
+
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class CreateOrderNewRequest extends DfyRequestBase {
+
+
+    private Datas data;
+
+    @Data
+    @AllArgsConstructor
+    @NoArgsConstructor
+    public class Datas {
+        // 分销商订单号,非空时,可防止重复下单。若重复下单,则返回之前已生成的orderId,且isNewFlag=0。
+        private String sourceOrderId;
+
+        // 笛风账号
+        private String acctId;
+
+        // 门票产品ID
+        private int productId;
+
+        // 出游日期. “YYYY-MM-DD”。请在前台限制,只有价格日历中存在的团期,才能作为出游日期。
+        private String startTime;
+
+        // 预订数量
+        private Integer bookNumber;
+
+        // 取票人信息
+        private ContactInfo contact;
+
+        // 游客资料列表。“门票详情接口->custInfoLimit“=2、3、6、7时,此字段必填。
+        private List<VisitorInfo> touristList;
+
+        private DeliveryInfo delivery;
+
+        //使用笛风券金额
+        //
+        //使用笛风券会自动扣减订单金额,比如预订产品总额100元,使用旅游券10元,则下单后订单金额为90元;
+        //
+        //假如使用笛风券金额=预订产品总额,则订单金额为0元,并且下单后不需要调用【出票(代扣)接口】,会自动出票,因为这种情况系统认为钱已经付清了;
+        //
+        //如遇退票、预订失败等情况,已使用的笛风券会自动退回;
+        private Integer couponValue;
+    }
+
+
+    @Data
+    @AllArgsConstructor
+    @NoArgsConstructor
+    public class ContactInfo {
+        // 取票人姓名
+        private String contactName;
+
+        // 取票人邮箱。当“门票详情接口->admissionVoucherCode”=205或302时必传,否则不要传。
+        private String contactEmail;
+
+        // 取票人手机号码(入园凭证会发送到此手机号码上,请务必保证手机号码真实有效)
+        private String contactTel;
+
+        // 证件类型。当“门票详情接口->custInfoLimit”=4、6、7时必传;否则不要传。选项参照“门票详情接口->certificateType”字段。
+        private Integer psptType;
+
+        // 证件号码。当“门票详情接口->custInfoLimit”=4、6、7时必传;否则不要传。
+        private String psptId;
+
+    }
+
+    @Data
+    @AllArgsConstructor
+    @NoArgsConstructor
+    public class VisitorInfo {
+        // 游客姓名
+        private String name;
+
+        // 证件类型
+        private Integer psptType;
+
+        // 证件号码
+        private String psptId;
+
+        // 电话号码
+        private String tel;
+
+        // 邮箱
+        private String email;
+
+
+    }
+
+    @Data
+    @AllArgsConstructor
+    @NoArgsConstructor
+    public class DeliveryInfo {
+        // 配送类型
+        private Integer deliveryType;
+
+        // 收件人
+        private String receiverName;
+
+        // 收件电话
+        private String telNum;
+
+        // 收件地址
+        private String deliveryEndAddress;
+
+        // 邮编
+        private String zipCode;
+
+
+    }
+
+
+}

+ 22 - 0
SpringBatchServiceClient/src/main/java/com/zswl/cloud/springBatch/client/model/dfy/request/DetailRequest.java

@@ -0,0 +1,22 @@
+package com.zswl.cloud.springBatch.client.model.dfy.request;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class DetailRequest extends DfyRequestBase{
+
+    private Datas data;
+
+
+    @Data
+    @NoArgsConstructor
+    @AllArgsConstructor
+    public static class Datas {
+        private Integer page;
+        private Integer pageSize;
+    }
+}

+ 22 - 0
SpringBatchServiceClient/src/main/java/com/zswl/cloud/springBatch/client/model/dfy/request/PrivilegeTicketListRequest.java

@@ -0,0 +1,22 @@
+package com.zswl.cloud.springBatch.client.model.dfy.request;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class PrivilegeTicketListRequest extends DfyRequestBase {
+
+    private Datas data;
+
+
+    @Data
+    @NoArgsConstructor
+    @AllArgsConstructor
+    public static class Datas {
+        private Integer page;
+        private Integer pageSize;
+    }
+}

+ 31 - 0
SpringBatchServiceClient/src/main/java/com/zswl/cloud/springBatch/client/model/dfy/response/CreateOrderNewResponse.java

@@ -0,0 +1,31 @@
+package com.zswl.cloud.springBatch.client.model.dfy.response;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class CreateOrderNewResponse extends DfyResponseBase {
+
+    private Datas data;
+
+
+    @Data
+    @NoArgsConstructor
+    @AllArgsConstructor
+    public class Datas {
+
+        // 笛风订单号
+        private int orderId;
+
+        // 笛风订单号是否新生成,1:是,0:否。
+        private int isNewFlag;
+
+
+    }
+
+}

+ 122 - 0
SpringBatchServiceClient/src/main/java/com/zswl/cloud/springBatch/client/model/dfy/response/DetailResponse.java

@@ -0,0 +1,122 @@
+package com.zswl.cloud.springBatch.client.model.dfy.response;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class DetailResponse extends DfyResponseBase {
+
+    private Datas data;
+
+
+    @Data
+    @NoArgsConstructor
+    @AllArgsConstructor
+    public class Datas {
+
+        // 门票产品ID
+        private int productId;
+
+        // 资源ID
+        private String resourceId;
+
+        // 产品名称
+        private String productName;
+
+        // 景点id
+        private Integer scenicId;
+
+        // 单位元,景点价(当前景点的价格,信息可能有滞后,仅供参考)
+        private String webPrice;
+
+        // 单位元,分销起价(所有团期中最低的价格,仅供参考)
+        private String salePrice;
+
+        // 取票方式:1实体票 8预付电子票
+        private Integer drawType;
+
+        // 取票地点
+        private String drawAddress;
+
+        // 门票类型:1门票 2联票 3套票 4专项
+        private Integer subType;
+
+        // 有效期
+        private String indate;
+
+        // 预订截止天数
+        private Integer advanceDay;
+
+        // 预订截止小时数
+        private Integer advanceHour;
+
+        // 预订须知
+        private String bookNotice;
+
+        // 起订张数
+        private Integer limitNumLow;
+
+        // 最多预订张数
+        private Integer limitNumHigh;
+
+        // 预订项要求
+        private Integer custInfoLimit;
+
+        // 证件类型,逗号分隔
+        private String certificateType;
+
+        // 入园凭证
+        private Integer enterCertificate;
+
+        private AdmissionVoucher admissionVoucher;
+
+        // 其他说明
+        private String info;
+
+        // 退改规则
+        private String mpLossInfo;
+
+        // 产品归属
+        private Integer systemFlag;
+
+        // 门票分类
+        private Integer mpType;
+
+
+    }
+
+    @Data
+    @NoArgsConstructor
+    @AllArgsConstructor
+    public class AdmissionVoucher {
+        // 入园方式编码
+        private String admissionVoucherCode;
+
+        // 入园方式描述
+        private String admissionVoucherDesc;
+
+        // 短信内容
+        private String smsMessage;
+
+    }
+
+    @Data
+    @NoArgsConstructor
+    @AllArgsConstructor
+    public class PriceCalendar {
+
+
+        // 单位元,分销价(下单用这个价格)
+        private String salePrice;
+
+        // 团期
+        private String departDate;
+
+
+    }
+
+
+}

+ 55 - 0
SpringBatchServiceClient/src/main/java/com/zswl/cloud/springBatch/client/model/dfy/response/PrivilegeTicketListResponse.java

@@ -0,0 +1,55 @@
+package com.zswl.cloud.springBatch.client.model.dfy.response;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class PrivilegeTicketListResponse extends DfyResponseBase {
+
+    private Datas data;
+
+
+    @Data
+    @NoArgsConstructor
+    @AllArgsConstructor
+    public class Datas {
+
+        // 特权门票总数
+        private Integer totalCount;
+
+        private List<Rows> rows;
+
+
+    }
+
+    @Data
+    @NoArgsConstructor
+    @AllArgsConstructor
+    public class Rows {
+
+        // 门票产品ID
+        private int productId;
+
+        // 产品名称
+        private String productName;
+
+        // 景点ID
+        private String scenicId;
+
+        // 景点名称
+        private String scenicName;
+
+        // 单位元,景点价,非下单价格
+        private String webPrice;
+
+        // 单位元,销售价,当价格为0时,需要单独查询门票详情,其中有价格日历内容,获取正确的价格,在下单时也是要使用详情中的价格。非下单价格
+        private String salePrice;
+
+
+    }
+}

+ 12 - 0
SpringBatchServiceClient/src/main/java/com/zswl/cloud/springBatch/client/model/dfy/response/TicketProduct.java

@@ -0,0 +1,12 @@
+package com.zswl.cloud.springBatch.client.model.dfy.response;
+
+public class TicketProduct {
+
+
+    // Constructor
+    public TicketProduct() {
+    }
+
+    // Getters and setters
+    // Add getters and setters for each field here
+}

+ 31 - 5
SpringBatchServiceServer/src/main/java/com/zswl/cloud/springBtach/server/core/api/dfy/DiFengYunApi.java

@@ -2,11 +2,8 @@ package com.zswl.cloud.springBtach.server.core.api.dfy;
 
 import cn.hutool.http.HttpUtil;
 import cn.hutool.json.JSONUtil;
-import com.zswl.cloud.springBatch.client.model.dfy.request.DfyRequestBase;
-import com.zswl.cloud.springBatch.client.model.dfy.request.ScenicDetailRequest;
-import com.zswl.cloud.springBatch.client.model.dfy.request.ScenicListRequest;
-import com.zswl.cloud.springBatch.client.model.dfy.response.ScenicDetailResponse;
-import com.zswl.cloud.springBatch.client.model.dfy.response.ScenicListResponse;
+import com.zswl.cloud.springBatch.client.model.dfy.request.*;
+import com.zswl.cloud.springBatch.client.model.dfy.response.*;
 import com.zswl.cloud.springBtach.server.core.dao.ApiLogDao;
 import com.zswl.cloud.springBtach.server.core.domain.ApiLog;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -52,6 +49,35 @@ public class DiFengYunApi {
         return JSONUtil.toBean(post, ScenicDetailResponse.class);
     }
 
+    // 特权门票查询接口
+    public PrivilegeTicketListResponse privilegeTicketList(PrivilegeTicketListRequest privilegeTicketListRequest) {
+
+        String post = post(privilegeTicketListRequest, "/Ticket/privilegeTicketList");
+        return JSONUtil.toBean(post, PrivilegeTicketListResponse.class);
+    }
+
+
+    // 门票详情接口
+    public DetailResponse detail(DetailRequest detailRequest) {
+
+        String post = post(detailRequest, "/Ticket/detail");
+        return JSONUtil.toBean(post, DetailResponse.class);
+    }
+
+
+    // 创建订单接口
+    public CreateOrderNewResponse createOrderNew(CreateOrderNewRequest createOrderNewRequest) {
+
+        String post = post(createOrderNewRequest, "/Ticket/createOrderNew");
+        return JSONUtil.toBean(post, CreateOrderNewResponse.class);
+    }
+
+
+    // 取消订单
+    public void cancelOrder(CancelOrderRequest cancelOrderRequest) {
+        post(cancelOrderRequest, "/Ticket/cancelOrder");
+    }
+
 
     private String post(DfyRequestBase dfyRequestBase, String url) {