From 0d9d097907264a948edffd6ab65b9181537df6cd Mon Sep 17 00:00:00 2001 From: anlicheng <244108715@qq.com> Date: Wed, 6 Nov 2024 16:03:31 +0800 Subject: [PATCH] fix --- apps/njau_bot/src/njau_bot_database.erl | 41 ++++++++++++++++++++++--- docs/table.sql | 4 +-- 2 files changed, 38 insertions(+), 7 deletions(-) diff --git a/apps/njau_bot/src/njau_bot_database.erl b/apps/njau_bot/src/njau_bot_database.erl index 0d29094..ac86163 100644 --- a/apps/njau_bot/src/njau_bot_database.erl +++ b/apps/njau_bot/src/njau_bot_database.erl @@ -24,7 +24,10 @@ insert_store_info(Fields = #{<<"storeId">> := StoreId, <<"name">> := Name, <<"ac <<"active">> => Active, <<"address">> => Address, <<"updateTime">> => UpdateTime - }, true). + }, true); +insert_store_info(Fields) when is_map(Fields) -> + Data = iolist_to_binary(jiffy:encode(Fields, [force_utf8])), + {error, <<"Invalid store info: ", Data/binary>>}. -spec insert_equip(Fields :: map()) -> {ok, InsertId :: integer()} | {error, Reason :: any()}. insert_equip(Fields = #{<<"equipId">> := EquipId, <<"equipValue">> := EquipValue, <<"etype">> := EType, <<"address">> := Address, <<"updateTime">> := UpdateTime}) -> @@ -63,13 +66,13 @@ insert_order(Fields = #{ <<"equipValue">> := EquipValue, <<"etype">> := EType, <<"storeId">> := StoreId, <<"storeName">> := StoreName}) -> - mysql_pool:insert(<<"orders">>, #{ + TableFields = #{ <<"outTradeNo">> => OutTradeNo, <<"orderAmount">> => OrderAmount, <<"serviceName">> => maps:get(<<"serviceName">>, Fields, <<"">>), <<"userId">> => maps:get(<<"userId">>, Fields, 0), <<"createTime">> => CreateTime, - <<"payFinishTime">> => maps:get(<<"payFinishTime">>, Fields, <<"0000-00-00 00:00:00">>), + % <<"payFinishTime">> => maps:get(<<"payFinishTime">>, Fields, <<"0000-00-00 00:00:00">>), <<"status">> => Status, <<"equipValue">> => EquipValue, <<"etype">> => EType, @@ -79,6 +82,34 @@ insert_order(Fields = #{ <<"storeName">> => StoreName, <<"refundOrderNo">> => maps:get(<<"refundOrderNo">>, Fields, <<"">>), - <<"refundTime">> => maps:get(<<"refundTime">>, Fields, <<"0000-00-00 00:00:00">>), + % <<"refundTime">> => maps:get(<<"refundTime">>, Fields, <<"0000-00-00 00:00:00">>), <<"refundAmount">> => maps:get(<<"refundAmount">>, Fields, 0) - }, true). \ No newline at end of file + }, + + TableFields1 = case maps:is_key(<<"payFinishTime">>, Fields) of + true -> + PayFinishTime = maps:get(<<"payFinishTime">>, Fields), + case PayFinishTime =/= <<"">> of + true -> + TableFields#{<<"payFinishTime">> => PayFinishTime}; + false -> + TableFields + end; + false -> + TableFields + end, + + TableFields2 = case maps:is_key(<<"refundTime">>, Fields) of + true -> + RefundTime = maps:get(<<"refundTime">>, Fields), + case RefundTime =/= <<"">> of + true -> + TableFields1#{<<"refundTime">> => RefundTime}; + false -> + TableFields1 + end; + false -> + TableFields1 + end, + + mysql_pool:insert(<<"orders">>, TableFields2, true). \ No newline at end of file diff --git a/docs/table.sql b/docs/table.sql index 8e43a03..6aef1ff 100644 --- a/docs/table.sql +++ b/docs/table.sql @@ -53,7 +53,7 @@ CREATE TABLE `orders` ( `userId` bigint(20) unsigned NOT NULL DEFAULT 0 COMMENT '用户ID', `createTime` datetime NOT NULL COMMENT '订单创建时间,格式: yyyy-MM-dd HH:mm:ss', - `payFinishTime` datetime NOT NULL COMMENT '订单支付完成时间,格式: yyyy-MM-dd HH:mm:ss', + `payFinishTime` datetime DEFAULT NULL COMMENT '订单支付完成时间,格式: yyyy-MM-dd HH:mm:ss', `status` smallint unsigned NOT NULL COMMENT '订单状态 1未支付 2已支付 3.退款中 4已退款', `equipValue` varchar(100) NOT NULL DEFAULT '' COMMENT '设备编号', @@ -63,7 +63,7 @@ CREATE TABLE `orders` ( `storeName` varchar(255) NOT NULL DEFAULT '' COMMENT '场地名称', `refundOrderNo` varchar(255) NOT NULL DEFAULT '' COMMENT '退款订单号', - `refundTime` datetime NOT NULL COMMENT '退款时间,格式: yyyy-MM-dd HH:mm:ss', + `refundTime` datetime DEFAULT NULL COMMENT '退款时间,格式: yyyy-MM-dd HH:mm:ss', `refundAmount` decimal(11,2) DEFAULT NULL COMMENT '退款金额', PRIMARY KEY (`id`), KEY (`outTradeNo`)