88 lines
2.4 KiB
Lua
88 lines
2.4 KiB
Lua
---
|
||
--- Generated by EmmyLua(https://github.com/EmmyLua)
|
||
--- Created by .
|
||
--- DateTime: 2025/9/25 08:25
|
||
--- 业务逻辑 对账户数据表进行数据表业务处理
|
||
local validator = require("util.validator")
|
||
local helpers = require("util.helpers")
|
||
local account = require("model.account")
|
||
|
||
local _M = {}
|
||
|
||
-- 查询数据表中的所有账户信息
|
||
function _M.getAllAccount()
|
||
return account:all()
|
||
end
|
||
|
||
--根据账户id获取账户信息
|
||
function _M.getAccount(id)
|
||
return account.find(id)
|
||
end
|
||
|
||
--增加账户信息到数据表
|
||
function _M.addAccount(jsonData)
|
||
--验证数据的正确性,错误时返回
|
||
local success, result = validator.checkJson(jsonData)
|
||
if success == false then
|
||
return 0x000001, result
|
||
end
|
||
--解析json中的键和数据值
|
||
local name = ""
|
||
for key, value in pairs(result) do
|
||
if key == "name" then name = value end
|
||
end
|
||
--根据账户进行验证是否存在
|
||
local code, res = account:where("name", "=", name):get()
|
||
if code ~= 0 then
|
||
return 0x000001, res
|
||
end
|
||
local num = 0
|
||
for _, row in ipairs(res) do
|
||
for key, value in pairs(row) do
|
||
num = num + 1
|
||
end
|
||
end
|
||
--账户存在时返回账户已经存在
|
||
if num <= 0 then
|
||
return 0x01000C, nil
|
||
end
|
||
--键值为id产生uuid数据值,增加到json中
|
||
result.id = helpers.getUuid()
|
||
local ret = helpers.convert_json(result)
|
||
-- 创建一个账户
|
||
return account:create('{'..ret..'}')
|
||
end
|
||
|
||
--删除账户信息到数据表
|
||
function _M.deleteAccount(id)
|
||
return account:delete(id)
|
||
end
|
||
|
||
--更新账户信息到数据表
|
||
function _M.updateAccount(id, jsonData)
|
||
--根据账户id进行验证账户是否存在
|
||
local code, res = account:find(id)
|
||
if code ~= 0 then
|
||
return 0x000001, res
|
||
end
|
||
local num = 0
|
||
for _, row in ipairs(res) do
|
||
for key, value in pairs(row) do
|
||
num = num + 1
|
||
end
|
||
end
|
||
--账户不存在返回错误
|
||
if num <= 0 then
|
||
return 0x01000C, nil
|
||
end
|
||
--验证数据的正确性,错误时返回
|
||
local success, result = validator.checkJson(jsonData)
|
||
if success == false then
|
||
return 0x000001, result
|
||
end
|
||
--对数据内容进行更新
|
||
return account:where('id', '=', id):update(jsonData)
|
||
end
|
||
|
||
return _M
|