Subversion Repositories SmartDukaan

Rev

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

Rev Author Line No. Line
24026 tejbeer 1
package com.spice.profitmandi.web.controller;
2
 
3
import java.util.List;
4
import java.util.Map;
5
import java.util.stream.Collectors;
6
 
7
import javax.servlet.http.HttpServletRequest;
8
 
9
import org.apache.logging.log4j.LogManager;
10
import org.apache.logging.log4j.Logger;
11
import org.springframework.beans.factory.annotation.Autowired;
12
import org.springframework.stereotype.Controller;
13
import org.springframework.transaction.annotation.Transactional;
14
import org.springframework.ui.Model;
15
import org.springframework.web.bind.annotation.RequestBody;
16
import org.springframework.web.bind.annotation.RequestMapping;
17
import org.springframework.web.bind.annotation.RequestMethod;
18
 
19
import com.spice.profitmandi.common.model.CustomRetailer;
20
import com.spice.profitmandi.common.model.SendMessageModel;
21
import com.spice.profitmandi.common.util.Utils;
22
import com.spice.profitmandi.dao.repository.dtr.FofoStoreRepository;
23
import com.spice.profitmandi.service.user.RetailerService;
24
import com.spice.profitmandi.web.util.MVCResponseSender;
25
 
26
@Controller
27
@Transactional(rollbackFor = Throwable.class)
28
public class MessageController {
29
 
30
	@Autowired
31
	FofoStoreRepository fofoStoreRepository;
32
 
33
	@Autowired
34
	private RetailerService retailerService;
35
 
36
	@Autowired
37
	private MVCResponseSender mvcResponseSender;
38
 
39
	private static final Logger Logger = LogManager.getLogger(NotificationController.class);
40
 
41
	@RequestMapping(value = "/sendMessagingPanel", method = RequestMethod.GET)
42
	public String sendMessagingPanel(HttpServletRequest request, Model model) {
43
 
44
		List<Integer> fofoIds = fofoStoreRepository.selectAll().stream().map(x -> x.getId())
45
				.collect(Collectors.toList());
46
		Map<Integer, CustomRetailer> customRetailersMap = retailerService.getFofoRetailers(fofoIds);
47
		model.addAttribute("customRetailersMap", customRetailersMap);
48
		return "send-message";
49
	}
50
 
51
	@RequestMapping(value = "/sendMessage", method = RequestMethod.POST)
52
	public String sendMessage(HttpServletRequest request, @RequestBody SendMessageModel sendMessageModel, Model model)
53
			throws Exception {
54
 
55
		List<Integer> retailerIds = sendMessageModel.getUserIds();
56
		Map<Integer, CustomRetailer> customRetailersMap = retailerService.getFofoRetailers(retailerIds);
57
 
58
		for (Integer retailerId : retailerIds) {
59
 
60
			CustomRetailer customRetailer = customRetailersMap.get(retailerId);
61
			String phone = customRetailer.getMobileNumber();
62
			String msg = java.text.MessageFormat.format("{0}", sendMessageModel.getMessageText());
63
			Utils.sendSms(msg, phone);
64
		}
65
		model.addAttribute("response", mvcResponseSender.createResponseString(true));
66
		return "response";
67
	}
68
 
69
}