Ucs分析与实现

概览

用户画像(UserProfile),完美地抽象出一个用户的信息全貌,如果用一句话来描述,即:用户信息标签化;如果用一幅图来展现,即:


用户画像

UCS将构建口岸用户模型,

  1. 以个人为核心(手机号为关键标识)
  2. 个人信息标签化
  3. 账户创建,账户认证, 好友管理,好友分组,公司管理,公司关联,全程跟踪,消息推送

用户操作

1.账户创建

1.1 通过手机号(注册)快速登录(同时绑定手机)
post:/rest/account/register/mobile

请求参数

{ ApplicationId:"534d05f0-6b4b-452b-bb2b-549d518bbb02", Mobile: "158255616xx", ConfirmPassword:"111111", Password:"111111" ValidateCode:'111000' }

实现细节前端

1.输入手机号码,
2.发送手机验证码(使用pns服务)
3.输入密码,姓名
4完成注册

实现细节后端

用户不存在:添加ucs_user
无应用访问权限:(分配应用权限,分配默认角色,注册短信设备)
认证手机用户
pmp
添加pmp默认角色applicationId->pmpId
添加pmp对应应用的默认角色

1.2通过微信号新建

post:/rest/account/register/weixin

请求参数

{
PlatformId:'97f3fe707d5b4c4fb1b395b2834b3d97',
ApplicationId: '50ab125ada614e4186c8cc2a08912587',
WeixinId: 'testid6',
WeixinName: 'testname6'
}

Top参数

install-package purple.cas.top;
UcsTopClient client = new UcsTopClient();
var rs = client.RegisterWeixin(new RegisterWeixinViewModel()
{
PlatformId = "97f3fe707d5b4c4fb1b395b2834b3d97",
ApplicationId = "50ab125ada614e4186c8cc2a08912587",
WeixinName = "name1",
WeixinId = "id1"
});

通过访问微信号创建用户
用户不存在:添加ucs_user
无应用访问权限:(分配应用权限,分配默认角色,注册微信设备)

返回参数

{ "Id": "bda10592d9dd4e3b89ba7481b50d035f", "PlatformId": "97f3fe707d5b4c4fb1b395b2834b3d97", "ApplicationId": "50ab125ada614e4186c8cc2a08912587", "Name": "testname1", "CName": "testname1", "EName": null, "Email": null, "MobilePhone": null, "OrgCode": null, "OrgName": null, "DeptCode": null, "DeptName": null, "Avatar": null, "WeixinId": "testid1", "WeixinName": "testname1", "WeixinImg": null, "WeixiProvince": null, "WeixinCity": null, "NBCIQ_USER_CODE": null, "NBCIQ_USER_NAME": null, "NBCIQ_ORG_CODE": null, "NBCIQ_DEPT_CODE": null, "NBCIQ_ORG_NAME": null, "NBCIQ_DEPT_NAME": null, "NBMSA_USER_CODE": null, "NBMSA_USER_NAME": null, "NBMSA_ORG_CODE": null, "NBMSA_DEPT_CODE": null, "NBMSA_ORG_NAME": null, "NBMSA_DEPT_NAME": null, "NBEPORT_USER_CODE": null, "NBEPORT_USER_NAME": null, "NBEPORT_ORG_CODE": null, "NBEPORT_ORG_NAME": null, "NBEPORT_DEPT_CODE": null, "NBEPORT_DEPT_NAME": null, "NBEPORT_OU": null, "NBMSA_SHIP_USER_CODE": null, "NBMSA_SHIP_USER_NAME": null, "NBMSA_SHIP_USER_MOBILE": null, "NBMSA_SHIP_ORG_CODE": null, "NBMSA_SHIP_ORG_NAME": null, "NBMSA_SHIP_CODE": null, "NBMSA_SHIP_NAME": null, "Roles": [ "微信用户" ], "Menus": [ { "Id": "12a8692c8d1d4cbd8a9dde4f9083b7ab", "name": "产品与服务", "expand": null, "target": null, "url": "", "icon": null, "checked": false, "open": true, "type": null, "state": null, "path": null, "navType": "folder", "showChild": true, "route": null, "children": [ { "Id": "f73d5ca760004d97b662d08930419937", "name": "Qwx", "expand": null, "target": "_blank", "url": "http://localhost/Qwx/", "icon": "icon-wangpan", "checked": false, "open": true, "type": "r", "state": null, "path": null, "navType": "item", "showChild": false, "route": null, "children": [], "isParent": false, "pmpResourceId": null, "pmpChildApplicationId": "d4feaf00-04ca-4820-afbf-a2a89ac51e9d" } ], "isParent": false, "pmpResourceId": null, "pmpChildApplicationId": null }, { "Id": "4a45dc55030c410a9dd9f7e8f18aa347", "name": "用户中心", "expand": null, "target": null, "url": "", "icon": null, "checked": false, "open": true, "type": null, "state": null, "path": null, "navType": "folder", "showChild": true, "route": null, "children": [ { "Id": "d1ddecaf4bca43feb8c0d50b8f6a5acd", "name": "账号管理", "expand": null, "target": "_self", "url": "http://ucs.nbeport.com?id=50ab125ada614e4186c8cc2a08912587#/acs/account/50ab125ada614e4186c8cc2a08912587/bda10592d9dd4e3b89ba7481b50d035f/profile", "icon": "icon-wangpan", "checked": false, "open": true, "type": "r", "state": null, "path": null, "navType": "item", "showChild": false, "route": null, "children": [], "isParent": false, "pmpResourceId": null, "pmpChildApplicationId": "fc79ef40-a8e2-4935-a8ff-eaf4640cdd28" } ], "isParent": false, "pmpResourceId": null, "pmpChildApplicationId": null } ], "Platform": { "ID": "97f3fe707d5b4c4fb1b395b2834b3d97", "NAME": "国检微信测试", "DESCRIPT": null, "Menus": [] } }

