Rev 23273 | Rev 23984 | Go to most recent revision | View as "text/plain" | Blame | Compare with Previous | Last modification | View Log | RSS feed
package com.spice.profitmandi.service.user;import java.time.LocalDateTime;import java.util.HashMap;import java.util.Map;import org.hibernate.Criteria;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.criterion.Restrictions;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.beans.factory.annotation.Qualifier;import org.springframework.stereotype.Component;import org.springframework.transaction.annotation.Transactional;import com.spice.profitmandi.common.exception.ProfitMandiBusinessException;import com.spice.profitmandi.common.model.ProfitMandiConstants;import com.spice.profitmandi.dao.entity.dtr.ActivationCode;import com.spice.profitmandi.dao.entity.dtr.Retailer;import com.spice.profitmandi.dao.entity.dtr.Role;import com.spice.profitmandi.dao.entity.dtr.User;import com.spice.profitmandi.dao.entity.dtr.UserAccount;import com.spice.profitmandi.dao.entity.fofo.FofoStore;import com.spice.profitmandi.dao.enumuration.dtr.AccountType;import com.spice.profitmandi.dao.enumuration.dtr.RoleType;import com.spice.profitmandi.dao.repository.dtr.FofoStoreRepository;import com.spice.profitmandi.dao.repository.dtr.RetailerRepository;import com.spice.profitmandi.dao.repository.dtr.RoleRepository;import com.spice.profitmandi.dao.repository.dtr.UserAccountRepository;import com.spice.profitmandi.dao.repository.dtr.UserRepository;import com.spice.profitmandi.dao.repository.dtr.UserRoleRepository;import com.spice.profitmandi.thrift.clients.TransactionClient;import in.shop2020.model.v1.order.TransactionService;@Component@Transactional(rollbackFor=Throwable.class)public class UserServiceImpl implements UserService {@Autowiredprivate SessionFactory sessionFactory;@Autowired@Qualifier(value = "userRepository")private UserRepository userRepository;@Autowiredprivate RetailerRepository retailerRepo;@Autowiredprivate FofoStoreRepository fofoStoreRepository;@Autowiredprivate UserAccountRepository userAccountRepository;@Autowiredprivate UserRoleRepository userRoleRepository;@Autowiredprivate RoleRepository roleRepository;@SuppressWarnings("deprecation")@Overridepublic boolean updateActivation(int userId, int retailerId, String activationCode) throws Throwable {TransactionClient transactionServiceClient = new TransactionClient();TransactionService.Client tsc = transactionServiceClient.getClient();boolean registered = tsc.registerRsa(retailerId, activationCode);Session session = sessionFactory.getCurrentSession();if(!registered){Criteria cr = session.createCriteria(ActivationCode.class);cr.add(Restrictions.eq("code", activationCode)).add(Restrictions.eq("status", true));ActivationCode code = (ActivationCode)cr.uniqueResult();if(code==null) {return false;} else {registered=true;code.setStatus(false);session.update(code);}}if(registered) {User user = userRepository.selectById(userId);user.setActivated(true);user.setActivationTime(LocalDateTime.now());user.setReferrer(activationCode);session.update(user);Retailer retailer = retailerRepo.selectById(retailerId);retailer.setActive(true);session.update(retailer);}return registered;}@Overridepublic boolean createActivationCode(int userId) throws Throwable {// TODO Auto-generated method stubreturn false;}@Overridepublic Map<String, String> getEmailsAndFofoStoreCodeByUserId(int userId) throws ProfitMandiBusinessException {User user = userRepository.selectById(userId);UserAccount userAccount = userAccountRepository.selectByUserIdType(userId, AccountType.saholic);Role role = roleRepository.selectByName(RoleType.FOFO.toString());Map<String, String> map = new HashMap<>();map.put(ProfitMandiConstants.EMAIL_ID, user.getEmailId());map.put(ProfitMandiConstants.SECONDRY_EMAIL_ID, user.getSecondryEmailId());userRoleRepository.selectByUserIdAndRoleId(userId, role.getId());FofoStore fofoStore = fofoStoreRepository.selectByRetailerId(userAccount.getAccountKey());map.put(ProfitMandiConstants.CODE, fofoStore.getCode());return map;}}