Add TaxRate to cart and menu API responses
- getCart.cfm: Include TaxRate from Businesses table - getOrCreateCart.cfm: Include TaxRate from Businesses table - items.cfm: Include TaxRate in menu response for cart calculation Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
930394b421
commit
30c175bafe
3 changed files with 18 additions and 7 deletions
|
|
@ -529,16 +529,22 @@
|
|||
</cfloop>
|
||||
</cfif>
|
||||
|
||||
<!--- Get brand color for this business --->
|
||||
<!--- Get brand color and tax rate for this business --->
|
||||
<cfset brandColor = "">
|
||||
<cfset businessTaxRate = 0>
|
||||
<cftry>
|
||||
<cfset qBrand = queryTimed(
|
||||
"SELECT BrandColor AS BusinessBrandColor FROM Businesses WHERE ID = ?",
|
||||
"SELECT BrandColor AS BusinessBrandColor, TaxRate FROM Businesses WHERE ID = ?",
|
||||
[ { value = BusinessID, cfsqltype = "cf_sql_integer" } ],
|
||||
{ datasource = "payfrit" }
|
||||
)>
|
||||
<cfif qBrand.recordCount GT 0 AND len(trim(qBrand.BusinessBrandColor))>
|
||||
<cfset brandColor = left(qBrand.BusinessBrandColor, 1) EQ chr(35) ? qBrand.BusinessBrandColor : chr(35) & qBrand.BusinessBrandColor>
|
||||
<cfif qBrand.recordCount GT 0>
|
||||
<cfif len(trim(qBrand.BusinessBrandColor))>
|
||||
<cfset brandColor = left(qBrand.BusinessBrandColor, 1) EQ chr(35) ? qBrand.BusinessBrandColor : chr(35) & qBrand.BusinessBrandColor>
|
||||
</cfif>
|
||||
<cfif isNumeric(qBrand.TaxRate)>
|
||||
<cfset businessTaxRate = qBrand.TaxRate>
|
||||
</cfif>
|
||||
</cfif>
|
||||
<cfcatch>
|
||||
<!--- Column may not exist yet, ignore --->
|
||||
|
|
@ -552,6 +558,7 @@
|
|||
"COUNT": arrayLen(rows),
|
||||
"SCHEMA": newSchemaActive ? "unified" : "legacy",
|
||||
"BRANDCOLOR": brandColor,
|
||||
"TAXRATE": val(businessTaxRate),
|
||||
"Menus": menuList,
|
||||
"SelectedMenuID": requestedMenuID
|
||||
})>
|
||||
|
|
|
|||
|
|
@ -67,11 +67,12 @@
|
|||
|
||||
<!--- Get business info for display in cart --->
|
||||
<cfset qBusiness = queryTimed(
|
||||
"SELECT DeliveryFlatFee, OrderTypes FROM Businesses WHERE ID = ? LIMIT 1",
|
||||
"SELECT DeliveryFlatFee, OrderTypes, TaxRate FROM Businesses WHERE ID = ? LIMIT 1",
|
||||
[ { value = qOrder.BusinessID, cfsqltype = "cf_sql_integer" } ],
|
||||
{ datasource = "payfrit" }
|
||||
)>
|
||||
<cfset businessDeliveryFee = qBusiness.recordCount GT 0 ? qBusiness.DeliveryFlatFee : 0>
|
||||
<cfset businessTaxRate = qBusiness.recordCount GT 0 AND isNumeric(qBusiness.TaxRate) ? qBusiness.TaxRate : 0>
|
||||
<cfset businessOrderTypes = qBusiness.recordCount GT 0 AND len(trim(qBusiness.OrderTypes)) ? qBusiness.OrderTypes : "1,2,3">
|
||||
<cfset businessOrderTypesArray = listToArray(businessOrderTypes, ",")>
|
||||
|
||||
|
|
@ -134,6 +135,7 @@
|
|||
"OrderTypeID": val(qOrder.OrderTypeID),
|
||||
"DeliveryFee": val(qOrder.DeliveryFee),
|
||||
"BusinessDeliveryFee": val(businessDeliveryFee),
|
||||
"TaxRate": val(businessTaxRate),
|
||||
"OrderTypes": businessOrderTypesArray,
|
||||
"StatusID": val(qOrder.StatusID),
|
||||
"AddressID": val(qOrder.AddressID),
|
||||
|
|
|
|||
|
|
@ -64,13 +64,14 @@
|
|||
<cfreturn { "OK": false, "ERROR": "not_found", "MESSAGE": "Order not found", "DETAIL": "" }>
|
||||
</cfif>
|
||||
|
||||
<!--- Get business delivery fee for display in cart --->
|
||||
<!--- Get business delivery fee and tax rate for display in cart --->
|
||||
<cfset var qBusiness = queryTimed(
|
||||
"SELECT DeliveryFlatFee FROM Businesses WHERE ID = ? LIMIT 1",
|
||||
"SELECT DeliveryFlatFee, TaxRate FROM Businesses WHERE ID = ? LIMIT 1",
|
||||
[ { value = qOrder.BusinessID, cfsqltype = "cf_sql_integer" } ],
|
||||
{ datasource = "payfrit" }
|
||||
)>
|
||||
<cfset var businessDeliveryFee = qBusiness.recordCount GT 0 ? qBusiness.DeliveryFlatFee : 0>
|
||||
<cfset var businessTaxRate = qBusiness.recordCount GT 0 AND isNumeric(qBusiness.TaxRate) ? qBusiness.TaxRate : 0>
|
||||
|
||||
<cfset out.Order = {
|
||||
"OrderID": val(qOrder.ID),
|
||||
|
|
@ -81,6 +82,7 @@
|
|||
"OrderTypeID": val(qOrder.OrderTypeID),
|
||||
"DeliveryFee": val(qOrder.DeliveryFee),
|
||||
"BusinessDeliveryFee": val(businessDeliveryFee),
|
||||
"TaxRate": val(businessTaxRate),
|
||||
"StatusID": val(qOrder.StatusID),
|
||||
"AddressID": val(qOrder.AddressID),
|
||||
"PaymentID": val(qOrder.PaymentID),
|
||||
|
|
|
|||
Reference in a new issue