Skip to content

Commit 3b3818d

Browse files
authored
Merge pull request #98 from Nishtha-Jain-1119/#86cx0rg0c
Implemented flow to get fulfillment_orders from Shopify
2 parents 0964a74 + c873308 commit 3b3818d

4 files changed

+233
-0
lines changed

data/ShopifyServiceJobData.xml

+12
Original file line numberDiff line numberDiff line change
@@ -218,4 +218,16 @@ under the License.
218218
<parameters parameterName="systemMessageRemoteId" parameterValue=""/>
219219
<parameters parameterName="runAsBatch" parameterValue="true"/>
220220
</moqui.service.job.ServiceJob>
221+
222+
<!-- ServiceJob data for queuing bulk fulfillment order query -->
223+
<moqui.service.job.ServiceJob jobName="queue_BulkQuerySystemMessage_BulkFulfillmentOrderQuery" description="Queue bulk fulfillment order query"
224+
serviceName="co.hotwax.shopify.system.ShopifySystemMessageServices.queue#BulkQuerySystemMessage" cronExpression="0 0/15 * * * ?" paused="Y">
225+
<parameters parameterName="systemMessageTypeId" parameterValue="BulkFulfillmentOrderQuery"/>
226+
<parameters parameterName="systemMessageRemoteId" parameterValue=""/>
227+
<parameters parameterName="filterQuery" parameterValue=""/>
228+
<parameters parameterName="fromDate" parameterValue=""/>
229+
<parameters parameterName="thruDate" parameterValue=""/>
230+
<parameters parameterName="fromDateLabel" parameterValue=""/>
231+
<parameters parameterName="thruDateLabel" parameterValue=""/>
232+
</moqui.service.job.ServiceJob>
221233
</entity-facade-xml>

data/ShopifySetupSeedData.xml

+23
Original file line numberDiff line numberDiff line change
@@ -520,4 +520,27 @@ under the License.
520520
<moqui.basic.Enumeration description="Send Order Updates Feed" enumId="SendOrderUpdatesFeed" enumTypeId="ShopifyMessageTypeEnum"/>
521521
<moqui.basic.Enumeration description="Generate Order Updates Feed" enumId="GenerateOrderUpdatesFeed" enumTypeId="ShopifyMessageTypeEnum" relatedEnumId="SendOrderUpdatesFeed" relatedEnumTypeId="ShopifyMessageTypeEnum"/>
522522
<moqui.basic.Enumeration description="Generate Updated Order Ids Feed" enumId="GenerateUpdatedOrderIdsFeed" enumTypeId="ShopifyMessageTypeEnum" relatedEnumId="GenerateOrderUpdatesFeed" relatedEnumTypeId="ShopifyMessageTypeEnum"/>
523+
524+
<!-- SystemMessageType record for bulk fulfillment order query to Shopify -->
525+
<moqui.service.message.SystemMessageType systemMessageTypeId="BulkFulfillmentOrderQuery"
526+
description="Bulk Fulfillment Order Query System Message"
527+
parentTypeId="ShopifyBulkQuery"
528+
sendServiceName="co.hotwax.shopify.system.ShopifySystemMessageServices.send#BulkQuerySystemMessage"
529+
sendPath="dbresource://shopify/template/graphQL/BulkFulfillmentOrderQuery.ftl"
530+
consumeServiceName="co.hotwax.shopify.system.ShopifySystemMessageServices.consume#BulkOperationResult"
531+
receivePath="${contentRoot}/shopify/BulkFulfillmentOrderQuery/BulkOperationResult-${systemMessageId}-${remoteMessageId}-${nowDate}.jsonl">
532+
<parameters parameterName="consumeSmrId" parameterValue="" systemMessageRemoteId=""/>
533+
</moqui.service.message.SystemMessageType>
534+
535+
<!-- SystemMessageType record for processing bulk fulfillment order query result -->
536+
<moqui.service.message.SystemMessageType systemMessageTypeId="SendBulkFulfillmentOrderQueryResult"
537+
description="Send Bulk Fulfillment Order Query Result"
538+
parentTypeId="LocalFeedFile"
539+
sendServiceName="co.hotwax.ofbiz.SystemMessageServices.send#SystemMessageFileSftp"
540+
sendPath=""/>
541+
542+
<!-- Enumeration to create relation between BulkFulfillmentOrderQuery and SendBulkFulfillmentOrderQueryResult SystemMessageType(s) -->
543+
<moqui.basic.Enumeration description="Send Bulk Fulfillment Order Query Result" enumId="SendBulkFulfillmentOrderQueryResult" enumTypeId="ShopifyMessageTypeEnum"/>
544+
<moqui.basic.Enumeration description="Bulk Fulfillment Order Query" enumId="BulkFulfillmentOrderQuery" enumTypeId="ShopifyMessageTypeEnum" relatedEnumId="SendBulkFulfillmentOrderQueryResult" relatedEnumTypeId="ShopifyMessageTypeEnum"/>
545+
523546
</entity-facade-xml>

