| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324 |
- //
- // ERPUtils.m
- // iSales-NPD
- //
- // Created by Jack on 2017/2/13.
- // Copyright © 2017年 United Software Applications, Inc. All rights reserved.
- //
- #import "ERPUtils.h"
- #import "AppDelegate.h"
- #import "Singleton.h"
- #import "GoogleAnalyst.h"
- #import "RANetwork.h"
-
- @implementation ERPUtils
- + (NSString *)orderStatus:(NSInteger)statusCode {
-
- __block NSString *status = nil;
-
- AppDelegate *appDelegate = (AppDelegate *)[UIApplication sharedApplication].delegate;
- NSDictionary *filter = nil;
- switch (appDelegate.user_type) {
- case USER_ROLE_EMPLOYEE: {
- filter = appDelegate.OrderFilter;
- }
- break;
- case USER_ROLE_CUSTOMER: {
- if ([Singleton sharedInstance].customer_order_type == 0) {
- filter = [Singleton sharedInstance].shop_order_status_filter;
- } else {
- filter = [Singleton sharedInstance].sales_order_status_filter;
- }
- }
- break;
- case USER_ROLE_UNKNOWN: {
-
- }
-
- default:
- break;
- }
-
- [filter enumerateKeysAndObjectsUsingBlock:^(id _Nonnull key, id _Nonnull obj, BOOL * _Nonnull stop) {
-
- if ([obj isKindOfClass:[NSDictionary class]]) {
- NSDictionary *orderStatusDic = (NSDictionary *)obj;
- if ([[orderStatusDic objectForKey:@"value_id"] integerValue] == statusCode) {
- status = [orderStatusDic objectForKey:@"value"];
- *stop = YES;
- }
- }
-
- }];
-
- return status;
- }
- + (NSString *)screenOfRequestString:(NSString *)urlString {
-
- // Home View
- // URL_LOAD_HOME // home
- // URL_ITEM_SEARCH // particular category
- // URL_ITEMSEARCHADDALL // add all
- if ([urlString isEqualToString:URL_LOAD_HOME]) {
- return @"HomeView";
- }
-
- if ([urlString isEqualToString:URL_ITEM_SEARCH] || [urlString isEqualToString:URL_ITEMSEARCHADDALL]) {
- return @"Particular Category";
- }
-
-
- // Category
- // URL_REQUEST_CATMENU // category menu
- // URL_CATEGORY_LOADMORE // category
- // URL_CATEGORY // category
- // URL_CATEGORYADDALL // add all
- if ([urlString isEqualToString:URL_REQUEST_CATMENU] || [urlString isEqualToString:URL_CATEGORY_LOADMORE] || [urlString isEqualToString:URL_CATEGORY] || [urlString isEqualToString:URL_CATEGORYADDALL]) {
- return @"Category";
- }
-
- // Cart
- // URL_CART
- // URL_CART_SET_PRICE
- // URL_CART_ITEM_NOTES
- // URL_CART_GENERAL_NOTES
- // URL_CART_INCRESEMENT
- // URL_CARTDELIVERY
- // URL_CART_REMOVE
- // URL_CART2WISH
- // URL_CUSTOMER_PENDINGORDER
- // URL_EMAIL_CART
-
- if ([urlString isEqualToString:URL_CART] || [urlString isEqualToString:URL_CART_SET_PRICE] || [urlString isEqualToString:URL_CART_ITEM_NOTES] || [urlString isEqualToString:URL_CART_GENERAL_NOTES] || [urlString isEqualToString:URL_CART_INCRESEMENT] || [urlString isEqualToString:URL_CARTDELIVERY] || [urlString isEqualToString:URL_CART_REMOVE] || [urlString isEqualToString:URL_CART_REMOVE] || [urlString isEqualToString:URL_CART2WISH] || [urlString isEqualToString:URL_CUSTOMER_PENDINGORDER] || [urlString isEqualToString:URL_EMAIL_CART]) {
- return @"Cart";
- }
-
- // Order List
- // URL_ORDER_LIST // order list
- // URL_NEW_ORDER
- // URL_DELETE_ORDER
- // URL_CANCEL_ORDER
- if ([urlString isEqualToString:URL_ORDER_LIST] || [urlString isEqualToString:URL_NEW_ORDER] || [urlString isEqualToString:URL_DELETE_ORDER] || [urlString isEqualToString:URL_CANCEL_ORDER]) {
- return @"Order List";
- }
-
- // Search
- // URL_SEARCH // search
- // URL_SEARCHADDALL // add all
- if ([urlString isEqualToString:URL_SEARCH] || [urlString isEqualToString:URL_SEARCHADDALL]) {
- return @"Search";
- }
- // Account
- // URL_CUSTOMER_ADV_SEARCH // contact advanced search
- // URL_CONTACT_LIST
- // URL_SHIPTO_LIST
- // URL_NEW_CUSTOMER
-
- if ([urlString isEqualToString:URL_CUSTOMER_ADV_SEARCH] || [urlString isEqualToString:URL_CONTACT_LIST] || [urlString isEqualToString:URL_SHIPTO_LIST] || [urlString isEqualToString:URL_NEW_CUSTOMER]) {
- return @"Customer List";
- }
-
- // Contact Info
- // URL_CUSTOMER_INFO
- // URL_EDIT_CUSTOMER
- // URL_CUSTOMER_SAVE
- // URL_CUSTOMER_UPDATE
- // URL_UPDATE_CUSTOMER_BCARD // Update image
- // URL_UPLOAD_IMG
- //
- if ([urlString isEqualToString:URL_CUSTOMER_INFO] || [urlString isEqualToString:URL_EDIT_CUSTOMER] || [urlString isEqualToString:URL_CUSTOMER_SAVE] || [urlString isEqualToString:URL_CUSTOMER_UPDATE] || [urlString isEqualToString:URL_UPDATE_CUSTOMER_BCARD] || [urlString isEqualToString:URL_UPLOAD_IMG]) {
- return @"Customer Information";
- }
- // Wish List
- // URL_WISH2CART
- // URL_WATCHLIST
- // URL_WATCHLIST_REMOVE
- if ([urlString isEqualToString:URL_WISH2CART] || [urlString isEqualToString:URL_WATCHLIST] || [urlString isEqualToString:URL_WATCHLIST_REMOVE]) {
- return @"Wish List";
- }
-
- // Model Detail
- // URL_ITEM_DETAIL
- // URL_ADD_TO_WATCHLIST
- // URL_ADD_TO_PORTFOLIO
- // URL_NOTIFY_ME
- if ([urlString isEqualToString:URL_NOTIFY_ME] || [urlString isEqualToString:URL_ADD_TO_PORTFOLIO] || [urlString isEqualToString:URL_ADD_TO_WATCHLIST] || [urlString isEqualToString:URL_ITEM_DETAIL] || [urlString isEqualToString:URL_ADD_TO_CART]) {
- return @"Model Information";
- }
-
- // Portfolio
- // URL_PORTFOLIO_REMOVE
- // URL_PORTFOLIO
- // URL_PORTFOLIO_SET_PRICE
- // URL_DM_PARAMS // Create Porfolio
- // URL_REQUEST_DM // Save PDF
- // URL_SAVE_DM // preview Save PDF
- // URL_REQUEST_MODEL_QTY // Edit Portfolio
- if ([urlString isEqualToString:URL_PORTFOLIO] || [urlString isEqualToString:URL_PORTFOLIO_REMOVE] || [urlString isEqualToString:URL_PORTFOLIO_SET_PRICE] || [urlString isEqualToString:URL_DM_PARAMS] || [urlString isEqualToString:URL_REQUEST_DM] || [urlString isEqualToString:URL_SAVE_DM] || [urlString isEqualToString:URL_REQUEST_MODEL_QTY]) {
- return @"Portfolio";
- }
-
-
- // Portfolio List
- // URL_DM_LIST
- // URL_PORTFOLIOLIST_REMOVE
- if ([urlString isEqualToString:URL_DM_LIST] || [urlString isEqualToString:URL_PORTFOLIOLIST_REMOVE]) {
- return @"View Portfolio";
- }
-
- // login logout
- // URL_UPDATE_AUTH
- // URL_LOGOUT
- // URL_RETRIEVE_PASS // forget password
- // URL_REQUEST_LOGIN // request login
- #ifdef BUILD_NPD
- if ([urlString isEqualToString:URL_REQUEST_LOGIN] || [urlString isEqualToString:URL_RETRIEVE_PASS] || [urlString isEqualToString:URL_UPDATE_AUTH]) {
- return @"Login View";
- }
- #else
- if ([urlString isEqualToString:URL_RETRIEVE_PASS] || [urlString isEqualToString:URL_UPDATE_AUTH]) {
- return @"Login View";
- }
- #endif
-
- // Place order
- // URL_COMMIT_ORDER // place order
- // URL_SAVE_ORDER // place order
- // URL_UPDATE_ORDERCUSTOMER // place order
- // URL_ADDRESS_EDOTOR // Address Editor
- // URL_ADDRESS_SAVE // save address
- // URL_CREDITCARD_EDOTOR // creditcard
- // URL_CREDITCARD_SAVE //
- if ([urlString isEqualToString:URL_CREDITCARD_SAVE] || [urlString isEqualToString:URL_CREDITCARD_EDOTOR] || [urlString isEqualToString:URL_ADDRESS_SAVE] || [urlString isEqualToString:URL_ADDRESS_EDOTOR] || [urlString isEqualToString:URL_UPDATE_ORDERCUSTOMER] || [urlString isEqualToString:URL_SAVE_ORDER] || [urlString isEqualToString:URL_COMMIT_ORDER]) {
- return @"Place Order";
- }
-
-
- // Order Detail
- // URL_ORDER_DETAIL // order detail
- // URL_COPY_ORDER // order detail
- // URL_SIGN_ORDER // order detail
- // URL_OPEN_ORDER
- // URL_RELEASE_ORDER
- if ([urlString isEqualToString:URL_RELEASE_ORDER] || [urlString isEqualToString:URL_OPEN_ORDER] || [urlString isEqualToString:URL_SIGN_ORDER] || [urlString isEqualToString:URL_COPY_ORDER] || [urlString isEqualToString:URL_ORDER_DETAIL]) {
- return @"Order Information";
- }
-
- // Add To Cart
- // URL_ADD_TO_CART
-
-
- // offline
- // URL_CHECK_OFFLINE
- // URL_UPLOAD_OFFLINE
- // URL_DOWNLOAD_OFFLINE
- // URL_FINISH_DOWNLOAD_OFFLINE
-
-
- // Price Setting
- // URL_SET_PRICE_TYPE
- // URL_GET_CIVEN_PRICE
- // URL_SET_GIVEN_PRICE
- if ([urlString isEqualToString:URL_SET_GIVEN_PRICE] || [urlString isEqualToString:URL_GET_CIVEN_PRICE] || [urlString isEqualToString:URL_SET_PRICE_TYPE]) {
- return @"Price Setting";
- }
-
- // Convert Order To NPD
- // URL_SET_MERGE_ORDER
- if ([urlString isEqualToString:URL_SET_MERGE_ORDER]) {
- return @"Order List";
- }
-
-
- // NPD Policy
- // URL_NPD_POLICY
-
-
- return nil;
- }
- + (void)googleAnalyticsSendRequestString:(NSString *)urlString WithScreen:(NSString *)screenName Action:(NSString *)action Extra:(NSDictionary *)extra {
- #ifdef BUILD_NPD
- if (!screenName && !action && !extra) {
- return;
- }
-
- // NSString *preScreenName = [GoogleAnalyst currentTrackScreen];
-
- [GoogleAnalyst clearTracker];
- // 1. Track all screens and sessions.
- [GoogleAnalyst trackScreen:screenName];
-
- if (action) {
-
- NSString *label = nil;
-
- if ([action isEqualToString:@"Login"]) { // 2. Track user login and timing
-
- NSString *user = [extra objectForKey:@"user"];
- [GoogleAnalyst trackSignInUserID:user];
-
- } else if ([action isEqualToString:@"Add To Cart"]) { // 3. When user clicks on “Add to cart”
-
- if (extra) {
- NSString *name = [extra objectForKey:@"ModelName"];
- NSNumber *count = [extra objectForKey:@"Count"];
- label = name;
-
- [GoogleAnalyst trackProduct:name action:action count:count];
-
-
- }
-
- } else if ([action isEqualToString:@"Open A Model"]) { // 4. user is just opening a model information to check on the item
-
- if (extra) {
- NSString *name = [extra objectForKey:@"ModelName"];
- label = name;
-
- [GoogleAnalyst trackProduct:name action:action count:nil];
-
-
- }
-
- } else if ([action isEqualToString:@"Filter"] || [action isEqualToString:@"Search"]) { // 5. user is using search/filter conditions on the app
-
-
-
- } else if ([action isEqualToString:@"Brow A Particular Category On Home"]){ // 6. If user is browsing a particular category on home screen(new collection, dining…..)
-
- if (extra) {
- NSString *coverName = extra[@"CoverName"];
- label = coverName;
- }
-
- } else {
-
- }
-
- [GoogleAnalyst trackEventCategory:screenName action:action label:label value:nil];
- }
- #endif
-
- }
- @end
|