简要描述:

处理一个用户有不同账号,通过合并账号方式,共享账号添加的数据
接口审核通过后,前端用户先退出后登录再生效

  /// <summary>
  ///当前用户拥有的其它用户id  sql里面使用 user_id in @_mergeUserId
  /// (create_user_id=@_userId  or create_user_id in @_mergeUserId)
  /// </summary>
  public const string CURRENT_MERGE_USER_ID = "_mergeUserId";

配置文件使用和替换:

(create_user_id=@_userId  or create_user_id in @_mergeUserId)

(tb_f.create_user_id=@_userId  or tb_f.create_user_id in @_mergeUserId)


(tb_i.create_user_id=@_userId  or tb_i.create_user_id in @_mergeUserId)

接口版本:

版本号 制定人 制定日期 修订日期
v3 陈碧贵 2021-08-01 xxxx-xx-xx

请求URL:

  • http://{url参数}/bo/api/v3/bo-user-merge/list/res/else?_nodejs=common-data&pushName=111&ignore=true&pageSize=1

-http://localhost:5901/bo/api/v3/bo-user-merge/list/res/else?_nodejs=common-data&pushName=111&ignore=true&pageSize=1

关键mapper 拼接sql语句


    //合并外的其它账号
    "else": {
      "dataFromType": 0,
      "isList": true,
      "auth": true,
      "show": "'00000000000000000' push_name,user_id,nike_name,real_name,head_icon",
      "field": {
        //多名字情况,按优先基本有数据展示
        "doName": {
          "pushName": [
            {
              "name": "push_name",
              "path": "real_name",
              "sortId": 1
            },
            {
              "key": "user_id", //主键别名  使用于  1对1
              "path": "nike_name", // : 前面为主表列 ,  后面为1对1里面表列
              "sortId": 2
            },
            {
              "key": "user_id", //主键别名  使用于  1对1
              "path": "user_id", // : 前面为主表列 ,  后面为1对1里面表列
              "value": "-",
              "sortId": 3
            }
          ]
        }
      },
      "selectSql": {
        "auth": false,
        //where tb_um.user_id=@_userId
        "sqlList": [
          {
            "value": "select user_id,nike_name,real_name,head_icon from bo_user where user_status=1",
            "sortId": 1
          },
          {
            "value": " and (real_name like CONCAT('%', @pushName, '%') or email like CONCAT('%', @pushName, '%') or user_name like CONCAT('%', @pushName, '%') or nike_name like CONCAT('%', @pushName, '%') or pin_yin like CONCAT('%', @pushName, '%') or id_card_suffix like CONCAT('%', @pushName, '%')) ",
            "sortId": 5
          },
          {
            "value": "  and user_id not in @_filterUser ",
            "sortId": 10
          },
          {
            "value": "  and user_id not in  (select merge_user_id user_id from bo_user_merge where user_id=@_userId)",
            "sortId": 10
          },
          {
            "value": "  order by sort_id",
            "sortId": 10
          }
        ],
        //"list": "",
        "listField": "*",
        "pageField": "*",
        "detailField": "*"
      }
    }

请求方式:

  • GET

请求头:

参数名 是否必须 类型 说明
XownerId string 项目唯一ID,对应bo_project {ownerId}
XsysId string 所属系统 对应 bo_system 表
XuserFromFirstShareId string 一级分享用户ID, bo_user user_id
XuserFromSecondShareId string 二级分享用户ID, bo_user user_id
XverifyApi string 加密规则encryptByDES(`${newGuid()}
XfilterAreaCode string 行政区编码, 对应 bo_sys_area area_code
Content-Type: string application/json; charset=utf-8 请求类型
Authorization string 当前用户认证信息,通过登录接口获取 Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6

请求参数:



参数名 是否必须 类型 说明
_nodejs string common-data 对应/Config/AppNodeJs/Plugins/fn- common-data.js, 通过nodejs插件,对响应结果进行二次处理 common-data 普通数据(小写驼峰)common-data-under 普通数据下划线
pushName string and (real_name like CONCAT(‘%’, @pushName, ‘%’) or email like CONCAT(‘%’, @pushName, ‘%’) or user_name like CONCAT(‘%’, @pushName, ‘%’) or nike_name like CONCAT(‘%’, @pushName, ‘%’) or pin_yin like CONCAT(‘%’, @pushName, ‘%’) or id_card_suffix like CONCAT(‘%’, @pushName, ‘%’))

返回示例:

正确时返回:

{
    "data": [
        {
            "userId": "rg-g-deve-rg-20200-1fda7997-4bfb-441",
            "realName": "111",
            "headIcon": "头像地址",
            "diffTableNo": 0,
            "pushName": "111"
        }
    ],
    "code": "0",
    "retCode": "0",
    "success": true
}

错误时返回:

{
    "code": 0,
    "message": ""
    "error":{
      errorCode:null,
      errorText:null
    }
    "success": false,
}

返回参数说明:

参数名 类型 说明
success bool true 表示数据请求成功(跟code=0一致),调用者优先使用
code int true 表示数据请求成功(跟code=0一致),调用者优先使用
data array
cacheType string redis/sqlite/local 数据来源缓存 的类型(便于开发调试和性能优化)
cacheDate date 最后数据获取时间
文档更新时间: 2021-08-04 08:00   作者:admin