skyfffire пре 1 месец
родитељ
комит
da725aceff

+ 12 - 0
src/main/java/common/model/Withdraw.java

@@ -0,0 +1,12 @@
+package common.model;
+
+import common.model.base.BaseWithdraw;
+
+/**
+ * Generated by JFinal.
+ */
+@SuppressWarnings("serial")
+public class Withdraw extends BaseWithdraw<Withdraw> {
+	public static final Withdraw dao = new Withdraw().dao();
+}
+

+ 1 - 0
src/main/java/common/model/_MappingKit.java

@@ -24,6 +24,7 @@ public class _MappingKit {
 		arp.addMapping("t_order_log", "id", OrderLog.class);
 		arp.addMapping("t_role", "id", Role.class);
 		arp.addMapping("t_user", "id", User.class);
+		arp.addMapping("t_withdraw", "withdraw_sn", Withdraw.class);
 	}
 }
 

+ 128 - 0
src/main/java/common/model/base/BaseWithdraw.java

@@ -0,0 +1,128 @@
+package common.model.base;
+
+import com.jfinal.plugin.activerecord.Model;
+import com.jfinal.plugin.activerecord.IBean;
+
+/**
+ * Generated by JFinal, do not modify this file.
+ */
+@SuppressWarnings("serial")
+public abstract class BaseWithdraw<M extends BaseWithdraw<M>> extends Model<M> implements IBean {
+	/**
+	 * 提现主键
+	 */
+	public void setWithdrawSn(java.lang.String withdrawSn) {
+		set("withdraw_sn", withdrawSn);
+	}
+	
+	/**
+	 * 提现主键
+	 */
+	public java.lang.String getWithdrawSn() {
+		return getStr("withdraw_sn");
+	}
+	/**
+	 * 提现单位,1=1火花/分
+	 */
+	public void setAmount(java.lang.String amount) {
+		set("amount", amount);
+	}
+	
+	/**
+	 * 提现单位,1=1火花/分
+	 */
+	public java.lang.String getAmount() {
+		return getStr("amount");
+	}
+	/**
+	 * 10待审批 20审批通过等待放款 30提现完成 40提现被拒绝
+	 */
+	public void setState(java.lang.Integer state) {
+		set("state", state);
+	}
+	
+	/**
+	 * 10待审批 20审批通过等待放款 30提现完成 40提现被拒绝
+	 */
+	public java.lang.Integer getState() {
+		return getInt("state");
+	}
+	/**
+	 * 提现发起者
+	 */
+	public void setUserId(java.lang.Integer userId) {
+		set("user_id", userId);
+	}
+	
+	/**
+	 * 提现发起者
+	 */
+	public java.lang.Integer getUserId() {
+		return getInt("user_id");
+	}
+	/**
+	 * 说明
+	 */
+	public void setReason(java.lang.String reason) {
+		set("reason", reason);
+	}
+	
+	/**
+	 * 说明
+	 */
+	public java.lang.String getReason() {
+		return getStr("reason");
+	}
+	/**
+	 * 慧用工原文
+	 */
+	public void setHygOrigin(java.lang.String hygOrigin) {
+		set("hyg_origin", hygOrigin);
+	}
+	
+	/**
+	 * 慧用工原文
+	 */
+	public java.lang.String getHygOrigin() {
+		return getStr("hyg_origin");
+	}
+	public void setCreateTime(java.lang.Long createTime) {
+		set("create_time", createTime);
+	}
+	
+	public java.lang.Long getCreateTime() {
+		return getLong("create_time");
+	}
+	public void setUpdateTime(java.lang.Long updateTime) {
+		set("update_time", updateTime);
+	}
+	
+	public java.lang.Long getUpdateTime() {
+		return getLong("update_time");
+	}
+	public void setIsDeleted(java.lang.Integer isDeleted) {
+		set("is_deleted", isDeleted);
+	}
+	
+	public java.lang.Integer getIsDeleted() {
+		return getInt("is_deleted");
+	}
+	
+	public boolean save() {
+		set("create_time", System.currentTimeMillis());
+		
+		return super.save();
+	}
+	
+	public boolean update() {
+		set("update_time", System.currentTimeMillis());
+		
+		return super.update();
+	}
+
+	public boolean delete() {
+		set("is_deleted", 1);
+
+		return super.update();
+	}
+}

