正在显示
28 个修改的文件
包含
1021 行增加
和
70 行删除
@@ -304,6 +304,160 @@ | @@ -304,6 +304,160 @@ | ||
304 | ] | 304 | ] |
305 | } | 305 | } |
306 | }, | 306 | }, |
307 | + "/off-task-records/{offTaskRecordId}": { | ||
308 | + "get": { | ||
309 | + "tags": [ | ||
310 | + "offTaskRecord" | ||
311 | + ], | ||
312 | + "summary": "返回关闭任务记录", | ||
313 | + "description": "返回关闭任务记录", | ||
314 | + "operationId": "offTaskRecord#getOffTaskRecord", | ||
315 | + "parameters": [ | ||
316 | + { | ||
317 | + "name": "offTaskRecordId", | ||
318 | + "in": "path", | ||
319 | + "description": "关闭任务记录ID", | ||
320 | + "required": true, | ||
321 | + "type": "integer" | ||
322 | + } | ||
323 | + ], | ||
324 | + "responses": { | ||
325 | + "200": { | ||
326 | + "description": "OK response.", | ||
327 | + "schema": { | ||
328 | + "$ref": "#/definitions/OffTaskRecordGetOffTaskRecordResponseBody" | ||
329 | + } | ||
330 | + } | ||
331 | + }, | ||
332 | + "schemes": [ | ||
333 | + "http" | ||
334 | + ] | ||
335 | + } | ||
336 | + }, | ||
337 | + "/off-task-records/search-off-task-record": { | ||
338 | + "post": { | ||
339 | + "tags": [ | ||
340 | + "offTaskRecord" | ||
341 | + ], | ||
342 | + "summary": "搜索关闭任务记录", | ||
343 | + "description": "搜索关闭任务记录", | ||
344 | + "operationId": "offTaskRecord#searchOffTaskRecord", | ||
345 | + "parameters": [ | ||
346 | + { | ||
347 | + "name": "SearchOffTaskRecordRequestBody", | ||
348 | + "in": "body", | ||
349 | + "required": true, | ||
350 | + "schema": { | ||
351 | + "$ref": "#/definitions/OffTaskRecordSearchOffTaskRecordRequestBody" | ||
352 | + } | ||
353 | + } | ||
354 | + ], | ||
355 | + "responses": { | ||
356 | + "200": { | ||
357 | + "description": "OK response.", | ||
358 | + "schema": { | ||
359 | + "$ref": "#/definitions/OffTaskRecordSearchOffTaskRecordResponseBody" | ||
360 | + } | ||
361 | + } | ||
362 | + }, | ||
363 | + "schemes": [ | ||
364 | + "http" | ||
365 | + ] | ||
366 | + } | ||
367 | + }, | ||
368 | + "/statistics/person-su-money": { | ||
369 | + "post": { | ||
370 | + "tags": [ | ||
371 | + "statistics" | ||
372 | + ], | ||
373 | + "summary": "获取个人素币统计", | ||
374 | + "description": "获取个人素币统计", | ||
375 | + "operationId": "statistics#personSuMoneyStatistics", | ||
376 | + "parameters": [ | ||
377 | + { | ||
378 | + "name": "PersonSuMoneyStatisticsRequestBody", | ||
379 | + "in": "body", | ||
380 | + "required": true, | ||
381 | + "schema": { | ||
382 | + "$ref": "#/definitions/StatisticsPersonSuMoneyStatisticsRequestBody" | ||
383 | + } | ||
384 | + } | ||
385 | + ], | ||
386 | + "responses": { | ||
387 | + "200": { | ||
388 | + "description": "OK response.", | ||
389 | + "schema": { | ||
390 | + "$ref": "#/definitions/StatisticsPersonSuMoneyStatisticsResponseBody" | ||
391 | + } | ||
392 | + } | ||
393 | + }, | ||
394 | + "schemes": [ | ||
395 | + "http" | ||
396 | + ] | ||
397 | + } | ||
398 | + }, | ||
399 | + "/statistics/person-task": { | ||
400 | + "post": { | ||
401 | + "tags": [ | ||
402 | + "statistics" | ||
403 | + ], | ||
404 | + "summary": "获取个人任务统计", | ||
405 | + "description": "获取个人任务统计", | ||
406 | + "operationId": "statistics#personTaskStatistics", | ||
407 | + "parameters": [ | ||
408 | + { | ||
409 | + "name": "PersonTaskStatisticsRequestBody", | ||
410 | + "in": "body", | ||
411 | + "required": true, | ||
412 | + "schema": { | ||
413 | + "$ref": "#/definitions/StatisticsPersonTaskStatisticsRequestBody" | ||
414 | + } | ||
415 | + } | ||
416 | + ], | ||
417 | + "responses": { | ||
418 | + "200": { | ||
419 | + "description": "OK response.", | ||
420 | + "schema": { | ||
421 | + "$ref": "#/definitions/StatisticsPersonTaskStatisticsResponseBody" | ||
422 | + } | ||
423 | + } | ||
424 | + }, | ||
425 | + "schemes": [ | ||
426 | + "http" | ||
427 | + ] | ||
428 | + } | ||
429 | + }, | ||
430 | + "/statistics/system-task": { | ||
431 | + "post": { | ||
432 | + "tags": [ | ||
433 | + "statistics" | ||
434 | + ], | ||
435 | + "summary": "获取系统任务统计", | ||
436 | + "description": "获取系统任务统计", | ||
437 | + "operationId": "statistics#systemTaskStatistics", | ||
438 | + "parameters": [ | ||
439 | + { | ||
440 | + "name": "SystemTaskStatisticsRequestBody", | ||
441 | + "in": "body", | ||
442 | + "required": true, | ||
443 | + "schema": { | ||
444 | + "$ref": "#/definitions/StatisticsSystemTaskStatisticsRequestBody" | ||
445 | + } | ||
446 | + } | ||
447 | + ], | ||
448 | + "responses": { | ||
449 | + "200": { | ||
450 | + "description": "OK response.", | ||
451 | + "schema": { | ||
452 | + "$ref": "#/definitions/StatisticsSystemTaskStatisticsResponseBody" | ||
453 | + } | ||
454 | + } | ||
455 | + }, | ||
456 | + "schemes": [ | ||
457 | + "http" | ||
458 | + ] | ||
459 | + } | ||
460 | + }, | ||
307 | "/su-money/exchange": { | 461 | "/su-money/exchange": { |
308 | "post": { | 462 | "post": { |
309 | "tags": [ | 463 | "tags": [ |
@@ -385,7 +539,7 @@ | @@ -385,7 +539,7 @@ | ||
385 | { | 539 | { |
386 | "name": "sponsor", | 540 | "name": "sponsor", |
387 | "in": "query", | 541 | "in": "query", |
388 | - "description": "任务发起者", | 542 | + "description": "任务发起者UID", |
389 | "required": false, | 543 | "required": false, |
390 | "type": "integer", | 544 | "type": "integer", |
391 | "format": "int64" | 545 | "format": "int64" |
@@ -442,7 +596,7 @@ | @@ -442,7 +596,7 @@ | ||
442 | { | 596 | { |
443 | "name": "receiver", | 597 | "name": "receiver", |
444 | "in": "query", | 598 | "in": "query", |
445 | - "description": "任务领取人", | 599 | + "description": "任务领取人UID", |
446 | "required": false, | 600 | "required": false, |
447 | "type": "integer", | 601 | "type": "integer", |
448 | "format": "int64" | 602 | "format": "int64" |
@@ -450,7 +604,7 @@ | @@ -450,7 +604,7 @@ | ||
450 | { | 604 | { |
451 | "name": "participator", | 605 | "name": "participator", |
452 | "in": "query", | 606 | "in": "query", |
453 | - "description": "任务参与者", | 607 | + "description": "任务参与者UID", |
454 | "required": false, | 608 | "required": false, |
455 | "type": "integer", | 609 | "type": "integer", |
456 | "format": "int64" | 610 | "format": "int64" |
@@ -1096,6 +1250,148 @@ | @@ -1096,6 +1250,148 @@ | ||
1096 | } | 1250 | } |
1097 | } | 1251 | } |
1098 | }, | 1252 | }, |
1253 | + "OffTaskRecordGetOffTaskRecordResponseBody": { | ||
1254 | + "title": "Mediatype identifier: OffTaskRecordGetOffTaskRecordResponseBody", | ||
1255 | + "type": "object", | ||
1256 | + "properties": { | ||
1257 | + "offTaskRecord": { | ||
1258 | + "$ref": "#/definitions/offTaskRecordResponseBody" | ||
1259 | + } | ||
1260 | + } | ||
1261 | + }, | ||
1262 | + "OffTaskRecordSearchOffTaskRecordRequestBody": { | ||
1263 | + "title": "OffTaskRecordSearchOffTaskRecordRequestBody", | ||
1264 | + "type": "object", | ||
1265 | + "properties": { | ||
1266 | + "companyId": { | ||
1267 | + "type": "integer", | ||
1268 | + "description": "公司ID", | ||
1269 | + "required": [ | ||
1270 | + "companyId" | ||
1271 | + ] | ||
1272 | + }, | ||
1273 | + "customerValue": { | ||
1274 | + "type": "string", | ||
1275 | + "description": "客户价值" | ||
1276 | + }, | ||
1277 | + "limit": { | ||
1278 | + "type": "integer", | ||
1279 | + "description": "查询限制", | ||
1280 | + "format": "int64" | ||
1281 | + }, | ||
1282 | + "offEndTime": { | ||
1283 | + "type": "string", | ||
1284 | + "description": "关闭任务时间区间-截止时间", | ||
1285 | + "format": "datetime" | ||
1286 | + }, | ||
1287 | + "offStartTime": { | ||
1288 | + "type": "string", | ||
1289 | + "description": "关闭任务时间区间-开始时间", | ||
1290 | + "format": "datetime" | ||
1291 | + }, | ||
1292 | + "offset": { | ||
1293 | + "type": "integer", | ||
1294 | + "description": "查询偏离量", | ||
1295 | + "format": "int64" | ||
1296 | + }, | ||
1297 | + "taskContentMatch": { | ||
1298 | + "type": "string", | ||
1299 | + "description": "任务内容匹配" | ||
1300 | + }, | ||
1301 | + "taskNature": { | ||
1302 | + "type": "string", | ||
1303 | + "description": "任务性质" | ||
1304 | + }, | ||
1305 | + "taskType": { | ||
1306 | + "type": "integer", | ||
1307 | + "description": "任务类型", | ||
1308 | + "format": "int64" | ||
1309 | + } | ||
1310 | + } | ||
1311 | + }, | ||
1312 | + "OffTaskRecordSearchOffTaskRecordResponseBody": { | ||
1313 | + "title": "Mediatype identifier: OffTaskRecordSearchOffTaskRecordResponseBody", | ||
1314 | + "type": "object", | ||
1315 | + "properties": { | ||
1316 | + "count": { | ||
1317 | + "type": "integer", | ||
1318 | + "description": "结果总数", | ||
1319 | + "format": "int64" | ||
1320 | + }, | ||
1321 | + "offTaskRecords": { | ||
1322 | + "type": "array", | ||
1323 | + "items": { | ||
1324 | + "$ref": "#/definitions/offTaskRecordResponseBody" | ||
1325 | + } | ||
1326 | + } | ||
1327 | + } | ||
1328 | + }, | ||
1329 | + "StatisticsPersonSuMoneyStatisticsRequestBody": { | ||
1330 | + "title": "StatisticsPersonSuMoneyStatisticsRequestBody", | ||
1331 | + "type": "object", | ||
1332 | + "properties": { | ||
1333 | + "uid": { | ||
1334 | + "type": "integer", | ||
1335 | + "description": "统一用户UID", | ||
1336 | + "required": [ | ||
1337 | + "uid" | ||
1338 | + ] | ||
1339 | + } | ||
1340 | + } | ||
1341 | + }, | ||
1342 | + "StatisticsPersonSuMoneyStatisticsResponseBody": { | ||
1343 | + "title": "Mediatype identifier: StatisticsPersonSuMoneyStatisticsResponseBody", | ||
1344 | + "type": "object", | ||
1345 | + "properties": { | ||
1346 | + "personSuMoneyStatistics": { | ||
1347 | + "$ref": "#/definitions/personSuMoneyStatisticsResponseBody" | ||
1348 | + } | ||
1349 | + } | ||
1350 | + }, | ||
1351 | + "StatisticsPersonTaskStatisticsRequestBody": { | ||
1352 | + "title": "StatisticsPersonTaskStatisticsRequestBody", | ||
1353 | + "type": "object", | ||
1354 | + "properties": { | ||
1355 | + "uid": { | ||
1356 | + "type": "integer", | ||
1357 | + "description": "统一用户UID", | ||
1358 | + "required": [ | ||
1359 | + "uid" | ||
1360 | + ] | ||
1361 | + } | ||
1362 | + } | ||
1363 | + }, | ||
1364 | + "StatisticsPersonTaskStatisticsResponseBody": { | ||
1365 | + "title": "Mediatype identifier: StatisticsPersonTaskStatisticsResponseBody", | ||
1366 | + "type": "object", | ||
1367 | + "properties": { | ||
1368 | + "personTaskStatistics": { | ||
1369 | + "$ref": "#/definitions/personTaskStatisticsResponseBody" | ||
1370 | + } | ||
1371 | + } | ||
1372 | + }, | ||
1373 | + "StatisticsSystemTaskStatisticsRequestBody": { | ||
1374 | + "title": "StatisticsSystemTaskStatisticsRequestBody", | ||
1375 | + "type": "object", | ||
1376 | + "properties": { | ||
1377 | + "companyId": { | ||
1378 | + "type": "integer", | ||
1379 | + "description": "公司ID", | ||
1380 | + "required": [ | ||
1381 | + "companyId" | ||
1382 | + ] | ||
1383 | + } | ||
1384 | + } | ||
1385 | + }, | ||
1386 | + "StatisticsSystemTaskStatisticsResponseBody": { | ||
1387 | + "title": "Mediatype identifier: StatisticsSystemTaskStatisticsResponseBody", | ||
1388 | + "type": "object", | ||
1389 | + "properties": { | ||
1390 | + "systemTaskStatistics": { | ||
1391 | + "$ref": "#/definitions/systemTaskStatisticsResponseBody" | ||
1392 | + } | ||
1393 | + } | ||
1394 | + }, | ||
1099 | "SuMoneyExchangeSuMoneyRequestBody": { | 1395 | "SuMoneyExchangeSuMoneyRequestBody": { |
1100 | "title": "SuMoneyExchangeSuMoneyRequestBody", | 1396 | "title": "SuMoneyExchangeSuMoneyRequestBody", |
1101 | "type": "object", | 1397 | "type": "object", |
@@ -1109,7 +1405,7 @@ | @@ -1109,7 +1405,7 @@ | ||
1109 | }, | 1405 | }, |
1110 | "operator": { | 1406 | "operator": { |
1111 | "type": "integer", | 1407 | "type": "integer", |
1112 | - "description": "操作人UID(默认为系统操作)", | 1408 | + "description": "操作人UID", |
1113 | "format": "int64" | 1409 | "format": "int64" |
1114 | }, | 1410 | }, |
1115 | "suMoney": { | 1411 | "suMoney": { |
@@ -1151,6 +1447,11 @@ | @@ -1151,6 +1447,11 @@ | ||
1151 | "description": "查询偏离量", | 1447 | "description": "查询偏离量", |
1152 | "format": "int64" | 1448 | "format": "int64" |
1153 | }, | 1449 | }, |
1450 | + "operator": { | ||
1451 | + "type": "integer", | ||
1452 | + "description": "操作人UID", | ||
1453 | + "format": "int64" | ||
1454 | + }, | ||
1154 | "recordType": { | 1455 | "recordType": { |
1155 | "type": "integer", | 1456 | "type": "integer", |
1156 | "description": "记录类型(1兑换,2任务奖励)", | 1457 | "description": "记录类型(1兑换,2任务奖励)", |
@@ -1158,6 +1459,16 @@ | @@ -1158,6 +1459,16 @@ | ||
1158 | "recordType" | 1459 | "recordType" |
1159 | ] | 1460 | ] |
1160 | }, | 1461 | }, |
1462 | + "transactionEndTime": { | ||
1463 | + "type": "string", | ||
1464 | + "description": "事务时间区间-截止时间", | ||
1465 | + "format": "datetime" | ||
1466 | + }, | ||
1467 | + "transactionStartTime": { | ||
1468 | + "type": "string", | ||
1469 | + "description": "事务时间区间-开始时间", | ||
1470 | + "format": "datetime" | ||
1471 | + }, | ||
1161 | "uid": { | 1472 | "uid": { |
1162 | "type": "integer", | 1473 | "type": "integer", |
1163 | "description": "统一用户UID", | 1474 | "description": "统一用户UID", |
@@ -1588,6 +1899,11 @@ | @@ -1588,6 +1899,11 @@ | ||
1588 | "description": "竞标时间(1全部,2已截止,3未截止)", | 1899 | "description": "竞标时间(1全部,2已截止,3未截止)", |
1589 | "format": "int64" | 1900 | "format": "int64" |
1590 | }, | 1901 | }, |
1902 | + "bidder": { | ||
1903 | + "type": "integer", | ||
1904 | + "description": "竞标参与者UID", | ||
1905 | + "format": "int64" | ||
1906 | + }, | ||
1591 | "companyId": { | 1907 | "companyId": { |
1592 | "type": "integer", | 1908 | "type": "integer", |
1593 | "description": "公司ID", | 1909 | "description": "公司ID", |
@@ -1599,6 +1915,10 @@ | @@ -1599,6 +1915,10 @@ | ||
1599 | "type": "string", | 1915 | "type": "string", |
1600 | "description": "客户价值" | 1916 | "description": "客户价值" |
1601 | }, | 1917 | }, |
1918 | + "isFilterCloseStatus": { | ||
1919 | + "type": "boolean", | ||
1920 | + "description": "是否过滤关闭状态任务" | ||
1921 | + }, | ||
1602 | "isRewardTake": { | 1922 | "isRewardTake": { |
1603 | "type": "boolean", | 1923 | "type": "boolean", |
1604 | "description": "是否悬赏任务" | 1924 | "description": "是否悬赏任务" |
@@ -1615,17 +1935,17 @@ | @@ -1615,17 +1935,17 @@ | ||
1615 | }, | 1935 | }, |
1616 | "participator": { | 1936 | "participator": { |
1617 | "type": "integer", | 1937 | "type": "integer", |
1618 | - "description": "任务参与者", | 1938 | + "description": "任务参与者UID", |
1619 | "format": "int64" | 1939 | "format": "int64" |
1620 | }, | 1940 | }, |
1621 | "receiver": { | 1941 | "receiver": { |
1622 | "type": "integer", | 1942 | "type": "integer", |
1623 | - "description": "任务领取人", | 1943 | + "description": "任务领取人UID", |
1624 | "format": "int64" | 1944 | "format": "int64" |
1625 | }, | 1945 | }, |
1626 | "sponsor": { | 1946 | "sponsor": { |
1627 | "type": "integer", | 1947 | "type": "integer", |
1628 | - "description": "任务发起者", | 1948 | + "description": "任务发起者UID", |
1629 | "format": "int64" | 1949 | "format": "int64" |
1630 | }, | 1950 | }, |
1631 | "taskContentMatch": { | 1951 | "taskContentMatch": { |
@@ -1928,6 +2248,104 @@ | @@ -1928,6 +2248,104 @@ | ||
1928 | }, | 2248 | }, |
1929 | "description": "关闭任务记录" | 2249 | "description": "关闭任务记录" |
1930 | }, | 2250 | }, |
2251 | + "personSuMoneyStatisticsResponseBody": { | ||
2252 | + "title": "personSuMoneyStatisticsResponseBody", | ||
2253 | + "type": "object", | ||
2254 | + "properties": { | ||
2255 | + "currentSuMoney": { | ||
2256 | + "type": "number", | ||
2257 | + "description": "当前素币", | ||
2258 | + "required": [ | ||
2259 | + "currentSuMoney" | ||
2260 | + ] | ||
2261 | + }, | ||
2262 | + "incomeSuMoneyOfYesterday": { | ||
2263 | + "type": "number", | ||
2264 | + "description": "昨日收益", | ||
2265 | + "required": [ | ||
2266 | + "incomeSuMoneyOfYesterday" | ||
2267 | + ] | ||
2268 | + } | ||
2269 | + }, | ||
2270 | + "description": "个人素币统计" | ||
2271 | + }, | ||
2272 | + "personTaskStatisticsResponseBody": { | ||
2273 | + "title": "personTaskStatisticsResponseBody", | ||
2274 | + "type": "object", | ||
2275 | + "properties": { | ||
2276 | + "bidAsParticipator": { | ||
2277 | + "type": "integer", | ||
2278 | + "description": "个人参与的竞标中任务", | ||
2279 | + "required": [ | ||
2280 | + "bidAsParticipator" | ||
2281 | + ] | ||
2282 | + }, | ||
2283 | + "completedAsParticipator": { | ||
2284 | + "type": "integer", | ||
2285 | + "description": "个人参与的已完成任务", | ||
2286 | + "required": [ | ||
2287 | + "completedAsParticipator" | ||
2288 | + ] | ||
2289 | + }, | ||
2290 | + "completedAsReceiver": { | ||
2291 | + "type": "integer", | ||
2292 | + "description": "个人领取的已完成任务", | ||
2293 | + "required": [ | ||
2294 | + "completedAsReceiver" | ||
2295 | + ] | ||
2296 | + }, | ||
2297 | + "completedAsSponsor": { | ||
2298 | + "type": "integer", | ||
2299 | + "description": "个人发起的已完成任务", | ||
2300 | + "required": [ | ||
2301 | + "completedAsSponsor" | ||
2302 | + ] | ||
2303 | + }, | ||
2304 | + "unAcceptanceAsReceiver": { | ||
2305 | + "type": "integer", | ||
2306 | + "description": "个人领取的待验收任务", | ||
2307 | + "required": [ | ||
2308 | + "unAcceptanceAsReceiver" | ||
2309 | + ] | ||
2310 | + }, | ||
2311 | + "unAcceptanceAsSponsor": { | ||
2312 | + "type": "integer", | ||
2313 | + "description": "个人发起的待验收任务", | ||
2314 | + "required": [ | ||
2315 | + "unAcceptanceAsSponsor" | ||
2316 | + ] | ||
2317 | + }, | ||
2318 | + "unClaimedAsSponsor": { | ||
2319 | + "type": "integer", | ||
2320 | + "description": "个人发起的待领取任务", | ||
2321 | + "required": [ | ||
2322 | + "unClaimedAsSponsor" | ||
2323 | + ] | ||
2324 | + }, | ||
2325 | + "unReleasedAsSponsor": { | ||
2326 | + "type": "integer", | ||
2327 | + "description": "个人发起的待发布任务", | ||
2328 | + "required": [ | ||
2329 | + "unReleasedAsSponsor" | ||
2330 | + ] | ||
2331 | + }, | ||
2332 | + "underwayAsReceiver": { | ||
2333 | + "type": "integer", | ||
2334 | + "description": "个人领取的进行中任务", | ||
2335 | + "required": [ | ||
2336 | + "underwayAsReceiver" | ||
2337 | + ] | ||
2338 | + }, | ||
2339 | + "underwayAsSponsor": { | ||
2340 | + "type": "integer", | ||
2341 | + "description": "个人发起的进行中任务", | ||
2342 | + "required": [ | ||
2343 | + "underwayAsSponsor" | ||
2344 | + ] | ||
2345 | + } | ||
2346 | + }, | ||
2347 | + "description": "个人任务统计" | ||
2348 | + }, | ||
1931 | "referenceResourceItemRequestBody": { | 2349 | "referenceResourceItemRequestBody": { |
1932 | "title": "referenceResourceItemRequestBody", | 2350 | "title": "referenceResourceItemRequestBody", |
1933 | "type": "object", | 2351 | "type": "object", |
@@ -2050,11 +2468,7 @@ | @@ -2050,11 +2468,7 @@ | ||
2050 | "$ref": "#/definitions/employeeInfoResponseBody" | 2468 | "$ref": "#/definitions/employeeInfoResponseBody" |
2051 | }, | 2469 | }, |
2052 | "operator": { | 2470 | "operator": { |
2053 | - "type": "integer", | ||
2054 | - "description": "操作人", | ||
2055 | - "required": [ | ||
2056 | - "operator" | ||
2057 | - ] | 2471 | + "$ref": "#/definitions/employeeInfoResponseBody" |
2058 | }, | 2472 | }, |
2059 | "recordDescription": { | 2473 | "recordDescription": { |
2060 | "type": "string", | 2474 | "type": "string", |
@@ -2077,6 +2491,13 @@ | @@ -2077,6 +2491,13 @@ | ||
2077 | "suMoney" | 2491 | "suMoney" |
2078 | ] | 2492 | ] |
2079 | }, | 2493 | }, |
2494 | + "suMoneyBeforeTransaction": { | ||
2495 | + "type": "number", | ||
2496 | + "description": "事务处理前素币值", | ||
2497 | + "required": [ | ||
2498 | + "suMoneyBeforeTransaction" | ||
2499 | + ] | ||
2500 | + }, | ||
2080 | "suMoneyTransactionRecordId": { | 2501 | "suMoneyTransactionRecordId": { |
2081 | "type": "integer", | 2502 | "type": "integer", |
2082 | "description": "素币事务记录ID", | 2503 | "description": "素币事务记录ID", |
@@ -2087,6 +2508,30 @@ | @@ -2087,6 +2508,30 @@ | ||
2087 | }, | 2508 | }, |
2088 | "description": "素币事务记录" | 2509 | "description": "素币事务记录" |
2089 | }, | 2510 | }, |
2511 | + "systemTaskStatisticsResponseBody": { | ||
2512 | + "title": "systemTaskStatisticsResponseBody", | ||
2513 | + "type": "object", | ||
2514 | + "properties": { | ||
2515 | + "completed": { | ||
2516 | + "type": "integer", | ||
2517 | + "description": "系统已完成任务", | ||
2518 | + "format": "int64" | ||
2519 | + }, | ||
2520 | + "released": { | ||
2521 | + "type": "integer", | ||
2522 | + "description": "系统已发布任务", | ||
2523 | + "required": [ | ||
2524 | + "released" | ||
2525 | + ] | ||
2526 | + }, | ||
2527 | + "underway": { | ||
2528 | + "type": "integer", | ||
2529 | + "description": "系统进行中任务", | ||
2530 | + "format": "int64" | ||
2531 | + } | ||
2532 | + }, | ||
2533 | + "description": "系统任务统计" | ||
2534 | + }, | ||
2090 | "taskPercentageItemRequestBody": { | 2535 | "taskPercentageItemRequestBody": { |
2091 | "title": "taskPercentageItemRequestBody", | 2536 | "title": "taskPercentageItemRequestBody", |
2092 | "type": "object", | 2537 | "type": "object", |
@@ -2094,12 +2539,24 @@ | @@ -2094,12 +2539,24 @@ | ||
2094 | "contributor": { | 2539 | "contributor": { |
2095 | "$ref": "#/definitions/employeeInfoRequestBody" | 2540 | "$ref": "#/definitions/employeeInfoRequestBody" |
2096 | }, | 2541 | }, |
2542 | + "issueScore": { | ||
2543 | + "type": "number", | ||
2544 | + "description": "引用问题的得分", | ||
2545 | + "format": "double" | ||
2546 | + }, | ||
2097 | "percentage": { | 2547 | "percentage": { |
2098 | "type": "integer", | 2548 | "type": "integer", |
2099 | "description": "任务贡献占比", | 2549 | "description": "任务贡献占比", |
2100 | "required": [ | 2550 | "required": [ |
2101 | "percentage" | 2551 | "percentage" |
2102 | ] | 2552 | ] |
2553 | + }, | ||
2554 | + "suMoney": { | ||
2555 | + "type": "number", | ||
2556 | + "description": "分配到的奖励素币", | ||
2557 | + "required": [ | ||
2558 | + "suMoney" | ||
2559 | + ] | ||
2103 | } | 2560 | } |
2104 | }, | 2561 | }, |
2105 | "description": "任务贡献占比项" | 2562 | "description": "任务贡献占比项" |
@@ -2111,12 +2568,24 @@ | @@ -2111,12 +2568,24 @@ | ||
2111 | "contributor": { | 2568 | "contributor": { |
2112 | "$ref": "#/definitions/employeeInfoResponseBody" | 2569 | "$ref": "#/definitions/employeeInfoResponseBody" |
2113 | }, | 2570 | }, |
2571 | + "issueScore": { | ||
2572 | + "type": "number", | ||
2573 | + "description": "引用问题的得分", | ||
2574 | + "format": "double" | ||
2575 | + }, | ||
2114 | "percentage": { | 2576 | "percentage": { |
2115 | "type": "integer", | 2577 | "type": "integer", |
2116 | "description": "任务贡献占比", | 2578 | "description": "任务贡献占比", |
2117 | "required": [ | 2579 | "required": [ |
2118 | "percentage" | 2580 | "percentage" |
2119 | ] | 2581 | ] |
2582 | + }, | ||
2583 | + "suMoney": { | ||
2584 | + "type": "number", | ||
2585 | + "description": "分配到的奖励素币", | ||
2586 | + "required": [ | ||
2587 | + "suMoney" | ||
2588 | + ] | ||
2120 | } | 2589 | } |
2121 | }, | 2590 | }, |
2122 | "description": "任务贡献占比项" | 2591 | "description": "任务贡献占比项" |
@@ -204,6 +204,106 @@ paths: | @@ -204,6 +204,106 @@ paths: | ||
204 | $ref: '#/definitions/EmployeeRemoveEmployeeResponseBody' | 204 | $ref: '#/definitions/EmployeeRemoveEmployeeResponseBody' |
205 | schemes: | 205 | schemes: |
206 | - http | 206 | - http |
207 | + /off-task-records/{offTaskRecordId}: | ||
208 | + get: | ||
209 | + tags: | ||
210 | + - offTaskRecord | ||
211 | + summary: 返回关闭任务记录 | ||
212 | + description: 返回关闭任务记录 | ||
213 | + operationId: offTaskRecord#getOffTaskRecord | ||
214 | + parameters: | ||
215 | + - name: offTaskRecordId | ||
216 | + in: path | ||
217 | + description: 关闭任务记录ID | ||
218 | + required: true | ||
219 | + type: integer | ||
220 | + responses: | ||
221 | + "200": | ||
222 | + description: OK response. | ||
223 | + schema: | ||
224 | + $ref: '#/definitions/OffTaskRecordGetOffTaskRecordResponseBody' | ||
225 | + schemes: | ||
226 | + - http | ||
227 | + /off-task-records/search-off-task-record: | ||
228 | + post: | ||
229 | + tags: | ||
230 | + - offTaskRecord | ||
231 | + summary: 搜索关闭任务记录 | ||
232 | + description: 搜索关闭任务记录 | ||
233 | + operationId: offTaskRecord#searchOffTaskRecord | ||
234 | + parameters: | ||
235 | + - name: SearchOffTaskRecordRequestBody | ||
236 | + in: body | ||
237 | + required: true | ||
238 | + schema: | ||
239 | + $ref: '#/definitions/OffTaskRecordSearchOffTaskRecordRequestBody' | ||
240 | + responses: | ||
241 | + "200": | ||
242 | + description: OK response. | ||
243 | + schema: | ||
244 | + $ref: '#/definitions/OffTaskRecordSearchOffTaskRecordResponseBody' | ||
245 | + schemes: | ||
246 | + - http | ||
247 | + /statistics/person-su-money: | ||
248 | + post: | ||
249 | + tags: | ||
250 | + - statistics | ||
251 | + summary: 获取个人素币统计 | ||
252 | + description: 获取个人素币统计 | ||
253 | + operationId: statistics#personSuMoneyStatistics | ||
254 | + parameters: | ||
255 | + - name: PersonSuMoneyStatisticsRequestBody | ||
256 | + in: body | ||
257 | + required: true | ||
258 | + schema: | ||
259 | + $ref: '#/definitions/StatisticsPersonSuMoneyStatisticsRequestBody' | ||
260 | + responses: | ||
261 | + "200": | ||
262 | + description: OK response. | ||
263 | + schema: | ||
264 | + $ref: '#/definitions/StatisticsPersonSuMoneyStatisticsResponseBody' | ||
265 | + schemes: | ||
266 | + - http | ||
267 | + /statistics/person-task: | ||
268 | + post: | ||
269 | + tags: | ||
270 | + - statistics | ||
271 | + summary: 获取个人任务统计 | ||
272 | + description: 获取个人任务统计 | ||
273 | + operationId: statistics#personTaskStatistics | ||
274 | + parameters: | ||
275 | + - name: PersonTaskStatisticsRequestBody | ||
276 | + in: body | ||
277 | + required: true | ||
278 | + schema: | ||
279 | + $ref: '#/definitions/StatisticsPersonTaskStatisticsRequestBody' | ||
280 | + responses: | ||
281 | + "200": | ||
282 | + description: OK response. | ||
283 | + schema: | ||
284 | + $ref: '#/definitions/StatisticsPersonTaskStatisticsResponseBody' | ||
285 | + schemes: | ||
286 | + - http | ||
287 | + /statistics/system-task: | ||
288 | + post: | ||
289 | + tags: | ||
290 | + - statistics | ||
291 | + summary: 获取系统任务统计 | ||
292 | + description: 获取系统任务统计 | ||
293 | + operationId: statistics#systemTaskStatistics | ||
294 | + parameters: | ||
295 | + - name: SystemTaskStatisticsRequestBody | ||
296 | + in: body | ||
297 | + required: true | ||
298 | + schema: | ||
299 | + $ref: '#/definitions/StatisticsSystemTaskStatisticsRequestBody' | ||
300 | + responses: | ||
301 | + "200": | ||
302 | + description: OK response. | ||
303 | + schema: | ||
304 | + $ref: '#/definitions/StatisticsSystemTaskStatisticsResponseBody' | ||
305 | + schemes: | ||
306 | + - http | ||
207 | /su-money/exchange: | 307 | /su-money/exchange: |
208 | post: | 308 | post: |
209 | tags: | 309 | tags: |
@@ -259,7 +359,7 @@ paths: | @@ -259,7 +359,7 @@ paths: | ||
259 | type: integer | 359 | type: integer |
260 | - name: sponsor | 360 | - name: sponsor |
261 | in: query | 361 | in: query |
262 | - description: 任务发起者 | 362 | + description: 任务发起者UID |
263 | required: false | 363 | required: false |
264 | type: integer | 364 | type: integer |
265 | format: int64 | 365 | format: int64 |
@@ -300,13 +400,13 @@ paths: | @@ -300,13 +400,13 @@ paths: | ||
300 | type: integer | 400 | type: integer |
301 | - name: receiver | 401 | - name: receiver |
302 | in: query | 402 | in: query |
303 | - description: 任务领取人 | 403 | + description: 任务领取人UID |
304 | required: false | 404 | required: false |
305 | type: integer | 405 | type: integer |
306 | format: int64 | 406 | format: int64 |
307 | - name: participator | 407 | - name: participator |
308 | in: query | 408 | in: query |
309 | - description: 任务参与者 | 409 | + description: 任务参与者UID |
310 | required: false | 410 | required: false |
311 | type: integer | 411 | type: integer |
312 | format: int64 | 412 | format: int64 |
@@ -734,6 +834,107 @@ definitions: | @@ -734,6 +834,107 @@ definitions: | ||
734 | properties: | 834 | properties: |
735 | employee: | 835 | employee: |
736 | $ref: '#/definitions/employeeResponseBody' | 836 | $ref: '#/definitions/employeeResponseBody' |
837 | + OffTaskRecordGetOffTaskRecordResponseBody: | ||
838 | + title: 'Mediatype identifier: OffTaskRecordGetOffTaskRecordResponseBody' | ||
839 | + type: object | ||
840 | + properties: | ||
841 | + offTaskRecord: | ||
842 | + $ref: '#/definitions/offTaskRecordResponseBody' | ||
843 | + OffTaskRecordSearchOffTaskRecordRequestBody: | ||
844 | + title: OffTaskRecordSearchOffTaskRecordRequestBody | ||
845 | + type: object | ||
846 | + properties: | ||
847 | + companyId: | ||
848 | + type: integer | ||
849 | + description: 公司ID | ||
850 | + required: | ||
851 | + - companyId | ||
852 | + customerValue: | ||
853 | + type: string | ||
854 | + description: 客户价值 | ||
855 | + limit: | ||
856 | + type: integer | ||
857 | + description: 查询限制 | ||
858 | + format: int64 | ||
859 | + offEndTime: | ||
860 | + type: string | ||
861 | + description: 关闭任务时间区间-截止时间 | ||
862 | + format: datetime | ||
863 | + offStartTime: | ||
864 | + type: string | ||
865 | + description: 关闭任务时间区间-开始时间 | ||
866 | + format: datetime | ||
867 | + offset: | ||
868 | + type: integer | ||
869 | + description: 查询偏离量 | ||
870 | + format: int64 | ||
871 | + taskContentMatch: | ||
872 | + type: string | ||
873 | + description: 任务内容匹配 | ||
874 | + taskNature: | ||
875 | + type: string | ||
876 | + description: 任务性质 | ||
877 | + taskType: | ||
878 | + type: integer | ||
879 | + description: 任务类型 | ||
880 | + format: int64 | ||
881 | + OffTaskRecordSearchOffTaskRecordResponseBody: | ||
882 | + title: 'Mediatype identifier: OffTaskRecordSearchOffTaskRecordResponseBody' | ||
883 | + type: object | ||
884 | + properties: | ||
885 | + count: | ||
886 | + type: integer | ||
887 | + description: 结果总数 | ||
888 | + format: int64 | ||
889 | + offTaskRecords: | ||
890 | + type: array | ||
891 | + items: | ||
892 | + $ref: '#/definitions/offTaskRecordResponseBody' | ||
893 | + StatisticsPersonSuMoneyStatisticsRequestBody: | ||
894 | + title: StatisticsPersonSuMoneyStatisticsRequestBody | ||
895 | + type: object | ||
896 | + properties: | ||
897 | + uid: | ||
898 | + type: integer | ||
899 | + description: 统一用户UID | ||
900 | + required: | ||
901 | + - uid | ||
902 | + StatisticsPersonSuMoneyStatisticsResponseBody: | ||
903 | + title: 'Mediatype identifier: StatisticsPersonSuMoneyStatisticsResponseBody' | ||
904 | + type: object | ||
905 | + properties: | ||
906 | + personSuMoneyStatistics: | ||
907 | + $ref: '#/definitions/personSuMoneyStatisticsResponseBody' | ||
908 | + StatisticsPersonTaskStatisticsRequestBody: | ||
909 | + title: StatisticsPersonTaskStatisticsRequestBody | ||
910 | + type: object | ||
911 | + properties: | ||
912 | + uid: | ||
913 | + type: integer | ||
914 | + description: 统一用户UID | ||
915 | + required: | ||
916 | + - uid | ||
917 | + StatisticsPersonTaskStatisticsResponseBody: | ||
918 | + title: 'Mediatype identifier: StatisticsPersonTaskStatisticsResponseBody' | ||
919 | + type: object | ||
920 | + properties: | ||
921 | + personTaskStatistics: | ||
922 | + $ref: '#/definitions/personTaskStatisticsResponseBody' | ||
923 | + StatisticsSystemTaskStatisticsRequestBody: | ||
924 | + title: StatisticsSystemTaskStatisticsRequestBody | ||
925 | + type: object | ||
926 | + properties: | ||
927 | + companyId: | ||
928 | + type: integer | ||
929 | + description: 公司ID | ||
930 | + required: | ||
931 | + - companyId | ||
932 | + StatisticsSystemTaskStatisticsResponseBody: | ||
933 | + title: 'Mediatype identifier: StatisticsSystemTaskStatisticsResponseBody' | ||
934 | + type: object | ||
935 | + properties: | ||
936 | + systemTaskStatistics: | ||
937 | + $ref: '#/definitions/systemTaskStatisticsResponseBody' | ||
737 | SuMoneyExchangeSuMoneyRequestBody: | 938 | SuMoneyExchangeSuMoneyRequestBody: |
738 | title: SuMoneyExchangeSuMoneyRequestBody | 939 | title: SuMoneyExchangeSuMoneyRequestBody |
739 | type: object | 940 | type: object |
@@ -745,7 +946,7 @@ definitions: | @@ -745,7 +946,7 @@ definitions: | ||
745 | - exchangeDescription | 946 | - exchangeDescription |
746 | operator: | 947 | operator: |
747 | type: integer | 948 | type: integer |
748 | - description: 操作人UID(默认为系统操作) | 949 | + description: 操作人UID |
749 | format: int64 | 950 | format: int64 |
750 | suMoney: | 951 | suMoney: |
751 | type: number | 952 | type: number |
@@ -775,11 +976,23 @@ definitions: | @@ -775,11 +976,23 @@ definitions: | ||
775 | type: integer | 976 | type: integer |
776 | description: 查询偏离量 | 977 | description: 查询偏离量 |
777 | format: int64 | 978 | format: int64 |
979 | + operator: | ||
980 | + type: integer | ||
981 | + description: 操作人UID | ||
982 | + format: int64 | ||
778 | recordType: | 983 | recordType: |
779 | type: integer | 984 | type: integer |
780 | description: 记录类型(1兑换,2任务奖励) | 985 | description: 记录类型(1兑换,2任务奖励) |
781 | required: | 986 | required: |
782 | - recordType | 987 | - recordType |
988 | + transactionEndTime: | ||
989 | + type: string | ||
990 | + description: 事务时间区间-截止时间 | ||
991 | + format: datetime | ||
992 | + transactionStartTime: | ||
993 | + type: string | ||
994 | + description: 事务时间区间-开始时间 | ||
995 | + format: datetime | ||
783 | uid: | 996 | uid: |
784 | type: integer | 997 | type: integer |
785 | description: 统一用户UID | 998 | description: 统一用户UID |
@@ -1084,6 +1297,10 @@ definitions: | @@ -1084,6 +1297,10 @@ definitions: | ||
1084 | type: integer | 1297 | type: integer |
1085 | description: 竞标时间(1全部,2已截止,3未截止) | 1298 | description: 竞标时间(1全部,2已截止,3未截止) |
1086 | format: int64 | 1299 | format: int64 |
1300 | + bidder: | ||
1301 | + type: integer | ||
1302 | + description: 竞标参与者UID | ||
1303 | + format: int64 | ||
1087 | companyId: | 1304 | companyId: |
1088 | type: integer | 1305 | type: integer |
1089 | description: 公司ID | 1306 | description: 公司ID |
@@ -1092,6 +1309,9 @@ definitions: | @@ -1092,6 +1309,9 @@ definitions: | ||
1092 | customerValue: | 1309 | customerValue: |
1093 | type: string | 1310 | type: string |
1094 | description: 客户价值 | 1311 | description: 客户价值 |
1312 | + isFilterCloseStatus: | ||
1313 | + type: boolean | ||
1314 | + description: 是否过滤关闭状态任务 | ||
1095 | isRewardTake: | 1315 | isRewardTake: |
1096 | type: boolean | 1316 | type: boolean |
1097 | description: 是否悬赏任务 | 1317 | description: 是否悬赏任务 |
@@ -1105,15 +1325,15 @@ definitions: | @@ -1105,15 +1325,15 @@ definitions: | ||
1105 | format: int64 | 1325 | format: int64 |
1106 | participator: | 1326 | participator: |
1107 | type: integer | 1327 | type: integer |
1108 | - description: 任务参与者 | 1328 | + description: 任务参与者UID |
1109 | format: int64 | 1329 | format: int64 |
1110 | receiver: | 1330 | receiver: |
1111 | type: integer | 1331 | type: integer |
1112 | - description: 任务领取人 | 1332 | + description: 任务领取人UID |
1113 | format: int64 | 1333 | format: int64 |
1114 | sponsor: | 1334 | sponsor: |
1115 | type: integer | 1335 | type: integer |
1116 | - description: 任务发起者 | 1336 | + description: 任务发起者UID |
1117 | format: int64 | 1337 | format: int64 |
1118 | taskContentMatch: | 1338 | taskContentMatch: |
1119 | type: string | 1339 | type: string |
@@ -1330,6 +1550,76 @@ definitions: | @@ -1330,6 +1550,76 @@ definitions: | ||
1330 | task: | 1550 | task: |
1331 | $ref: '#/definitions/taskResponseBody' | 1551 | $ref: '#/definitions/taskResponseBody' |
1332 | description: 关闭任务记录 | 1552 | description: 关闭任务记录 |
1553 | + personSuMoneyStatisticsResponseBody: | ||
1554 | + title: personSuMoneyStatisticsResponseBody | ||
1555 | + type: object | ||
1556 | + properties: | ||
1557 | + currentSuMoney: | ||
1558 | + type: number | ||
1559 | + description: 当前素币 | ||
1560 | + required: | ||
1561 | + - currentSuMoney | ||
1562 | + incomeSuMoneyOfYesterday: | ||
1563 | + type: number | ||
1564 | + description: 昨日收益 | ||
1565 | + required: | ||
1566 | + - incomeSuMoneyOfYesterday | ||
1567 | + description: 个人素币统计 | ||
1568 | + personTaskStatisticsResponseBody: | ||
1569 | + title: personTaskStatisticsResponseBody | ||
1570 | + type: object | ||
1571 | + properties: | ||
1572 | + bidAsParticipator: | ||
1573 | + type: integer | ||
1574 | + description: 个人参与的竞标中任务 | ||
1575 | + required: | ||
1576 | + - bidAsParticipator | ||
1577 | + completedAsParticipator: | ||
1578 | + type: integer | ||
1579 | + description: 个人参与的已完成任务 | ||
1580 | + required: | ||
1581 | + - completedAsParticipator | ||
1582 | + completedAsReceiver: | ||
1583 | + type: integer | ||
1584 | + description: 个人领取的已完成任务 | ||
1585 | + required: | ||
1586 | + - completedAsReceiver | ||
1587 | + completedAsSponsor: | ||
1588 | + type: integer | ||
1589 | + description: 个人发起的已完成任务 | ||
1590 | + required: | ||
1591 | + - completedAsSponsor | ||
1592 | + unAcceptanceAsReceiver: | ||
1593 | + type: integer | ||
1594 | + description: 个人领取的待验收任务 | ||
1595 | + required: | ||
1596 | + - unAcceptanceAsReceiver | ||
1597 | + unAcceptanceAsSponsor: | ||
1598 | + type: integer | ||
1599 | + description: 个人发起的待验收任务 | ||
1600 | + required: | ||
1601 | + - unAcceptanceAsSponsor | ||
1602 | + unClaimedAsSponsor: | ||
1603 | + type: integer | ||
1604 | + description: 个人发起的待领取任务 | ||
1605 | + required: | ||
1606 | + - unClaimedAsSponsor | ||
1607 | + unReleasedAsSponsor: | ||
1608 | + type: integer | ||
1609 | + description: 个人发起的待发布任务 | ||
1610 | + required: | ||
1611 | + - unReleasedAsSponsor | ||
1612 | + underwayAsReceiver: | ||
1613 | + type: integer | ||
1614 | + description: 个人领取的进行中任务 | ||
1615 | + required: | ||
1616 | + - underwayAsReceiver | ||
1617 | + underwayAsSponsor: | ||
1618 | + type: integer | ||
1619 | + description: 个人发起的进行中任务 | ||
1620 | + required: | ||
1621 | + - underwayAsSponsor | ||
1622 | + description: 个人任务统计 | ||
1333 | referenceResourceItemRequestBody: | 1623 | referenceResourceItemRequestBody: |
1334 | title: referenceResourceItemRequestBody | 1624 | title: referenceResourceItemRequestBody |
1335 | type: object | 1625 | type: object |
@@ -1418,10 +1708,7 @@ definitions: | @@ -1418,10 +1708,7 @@ definitions: | ||
1418 | employee: | 1708 | employee: |
1419 | $ref: '#/definitions/employeeInfoResponseBody' | 1709 | $ref: '#/definitions/employeeInfoResponseBody' |
1420 | operator: | 1710 | operator: |
1421 | - type: integer | ||
1422 | - description: 操作人 | ||
1423 | - required: | ||
1424 | - - operator | 1711 | + $ref: '#/definitions/employeeInfoResponseBody' |
1425 | recordDescription: | 1712 | recordDescription: |
1426 | type: string | 1713 | type: string |
1427 | description: 素币事务记录描述 | 1714 | description: 素币事务记录描述 |
@@ -1437,23 +1724,55 @@ definitions: | @@ -1437,23 +1724,55 @@ definitions: | ||
1437 | description: 事务素币值 | 1724 | description: 事务素币值 |
1438 | required: | 1725 | required: |
1439 | - suMoney | 1726 | - suMoney |
1727 | + suMoneyBeforeTransaction: | ||
1728 | + type: number | ||
1729 | + description: 事务处理前素币值 | ||
1730 | + required: | ||
1731 | + - suMoneyBeforeTransaction | ||
1440 | suMoneyTransactionRecordId: | 1732 | suMoneyTransactionRecordId: |
1441 | type: integer | 1733 | type: integer |
1442 | description: 素币事务记录ID | 1734 | description: 素币事务记录ID |
1443 | required: | 1735 | required: |
1444 | - suMoneyTransactionRecordId | 1736 | - suMoneyTransactionRecordId |
1445 | description: 素币事务记录 | 1737 | description: 素币事务记录 |
1738 | + systemTaskStatisticsResponseBody: | ||
1739 | + title: systemTaskStatisticsResponseBody | ||
1740 | + type: object | ||
1741 | + properties: | ||
1742 | + completed: | ||
1743 | + type: integer | ||
1744 | + description: 系统已完成任务 | ||
1745 | + format: int64 | ||
1746 | + released: | ||
1747 | + type: integer | ||
1748 | + description: 系统已发布任务 | ||
1749 | + required: | ||
1750 | + - released | ||
1751 | + underway: | ||
1752 | + type: integer | ||
1753 | + description: 系统进行中任务 | ||
1754 | + format: int64 | ||
1755 | + description: 系统任务统计 | ||
1446 | taskPercentageItemRequestBody: | 1756 | taskPercentageItemRequestBody: |
1447 | title: taskPercentageItemRequestBody | 1757 | title: taskPercentageItemRequestBody |
1448 | type: object | 1758 | type: object |
1449 | properties: | 1759 | properties: |
1450 | contributor: | 1760 | contributor: |
1451 | $ref: '#/definitions/employeeInfoRequestBody' | 1761 | $ref: '#/definitions/employeeInfoRequestBody' |
1762 | + issueScore: | ||
1763 | + type: number | ||
1764 | + description: 引用问题的得分 | ||
1765 | + format: double | ||
1452 | percentage: | 1766 | percentage: |
1453 | type: integer | 1767 | type: integer |
1454 | description: 任务贡献占比 | 1768 | description: 任务贡献占比 |
1455 | required: | 1769 | required: |
1456 | - percentage | 1770 | - percentage |
1771 | + suMoney: | ||
1772 | + type: number | ||
1773 | + description: 分配到的奖励素币 | ||
1774 | + required: | ||
1775 | + - suMoney | ||
1457 | description: 任务贡献占比项 | 1776 | description: 任务贡献占比项 |
1458 | taskPercentageItemResponseBody: | 1777 | taskPercentageItemResponseBody: |
1459 | title: taskPercentageItemResponseBody | 1778 | title: taskPercentageItemResponseBody |
@@ -1461,11 +1780,20 @@ definitions: | @@ -1461,11 +1780,20 @@ definitions: | ||
1461 | properties: | 1780 | properties: |
1462 | contributor: | 1781 | contributor: |
1463 | $ref: '#/definitions/employeeInfoResponseBody' | 1782 | $ref: '#/definitions/employeeInfoResponseBody' |
1783 | + issueScore: | ||
1784 | + type: number | ||
1785 | + description: 引用问题的得分 | ||
1786 | + format: double | ||
1464 | percentage: | 1787 | percentage: |
1465 | type: integer | 1788 | type: integer |
1466 | description: 任务贡献占比 | 1789 | description: 任务贡献占比 |
1467 | required: | 1790 | required: |
1468 | - percentage | 1791 | - percentage |
1792 | + suMoney: | ||
1793 | + type: number | ||
1794 | + description: 分配到的奖励素币 | ||
1795 | + required: | ||
1796 | + - suMoney | ||
1469 | description: 任务贡献占比项 | 1797 | description: 任务贡献占比项 |
1470 | taskResponseBody: | 1798 | taskResponseBody: |
1471 | title: taskResponseBody | 1799 | title: taskResponseBody |
1 | +package query | ||
2 | + | ||
3 | +import ( | ||
4 | + "fmt" | ||
5 | + | ||
6 | + "github.com/astaxie/beego/validation" | ||
7 | +) | ||
8 | + | ||
9 | +type ListEmployeePermissionQuery struct { | ||
10 | +} | ||
11 | + | ||
12 | +func (listEmployeePermissionQuery *ListEmployeePermissionQuery) ValidateQuery() error { | ||
13 | + valid := validation.Validation{} | ||
14 | + b, err := valid.Valid(listEmployeePermissionQuery) | ||
15 | + if err != nil { | ||
16 | + return err | ||
17 | + } | ||
18 | + if !b { | ||
19 | + for _, validErr := range valid.Errors { | ||
20 | + return fmt.Errorf("%s %s", validErr.Key, validErr.Message) | ||
21 | + } | ||
22 | + } | ||
23 | + return nil | ||
24 | +} |
@@ -163,6 +163,28 @@ func (configService *ConfigService) ListBidTimeMatch(listBidTimeMatchQuery *quer | @@ -163,6 +163,28 @@ func (configService *ConfigService) ListBidTimeMatch(listBidTimeMatchQuery *quer | ||
163 | }, nil | 163 | }, nil |
164 | } | 164 | } |
165 | 165 | ||
166 | +// 返回员工权限字典列表(1任务管理,2素币管理,3成员管理) | ||
167 | +func (configService *ConfigService) ListEmployeePermission(listEmployeePermissionQuery *query.ListEmployeePermissionQuery) (interface{}, error) { | ||
168 | + if err := listEmployeePermissionQuery.ValidateQuery(); err != nil { | ||
169 | + return nil, application.ThrowError(application.ARG_ERROR, err.Error()) | ||
170 | + } | ||
171 | + employeePermissionMap := map[int]string{ | ||
172 | + 1: "任务管理", | ||
173 | + 2: "素币管理", | ||
174 | + 3: "成员管理", | ||
175 | + } | ||
176 | + var list []map[string]interface{} | ||
177 | + for key, value := range employeePermissionMap { | ||
178 | + list = append(list, map[string]interface{}{ | ||
179 | + "id": key, | ||
180 | + "name": value, | ||
181 | + }) | ||
182 | + } | ||
183 | + return map[string]interface{}{ | ||
184 | + "employeePermissions": list, | ||
185 | + }, nil | ||
186 | +} | ||
187 | + | ||
166 | func NewConfigService(options map[string]interface{}) *ConfigService { | 188 | func NewConfigService(options map[string]interface{}) *ConfigService { |
167 | newConfigService := &ConfigService{} | 189 | newConfigService := &ConfigService{} |
168 | return newConfigService | 190 | return newConfigService |
@@ -2,15 +2,19 @@ package command | @@ -2,15 +2,19 @@ package command | ||
2 | 2 | ||
3 | import ( | 3 | import ( |
4 | "fmt" | 4 | "fmt" |
5 | + | ||
5 | "github.com/astaxie/beego/validation" | 6 | "github.com/astaxie/beego/validation" |
6 | ) | 7 | ) |
7 | 8 | ||
8 | type CreateEmployeeCommand struct { | 9 | type CreateEmployeeCommand struct { |
10 | + // 统一用户UID | ||
9 | Uid int64 `json:"uid" valid:"Required"` | 11 | Uid int64 `json:"uid" valid:"Required"` |
10 | // 员工姓名 | 12 | // 员工姓名 |
11 | - EmployeeName string `json:"employeeName" valid:"Required"` | 13 | + EmployeeName string `json:"employeeName,omitempty"` |
12 | // 员工账号 | 14 | // 员工账号 |
13 | - EmployeeAccount string `json:"employeeAccount" valid:"Required"` | 15 | + EmployeeAccount string `json:"employeeAccount,omitempty"` |
16 | + // 员工头像URL | ||
17 | + EmployeeAvatarUrl string `json:"employeeAvatarUrl,omitempty"` | ||
14 | } | 18 | } |
15 | 19 | ||
16 | func (createEmployeeCommand *CreateEmployeeCommand) ValidateCommand() error { | 20 | func (createEmployeeCommand *CreateEmployeeCommand) ValidateCommand() error { |
@@ -2,6 +2,7 @@ package command | @@ -2,6 +2,7 @@ package command | ||
2 | 2 | ||
3 | import ( | 3 | import ( |
4 | "fmt" | 4 | "fmt" |
5 | + | ||
5 | "github.com/astaxie/beego/validation" | 6 | "github.com/astaxie/beego/validation" |
6 | ) | 7 | ) |
7 | 8 | ||
@@ -12,6 +13,10 @@ type UpdateEmployeeCommand struct { | @@ -12,6 +13,10 @@ type UpdateEmployeeCommand struct { | ||
12 | EmployeeName string `json:"employeeName,omitempty"` | 13 | EmployeeName string `json:"employeeName,omitempty"` |
13 | // 员工账号 | 14 | // 员工账号 |
14 | EmployeeAccount string `json:"employeeAccount,omitempty"` | 15 | EmployeeAccount string `json:"employeeAccount,omitempty"` |
16 | + // 员工头像URL | ||
17 | + EmployeeAvatarUrl string `json:"employeeAvatarUrl,omitempty"` | ||
18 | + // 员工权限集合 | ||
19 | + Permissions []int `json:"permissions,omitempty"` | ||
15 | } | 20 | } |
16 | 21 | ||
17 | func (updateEmployeeCommand *UpdateEmployeeCommand) ValidateCommand() error { | 22 | func (updateEmployeeCommand *UpdateEmployeeCommand) ValidateCommand() error { |
@@ -2,10 +2,15 @@ package query | @@ -2,10 +2,15 @@ package query | ||
2 | 2 | ||
3 | import ( | 3 | import ( |
4 | "fmt" | 4 | "fmt" |
5 | + | ||
5 | "github.com/astaxie/beego/validation" | 6 | "github.com/astaxie/beego/validation" |
6 | ) | 7 | ) |
7 | 8 | ||
8 | type ListEmployeeQuery struct { | 9 | type ListEmployeeQuery struct { |
10 | + // 公司ID | ||
11 | + CompanyId int64 `json:"companyId" valid:"Required"` | ||
12 | + // 员工姓名匹配 | ||
13 | + EmployeeNameMatch string `json:"employeeNameMatch,omitempty"` | ||
9 | // 查询偏离量 | 14 | // 查询偏离量 |
10 | Offset int `json:"offset,omitempty"` | 15 | Offset int `json:"offset,omitempty"` |
11 | // 查询限制 | 16 | // 查询限制 |
@@ -15,7 +15,7 @@ type SearchOffTaskRecordCommand struct { | @@ -15,7 +15,7 @@ type SearchOffTaskRecordCommand struct { | ||
15 | // 任务类型 | 15 | // 任务类型 |
16 | TaskType int `json:"taskType,omitempty"` | 16 | TaskType int `json:"taskType,omitempty"` |
17 | // 客户价值 | 17 | // 客户价值 |
18 | - CustomerValue string `json:"customerValue,omitempty"` | 18 | + CustomerValue []string `json:"customerValue,omitempty"` |
19 | // 任务性质 | 19 | // 任务性质 |
20 | TaskNature string `json:"taskNature,omitempty"` | 20 | TaskNature string `json:"taskNature,omitempty"` |
21 | // 关闭任务时间区间-开始时间 | 21 | // 关闭任务时间区间-开始时间 |
@@ -18,7 +18,7 @@ type SearchTaskCommand struct { | @@ -18,7 +18,7 @@ type SearchTaskCommand struct { | ||
18 | // 任务状态 | 18 | // 任务状态 |
19 | TaskStatus int `json:"taskStatus,omitempty"` | 19 | TaskStatus int `json:"taskStatus,omitempty"` |
20 | // 客户价值 | 20 | // 客户价值 |
21 | - CustomerValue string `json:"customerValue,omitempty"` | 21 | + CustomerValue []string `json:"customerValue,omitempty"` |
22 | // 任务性质 | 22 | // 任务性质 |
23 | TaskNature string `json:"taskNature,omitempty"` | 23 | TaskNature string `json:"taskNature,omitempty"` |
24 | // 是否悬赏任务 | 24 | // 是否悬赏任务 |
@@ -20,7 +20,7 @@ type ListTaskQuery struct { | @@ -20,7 +20,7 @@ type ListTaskQuery struct { | ||
20 | // 任务状态 | 20 | // 任务状态 |
21 | TaskStatus int `json:"taskStatus,omitempty"` | 21 | TaskStatus int `json:"taskStatus,omitempty"` |
22 | // 客户价值 | 22 | // 客户价值 |
23 | - CustomerValue string `json:"customerValue,omitempty"` | 23 | + CustomerValue []string `json:"customerValue,omitempty"` |
24 | // 任务性质 | 24 | // 任务性质 |
25 | TaskNature string `json:"taskNature,omitempty"` | 25 | TaskNature string `json:"taskNature,omitempty"` |
26 | // 是否悬赏任务 | 26 | // 是否悬赏任务 |
@@ -12,6 +12,8 @@ type Employee struct { | @@ -12,6 +12,8 @@ type Employee struct { | ||
12 | SuMoney float64 `json:"suMoney"` | 12 | SuMoney float64 `json:"suMoney"` |
13 | // 员工状态(启用或者禁用) | 13 | // 员工状态(启用或者禁用) |
14 | Status int `json:"status"` | 14 | Status int `json:"status"` |
15 | + // 员工权限集合 | ||
16 | + Permissions []int `json:"permissions"` | ||
15 | } | 17 | } |
16 | 18 | ||
17 | type EmployeeRepository interface { | 19 | type EmployeeRepository interface { |
@@ -38,6 +40,9 @@ func (employee *Employee) Update(data map[string]interface{}) error { | @@ -38,6 +40,9 @@ func (employee *Employee) Update(data map[string]interface{}) error { | ||
38 | if status, ok := data["status"]; ok { | 40 | if status, ok := data["status"]; ok { |
39 | employee.Status = status.(int) | 41 | employee.Status = status.(int) |
40 | } | 42 | } |
43 | + if permissions, ok := data["permissions"]; ok { | ||
44 | + employee.Permissions = permissions.([]int) | ||
45 | + } | ||
41 | return nil | 46 | return nil |
42 | } | 47 | } |
43 | 48 |
@@ -8,4 +8,6 @@ type EmployeeInfo struct { | @@ -8,4 +8,6 @@ type EmployeeInfo struct { | ||
8 | EmployeeName string `json:"employeeName"` | 8 | EmployeeName string `json:"employeeName"` |
9 | // 员工账号 | 9 | // 员工账号 |
10 | EmployeeAccount string `json:"employeeAccount"` | 10 | EmployeeAccount string `json:"employeeAccount"` |
11 | + // 员工头像URL | ||
12 | + EmployeeAvatarUrl string `json:"employeeAvatarUrl"` | ||
11 | } | 13 | } |
@@ -12,8 +12,12 @@ type Employee struct { | @@ -12,8 +12,12 @@ type Employee struct { | ||
12 | EmployeeName string | 12 | EmployeeName string |
13 | // 员工账号 | 13 | // 员工账号 |
14 | EmployeeAccount string | 14 | EmployeeAccount string |
15 | + // 员工头像URL | ||
16 | + EmployeeAvatarUrl string | ||
15 | // 当前素币 | 17 | // 当前素币 |
16 | SuMoney float64 | 18 | SuMoney float64 |
17 | // 员工状态(启用或者禁用) | 19 | // 员工状态(启用或者禁用) |
18 | Status int | 20 | Status int |
21 | + // 员工权限集合 | ||
22 | + Permissions []int `pg:",array"` | ||
19 | } | 23 | } |
@@ -30,16 +30,16 @@ func (repository *EmployeeRepository) Save(employee *domain.Employee) (*domain.E | @@ -30,16 +30,16 @@ func (repository *EmployeeRepository) Save(employee *domain.Employee) (*domain.E | ||
30 | return employee, err | 30 | return employee, err |
31 | } | 31 | } |
32 | if _, err := tx.QueryOne( | 32 | if _, err := tx.QueryOne( |
33 | - pg.Scan(&employee.EmployeeId, &employee.CompanyId, &employee.EmployeeInfo.Uid, &employee.EmployeeInfo.EmployeeName, &employee.EmployeeInfo.EmployeeAccount, &employee.SuMoney, &employee.Status), | ||
34 | - "INSERT INTO employees (id, company_id, uid, employee_name, employee_account, su_money, status) VALUES (?, ?, ?, ?, ?, ?, ?) RETURNING id, company_id, uid, employee_name, employee_account, su_money, status", | ||
35 | - employee.EmployeeId, employee.CompanyId, employee.EmployeeInfo.Uid, employee.EmployeeInfo.EmployeeName, employee.EmployeeInfo.EmployeeAccount, employee.SuMoney, employee.Status); err != nil { | 33 | + pg.Scan(&employee.EmployeeId, &employee.CompanyId, &employee.EmployeeInfo.Uid, &employee.EmployeeInfo.EmployeeName, &employee.EmployeeInfo.EmployeeAccount, &employee.EmployeeInfo.EmployeeAvatarUrl, &employee.SuMoney, &employee.Status, pg.Array(&employee.Permissions)), |
34 | + "INSERT INTO employees (id, company_id, uid, employee_name, employee_account, employee_avatar_url, su_money, status, permissions) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) RETURNING id, company_id, uid, employee_name, employee_account, employee_avatar_url, su_money, status, permissions", | ||
35 | + employee.EmployeeId, employee.CompanyId, employee.EmployeeInfo.Uid, employee.EmployeeInfo.EmployeeName, employee.EmployeeInfo.EmployeeAccount, employee.EmployeeInfo.EmployeeAvatarUrl, employee.SuMoney, employee.Status, pg.Array(employee.Permissions)); err != nil { | ||
36 | return employee, err | 36 | return employee, err |
37 | } | 37 | } |
38 | } else { | 38 | } else { |
39 | if _, err := tx.QueryOne( | 39 | if _, err := tx.QueryOne( |
40 | - pg.Scan(&employee.EmployeeId, &employee.CompanyId, &employee.EmployeeInfo.Uid, &employee.EmployeeInfo.EmployeeName, &employee.EmployeeInfo.EmployeeAccount, &employee.SuMoney, &employee.Status), | ||
41 | - "UPDATE employees SET employee_name=?, employee_account=?, su_money=?, status=? WHERE uid=? RETURNING id, company_id, uid, employee_name, employee_account, su_money, status", | ||
42 | - employee.EmployeeInfo.EmployeeName, employee.EmployeeInfo.EmployeeAccount, employee.SuMoney, employee.Status, employee.EmployeeInfo.Uid); err != nil { | 40 | + pg.Scan(&employee.EmployeeId, &employee.CompanyId, &employee.EmployeeInfo.Uid, &employee.EmployeeInfo.EmployeeName, &employee.EmployeeInfo.EmployeeAccount, &employee.EmployeeInfo.EmployeeAvatarUrl, &employee.SuMoney, &employee.Status, pg.Array(&employee.Permissions)), |
41 | + "UPDATE employees SET employee_name=?, employee_account=?, employee_avatar_url=?, su_money=?, status=?, permissions=? WHERE uid=? RETURNING id, company_id, uid, employee_name, employee_account, employee_avatar_url, su_money, status, permissions", | ||
42 | + employee.EmployeeInfo.EmployeeName, employee.EmployeeInfo.EmployeeAccount, &employee.EmployeeInfo.EmployeeAvatarUrl, employee.SuMoney, employee.Status, pg.Array(employee.Permissions), employee.EmployeeInfo.Uid); err != nil { | ||
43 | return employee, err | 43 | return employee, err |
44 | } | 44 | } |
45 | } | 45 | } |
@@ -82,6 +82,12 @@ func (repository *EmployeeRepository) Find(queryOptions map[string]interface{}) | @@ -82,6 +82,12 @@ func (repository *EmployeeRepository) Find(queryOptions map[string]interface{}) | ||
82 | var employeeModels []*models.Employee | 82 | var employeeModels []*models.Employee |
83 | employees := make([]*domain.Employee, 0) | 83 | employees := make([]*domain.Employee, 0) |
84 | query := tx.Model(&employeeModels) | 84 | query := tx.Model(&employeeModels) |
85 | + if companyId, ok := queryOptions["companyId"]; ok { | ||
86 | + query = query.Where("employee.company_id = ?", companyId) | ||
87 | + } | ||
88 | + if employeeNameMatch, ok := queryOptions["employeeNameMatch"]; ok && (employeeNameMatch != "") { | ||
89 | + query = query.Where("employee.employee_name LIKE ?", fmt.Sprintf("%%%s%%", employeeNameMatch.(string))) | ||
90 | + } | ||
85 | if offset, ok := queryOptions["offset"]; ok { | 91 | if offset, ok := queryOptions["offset"]; ok { |
86 | offset := offset.(int) | 92 | offset := offset.(int) |
87 | if offset > -1 { | 93 | if offset > -1 { |
@@ -117,12 +123,14 @@ func (repository *EmployeeRepository) transformPgModelToDomainModel(employeeMode | @@ -117,12 +123,14 @@ func (repository *EmployeeRepository) transformPgModelToDomainModel(employeeMode | ||
117 | EmployeeId: employeeModel.Id, | 123 | EmployeeId: employeeModel.Id, |
118 | CompanyId: employeeModel.CompanyId, | 124 | CompanyId: employeeModel.CompanyId, |
119 | EmployeeInfo: &domain.EmployeeInfo{ | 125 | EmployeeInfo: &domain.EmployeeInfo{ |
120 | - Uid: employeeModel.Uid, | ||
121 | - EmployeeName: employeeModel.EmployeeName, | ||
122 | - EmployeeAccount: employeeModel.EmployeeAccount, | 126 | + Uid: employeeModel.Uid, |
127 | + EmployeeName: employeeModel.EmployeeName, | ||
128 | + EmployeeAccount: employeeModel.EmployeeAccount, | ||
129 | + EmployeeAvatarUrl: employeeModel.EmployeeAvatarUrl, | ||
123 | }, | 130 | }, |
124 | - SuMoney: employeeModel.SuMoney, | ||
125 | - Status: employeeModel.Status, | 131 | + SuMoney: employeeModel.SuMoney, |
132 | + Status: employeeModel.Status, | ||
133 | + Permissions: employeeModel.Permissions, | ||
126 | }, nil | 134 | }, nil |
127 | } | 135 | } |
128 | 136 |
@@ -114,8 +114,13 @@ func (repository *TaskRepository) Find(queryOptions map[string]interface{}) (int | @@ -114,8 +114,13 @@ func (repository *TaskRepository) Find(queryOptions map[string]interface{}) (int | ||
114 | if taskNature, ok := queryOptions["taskNature"]; ok && (taskNature != "") { | 114 | if taskNature, ok := queryOptions["taskNature"]; ok && (taskNature != "") { |
115 | query = query.Where(`task.task_nature = ?`, taskNature) | 115 | query = query.Where(`task.task_nature = ?`, taskNature) |
116 | } | 116 | } |
117 | - if customerValue, ok := queryOptions["customerValue"]; ok && (customerValue != "") { | ||
118 | - query = query.Where("task.customer_value @> ?", pg.Array([]string{customerValue.(string)})) | 117 | + if customerValue, ok := queryOptions["customerValue"]; ok && len(customerValue.([]string)) != 0 { |
118 | + query = query.WhereGroup(func(q *orm.Query) (*orm.Query, error) { | ||
119 | + for _, value := range customerValue.([]string) { | ||
120 | + q = q.WhereOr("task.customer_value @> ?", pg.Array([]string{value})) | ||
121 | + } | ||
122 | + return q, nil | ||
123 | + }) | ||
119 | } | 124 | } |
120 | if taskContentMatch, ok := queryOptions["taskContentMatch"]; ok && (taskContentMatch != "") { | 125 | if taskContentMatch, ok := queryOptions["taskContentMatch"]; ok && (taskContentMatch != "") { |
121 | query = query.WhereGroup(func(q *orm.Query) (*orm.Query, error) { | 126 | query = query.WhereGroup(func(q *orm.Query) (*orm.Query, error) { |
@@ -94,3 +94,17 @@ func (controller *ConfigController) ListBidTimeMatch() { | @@ -94,3 +94,17 @@ func (controller *ConfigController) ListBidTimeMatch() { | ||
94 | controller.Data["json"] = response | 94 | controller.Data["json"] = response |
95 | controller.ServeJSON() | 95 | controller.ServeJSON() |
96 | } | 96 | } |
97 | + | ||
98 | +func (controller *ConfigController) ListEmployeePermission() { | ||
99 | + configService := service.NewConfigService(nil) | ||
100 | + listEmployeePermissionQuery := &query.ListEmployeePermissionQuery{} | ||
101 | + data, err := configService.ListEmployeePermission(listEmployeePermissionQuery) | ||
102 | + var response utils.JsonResponse | ||
103 | + if err != nil { | ||
104 | + response = utils.ResponseError(controller.Ctx, err) | ||
105 | + } else { | ||
106 | + response = utils.ResponseData(controller.Ctx, data) | ||
107 | + } | ||
108 | + controller.Data["json"] = response | ||
109 | + controller.ServeJSON() | ||
110 | +} |
@@ -2,6 +2,7 @@ package controllers | @@ -2,6 +2,7 @@ package controllers | ||
2 | 2 | ||
3 | import ( | 3 | import ( |
4 | "encoding/json" | 4 | "encoding/json" |
5 | + | ||
5 | "github.com/astaxie/beego" | 6 | "github.com/astaxie/beego" |
6 | "github.com/linmadan/egglib-go/web/beego/utils" | 7 | "github.com/linmadan/egglib-go/web/beego/utils" |
7 | "gitlab.fjmaimaimai.com/linmadan/mmm-worth/pkg/application/employee/command" | 8 | "gitlab.fjmaimaimai.com/linmadan/mmm-worth/pkg/application/employee/command" |
@@ -80,6 +81,10 @@ func (controller *EmployeeController) RemoveEmployee() { | @@ -80,6 +81,10 @@ func (controller *EmployeeController) RemoveEmployee() { | ||
80 | func (controller *EmployeeController) ListEmployee() { | 81 | func (controller *EmployeeController) ListEmployee() { |
81 | employeeService := service.NewEmployeeService(nil) | 82 | employeeService := service.NewEmployeeService(nil) |
82 | listEmployeeQuery := &query.ListEmployeeQuery{} | 83 | listEmployeeQuery := &query.ListEmployeeQuery{} |
84 | + companyId, _ := controller.GetInt64("companyId") | ||
85 | + listEmployeeQuery.CompanyId = companyId | ||
86 | + employeeNameMatch := controller.GetString("employeeNameMatch") | ||
87 | + listEmployeeQuery.EmployeeNameMatch = employeeNameMatch | ||
83 | offset, _ := controller.GetInt("offset") | 88 | offset, _ := controller.GetInt("offset") |
84 | listEmployeeQuery.Offset = offset | 89 | listEmployeeQuery.Offset = offset |
85 | limit, _ := controller.GetInt("limit") | 90 | limit, _ := controller.GetInt("limit") |
@@ -228,8 +228,6 @@ func (controller *TaskController) ListTask() { | @@ -228,8 +228,6 @@ func (controller *TaskController) ListTask() { | ||
228 | listTaskQuery.TaskType = taskType | 228 | listTaskQuery.TaskType = taskType |
229 | taskStatus, _ := controller.GetInt("taskStatus") | 229 | taskStatus, _ := controller.GetInt("taskStatus") |
230 | listTaskQuery.TaskStatus = taskStatus | 230 | listTaskQuery.TaskStatus = taskStatus |
231 | - customerValue := controller.GetString("customerValue") | ||
232 | - listTaskQuery.CustomerValue = customerValue | ||
233 | taskNature := controller.GetString("taskNature") | 231 | taskNature := controller.GetString("taskNature") |
234 | listTaskQuery.TaskNature = taskNature | 232 | listTaskQuery.TaskNature = taskNature |
235 | isRewardTake, _ := controller.GetBool("isRewardTake") | 233 | isRewardTake, _ := controller.GetBool("isRewardTake") |
@@ -12,4 +12,5 @@ func init() { | @@ -12,4 +12,5 @@ func init() { | ||
12 | beego.Router("/config/customer-values", &controllers.ConfigController{}, "Get:ListCustomerValue") | 12 | beego.Router("/config/customer-values", &controllers.ConfigController{}, "Get:ListCustomerValue") |
13 | beego.Router("/config/reference-resource-types", &controllers.ConfigController{}, "Get:ListReferenceResourceType") | 13 | beego.Router("/config/reference-resource-types", &controllers.ConfigController{}, "Get:ListReferenceResourceType") |
14 | beego.Router("/config/bid-time-matchs", &controllers.ConfigController{}, "Get:ListBidTimeMatch") | 14 | beego.Router("/config/bid-time-matchs", &controllers.ConfigController{}, "Get:ListBidTimeMatch") |
15 | + beego.Router("/config/employee-permissions", &controllers.ConfigController{}, "Get:ListEmployeePermission") | ||
15 | } | 16 | } |
1 | +package config | ||
2 | + | ||
3 | +import ( | ||
4 | + "net/http" | ||
5 | + | ||
6 | + "github.com/gavv/httpexpect" | ||
7 | + . "github.com/onsi/ginkgo" | ||
8 | +) | ||
9 | + | ||
10 | +var _ = Describe("返回员工权限字典列表(1任务管理,2素币管理,3成员管理)", func() { | ||
11 | + Describe("返回员工权限字典列表(1任务管理,2素币管理,3成员管理)", func() { | ||
12 | + Context("", func() { | ||
13 | + It("", func() { | ||
14 | + httpExpect := httpexpect.New(GinkgoT(), server.URL) | ||
15 | + httpExpect.GET("/config/employee-permissions"). | ||
16 | + Expect(). | ||
17 | + Status(http.StatusOK). | ||
18 | + JSON(). | ||
19 | + Object(). | ||
20 | + ContainsKey("code").ValueEqual("code", 0). | ||
21 | + ContainsKey("msg").ValueEqual("msg", "ok"). | ||
22 | + ContainsKey("data").Value("data").Object() | ||
23 | + }) | ||
24 | + }) | ||
25 | + }) | ||
26 | +}) |
1 | package employee | 1 | package employee |
2 | 2 | ||
3 | import ( | 3 | import ( |
4 | + "net/http" | ||
5 | + | ||
4 | "github.com/gavv/httpexpect" | 6 | "github.com/gavv/httpexpect" |
5 | . "github.com/onsi/ginkgo" | 7 | . "github.com/onsi/ginkgo" |
6 | . "github.com/onsi/gomega" | 8 | . "github.com/onsi/gomega" |
7 | pG "gitlab.fjmaimaimai.com/linmadan/mmm-worth/pkg/infrastructure/pg" | 9 | pG "gitlab.fjmaimaimai.com/linmadan/mmm-worth/pkg/infrastructure/pg" |
8 | - "net/http" | ||
9 | ) | 10 | ) |
10 | 11 | ||
11 | var _ = Describe("创建新员工", func() { | 12 | var _ = Describe("创建新员工", func() { |
@@ -14,11 +15,10 @@ var _ = Describe("创建新员工", func() { | @@ -14,11 +15,10 @@ var _ = Describe("创建新员工", func() { | ||
14 | It("返回员工数据", func() { | 15 | It("返回员工数据", func() { |
15 | httpExpect := httpexpect.New(GinkgoT(), server.URL) | 16 | httpExpect := httpexpect.New(GinkgoT(), server.URL) |
16 | body := map[string]interface{}{ | 17 | body := map[string]interface{}{ |
17 | - "uid": 123456, | ||
18 | - "companyId": 101, | ||
19 | - "employeeName": "蔡晓生", | ||
20 | - "employeeAccount": "13799999999", | ||
21 | - "status": 1, | 18 | + "uid": 2499036607974745088, |
19 | + "employeeName": "employeeName", | ||
20 | + "employeeAccount": "employeeAccount", | ||
21 | + "employeeAvatarUrl": "employeeAvatarUrl", | ||
22 | } | 22 | } |
23 | httpExpect.POST("/employees/"). | 23 | httpExpect.POST("/employees/"). |
24 | WithJSON(body). | 24 | WithJSON(body). |
1 | package employee | 1 | package employee |
2 | 2 | ||
3 | import ( | 3 | import ( |
4 | + "net/http" | ||
5 | + | ||
4 | "github.com/gavv/httpexpect" | 6 | "github.com/gavv/httpexpect" |
5 | "github.com/go-pg/pg" | 7 | "github.com/go-pg/pg" |
6 | . "github.com/onsi/ginkgo" | 8 | . "github.com/onsi/ginkgo" |
7 | . "github.com/onsi/gomega" | 9 | . "github.com/onsi/gomega" |
8 | pG "gitlab.fjmaimaimai.com/linmadan/mmm-worth/pkg/infrastructure/pg" | 10 | pG "gitlab.fjmaimaimai.com/linmadan/mmm-worth/pkg/infrastructure/pg" |
9 | - "net/http" | ||
10 | ) | 11 | ) |
11 | 12 | ||
12 | var _ = Describe("返回员工", func() { | 13 | var _ = Describe("返回员工", func() { |
@@ -14,15 +15,15 @@ var _ = Describe("返回员工", func() { | @@ -14,15 +15,15 @@ var _ = Describe("返回员工", func() { | ||
14 | BeforeEach(func() { | 15 | BeforeEach(func() { |
15 | _, err := pG.DB.QueryOne( | 16 | _, err := pG.DB.QueryOne( |
16 | pg.Scan(&employeeId), | 17 | pg.Scan(&employeeId), |
17 | - "INSERT INTO employees (id, company_id, uid, employee_name, employee_account, su_money) VALUES (?, ?, ?, ?, ?, ?) RETURNING id", | ||
18 | - 1, 101, 123456, "testEmployeeName", "testEmployeeAccount", 0) | 18 | + "INSERT INTO employees (id, company_id, uid, employee_name, employee_account, employee_avatar_url, su_money, status, permissions) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) RETURNING id", |
19 | + 1, 101, 2499036607974745088, "employee_name", "employee_account", "employee_avatar_url", 1000.00, 1, pg.Array([]int{1, 3})) | ||
19 | Expect(err).NotTo(HaveOccurred()) | 20 | Expect(err).NotTo(HaveOccurred()) |
20 | }) | 21 | }) |
21 | - Describe("根据uid参数返回员工", func() { | ||
22 | - Context("传入有效的uid", func() { | 22 | + Describe("根据employeeId参数返回员工", func() { |
23 | + Context("传入有效的employeeId", func() { | ||
23 | It("返回员工数据", func() { | 24 | It("返回员工数据", func() { |
24 | httpExpect := httpexpect.New(GinkgoT(), server.URL) | 25 | httpExpect := httpexpect.New(GinkgoT(), server.URL) |
25 | - httpExpect.GET("/employees/123456"). | 26 | + httpExpect.GET("/employees/2499036607974745088"). |
26 | Expect(). | 27 | Expect(). |
27 | Status(http.StatusOK). | 28 | Status(http.StatusOK). |
28 | JSON(). | 29 | JSON(). |
1 | package employee | 1 | package employee |
2 | 2 | ||
3 | import ( | 3 | import ( |
4 | + "net/http" | ||
5 | + | ||
4 | "github.com/gavv/httpexpect" | 6 | "github.com/gavv/httpexpect" |
5 | "github.com/go-pg/pg" | 7 | "github.com/go-pg/pg" |
6 | . "github.com/onsi/ginkgo" | 8 | . "github.com/onsi/ginkgo" |
7 | . "github.com/onsi/gomega" | 9 | . "github.com/onsi/gomega" |
8 | pG "gitlab.fjmaimaimai.com/linmadan/mmm-worth/pkg/infrastructure/pg" | 10 | pG "gitlab.fjmaimaimai.com/linmadan/mmm-worth/pkg/infrastructure/pg" |
9 | - "net/http" | ||
10 | ) | 11 | ) |
11 | 12 | ||
12 | var _ = Describe("返回员工列表", func() { | 13 | var _ = Describe("返回员工列表", func() { |
@@ -14,8 +15,8 @@ var _ = Describe("返回员工列表", func() { | @@ -14,8 +15,8 @@ var _ = Describe("返回员工列表", func() { | ||
14 | BeforeEach(func() { | 15 | BeforeEach(func() { |
15 | _, err := pG.DB.QueryOne( | 16 | _, err := pG.DB.QueryOne( |
16 | pg.Scan(&employeeId), | 17 | pg.Scan(&employeeId), |
17 | - "INSERT INTO employees (id, company_id, uid, employee_name, employee_account, su_money) VALUES (?, ?, ?, ?, ?, ?) RETURNING id", | ||
18 | - 1, 101, 123456, "testEmployeeName", "testEmployeeAccount", 0) | 18 | + "INSERT INTO employees (id, company_id, uid, employee_name, employee_account, employee_avatar_url, su_money, status, permissions) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) RETURNING id", |
19 | + 1, 101, 2499036607974745088, "employee_name", "employee_account", "employee_avatar_url", 1000.00, 1, pg.Array([]int{1, 3})) | ||
19 | Expect(err).NotTo(HaveOccurred()) | 20 | Expect(err).NotTo(HaveOccurred()) |
20 | }) | 21 | }) |
21 | Describe("根据参数返回员工列表", func() { | 22 | Describe("根据参数返回员工列表", func() { |
@@ -23,8 +24,9 @@ var _ = Describe("返回员工列表", func() { | @@ -23,8 +24,9 @@ var _ = Describe("返回员工列表", func() { | ||
23 | It("返回员工数据列表", func() { | 24 | It("返回员工数据列表", func() { |
24 | httpExpect := httpexpect.New(GinkgoT(), server.URL) | 25 | httpExpect := httpexpect.New(GinkgoT(), server.URL) |
25 | httpExpect.GET("/employees/"). | 26 | httpExpect.GET("/employees/"). |
27 | + WithQuery("companyId", 101). | ||
26 | WithQuery("offset", 0). | 28 | WithQuery("offset", 0). |
27 | - WithQuery("limit", 20). | 29 | + WithQuery("limit", 1). |
28 | Expect(). | 30 | Expect(). |
29 | Status(http.StatusOK). | 31 | Status(http.StatusOK). |
30 | JSON(). | 32 | JSON(). |
@@ -15,15 +15,15 @@ var _ = Describe("移除员工", func() { | @@ -15,15 +15,15 @@ var _ = Describe("移除员工", func() { | ||
15 | BeforeEach(func() { | 15 | BeforeEach(func() { |
16 | _, err := pG.DB.QueryOne( | 16 | _, err := pG.DB.QueryOne( |
17 | pg.Scan(&employeeId), | 17 | pg.Scan(&employeeId), |
18 | - "INSERT INTO employees (id, company_id, uid, employee_name, employee_account, su_money) VALUES (?, ?, ?, ?, ?, ?) RETURNING id", | ||
19 | - 1, 101, 123456, "testEmployeeName", "testEmployeeAccount", 0) | 18 | + "INSERT INTO employees (id, company_id, uid, employee_name, employee_account, employee_avatar_url, su_money, status, permissions) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) RETURNING id", |
19 | + 1, 101, 2499036607974745088, "employee_name", "employee_account", "employee_avatar_url", 1000.00, 1, pg.Array([]int{1, 3})) | ||
20 | Expect(err).NotTo(HaveOccurred()) | 20 | Expect(err).NotTo(HaveOccurred()) |
21 | }) | 21 | }) |
22 | Describe("根据参数移除员工", func() { | 22 | Describe("根据参数移除员工", func() { |
23 | - Context("传入有效的uid", func() { | 23 | + Context("传入有效的employeeId", func() { |
24 | It("返回被移除员工的数据", func() { | 24 | It("返回被移除员工的数据", func() { |
25 | httpExpect := httpexpect.New(GinkgoT(), server.URL) | 25 | httpExpect := httpexpect.New(GinkgoT(), server.URL) |
26 | - httpExpect.DELETE("/employees/123456"). | 26 | + httpExpect.DELETE("/employees/2499036607974745088"). |
27 | Expect(). | 27 | Expect(). |
28 | Status(http.StatusOK). | 28 | Status(http.StatusOK). |
29 | JSON(). | 29 | JSON(). |
@@ -15,8 +15,8 @@ var _ = Describe("更新员工", func() { | @@ -15,8 +15,8 @@ var _ = Describe("更新员工", func() { | ||
15 | BeforeEach(func() { | 15 | BeforeEach(func() { |
16 | _, err := pG.DB.QueryOne( | 16 | _, err := pG.DB.QueryOne( |
17 | pg.Scan(&employeeId), | 17 | pg.Scan(&employeeId), |
18 | - "INSERT INTO employees (id, company_id, uid, employee_name, employee_account, su_money) VALUES (?, ?, ?, ?, ?, ?) RETURNING id", | ||
19 | - 1, 101, 123456, "testEmployeeName", "testEmployeeAccount", 0) | 18 | + "INSERT INTO employees (id, company_id, uid, employee_name, employee_account, employee_avatar_url, su_money, status, permissions) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) RETURNING id", |
19 | + 1, 101, 2499036607974745088, "employee_name", "employee_account", "employee_avatar_url", 1000.00, 1, pg.Array([]int{1, 3})) | ||
20 | Expect(err).NotTo(HaveOccurred()) | 20 | Expect(err).NotTo(HaveOccurred()) |
21 | }) | 21 | }) |
22 | Describe("提交数据更新员工", func() { | 22 | Describe("提交数据更新员工", func() { |
@@ -24,10 +24,12 @@ var _ = Describe("更新员工", func() { | @@ -24,10 +24,12 @@ var _ = Describe("更新员工", func() { | ||
24 | It("返回更新后的员工数据", func() { | 24 | It("返回更新后的员工数据", func() { |
25 | httpExpect := httpexpect.New(GinkgoT(), server.URL) | 25 | httpExpect := httpexpect.New(GinkgoT(), server.URL) |
26 | body := map[string]interface{}{ | 26 | body := map[string]interface{}{ |
27 | - "employeeName": "updateEmployeeName", | ||
28 | - "employeeAccount": "updateEmployeeAccount", | 27 | + "employeeName": "employeeName", |
28 | + "employeeAccount": "employeeAccount", | ||
29 | + "employeeAvatarUrl": "employeeAvatarUrl", | ||
30 | + "permissions": []int{1, 2}, | ||
29 | } | 31 | } |
30 | - httpExpect.PUT("/employees/123456"). | 32 | + httpExpect.PUT("/employees/2499036607974745088"). |
31 | WithJSON(body). | 33 | WithJSON(body). |
32 | Expect(). | 34 | Expect(). |
33 | Status(http.StatusOK). | 35 | Status(http.StatusOK). |
@@ -29,6 +29,20 @@ var _ = Describe("搜索任务", func() { | @@ -29,6 +29,20 @@ var _ = Describe("搜索任务", func() { | ||
29 | }, | 29 | }, |
30 | }, "null", "", pg.Array([]string{}), 2499036607974745099, time.Now(), time.Now().Add(dayAfter)) | 30 | }, "null", "", pg.Array([]string{}), 2499036607974745099, time.Now(), time.Now().Add(dayAfter)) |
31 | Expect(err).NotTo(HaveOccurred()) | 31 | Expect(err).NotTo(HaveOccurred()) |
32 | + _, err1 := pG.DB.QueryOne( | ||
33 | + pg.Scan(), | ||
34 | + "INSERT INTO tasks (id, company_id, task_name, task_type, sponsor, task_status, reference_resource, customer_value, task_nature, su_money, acceptance_standard, task_description, task_picture_urls, is_reward_take, participators, task_percentage, solve_report, solve_picture_urls, create_time, release_time) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", | ||
35 | + 2, 101, "抢单任务2", 1, &domain.EmployeeInfo{ | ||
36 | + Uid: 2499036607974745088, | ||
37 | + }, 1, "null", pg.Array([]string{"口感", "售后服务"}), "面", 1000.00, "验收标准1", "任务描述1", pg.Array([]string{}), false, "null", "null", "", pg.Array([]string{}), time.Now(), time.Now().Add(dayAfter)) | ||
38 | + Expect(err1).NotTo(HaveOccurred()) | ||
39 | + _, err2 := pG.DB.QueryOne( | ||
40 | + pg.Scan(), | ||
41 | + "INSERT INTO tasks (id, company_id, task_name, task_type, sponsor, task_status, reference_resource, customer_value, task_nature, su_money, acceptance_standard, task_description, task_picture_urls, is_reward_take, participators, task_percentage, solve_report, solve_picture_urls, create_time, release_time) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", | ||
42 | + 3, 101, "竞标任务1", 2, &domain.EmployeeInfo{ | ||
43 | + Uid: 2499036607974745088, | ||
44 | + }, 1, "null", pg.Array([]string{"口感", "便利", "品牌"}), "面", 1000.00, "验收标准1", "任务描述1", pg.Array([]string{}), true, "null", "null", "", pg.Array([]string{}), time.Now(), time.Now().Add(dayAfter)) | ||
45 | + Expect(err2).NotTo(HaveOccurred()) | ||
32 | }) | 46 | }) |
33 | Describe("搜索任务", func() { | 47 | Describe("搜索任务", func() { |
34 | Context("", func() { | 48 | Context("", func() { |
@@ -37,8 +51,13 @@ var _ = Describe("搜索任务", func() { | @@ -37,8 +51,13 @@ var _ = Describe("搜索任务", func() { | ||
37 | body := map[string]interface{}{ | 51 | body := map[string]interface{}{ |
38 | "companyId": 101, | 52 | "companyId": 101, |
39 | "sponsor": 2499036607974745088, | 53 | "sponsor": 2499036607974745088, |
40 | - "offset": 0, | ||
41 | - "limit": 20, | 54 | + "customerValue": []string{ |
55 | + "售后服务", | ||
56 | + "口感", | ||
57 | + "品牌", | ||
58 | + }, | ||
59 | + "offset": 0, | ||
60 | + "limit": 20, | ||
42 | } | 61 | } |
43 | httpExpect.POST("/tasks/search"). | 62 | httpExpect.POST("/tasks/search"). |
44 | WithJSON(body). | 63 | WithJSON(body). |
-
请 注册 或 登录 后发表评论