Subversion Repositories SmartDukaan

Rev

Rev 26958 | Rev 27117 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
25899 tejbeer 1
package com.spice.profitmandi.web.controller;
2
 
3
import java.time.LocalDateTime;
25952 tejbeer 4
import java.util.ArrayList;
25899 tejbeer 5
import java.util.List;
25952 tejbeer 6
import java.util.Map;
7
import java.util.Set;
25899 tejbeer 8
 
9
import javax.servlet.http.HttpServletRequest;
10
 
11
import org.apache.logging.log4j.LogManager;
12
import org.apache.logging.log4j.Logger;
13
import org.springframework.beans.factory.annotation.Autowired;
14
import org.springframework.format.annotation.DateTimeFormat;
15
import org.springframework.http.MediaType;
16
import org.springframework.http.ResponseEntity;
17
import org.springframework.stereotype.Controller;
18
import org.springframework.transaction.annotation.Transactional;
19
import org.springframework.web.bind.annotation.RequestBody;
20
import org.springframework.web.bind.annotation.RequestMapping;
21
import org.springframework.web.bind.annotation.RequestMethod;
22
import org.springframework.web.bind.annotation.RequestParam;
23
 
24
import com.spice.profitmandi.common.exception.ProfitMandiBusinessException;
25952 tejbeer 25
import com.spice.profitmandi.common.model.CustomRetailer;
25899 tejbeer 26
import com.spice.profitmandi.common.web.util.ResponseSender;
27
import com.spice.profitmandi.dao.entity.auth.AuthUser;
28
import com.spice.profitmandi.dao.entity.dtr.User;
25952 tejbeer 29
import com.spice.profitmandi.dao.entity.dtr.UserAccount;
30
import com.spice.profitmandi.dao.entity.user.FranchiseeActivity;
31
import com.spice.profitmandi.dao.entity.user.FranchiseeVisit;
25899 tejbeer 32
import com.spice.profitmandi.dao.entity.user.Lead;
33
import com.spice.profitmandi.dao.entity.user.LeadActivity;
25952 tejbeer 34
import com.spice.profitmandi.dao.enumuration.dtr.FranchiseeActivityStatus;
35
import com.spice.profitmandi.dao.enumuration.dtr.FranchiseeVisitStatus;
25899 tejbeer 36
import com.spice.profitmandi.dao.enumuration.dtr.LeadStatus;
25979 tejbeer 37
import com.spice.profitmandi.dao.model.CreateRefferalRequest;
25899 tejbeer 38
import com.spice.profitmandi.dao.repository.auth.AuthRepository;
25952 tejbeer 39
import com.spice.profitmandi.dao.repository.cs.CsService;
40
import com.spice.profitmandi.dao.repository.dtr.FranchiseeActivityRepository;
41
import com.spice.profitmandi.dao.repository.dtr.FranchiseeVisitRepository;
25899 tejbeer 42
import com.spice.profitmandi.dao.repository.dtr.LeadActivityRepository;
43
import com.spice.profitmandi.dao.repository.dtr.LeadRepository;
25952 tejbeer 44
import com.spice.profitmandi.dao.repository.dtr.UserAccountRepository;
25899 tejbeer 45
import com.spice.profitmandi.dao.repository.dtr.UserRepository;
25952 tejbeer 46
import com.spice.profitmandi.service.user.RetailerService;
47
import com.spice.profitmandi.web.req.CreateFranchiseeRequest;
25979 tejbeer 48
 
25952 tejbeer 49
import com.spice.profitmandi.web.res.Partner;
25899 tejbeer 50
 
51
import io.swagger.annotations.ApiImplicitParam;
52
import io.swagger.annotations.ApiImplicitParams;
53
 