+ 43 - 0
src/main/java/common/utils/hyg/HygSDK.java

@@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONObject;
 import com.jfinal.kit.HttpKit;
 import com.jfinal.kit.StrKit;
 import common.jfinal.AppConfig;
+import modules.order.OrderService;
 
 import java.nio.charset.StandardCharsets;
 import java.util.ArrayList;
@@ -42,6 +43,43 @@ public class HygSDK {
 
         return HygSDK.invokeApi("/batch/query/cooperator/account", bizParams);
     }
+    
+    /**
+     * 自由职业者放款接口
+     *
+     * @param workerId 自由职业者id
+     * @param amount 放款金额(单位:分)
+     * @param requestNo 放款订单号
+     * @param positionId 任务ID,需要在慧用工后台申请
+     * @return 放款结果
+     * @throws Exception 放款异常捕获
+     */
+    public static JSONObject singleDistribute(String workerId, String amount, String requestNo, String positionId) throws Exception {
+        // 先获取worker details
+        JSONObject workerDetails = findWorkerDetails(workerId);
+        // 先获取个体账户信息
+        if (!workerDetails.getString("statusCode").equals("000000")) {
+            workerDetails.put("statusText", "个体账户信息获取失败:" + workerDetails.getString("statusText"));
+
+            return workerDetails;
+        }
+        
+        // AppConfig.LOGGER.info("工人信息获取:{}", workerDetails.getString("statusText"));
+        
+        // 封装打款信息
+        JSONObject workerData = workerDetails.getJSONObject("data");
+        Map<String, Object> bizParams = new HashMap<>();
+        bizParams.put("workerName", workerData.getString("workerName"));
+        bizParams.put("receiptChannel", 10);
+        bizParams.put("workerAccount", workerData.getString("backCardNo"));
+        bizParams.put("workerType", 1);
+        bizParams.put("idNumber", workerData.getString("identNo"));
+        bizParams.put("workerMobile", workerData.getString("workerMobile"));
+        bizParams.put("requestNo", requestNo);
+        bizParams.put("positionId", positionId);
+
+        return HygSDK.invokeApi("/api/distribute/singleDistribute", bizParams);
+    }
 
     /**
      * 可以添加一个公共的请求方法,处理签名、加密、响应解析等通用逻辑
@@ -103,6 +141,11 @@ public class HygSDK {
             // AppConfig.LOGGER.info(HygSDK.findWorkerDetails("W1420857775537291264").toString());
             // {"data":[{"receiverAccountName":"九江慧用工科技有限公司","receiverBankBranchNo":"308100005192","cooperatorId":"C1415369626593792000","receiverBankBranchName":"招商银行股份有限公司北京东方广场支行","bankType":"商业银行","receiverAccountNo":"755915711210409","shortBankName":"招商银行","cooperatorName":"特别火(嵌入板)O"}],"statusText":"success","statusCode":"000000"}
             // AppConfig.LOGGER.info(HygSDK.findDepositAccount().toString());
+            
+            // 放款100分测试
+            String orderSn = OrderService.generateOrderSn();
+            AppConfig.LOGGER.info("order_sn = {}", orderSn);
+            AppConfig.LOGGER.info(HygSDK.singleDistribute("W1420857775537291264", "100", orderSn, "").toString());
         } catch (Exception e) {
             e.printStackTrace();
         }

+ 1 - 1
src/main/java/modules/order/OrderService.java

@@ -470,7 +470,7 @@ public class OrderService {
         return "未知状态"; // 如果找不到对应的状态码
     }
     
-    private String generateOrderSn() {
+    public static String generateOrderSn() {
         return System.currentTimeMillis() + "" + (int)(Math.random() * 10000);
     }
 }