1.3通过电子口岸账号新建

post:/rest/account/register/nbeport

请求参数

{ ApplicationId:"534d05f0-6b4b-452b-bb2b-549d518bbb02", UserName: "hz24", Password:'123456' }
通过应用跳转至电子口岸统一登录页面回调
用户不存在:添加ucs_user
无应用访问权限:(分配应用权限,分配默认角色)
认证电子口岸账户
公司不存在:创建公司ucs_org(公司信息处理\经营范围处理)
账户是主账号:认证公司管理员账户
添加账号与公司关联

1.4找回密码
post:/rest/account/password/change

1发送手机验证码
2 输入新密码及确认密码
3 完成密码修改

1.5 获取用户信息(返回json)
get http://localhost/ucs3/rest/account/json/{applicationId}/{userId}?platfromId={platofrmId}&token={token}
返回

1.6 获取用户信息(返回js)
get http://localhost/ucs3/rest/account/js/{applicationId}/{userId}?platfromId={platofrmId}

1.7 修改用户昵称
post http://localhost/ucs3/rest/account/{userId}/edit/nickname/{nickname}

1.8 修改用户头像
post http://localhost/ucs3/rest/account/{userId}/edit/avatar/{avatar}

2.账户认证

2.1绑定手机(认证手机账户)
post:/rest/account/bind/mobile

请求参数

{ ApplicationId:"534d05f0-6b4b-452b-bb2b-549d518bbb02", UserId:'fefdde48-f7cd-48db-b3d4-1fee5b117beb', Mobile: "158255616xx", ValidateCode:'111000' }

实现细节

输入手机号,接收验证码,调用绑定接口
注册短信设备
加入认证手机账户角色

2.1更换手机(认证手机账户)
post:/rest/account/bind/remobile

请求参数

{ ApplicationId:"534d05f0-6b4b-452b-bb2b-549d518bbb02", UserId:'fefdde48-f7cd-48db-b3d4-1fee5b117beb', Mobile: "158255616xx", ValidateCode:'111000' }

实现细节

输入原手机号码,接收验证码并验证成功
输入新手机号码,接收验证码码并验证成功
调用手更换手机接口

2.2绑定电子口岸账户(认证电子口岸账户)

输入电子口岸用户名,密码验证成功
用户不存在:添加ucs_user
认证电子口岸账户
公司不存在:创建公司ucs_org(公司信息处理\经营范围处理)
账户是主账号:认证公司管理员账户
添加账号与公司关联

2.3绑定国检外网企业账户(认证国检企业账户)

输入国检外网企业用户名密码校验成功
认证国检企业账户
公司不存在:创建公司ucs_org(公司信息处理\经营范围处理)
账户是主账号:认证公司管理员账户
添加账号与公司关联

