Subversion Repositories SmartDukaan

Rev

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

Rev Author Line No. Line
24026 tejbeer 1
package com.spice.profitmandi.web.controller;
2
 
31238 amit.gupta 3
import com.spice.profitmandi.common.model.CustomRetailer;
4
import com.spice.profitmandi.common.model.SendMessageModel;
5
import com.spice.profitmandi.common.util.Utils;
6
import com.spice.profitmandi.dao.repository.dtr.FofoStoreRepository;
7
import com.spice.profitmandi.service.user.RetailerService;
8
import com.spice.profitmandi.web.util.MVCResponseSender;
24026 tejbeer 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
 
31238 amit.gupta 19
import javax.servlet.http.HttpServletRequest;
20
import java.util.List;
21
import java.util.Map;
22
import java.util.stream.Collectors;
24026 tejbeer 23
 
24
@Controller
25
@Transactional(rollbackFor = Throwable.class)
26
public class MessageController {
27
 
28
	@Autowired
29
	FofoStoreRepository fofoStoreRepository;
30
 
31
	@Autowired
32
	private RetailerService retailerService;
33
 
34
	@Autowired
35
	private MVCResponseSender mvcResponseSender;
36
 
37
	private static final Logger Logger = LogManager.getLogger(NotificationController.class);
38
 
39
	@RequestMapping(value = "/sendMessagingPanel", method = RequestMethod.GET)
40
	public String sendMessagingPanel(HttpServletRequest request, Model model) {
41
 
42
		List<Integer> fofoIds = fofoStoreRepository.selectAll().stream().map(x -> x.getId())
43
				.collect(Collectors.toList());
30426 tejbeer 44
 
45
		Map<Integer, CustomRetailer> customRetailerMap = retailerService.getAllFofoRetailers();
46
 
47
		Map<Integer, CustomRetailer> customRetailersMap = fofoIds.stream().map(x -> customRetailerMap.get(x))
48
				.filter(x -> x != null).collect(Collectors.toList()).stream()
49
				.collect(Collectors.toMap(x -> x.getPartnerId(), x -> x));
24026 tejbeer 50
		model.addAttribute("customRetailersMap", customRetailersMap);
51
		return "send-message";
52
	}
53
 
54
	@RequestMapping(value = "/sendMessage", method = RequestMethod.POST)
55
	public String sendMessage(HttpServletRequest request, @RequestBody SendMessageModel sendMessageModel, Model model)
56
			throws Exception {
57
 
58
		List<Integer> retailerIds = sendMessageModel.getUserIds();
30426 tejbeer 59
		Map<Integer, CustomRetailer> customRetailerMap = retailerService.getAllFofoRetailers();
24026 tejbeer 60
 
30426 tejbeer 61
		Map<Integer, CustomRetailer> customRetailersMap = retailerIds.stream().map(x -> customRetailerMap.get(x))
62
				.filter(x -> x != null).collect(Collectors.toList()).stream()
63
				.collect(Collectors.toMap(x -> x.getPartnerId(), x -> x));
64
 
24026 tejbeer 65
		for (Integer retailerId : retailerIds) {
66
 
67
			CustomRetailer customRetailer = customRetailersMap.get(retailerId);
68
			String phone = customRetailer.getMobileNumber();
69
			String msg = java.text.MessageFormat.format("{0}", sendMessageModel.getMessageText());
70
			Utils.sendSms(msg, phone);
71
		}
31238 amit.gupta 72
		model.addAttribute("response1", mvcResponseSender.createResponseString(true));
24026 tejbeer 73
		return "response";
74
	}
75
 
76
}