浙政钉

This commit is contained in:
zjf committed 2026-05-08 19:54:26 +08:00
1 parent fe3cdd8e55
commit 957641393c
19 files changed
+473 -283

No files matched your search

@@ -21,6 +21,7 @@ package com.bsd.pjcloud.thirdparty.api.feign;
import com.bsd.pjcloud.common.core.constant.ServiceNameConstants;
import com.bsd.pjcloud.common.core.util.R;
import com.bsd.pjcloud.common.feign.annotation.NoToken;
import com.bsd.pjcloud.thirdparty.dto.UrlTokenDTO;
import com.bsd.pjcloud.thirdparty.entity.ThirdPartyUserEntity;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
@@ -35,13 +36,11 @@ import java.util.List;
public interface RemoterThirdPartyAuthService {
/**
* zzd单点
* @param token
* @return
* 浙政钉单点(与 thirdPartyOAth2/zzdsso 一致,body.authCode 为 H5 免登码)
*/
@NoToken
@GetMapping("/thirdPartyOAth2/zzd/sso")
R zzdsso(@RequestParam("token") String token);
@PostMapping("/thirdPartyOAth2/zzdsso")
R zzdsso(@RequestBody UrlTokenDTO body);
@NoToken
@@ -6,7 +6,7 @@ import lombok.Data;
@Data
public class UrlTokenDTO {
/**
* 旧数字政务/第三方网关下发的 uabaseToken(逐步淘汰)
* 已废弃:浙政钉单点仅使用 authCode,不再传网关 uabaseToken
*/
private String token;
/**
@@ -2,6 +2,11 @@ package com.bsd.pjcloud.thirdparty.dto;
import lombok.Data;
/**
* 第三方 SSO 在本服务内的统一用户视图(非开放平台原始报文体)。
* 浙政钉:由 {@code dingtalk_app_user} 等适配层填入;诗画:由网关用户信息接口填入。
* 后续业务(发 token、短信绑定快照等)只依赖本结构,与走网关还是走开放平台无关。
*/
@Data
public class ZZDUserDTO {
private String username;
@@ -0,0 +1,16 @@
package com.bsd.pjcloud.thirdparty.dto;
import lombok.Data;
@Data
public class ZzdPhoneConfirmDTO {
/**
* /zzdsso 返回的 bindSessionId
*/
private String bindSessionId;
private String mobilePhone;
private String smsCode;
}
@@ -0,0 +1,47 @@
package com.bsd.pjcloud.thirdparty.dto;
import lombok.Data;
import java.io.Serializable;
/**
* 浙政钉会话快照(可 JSON 序列化入 Redis),避免 ZZDUserDTO 内部类反序列化问题。
*/
@Data
public class ZzdUserSnapshot implements Serializable {
private static final long serialVersionUID = 1L;
private String username;
private String nickName;
/** 浙政钉接口若返回的顶层手机号 */
private String zzdMobile;
private String employeeCode;
private String openid;
private String organizationCode;
private String realmId;
public static ZzdUserSnapshot from(ZZDUserDTO dto) {
ZzdUserSnapshot s = new ZzdUserSnapshot();
if (dto == null) {
return s;
}
s.setUsername(dto.getUsername());
s.setNickName(dto.getNickName());
s.setZzdMobile(dto.getMobile());
ZZDUserDTO.Ext ext = dto.getExt();
if (ext != null) {
s.setEmployeeCode(ext.getEmployeeCode());
s.setOpenid(ext.getOpenid());
s.setOrganizationCode(ext.getOrganizationCode());
s.setRealmId(ext.getRealmId());
}
return s;
}
}