54
@Controller
55
@Transactional(rollbackFor = Throwable.class)
56
public class LeadController {
57
	private static final Logger LOGGER = LogManager.getLogger(LeadController.class);
58
	@Autowired
59
	private ResponseSender<?> responseSender;
60
 
61
	@Autowired
62
	private AuthRepository authRepository;
63
 
64
	@Autowired
65
	private LeadRepository leadRepository;
66
 
67
	@Autowired
25952 tejbeer 68
	private CsService csService;
69
 
70
	@Autowired
71
	private UserRepository userRepository;
72
 
73
	@Autowired
74
	private UserAccountRepository userAccountRepository;
75
 
76
	@Autowired
77
	private com.spice.profitmandi.dao.repository.user.UserRepository userUserRepository;
78
 
79
	@Autowired
80
	private RetailerService retailerService;
81
 
82
	@Autowired
25899 tejbeer 83
	private LeadActivityRepository leadActivityRepository;
84
 
25952 tejbeer 85
	@Autowired
86
	private FranchiseeVisitRepository franchiseeVisitRepository;
87
 
88
	@Autowired
89
	private FranchiseeActivityRepository franchiseeActivityRepository;
90
 
25899 tejbeer 91
	@RequestMapping(value = "/lead", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)
92
	@ApiImplicitParams({
93
			@ApiImplicitParam(name = "Auth-Token", value = "Auth-Token", required = true, dataType = "string", paramType = "header") })
94
	public ResponseEntity<?> LeadUser(HttpServletRequest request,
95
			@RequestBody CreateRefferalRequest createRefferalRequest) throws Exception {
96
		Lead lead = new Lead();
97
		lead.setFirstName(createRefferalRequest.getFirstName());
98
		lead.setLastName(createRefferalRequest.getLastName());
99
		lead.setLeadMobile(createRefferalRequest.getMobile());
100
		lead.setState(createRefferalRequest.getState());
101
		lead.setCity(createRefferalRequest.getCity());
102
		lead.setAddress(createRefferalRequest.getAddress());
103
		lead.setCreatedTimestamp(LocalDateTime.now());
104
		lead.setUpdatedTimestamp(LocalDateTime.now());
105
		lead.setStatus(createRefferalRequest.getStatus());
25979 tejbeer 106
		lead.setSource(createRefferalRequest.getSource());
26244 tejbeer 107
		if (createRefferalRequest.getColorCheck() == true) {
108
			lead.setColor("Green");
109
		} else {
110
			lead.setColor("Yellow");
111
		}
25900 amit.gupta 112
		AuthUser authUser = authRepository.selectByGmailId(createRefferalRequest.getReffereeEmail());
113
		String authUserName = authUser.getFirstName() + " " + authUser.getLastName();
114
		lead.setCreatedBy(authUserName);
115
		lead.setAuthId(authUser.getId());
25981 tejbeer 116
		lead.setAssignTo(authUser.getId());
25899 tejbeer 117
 
118
		leadRepository.persist(lead);
119
		LeadActivity leadActivity = new LeadActivity();
120
		leadActivity.setLeadId(lead.getId());
121
		leadActivity.setRemark(createRefferalRequest.getRemark());
122
 
123
		if (createRefferalRequest.getStatus().equals(LeadStatus.followUp)) {
124
			leadActivity.setSchelduleTimestamp(createRefferalRequest.getSchelduleTimestamp());
26958 tejbeer 125
			leadActivity.setClosureTimestamp(createRefferalRequest.getClosureTimestamp());
27025 tejbeer 126
			lead.setClosureTimestamp(createRefferalRequest.getClosureTimestamp());
25899 tejbeer 127
		} else {
128
			leadActivity.setSchelduleTimestamp(null);
26958 tejbeer 129
			leadActivity.setClosureTimestamp(null);
27025 tejbeer 130
			lead.setClosureTimestamp(null);
25899 tejbeer 131
		}
132
		leadActivity.setCreatedTimestamp(LocalDateTime.now());
133
		leadActivityRepository.persist(leadActivity);
134
 
135
		return responseSender.ok(true);
136
	}
137
 
138
	@RequestMapping(value = "/lead-description", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
139
	@ApiImplicitParams({
140
			@ApiImplicitParam(name = "Auth-Token", value = "Auth-Token", required = true, dataType = "string", paramType = "header") })
141
	public ResponseEntity<?> leadDescription(HttpServletRequest request, @RequestParam(name = "gmailId") String gmailId,
142
			@RequestParam(name = "status") LeadStatus status,
143
			@RequestParam(name = "offset", defaultValue = "0") int offset,
144
			@RequestParam(name = "limit", defaultValue = "10") int limit) throws ProfitMandiBusinessException {
145
		AuthUser authUser = authRepository.selectByGmailId(gmailId);
25979 tejbeer 146
		List<Lead> leads = leadRepository.selectByAssignAuthIdAndStatus(authUser.getId(), status, offset, limit);
147
 
25899 tejbeer 148
		return responseSender.ok(leads);
149
 
150
	}
151
 
152
	@RequestMapping(value = "/getlead", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
153
	@ApiImplicitParams({
154
			@ApiImplicitParam(name = "Auth-Token", value = "Auth-Token", required = true, dataType = "string", paramType = "header") })
155
	public ResponseEntity<?> getLead(HttpServletRequest request, @RequestParam(name = "id") int id)
156
			throws ProfitMandiBusinessException {
157
 
158
		List<LeadActivity> leadActivities = leadActivityRepository.selectBYLeadId(id);
159
		return responseSender.ok(leadActivities);
160
 
161
	}
162
 
25948 amit.gupta 163
	@RequestMapping(value = "/leadUpdate", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)
25899 tejbeer 164
	@ApiImplicitParams({
165
			@ApiImplicitParam(name = "Auth-Token", value = "Auth-Token", required = true, dataType = "string", paramType = "header") })
166
	public ResponseEntity<?> leadUpdate(HttpServletRequest request, @RequestParam(name = "id") int id,
26244 tejbeer 167
			@RequestParam(name = "status") LeadStatus status, @RequestParam(name = "colorCheck") Boolean colorCheck,
168
			@RequestParam(name = "remark") String remark,
26958 tejbeer 169
			@RequestParam(name = "schelduleTimestamp") @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDateTime schelduleTimestamp,
170
			@RequestParam(name = "closureTimestamp") @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDateTime closureTimestamp)
25899 tejbeer 171
			throws ProfitMandiBusinessException {
172
 
173
		Lead lead = leadRepository.selectById(id);
174
 
175
		LeadActivity leadActivity = new LeadActivity();
26250 tejbeer 176
		lead.setStatus(status);
177
		leadActivity.setRemark(remark);
178
		leadActivity.setLeadId(id);
179
		leadActivity.setCreatedTimestamp(LocalDateTime.now());
180
		leadActivity.setSchelduleTimestamp(null);
26958 tejbeer 181
		leadActivity.setClosureTimestamp(null);
26250 tejbeer 182
		lead.setUpdatedTimestamp(LocalDateTime.now());
183
		if (colorCheck == true) {
184
			lead.setColor("Green");
185
		} else {
186
			lead.setColor("Yellow");
187
		}
188
		if (status == LeadStatus.followUp) {
25899 tejbeer 189
 
190
			leadActivity.setSchelduleTimestamp(schelduleTimestamp);
26958 tejbeer 191
			leadActivity.setClosureTimestamp(closureTimestamp);
27025 tejbeer 192
			lead.setClosureTimestamp(closureTimestamp);
26250 tejbeer 193
 
25899 tejbeer 194
		} else {
26250 tejbeer 195
 
25899 tejbeer 196
			leadActivity.setSchelduleTimestamp(null);
26958 tejbeer 197
			leadActivity.setClosureTimestamp(null);
27025 tejbeer 198
			lead.setClosureTimestamp(null);
26244 tejbeer 199
 
25899 tejbeer 200
		}
26250 tejbeer 201
		leadActivityRepository.persist(leadActivity);
25899 tejbeer 202
		return responseSender.ok(true);
203
 
204
	}
25952 tejbeer 205
 
206
	@RequestMapping(value = "/getPartnersList", method = RequestMethod.GET)
207
	@ApiImplicitParams({
208
			@ApiImplicitParam(name = "Auth-Token", value = "Auth-Token", required = true, dataType = "string", paramType = "header") })
209
	public ResponseEntity<?> getPartners(HttpServletRequest request, @RequestParam(name = "gmailId") String gmailId)
210
			throws ProfitMandiBusinessException {
211
 
25973 tejbeer 212
		AuthUser authUser = authRepository.selectByGmailId(gmailId);
25952 tejbeer 213
 
214
		Map<String, Set<String>> storeGuyMap = csService.getAuthUserPartnerEmailMapping();
215
 
216
		Set<String> emails = storeGuyMap.get(authUser.getEmailId());
217
		LOGGER.info("emails" + emails);
218
		List<User> users = userRepository.selectAllByEmailIds(new ArrayList<>(emails));
219
		List<Partner> partners = new ArrayList<>();
220
		for (User user : users) {
221
 
222
			UserAccount uc = userAccountRepository.selectSaholicByUserId(user.getId());
223
			com.spice.profitmandi.dao.entity.user.User userInfo = userUserRepository.selectById(uc.getAccountKey());
224
			CustomRetailer customRetailer = retailerService.getFofoRetailer(userInfo.getId());
225
 
226
			Partner partner = new Partner();
227
			partner.setBusinessName(customRetailer.getBusinessName());
228
			partner.setPartnerId(customRetailer.getPartnerId());
229
			partner.setCartId(customRetailer.getCartId());
230
			partner.setEmail(customRetailer.getEmail());
231
			partner.setGstNumber(customRetailer.getGstNumber());
232
			partner.setDisplayName(customRetailer.getDisplayName());
233
			partner.setCity(customRetailer.getAddress().getCity());
234
			partner.setUserId(user.getId());
235
			partners.add(partner);
236
		}
237
		LOGGER.info("partners" + partners);
238
		return responseSender.ok(partners);
239
	}
240
 
241
	@RequestMapping(value = "/franchise-first-visit", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)
242
	@ApiImplicitParams({
243
			@ApiImplicitParam(name = "Auth-Token", value = "Auth-Token", required = true, dataType = "string", paramType = "header") })
244
	public ResponseEntity<?> FranchiseFirstVisit(HttpServletRequest request,
245
			@RequestBody CreateFranchiseeRequest createFranchiseeRequest) throws Exception {
246
 
247
		FranchiseeVisit franchiseeVisit = new FranchiseeVisit();
248
		franchiseeVisit.setFofoId(createFranchiseeRequest.getFofoId());
249
		CustomRetailer customRetailer = retailerService.getFofoRetailer(createFranchiseeRequest.getFofoId());
250
 
251
		franchiseeVisit.setPartnerName(customRetailer.getBusinessName());
252
		franchiseeVisit.setAgenda(createFranchiseeRequest.getAgenda());
253
		franchiseeVisit.setCreatedTimestamp(LocalDateTime.now());
254
		franchiseeVisit.setUpdatedTimestamp(LocalDateTime.now());
255
		franchiseeVisit.setStatus(FranchiseeVisitStatus.OPEN);
256
		franchiseeVisit.setSchelduleTimestamp(createFranchiseeRequest.getFirstSchelduleTimestamp());
257
		// change
25973 tejbeer 258
		AuthUser authUser = authRepository.selectByGmailId(createFranchiseeRequest.getCreatedBy());
25952 tejbeer 259
 
260
		String authUserName = authUser.getFirstName() + " " + authUser.getLastName();
261
		franchiseeVisit.setCreatedBy(authUserName);
262
		franchiseeVisit.setAuthId(authUser.getId());
263
 
264
		franchiseeVisitRepository.persist(franchiseeVisit);
265
 
266
		return responseSender.ok(true);
267
	}
268
 
269
	@RequestMapping(value = "/franchise-visit", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)
270
	@ApiImplicitParams({
271
			@ApiImplicitParam(name = "Auth-Token", value = "Auth-Token", required = true, dataType = "string", paramType = "header") })
272
	public ResponseEntity<?> FranchiseVisit(HttpServletRequest request,
273
			@RequestBody CreateFranchiseeRequest createFranchiseeRequest) throws Exception {
274
 
275
		FranchiseeVisit franchiseeVisit = franchiseeVisitRepository.selectById(createFranchiseeRequest.getId());
276
		franchiseeVisit.setFofoId(createFranchiseeRequest.getFofoId());
277
		CustomRetailer customRetailer = retailerService.getFofoRetailer(createFranchiseeRequest.getFofoId());
278
 
279
		franchiseeVisit.setPartnerName(customRetailer.getBusinessName());
280
		franchiseeVisit.setAgenda(createFranchiseeRequest.getAgenda());
281
		franchiseeVisit.setPartnerRemark(createFranchiseeRequest.getPartnerRemark());
282
		franchiseeVisit.setOutsideVisibity(createFranchiseeRequest.getOutsideVisibity());
283
		franchiseeVisit.setInstoreVisibility(createFranchiseeRequest.getInstoreVisibility());
284
		franchiseeVisit.setOutsideStock(createFranchiseeRequest.getOutsideStock());
285
		franchiseeVisit.setSystemKnowledge(createFranchiseeRequest.getSystemKnowledge());
286
		franchiseeVisit.setWorkingDevice(createFranchiseeRequest.getWorkingDevice());
287
		franchiseeVisit.setWorkingPrinter(createFranchiseeRequest.getWorkingPrinter());
288
		franchiseeVisit.setCarryBags(createFranchiseeRequest.getCarryBags());
289
		franchiseeVisit.setSmartdukaanTshirt(createFranchiseeRequest.getSmartdukaanTshirt());
290
		franchiseeVisit.setLatestDummies(createFranchiseeRequest.getLatestDummies());
291
		franchiseeVisit.setInvestment(createFranchiseeRequest.getInvestment());
292
		franchiseeVisit.setMtd(createFranchiseeRequest.getMtd());
293
		franchiseeVisit.setHygiene(createFranchiseeRequest.getHygiene());
294
		franchiseeVisit.setCreatedTimestamp(LocalDateTime.now());
295
		franchiseeVisit.setUpdatedTimestamp(LocalDateTime.now());
296
		if (createFranchiseeRequest.getAction().equals(FranchiseeActivityStatus.FOLLOWUP)) {
297
			franchiseeVisit.setStatus(FranchiseeVisitStatus.OPEN);
298
		} else {
299
			franchiseeVisit.setStatus(FranchiseeVisitStatus.CLOSE);
300
		}
301
 
302
		// AuthUser authUser =
303
		// authRepository.selectByGmailId(createFranchiseeRequest.getCreatedBy());
304
		// change
25973 tejbeer 305
		AuthUser authUser = authRepository.selectByGmailId(createFranchiseeRequest.getCreatedBy());
25952 tejbeer 306
 
307
		String authUserName = authUser.getFirstName() + " " + authUser.getLastName();
308
		franchiseeVisit.setCreatedBy(authUserName);
309
		franchiseeVisit.setAuthId(authUser.getId());
310
 
311
		franchiseeVisitRepository.persist(franchiseeVisit);
312
 
313
		FranchiseeActivity franchiseeActivity = new FranchiseeActivity();
314
		franchiseeActivity.setAction(createFranchiseeRequest.getAction());
315
		franchiseeActivity.setFranchiseeVisitd(franchiseeVisit.getId());
316
		franchiseeActivity.setResolution(createFranchiseeRequest.getResolution());
317
		if (createFranchiseeRequest.getAction().equals(FranchiseeActivityStatus.FOLLOWUP)) {
318
			franchiseeActivity.setSchelduleTimestamp(createFranchiseeRequest.getSchelduleTimestamp());
319
		} else {
320
			franchiseeActivity.setSchelduleTimestamp(null);
321
		}
322
		franchiseeActivity.setCreatedTimestamp(LocalDateTime.now());
323
		franchiseeActivityRepository.persist(franchiseeActivity);
324
 
325
		franchiseeVisit.setFranchiseActivityId(franchiseeActivity.getId());
326
		return responseSender.ok(true);
327
	}
328
 
329
	@RequestMapping(value = "/getFranchiseVisit", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
330
	@ApiImplicitParams({
331
			@ApiImplicitParam(name = "Auth-Token", value = "Auth-Token", required = true, dataType = "string", paramType = "header") })
332
	public ResponseEntity<?> getFranchiseVisit(HttpServletRequest request,
333
			@RequestParam(name = "gmailId") String gmailId, @RequestParam(name = "status") FranchiseeVisitStatus status,
334
			@RequestParam(name = "offset", defaultValue = "0") int offset,
335
			@RequestParam(name = "limit", defaultValue = "10") int limit) throws ProfitMandiBusinessException {
25973 tejbeer 336
		AuthUser authUser = authRepository.selectByGmailId(gmailId);
25952 tejbeer 337
 
338
		List<FranchiseeVisit> franchiseeVisits = franchiseeVisitRepository.selectByAuthIdAndStatus(authUser.getId(),
339
				status, offset, limit);
340
 
341
		for (FranchiseeVisit fv : franchiseeVisits) {
342
			if (fv.getFranchiseActivityId() != 0) {
343
				FranchiseeActivity fA = franchiseeActivityRepository.selectById(fv.getFranchiseActivityId());
344
				fv.setFranchiseeActivity(fA);
345
			}
346
		}
347
 
348
		return responseSender.ok(franchiseeVisits);
349
 
350
	}
351
 
352
	@RequestMapping(value = "/getFranchiseActivity", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
353
	@ApiImplicitParams({
354
			@ApiImplicitParam(name = "Auth-Token", value = "Auth-Token", required = true, dataType = "string", paramType = "header") })
355
	public ResponseEntity<?> getFranchiseActivity(HttpServletRequest request, @RequestParam(name = "id") int id)
356
			throws ProfitMandiBusinessException {
357
 
358
		List<FranchiseeActivity> franchiseeActivities = franchiseeActivityRepository.selectByFranchiseeVisitId(id);
359
 
360
		return responseSender.ok(franchiseeActivities);
361
 
362
	}
363
 
364
	@RequestMapping(value = "/getFranchiseeInfo", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
365
	@ApiImplicitParams({
366
			@ApiImplicitParam(name = "Auth-Token", value = "Auth-Token", required = true, dataType = "string", paramType = "header") })
367
	public ResponseEntity<?> getFranchiseeInfo(HttpServletRequest request, @RequestParam(name = "id") int id)
368
			throws ProfitMandiBusinessException {
369
		FranchiseeVisit franchiseeVisit = franchiseeVisitRepository.selectById(id);
370
 
371
		return responseSender.ok(franchiseeVisit);
372
 
373
	}
374
 
375
	@RequestMapping(value = "/franchise-visit-update", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)
376
	@ApiImplicitParams({
377
			@ApiImplicitParam(name = "Auth-Token", value = "Auth-Token", required = true, dataType = "string", paramType = "header") })
378
	public ResponseEntity<?> franchiseVisitUpdate(HttpServletRequest request, @RequestParam(name = "id") int id,
379
			@RequestParam(name = "action") FranchiseeActivityStatus action,
380
			@RequestParam(name = "resolution") String resolution,
381
			@RequestParam(name = "schelduleTimestamp") @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDateTime schelduleTimestamp)
382
			throws ProfitMandiBusinessException {
383
		FranchiseeVisit franchiseeVisit = franchiseeVisitRepository.selectById(id);
384
 
385
		FranchiseeActivity franchiseeActivity = new FranchiseeActivity();
386
 
387
		if (action == FranchiseeActivityStatus.FOLLOWUP) {
388
			franchiseeActivity.setResolution(resolution);
389
			franchiseeActivity.setFranchiseeVisitd(franchiseeVisit.getId());
390
			franchiseeActivity.setAction(action);
391
			franchiseeActivity.setSchelduleTimestamp(schelduleTimestamp);
392
			franchiseeActivity.setCreatedTimestamp(LocalDateTime.now());
393
			franchiseeActivityRepository.persist(franchiseeActivity);
394
			franchiseeVisit.setFranchiseActivityId(franchiseeActivity.getId());
395
			franchiseeVisit.setStatus(FranchiseeVisitStatus.OPEN);
396
			franchiseeVisit.setUpdatedTimestamp(LocalDateTime.now());
397
			franchiseeVisitRepository.persist(franchiseeVisit);
398
 
399
		} else {
400
			franchiseeActivity.setResolution(resolution);
401
			franchiseeActivity.setFranchiseeVisitd(franchiseeVisit.getId());
402
			franchiseeActivity.setAction(action);
403
			franchiseeActivity.setSchelduleTimestamp(null);
404
			franchiseeActivity.setCreatedTimestamp(LocalDateTime.now());
405
			franchiseeActivityRepository.persist(franchiseeActivity);
406
			franchiseeVisit.setFranchiseActivityId(franchiseeActivity.getId());
407
			franchiseeVisit.setStatus(FranchiseeVisitStatus.CLOSE);
408
			franchiseeVisit.setUpdatedTimestamp(LocalDateTime.now());
409
			franchiseeVisitRepository.persist(franchiseeVisit);
410
 
411
		}
412
 
413
		return responseSender.ok(true);
414
 
415
	}
25899 tejbeer 416
}