From fcaaaa6bb61184707c76bbac0e9f6fcf028c4be8 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 19 Dec 2025 17:25:47 +0000 Subject: [PATCH] =?UTF-8?q?=E5=AE=9E=E7=8E=B0=E5=B0=8F=E7=A8=8B=E5=BA=8F?= =?UTF-8?q?=E7=94=A8=E5=B7=A5=E5=85=B3=E7=B3=BB=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: binarywang <1343140+binarywang@users.noreply.github.com> --- .../api/WxMaEmployeeRelationService.java | 41 +++++++++++++ .../wx/miniapp/api/WxMaService.java | 9 +++ .../miniapp/api/impl/BaseWxMaServiceImpl.java | 7 +++ .../impl/WxMaEmployeeRelationServiceImpl.java | 32 ++++++++++ .../employee/WxMaSendEmployeeMsgRequest.java | 61 +++++++++++++++++++ .../employee/WxMaUnbindEmployeeRequest.java | 51 ++++++++++++++++ .../miniapp/constant/WxMaApiUrlConstants.java | 8 +++ 7 files changed, 209 insertions(+) create mode 100644 weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/WxMaEmployeeRelationService.java create mode 100644 weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/impl/WxMaEmployeeRelationServiceImpl.java create mode 100644 weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/employee/WxMaSendEmployeeMsgRequest.java create mode 100644 weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/employee/WxMaUnbindEmployeeRequest.java diff --git a/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/WxMaEmployeeRelationService.java b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/WxMaEmployeeRelationService.java new file mode 100644 index 000000000..4c0a74b2c --- /dev/null +++ b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/WxMaEmployeeRelationService.java @@ -0,0 +1,41 @@ +package cn.binarywang.wx.miniapp.api; + +import cn.binarywang.wx.miniapp.bean.employee.WxMaSendEmployeeMsgRequest; +import cn.binarywang.wx.miniapp.bean.employee.WxMaUnbindEmployeeRequest; +import me.chanjar.weixin.common.error.WxErrorException; + +/** + * 小程序用工关系相关操作接口 + *
+ * 文档地址:用工关系简介 + *
+ * + * @author Binary Wang + * created on 2025-12-19 + */ +public interface WxMaEmployeeRelationService { + + /** + * 解绑用工关系 + *+ * 企业可以调用该接口解除和用户的B2C用工关系 + *
+ * 文档地址:解绑用工关系 + * + * @param request 解绑请求参数 + * @throws WxErrorException 调用微信接口失败时抛出 + */ + void unbindEmployee(WxMaUnbindEmployeeRequest request) throws WxErrorException; + + /** + * 推送用工消息 + *+ * 企业可以调用该接口向用户推送用工相关消息 + *
+ * 文档地址:推送用工消息 + * + * @param request 推送消息请求参数 + * @throws WxErrorException 调用微信接口失败时抛出 + */ + void sendEmployeeMsg(WxMaSendEmployeeMsgRequest request) throws WxErrorException; +} diff --git a/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/WxMaService.java b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/WxMaService.java index 26ced8bed..dc7425fa6 100644 --- a/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/WxMaService.java +++ b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/WxMaService.java @@ -621,4 +621,13 @@ public interface WxMaService extends WxService { * @return 交易投诉服务对象WxMaComplaintService */ WxMaComplaintService getComplaintService(); + + /** + * 获取用工关系服务对象。 + *+ * 文档地址:推送用工消息 + *
+ * + * @author Binary Wang + * created on 2025-12-19 + */ +@Data +@Builder(builderMethodName = "newBuilder") +@NoArgsConstructor +@AllArgsConstructor +public class WxMaSendEmployeeMsgRequest implements Serializable { + private static final long serialVersionUID = 1L; + + /** + *+ * 字段名:用户openid + * 是否必填:是 + * 描述:需要接收消息的用户openid + *+ */ + @SerializedName("openid") + private String openid; + + /** + *
+ * 字段名:企业id + * 是否必填:是 + * 描述:企业id,小程序管理员在微信开放平台配置 + *+ */ + @SerializedName("corp_id") + private String corpId; + + /** + *
+ * 字段名:消息内容 + * 是否必填:是 + * 描述:推送的消息内容,文本格式,最长不超过200个字符 + *+ */ + @SerializedName("msg") + private String msg; + + public String toJson() { + return WxMaGsonBuilder.create().toJson(this); + } +} diff --git a/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/employee/WxMaUnbindEmployeeRequest.java b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/employee/WxMaUnbindEmployeeRequest.java new file mode 100644 index 000000000..e56d84670 --- /dev/null +++ b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/employee/WxMaUnbindEmployeeRequest.java @@ -0,0 +1,51 @@ +package cn.binarywang.wx.miniapp.bean.employee; + +import cn.binarywang.wx.miniapp.json.WxMaGsonBuilder; +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; + +/** + * 小程序解绑用工关系请求实体 + *
+ * 文档地址:解绑用工关系 + *
+ * + * @author Binary Wang + * created on 2025-12-19 + */ +@Data +@Builder(builderMethodName = "newBuilder") +@NoArgsConstructor +@AllArgsConstructor +public class WxMaUnbindEmployeeRequest implements Serializable { + private static final long serialVersionUID = 1L; + + /** + *+ * 字段名:用户openid + * 是否必填:是 + * 描述:需要解绑的用户openid + *+ */ + @SerializedName("openid") + private String openid; + + /** + *
+ * 字段名:企业id + * 是否必填:是 + * 描述:企业id,小程序管理员在微信开放平台配置 + *+ */ + @SerializedName("corp_id") + private String corpId; + + public String toJson() { + return WxMaGsonBuilder.create().toJson(this); + } +} diff --git a/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/constant/WxMaApiUrlConstants.java b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/constant/WxMaApiUrlConstants.java index 45e121965..48d8ca0a2 100644 --- a/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/constant/WxMaApiUrlConstants.java +++ b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/constant/WxMaApiUrlConstants.java @@ -996,4 +996,12 @@ public class WxMaApiUrlConstants { /** 上传反馈图片 */ String UPLOAD_RESPONSE_IMAGE_URL = "https://api.weixin.qq.com/cgi-bin/miniapp/complaint/upload"; } + + /** 用工关系 */ + public interface Employee { + /** 解绑用工关系 */ + String UNBIND_EMPLOYEE_URL = "https://api.weixin.qq.com/wxa/unbinduserb2cauthinfo"; + /** 推送用工消息 */ + String SEND_EMPLOYEE_MSG_URL = "https://api.weixin.qq.com/wxa/sendemployeerelationmsg"; + } }