Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @Override
- public Merchant createMerchant(String name, String mercVatNumber, boolean isSupermerchant, int idSupermerchant, String pin, String publicId, String businessType,
- String mail, String phone, String address, String zipcode, String country, String city, String website,
- Double latitude, Double longitude, String logo, Boolean mercHasPrepaid, Boolean mercHasLoyalty, Boolean mercHasDiscount, Boolean mercHasCoupon,
- Boolean mercHasCoinsRewards, Boolean mercHasVoucher, Boolean mercHasExpressPayment, String openingHours, Integer distancePush,
- Integer delayPush, Integer maxScan, Boolean isAffilited, String language, Double cityCoinsMinPercentage, Integer cityCoinsMinFixe)
- throws ServiceException {
- /* if given, check if known language, otherwise throw exception */
- UtilsCore.validateLanguage(language);
- // user public id is a unique .
- Search s = new Search(Merchant.class);
- s.addFilter(Filter.equal(Merchant_.mercPublicId.getName(), publicId));
- Merchant merchant = this.merchantDao.searchUnique(s);
- // first, we check if given email not already used ?
- if (merchant != null) {
- log.info("Merchant already exists with public Id : " + publicId);
- throw new ServiceException(EnumErrorResponse.MERCHANT_ALREADY_EXISTS.getCode(),
- EnumErrorResponse.MERCHANT_ALREADY_EXISTS.getMessage());
- }
- // email is a unique .
- s = new Search(Merchant.class);
- s.addFilter(Filter.equal(Merchant_.mercMail.getName(), mail));
- merchant = this.merchantDao.searchUnique(s);
- // first, we check if given email not already used ?
- if (merchant != null) {
- log.info("Merchant already exists with email : " + mail);
- throw new ServiceException(EnumErrorResponse.MERCHANT_ALREADY_EXISTS.getCode(),
- EnumErrorResponse.MERCHANT_ALREADY_EXISTS.getMessage());
- }
- Merchant supMerc = null;
- if (idSupermerchant > 0) {
- supMerc = this.merchantDao.find(idSupermerchant);
- if (supMerc == null) {
- log.debug("No super merchant found with id " + idSupermerchant);
- throw new ServiceException(EnumErrorResponse.SUPER_MERCHANT_NOT_FOUND.getCode(),
- EnumErrorResponse.SUPER_MERCHANT_NOT_FOUND.getMessage());
- }
- if (supMerc.getDeleted()) {
- log.debug("Merchant found with id " + idSupermerchant + " is deleted.");
- throw new ServiceException(EnumErrorResponse.SUPER_MERCHANT_DELETED.getCode(),
- EnumErrorResponse.SUPER_MERCHANT_DELETED.getMessage());
- }
- if (!supMerc.getIsSupermerchant()) {
- supMerc.setIsSupermerchant(Boolean.TRUE);
- }
- }
- merchant = new Merchant();
- merchant.setDeleted(Boolean.FALSE);
- if (pin == null) {
- log.info("Pin missing. generating new pin ...");
- pin = UtilsCore.generatePin();
- }
- //====================== create Merchant into 4GS auth server ======================
- // MobiUserCreationResponse mobiUserCreationResponse = createFgsUserInFgsMiddleware(pin, publicId);
- // int errorCode = mobiUserCreationResponse.getErrorCode();
- // boolean isCreateInMiddlewareSuccess = errorCode == 0;
- //
- // if (!isCreateInMiddlewareSuccess) {
- //
- // String errorMessage = "MobiUser - [" + mail + "] fail create in fgs-middleware. Error ["
- // + mobiUserCreationResponse.getErrorMessage() + "]";
- // Log.getInstance(this).error(errorMessage);
- //
- // throw new ServiceException(EnumErrorResponse.AUTHENTICATION_SERVER_ADD_USER_FAILED.getCode(),
- // EnumErrorResponse.AUTHENTICATION_SERVER_ADD_USER_FAILED.getMessage());
- // } else {
- // String fgsId = mobiUserCreationResponse.getUserId();
- // Log.getInstance(this).debug("fgsId - [" + fgsId + "]");
- //
- // merchant.setMercFgsId(fgsId);
- // }
- String fgsId = UtilsCore.generateFgsid(8);
- Search sFgs = new Search(Merchant.class);
- sFgs.addFilter(Filter.equal(Merchant_.mercFgsId.getName(), fgsId));
- while(this.merchantDao.searchUnique(sFgs)!=null){
- fgsId = UtilsCore.generateFgsid(8);
- sFgs = new Search(Merchant.class);
- sFgs.addFilter(Filter.equal(Merchant_.mercFgsId.getName(), fgsId));
- }
- merchant.setMercFgsId(fgsId);
- //====================== End of create Merchant into 4GS auth server ======================
- merchant.setMercName(name);
- merchant.setMercVatNumber(mercVatNumber);
- merchant.setIsSupermerchant(isSupermerchant);
- merchant.setMercPublicId(publicId);
- //Check if business type already exists, else create new one
- BusinessType business = this.businessTypeServiceCore.getBusinessTypeByName(businessType);
- merchant.setBusinessTypeId(business);
- merchant.setMercMail(mail);
- merchant.setMercPhone(phone);
- merchant.setMercAddress(address);
- merchant.setMercZipcode(zipcode);
- merchant.setMercCountry(country);
- merchant.setMercCity(city);
- merchant.setMercWebsite(website);
- if (latitude != null) {
- merchant.setMercLatitude(latitude);
- }
- if (longitude != null) {
- merchant.setMercLongitude(longitude);
- }
- String pictureUrl = null;
- if (logo != null && !logo.isEmpty()) {
- pictureUrl = UtilsCore.savePicture(logo);
- }
- merchant.setMercLogo(pictureUrl);
- merchant.setMercOpeningHours(openingHours);
- if (distancePush != null) {
- merchant.setDistancePush(distancePush);
- } else {
- merchant.setDistancePush(Integer.valueOf(appConfig.getDefaultDistancePush()));
- }
- if (delayPush != null) {
- merchant.setDelayPush(delayPush);
- } else {
- merchant.setDelayPush(Integer.valueOf(appConfig.getDefaultDelayPush()));
- }
- if (maxScan != null) {
- merchant.setMaxScan(maxScan);
- } else {
- merchant.setMaxScan(Integer.valueOf(appConfig.getDefaultMaxScan()));
- }
- merchant.setIsAffiliated(isAffilited);
- merchant.setInscriptionDate(new Date());
- merchant.setIdSupermerchant(supMerc);
- merchant.setMercHasCoinsReward(mercHasCoinsRewards);
- merchant.setMercHasCoupon(mercHasCoupon);
- merchant.setMercHasDiscount(mercHasDiscount);
- merchant.setMercHasExpressPayment(mercHasExpressPayment);
- merchant.setMercHasLoyalty(mercHasLoyalty);
- merchant.setMercHasPrepaid(mercHasPrepaid);
- merchant.setMercHasVoucher(mercHasVoucher);
- merchant = this.merchantDao.save(merchant);
- this.merchantDao.save(supMerc);
- return merchant;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement