Bladeren bron

feat(ocr): 更新 OCR 记录并添加详情接口

- 新增 updateContent 方法,用于更新 OCR 记录的内容
- 新增 updateDetail 方法,用于更新 OCR记录的详情
- 在路由中添加对应的 API 接口
wui 10 maanden geleden
bovenliggende
commit
d05aad5046
2 gewijzigde bestanden met toevoegingen van 33 en 1 verwijderingen
  1. 30 0
      app/Controllers/Http/OcrRecordController.ts
  2. 3 1
      start/routes.ts

+ 30 - 0
app/Controllers/Http/OcrRecordController.ts

@@ -4,6 +4,7 @@ import { rules, schema } from '@ioc:Adonis/Core/Validator'
 import OcrRecord from 'App/Models/OcrRecord'
 import OcrRecord from 'App/Models/OcrRecord'
 import Drive from '@ioc:Adonis/Core/Drive'
 import Drive from '@ioc:Adonis/Core/Drive'
 import BlockchainWalletService from 'App/Services/BlockchainWalletService'
 import BlockchainWalletService from 'App/Services/BlockchainWalletService'
+import OcrDevice from 'App/Models/OcrDevice'
 
 
 export default class OcrRecordController {
 export default class OcrRecordController {
     private paginationService = new PaginationService(OcrRecord)
     private paginationService = new PaginationService(OcrRecord)
@@ -33,6 +34,35 @@ export default class OcrRecordController {
         return await OcrRecord.create(data)
         return await OcrRecord.create(data)
     }
     }
 
 
+    public async updateContent({ request, response }: HttpContextContract) {
+        const data = await request.validate({
+            schema: schema.create({
+                id: schema.number(),
+                content: schema.string()
+            })
+        })
+        const record = await OcrRecord.findBy('id', request.input('id'))
+        if (record) {
+            record.content = data.content
+            await record.save()
+            return response.ok(record)
+        } else {
+            return response.notFound({ message: 'Record not found' })
+        }
+    }
+
+    public async updateDetail({ params, response }: HttpContextContract) {
+        const record = await OcrRecord.findBy('id', params.id)
+        if (record) {
+            const walletAddresses = await BlockchainWalletService.getAllAddresses(record.content)
+            record.detail = JSON.stringify(walletAddresses)
+            await record.save()
+            return response.ok(record)
+        } else {
+            return response.notFound({ message: 'Record not found' })
+        }
+    }
+
     public async getAllAddresses({ request }: HttpContextContract) {
     public async getAllAddresses({ request }: HttpContextContract) {
         await request.validate({
         await request.validate({
             schema: schema.create({
             schema: schema.create({

+ 3 - 1
start/routes.ts

@@ -111,8 +111,10 @@ Route.group(() => {
 
 
     Route.group(() => {
     Route.group(() => {
         Route.get('/', 'OcrRecordController.index').middleware('auth:api')
         Route.get('/', 'OcrRecordController.index').middleware('auth:api')
-        Route.post('/', 'OcrRecordController.store')
         Route.post('/detail', 'OcrRecordController.getAllAddresses').middleware('auth:api')
         Route.post('/detail', 'OcrRecordController.getAllAddresses').middleware('auth:api')
+        Route.put('/updateContent', 'OcrRecordController.updateContent').middleware('auth:api')
+        Route.get('/updateDetail/:id', 'OcrRecordController.updateDetail').middleware('auth:api')
+        Route.post('/', 'OcrRecordController.store')
     }).prefix('/ocrRecord')
     }).prefix('/ocrRecord')
 
 
     Route.group(() => {
     Route.group(() => {