Rev 22845 | Rev 23204 | Go to most recent revision | View as "text/plain" | Blame | Compare with Previous | Last modification | View Log | RSS feed
package com.spice.profitmandi.service;import java.time.LocalDateTime;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.stereotype.Component;import org.springframework.transaction.annotation.Transactional;import com.spice.profitmandi.dao.entity.dtr.ActivationCode;import com.spice.profitmandi.dao.entity.dtr.Retailer;import com.spice.profitmandi.dao.entity.dtr.User;import com.spice.profitmandi.dao.repository.dtr.RetailerRepository;import com.spice.profitmandi.dao.repository.dtr.UserRepository;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;@AutowiredUserRepository userRepo;@AutowiredRetailerRepository retailerRepo;@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 = userRepo.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;}}