data/ShopifyTemplateData.xml

+81
Original file line numberDiff line numberDiff line change
@@ -830,4 +830,85 @@
830830
<histories versionName="01" previousVersionName="01"/>
831831
</file>
832832
</moqui.resource.DbResource>
833+
<moqui.resource.DbResource filename="BulkFulfillmentOrderQuery.ftl" isFile="Y" resourceId="BulkFulfillmentOrderQuery" parentResourceId="GraphQL">
834+
<file mimeType="text/html" versionName="01" rootVersionName="01">
835+
<fileData>
836+
<![CDATA[<#ftl output_format="HTML">
837+
<@compress single_line=true>
838+
<#if queryParams?has_content>
839+
<#if queryParams.filterQuery?has_content>
840+
<#assign filterQuery = queryParams.filterQuery/>
841+
<#else>
842+
<#if queryParams.fromDateLabel?has_content>
843+
<#assign fromDateLabel = queryParams.fromDateLabel/>
844+
<#else>
845+
<#assign fromDateLabel = "created_at"/>
846+
</#if>
847+
<#if queryParams.thruDateLabel?has_content>
848+
<#assign thruDateLabel = queryParams.thruDateLabel/>
849+
<#else>
850+
<#assign thruDateLabel = "created_at"/>
851+
</#if>
852+
<#if queryParams.fromDate?has_content && !queryParams.thruDate?has_content>
853+
<#assign filterQuery = "${fromDateLabel}:>'${queryParams.fromDate}'"/>
854+
</#if>
855+
<#if queryParams.thruDate?has_content && !queryParams.fromDate?has_content>
856+
<#assign filterQuery = "${thruDateLabel}:<'${queryParams.thruDate}'"/>
857+
</#if>
858+
<#if queryParams.fromDate?has_content && queryParams.thruDate?has_content>
859+
<#assign filterQuery = "${fromDateLabel}:>'${queryParams.fromDate}' AND ${thruDateLabel}:<'${queryParams.thruDate}'"/>
860+
</#if>
861+
</#if>
862+
</#if>
863+
mutation {
864+
bulkOperationRunQuery(
865+
query: """ {
866+
orders <#if filterQuery?has_content>(query:"${filterQuery}")</#if> {
867+
edges {
868+
node {
869+
id
870+
fulfillmentOrders {
871+
edges{
872+
node{
873+
id
874+
status
875+
assignedLocation{
876+
location{
877+
id
878+
}
879+
}
880+
lineItems {
881+
edges{
882+
node{
883+
id
884+
totalQuantity
885+
lineItem{
886+
id
887+
}
888+
}
889+
}
890+
}
891+
}
892+
}
893+
}
894+
}
895+
}
896+
}
897+
}
898+
""" ) {
899+
bulkOperation {
900+
id
901+
status
902+
}
903+
userErrors {
904+
field
905+
message
906+
}
907+
}
908+
}
909+
</@compress>]]>
910+
</fileData>
911+
<histories versionName="01" previousVersionName="01"/>
912+
</file>
913+
</moqui.resource.DbResource>
833914
</entity-facade-xml>

data/UpgradeData_Upcoming.xml

+117
Original file line numberDiff line numberDiff line change
@@ -817,6 +817,123 @@
817817
<parameters parameterName="runAsBatch" parameterValue="true"/>
818818
</moqui.service.job.ServiceJob>
819819

