Subversion Repositories SmartDukaan

Rev

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

Rev Author Line No. Line
22398 amit.gupta 1
package com.spice.profitmandi.web.controller;
2
 
3
import javax.mail.internet.InternetAddress;
4
import javax.mail.internet.MimeMessage;
5
import javax.servlet.http.HttpServletRequest;
6
 
34190 aman.kumar 7
import com.spice.profitmandi.web.req.ContactUsRequest;
23568 govind 8
import org.apache.logging.log4j.Logger;
9
import org.apache.logging.log4j.LogManager;
22398 amit.gupta 10
import org.springframework.beans.factory.annotation.Autowired;
11
import org.springframework.http.MediaType;
12
import org.springframework.http.ResponseEntity;
13
import org.springframework.mail.javamail.JavaMailSender;
14
import org.springframework.mail.javamail.MimeMessageHelper;
22400 amit.gupta 15
import org.springframework.stereotype.Controller;
16
import org.springframework.transaction.annotation.Transactional;
22398 amit.gupta 17
import org.springframework.web.bind.annotation.RequestBody;
18
import org.springframework.web.bind.annotation.RequestMapping;
19
import org.springframework.web.bind.annotation.RequestMethod;
20
 
21
import com.spice.profitmandi.common.model.UserInfo;
22
import com.spice.profitmandi.common.web.util.ResponseSender;
23568 govind 23
import com.spice.profitmandi.dao.config.WebDBContextConfigure;
22398 amit.gupta 24
import com.spice.profitmandi.dao.entity.dtr.User;
25
import com.spice.profitmandi.dao.repository.dtr.UserAccountRepository;
26
import com.spice.profitmandi.dao.repository.dtr.UserRepository;
27
import com.spice.profitmandi.web.req.FeedbackRequest;
28
 
29
import io.swagger.annotations.ApiImplicitParam;
30
import io.swagger.annotations.ApiImplicitParams;
31
 
22400 amit.gupta 32
@Controller
33
@Transactional(rollbackFor=Throwable.class)
22398 amit.gupta 34
public class ContactUsController {
35
 
23568 govind 36
 
37
	private static final Logger LOGGER = LogManager.getLogger(ContactUsController.class);
22398 amit.gupta 38
	@Autowired
22931 ashik.ali 39
	private JavaMailSender mailSender;
22398 amit.gupta 40
 
41
	@Autowired
22931 ashik.ali 42
	private ResponseSender<?> responseSender;
22398 amit.gupta 43
 
44
	@Autowired
22931 ashik.ali 45
	private UserRepository userRepository;
22398 amit.gupta 46
 
47
    @RequestMapping(value = "/contact-us/feedback" , method=RequestMethod.POST,produces = MediaType.APPLICATION_JSON_VALUE)
48
	@ApiImplicitParams({
49
		@ApiImplicitParam(name = "Auth-Token", value = "Auth-Token", 
50
				required = true, dataType = "string", paramType = "header")
51
	})
52
    public ResponseEntity<?> sendCrmMail(HttpServletRequest request, @RequestBody FeedbackRequest feedbackRequest) throws Throwable {
53
    	UserInfo userInfo = (UserInfo)request.getAttribute("userInfo");
54
    	User user = userRepository.selectById(userInfo.getUserId());
55
 
56
 
57
    	MimeMessage message = mailSender.createMimeMessage();
58
    	MimeMessageHelper helper = new MimeMessageHelper(message);
22404 amit.gupta 59
    	helper.setSubject("New Contact Us message");
22398 amit.gupta 60
    	StringBuffer messageText = new StringBuffer();
61
    	messageText.append("User Id : ").append(userInfo.getUserId()).append("\n\n");
62
    	messageText.append("Email : ").append(user.getEmailId()).append("\n\n");
63
    	messageText.append("Mobile : ").append(user.getMobileNumber()).append("\n\n");
64
    	messageText.append("Subject : ").append(feedbackRequest.getSubject()).append("\n\n");
65
    	messageText.append("Message : ").append(feedbackRequest.getMessage());
22404 amit.gupta 66
    	helper.setText(messageText.toString());
23452 amit.gupta 67
    	String[] cc = {"neeraj.arya@smartdukaan.com","rahul.kandpal@smartdukaan.com", "ritesh.chauhan@smartdukaan.com", "krishna.kumar@smartdukaan.com"};
22405 amit.gupta 68
    	//String[] cc = {"amit.gupta@shop2020.in"};
22398 amit.gupta 69
    	helper.setCc(cc);
23839 amit.gupta 70
    	InternetAddress senderAddress = new InternetAddress("noreply@smartdukaan.com", "ProfitMandi Admin");
71
    	helper.setTo("help@smartdukaan.com");
22403 amit.gupta 72
    	helper.setFrom(senderAddress);
22398 amit.gupta 73
    	mailSender.send(message);
23568 govind 74
    	LOGGER.info("message send Successfully.....");
22398 amit.gupta 75
    	return responseSender.ok(true);
76
    }
34190 aman.kumar 77
	@RequestMapping(value="/contact-us",method = RequestMethod.POST,produces = MediaType.APPLICATION_JSON_VALUE)
78
	@ApiImplicitParams({
79
			@ApiImplicitParam( name ="Auth-Token",value="Auth-Token",
80
					required=true, dataType="string", paramType="header")})
81
	public ResponseEntity<?> sendCrmMail(HttpServletRequest request, @RequestBody ContactUsRequest contactUsRequest) throws Throwable {
82
		MimeMessage message = mailSender.createMimeMessage();
83
		MimeMessageHelper helper = new MimeMessageHelper(message);
84
		helper.setSubject("New Contact Us message");
85
		String emailContent = "<html>"
86
				+ "<body style='font-family: Arial, sans-serif;'>"
87
				+ "<h2 style='color: #333;'>New Contact Us Message</h2>"
88
				+ "<p><strong>Name:</strong> " + contactUsRequest.getName() + "</p>"
89
				+ "<p><strong>Email:</strong> " + contactUsRequest.getEmail() + "</p>"
90
				+ "<p><strong>Mobile:</strong> " + contactUsRequest.getMobile() + "</p>"
91
				+ "<p><strong>Message:</strong></p>"
92
				+ "<p style='background: #f4f4f4; padding: 10px; border-radius: 5px;'>"
93
				+ contactUsRequest.getMessage() + "</p>"
94
				+ "<br>"
95
				+ "<p style='color: #777;'>This email was sent via the Contact Us form.</p>"
96
				+ "</body></html>";
97
		helper.setText(emailContent, true);
98
		String[] cc={"aman.gupta@smartdukaan.com","vikas.jangra@smartdukaan.com"};
99
		helper.setCc(cc);
100
		InternetAddress senderAddress = new InternetAddress("aman.gupta@smartdukaan.com", "ProfitMandi User");
101
		helper.setFrom(senderAddress);
102
		helper.setReplyTo(contactUsRequest.getEmail());
103
		helper.setTo("care@smartdukaan.com");
104
 
105
		mailSender.send(message);
106
		LOGGER.info("message send Successfully"+message);
107
		return responseSender.ok(true);
108
		}
109
 
22398 amit.gupta 110
}