id, username, nickname, password_hash, mobile, email, nfc_uid, wechat_openid, wechat_unionid,
status, register_country_code, register_region_code, register_city, register_timezone,
created_at, updated_at
UPDATE user_account SET wechat_openid = #{wechatOpenid},
wechat_unionid = COALESCE(#{wechatUnionid}, wechat_unionid), mobile = #{mobile}
WHERE id = #{id}
UPDATE user_account SET nickname = #{nickname} WHERE id = #{id}
INSERT INTO user_account (
username, nickname, password_hash, mobile, email, nfc_uid, wechat_openid, wechat_unionid,
status, register_country_code, register_region_code, register_city, register_timezone
) VALUES (
#{username}, #{nickname}, #{passwordHash}, #{mobile}, #{email}, #{nfcUid}, #{wechatOpenid},
#{wechatUnionid}, COALESCE(#{status}, 1), #{registerCountryCode}, #{registerRegionCode},
#{registerCity}, #{registerTimezone}
)
UPDATE user_account
SET username = #{username},
nickname = #{nickname},
password_hash = COALESCE(#{passwordHash}, password_hash),
mobile = #{mobile},
email = #{email},
nfc_uid = #{nfcUid},
wechat_openid = #{wechatOpenid},
wechat_unionid = #{wechatUnionid},
status = COALESCE(#{status}, status),
register_country_code = #{registerCountryCode},
register_region_code = #{registerRegionCode},
register_city = #{registerCity},
register_timezone = #{registerTimezone}
WHERE id = #{id}
DELETE FROM user_account WHERE id = #{id}