正在显示
27 个修改的文件
包含
1372 行增加
和
83 行删除
| @@ -33,6 +33,364 @@ | @@ -33,6 +33,364 @@ | ||
| 33 | ] | 33 | ] |
| 34 | } | 34 | } |
| 35 | }, | 35 | }, |
| 36 | + "v1/mini/company/search": { | ||
| 37 | + "post": { | ||
| 38 | + "summary": "公司搜索", | ||
| 39 | + "operationId": "miniCompanySearch", | ||
| 40 | + "responses": { | ||
| 41 | + "200": { | ||
| 42 | + "description": "A successful response.", | ||
| 43 | + "schema": { | ||
| 44 | + "$ref": "#/definitions/CompanySearchResponse" | ||
| 45 | + } | ||
| 46 | + } | ||
| 47 | + }, | ||
| 48 | + "parameters": [ | ||
| 49 | + { | ||
| 50 | + "name": "body", | ||
| 51 | + "in": "body", | ||
| 52 | + "required": true, | ||
| 53 | + "schema": { | ||
| 54 | + "$ref": "#/definitions/CompanySearchRequest" | ||
| 55 | + } | ||
| 56 | + } | ||
| 57 | + ], | ||
| 58 | + "requestBody": {}, | ||
| 59 | + "tags": [ | ||
| 60 | + "company" | ||
| 61 | + ] | ||
| 62 | + } | ||
| 63 | + }, | ||
| 64 | + "v1/mini/message/business": { | ||
| 65 | + "post": { | ||
| 66 | + "summary": "业务消息", | ||
| 67 | + "operationId": "miniBusiness", | ||
| 68 | + "responses": { | ||
| 69 | + "200": { | ||
| 70 | + "description": "A successful response.", | ||
| 71 | + "schema": { | ||
| 72 | + "$ref": "#/definitions/MessageBusinessResponse" | ||
| 73 | + } | ||
| 74 | + } | ||
| 75 | + }, | ||
| 76 | + "parameters": [ | ||
| 77 | + { | ||
| 78 | + "name": "body", | ||
| 79 | + "in": "body", | ||
| 80 | + "required": true, | ||
| 81 | + "schema": { | ||
| 82 | + "$ref": "#/definitions/MessageBusinessRequest" | ||
| 83 | + } | ||
| 84 | + } | ||
| 85 | + ], | ||
| 86 | + "requestBody": {}, | ||
| 87 | + "tags": [ | ||
| 88 | + "message" | ||
| 89 | + ] | ||
| 90 | + } | ||
| 91 | + }, | ||
| 92 | + "v1/mini/message/system": { | ||
| 93 | + "post": { | ||
| 94 | + "summary": "系统消息", | ||
| 95 | + "operationId": "miniSystem", | ||
| 96 | + "responses": { | ||
| 97 | + "200": { | ||
| 98 | + "description": "A successful response.", | ||
| 99 | + "schema": { | ||
| 100 | + "$ref": "#/definitions/MessageBusinessResponse" | ||
| 101 | + } | ||
| 102 | + } | ||
| 103 | + }, | ||
| 104 | + "parameters": [ | ||
| 105 | + { | ||
| 106 | + "name": "body", | ||
| 107 | + "in": "body", | ||
| 108 | + "required": true, | ||
| 109 | + "schema": { | ||
| 110 | + "$ref": "#/definitions/MessageSystemRequest" | ||
| 111 | + } | ||
| 112 | + } | ||
| 113 | + ], | ||
| 114 | + "requestBody": {}, | ||
| 115 | + "tags": [ | ||
| 116 | + "message" | ||
| 117 | + ] | ||
| 118 | + } | ||
| 119 | + }, | ||
| 120 | + "v1/mini/user/apply-join-company": { | ||
| 121 | + "post": { | ||
| 122 | + "summary": "用户申请加入公司", | ||
| 123 | + "operationId": "miniUserApplyJoinCompany", | ||
| 124 | + "responses": { | ||
| 125 | + "200": { | ||
| 126 | + "description": "A successful response.", | ||
| 127 | + "schema": { | ||
| 128 | + "$ref": "#/definitions/MiniUserApplyJoinCompanyResponse" | ||
| 129 | + } | ||
| 130 | + } | ||
| 131 | + }, | ||
| 132 | + "parameters": [ | ||
| 133 | + { | ||
| 134 | + "name": "body", | ||
| 135 | + "in": "body", | ||
| 136 | + "required": true, | ||
| 137 | + "schema": { | ||
| 138 | + "$ref": "#/definitions/MiniUserApplyJoinCompanyRequest" | ||
| 139 | + } | ||
| 140 | + } | ||
| 141 | + ], | ||
| 142 | + "requestBody": {}, | ||
| 143 | + "tags": [ | ||
| 144 | + "user" | ||
| 145 | + ] | ||
| 146 | + } | ||
| 147 | + }, | ||
| 148 | + "v1/mini/user/audit": { | ||
| 149 | + "post": { | ||
| 150 | + "summary": "用户审核", | ||
| 151 | + "operationId": "miniUserAudit", | ||
| 152 | + "responses": { | ||
| 153 | + "200": { | ||
| 154 | + "description": "A successful response.", | ||
| 155 | + "schema": {} | ||
| 156 | + } | ||
| 157 | + }, | ||
| 158 | + "parameters": [ | ||
| 159 | + { | ||
| 160 | + "name": "body", | ||
| 161 | + "in": "body", | ||
| 162 | + "required": true, | ||
| 163 | + "schema": { | ||
| 164 | + "$ref": "#/definitions/MiniUserAuditRequest" | ||
| 165 | + } | ||
| 166 | + } | ||
| 167 | + ], | ||
| 168 | + "requestBody": {}, | ||
| 169 | + "tags": [ | ||
| 170 | + "user" | ||
| 171 | + ] | ||
| 172 | + } | ||
| 173 | + }, | ||
| 174 | + "v1/mini/user/audit-list": { | ||
| 175 | + "post": { | ||
| 176 | + "summary": "用户审核列表", | ||
| 177 | + "operationId": "miniUserAuditList", | ||
| 178 | + "responses": { | ||
| 179 | + "200": { | ||
| 180 | + "description": "A successful response.", | ||
| 181 | + "schema": { | ||
| 182 | + "$ref": "#/definitions/UserSearchResponse" | ||
| 183 | + } | ||
| 184 | + } | ||
| 185 | + }, | ||
| 186 | + "parameters": [ | ||
| 187 | + { | ||
| 188 | + "name": "body", | ||
| 189 | + "in": "body", | ||
| 190 | + "required": true, | ||
| 191 | + "schema": { | ||
| 192 | + "$ref": "#/definitions/UserSearchRequest" | ||
| 193 | + } | ||
| 194 | + } | ||
| 195 | + ], | ||
| 196 | + "requestBody": {}, | ||
| 197 | + "tags": [ | ||
| 198 | + "user" | ||
| 199 | + ] | ||
| 200 | + } | ||
| 201 | + }, | ||
| 202 | + "v1/mini/user/department-users": { | ||
| 203 | + "post": { | ||
| 204 | + "summary": "部门用户列表", | ||
| 205 | + "operationId": "miniUserDepartmentUsers", | ||
| 206 | + "responses": { | ||
| 207 | + "200": { | ||
| 208 | + "description": "A successful response.", | ||
| 209 | + "schema": { | ||
| 210 | + "$ref": "#/definitions/MiniUserInfoResponse" | ||
| 211 | + } | ||
| 212 | + } | ||
| 213 | + }, | ||
| 214 | + "parameters": [ | ||
| 215 | + { | ||
| 216 | + "name": "body", | ||
| 217 | + "in": "body", | ||
| 218 | + "required": true, | ||
| 219 | + "schema": { | ||
| 220 | + "$ref": "#/definitions/MiniUserDepartmentUsersRequest" | ||
| 221 | + } | ||
| 222 | + } | ||
| 223 | + ], | ||
| 224 | + "requestBody": {}, | ||
| 225 | + "tags": [ | ||
| 226 | + "user" | ||
| 227 | + ] | ||
| 228 | + } | ||
| 229 | + }, | ||
| 230 | + "v1/mini/user/follow": { | ||
| 231 | + "post": { | ||
| 232 | + "summary": "关注", | ||
| 233 | + "operationId": "miniUserFollow", | ||
| 234 | + "responses": { | ||
| 235 | + "200": { | ||
| 236 | + "description": "A successful response.", | ||
| 237 | + "schema": {} | ||
| 238 | + } | ||
| 239 | + }, | ||
| 240 | + "parameters": [ | ||
| 241 | + { | ||
| 242 | + "name": "body", | ||
| 243 | + "in": "body", | ||
| 244 | + "required": true, | ||
| 245 | + "schema": { | ||
| 246 | + "$ref": "#/definitions/FollowRequest" | ||
| 247 | + } | ||
| 248 | + } | ||
| 249 | + ], | ||
| 250 | + "requestBody": {}, | ||
| 251 | + "tags": [ | ||
| 252 | + "user" | ||
| 253 | + ] | ||
| 254 | + } | ||
| 255 | + }, | ||
| 256 | + "v1/mini/user/follower": { | ||
| 257 | + "post": { | ||
| 258 | + "summary": "关注我的人", | ||
| 259 | + "operationId": "miniUserFollower", | ||
| 260 | + "responses": { | ||
| 261 | + "200": { | ||
| 262 | + "description": "A successful response.", | ||
| 263 | + "schema": { | ||
| 264 | + "$ref": "#/definitions/UserSearchResponse" | ||
| 265 | + } | ||
| 266 | + } | ||
| 267 | + }, | ||
| 268 | + "parameters": [ | ||
| 269 | + { | ||
| 270 | + "name": "body", | ||
| 271 | + "in": "body", | ||
| 272 | + "required": true, | ||
| 273 | + "schema": { | ||
| 274 | + "$ref": "#/definitions/UserSearchRequest" | ||
| 275 | + } | ||
| 276 | + } | ||
| 277 | + ], | ||
| 278 | + "requestBody": {}, | ||
| 279 | + "tags": [ | ||
| 280 | + "user" | ||
| 281 | + ] | ||
| 282 | + } | ||
| 283 | + }, | ||
| 284 | + "v1/mini/user/following": { | ||
| 285 | + "post": { | ||
| 286 | + "summary": "我关注的人", | ||
| 287 | + "operationId": "miniUserFollowing", | ||
| 288 | + "responses": { | ||
| 289 | + "200": { | ||
| 290 | + "description": "A successful response.", | ||
| 291 | + "schema": { | ||
| 292 | + "$ref": "#/definitions/UserSearchResponse" | ||
| 293 | + } | ||
| 294 | + } | ||
| 295 | + }, | ||
| 296 | + "parameters": [ | ||
| 297 | + { | ||
| 298 | + "name": "body", | ||
| 299 | + "in": "body", | ||
| 300 | + "required": true, | ||
| 301 | + "schema": { | ||
| 302 | + "$ref": "#/definitions/UserSearchRequest" | ||
| 303 | + } | ||
| 304 | + } | ||
| 305 | + ], | ||
| 306 | + "requestBody": {}, | ||
| 307 | + "tags": [ | ||
| 308 | + "user" | ||
| 309 | + ] | ||
| 310 | + } | ||
| 311 | + }, | ||
| 312 | + "v1/mini/user/info": { | ||
| 313 | + "post": { | ||
| 314 | + "summary": "用户信息", | ||
| 315 | + "operationId": "miniUserInfo", | ||
| 316 | + "responses": { | ||
| 317 | + "200": { | ||
| 318 | + "description": "A successful response.", | ||
| 319 | + "schema": { | ||
| 320 | + "$ref": "#/definitions/MiniUserInfoResponse" | ||
| 321 | + } | ||
| 322 | + } | ||
| 323 | + }, | ||
| 324 | + "parameters": [ | ||
| 325 | + { | ||
| 326 | + "name": "body", | ||
| 327 | + "in": "body", | ||
| 328 | + "required": true, | ||
| 329 | + "schema": { | ||
| 330 | + "$ref": "#/definitions/MiniUserInfoRequest" | ||
| 331 | + } | ||
| 332 | + } | ||
| 333 | + ], | ||
| 334 | + "requestBody": {}, | ||
| 335 | + "tags": [ | ||
| 336 | + "user" | ||
| 337 | + ] | ||
| 338 | + } | ||
| 339 | + }, | ||
| 340 | + "v1/mini/user/login": { | ||
| 341 | + "post": { | ||
| 342 | + "summary": "用户登录", | ||
| 343 | + "operationId": "miniUserLogin", | ||
| 344 | + "responses": { | ||
| 345 | + "200": { | ||
| 346 | + "description": "A successful response.", | ||
| 347 | + "schema": { | ||
| 348 | + "$ref": "#/definitions/MiniUserLoginResponse" | ||
| 349 | + } | ||
| 350 | + } | ||
| 351 | + }, | ||
| 352 | + "parameters": [ | ||
| 353 | + { | ||
| 354 | + "name": "body", | ||
| 355 | + "in": "body", | ||
| 356 | + "required": true, | ||
| 357 | + "schema": { | ||
| 358 | + "$ref": "#/definitions/MiniUserLoginRequest" | ||
| 359 | + } | ||
| 360 | + } | ||
| 361 | + ], | ||
| 362 | + "requestBody": {}, | ||
| 363 | + "tags": [ | ||
| 364 | + "user" | ||
| 365 | + ] | ||
| 366 | + } | ||
| 367 | + }, | ||
| 368 | + "v1/mini/user/unfollow": { | ||
| 369 | + "post": { | ||
| 370 | + "summary": "取消关注", | ||
| 371 | + "operationId": "miniUserUnFollow", | ||
| 372 | + "responses": { | ||
| 373 | + "200": { | ||
| 374 | + "description": "A successful response.", | ||
| 375 | + "schema": {} | ||
| 376 | + } | ||
| 377 | + }, | ||
| 378 | + "parameters": [ | ||
| 379 | + { | ||
| 380 | + "name": "body", | ||
| 381 | + "in": "body", | ||
| 382 | + "required": true, | ||
| 383 | + "schema": { | ||
| 384 | + "$ref": "#/definitions/FollowRequest" | ||
| 385 | + } | ||
| 386 | + } | ||
| 387 | + ], | ||
| 388 | + "requestBody": {}, | ||
| 389 | + "tags": [ | ||
| 390 | + "user" | ||
| 391 | + ] | ||
| 392 | + } | ||
| 393 | + }, | ||
| 36 | "v1/system/comment": { | 394 | "v1/system/comment": { |
| 37 | "get": { | 395 | "get": { |
| 38 | "summary": "系统评论", | 396 | "summary": "系统评论", |
| @@ -50,6 +408,34 @@ | @@ -50,6 +408,34 @@ | ||
| 50 | "comment" | 408 | "comment" |
| 51 | ] | 409 | ] |
| 52 | } | 410 | } |
| 411 | + }, | ||
| 412 | + "v1/system/company/search": { | ||
| 413 | + "post": { | ||
| 414 | + "summary": "公司搜索", | ||
| 415 | + "operationId": "systemCompanySearch", | ||
| 416 | + "responses": { | ||
| 417 | + "200": { | ||
| 418 | + "description": "A successful response.", | ||
| 419 | + "schema": { | ||
| 420 | + "$ref": "#/definitions/CompanySearchResponse" | ||
| 421 | + } | ||
| 422 | + } | ||
| 423 | + }, | ||
| 424 | + "parameters": [ | ||
| 425 | + { | ||
| 426 | + "name": "body", | ||
| 427 | + "in": "body", | ||
| 428 | + "required": true, | ||
| 429 | + "schema": { | ||
| 430 | + "$ref": "#/definitions/CompanySearchRequest" | ||
| 431 | + } | ||
| 432 | + } | ||
| 433 | + ], | ||
| 434 | + "requestBody": {}, | ||
| 435 | + "tags": [ | ||
| 436 | + "company" | ||
| 437 | + ] | ||
| 438 | + } | ||
| 53 | } | 439 | } |
| 54 | }, | 440 | }, |
| 55 | "definitions": { | 441 | "definitions": { |
| @@ -75,6 +461,651 @@ | @@ -75,6 +461,651 @@ | ||
| 75 | "required": [ | 461 | "required": [ |
| 76 | "list" | 462 | "list" |
| 77 | ] | 463 | ] |
| 464 | + }, | ||
| 465 | + "Company": { | ||
| 466 | + "type": "object", | ||
| 467 | + "properties": { | ||
| 468 | + "id": { | ||
| 469 | + "type": "integer", | ||
| 470 | + "format": "int64", | ||
| 471 | + "description": " 唯一标识" | ||
| 472 | + }, | ||
| 473 | + "name": { | ||
| 474 | + "type": "string", | ||
| 475 | + "description": " 名称" | ||
| 476 | + }, | ||
| 477 | + "code": { | ||
| 478 | + "type": "string", | ||
| 479 | + "description": " 编码(搜索使用,4位字母数字)" | ||
| 480 | + }, | ||
| 481 | + "logo": { | ||
| 482 | + "type": "string", | ||
| 483 | + "description": " 公司LOGO" | ||
| 484 | + } | ||
| 485 | + }, | ||
| 486 | + "title": "Company", | ||
| 487 | + "required": [ | ||
| 488 | + "id", | ||
| 489 | + "name", | ||
| 490 | + "code", | ||
| 491 | + "logo" | ||
| 492 | + ] | ||
| 493 | + }, | ||
| 494 | + "CompanySearchRequest": { | ||
| 495 | + "type": "object", | ||
| 496 | + "properties": { | ||
| 497 | + "page": { | ||
| 498 | + "type": "integer", | ||
| 499 | + "format": "int32" | ||
| 500 | + }, | ||
| 501 | + "size": { | ||
| 502 | + "type": "integer", | ||
| 503 | + "format": "int32" | ||
| 504 | + }, | ||
| 505 | + "userId": { | ||
| 506 | + "type": "integer", | ||
| 507 | + "format": "int64", | ||
| 508 | + "description": " 按用户搜索" | ||
| 509 | + }, | ||
| 510 | + "code": { | ||
| 511 | + "type": "string", | ||
| 512 | + "description": " 按编码搜索" | ||
| 513 | + } | ||
| 514 | + }, | ||
| 515 | + "title": "CompanySearchRequest", | ||
| 516 | + "required": [ | ||
| 517 | + "page", | ||
| 518 | + "size" | ||
| 519 | + ] | ||
| 520 | + }, | ||
| 521 | + "CompanySearchResponse": { | ||
| 522 | + "type": "object", | ||
| 523 | + "properties": { | ||
| 524 | + "list": { | ||
| 525 | + "type": "array", | ||
| 526 | + "items": { | ||
| 527 | + "$ref": "#/definitions/Company" | ||
| 528 | + } | ||
| 529 | + }, | ||
| 530 | + "total": { | ||
| 531 | + "type": "integer", | ||
| 532 | + "format": "int64" | ||
| 533 | + } | ||
| 534 | + }, | ||
| 535 | + "title": "CompanySearchResponse", | ||
| 536 | + "required": [ | ||
| 537 | + "list", | ||
| 538 | + "total" | ||
| 539 | + ] | ||
| 540 | + }, | ||
| 541 | + "Department": { | ||
| 542 | + "type": "object", | ||
| 543 | + "properties": { | ||
| 544 | + "id": { | ||
| 545 | + "type": "integer", | ||
| 546 | + "format": "int64", | ||
| 547 | + "description": " 部门ID" | ||
| 548 | + }, | ||
| 549 | + "companyId": { | ||
| 550 | + "type": "integer", | ||
| 551 | + "format": "int64", | ||
| 552 | + "description": " 公司ID" | ||
| 553 | + }, | ||
| 554 | + "parentId": { | ||
| 555 | + "type": "integer", | ||
| 556 | + "format": "int64", | ||
| 557 | + "description": " 父级ID" | ||
| 558 | + }, | ||
| 559 | + "name": { | ||
| 560 | + "type": "string", | ||
| 561 | + "description": " 部门名称" | ||
| 562 | + } | ||
| 563 | + }, | ||
| 564 | + "title": "Department", | ||
| 565 | + "required": [ | ||
| 566 | + "id", | ||
| 567 | + "companyId", | ||
| 568 | + "parentId", | ||
| 569 | + "name" | ||
| 570 | + ] | ||
| 571 | + }, | ||
| 572 | + "FollowRequest": { | ||
| 573 | + "type": "object", | ||
| 574 | + "properties": { | ||
| 575 | + "userId": { | ||
| 576 | + "type": "integer", | ||
| 577 | + "format": "int64" | ||
| 578 | + } | ||
| 579 | + }, | ||
| 580 | + "title": "FollowRequest", | ||
| 581 | + "required": [ | ||
| 582 | + "userId" | ||
| 583 | + ] | ||
| 584 | + }, | ||
| 585 | + "MessageBusinessItem": { | ||
| 586 | + "type": "object", | ||
| 587 | + "properties": { | ||
| 588 | + "id": { | ||
| 589 | + "type": "integer", | ||
| 590 | + "format": "int64" | ||
| 591 | + }, | ||
| 592 | + "companyId": { | ||
| 593 | + "type": "integer", | ||
| 594 | + "format": "int64", | ||
| 595 | + "description": " 公司ID" | ||
| 596 | + }, | ||
| 597 | + "type": { | ||
| 598 | + "type": "integer", | ||
| 599 | + "format": "int32", | ||
| 600 | + "description": " 分类 (1回复 2点赞 3被采纳)" | ||
| 601 | + }, | ||
| 602 | + "optType": { | ||
| 603 | + "type": "integer", | ||
| 604 | + "format": "int32", | ||
| 605 | + "description": " 操作类型(1针对文章、1针对评论、2针对圆桌)" | ||
| 606 | + }, | ||
| 607 | + "triggerId": { | ||
| 608 | + "type": "integer", | ||
| 609 | + "format": "int64", | ||
| 610 | + "description": " 触发者ID" | ||
| 611 | + }, | ||
| 612 | + "recipientId": { | ||
| 613 | + "type": "integer", | ||
| 614 | + "format": "int64", | ||
| 615 | + "description": " 接收者ID" | ||
| 616 | + }, | ||
| 617 | + "articleId": { | ||
| 618 | + "type": "integer", | ||
| 619 | + "format": "int64", | ||
| 620 | + "description": " 文章ID" | ||
| 621 | + }, | ||
| 622 | + "commentId": { | ||
| 623 | + "type": "integer", | ||
| 624 | + "format": "int64", | ||
| 625 | + "description": " 评论ID" | ||
| 626 | + }, | ||
| 627 | + "discussionId": { | ||
| 628 | + "type": "integer", | ||
| 629 | + "format": "int64", | ||
| 630 | + "description": " 圆桌ID" | ||
| 631 | + }, | ||
| 632 | + "discussionOpinionId": { | ||
| 633 | + "type": "integer", | ||
| 634 | + "format": "int64", | ||
| 635 | + "description": " 观点ID" | ||
| 636 | + }, | ||
| 637 | + "content": { | ||
| 638 | + "type": "string", | ||
| 639 | + "description": " 消息内容" | ||
| 640 | + }, | ||
| 641 | + "createdAt": { | ||
| 642 | + "type": "integer", | ||
| 643 | + "format": "int64", | ||
| 644 | + "description": " 创建时间" | ||
| 645 | + }, | ||
| 646 | + "userTrigger": { | ||
| 647 | + "$ref": "#/definitions/User", | ||
| 648 | + "description": " 触发者" | ||
| 649 | + } | ||
| 650 | + }, | ||
| 651 | + "title": "MessageBusinessItem", | ||
| 652 | + "required": [ | ||
| 653 | + "id", | ||
| 654 | + "companyId", | ||
| 655 | + "type", | ||
| 656 | + "optType", | ||
| 657 | + "triggerId", | ||
| 658 | + "recipientId", | ||
| 659 | + "articleId", | ||
| 660 | + "commentId", | ||
| 661 | + "discussionId", | ||
| 662 | + "discussionOpinionId", | ||
| 663 | + "content", | ||
| 664 | + "createdAt", | ||
| 665 | + "userTrigger" | ||
| 666 | + ] | ||
| 667 | + }, | ||
| 668 | + "MessageBusinessRequest": { | ||
| 669 | + "type": "object", | ||
| 670 | + "properties": { | ||
| 671 | + "page": { | ||
| 672 | + "type": "integer", | ||
| 673 | + "format": "int32" | ||
| 674 | + }, | ||
| 675 | + "size": { | ||
| 676 | + "type": "integer", | ||
| 677 | + "format": "int32" | ||
| 678 | + } | ||
| 679 | + }, | ||
| 680 | + "title": "MessageBusinessRequest", | ||
| 681 | + "required": [ | ||
| 682 | + "page", | ||
| 683 | + "size" | ||
| 684 | + ] | ||
| 685 | + }, | ||
| 686 | + "MessageBusinessResponse": { | ||
| 687 | + "type": "object", | ||
| 688 | + "properties": { | ||
| 689 | + "list": { | ||
| 690 | + "type": "array", | ||
| 691 | + "items": { | ||
| 692 | + "$ref": "#/definitions/MessageBusinessItem" | ||
| 693 | + } | ||
| 694 | + }, | ||
| 695 | + "total": { | ||
| 696 | + "type": "integer", | ||
| 697 | + "format": "int64" | ||
| 698 | + } | ||
| 699 | + }, | ||
| 700 | + "title": "MessageBusinessResponse", | ||
| 701 | + "required": [ | ||
| 702 | + "list", | ||
| 703 | + "total" | ||
| 704 | + ] | ||
| 705 | + }, | ||
| 706 | + "MessageSystemItem": { | ||
| 707 | + "type": "object", | ||
| 708 | + "properties": { | ||
| 709 | + "id": { | ||
| 710 | + "type": "integer", | ||
| 711 | + "format": "int64", | ||
| 712 | + "description": " ID" | ||
| 713 | + }, | ||
| 714 | + "type": { | ||
| 715 | + "type": "integer", | ||
| 716 | + "format": "int32", | ||
| 717 | + "description": " 系统分类" | ||
| 718 | + }, | ||
| 719 | + "title": { | ||
| 720 | + "type": "string", | ||
| 721 | + "description": " 标题" | ||
| 722 | + }, | ||
| 723 | + "content": { | ||
| 724 | + "type": "string", | ||
| 725 | + "description": " 内容" | ||
| 726 | + } | ||
| 727 | + }, | ||
| 728 | + "title": "MessageSystemItem", | ||
| 729 | + "required": [ | ||
| 730 | + "id", | ||
| 731 | + "type", | ||
| 732 | + "title", | ||
| 733 | + "content" | ||
| 734 | + ] | ||
| 735 | + }, | ||
| 736 | + "MessageSystemRequest": { | ||
| 737 | + "type": "object", | ||
| 738 | + "properties": { | ||
| 739 | + "page": { | ||
| 740 | + "type": "integer", | ||
| 741 | + "format": "int32" | ||
| 742 | + }, | ||
| 743 | + "size": { | ||
| 744 | + "type": "integer", | ||
| 745 | + "format": "int32" | ||
| 746 | + } | ||
| 747 | + }, | ||
| 748 | + "title": "MessageSystemRequest", | ||
| 749 | + "required": [ | ||
| 750 | + "page", | ||
| 751 | + "size" | ||
| 752 | + ] | ||
| 753 | + }, | ||
| 754 | + "MessageSystemResponse": { | ||
| 755 | + "type": "object", | ||
| 756 | + "properties": { | ||
| 757 | + "list": { | ||
| 758 | + "type": "array", | ||
| 759 | + "items": { | ||
| 760 | + "$ref": "#/definitions/MessageSystemItem" | ||
| 761 | + } | ||
| 762 | + }, | ||
| 763 | + "total": { | ||
| 764 | + "type": "integer", | ||
| 765 | + "format": "int64" | ||
| 766 | + } | ||
| 767 | + }, | ||
| 768 | + "title": "MessageSystemResponse", | ||
| 769 | + "required": [ | ||
| 770 | + "list", | ||
| 771 | + "total" | ||
| 772 | + ] | ||
| 773 | + }, | ||
| 774 | + "MiniUserApplyJoinCompanyRequest": { | ||
| 775 | + "type": "object", | ||
| 776 | + "properties": { | ||
| 777 | + "phone": { | ||
| 778 | + "type": "string" | ||
| 779 | + }, | ||
| 780 | + "code": { | ||
| 781 | + "type": "string" | ||
| 782 | + } | ||
| 783 | + }, | ||
| 784 | + "title": "MiniUserApplyJoinCompanyRequest", | ||
| 785 | + "required": [ | ||
| 786 | + "phone", | ||
| 787 | + "code" | ||
| 788 | + ] | ||
| 789 | + }, | ||
| 790 | + "MiniUserApplyJoinCompanyResponse": { | ||
| 791 | + "type": "object", | ||
| 792 | + "title": "MiniUserApplyJoinCompanyResponse" | ||
| 793 | + }, | ||
| 794 | + "MiniUserAuditRequest": { | ||
| 795 | + "type": "object", | ||
| 796 | + "properties": { | ||
| 797 | + "userId": { | ||
| 798 | + "type": "integer", | ||
| 799 | + "format": "int64", | ||
| 800 | + "description": " 用户ID" | ||
| 801 | + }, | ||
| 802 | + "status": { | ||
| 803 | + "type": "integer", | ||
| 804 | + "format": "int32", | ||
| 805 | + "description": " 审核状态 1:审核通过 2:拒绝" | ||
| 806 | + } | ||
| 807 | + }, | ||
| 808 | + "title": "MiniUserAuditRequest", | ||
| 809 | + "required": [ | ||
| 810 | + "userId", | ||
| 811 | + "status" | ||
| 812 | + ] | ||
| 813 | + }, | ||
| 814 | + "MiniUserDepartmentUsersRequest": { | ||
| 815 | + "type": "object", | ||
| 816 | + "title": "MiniUserDepartmentUsersRequest" | ||
| 817 | + }, | ||
| 818 | + "MiniUserDepartmentUsersResponse": { | ||
| 819 | + "type": "object", | ||
| 820 | + "properties": { | ||
| 821 | + "departments": { | ||
| 822 | + "type": "array", | ||
| 823 | + "items": { | ||
| 824 | + "$ref": "#/definitions/Department" | ||
| 825 | + } | ||
| 826 | + }, | ||
| 827 | + "users": { | ||
| 828 | + "type": "array", | ||
| 829 | + "items": { | ||
| 830 | + "$ref": "#/definitions/UserItem" | ||
| 831 | + } | ||
| 832 | + } | ||
| 833 | + }, | ||
| 834 | + "title": "MiniUserDepartmentUsersResponse", | ||
| 835 | + "required": [ | ||
| 836 | + "departments", | ||
| 837 | + "users" | ||
| 838 | + ] | ||
| 839 | + }, | ||
| 840 | + "MiniUserInfoRequest": { | ||
| 841 | + "type": "object", | ||
| 842 | + "title": "MiniUserInfoRequest" | ||
| 843 | + }, | ||
| 844 | + "MiniUserInfoResponse": { | ||
| 845 | + "type": "object", | ||
| 846 | + "properties": { | ||
| 847 | + "user": { | ||
| 848 | + "$ref": "#/definitions/UserItem", | ||
| 849 | + "description": " 用户信息" | ||
| 850 | + }, | ||
| 851 | + "totalArticle": { | ||
| 852 | + "type": "integer", | ||
| 853 | + "format": "int64", | ||
| 854 | + "description": " 累计信息发布" | ||
| 855 | + }, | ||
| 856 | + "totalLoved": { | ||
| 857 | + "type": "integer", | ||
| 858 | + "format": "int64", | ||
| 859 | + "description": " 累计收到的赞" | ||
| 860 | + }, | ||
| 861 | + "totalAccepted": { | ||
| 862 | + "type": "integer", | ||
| 863 | + "format": "int64", | ||
| 864 | + "description": " 累计被采纳" | ||
| 865 | + } | ||
| 866 | + }, | ||
| 867 | + "title": "MiniUserInfoResponse", | ||
| 868 | + "required": [ | ||
| 869 | + "user", | ||
| 870 | + "totalArticle", | ||
| 871 | + "totalLoved", | ||
| 872 | + "totalAccepted" | ||
| 873 | + ] | ||
| 874 | + }, | ||
| 875 | + "MiniUserLoginRequest": { | ||
| 876 | + "type": "object", | ||
| 877 | + "properties": { | ||
| 878 | + "loginType": { | ||
| 879 | + "type": "string", | ||
| 880 | + "description": " 登录类型 wechat-login whchat-phone-login phone-password-login phone-smscode-login" | ||
| 881 | + }, | ||
| 882 | + "wechatAuthcode": { | ||
| 883 | + "type": "string", | ||
| 884 | + "description": " 微信登录 授权码" | ||
| 885 | + }, | ||
| 886 | + "wechatEncryptedData": { | ||
| 887 | + "type": "string", | ||
| 888 | + "description": " 微信登录 加密数据" | ||
| 889 | + }, | ||
| 890 | + "wechatIV": { | ||
| 891 | + "type": "string", | ||
| 892 | + "description": " 微信登录 加密算法初始向量" | ||
| 893 | + }, | ||
| 894 | + "phone": { | ||
| 895 | + "type": "string", | ||
| 896 | + "description": " 手机号" | ||
| 897 | + }, | ||
| 898 | + "password": { | ||
| 899 | + "type": "string", | ||
| 900 | + "description": " 密码" | ||
| 901 | + }, | ||
| 902 | + "smsCode": { | ||
| 903 | + "type": "string", | ||
| 904 | + "description": " 短信验证码" | ||
| 905 | + } | ||
| 906 | + }, | ||
| 907 | + "title": "MiniUserLoginRequest", | ||
| 908 | + "required": [ | ||
| 909 | + "loginType" | ||
| 910 | + ] | ||
| 911 | + }, | ||
| 912 | + "MiniUserLoginResponse": { | ||
| 913 | + "type": "object", | ||
| 914 | + "properties": { | ||
| 915 | + "token": { | ||
| 916 | + "type": "string", | ||
| 917 | + "description": " x-token" | ||
| 918 | + }, | ||
| 919 | + "phone": { | ||
| 920 | + "type": "string", | ||
| 921 | + "description": " 手机号" | ||
| 922 | + }, | ||
| 923 | + "message": { | ||
| 924 | + "type": "string", | ||
| 925 | + "description": " 失败消息(审核中,注册成功等待审核)" | ||
| 926 | + }, | ||
| 927 | + "success": { | ||
| 928 | + "type": "boolean", | ||
| 929 | + "format": "boolean", | ||
| 930 | + "description": " 成功标识" | ||
| 931 | + } | ||
| 932 | + }, | ||
| 933 | + "title": "MiniUserLoginResponse", | ||
| 934 | + "required": [ | ||
| 935 | + "token", | ||
| 936 | + "phone", | ||
| 937 | + "message", | ||
| 938 | + "success" | ||
| 939 | + ] | ||
| 940 | + }, | ||
| 941 | + "User": { | ||
| 942 | + "type": "object", | ||
| 943 | + "properties": { | ||
| 944 | + "id": { | ||
| 945 | + "type": "integer", | ||
| 946 | + "format": "int64" | ||
| 947 | + }, | ||
| 948 | + "companyId": { | ||
| 949 | + "type": "integer", | ||
| 950 | + "format": "int64", | ||
| 951 | + "description": " 公司ID" | ||
| 952 | + }, | ||
| 953 | + "departmentId": { | ||
| 954 | + "type": "integer", | ||
| 955 | + "format": "int64", | ||
| 956 | + "description": " 部门ID" | ||
| 957 | + }, | ||
| 958 | + "name": { | ||
| 959 | + "type": "string", | ||
| 960 | + "description": " 名称" | ||
| 961 | + }, | ||
| 962 | + "avatar": { | ||
| 963 | + "type": "string", | ||
| 964 | + "description": " 头像" | ||
| 965 | + }, | ||
| 966 | + "position": { | ||
| 967 | + "type": "string", | ||
| 968 | + "description": " 职位" | ||
| 969 | + } | ||
| 970 | + }, | ||
| 971 | + "title": "User", | ||
| 972 | + "required": [ | ||
| 973 | + "id", | ||
| 974 | + "companyId", | ||
| 975 | + "departmentId", | ||
| 976 | + "name", | ||
| 977 | + "avatar", | ||
| 978 | + "position" | ||
| 979 | + ] | ||
| 980 | + }, | ||
| 981 | + "UserItem": { | ||
| 982 | + "type": "object", | ||
| 983 | + "properties": { | ||
| 984 | + "id": { | ||
| 985 | + "type": "integer", | ||
| 986 | + "format": "int64", | ||
| 987 | + "description": " 用户ID" | ||
| 988 | + }, | ||
| 989 | + "companyId": { | ||
| 990 | + "type": "integer", | ||
| 991 | + "format": "int64", | ||
| 992 | + "description": " 公司ID" | ||
| 993 | + }, | ||
| 994 | + "departmentId": { | ||
| 995 | + "type": "integer", | ||
| 996 | + "format": "int64", | ||
| 997 | + "description": " 部门ID" | ||
| 998 | + }, | ||
| 999 | + "roleId": { | ||
| 1000 | + "type": "array", | ||
| 1001 | + "items": { | ||
| 1002 | + "type": "integer", | ||
| 1003 | + "format": "int64" | ||
| 1004 | + }, | ||
| 1005 | + "description": " 角色" | ||
| 1006 | + }, | ||
| 1007 | + "flag": { | ||
| 1008 | + "type": "integer", | ||
| 1009 | + "format": "int32", | ||
| 1010 | + "description": " 标识 1:管理员 2:普通用户 (有绑定角色是管理员)" | ||
| 1011 | + }, | ||
| 1012 | + "name": { | ||
| 1013 | + "type": "string", | ||
| 1014 | + "description": " 名称" | ||
| 1015 | + }, | ||
| 1016 | + "avatar": { | ||
| 1017 | + "type": "string", | ||
| 1018 | + "description": " 头像" | ||
| 1019 | + }, | ||
| 1020 | + "phone": { | ||
| 1021 | + "type": "string", | ||
| 1022 | + "description": " 手机号 唯一" | ||
| 1023 | + }, | ||
| 1024 | + "position": { | ||
| 1025 | + "type": "string", | ||
| 1026 | + "description": " 职位" | ||
| 1027 | + }, | ||
| 1028 | + "enable": { | ||
| 1029 | + "type": "integer", | ||
| 1030 | + "format": "int32", | ||
| 1031 | + "description": " 启用状态 1:启用 2:禁用" | ||
| 1032 | + }, | ||
| 1033 | + "auditStatus": { | ||
| 1034 | + "type": "integer", | ||
| 1035 | + "format": "int32", | ||
| 1036 | + "description": " 审核状态 0:待审核 1:审核通过 2:拒绝" | ||
| 1037 | + }, | ||
| 1038 | + "followers": { | ||
| 1039 | + "type": "array", | ||
| 1040 | + "items": { | ||
| 1041 | + "type": "integer", | ||
| 1042 | + "format": "int64" | ||
| 1043 | + }, | ||
| 1044 | + "description": " 关注我的人 (冗余)" | ||
| 1045 | + }, | ||
| 1046 | + "following": { | ||
| 1047 | + "type": "array", | ||
| 1048 | + "items": { | ||
| 1049 | + "type": "integer", | ||
| 1050 | + "format": "int64" | ||
| 1051 | + }, | ||
| 1052 | + "description": " 我关注的人 (冗余)" | ||
| 1053 | + } | ||
| 1054 | + }, | ||
| 1055 | + "title": "UserItem", | ||
| 1056 | + "required": [ | ||
| 1057 | + "id", | ||
| 1058 | + "companyId", | ||
| 1059 | + "departmentId", | ||
| 1060 | + "roleId", | ||
| 1061 | + "flag", | ||
| 1062 | + "name", | ||
| 1063 | + "avatar", | ||
| 1064 | + "phone", | ||
| 1065 | + "position", | ||
| 1066 | + "enable", | ||
| 1067 | + "auditStatus", | ||
| 1068 | + "followers", | ||
| 1069 | + "following" | ||
| 1070 | + ] | ||
| 1071 | + }, | ||
| 1072 | + "UserSearchRequest": { | ||
| 1073 | + "type": "object", | ||
| 1074 | + "properties": { | ||
| 1075 | + "page": { | ||
| 1076 | + "type": "integer", | ||
| 1077 | + "format": "int32" | ||
| 1078 | + }, | ||
| 1079 | + "size": { | ||
| 1080 | + "type": "integer", | ||
| 1081 | + "format": "int32" | ||
| 1082 | + }, | ||
| 1083 | + "auditFlag": { | ||
| 1084 | + "$ref": "#/definitions/int", | ||
| 1085 | + "description": " 按审核状态 0:待审核 1:审核通过 2:拒绝" | ||
| 1086 | + } | ||
| 1087 | + }, | ||
| 1088 | + "title": "UserSearchRequest" | ||
| 1089 | + }, | ||
| 1090 | + "UserSearchResponse": { | ||
| 1091 | + "type": "object", | ||
| 1092 | + "properties": { | ||
| 1093 | + "list": { | ||
| 1094 | + "type": "array", | ||
| 1095 | + "items": { | ||
| 1096 | + "$ref": "#/definitions/UserItem" | ||
| 1097 | + } | ||
| 1098 | + }, | ||
| 1099 | + "total": { | ||
| 1100 | + "type": "integer", | ||
| 1101 | + "format": "int64" | ||
| 1102 | + } | ||
| 1103 | + }, | ||
| 1104 | + "title": "UserSearchResponse", | ||
| 1105 | + "required": [ | ||
| 1106 | + "list", | ||
| 1107 | + "total" | ||
| 1108 | + ] | ||
| 78 | } | 1109 | } |
| 79 | }, | 1110 | }, |
| 80 | "securityDefinitions": { | 1111 | "securityDefinitions": { |
| @@ -88,6 +88,7 @@ type( | @@ -88,6 +88,7 @@ type( | ||
| 88 | } | 88 | } |
| 89 | MiniUserAuditRequest{ | 89 | MiniUserAuditRequest{ |
| 90 | UserId int64 `json:"userId"` // 用户ID | 90 | UserId int64 `json:"userId"` // 用户ID |
| 91 | + Status int `json:"status"` // 审核状态 1:审核通过 2:拒绝 | ||
| 91 | } | 92 | } |
| 92 | MiniUserDepartmentUsersRequest{ | 93 | MiniUserDepartmentUsersRequest{ |
| 93 | 94 | ||
| @@ -97,6 +98,7 @@ type( | @@ -97,6 +98,7 @@ type( | ||
| 97 | Users []*UserItem `json:"users"` | 98 | Users []*UserItem `json:"users"` |
| 98 | } | 99 | } |
| 99 | UserItem { | 100 | UserItem { |
| 101 | + Id int64 `json:"id,omitempty"` // 用户ID | ||
| 100 | CompanyId int64 `json:"companyId,omitempty"` // 公司ID | 102 | CompanyId int64 `json:"companyId,omitempty"` // 公司ID |
| 101 | DepartmentId int64 `json:"departmentId,omitempty"` // 部门ID | 103 | DepartmentId int64 `json:"departmentId,omitempty"` // 部门ID |
| 102 | Roles []int64 `json:"roleId,omitempty"` // 角色 | 104 | Roles []int64 `json:"roleId,omitempty"` // 角色 |
| 1 | package company | 1 | package company |
| 2 | 2 | ||
| 3 | import ( | 3 | import ( |
| 4 | + "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/pkg/result" | ||
| 4 | "net/http" | 5 | "net/http" |
| 5 | 6 | ||
| 6 | "github.com/zeromicro/go-zero/rest/httpx" | 7 | "github.com/zeromicro/go-zero/rest/httpx" |
| @@ -19,10 +20,6 @@ func MiniCompanySearchHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { | @@ -19,10 +20,6 @@ func MiniCompanySearchHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { | ||
| 19 | 20 | ||
| 20 | l := company.NewMiniCompanySearchLogic(r.Context(), svcCtx) | 21 | l := company.NewMiniCompanySearchLogic(r.Context(), svcCtx) |
| 21 | resp, err := l.MiniCompanySearch(&req) | 22 | resp, err := l.MiniCompanySearch(&req) |
| 22 | - if err != nil { | ||
| 23 | - httpx.ErrorCtx(r.Context(), w, err) | ||
| 24 | - } else { | ||
| 25 | - httpx.OkJsonCtx(r.Context(), w, resp) | ||
| 26 | - } | 23 | + result.HttpResult(r, w, resp, err) |
| 27 | } | 24 | } |
| 28 | } | 25 | } |
| 1 | package company | 1 | package company |
| 2 | 2 | ||
| 3 | import ( | 3 | import ( |
| 4 | + "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/pkg/result" | ||
| 4 | "net/http" | 5 | "net/http" |
| 5 | 6 | ||
| 6 | "github.com/zeromicro/go-zero/rest/httpx" | 7 | "github.com/zeromicro/go-zero/rest/httpx" |
| @@ -19,10 +20,6 @@ func SystemCompanySearchHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { | @@ -19,10 +20,6 @@ func SystemCompanySearchHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { | ||
| 19 | 20 | ||
| 20 | l := company.NewSystemCompanySearchLogic(r.Context(), svcCtx) | 21 | l := company.NewSystemCompanySearchLogic(r.Context(), svcCtx) |
| 21 | resp, err := l.SystemCompanySearch(&req) | 22 | resp, err := l.SystemCompanySearch(&req) |
| 22 | - if err != nil { | ||
| 23 | - httpx.ErrorCtx(r.Context(), w, err) | ||
| 24 | - } else { | ||
| 25 | - httpx.OkJsonCtx(r.Context(), w, resp) | ||
| 26 | - } | 23 | + result.HttpResult(r, w, resp, err) |
| 27 | } | 24 | } |
| 28 | } | 25 | } |
| 1 | package user | 1 | package user |
| 2 | 2 | ||
| 3 | import ( | 3 | import ( |
| 4 | + "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/pkg/result" | ||
| 4 | "net/http" | 5 | "net/http" |
| 5 | 6 | ||
| 6 | "github.com/zeromicro/go-zero/rest/httpx" | 7 | "github.com/zeromicro/go-zero/rest/httpx" |
| @@ -19,10 +20,6 @@ func MiniUserApplyJoinCompanyHandler(svcCtx *svc.ServiceContext) http.HandlerFun | @@ -19,10 +20,6 @@ func MiniUserApplyJoinCompanyHandler(svcCtx *svc.ServiceContext) http.HandlerFun | ||
| 19 | 20 | ||
| 20 | l := user.NewMiniUserApplyJoinCompanyLogic(r.Context(), svcCtx) | 21 | l := user.NewMiniUserApplyJoinCompanyLogic(r.Context(), svcCtx) |
| 21 | resp, err := l.MiniUserApplyJoinCompany(&req) | 22 | resp, err := l.MiniUserApplyJoinCompany(&req) |
| 22 | - if err != nil { | ||
| 23 | - httpx.ErrorCtx(r.Context(), w, err) | ||
| 24 | - } else { | ||
| 25 | - httpx.OkJsonCtx(r.Context(), w, resp) | ||
| 26 | - } | 23 | + result.HttpResult(r, w, resp, err) |
| 27 | } | 24 | } |
| 28 | } | 25 | } |
| 1 | package user | 1 | package user |
| 2 | 2 | ||
| 3 | import ( | 3 | import ( |
| 4 | + "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/pkg/result" | ||
| 4 | "net/http" | 5 | "net/http" |
| 5 | 6 | ||
| 6 | "github.com/zeromicro/go-zero/rest/httpx" | 7 | "github.com/zeromicro/go-zero/rest/httpx" |
| @@ -19,10 +20,6 @@ func MiniUserAuditHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { | @@ -19,10 +20,6 @@ func MiniUserAuditHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { | ||
| 19 | 20 | ||
| 20 | l := user.NewMiniUserAuditLogic(r.Context(), svcCtx) | 21 | l := user.NewMiniUserAuditLogic(r.Context(), svcCtx) |
| 21 | err := l.MiniUserAudit(&req) | 22 | err := l.MiniUserAudit(&req) |
| 22 | - if err != nil { | ||
| 23 | - httpx.ErrorCtx(r.Context(), w, err) | ||
| 24 | - } else { | ||
| 25 | - httpx.Ok(w) | ||
| 26 | - } | 23 | + result.HttpResult(r, w, struct{}{}, err) |
| 27 | } | 24 | } |
| 28 | } | 25 | } |
| 1 | package user | 1 | package user |
| 2 | 2 | ||
| 3 | import ( | 3 | import ( |
| 4 | + "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/pkg/result" | ||
| 4 | "net/http" | 5 | "net/http" |
| 5 | 6 | ||
| 6 | "github.com/zeromicro/go-zero/rest/httpx" | 7 | "github.com/zeromicro/go-zero/rest/httpx" |
| @@ -19,10 +20,6 @@ func MiniUserAuditListHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { | @@ -19,10 +20,6 @@ func MiniUserAuditListHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { | ||
| 19 | 20 | ||
| 20 | l := user.NewMiniUserAuditListLogic(r.Context(), svcCtx) | 21 | l := user.NewMiniUserAuditListLogic(r.Context(), svcCtx) |
| 21 | resp, err := l.MiniUserAuditList(&req) | 22 | resp, err := l.MiniUserAuditList(&req) |
| 22 | - if err != nil { | ||
| 23 | - httpx.ErrorCtx(r.Context(), w, err) | ||
| 24 | - } else { | ||
| 25 | - httpx.OkJsonCtx(r.Context(), w, resp) | ||
| 26 | - } | 23 | + result.HttpResult(r, w, resp, err) |
| 27 | } | 24 | } |
| 28 | } | 25 | } |
| 1 | package user | 1 | package user |
| 2 | 2 | ||
| 3 | import ( | 3 | import ( |
| 4 | + "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/pkg/result" | ||
| 4 | "net/http" | 5 | "net/http" |
| 5 | 6 | ||
| 6 | "github.com/zeromicro/go-zero/rest/httpx" | 7 | "github.com/zeromicro/go-zero/rest/httpx" |
| @@ -19,10 +20,6 @@ func MiniUserDepartmentUsersHandler(svcCtx *svc.ServiceContext) http.HandlerFunc | @@ -19,10 +20,6 @@ func MiniUserDepartmentUsersHandler(svcCtx *svc.ServiceContext) http.HandlerFunc | ||
| 19 | 20 | ||
| 20 | l := user.NewMiniUserDepartmentUsersLogic(r.Context(), svcCtx) | 21 | l := user.NewMiniUserDepartmentUsersLogic(r.Context(), svcCtx) |
| 21 | resp, err := l.MiniUserDepartmentUsers(&req) | 22 | resp, err := l.MiniUserDepartmentUsers(&req) |
| 22 | - if err != nil { | ||
| 23 | - httpx.ErrorCtx(r.Context(), w, err) | ||
| 24 | - } else { | ||
| 25 | - httpx.OkJsonCtx(r.Context(), w, resp) | ||
| 26 | - } | 23 | + result.HttpResult(r, w, resp, err) |
| 27 | } | 24 | } |
| 28 | } | 25 | } |
| 1 | package user | 1 | package user |
| 2 | 2 | ||
| 3 | import ( | 3 | import ( |
| 4 | + "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/pkg/result" | ||
| 4 | "net/http" | 5 | "net/http" |
| 5 | 6 | ||
| 6 | "github.com/zeromicro/go-zero/rest/httpx" | 7 | "github.com/zeromicro/go-zero/rest/httpx" |
| @@ -19,10 +20,6 @@ func MiniUserFollowHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { | @@ -19,10 +20,6 @@ func MiniUserFollowHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { | ||
| 19 | 20 | ||
| 20 | l := user.NewMiniUserFollowLogic(r.Context(), svcCtx) | 21 | l := user.NewMiniUserFollowLogic(r.Context(), svcCtx) |
| 21 | err := l.MiniUserFollow(&req) | 22 | err := l.MiniUserFollow(&req) |
| 22 | - if err != nil { | ||
| 23 | - httpx.ErrorCtx(r.Context(), w, err) | ||
| 24 | - } else { | ||
| 25 | - httpx.Ok(w) | ||
| 26 | - } | 23 | + result.HttpResult(r, w, struct{}{}, err) |
| 27 | } | 24 | } |
| 28 | } | 25 | } |
| 1 | package user | 1 | package user |
| 2 | 2 | ||
| 3 | import ( | 3 | import ( |
| 4 | + "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/pkg/result" | ||
| 4 | "net/http" | 5 | "net/http" |
| 5 | 6 | ||
| 6 | "github.com/zeromicro/go-zero/rest/httpx" | 7 | "github.com/zeromicro/go-zero/rest/httpx" |
| @@ -19,10 +20,6 @@ func MiniUserFollowerHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { | @@ -19,10 +20,6 @@ func MiniUserFollowerHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { | ||
| 19 | 20 | ||
| 20 | l := user.NewMiniUserFollowerLogic(r.Context(), svcCtx) | 21 | l := user.NewMiniUserFollowerLogic(r.Context(), svcCtx) |
| 21 | resp, err := l.MiniUserFollower(&req) | 22 | resp, err := l.MiniUserFollower(&req) |
| 22 | - if err != nil { | ||
| 23 | - httpx.ErrorCtx(r.Context(), w, err) | ||
| 24 | - } else { | ||
| 25 | - httpx.OkJsonCtx(r.Context(), w, resp) | ||
| 26 | - } | 23 | + result.HttpResult(r, w, resp, err) |
| 27 | } | 24 | } |
| 28 | } | 25 | } |
| 1 | package user | 1 | package user |
| 2 | 2 | ||
| 3 | import ( | 3 | import ( |
| 4 | + "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/pkg/result" | ||
| 4 | "net/http" | 5 | "net/http" |
| 5 | 6 | ||
| 6 | "github.com/zeromicro/go-zero/rest/httpx" | 7 | "github.com/zeromicro/go-zero/rest/httpx" |
| @@ -19,10 +20,6 @@ func MiniUserFollowingHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { | @@ -19,10 +20,6 @@ func MiniUserFollowingHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { | ||
| 19 | 20 | ||
| 20 | l := user.NewMiniUserFollowingLogic(r.Context(), svcCtx) | 21 | l := user.NewMiniUserFollowingLogic(r.Context(), svcCtx) |
| 21 | resp, err := l.MiniUserFollowing(&req) | 22 | resp, err := l.MiniUserFollowing(&req) |
| 22 | - if err != nil { | ||
| 23 | - httpx.ErrorCtx(r.Context(), w, err) | ||
| 24 | - } else { | ||
| 25 | - httpx.OkJsonCtx(r.Context(), w, resp) | ||
| 26 | - } | 23 | + result.HttpResult(r, w, resp, err) |
| 27 | } | 24 | } |
| 28 | } | 25 | } |
| 1 | package user | 1 | package user |
| 2 | 2 | ||
| 3 | import ( | 3 | import ( |
| 4 | + "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/pkg/result" | ||
| 4 | "net/http" | 5 | "net/http" |
| 5 | 6 | ||
| 6 | "github.com/zeromicro/go-zero/rest/httpx" | 7 | "github.com/zeromicro/go-zero/rest/httpx" |
| @@ -19,10 +20,6 @@ func MiniUserInfoHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { | @@ -19,10 +20,6 @@ func MiniUserInfoHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { | ||
| 19 | 20 | ||
| 20 | l := user.NewMiniUserInfoLogic(r.Context(), svcCtx) | 21 | l := user.NewMiniUserInfoLogic(r.Context(), svcCtx) |
| 21 | resp, err := l.MiniUserInfo(&req) | 22 | resp, err := l.MiniUserInfo(&req) |
| 22 | - if err != nil { | ||
| 23 | - httpx.ErrorCtx(r.Context(), w, err) | ||
| 24 | - } else { | ||
| 25 | - httpx.OkJsonCtx(r.Context(), w, resp) | ||
| 26 | - } | 23 | + result.HttpResult(r, w, resp, err) |
| 27 | } | 24 | } |
| 28 | } | 25 | } |
| 1 | package user | 1 | package user |
| 2 | 2 | ||
| 3 | import ( | 3 | import ( |
| 4 | + "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/pkg/result" | ||
| 4 | "net/http" | 5 | "net/http" |
| 5 | 6 | ||
| 6 | "github.com/zeromicro/go-zero/rest/httpx" | 7 | "github.com/zeromicro/go-zero/rest/httpx" |
| @@ -19,10 +20,6 @@ func MiniUserLoginHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { | @@ -19,10 +20,6 @@ func MiniUserLoginHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { | ||
| 19 | 20 | ||
| 20 | l := user.NewMiniUserLoginLogic(r.Context(), svcCtx) | 21 | l := user.NewMiniUserLoginLogic(r.Context(), svcCtx) |
| 21 | resp, err := l.MiniUserLogin(&req) | 22 | resp, err := l.MiniUserLogin(&req) |
| 22 | - if err != nil { | ||
| 23 | - httpx.ErrorCtx(r.Context(), w, err) | ||
| 24 | - } else { | ||
| 25 | - httpx.OkJsonCtx(r.Context(), w, resp) | ||
| 26 | - } | 23 | + result.HttpResult(r, w, resp, err) |
| 27 | } | 24 | } |
| 28 | } | 25 | } |
| 1 | package user | 1 | package user |
| 2 | 2 | ||
| 3 | import ( | 3 | import ( |
| 4 | + "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/pkg/result" | ||
| 4 | "net/http" | 5 | "net/http" |
| 5 | 6 | ||
| 6 | "github.com/zeromicro/go-zero/rest/httpx" | 7 | "github.com/zeromicro/go-zero/rest/httpx" |
| @@ -19,10 +20,6 @@ func MiniUserUnFollowHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { | @@ -19,10 +20,6 @@ func MiniUserUnFollowHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { | ||
| 19 | 20 | ||
| 20 | l := user.NewMiniUserUnFollowLogic(r.Context(), svcCtx) | 21 | l := user.NewMiniUserUnFollowLogic(r.Context(), svcCtx) |
| 21 | err := l.MiniUserUnFollow(&req) | 22 | err := l.MiniUserUnFollow(&req) |
| 22 | - if err != nil { | ||
| 23 | - httpx.ErrorCtx(r.Context(), w, err) | ||
| 24 | - } else { | ||
| 25 | - httpx.Ok(w) | ||
| 26 | - } | 23 | + result.HttpResult(r, w, struct{}{}, err) |
| 27 | } | 24 | } |
| 28 | } | 25 | } |
| @@ -2,6 +2,10 @@ package user | @@ -2,6 +2,10 @@ package user | ||
| 2 | 2 | ||
| 3 | import ( | 3 | import ( |
| 4 | "context" | 4 | "context" |
| 5 | + "errors" | ||
| 6 | + "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/interanl/pkg/db/transaction" | ||
| 7 | + "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/interanl/pkg/domain" | ||
| 8 | + "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/pkg/xerr" | ||
| 5 | 9 | ||
| 6 | "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/api/internal/svc" | 10 | "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/api/internal/svc" |
| 7 | "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/api/internal/types" | 11 | "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/api/internal/types" |
| @@ -24,7 +28,46 @@ func NewMiniUserApplyJoinCompanyLogic(ctx context.Context, svcCtx *svc.ServiceCo | @@ -24,7 +28,46 @@ func NewMiniUserApplyJoinCompanyLogic(ctx context.Context, svcCtx *svc.ServiceCo | ||
| 24 | } | 28 | } |
| 25 | 29 | ||
| 26 | func (l *MiniUserApplyJoinCompanyLogic) MiniUserApplyJoinCompany(req *types.MiniUserApplyJoinCompanyRequest) (resp *types.MiniUserApplyJoinCompanyResponse, err error) { | 30 | func (l *MiniUserApplyJoinCompanyLogic) MiniUserApplyJoinCompany(req *types.MiniUserApplyJoinCompanyRequest) (resp *types.MiniUserApplyJoinCompanyResponse, err error) { |
| 27 | - // todo: add your logic here and delete this line | ||
| 28 | - | 31 | + var ( |
| 32 | + conn = l.svcCtx.DefaultDBConn() | ||
| 33 | + company *domain.Company | ||
| 34 | + user *domain.User | ||
| 35 | + ) | ||
| 36 | + if company, err = l.svcCtx.CompanyRepository.FindOneByCode(l.ctx, conn, req.Code); err != nil { | ||
| 37 | + return nil, xerr.NewErrMsgErr("公司不存在", err) | ||
| 38 | + } | ||
| 39 | + if user, err = l.svcCtx.UserRepository.FindOneByCompanyIdAndPhone(l.ctx, conn, company.Id, req.Phone, []int{domain.UserAuditStatusWait, domain.UserAuditStatusPassed}); err != nil { | ||
| 40 | + if errors.Is(err, domain.ErrNotFound) { | ||
| 41 | + err = nil | ||
| 42 | + } | ||
| 43 | + } | ||
| 44 | + if err != nil { | ||
| 45 | + return nil, xerr.NewErrMsgErr("申请失败", err) | ||
| 46 | + } | ||
| 47 | + if user != nil { | ||
| 48 | + if user.AuditStatus == domain.UserAuditStatusWait { | ||
| 49 | + return nil, xerr.NewErrMsgErr("已申请,待审核中", err) | ||
| 50 | + } | ||
| 51 | + if user.AuditStatus == domain.UserAuditStatusPassed { | ||
| 52 | + return nil, xerr.NewErrMsgErr("公司已申请", err) | ||
| 53 | + } | ||
| 54 | + } | ||
| 55 | + if err = transaction.UseTrans(l.ctx, l.svcCtx.DB, func(ctx context.Context, conn transaction.Conn) error { | ||
| 56 | + user = &domain.User{ | ||
| 57 | + CompanyId: company.Id, | ||
| 58 | + Phone: req.Phone, | ||
| 59 | + Enable: domain.UserEnable, | ||
| 60 | + Roles: make([]int64, 0), | ||
| 61 | + Follower: make([]int64, 0), | ||
| 62 | + Following: make([]int64, 0), | ||
| 63 | + } | ||
| 64 | + if user, err = l.svcCtx.UserRepository.Insert(ctx, conn, user); err != nil { | ||
| 65 | + return err | ||
| 66 | + } | ||
| 67 | + return nil | ||
| 68 | + }, true); err != nil { | ||
| 69 | + return nil, xerr.NewErrMsgErr("申请失败", err) | ||
| 70 | + } | ||
| 71 | + resp = &types.MiniUserApplyJoinCompanyResponse{} | ||
| 29 | return | 72 | return |
| 30 | } | 73 | } |
| @@ -2,7 +2,6 @@ package user | @@ -2,7 +2,6 @@ package user | ||
| 2 | 2 | ||
| 3 | import ( | 3 | import ( |
| 4 | "context" | 4 | "context" |
| 5 | - | ||
| 6 | "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/api/internal/svc" | 5 | "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/api/internal/svc" |
| 7 | "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/api/internal/types" | 6 | "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/api/internal/types" |
| 8 | 7 | ||
| @@ -24,7 +23,5 @@ func NewMiniUserAuditListLogic(ctx context.Context, svcCtx *svc.ServiceContext) | @@ -24,7 +23,5 @@ func NewMiniUserAuditListLogic(ctx context.Context, svcCtx *svc.ServiceContext) | ||
| 24 | } | 23 | } |
| 25 | 24 | ||
| 26 | func (l *MiniUserAuditListLogic) MiniUserAuditList(req *types.UserSearchRequest) (resp *types.UserSearchResponse, err error) { | 25 | func (l *MiniUserAuditListLogic) MiniUserAuditList(req *types.UserSearchRequest) (resp *types.UserSearchResponse, err error) { |
| 27 | - // todo: add your logic here and delete this line | ||
| 28 | - | ||
| 29 | return | 26 | return |
| 30 | } | 27 | } |
| @@ -2,6 +2,9 @@ package user | @@ -2,6 +2,9 @@ package user | ||
| 2 | 2 | ||
| 3 | import ( | 3 | import ( |
| 4 | "context" | 4 | "context" |
| 5 | + "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/interanl/pkg/db/transaction" | ||
| 6 | + "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/interanl/pkg/domain" | ||
| 7 | + "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/pkg/xerr" | ||
| 5 | 8 | ||
| 6 | "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/api/internal/svc" | 9 | "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/api/internal/svc" |
| 7 | "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/api/internal/types" | 10 | "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/api/internal/types" |
| @@ -23,8 +26,24 @@ func NewMiniUserAuditLogic(ctx context.Context, svcCtx *svc.ServiceContext) *Min | @@ -23,8 +26,24 @@ func NewMiniUserAuditLogic(ctx context.Context, svcCtx *svc.ServiceContext) *Min | ||
| 23 | } | 26 | } |
| 24 | } | 27 | } |
| 25 | 28 | ||
| 26 | -func (l *MiniUserAuditLogic) MiniUserAudit(req *types.MiniUserAuditRequest) error { | ||
| 27 | - // todo: add your logic here and delete this line | ||
| 28 | - | 29 | +func (l *MiniUserAuditLogic) MiniUserAudit(req *types.MiniUserAuditRequest) (err error) { |
| 30 | + var ( | ||
| 31 | + conn = l.svcCtx.DefaultDBConn() | ||
| 32 | + user *domain.User | ||
| 33 | + ) | ||
| 34 | + if user, err = l.svcCtx.UserRepository.FindOne(l.ctx, conn, req.UserId); err != nil { | ||
| 35 | + return xerr.NewErrMsgErr("用户不存在", err) | ||
| 36 | + } | ||
| 37 | + if err = transaction.UseTrans(l.ctx, l.svcCtx.DB, func(ctx context.Context, conn transaction.Conn) error { | ||
| 38 | + if err = user.Audit(req.Status); err != nil { | ||
| 39 | + return err | ||
| 40 | + } | ||
| 41 | + if user, err = l.svcCtx.UserRepository.UpdateWithVersion(ctx, conn, user); err != nil { | ||
| 42 | + return err | ||
| 43 | + } | ||
| 44 | + return nil | ||
| 45 | + }, true); err != nil { | ||
| 46 | + return xerr.NewErrMsgErr("审核失败", err) | ||
| 47 | + } | ||
| 29 | return nil | 48 | return nil |
| 30 | } | 49 | } |
| @@ -2,6 +2,9 @@ package user | @@ -2,6 +2,9 @@ package user | ||
| 2 | 2 | ||
| 3 | import ( | 3 | import ( |
| 4 | "context" | 4 | "context" |
| 5 | + "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/interanl/pkg/domain" | ||
| 6 | + "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/pkg/contextdata" | ||
| 7 | + "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/pkg/xerr" | ||
| 5 | 8 | ||
| 6 | "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/api/internal/svc" | 9 | "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/api/internal/svc" |
| 7 | "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/api/internal/types" | 10 | "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/api/internal/types" |
| @@ -24,7 +27,19 @@ func NewMiniUserInfoLogic(ctx context.Context, svcCtx *svc.ServiceContext) *Mini | @@ -24,7 +27,19 @@ func NewMiniUserInfoLogic(ctx context.Context, svcCtx *svc.ServiceContext) *Mini | ||
| 24 | } | 27 | } |
| 25 | 28 | ||
| 26 | func (l *MiniUserInfoLogic) MiniUserInfo(req *types.MiniUserInfoRequest) (resp *types.MiniUserInfoResponse, err error) { | 29 | func (l *MiniUserInfoLogic) MiniUserInfo(req *types.MiniUserInfoRequest) (resp *types.MiniUserInfoResponse, err error) { |
| 27 | - // todo: add your logic here and delete this line | ||
| 28 | - | 30 | + var ( |
| 31 | + userToken = contextdata.GetUserTokenFromCtx(l.ctx) | ||
| 32 | + user *domain.User | ||
| 33 | + conn = l.svcCtx.DefaultDBConn() | ||
| 34 | + ) | ||
| 35 | + if user, err = l.svcCtx.UserRepository.FindOne(l.ctx, conn, userToken.UserId); err != nil { | ||
| 36 | + return nil, xerr.NewErrMsgErr("用户不存在", err) | ||
| 37 | + } | ||
| 38 | + resp = &types.MiniUserInfoResponse{ | ||
| 39 | + User: &types.UserItem{ | ||
| 40 | + Id: user.Id, | ||
| 41 | + Name: user.Name, | ||
| 42 | + }, | ||
| 43 | + } | ||
| 29 | return | 44 | return |
| 30 | } | 45 | } |
| @@ -2,6 +2,13 @@ package user | @@ -2,6 +2,13 @@ package user | ||
| 2 | 2 | ||
| 3 | import ( | 3 | import ( |
| 4 | "context" | 4 | "context" |
| 5 | + "fmt" | ||
| 6 | + "github.com/silenceper/wechat/v2" | ||
| 7 | + "github.com/silenceper/wechat/v2/cache" | ||
| 8 | + miniConfig "github.com/silenceper/wechat/v2/miniprogram/config" | ||
| 9 | + "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/interanl/pkg/domain" | ||
| 10 | + "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/pkg/tool" | ||
| 11 | + "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/pkg/xerr" | ||
| 5 | 12 | ||
| 6 | "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/api/internal/svc" | 13 | "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/api/internal/svc" |
| 7 | "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/api/internal/types" | 14 | "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/api/internal/types" |
| @@ -24,7 +31,106 @@ func NewMiniUserLoginLogic(ctx context.Context, svcCtx *svc.ServiceContext) *Min | @@ -24,7 +31,106 @@ func NewMiniUserLoginLogic(ctx context.Context, svcCtx *svc.ServiceContext) *Min | ||
| 24 | } | 31 | } |
| 25 | 32 | ||
| 26 | func (l *MiniUserLoginLogic) MiniUserLogin(req *types.MiniUserLoginRequest) (resp *types.MiniUserLoginResponse, err error) { | 33 | func (l *MiniUserLoginLogic) MiniUserLogin(req *types.MiniUserLoginRequest) (resp *types.MiniUserLoginResponse, err error) { |
| 27 | - // todo: add your logic here and delete this line | ||
| 28 | - | 34 | + var ( |
| 35 | + loginInfo *domain.LoginInfo | ||
| 36 | + token string | ||
| 37 | + loginCreator domain.LoginCreator = WXStuClientLogin{l: l} | ||
| 38 | + ) | ||
| 39 | + switch req.LoginType { | ||
| 40 | + case domain.LoginTypeWechatLogin: | ||
| 41 | + loginInfo, err = loginCreator.WechatLogin(domain.WechatLoginRequest{Code: req.WechatAuthCode, EncryptedData: req.WechatEncryptedData, IV: req.WechatIV}) | ||
| 42 | + case domain.LoginTypeWechatPhoneLogin: | ||
| 43 | + loginInfo, err = loginCreator.WechatPhoneLogin(domain.WechatLoginRequest{Code: req.WechatAuthCode, EncryptedData: req.WechatEncryptedData, IV: req.WechatIV}) | ||
| 44 | + case domain.LoginTypePhoneSmsCodeLogin: | ||
| 45 | + loginInfo, err = loginCreator.PhoneSmsCodeLogin(req.Phone, req.SmsCode) | ||
| 46 | + case domain.LoginTypePhonePasswordLogin: | ||
| 47 | + loginInfo, err = loginCreator.PhonePasswordLogin(req.Phone, req.Password) | ||
| 48 | + } | ||
| 49 | + if err != nil { | ||
| 50 | + return | ||
| 51 | + } | ||
| 52 | + var userJwtToken = tool.UserToken{} | ||
| 53 | + if loginInfo.User != nil { | ||
| 54 | + userJwtToken.UserId = loginInfo.User.Id | ||
| 55 | + userJwtToken.CompanyId = loginInfo.User.CompanyId | ||
| 56 | + userJwtToken.ClientType = "mini" | ||
| 57 | + } | ||
| 58 | + token, err = userJwtToken.GenerateToken(l.svcCtx.Config.MiniAuth.AccessSecret, l.svcCtx.Config.MiniAuth.AccessExpire) | ||
| 59 | + if err != nil { | ||
| 60 | + return nil, xerr.NewErrMsgErr("登录失败", err) | ||
| 61 | + } | ||
| 62 | + resp = &types.MiniUserLoginResponse{ | ||
| 63 | + Token: token, | ||
| 64 | + Phone: loginInfo.Phone, | ||
| 65 | + Success: true, | ||
| 66 | + } | ||
| 67 | + if loginInfo.User == nil { | ||
| 68 | + resp.Success = false | ||
| 69 | + } | ||
| 29 | return | 70 | return |
| 30 | } | 71 | } |
| 72 | + | ||
| 73 | +type WXStuClientLogin struct { | ||
| 74 | + l *MiniUserLoginLogic | ||
| 75 | +} | ||
| 76 | + | ||
| 77 | +func (c WXStuClientLogin) WechatPhoneLogin(r domain.WechatLoginRequest) (*domain.LoginInfo, error) { | ||
| 78 | + code := r.Code | ||
| 79 | + miniprogram := wechat.NewWechat().GetMiniProgram(&miniConfig.Config{ | ||
| 80 | + AppID: c.l.svcCtx.Config.Wechat.AppID, | ||
| 81 | + AppSecret: c.l.svcCtx.Config.Wechat.AppSecret, | ||
| 82 | + Cache: cache.NewMemory(), | ||
| 83 | + }) | ||
| 84 | + authResult, err := miniprogram.GetAuth().GetPhoneNumber(code) | ||
| 85 | + if err != nil || authResult.ErrCode != 0 || authResult.PhoneInfo.PhoneNumber == "" { | ||
| 86 | + return nil, xerr.NewCodeErrMsg(xerr.ErrWxMiniAuthFailError, nil, fmt.Sprintf("发起授权请求失败1 err : %v , code : %s , authResult : %+v", err, code, authResult)) | ||
| 87 | + } | ||
| 88 | + var ( | ||
| 89 | + users []*domain.User | ||
| 90 | + phone = authResult.PhoneInfo.PhoneNumber | ||
| 91 | + ) | ||
| 92 | + conn := c.l.svcCtx.DefaultDBConn() | ||
| 93 | + _, users, err = c.l.svcCtx.UserRepository.Find(c.l.ctx, conn, domain.NewQueryOptions(). | ||
| 94 | + MustWithKV("phone", phone). | ||
| 95 | + MustWithKV("auditStatus", []int{domain.UserAuditStatusPassed})) | ||
| 96 | + if err != nil { | ||
| 97 | + return nil, err | ||
| 98 | + } | ||
| 99 | + response := &domain.LoginInfo{ | ||
| 100 | + Phone: phone, | ||
| 101 | + } | ||
| 102 | + if len(users) != 0 { | ||
| 103 | + response.User = users[0] | ||
| 104 | + } | ||
| 105 | + return response, nil | ||
| 106 | +} | ||
| 107 | + | ||
| 108 | +func (c WXStuClientLogin) WechatLogin(r domain.WechatLoginRequest) (*domain.LoginInfo, error) { | ||
| 109 | + return nil, nil | ||
| 110 | +} | ||
| 111 | + | ||
| 112 | +func (c WXStuClientLogin) PhonePasswordLogin(phone string, password string) (*domain.LoginInfo, error) { | ||
| 113 | + panic("implement me") | ||
| 114 | +} | ||
| 115 | + | ||
| 116 | +func (c WXStuClientLogin) PhoneSmsCodeLogin(phone string, code string) (*domain.LoginInfo, error) { | ||
| 117 | + var ( | ||
| 118 | + users []*domain.User | ||
| 119 | + err error | ||
| 120 | + ) | ||
| 121 | + conn := c.l.svcCtx.DefaultDBConn() | ||
| 122 | + _, users, err = c.l.svcCtx.UserRepository.Find(c.l.ctx, conn, domain.NewQueryOptions(). | ||
| 123 | + MustWithKV("phone", phone). | ||
| 124 | + MustWithKV("auditStatus", []int{domain.UserAuditStatusPassed}). | ||
| 125 | + WithFindOnly()) | ||
| 126 | + if err != nil { | ||
| 127 | + return nil, err | ||
| 128 | + } | ||
| 129 | + response := &domain.LoginInfo{ | ||
| 130 | + Phone: phone, | ||
| 131 | + } | ||
| 132 | + if len(users) != 0 { | ||
| 133 | + response.User = users[0] | ||
| 134 | + } | ||
| 135 | + return response, nil | ||
| 136 | +} |
| @@ -100,6 +100,7 @@ type MiniUserApplyJoinCompanyResponse struct { | @@ -100,6 +100,7 @@ type MiniUserApplyJoinCompanyResponse struct { | ||
| 100 | 100 | ||
| 101 | type MiniUserAuditRequest struct { | 101 | type MiniUserAuditRequest struct { |
| 102 | UserId int64 `json:"userId"` // 用户ID | 102 | UserId int64 `json:"userId"` // 用户ID |
| 103 | + Status int `json:"status"` // 审核状态 1:审核通过 2:拒绝 | ||
| 103 | } | 104 | } |
| 104 | 105 | ||
| 105 | type MiniUserDepartmentUsersRequest struct { | 106 | type MiniUserDepartmentUsersRequest struct { |
| @@ -111,6 +112,7 @@ type MiniUserDepartmentUsersResponse struct { | @@ -111,6 +112,7 @@ type MiniUserDepartmentUsersResponse struct { | ||
| 111 | } | 112 | } |
| 112 | 113 | ||
| 113 | type UserItem struct { | 114 | type UserItem struct { |
| 115 | + Id int64 `json:"id,omitempty"` // 用户ID | ||
| 114 | CompanyId int64 `json:"companyId,omitempty"` // 公司ID | 116 | CompanyId int64 `json:"companyId,omitempty"` // 公司ID |
| 115 | DepartmentId int64 `json:"departmentId,omitempty"` // 部门ID | 117 | DepartmentId int64 `json:"departmentId,omitempty"` // 部门ID |
| 116 | Roles []int64 `json:"roleId,omitempty"` // 角色 | 118 | Roles []int64 `json:"roleId,omitempty"` // 角色 |
| @@ -111,6 +111,25 @@ func (repository *CompanyRepository) FindOne(ctx context.Context, conn transacti | @@ -111,6 +111,25 @@ func (repository *CompanyRepository) FindOne(ctx context.Context, conn transacti | ||
| 111 | return repository.ModelToDomainModel(m) | 111 | return repository.ModelToDomainModel(m) |
| 112 | } | 112 | } |
| 113 | 113 | ||
| 114 | +func (repository *CompanyRepository) FindOneByCode(ctx context.Context, conn transaction.Conn, code string) (*domain.Company, error) { | ||
| 115 | + var ( | ||
| 116 | + err error | ||
| 117 | + tx = conn.DB() | ||
| 118 | + m = new(models.Company) | ||
| 119 | + ) | ||
| 120 | + queryFunc := func() (interface{}, error) { | ||
| 121 | + tx = tx.Model(m).Where("code = ?", code).First(m) | ||
| 122 | + if errors.Is(tx.Error, gorm.ErrRecordNotFound) { | ||
| 123 | + return nil, domain.ErrNotFound | ||
| 124 | + } | ||
| 125 | + return m, tx.Error | ||
| 126 | + } | ||
| 127 | + if _, err = repository.Query(queryFunc); err != nil { | ||
| 128 | + return nil, err | ||
| 129 | + } | ||
| 130 | + return repository.ModelToDomainModel(m) | ||
| 131 | +} | ||
| 132 | + | ||
| 114 | func (repository *CompanyRepository) Find(ctx context.Context, conn transaction.Conn, queryOptions map[string]interface{}) (int64, []*domain.Company, error) { | 133 | func (repository *CompanyRepository) Find(ctx context.Context, conn transaction.Conn, queryOptions map[string]interface{}) (int64, []*domain.Company, error) { |
| 115 | var ( | 134 | var ( |
| 116 | tx = conn.DB() | 135 | tx = conn.DB() |
| @@ -111,6 +111,28 @@ func (repository *UserRepository) FindOne(ctx context.Context, conn transaction. | @@ -111,6 +111,28 @@ func (repository *UserRepository) FindOne(ctx context.Context, conn transaction. | ||
| 111 | return repository.ModelToDomainModel(m) | 111 | return repository.ModelToDomainModel(m) |
| 112 | } | 112 | } |
| 113 | 113 | ||
| 114 | +func (repository *UserRepository) FindOneByCompanyIdAndPhone(ctx context.Context, conn transaction.Conn, companyId int64, phone string, status []int) (*domain.User, error) { | ||
| 115 | + var ( | ||
| 116 | + err error | ||
| 117 | + tx = conn.DB() | ||
| 118 | + m = new(models.User) | ||
| 119 | + ) | ||
| 120 | + queryFunc := func() (interface{}, error) { | ||
| 121 | + tx = tx.Model(m). | ||
| 122 | + Where("company_id = ?", companyId). | ||
| 123 | + Where("phone = ?", phone). | ||
| 124 | + Where("audit_status in (?)", status).First(m) | ||
| 125 | + if errors.Is(tx.Error, gorm.ErrRecordNotFound) { | ||
| 126 | + return nil, domain.ErrNotFound | ||
| 127 | + } | ||
| 128 | + return m, tx.Error | ||
| 129 | + } | ||
| 130 | + if _, err = repository.Query(queryFunc); err != nil { | ||
| 131 | + return nil, err | ||
| 132 | + } | ||
| 133 | + return repository.ModelToDomainModel(m) | ||
| 134 | +} | ||
| 135 | + | ||
| 114 | func (repository *UserRepository) Find(ctx context.Context, conn transaction.Conn, queryOptions map[string]interface{}) (int64, []*domain.User, error) { | 136 | func (repository *UserRepository) Find(ctx context.Context, conn transaction.Conn, queryOptions map[string]interface{}) (int64, []*domain.User, error) { |
| 115 | var ( | 137 | var ( |
| 116 | tx = conn.DB() | 138 | tx = conn.DB() |
| @@ -120,6 +142,12 @@ func (repository *UserRepository) Find(ctx context.Context, conn transaction.Con | @@ -120,6 +142,12 @@ func (repository *UserRepository) Find(ctx context.Context, conn transaction.Con | ||
| 120 | ) | 142 | ) |
| 121 | queryFunc := func() (interface{}, error) { | 143 | queryFunc := func() (interface{}, error) { |
| 122 | tx = tx.Model(&ms).Order("id desc") | 144 | tx = tx.Model(&ms).Order("id desc") |
| 145 | + if v, ok := queryOptions["phone"]; ok { | ||
| 146 | + tx.Where("phone = ?", v) | ||
| 147 | + } | ||
| 148 | + if v, ok := queryOptions["auditStatus"]; ok { | ||
| 149 | + tx.Where("audit_status in (?)", v) | ||
| 150 | + } | ||
| 123 | if total, tx = transaction.PaginationAndCount(ctx, tx, queryOptions, &ms); tx.Error != nil { | 151 | if total, tx = transaction.PaginationAndCount(ctx, tx, queryOptions, &ms); tx.Error != nil { |
| 124 | return dms, tx.Error | 152 | return dms, tx.Error |
| 125 | } | 153 | } |
| @@ -23,6 +23,7 @@ type CompanyRepository interface { | @@ -23,6 +23,7 @@ type CompanyRepository interface { | ||
| 23 | UpdateWithVersion(ctx context.Context, conn transaction.Conn, dm *Company) (*Company, error) | 23 | UpdateWithVersion(ctx context.Context, conn transaction.Conn, dm *Company) (*Company, error) |
| 24 | Delete(ctx context.Context, conn transaction.Conn, dm *Company) (*Company, error) | 24 | Delete(ctx context.Context, conn transaction.Conn, dm *Company) (*Company, error) |
| 25 | FindOne(ctx context.Context, conn transaction.Conn, id int64) (*Company, error) | 25 | FindOne(ctx context.Context, conn transaction.Conn, id int64) (*Company, error) |
| 26 | + FindOneByCode(ctx context.Context, conn transaction.Conn, code string) (*Company, error) | ||
| 26 | Find(ctx context.Context, conn transaction.Conn, queryOptions map[string]interface{}) (int64, []*Company, error) | 27 | Find(ctx context.Context, conn transaction.Conn, queryOptions map[string]interface{}) (int64, []*Company, error) |
| 27 | } | 28 | } |
| 28 | 29 |
| @@ -2,6 +2,8 @@ package domain | @@ -2,6 +2,8 @@ package domain | ||
| 2 | 2 | ||
| 3 | import ( | 3 | import ( |
| 4 | "context" | 4 | "context" |
| 5 | + "fmt" | ||
| 6 | + "github.com/samber/lo" | ||
| 5 | "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/interanl/pkg/db/transaction" | 7 | "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/interanl/pkg/db/transaction" |
| 6 | ) | 8 | ) |
| 7 | 9 | ||
| @@ -32,6 +34,7 @@ type UserRepository interface { | @@ -32,6 +34,7 @@ type UserRepository interface { | ||
| 32 | UpdateWithVersion(ctx context.Context, conn transaction.Conn, dm *User) (*User, error) | 34 | UpdateWithVersion(ctx context.Context, conn transaction.Conn, dm *User) (*User, error) |
| 33 | Delete(ctx context.Context, conn transaction.Conn, dm *User) (*User, error) | 35 | Delete(ctx context.Context, conn transaction.Conn, dm *User) (*User, error) |
| 34 | FindOne(ctx context.Context, conn transaction.Conn, id int64) (*User, error) | 36 | FindOne(ctx context.Context, conn transaction.Conn, id int64) (*User, error) |
| 37 | + FindOneByCompanyIdAndPhone(ctx context.Context, conn transaction.Conn, companyId int64, phone string, status []int) (*User, error) | ||
| 35 | Find(ctx context.Context, conn transaction.Conn, queryOptions map[string]interface{}) (int64, []*User, error) | 38 | Find(ctx context.Context, conn transaction.Conn, queryOptions map[string]interface{}) (int64, []*User, error) |
| 36 | } | 39 | } |
| 37 | 40 | ||
| @@ -41,3 +44,51 @@ func (m *User) Identify() interface{} { | @@ -41,3 +44,51 @@ func (m *User) Identify() interface{} { | ||
| 41 | } | 44 | } |
| 42 | return m.Id | 45 | return m.Id |
| 43 | } | 46 | } |
| 47 | + | ||
| 48 | +const ( | ||
| 49 | + UserAuditStatusWait = 0 // 审核中 | ||
| 50 | + UserAuditStatusPassed = 1 // 审核通过 | ||
| 51 | + UserAuditStatusReject = 2 // 审核拒绝 | ||
| 52 | +) | ||
| 53 | + | ||
| 54 | +const ( | ||
| 55 | + LoginTypeWechatLogin string = "wechat-login" // 微信登录 | ||
| 56 | + LoginTypeWechatPhoneLogin string = "wechat-phone-login" // 微信手机号登录 | ||
| 57 | + LoginTypePhonePasswordLogin string = "phone-password-login" // 手机密码登录 | ||
| 58 | + LoginTypePhoneSmsCodeLogin string = "phone-sms-code-login" // 手机验证码登录 | ||
| 59 | +) | ||
| 60 | + | ||
| 61 | +const ( | ||
| 62 | + UserEnable = 1 | ||
| 63 | + UserDisable = 2 | ||
| 64 | +) | ||
| 65 | + | ||
| 66 | +func (m *User) Audit(status int) error { | ||
| 67 | + if !lo.Contains([]int{UserAuditStatusWait, UserAuditStatusPassed, UserAuditStatusReject}, status) { | ||
| 68 | + return fmt.Errorf("unknown status:%d", status) | ||
| 69 | + } | ||
| 70 | + if m.AuditStatus != UserAuditStatusWait { | ||
| 71 | + return fmt.Errorf("用户不是在待审核状态") | ||
| 72 | + } | ||
| 73 | + m.AuditStatus = status | ||
| 74 | + return nil | ||
| 75 | +} | ||
| 76 | + | ||
| 77 | +type ( | ||
| 78 | + LoginCreator interface { | ||
| 79 | + WechatLogin(r WechatLoginRequest) (*LoginInfo, error) | ||
| 80 | + PhonePasswordLogin(phone string, password string) (*LoginInfo, error) | ||
| 81 | + PhoneSmsCodeLogin(phone string, code string) (*LoginInfo, error) | ||
| 82 | + WechatPhoneLogin(r WechatLoginRequest) (*LoginInfo, error) | ||
| 83 | + } | ||
| 84 | + WechatLoginRequest struct { | ||
| 85 | + Code string // 授权码 | ||
| 86 | + EncryptedData string // 包括敏感数据在内的完整用户信息的加密数据 | ||
| 87 | + IV string // 加密算法的初始向量 | ||
| 88 | + } | ||
| 89 | + LoginInfo struct { | ||
| 90 | + User *User | ||
| 91 | + Phone string | ||
| 92 | + Message string | ||
| 93 | + } | ||
| 94 | +) |
| @@ -7,6 +7,8 @@ require ( | @@ -7,6 +7,8 @@ require ( | ||
| 7 | github.com/jinzhu/copier v0.4.0 | 7 | github.com/jinzhu/copier v0.4.0 |
| 8 | github.com/jinzhu/now v1.1.5 | 8 | github.com/jinzhu/now v1.1.5 |
| 9 | github.com/pkg/errors v0.9.1 | 9 | github.com/pkg/errors v0.9.1 |
| 10 | + github.com/samber/lo v1.38.1 | ||
| 11 | + github.com/silenceper/wechat/v2 v2.1.4 | ||
| 10 | github.com/stretchr/testify v1.8.4 | 12 | github.com/stretchr/testify v1.8.4 |
| 11 | github.com/tiptok/gocomm v1.0.14 | 13 | github.com/tiptok/gocomm v1.0.14 |
| 12 | github.com/zeromicro/go-zero v1.5.5 | 14 | github.com/zeromicro/go-zero v1.5.5 |
| @@ -21,6 +23,7 @@ require ( | @@ -21,6 +23,7 @@ require ( | ||
| 21 | github.com/Shopify/sarama v1.37.2 // indirect | 23 | github.com/Shopify/sarama v1.37.2 // indirect |
| 22 | github.com/beego/beego/v2 v2.0.1 // indirect | 24 | github.com/beego/beego/v2 v2.0.1 // indirect |
| 23 | github.com/beorn7/perks v1.0.1 // indirect | 25 | github.com/beorn7/perks v1.0.1 // indirect |
| 26 | + github.com/bradfitz/gomemcache v0.0.0-20220106215444-fb4bf637b56d // indirect | ||
| 24 | github.com/cenkalti/backoff/v4 v4.2.0 // indirect | 27 | github.com/cenkalti/backoff/v4 v4.2.0 // indirect |
| 25 | github.com/cespare/xxhash/v2 v2.2.0 // indirect | 28 | github.com/cespare/xxhash/v2 v2.2.0 // indirect |
| 26 | github.com/davecgh/go-spew v1.1.1 // indirect | 29 | github.com/davecgh/go-spew v1.1.1 // indirect |
| @@ -30,6 +33,7 @@ require ( | @@ -30,6 +33,7 @@ require ( | ||
| 30 | github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21 // indirect | 33 | github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21 // indirect |
| 31 | github.com/eapache/queue v1.1.0 // indirect | 34 | github.com/eapache/queue v1.1.0 // indirect |
| 32 | github.com/fatih/color v1.15.0 // indirect | 35 | github.com/fatih/color v1.15.0 // indirect |
| 36 | + github.com/fatih/structs v1.1.0 // indirect | ||
| 33 | github.com/fsnotify/fsnotify v1.4.9 // indirect | 37 | github.com/fsnotify/fsnotify v1.4.9 // indirect |
| 34 | github.com/garyburd/redigo v1.6.3 // indirect | 38 | github.com/garyburd/redigo v1.6.3 // indirect |
| 35 | github.com/gin-contrib/sse v0.1.0 // indirect | 39 | github.com/gin-contrib/sse v0.1.0 // indirect |
| @@ -80,12 +84,16 @@ require ( | @@ -80,12 +84,16 @@ require ( | ||
| 80 | github.com/prometheus/procfs v0.10.1 // indirect | 84 | github.com/prometheus/procfs v0.10.1 // indirect |
| 81 | github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect | 85 | github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect |
| 82 | github.com/shiena/ansicolor v0.0.0-20151119151921-a422bbe96644 // indirect | 86 | github.com/shiena/ansicolor v0.0.0-20151119151921-a422bbe96644 // indirect |
| 87 | + github.com/sirupsen/logrus v1.9.0 // indirect | ||
| 83 | github.com/spaolacci/murmur3 v1.1.0 // indirect | 88 | github.com/spaolacci/murmur3 v1.1.0 // indirect |
| 84 | github.com/spf13/afero v1.2.2 // indirect | 89 | github.com/spf13/afero v1.2.2 // indirect |
| 85 | - github.com/spf13/cast v1.3.0 // indirect | 90 | + github.com/spf13/cast v1.4.1 // indirect |
| 86 | github.com/spf13/jwalterweatherman v1.0.0 // indirect | 91 | github.com/spf13/jwalterweatherman v1.0.0 // indirect |
| 87 | github.com/spf13/pflag v1.0.5 // indirect | 92 | github.com/spf13/pflag v1.0.5 // indirect |
| 88 | github.com/spf13/viper v1.4.0 // indirect | 93 | github.com/spf13/viper v1.4.0 // indirect |
| 94 | + github.com/tidwall/gjson v1.14.1 // indirect | ||
| 95 | + github.com/tidwall/match v1.1.1 // indirect | ||
| 96 | + github.com/tidwall/pretty v1.2.0 // indirect | ||
| 89 | github.com/ugorji/go/codec v1.1.7 // indirect | 97 | github.com/ugorji/go/codec v1.1.7 // indirect |
| 90 | go.opentelemetry.io/otel v1.14.0 // indirect | 98 | go.opentelemetry.io/otel v1.14.0 // indirect |
| 91 | go.opentelemetry.io/otel/exporters/jaeger v1.14.0 // indirect | 99 | go.opentelemetry.io/otel/exporters/jaeger v1.14.0 // indirect |
| @@ -100,6 +108,7 @@ require ( | @@ -100,6 +108,7 @@ require ( | ||
| 100 | go.opentelemetry.io/proto/otlp v0.19.0 // indirect | 108 | go.opentelemetry.io/proto/otlp v0.19.0 // indirect |
| 101 | go.uber.org/automaxprocs v1.5.3 // indirect | 109 | go.uber.org/automaxprocs v1.5.3 // indirect |
| 102 | golang.org/x/crypto v0.12.0 // indirect | 110 | golang.org/x/crypto v0.12.0 // indirect |
| 111 | + golang.org/x/exp v0.0.0-20220303212507-bbda1eaf7a17 // indirect | ||
| 103 | golang.org/x/net v0.14.0 // indirect | 112 | golang.org/x/net v0.14.0 // indirect |
| 104 | golang.org/x/sys v0.11.0 // indirect | 113 | golang.org/x/sys v0.11.0 // indirect |
| 105 | golang.org/x/text v0.12.0 // indirect | 114 | golang.org/x/text v0.12.0 // indirect |
| @@ -9,8 +9,8 @@ import ( | @@ -9,8 +9,8 @@ import ( | ||
| 9 | ) | 9 | ) |
| 10 | 10 | ||
| 11 | var ( | 11 | var ( |
| 12 | - CtxKeyJwtUserId = "userId" | ||
| 13 | - CtxKeyJwtCompanyId = "companyId" | 12 | + CtxKeyJwtUserId = "UserId" |
| 13 | + CtxKeyJwtCompanyId = "CompanyId" | ||
| 14 | ) | 14 | ) |
| 15 | 15 | ||
| 16 | func GetInt64FromCtx(ctx context.Context, key string) int64 { | 16 | func GetInt64FromCtx(ctx context.Context, key string) int64 { |
| @@ -58,8 +58,8 @@ func GetUserTokenFromCtx(ctx context.Context) UserToken { | @@ -58,8 +58,8 @@ func GetUserTokenFromCtx(ctx context.Context) UserToken { | ||
| 58 | } | 58 | } |
| 59 | 59 | ||
| 60 | type UserToken struct { | 60 | type UserToken struct { |
| 61 | - UserId int64 `json:"userId"` | ||
| 62 | - CompanyId int64 `json:"companyId"` | 61 | + UserId int64 |
| 62 | + CompanyId int64 | ||
| 63 | } | 63 | } |
| 64 | 64 | ||
| 65 | func (tk UserToken) GenerateToken(secret string, expire int64) (string, error) { | 65 | func (tk UserToken) GenerateToken(secret string, expire int64) (string, error) { |
| @@ -21,13 +21,15 @@ func HttpResult(r *http.Request, w http.ResponseWriter, resp interface{}, err er | @@ -21,13 +21,15 @@ func HttpResult(r *http.Request, w http.ResponseWriter, resp interface{}, err er | ||
| 21 | } | 21 | } |
| 22 | 22 | ||
| 23 | //错误返回 | 23 | //错误返回 |
| 24 | - errCode := xerr.ServerCommonError | ||
| 25 | - errMsg := "服务器开小差啦,稍后再来试一试" | ||
| 26 | - internalErr := "" | ||
| 27 | - causeErr := errors.Cause(err) | 24 | + var ( |
| 25 | + errCode = xerr.ServerCommonError | ||
| 26 | + errMsg = "服务器开小差啦,稍后再来试一试" | ||
| 27 | + internalErr = "" | ||
| 28 | + causeErr = errors.Cause(err) | ||
| 29 | + ) | ||
| 28 | 30 | ||
| 29 | - codeError := &xerr.CodeError{} | ||
| 30 | - if ok := errors.As(causeErr, codeError); ok { // 自定义错误类型 | 31 | + codeError, ok := causeErr.(*xerr.CodeError) |
| 32 | + if ok { // 自定义错误类型 | ||
| 31 | errCode = codeError.GetErrCode() | 33 | errCode = codeError.GetErrCode() |
| 32 | errMsg = codeError.GetErrMsg() | 34 | errMsg = codeError.GetErrMsg() |
| 33 | if codeError.InternalError != nil { | 35 | if codeError.InternalError != nil { |
-
请 注册 或 登录 后发表评论