Advertisement
Guest User

Untitled

a guest
Jul 24th, 2014
238
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 7.05 KB | None | 0 0
  1. @Override
  2.     public Merchant createMerchant(String name, String mercVatNumber, boolean isSupermerchant, int idSupermerchant, String pin, String publicId, String businessType,
  3.             String mail, String phone, String address, String zipcode, String country, String city, String website,
  4.             Double latitude, Double longitude, String logo, Boolean mercHasPrepaid, Boolean mercHasLoyalty, Boolean mercHasDiscount, Boolean mercHasCoupon,
  5.             Boolean mercHasCoinsRewards, Boolean mercHasVoucher, Boolean mercHasExpressPayment, String openingHours, Integer distancePush,
  6.             Integer delayPush, Integer maxScan, Boolean isAffilited, String language, Double cityCoinsMinPercentage, Integer cityCoinsMinFixe)
  7.             throws ServiceException {
  8.  
  9.         /* if given, check if known language, otherwise throw exception */
  10.         UtilsCore.validateLanguage(language);
  11.  
  12.         // user public id is a unique .
  13.         Search s = new Search(Merchant.class);
  14.         s.addFilter(Filter.equal(Merchant_.mercPublicId.getName(), publicId));
  15.         Merchant merchant = this.merchantDao.searchUnique(s);
  16.  
  17.         // first, we check if given email not already used ?
  18.         if (merchant != null) {
  19.             log.info("Merchant already exists with public Id  : " + publicId);
  20.             throw new ServiceException(EnumErrorResponse.MERCHANT_ALREADY_EXISTS.getCode(),
  21.                     EnumErrorResponse.MERCHANT_ALREADY_EXISTS.getMessage());
  22.         }
  23.  
  24.         // email is a unique .
  25.         s = new Search(Merchant.class);
  26.         s.addFilter(Filter.equal(Merchant_.mercMail.getName(), mail));
  27.         merchant = this.merchantDao.searchUnique(s);
  28.  
  29.         // first, we check if given email not already used ?
  30.         if (merchant != null) {
  31.             log.info("Merchant already exists with email : " + mail);
  32.             throw new ServiceException(EnumErrorResponse.MERCHANT_ALREADY_EXISTS.getCode(),
  33.                     EnumErrorResponse.MERCHANT_ALREADY_EXISTS.getMessage());
  34.         }
  35.  
  36.         Merchant supMerc = null;
  37.         if (idSupermerchant > 0) {
  38.             supMerc = this.merchantDao.find(idSupermerchant);
  39.  
  40.             if (supMerc == null) {
  41.                 log.debug("No super merchant found with id " + idSupermerchant);
  42.                 throw new ServiceException(EnumErrorResponse.SUPER_MERCHANT_NOT_FOUND.getCode(),
  43.                         EnumErrorResponse.SUPER_MERCHANT_NOT_FOUND.getMessage());
  44.             }
  45.  
  46.             if (supMerc.getDeleted()) {
  47.                 log.debug("Merchant found with id " + idSupermerchant + " is deleted.");
  48.                 throw new ServiceException(EnumErrorResponse.SUPER_MERCHANT_DELETED.getCode(),
  49.                         EnumErrorResponse.SUPER_MERCHANT_DELETED.getMessage());
  50.             }
  51.  
  52.             if (!supMerc.getIsSupermerchant()) {
  53.                 supMerc.setIsSupermerchant(Boolean.TRUE);
  54.             }
  55.  
  56.         }
  57.  
  58.         merchant = new Merchant();
  59.         merchant.setDeleted(Boolean.FALSE);
  60.  
  61.         if (pin == null) {
  62.             log.info("Pin missing. generating new pin ...");
  63.             pin = UtilsCore.generatePin();
  64.         }
  65.  
  66.         //====================== create Merchant into 4GS auth server  ======================
  67. //        MobiUserCreationResponse mobiUserCreationResponse = createFgsUserInFgsMiddleware(pin, publicId);
  68. //        int errorCode = mobiUserCreationResponse.getErrorCode();
  69. //        boolean isCreateInMiddlewareSuccess = errorCode == 0;
  70. //
  71. //        if (!isCreateInMiddlewareSuccess) {
  72. //
  73. //            String errorMessage = "MobiUser - [" + mail + "] fail create in fgs-middleware. Error ["
  74. //                    + mobiUserCreationResponse.getErrorMessage() + "]";
  75. //            Log.getInstance(this).error(errorMessage);
  76. //
  77. //            throw new ServiceException(EnumErrorResponse.AUTHENTICATION_SERVER_ADD_USER_FAILED.getCode(),
  78. //                    EnumErrorResponse.AUTHENTICATION_SERVER_ADD_USER_FAILED.getMessage());
  79. //        } else {
  80. //            String fgsId = mobiUserCreationResponse.getUserId();
  81. //            Log.getInstance(this).debug("fgsId - [" + fgsId + "]");
  82. //
  83. //            merchant.setMercFgsId(fgsId);
  84. //        }
  85.         String fgsId = UtilsCore.generateFgsid(8);
  86.         Search sFgs = new Search(Merchant.class);
  87.         sFgs.addFilter(Filter.equal(Merchant_.mercFgsId.getName(), fgsId));
  88.         while(this.merchantDao.searchUnique(sFgs)!=null){
  89.             fgsId = UtilsCore.generateFgsid(8);
  90.             sFgs = new Search(Merchant.class);
  91.             sFgs.addFilter(Filter.equal(Merchant_.mercFgsId.getName(), fgsId));
  92.         }
  93.  
  94.         merchant.setMercFgsId(fgsId);
  95.  
  96.         //====================== End of create Merchant into 4GS auth server  ======================
  97.         merchant.setMercName(name);
  98.         merchant.setMercVatNumber(mercVatNumber);
  99.         merchant.setIsSupermerchant(isSupermerchant);
  100.         merchant.setMercPublicId(publicId);
  101.  
  102.         //Check if business type already exists, else create new one
  103.         BusinessType business = this.businessTypeServiceCore.getBusinessTypeByName(businessType);
  104.  
  105.         merchant.setBusinessTypeId(business);
  106.  
  107.         merchant.setMercMail(mail);
  108.         merchant.setMercPhone(phone);
  109.         merchant.setMercAddress(address);
  110.         merchant.setMercZipcode(zipcode);
  111.         merchant.setMercCountry(country);
  112.         merchant.setMercCity(city);
  113.         merchant.setMercWebsite(website);
  114.         if (latitude != null) {
  115.             merchant.setMercLatitude(latitude);
  116.         }
  117.         if (longitude != null) {
  118.             merchant.setMercLongitude(longitude);
  119.         }
  120.  
  121.         String pictureUrl = null;
  122.         if (logo != null && !logo.isEmpty()) {
  123.             pictureUrl = UtilsCore.savePicture(logo);
  124.         }
  125.         merchant.setMercLogo(pictureUrl);
  126.         merchant.setMercOpeningHours(openingHours);
  127.  
  128.         if (distancePush != null) {
  129.             merchant.setDistancePush(distancePush);
  130.         } else {
  131.             merchant.setDistancePush(Integer.valueOf(appConfig.getDefaultDistancePush()));
  132.         }
  133.         if (delayPush != null) {
  134.             merchant.setDelayPush(delayPush);
  135.         } else {
  136.             merchant.setDelayPush(Integer.valueOf(appConfig.getDefaultDelayPush()));
  137.         }
  138.         if (maxScan != null) {
  139.             merchant.setMaxScan(maxScan);
  140.         } else {
  141.             merchant.setMaxScan(Integer.valueOf(appConfig.getDefaultMaxScan()));
  142.         }
  143.  
  144.         merchant.setIsAffiliated(isAffilited);
  145.  
  146.         merchant.setInscriptionDate(new Date());
  147.  
  148.         merchant.setIdSupermerchant(supMerc);
  149.  
  150.         merchant.setMercHasCoinsReward(mercHasCoinsRewards);
  151.         merchant.setMercHasCoupon(mercHasCoupon);
  152.         merchant.setMercHasDiscount(mercHasDiscount);
  153.         merchant.setMercHasExpressPayment(mercHasExpressPayment);
  154.         merchant.setMercHasLoyalty(mercHasLoyalty);
  155.         merchant.setMercHasPrepaid(mercHasPrepaid);
  156.         merchant.setMercHasVoucher(mercHasVoucher);
  157.  
  158.         merchant = this.merchantDao.save(merchant);
  159.         this.merchantDao.save(supMerc);
  160.  
  161.         return merchant;
  162.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement