| Line 28... |
Line 28... |
| 28 |
import com.spice.profitmandi.dao.entity.dtr.RetailerBrand;
|
28 |
import com.spice.profitmandi.dao.entity.dtr.RetailerBrand;
|
| 29 |
import com.spice.profitmandi.dao.entity.dtr.RetailerRegisteredAddress;
|
29 |
import com.spice.profitmandi.dao.entity.dtr.RetailerRegisteredAddress;
|
| 30 |
import com.spice.profitmandi.dao.entity.dtr.Shop;
|
30 |
import com.spice.profitmandi.dao.entity.dtr.Shop;
|
| 31 |
import com.spice.profitmandi.dao.entity.dtr.ShopAddress;
|
31 |
import com.spice.profitmandi.dao.entity.dtr.ShopAddress;
|
| 32 |
import com.spice.profitmandi.dao.entity.dtr.User;
|
32 |
import com.spice.profitmandi.dao.entity.dtr.User;
|
| - |
|
33 |
import com.spice.profitmandi.dao.entity.dtr.UserAccounts;
|
| - |
|
34 |
import com.spice.profitmandi.dao.entity.dtr.UserRole;
|
| 33 |
import com.spice.profitmandi.dao.entity.user.Address;
|
35 |
import com.spice.profitmandi.dao.entity.user.Address;
|
| - |
|
36 |
import com.spice.profitmandi.dao.enumuration.dtr.AccountType;
|
| - |
|
37 |
import com.spice.profitmandi.dao.enumuration.dtr.RoleType;
|
| 34 |
import com.spice.profitmandi.dao.repository.dtr.BrandRepository;
|
38 |
import com.spice.profitmandi.dao.repository.dtr.BrandRepository;
|
| 35 |
import com.spice.profitmandi.dao.repository.dtr.DocumentRepository;
|
39 |
import com.spice.profitmandi.dao.repository.dtr.DocumentRepository;
|
| 36 |
import com.spice.profitmandi.dao.repository.dtr.RetailerAddressRepository;
|
40 |
import com.spice.profitmandi.dao.repository.dtr.RetailerAddressRepository;
|
| 37 |
import com.spice.profitmandi.dao.repository.dtr.RetailerBrandRepository;
|
41 |
import com.spice.profitmandi.dao.repository.dtr.RetailerBrandRepository;
|
| 38 |
import com.spice.profitmandi.dao.repository.dtr.RetailerRegisteredAddressRepository;
|
42 |
import com.spice.profitmandi.dao.repository.dtr.RetailerRegisteredAddressRepository;
|
| 39 |
import com.spice.profitmandi.dao.repository.dtr.RetailerRepository;
|
43 |
import com.spice.profitmandi.dao.repository.dtr.RetailerRepository;
|
| 40 |
import com.spice.profitmandi.dao.repository.dtr.ShopAddressRepository;
|
44 |
import com.spice.profitmandi.dao.repository.dtr.ShopAddressRepository;
|
| 41 |
import com.spice.profitmandi.dao.repository.dtr.ShopRepository;
|
45 |
import com.spice.profitmandi.dao.repository.dtr.ShopRepository;
|
| - |
|
46 |
import com.spice.profitmandi.dao.repository.dtr.UserAccountRepository;
|
| 42 |
import com.spice.profitmandi.dao.repository.dtr.UserRepository;
|
47 |
import com.spice.profitmandi.dao.repository.dtr.UserRepository;
|
| - |
|
48 |
import com.spice.profitmandi.dao.repository.dtr.UserRoleRepository;
|
| 43 |
import com.spice.profitmandi.dao.repository.user.AddressRepository;
|
49 |
import com.spice.profitmandi.dao.repository.user.AddressRepository;
|
| 44 |
import com.spice.profitmandi.thrift.clients.UserClient;
|
50 |
import com.spice.profitmandi.thrift.clients.UserClient;
|
| 45 |
import com.spice.profitmandi.web.req.Category;
|
51 |
import com.spice.profitmandi.web.req.Category;
|
| 46 |
import com.spice.profitmandi.web.req.CreateRetailerAddressRequest;
|
52 |
import com.spice.profitmandi.web.req.CreateRetailerAddressRequest;
|
| 47 |
import com.spice.profitmandi.web.req.CreateRetailerRequest;
|
53 |
import com.spice.profitmandi.web.req.CreateRetailerRequest;
|
| Line 61... |
Line 67... |
| 61 |
|
67 |
|
| 62 |
@Autowired
|
68 |
@Autowired
|
| 63 |
UserRepository userRepository;
|
69 |
UserRepository userRepository;
|
| 64 |
|
70 |
|
| 65 |
@Autowired
|
71 |
@Autowired
|
| - |
|
72 |
UserRoleRepository userRoleRepository;
|
| - |
|
73 |
|
| - |
|
74 |
@Autowired
|
| 66 |
ResponseSender<?> responseSender;
|
75 |
ResponseSender<?> responseSender;
|
| 67 |
|
76 |
|
| 68 |
@Autowired
|
77 |
@Autowired
|
| 69 |
RetailerRepository retailerRepository;
|
78 |
RetailerRepository retailerRepository;
|
| 70 |
|
79 |
|
| Line 79... |
Line 88... |
| 79 |
|
88 |
|
| 80 |
@Autowired
|
89 |
@Autowired
|
| 81 |
ShopRepository shopRepository;
|
90 |
ShopRepository shopRepository;
|
| 82 |
|
91 |
|
| 83 |
@Autowired
|
92 |
@Autowired
|
| - |
|
93 |
UserAccountRepository userAccountRepository;
|
| - |
|
94 |
|
| - |
|
95 |
@Autowired
|
| 84 |
RetailerRegisteredAddressRepository retailerRegisteredAddressRepository;
|
96 |
RetailerRegisteredAddressRepository retailerRegisteredAddressRepository;
|
| 85 |
|
97 |
|
| 86 |
@Autowired
|
98 |
@Autowired
|
| 87 |
RetailerAddressRepository retailerAddressRepository;
|
99 |
RetailerAddressRepository retailerAddressRepository;
|
| 88 |
|
100 |
|
| Line 102... |
Line 114... |
| 102 |
public ResponseEntity<?> createRetailer(HttpServletRequest request, @RequestBody CreateRetailerRequest createRetailerRequest){
|
114 |
public ResponseEntity<?> createRetailer(HttpServletRequest request, @RequestBody CreateRetailerRequest createRetailerRequest){
|
| 103 |
LOGGER.info("requested url : "+request.getRequestURL().toString());
|
115 |
LOGGER.info("requested url : "+request.getRequestURL().toString());
|
| 104 |
try{
|
116 |
try{
|
| 105 |
UserInfo userInfo = (UserInfo)request.getAttribute("userInfo");
|
117 |
UserInfo userInfo = (UserInfo)request.getAttribute("userInfo");
|
| 106 |
User user = userRepository.selectById(userInfo.getUserId());
|
118 |
User user = userRepository.selectById(userInfo.getUserId());
|
| 107 |
this.createRetailer(user.getEmailId(), createRetailerRequest);
|
119 |
this.createRetailer(user, createRetailerRequest);
|
| 108 |
return responseSender.ok(ResponseCodeHolder.getMessage("RTLR_OK_1000"));
|
120 |
return responseSender.ok(ResponseCodeHolder.getMessage("RTLR_OK_1000"));
|
| 109 |
}catch (ProfitMandiBusinessException profitMandiBusinessException) {
|
121 |
}catch (ProfitMandiBusinessException profitMandiBusinessException) {
|
| 110 |
LOGGER.error("ProfitMandi error: ", profitMandiBusinessException);
|
122 |
LOGGER.error("ProfitMandi error: ", profitMandiBusinessException);
|
| 111 |
return responseSender.badRequest(profitMandiBusinessException);
|
123 |
return responseSender.badRequest(profitMandiBusinessException);
|
| 112 |
}
|
124 |
}
|
| 113 |
}
|
125 |
}
|
| 114 |
|
126 |
|
| 115 |
private void createRetailer(String emailId, CreateRetailerRequest createRetailerRequest)
|
127 |
private void createRetailer(User user, CreateRetailerRequest createRetailerRequest)
|
| 116 |
throws ProfitMandiBusinessException{
|
128 |
throws ProfitMandiBusinessException{
|
| 117 |
Retailer retailer = new Retailer();
|
129 |
Retailer retailer = new Retailer();
|
| 118 |
retailer.setName(createRetailerRequest.getName());
|
130 |
retailer.setName(createRetailerRequest.getName());
|
| 119 |
retailer.setNumber(createRetailerRequest.getNumber());
|
131 |
retailer.setNumber(createRetailerRequest.getNumber());
|
| 120 |
retailer.setType(createRetailerRequest.getType());
|
132 |
retailer.setType(createRetailerRequest.getType());
|
| Line 138... |
Line 150... |
| 138 |
documentRepository.markDocumentAsPersisted(retailerDocument.getId());
|
150 |
documentRepository.markDocumentAsPersisted(retailerDocument.getId());
|
| 139 |
if(retailerRepository.isExistByNumberAndType(retailer.getNumber(), retailer.getType())){
|
151 |
if(retailerRepository.isExistByNumberAndType(retailer.getNumber(), retailer.getType())){
|
| 140 |
throw new ProfitMandiBusinessException(ProfitMandiConstants.NUMBER + ", " + ProfitMandiConstants.TYPE, retailer.getNumber() + ", " + retailer.getType(), "RTLR_1001");
|
152 |
throw new ProfitMandiBusinessException(ProfitMandiConstants.NUMBER + ", " + ProfitMandiConstants.TYPE, retailer.getNumber() + ", " + retailer.getType(), "RTLR_1001");
|
| 141 |
}
|
153 |
}
|
| 142 |
documentRepository.markDocumentAsPersisted(shopDocument.getId());
|
154 |
documentRepository.markDocumentAsPersisted(shopDocument.getId());
|
| - |
|
155 |
in.shop2020.model.v1.user.User saholicUser = this.createSaholicUser(user.getEmailId());
|
| 143 |
retailer.setId(this.createSololicUser(emailId));
|
156 |
retailer.setId((int)saholicUser.getUserId());
|
| 144 |
retailerRepository.persist(retailer);
|
157 |
retailerRepository.persist(retailer);
|
| 145 |
Shop shop = new Shop();
|
158 |
Shop shop = new Shop();
|
| 146 |
shop.setName(createRetailerRequest.getShop().getName());
|
159 |
shop.setName(createRetailerRequest.getShop().getName());
|
| 147 |
shop.setDocumentId(shopDocument.getId());
|
160 |
shop.setDocumentId(shopDocument.getId());
|
| 148 |
shop.setRetailerId(retailer.getId());
|
161 |
shop.setRetailerId(retailer.getId());
|
| Line 174... |
Line 187... |
| 174 |
ShopAddress shopAddress = new ShopAddress();
|
187 |
ShopAddress shopAddress = new ShopAddress();
|
| 175 |
shopAddress.setShopId(shop.getId());
|
188 |
shopAddress.setShopId(shop.getId());
|
| 176 |
shopAddress.setAddressId(addressShop.getId());
|
189 |
shopAddress.setAddressId(addressShop.getId());
|
| 177 |
shopAddressRepository.persist(shopAddress);
|
190 |
shopAddressRepository.persist(shopAddress);
|
| 178 |
}
|
191 |
}
|
| - |
|
192 |
UserAccounts ua = new UserAccounts();
|
| - |
|
193 |
ua.setAccount_key(String.valueOf(saholicUser.getActiveCartId()));
|
| - |
|
194 |
ua.setUser_id(user.getId());
|
| - |
|
195 |
ua.setAccount_type(AccountType.cartId);
|
| - |
|
196 |
userAccountRepository.persist(ua);
|
| - |
|
197 |
|
| - |
|
198 |
UserAccounts ua2 = new UserAccounts();
|
| - |
|
199 |
ua2.setAccount_key(String.valueOf(saholicUser.getActiveCartId()));
|
| - |
|
200 |
ua2.setUser_id(user.getId());
|
| - |
|
201 |
ua2.setAccount_type(AccountType.cartId);
|
| - |
|
202 |
userAccountRepository.persist(ua2);
|
| - |
|
203 |
|
| - |
|
204 |
UserRole ur = new UserRole();
|
| - |
|
205 |
ur.setRoleId(RoleType.RETAILER.getValue());
|
| - |
|
206 |
ur.setUserId(user.getId());
|
| - |
|
207 |
userRoleRepository.persist(ur);
|
| 179 |
}
|
208 |
}
|
| 180 |
|
209 |
|
| 181 |
private int createSololicUser(String emailId) throws ProfitMandiBusinessException{
|
210 |
private in.shop2020.model.v1.user.User createSaholicUser(String emailId) throws ProfitMandiBusinessException{
|
| 182 |
in.shop2020.model.v1.user.User user = new in.shop2020.model.v1.user.User();
|
211 |
in.shop2020.model.v1.user.User user = new in.shop2020.model.v1.user.User();
|
| 183 |
user.setEmail(emailId);
|
212 |
user.setEmail(emailId);
|
| 184 |
user.setPassword("");
|
213 |
user.setPassword("");
|
| 185 |
user.setCommunicationEmail(emailId);
|
214 |
user.setCommunicationEmail(emailId);
|
| 186 |
user.setSex(Sex.WONT_SAY);
|
215 |
user.setSex(Sex.WONT_SAY);
|
| 187 |
|
216 |
|
| 188 |
try {
|
217 |
try {
|
| 189 |
UserClient userContextServiceClient = new UserClient();
|
218 |
UserClient userContextServiceClient = new UserClient();
|
| 190 |
in.shop2020.model.v1.user.UserContextService.Client userClient = userContextServiceClient.getClient();
|
219 |
in.shop2020.model.v1.user.UserContextService.Client userClient = userContextServiceClient.getClient();
|
| 191 |
user = userClient.createUser(user);
|
220 |
user = userClient.createUser(user);
|
| 192 |
return (int)user.getUserId();
|
221 |
return user;
|
| 193 |
}catch (UserContextException ux){
|
222 |
}catch (UserContextException ux){
|
| 194 |
LOGGER.error("Unable to register user: " + ux.getMessage());
|
223 |
LOGGER.error("Unable to register user: " + ux.getMessage());
|
| 195 |
throw new ProfitMandiBusinessException(ProfitMandiConstants.EMAIL_ID, emailId, "");
|
224 |
throw new ProfitMandiBusinessException(ProfitMandiConstants.EMAIL_ID, emailId, "");
|
| 196 |
} catch (TTransportException e) {
|
225 |
} catch (TTransportException e) {
|
| 197 |
LOGGER.error("Unable to register user." + e);
|
226 |
LOGGER.error("Unable to register user." + e);
|