【add】高德差旅API对接,相关实体类和调用方法新增

This commit is contained in:
nixj 2024-04-25 09:45:12 +08:00
parent e55ad8fe83
commit 7270d63eda
6 changed files with 259 additions and 0 deletions

View File

@ -0,0 +1,22 @@
package com.chint.interfaces.rest.amap.dto.travelapplication;
import lombok.Data;
/**
* 允许的出发时间范围
*
* 如需限制发单时间则参数必填
* @Authornxj
* @Date2024/4/25 9:38
*/
@Data
public class DepartTimeLimit {
/**
* 是否支持跨天0- 1-;跨天只用来对时间参数做强校验如end < start ,type=0会拦截
*/
private Integer type;
//开始时间(HH:mm:ss)
private String start;
//终止时间(HH:mm:ss)
private String end;
}

View File

@ -0,0 +1,58 @@
package com.chint.interfaces.rest.amap.dto.travelapplication;
import com.chint.interfaces.rest.amap.BaseRequestParam;
import lombok.Data;
/**
* 提交申请单
* @Authornxj
* @Date2024/4/24 16:44
*/
@Data
public class ModifyTravelApplicationDto extends BaseRequestParam {
/**
* 必填
*/
//企业审批ID
private String outApplyRecordId;
//高德审批ID
private String applyRecordId;
//审批模板Code travel
private String templateCode;
/**
* 非必填
*/
//申请人手机号
private String applyMobile;
//申请人姓名
private String applyName;
//部门ID
private String departmentId;
//部门名称
private String departmentName;
//申请单审批模板内容(JSON格式)
private ProcessContent processContent;
//审批状态 1有效 0无效
private String status;
//申请备注/原因(长度限制256字符)
private String remark;
//申请单场景入口展示名称长度限制64字符
private String sceneName;
//是否占用个人月度限额 0 1 默认为0
private String usePersonalAmount;
/**
* 支持的叫车业务类型
*(1 实时单2 预约单3 接送机5 接送站6 代叫车
*可传多个多个参数逗号分隔1,2
*不传默认为 实时单+预约单)
*/
private String orderServiceType;
//企业自定义申请单名称长度限制5字符申请单入口标签名称
private String customSceneLabel;
}

View File

@ -0,0 +1,64 @@
package com.chint.interfaces.rest.amap.dto.travelapplication;
import lombok.Data;
import java.util.List;
/**
* 审批单
* @Authornxj
* @Date2024/4/25 9:13
*/
@Data
public class ProcessContent {
/**
* 必填
*/
//权限开始时间(yyyy-MM-dd)
private String startTime;
//单笔限额 -1 表示不限制单位分
private String amountLimited;
//0-不允许跨城 1-允许跨城 2-不允许跨城但部分临近城市可以跨城用车
private String allowCrossCity;
/**
* 权限结束时间(yyyy-MM-dd)
*
* 不传表示不限制结束日期
*
* 日限额必传且不能大于startTime179天
*/
private String endTime;
/**
* 可用城市列表
*
* 不传表示不限制可用城市
*
* 需要采用城市信息的adcode最多不超过25个adcode
*/
private List<String> validCityList;
//不传表示不限制用车类型
private List<String> carTypeList;
//日限额必传 限额方式 1日清 2每日累加(传错或不传视为不限额)
private String applyDailyAmountType;
//每日限额金额单位分值必须为正整数日限额必传applyDailyAmountType值有效时才生效
private String dailyAmountLimited;
//允许的出发时间范围如需限制发单时间则参数必填
private DepartTimeLimit departTimeLimit;
/**
* 允许部分跨城的城市白名单
*
* 格式例如adcode-adcode;
*
* 110000-120000;110000-130000-140000
*/
private String whiteCityGroup;
//申请单总计可用车次数 不传代表不限制格式要求1-99 的正整数
private String applyTotalCount;
//申请单每日可用车次数 不传代表不限制格式要求1-99 的正整数
private String applyCountPerDay;
}

View File

@ -0,0 +1,68 @@
package com.chint.interfaces.rest.amap.dto.travelapplication;
import com.chint.interfaces.rest.amap.BaseRequestParam;
import lombok.Data;
/**
* 提交申请单
* @Authornxj
* @Date2024/4/24 16:44
*/
@Data
public class TravelApplicationDto extends BaseRequestParam {
/**
* 必填
*/
//企业审批ID
private String outApplyRecordId;
//申请人UserId
private String applyEUserId;
//申请人手机号
private String applyMobile;
//申请人姓名
private String applyName;
//审批模板Code travel
private String templateCode;
//申请单审批模板内容(JSON格式)
private ProcessContent processContent;
//审批状态 1有效 0无效
private String status;
/**
* 非必填
*/
//部门ID
private String departmentId;
//部门名称
private String departmentName;
//申请备注/原因(长度限制256字符)
private String remark;
//申请单场景入口展示名称长度限制64字符
private String sceneName;
//企业自定义字段企业自行定义数据结构进行解析长度限制1024
private String enterpriseCustomFields;
//申请单总限额()不传表示不限
private String totalQuotaAmount;
//是否占用个人月度限额 0 1 默认为0
private String usePersonalAmount;
/**
* 支持的叫车业务类型
*(1 实时单2 预约单3 接送机5 接送站6 代叫车
*可传多个多个参数逗号分隔1,2
*不传默认为 实时单+预约单)
*/
private String orderServiceType;
/**
* 申请单关联的制度 id
*纯申请单不传
*申请单关联制度必传出差场景制度ID需开通申请单API能力
*/
private String regulationId;
//企业自定义申请单名称长度限制5字符申请单入口标签名称
private String customSceneLabel;
//同行人信息(具体字段见同行人信息)
private String companions;
}

View File

@ -0,0 +1,17 @@
package com.chint.interfaces.rest.amap.dto.travelapplication;
import com.chint.interfaces.rest.amap.BaseResponse;
import lombok.Data;
/**
*
* @Authornxj
* @Date2024/4/24 16:59
*/
@Data
public class TravelApplicationDtoResponse extends BaseResponse {
//高德审批单ID
private String data;
//服务器时间
private Long timestamp;
}

View File

@ -0,0 +1,30 @@
package com.chint.interfaces.rest.amap.request;
import com.chint.interfaces.rest.amap.dto.travelapplication.ModifyTravelApplicationDto;
import com.chint.interfaces.rest.amap.dto.travelapplication.TravelApplicationDto;
import com.chint.interfaces.rest.amap.dto.travelapplication.TravelApplicationDtoResponse;
import org.springframework.beans.factory.annotation.Autowired;
/**
* 差旅
* @Authornxj
* @Date2024/4/24 16:40
*/
public class TravelApplicationRequest {
//创建差旅申请单
private final static String APPLY_RECORD_CREATE="/ws/boss/enterprise/openapi/apply/record/create";
//修改差旅申请单
private final static String APPLY_RECORD_UPDATE="/ws/boss/enterprise/openapi/apply/record/update";
@Autowired
private AmapRequest amapRequest;
public TravelApplicationDtoResponse apply(TravelApplicationDto dto){
return amapRequest.post(APPLY_RECORD_CREATE,dto, TravelApplicationDtoResponse.class);
}
public TravelApplicationDtoResponse modify(ModifyTravelApplicationDto dto){
return amapRequest.post(APPLY_RECORD_UPDATE,dto, TravelApplicationDtoResponse.class);
}
}