123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134 |
- --[[
- Descripttion:
- version:
- Author: Neo,Huang
- Date: 2022-09-03 17:46:39
- LastEditors: Neo,Huang
- LastEditTime: 2022-09-03 17:47:04
- --]]
- local lib_game_mysql = require("lib_game_mysql")
- local timeUtil = require("utils.timeUtil")
- local mysqlUtil = require("utils.mysqlUtil")
- local util_user = require("utils.util_user")
- local userData = require("data.user")
- local root = {}
- -- 新增订单
- function root:add_order(orderAction)
- if orderAction == nil then
- return false
- end
- local bandShareCode = userData:get_key_info(tonumber(orderAction.uid), "bandShareCode")
- local sql =
- string.format(
- "INSERT INTO `mdl_order` (`payName`,`orderNo`,`uid`,`diamond`,`gold`,`gid`,`amount`,`time`,`status`,`resMsg`," ..
- "`channel`,`type`,`createtime`,`cut`,`bandShareCode`) VALUES ('%s','%s',%d,%s,%s,%d,%s,%d,%d,'%s',%d,%d,'%s',%d,'%s'); ",
- orderAction.pay or "",
- orderAction.orderNo or "",
- tonumber(orderAction.uid) or 0,
- tonumber(orderAction.diamond) or 0,
- tonumber(orderAction.gold) or 0,
- tonumber(orderAction.itemId) or 0,
- (tonumber(orderAction.amount) or 0),
- tonumber(orderAction.time) or timeUtil.now(),
- tonumber(orderAction.status) or 0,
- orderAction.resMsg or "",
- tonumber(orderAction.channel) or 0,
- tonumber(orderAction.type) or 0,
- orderAction.createtime or "",
- tonumber(orderAction.cut) or 0,
- bandShareCode or ""
- )
- return mysqlUtil:insert(sql)
- end
- -- 打包订单信息
- function root:pack_order_info(orderAction)
- if orderAction == nil then
- return
- end
- return {
- status = orderAction.status,
- orderId = orderAction.orderNo,
- gid = orderAction.itemId,
- errMsg = orderAction.resMsg,
- payName = orderAction.pay,
- errCode = orderAction.code,
- amount = orderAction.amount
- }
- end
- -- 通知
- function root:on_shop_order(orderAction)
- if orderAction == nil or orderAction.status ~= 1 then
- return false
- end
- local msg = {
- orderInfo = self:pack_order_info(orderAction)
- }
- util_user:user_proto_notify(orderAction.uid, "on_shop_order", msg)
- return true
- end
- -- 订单是否存在
- function root:is_order_exist(orderId)
- if is_empty(orderId) then
- return false
- end
- local sql = string.format("SELECT 1 FROM `mdl_order` WHERE orderNo = '%s';", orderId)
- local ok, ret = mysqlUtil:select(sql)
- if not ok or is_empty(ret) then
- return false
- end
- return true
- end
- -- 获取订单ID
- function root:get_order_id(orderId, uid)
- local sql =
- string.format(
- "SELECT id FROM `mdl_order` WHERE orderNo = '%s' and uid = %d ORDER BY id DESC LIMIT 1 ;",
- orderId or "",
- uid or 0
- )
- local ok, ret = mysqlUtil:select(sql)
- if not ok or ret == nil or #ret <= 0 then
- return
- end
- return tonumber(ret[1].id)
- end
- -- 更新订单状态
- function root:update_order_status(id, status)
- if id == nil or status == nil then
- return false
- end
- local sql =
- string.format("UPDATE `mdl_order` SET `gameStatus` = %s where `id` = %s", tostring(status), tostring(id))
- return mysqlUtil:update(sql)
- end
- -- 获取未处理订单列表
- function root:get_unhandle_order_list()
- local sql = string.format("SELECT * FROM `mdl_order` WHERE `gameStatus`=0 AND `status`=1 ORDER BY id DESC")
- local ok, ret = mysqlUtil:select(sql)
- if not ok or is_empty(ret) then
- return
- end
- return ret
- end
- -- 无效订单
- function root:handle_invalid_order(orderAction)
- -- 标记为已经处理并更新到数据库
- local sql =
- string.format(
- "UPDATE `mdl_order` SET `gameStatus` = 1,`status`=%s,`resMsg`='%s' where `id` = %s",
- tostring(orderAction.status),
- tostring(orderAction.resMsg),
- tostring(orderAction.id)
- )
- return mysqlUtil:update(sql)
- end
- return root
|