2.4绑定国检报检员账户(认证 宁波国检-报检员,宁波国检-报检员企业

post http://localhost/ucs3/rest/account/bind/nbciq/declperson
输入国检报检员信息校验成功
认证国检外网账户
公司不存在:创建公司ucs_org(公司信息处理\经营范围处理)
账户是主账号:认证公司管理员账户
添加账号与公司关联

请求参数{

ApplicationId: '50ab125ada614e4186c8cc2a08912587',
UserId:'bda10592d9dd4e3b89ba7481b50d035f',
DECL_PERSON_CODE:'3800001054', //报检员号
ID_CARD_NO='169348', //身份证后6位
ENT_REG_CODE:'3805604684', //国检企业编码
TECH_REG_CODE:'002249' //组织机构后6位
}

返回参数

2.5绑定海事账户(认证海事账户)
post http://localhost/ucs3/rest/account/bind/nbmsa/inner

请求参数

{
ApplicationId: '50ab125ada614e4186c8cc2a08912587',
UserCode: 'wlf',
Password:'111111',
UserId:'bda10592d9dd4e3b89ba7481b50d035f'
}

实现细节

输入海事企业用户名密码校验成功
认证海事企业账户
公司不存在:创建公司ucs_org(公司信息处理\经营范围处理)
账户是主账号:认证公司管理员账户
添加账号与公司关联

2.5.2 解绑定海事账户
post

http://localhost/ucs3/rest/account/{applicationId}/{userId}/unbind/nbmsa/inner

eg:http://localhost/ucs3/rest/account/50ab125ada614e4186c8cc2a08912587/bda10592d9dd4e3b89ba7481b50d035f/unbind/nbmsa/inner

2.6.1 绑定海事船老大
post http://localhost/ucs3/rest/account/bind/nbmsa/shipper

请求参数

{
ApplicationId: '50ab125ada614e4186c8cc2a08912587',
UserCode: '454545',
Password:'33333',
UserId:'bda10592d9dd4e3b89ba7481b50d035f'
}

实现细节

输入海事船老大用户名密码校验成功
认证海事企业账户
公司不存在:创建公司ucs_org(公司信息处理\经营范围处理)
账户是主账号:认证公司管理员账户
添加账号与公司关联

2.6.2 解绑船老大
post

http://localhost/ucs3/rest/account/{applicationId}/{userId}/unbind/nbmsa/shipper

eg:http://localhost/ucs3/rest/account/50ab125ada614e4186c8cc2a08912587/bda10592d9dd4e3b89ba7481b50d035f/unbind/nbmsa/shipper

2.7提交资料认证公司账号(认证公司管理员账户)

暂不实现

2.8提交个人资料(认证实名账户)

暂不实现
2.9认证个人资质(国检内网人员\海事内网人员\报关员\报检员\...)
输入相关资质信息,提交管理员审核后获得个人资质

3.公司管理(多以营业执照为标识区分多分支机构)

3.1 公司信息维护

暂不实现

3.2 公司经营范围(货主\货代\报关行\船司...)

暂不实现

4.公司账号关联

4.1 申请加入公司

暂不实现

4.2 审核账号与公司关联

暂不实现

4.3 管理员添加关联账户

管理员添加认证手机账户成为公司关联账户

4.4 管理员删除账号关联

管理员移除账号关联
账户不再能获取原公司关联业务信息

5.好友管理
5.1 好友搜索

显示系统中所用用户

5.2 好友推荐

暂不实现

5.3 关注好友

关注好友,加入UCS_USER_LINK

6分组管理

6.1 创建自定义分组

post:http://localhost/ucs3/rest/user/fefdde48-f7cd-48db-b3d4-1fee5b117beb/group/{id}

请求参数

{
name:'分组名称'
}

细节说明

id为空为新建

6.2 查看自定义分组

get:localhost/ucs3/rest/account/fefdde48-f7cd-48db-b3d4-1fee5b117beb/group/1c54f42dad93460d9b87d4bc120f4ed8

6.3 删除自定义分组

get:localhost/ucs3/rest/account/fefdde48-f7cd-48db-b3d4-1fee5b117beb/group/1c54f42dad93460d9b87d4bc120f4ed8/delete

6.5分组下好友列表

get:http://localhost/ucs3/rest/group/{userId}/user/{groupId}/user

6.6分组下好友添加

post:http://localhost/ucs3/rest/group/{userId}/user/{groupId}/user/{toUserId}/add

6.6分组下好友删除

post:http://localhost/ucs3/rest/group/{userId}/user/{groupId}/user/{toUserId}/delete

  1. 消息管理

7.1 好友消息

向好友发送消息

7.2 分组消息

向分组发送消息

7.3 关注报关单号

加入PNS_LINK

7.3 消息推送

状态变更后业务系统消息推user_Id,business_key,title,contnet (template_id,template_data),drivce_category
pns根据设备进行推送
1.发送消息

8好友管理
8.1 好友列表

get:http://localhost/ucs3/rest/account/002426391c24427182dc0154a9cc8f2a/friend/0

细节说明

status=0 好友搜索
status=1 我的好友列表
status=2 好友请求列表

返回示例

[
{
"FROM_USER_ID": null,
"TO_USER_ID": "04684da9-7035-4106-a082-df7d60aae9b1",
"NAME": "3810641",
"CNAME": "闫起瑞",
"AVATAR": null,
"ENAME": null,
"ORGCODE": "3807007101",
"ORGNAME": null,
"DESCRIPT": null
}
]

8.2 好友添加请求

post:http://localhost/ucs3/rest/account/{userId}/friend/{toUserId}/send

post:http://localhost/ucs3/rest/account/002426391c24427182dc0154a9cc8f2a/friend/2e1aab30-5da7-41c6-9164-f8ca2a15c570/send

8.3 好友请求确认

post:http://localhost/ucs3/rest/account/002426391c24427182dc0154a9cc8f2a/friend/2e1aab30-5da7-41c6-9164-f8ca2a15c570/confirm

8.4 好友删除

post:http://localhost/ucs3/rest/account/002426391c24427182dc0154a9cc8f2a/friend/2e1aab30-5da7-41c6-9164-f8ca2a15c570/delete

9好友管理
9.1 机构列表

post:http://localhost/ucs3/rest/org

9.2 机构详情

get:http://localhost/ucs3/rest/org/fefdde48-f7cd-48db-b3d4-1fee5b117beb

9.2 机构添加修改

post:http://localhost/ucs3/rest/org/fefdde48-f7cd-48db-b3d4-1fee5b117beb/dept/{id}

请求参数

{
name:'部门名称'
}

细节说明

id为空为新建

9.3 部门列表

get:http://localhost/ucs3/rest/org/87c8e1a08b0c4afc909eedc8589f0f45/dept

9.4 部门详情

9.5 部门详情添加修改

标签管理
添加标签

数据设计

方法约定

get 获取返回对象或列表,列表返回使用复数
post 创建,对象存在返回500异常
put 创建或更新,对角存在覆盖(覆盖规则由api具体指定)
delet 删除

待续

新增需求整理

1 weiapi过滤增加token 验证
2 手机端使用手机号,密码登录
3 用户操作全流程测试
使用手机号码注册,找回密码,绑定电子口岸账号,绑定海事内网账号,绑定海事船老大账号,绑定报检员账号
使用电子口岸账号注册,绑定手机码,手机端登陆,找回密码,,绑定海事内网账号,绑定海事船老大账号,绑定报检员账号
4 用户中心个人信息设置迁至pmp项目中, 解决进用户中心需要再登录的问题
5 用户分组测试
6 个人消息发送及分组消息发送
7 增加平台管理功能,应用选择,授权,用户权限分配

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,029评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,395评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,570评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,535评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,650评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,850评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,006评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,747评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,207评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,536评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,683评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,342评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,964评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,772评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,004评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,401评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,566评论 2 349

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,633评论 18 139
  • REST API 可以让你用任何支持发送 HTTP 请求的设备来与 Parse 进行交互,你可以使用 REST A...
    Caroline嗯哼阅读 2,002评论 0 0
  • 红梅最近生气了,可是为什么呢? "红梅,听说新上映的电影很好看,我买了晚上的票,我们......" "没时间。" ...
    对半独白阅读 462评论 1 16
  • 1. 图片压缩 1.1 直接格式转换(jpg(三个颜色通道,rgb) png(四个颜色通道,rgba) ...
    池鹏程阅读 826评论 0 0