820+
<!-- SystemMessageType record for bulk fulfillment order query to Shopify -->
821+
<moqui.service.message.SystemMessageType systemMessageTypeId="BulkFulfillmentOrderQuery"
822+
description="Bulk Fulfillment Order Query System Message"
823+
parentTypeId="ShopifyBulkQuery"
824+
sendServiceName="co.hotwax.shopify.system.ShopifySystemMessageServices.send#BulkQuerySystemMessage"
825+
sendPath="dbresource://shopify/template/graphQL/BulkFulfillmentOrderQuery.ftl"
826+
consumeServiceName="co.hotwax.shopify.system.ShopifySystemMessageServices.consume#BulkOperationResult"
827+
receivePath="${contentRoot}/shopify/BulkFulfillmentOrderQuery/BulkOperationResult-${systemMessageId}-${remoteMessageId}-${nowDate}.jsonl">
828+
<parameters parameterName="consumeSmrId" parameterValue="" systemMessageRemoteId=""/>
829+
</moqui.service.message.SystemMessageType>
830+
831+
<!-- SystemMessageType record for processing bulk fulfillment order query result -->
832+
<moqui.service.message.SystemMessageType systemMessageTypeId="SendBulkFulfillmentOrderQueryResult"
833+
description="Send Bulk Fulfillment Order Query Result"
834+
parentTypeId="LocalFeedFile"
835+
sendServiceName="co.hotwax.ofbiz.SystemMessageServices.send#SystemMessageFileSftp"
836+
sendPath=""/>
837+
838+
<!-- Enumeration to create relation between BulkFulfillmentOrderQuery and SendBulkFulfillmentOrderQueryResult SystemMessageType(s) -->
839+
<moqui.basic.Enumeration description="Send Bulk Fulfillment Order Query Result" enumId="SendBulkFulfillmentOrderQueryResult" enumTypeId="ShopifyMessageTypeEnum"/>
840+
<moqui.basic.Enumeration description="Bulk Fulfillment Order Query" enumId="BulkFulfillmentOrderQuery" enumTypeId="ShopifyMessageTypeEnum" relatedEnumId="SendBulkFulfillmentOrderQueryResult" relatedEnumTypeId="ShopifyMessageTypeEnum"/>
841+
842+
<!-- ServiceJob data for queuing bulk fulfillment order query -->
843+
<moqui.service.job.ServiceJob jobName="queue_BulkQuerySystemMessage_BulkFulfillmentOrderQuery" description="Queue bulk fulfillment order query"
844+
serviceName="co.hotwax.shopify.system.ShopifySystemMessageServices.queue#BulkQuerySystemMessage" cronExpression="0 0/15 * * * ?" paused="Y">
845+
<parameters parameterName="systemMessageTypeId" parameterValue="BulkFulfillmentOrderQuery"/>
846+
<parameters parameterName="systemMessageRemoteId" parameterValue=""/>
847+
<parameters parameterName="filterQuery" parameterValue=""/>
848+
<parameters parameterName="fromDate" parameterValue=""/>
849+
<parameters parameterName="thruDate" parameterValue=""/>
850+
<parameters parameterName="fromDateLabel" parameterValue=""/>
851+
<parameters parameterName="thruDateLabel" parameterValue=""/>
852+
</moqui.service.job.ServiceJob>
853+
854+
<!-- DbResource template data for GraphQl query to Shopify -->
855+
<moqui.resource.DbResource filename="BulkFulfillmentOrderQuery.ftl" isFile="Y" resourceId="BulkFulfillmentOrderQuery" parentResourceId="GraphQL">
856+
<file mimeType="text/html" versionName="01" rootVersionName="01">
857+
<fileData>
858+
<![CDATA[<#ftl output_format="HTML">
859+
<@compress single_line=true>
860+
<#if queryParams?has_content>
861+
<#if queryParams.filterQuery?has_content>
862+
<#assign filterQuery = queryParams.filterQuery/>
863+
<#else>
864+
<#if queryParams.fromDateLabel?has_content>
865+
<#assign fromDateLabel = queryParams.fromDateLabel/>
866+
<#else>
867+
<#assign fromDateLabel = "created_at"/>
868+
</#if>
869+
<#if queryParams.thruDateLabel?has_content>
870+
<#assign thruDateLabel = queryParams.thruDateLabel/>
871+
<#else>
872+
<#assign thruDateLabel = "created_at"/>
873+
</#if>
874+
<#if queryParams.fromDate?has_content && !queryParams.thruDate?has_content>
875+
<#assign filterQuery = "${fromDateLabel}:>'${queryParams.fromDate}'"/>
876+
</#if>
877+
<#if queryParams.thruDate?has_content && !queryParams.fromDate?has_content>
878+
<#assign filterQuery = "${thruDateLabel}:<'${queryParams.thruDate}'"/>
879+
</#if>
880+
<#if queryParams.fromDate?has_content && queryParams.thruDate?has_content>
881+
<#assign filterQuery = "${fromDateLabel}:>'${queryParams.fromDate}' AND ${thruDateLabel}:<'${queryParams.thruDate}'"/>
882+
</#if>
883+
</#if>
884+
</#if>
885+
mutation {
886+
bulkOperationRunQuery(
887+
query: """ {
888+
orders <#if filterQuery?has_content>(query:"${filterQuery}")</#if> {
889+
edges {
890+
node {
891+
id
892+
fulfillmentOrders {
893+
edges{
894+
node{
895+
id
896+
status
897+
assignedLocation{
898+
location{
899+
id
900+
}
901+
}
902+
lineItems {
903+
edges{
904+
node{
905+
id
906+
totalQuantity
907+
lineItem{
908+
id
909+
}
910+
}
911+
}
912+
}
913+
}
914+
}
915+
}
916+
}
917+
}
918+
}
919+
}
920+
""" ) {
921+
bulkOperation {
922+
id
923+
status
924+
}
925+
userErrors {
926+
field
927+
message
928+
}
929+
}
930+
}
931+
</@compress>]]>
932+
</fileData>
933+
<histories versionName="01" previousVersionName="01"/>
934+
</file>
935+
</moqui.resource.DbResource>
936+
820937
<!-- Enumeration Types for Service Jobs -->
821938
<moqui.basic.EnumerationType enumTypeId="FULFILLMENT_SYS_JOB" description="Fulfillment Jobs"/>
822939
<moqui.basic.EnumerationType enumTypeId="MISC_SYS_JOB" description="Miscellaneous Jobs"/>

0 commit comments

Comments
 (0)