package com.pj;

import com.pj.usersync.SspClientBrdUtil;
import com.pj.utils.SoMap;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

/**
 * 向 ssp-server 推送 User 信息
 *
 * @author kong
 * @since 2022-11-22
 */
@SpringBootApplication
public class SspUserSyncToServerApplication {

	public static void main(String[] args) {
		SpringApplication.run(SspUserSyncToServerApplication.class, args);
		System.out.println("Sa-Sso-Pro UserSyncToServer（向认证中心推送 User 数据）启动成功");

		// 打开下面的注释，即可测试相应的推送动作
//		testUserAdd();
//		testUserDelete();
//		testUserUpdate();
//		testUserUpdatePassword();
		testUserGet();
	}

	/** 测试推送动作：用户添加 */
	public static void testUserAdd() {
		SoMap dataMap = SoMap.getSoMap()
				.set("id", 1000141)   // 要添加的用户id   [必填, 可填写0, 代表自增]
				.set("username", "wang-wu")   // 用户昵称   [必填, 不可重复]
				.set("password", "123456")   // 用户密码   [必填]
				.set("avatar", "https://sa-token.cc/logo.png")   // 头像地址   [必填]
				.set("intro", "这个人很酷")   // 个人介绍
				.set("age", 16)   //  用户年龄   [必填]
				.set("sex", 1)   // 用户性别 (1=男,2=女,3=未知)   [必填]
				.set("phone", "13644446666")   // 手机号   [要么不填，填了就必须保证不重复]
				.set("email", "256444@qq.com")   // 邮箱   [要么不填，填了就必须保证不重复]
				;

		SspClientBrdUtil.userAdd(dataMap);
	}

	/** 测试推送动作：用户删除 */
	public static void testUserDelete() {
		// 要删除的用户id
		long id = 1000140;

		SspClientBrdUtil.userDelete(id);
	}

	/** 测试推送动作：用户修改 */
	public static void testUserUpdate() {
		SoMap dataMap = SoMap.getSoMap()
				.set("id", 1000144)   // 要修改的用户id   [必填]
				.set("username", "wang33")   // 用户昵称   [必填, 不可重复]
				.set("avatar", "https://sa-token.cc/logo.png")   // 头像地址   [必填]
				.set("intro", "这个人很酷")   // 个人介绍
				.set("age", 19)   //  用户年龄   [必填]
				.set("sex", 2)   // 用户性别 (1=男,2=女,3=未知)   [必填]
				.set("phone", "13644445554")   // 手机号   [要么不填，填了就必须保证不重复]
				.set("email", "256332@qq.com")   // 邮箱   [要么不填，填了就必须保证不重复]
				.set("status", 1)   // 账号状态 (1=正常,2=禁用)  [必填]
				;

		SspClientBrdUtil.userUpdate(dataMap);
	}

	/** 测试推送动作：用户修改密码 */
	public static void testUserUpdatePassword() {
		long id = 1000144;
		String password = "999888";

		SspClientBrdUtil.userUpdatePassword(id, password);
	}

	/** 测试推送动作：用户查询 */
	public static void testUserGet() {
		// 要查询的用户id
		long id = 1000144;

		SoMap resMap = SspClientBrdUtil.userGet(id);
		System.out.println("返回结果：" + resMap);
	}

}