Subversion Repositories SmartDukaan

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
21525 amit.gupta 1
package com.spice.profitmandi.service;
2
 
3
import org.hibernate.Criteria;
4
import org.hibernate.Session;
5
import org.hibernate.SessionFactory;
6
import org.hibernate.criterion.Restrictions;
7
import org.springframework.beans.factory.annotation.Autowired;
8
import org.springframework.stereotype.Component;
22038 amit.gupta 9
import org.springframework.transaction.annotation.Transactional;
21525 amit.gupta 10
 
22020 ashik.ali 11
import com.spice.profitmandi.dao.entity.dtr.ActivationCode;
21729 ashik.ali 12
import com.spice.profitmandi.dao.entity.dtr.Retailer;
13
import com.spice.profitmandi.dao.entity.dtr.User;
14
import com.spice.profitmandi.dao.repository.dtr.RetailerRepository;
15
import com.spice.profitmandi.dao.repository.dtr.UserRepository;
21525 amit.gupta 16
import com.spice.profitmandi.thrift.clients.TransactionClient;
17
 
18
import in.shop2020.model.v1.order.TransactionService;
19
 
20
@Component
22038 amit.gupta 21
@Transactional(rollbackFor=Throwable.class)
21525 amit.gupta 22
public class UserServiceImpl implements UserService {
23
 
24
	@Autowired
25
	SessionFactory sessionFactory;
26
 
27
	@Autowired
28
	UserRepository userRepo;
29
 
30
	@Autowired
31
	RetailerRepository retailerRepo;
32
 
33
 
34
	@Override
35
	public boolean updateActivation(int userId, int retailerId, String activationCode) throws Throwable {
36
 
37
		TransactionClient transactionServiceClient = new TransactionClient();
38
		TransactionService.Client tsc = transactionServiceClient.getClient();
39
		boolean registered = tsc.registerRsa(retailerId, activationCode);
40
 
41
		Session session = sessionFactory.getCurrentSession();
42
 
43
		if(!registered){
44
			Criteria cr = session.createCriteria(ActivationCode.class);
45
			cr.add(Restrictions.eq("code", activationCode)).add(Restrictions.eq("status", true));
46
			ActivationCode code = (ActivationCode)cr.uniqueResult();
47
			if(code==null) {
48
				return false;
49
			} else {
50
				registered=true;
51
				code.setStatus(false);
52
				session.update(code);
53
			}
54
		}
55
 
56
		if(registered) {
57
			User user = userRepo.selectById(userId);
58
			user.setActivated(true);
59
			user.setReferrer(activationCode);
60
			session.update(user);
61
 
62
			Retailer retailer = retailerRepo.selectById(retailerId);
63
			retailer.setActive(true);
64
			session.update(retailer);
65
		}
66
 
67
		return registered;
68
	}
69
}