|
@@ -0,0 +1,82 @@
|
|
|
|
+package com.qunzhixinxi.hnqz.common.ding.entity;
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+import cn.hutool.core.date.DatePattern;
|
|
|
|
+import com.qunzhixinxi.hnqz.common.ding.config.DingConfig;
|
|
|
|
+import com.qunzhixinxi.hnqz.common.ding.sign.AccessSign;
|
|
|
|
+import com.qunzhixinxi.hnqz.common.ding.utils.JsonUtils;
|
|
|
|
+import com.qunzhixinxi.hnqz.common.ding.utils.SignUtils;
|
|
|
|
+import lombok.Data;
|
|
|
|
+
|
|
|
|
+import java.time.LocalDateTime;
|
|
|
|
+import java.time.format.DateTimeFormatter;
|
|
|
|
+import java.util.HashMap;
|
|
|
|
+import java.util.List;
|
|
|
|
+import java.util.Map;
|
|
|
|
+
|
|
|
|
+@Data
|
|
|
|
+public class EmployPayRequestV3 extends CommonRequest {
|
|
|
|
+
|
|
|
|
+ private static final String PATH = "/oapi/v3/employ/freelances/pay";
|
|
|
|
+
|
|
|
|
+ private static String[] statementTaskDescArr = {"通过不定时客户拜访,调查及了解客户信息及所需方向,根据所需定向推广业务管理系统",
|
|
|
|
+ "推广业务管理系统,使受众知晓及分享本系统",
|
|
|
|
+ "通过现有信息做推广任务,使客户了解要本产品【业务管理系统】信息",
|
|
|
|
+ "通过不同的方式推广业务管理系统、提升产品知名度,建立品牌形象"
|
|
|
|
+ };
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * bizType
|
|
|
|
+ * 79 软件开发服务
|
|
|
|
+ * 66 信息系统服务
|
|
|
|
+ * 77 技术咨询划服务
|
|
|
|
+ * 30 市场推广服务
|
|
|
|
+ * 70 其他咨询服务
|
|
|
|
+ * 203 现场辅助服务
|
|
|
|
+ * @param config
|
|
|
|
+ * @param subjectName 结算主体
|
|
|
|
+ * @param statementNo 结算单id
|
|
|
|
+ * @param statementName 结算单名称
|
|
|
|
+ * @param bizType 业务类型
|
|
|
|
+ * @param taskStartTime 任务开始时间
|
|
|
|
+ * @param taskEndTime 任务结束时间
|
|
|
|
+ * @param list
|
|
|
|
+ */
|
|
|
|
+ public EmployPayRequestV3(
|
|
|
|
+ DingConfig config,
|
|
|
|
+ String subjectName,
|
|
|
|
+ String statementNo,
|
|
|
|
+ String statementName,
|
|
|
|
+ Integer bizType,
|
|
|
|
+ List list,
|
|
|
|
+ LocalDateTime taskStartTime,
|
|
|
|
+ LocalDateTime taskEndTime) {
|
|
|
|
+
|
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
|
+ map.put("subjectName", subjectName);
|
|
|
|
+ map.put("statementNo", statementNo);
|
|
|
|
+ map.put("statementName", statementName);
|
|
|
|
+ map.put("bizType", bizType);
|
|
|
|
+ int idx = (int) (Math.random() * 4);
|
|
|
|
+ map.put("statementTaskDesc", statementTaskDescArr[idx]);
|
|
|
|
+ map.put("statementTaskSettlementRules", "完成不同任务获得不同任务积分,根据不同任务给与0~30000积分,每个积分兑换0.5~2元,按次数结算");
|
|
|
|
+ map.put("freelances", list);
|
|
|
|
+ map.put("taskStartTime", DateTimeFormatter.ofPattern(DatePattern.NORM_DATETIME_PATTERN).format(taskStartTime));
|
|
|
|
+ map.put("taskEndTime", DateTimeFormatter.ofPattern(DatePattern.NORM_DATETIME_PATTERN).format(taskEndTime));
|
|
|
|
+
|
|
|
|
+ String bodyStr = JsonUtils.serializer(map);
|
|
|
|
+ String serviceSign = null;
|
|
|
|
+
|
|
|
|
+ try {
|
|
|
|
+ //签名
|
|
|
|
+ serviceSign = SignUtils.serviceSign(PATH, config.getAppSecret(), "POST", new HashMap<>(), bodyStr.getBytes());
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
+ e.printStackTrace();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ this.body = bodyStr;
|
|
|
|
+ this.sign = new AccessSign(config.getAppId(), serviceSign);
|
|
|
|
+ this.queryUrl = String.format("%s%s", config.getQueryUrl(), PATH);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+}
|