1. 程式人生 > >呼叫企業微信建立通訊錄部門介面的示例

呼叫企業微信建立通訊錄部門介面的示例

public BaseResult<String> createDept(WechatContactsDepartmentPo entity) {

		log.debug("==建立部門引數:{}", entity);

		if (!ObjectUtils.isNotEmpty(entity.getName())) {
			return BaseResult.err("部門名稱不能為空");
		}
		if (!ObjectUtils.isNotEmpty(entity.getParentid())) {
			return BaseResult.err("父部門id不能為空");
		}

		Map<String, Object> tokenMap = tokenService.getToken(entity.getAppid(), entity.getAppsecret());
		if (!ObjectUtils.isNotEmpty(tokenMap)) {
			return BaseResult.err("缺少accessToken");
		}

		String accessToken = ObjectUtils.toString(tokenMap.get("accessToken"));
		JSONObject result = null;
		try {
			String postData = JsonMapper.nonEmptyMapper().toJson(entity);
			String createDeptUrl = "https://qyapi.weixin.qq.com/cgi-bin/department/create?access_token=%s";
			String resultStr = HttpClientUtils.postOnce(String.format(createDeptUrl, accessToken), postData);
			result = JSONObject.fromObject(resultStr);
		} catch (ParseException | IOException e) {
			log.error(e.getMessage());
		}
		log.info("建立部門返回結果:{}", result);

		if (!ObjectUtils.isNotEmpty(result)) {
			return BaseResult.err("建立部門介面超時");
		}

		if ("0".equals(result.getString("errcode"))) {
			String deptId = result.getString("id");
			return BaseResult.ok(deptId);
		} else {
			return BaseResult.err(StringUtils.toInteger(result.getString("errcode")), result.getString("errmsg"), null);
		}

	}
public class WechatContactsDepartmentPo {

    /**
     * 部門名稱
     */
    private String name;

    /**
     * 父部門編號
     */
    private String parentid;

    /**
     * 排序
     */
    private Integer order;

    /**
     * 編號
     */
    private String id;
    
    /**
     * 公眾號id
     */
	@NotEmpty
    private String appid;

    /**
     * 公眾號金鑰
     */
	@NotEmpty
    private String appsecret;

}