Subversion Repositories SmartDukaan

Rev

Rev 24174 | Rev 24184 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 24174 Rev 24177
Line 110... Line 110...
110
	@Value("${think.walnut.digital.recharge.auth.key}")
110
	@Value("${think.walnut.digital.recharge.auth.key}")
111
	private String thinkWalnutDigitalRechargeAuthKey;
111
	private String thinkWalnutDigitalRechargeAuthKey;
112
 
112
 
113
	@Autowired
113
	@Autowired
114
	private PurchaseRepository purchaseRepository;
114
	private PurchaseRepository purchaseRepository;
115
	
-
 
116
 
115
 
117
	@Autowired
116
	@Autowired
118
	private SchemeService schemeService;
117
	private SchemeService schemeService;
119
 
118
 
120
	@Autowired
119
	@Autowired
Line 141... Line 140...
141
	@Autowired
140
	@Autowired
142
	private DailyRechargeRepository dailyRechargeRepository;
141
	private DailyRechargeRepository dailyRechargeRepository;
143
 
142
 
144
	@Autowired
143
	@Autowired
145
	private FofoStoreRepository fofoStoreRepository;
144
	private FofoStoreRepository fofoStoreRepository;
146
	
145
 
147
	@Autowired
146
	@Autowired
148
	private TargetSlabService targetService;
147
	private TargetSlabService targetService;
149
 
148
 
150
	@Value("${prod}")
149
	@Value("${prod}")
151
	private boolean prod;
150
	private boolean prod;
Line 159... Line 158...
159
	@Autowired
158
	@Autowired
160
	private OrderRepository orderRepository;
159
	private OrderRepository orderRepository;
161
 
160
 
162
	@Autowired
161
	@Autowired
163
	private JavaMailSender mailSender;
162
	private JavaMailSender mailSender;
164
	
163
 
165
	@Autowired
164
	@Autowired
166
	private PartnerTargetRepository partnerTargetRepository;
165
	private PartnerTargetRepository partnerTargetRepository;
167
 
166
 
168
	@Autowired
167
	@Autowired
169
	@Qualifier(value = "googleMailSender")
168
	@Qualifier(value = "googleMailSender")
170
	private JavaMailSender googleMailSender;
169
	private JavaMailSender googleMailSender;
171
 
170
 
172
	@Autowired
171
	@Autowired
173
	private InventoryService inventoryService;
172
	private InventoryService inventoryService;
174
	
-
 
175
	
-
 
176
 
173
 
177
	private static final Logger LOGGER = LogManager.getLogger(ScheduledTasks.class);
174
	private static final Logger LOGGER = LogManager.getLogger(ScheduledTasks.class);
178
 
175
 
179
	public void generateDailyRecharge() {
176
	public void generateDailyRecharge() {
180
		List<RechargeProviderCreditWalletHistory> allCreditHistory = rechargeProviderCreditWalletHistoryRepository
177
		List<RechargeProviderCreditWalletHistory> allCreditHistory = rechargeProviderCreditWalletHistoryRepository
Line 374... Line 371...
374
		Utils.sendMailWithAttachment(googleMailSender, "adeel.yazdani@smartdukaan.com",
371
		Utils.sendMailWithAttachment(googleMailSender, "adeel.yazdani@smartdukaan.com",
375
				new String[] { "amandeep.singh@smartdukaan.com", "tarun.verma@smartdukaan.com",
372
				new String[] { "amandeep.singh@smartdukaan.com", "tarun.verma@smartdukaan.com",
376
						"kamini.sharma@smartdukaan.com", "dhruv.kathpal@smartdukaan.com" },
373
						"kamini.sharma@smartdukaan.com", "dhruv.kathpal@smartdukaan.com" },
377
				"Partner Investment Summary", "PFA", fileName, new ByteArrayResource(baos.toByteArray()));
374
				"Partner Investment Summary", "PFA", fileName, new ByteArrayResource(baos.toByteArray()));
378
	}
375
	}
379
	
376
 
380
	private  void sendMailWithAttachments(String[] email,String[] ccEmails,String body,String subject,String attachment,InputStream is) throws MessagingException, ProfitMandiBusinessException, IOException
377
	private void sendMailWithAttachments(String[] email, String[] ccEmails, String body, String subject,
381
	{
-
 
-
 
378
			Map<String, InputStream> inputStreams)
-
 
379
			throws MessagingException, ProfitMandiBusinessException, IOException {
382
		MimeMessage message = mailSender.createMimeMessage();
380
		MimeMessage message = mailSender.createMimeMessage();
383
    	MimeMessageHelper helper = new MimeMessageHelper(message,true,CharEncoding.UTF_8);
381
		MimeMessageHelper helper = new MimeMessageHelper(message, true, CharEncoding.UTF_8);
384
    	helper.setSubject(subject);
382
		helper.setSubject(subject);
385
    	helper.setText(body);
383
		helper.setText(body);
386
    	if(ccEmails !=null)
384
		if (ccEmails != null) {
387
    	{
-
 
388
    	helper.setCc(ccEmails);
385
			helper.setCc(ccEmails);
389
    	}
386
		}
-
 
387
		for (String attachment : inputStreams.keySet()) {
390
    	helper.addAttachment(attachment+LocalDate.now()+".xlsx",new ByteArrayResource(IOUtils.toByteArray(is)));
388
			helper.addAttachment(attachment + LocalDate.now() + ".xlsx",
-
 
389
					new ByteArrayResource(IOUtils.toByteArray(inputStreams.get(attachment))));
-
 
390
		}
391
    	helper.setTo(email);
391
		helper.setTo(email);
392
    	InternetAddress senderAddress = new InternetAddress("noreply@smartdukaan.com", "ProfitMandi Admin");
392
		InternetAddress senderAddress = new InternetAddress("noreply@smartdukaan.com", "ProfitMandi Admin");
393
    	helper.setFrom(senderAddress);
393
		helper.setFrom(senderAddress);
394
    	mailSender.send(message);
394
		mailSender.send(message);
395
	}
395
	}
-
 
396
 
396
	public void sendMailToSalesHeadAboutTargetAndSales(SaleHeadDetails salesHeadDetail) throws MessagingException, ProfitMandiBusinessException, IOException
397
	public void sendMailToSalesHeadAboutTargetAndSales(SaleHeadDetails salesHeadDetail)
397
	{
-
 
-
 
398
			throws MessagingException, ProfitMandiBusinessException, IOException {
398
		List<PartnerTargetDetails> partnerTargetDetails=partnerTargetRepository.selectAllGeEqAndLeEqStartDateAndEndDate(LocalDateTime.now());
399
		List<PartnerTargetDetails> partnerTargetDetails = partnerTargetRepository
-
 
400
				.selectAllGeEqAndLeEqStartDateAndEndDate(LocalDateTime.now());
-
 
401
		Map<String, InputStream> inputStreams = new HashMap<>();
399
		for(PartnerTargetDetails partnerTargetDetail:partnerTargetDetails)
402
		for (PartnerTargetDetails partnerTargetDetail : partnerTargetDetails) {
-
 
403
			InputStream is = targetService.getDailySaleReportVsTargetForSaleHead(partnerTargetDetail,
-
 
404
					salesHeadDetail.getName());
-
 
405
			
400
		{
406
			
401
			InputStream is=targetService.getDailySaleReportVsTargetForSaleHead(partnerTargetDetail,salesHeadDetail.getName());
407
			inputStreams.put(partnerTargetDetail.getTargetName(), is);
-
 
408
 
-
 
409
		}
-
 
410
		String[] ccEmails = null;
402
			//String[] ccEmails={"Tarun.verma@smartdukaan.com","Kamini.sharma@smartdukaan.com","chaitnaya.vats@smartdukaan.com","dhruv.kathpal@smartdukaan.com"};
411
		// ccEmails={"Tarun.verma@smartdukaan.com","Kamini.sharma@smartdukaan.com","chaitnaya.vats@smartdukaan.com","dhruv.kathpal@smartdukaan.com"};
403
			String[] ccEmails= null;
-
 
404
			String subject="Daily Sales Report "+partnerTargetDetail.getTargetName();
412
		String subject = "Daily Sales Report ";
405
			String message = MessageFormat.format("{0} Sale Target summary for {1}",partnerTargetDetail.getTargetName(),LocalDate.now());
413
		String message = MessageFormat.format("Sale Target summary for {0}", LocalDate.now());
406
			LOGGER.info("message"+message);
414
		LOGGER.info("message" + message);
407
			if(salesHeadDetail.getName().equals("Kamal"))
415
		if (salesHeadDetail.getName().equals("Kamal")) {
408
			{
-
 
409
				LOGGER.info("salesHeadDetail.getName()"+salesHeadDetail.getName());
416
			LOGGER.info("salesHeadDetail.getName()" + salesHeadDetail.getName());
410
				String[] to= {salesHeadDetail.getEmail(),"mohinder.mutreja@smartdukaan.com"};
417
			String[] to = { salesHeadDetail.getEmail(), "mohinder.mutreja@smartdukaan.com" };
411
				
418
 
412
				this.sendMailWithAttachments(to, ccEmails,message, subject,partnerTargetDetail.getTargetName(),is);
419
			this.sendMailWithAttachments(to, ccEmails, message, subject, inputStreams);
413
				
-
 
414
			}
420
 
415
			else
421
		} else {
416
			{
-
 
417
				LOGGER.info("salesHeadDetail.getName()"+salesHeadDetail.getName());
422
			LOGGER.info("salesHeadDetail.getName()" + salesHeadDetail.getName());
418
			String[] to= {salesHeadDetail.getEmail()};
423
			String[] to = { salesHeadDetail.getEmail() };
419
			this.sendMailWithAttachments(to, ccEmails,message,subject,partnerTargetDetail.getTargetName(),is);
424
			this.sendMailWithAttachments(to, ccEmails, message, subject, inputStreams);
420
			}
-
 
421
		}
425
		}
422
	}
426
	}
-
 
427
 
-
 
428
	public void sendMailToPartnerAboutTargetAndSales()
423
	public void sendMailToPartnerAboutTargetAndSales() throws ProfitMandiBusinessException, MessagingException, IOException
429
			throws ProfitMandiBusinessException, MessagingException, IOException {
424
	{
-
 
-
 
430
		List<Integer> fofoIds = targetService.getfofoIdsFromfofoStore();
-
 
431
		Map<String, InputStream> inputStreams = new HashMap<>();
-
 
432
		Map<Integer, CustomRetailer> fofoIdsAndCustomRetailer = retailerService
-
 
433
				.getFofoRetailers(new ArrayList<>(fofoIds));
425
		List<PartnerTargetDetails> partnerTargetDetails=partnerTargetRepository.selectAllGeEqAndLeEqStartDateAndEndDate(LocalDateTime.now());
434
		List<PartnerTargetDetails> partnerTargetDetails = partnerTargetRepository
-
 
435
				.selectAllGeEqAndLeEqStartDateAndEndDate(LocalDateTime.now());
-
 
436
		for (Integer fofoId : fofoIds) {
426
		for(PartnerTargetDetails partnerTargetDetail:partnerTargetDetails)
437
			for (PartnerTargetDetails partnerTargetDetail : partnerTargetDetails) {
427
		{
-
 
428
			Map<Integer, Float> foFoIdsAndTargetValues=targetService.getAllTargetValues(partnerTargetDetail.getId());
438
				Map<Integer, Float> foFoIdsAndTargetValues = targetService
429
			Map<Integer, CustomRetailer> fofoIdsAndCustomRetailer = retailerService.getFofoRetailers(new ArrayList<>(foFoIdsAndTargetValues.keySet()));
439
						.getAllTargetValues(partnerTargetDetail.getId());
430
			for(Integer fofoId:foFoIdsAndTargetValues.keySet())
440
				if(foFoIdsAndTargetValues.get(fofoId)==null)
431
			{
441
				{
-
 
442
					continue;
-
 
443
				}
432
				InputStream is=targetService.getDailySaleReportVsTargetForPartner(fofoId, partnerTargetDetail);
444
				InputStream is=targetService.getDailySaleReportVsTargetForPartner(fofoId, partnerTargetDetail);
433
				LOGGER.info("fofoId"+fofoId);
-
 
434
				String[] email= {"govind.kumar@shop2020.in"};
-
 
435
				LOGGER.info(fofoIdsAndCustomRetailer.get(fofoId).getEmail());
-
 
436
				String subject="Daily Sales Report "+" "+partnerTargetDetail.getTargetName();
445
				inputStreams.put(partnerTargetDetail.getTargetName(),is);
437
				String message = MessageFormat.format("{0} Sale Target summary for {1}",partnerTargetDetail.getTargetName(),LocalDate.now());
-
 
438
				LOGGER.info(message);
-
 
439
				this.sendMailWithAttachments(email, null,message, subject, partnerTargetDetail.getTargetName(),is);
-
 
440
				
-
 
441
			}
446
			}
-
 
447
			LOGGER.info("fofoId"+fofoId);
-
 
448
			String[] email= {"govind.kumar@shop2020.in"};
-
 
449
			LOGGER.info(fofoIdsAndCustomRetailer.get(fofoId).getEmail());
-
 
450
			String subject="Daily Sales Report";
-
 
451
			String message = MessageFormat.format("Sale Target summary for {0}",LocalDate.now());
-
 
452
			LOGGER.info(message);
-
 
453
			this.sendMailWithAttachments(email, null,message, subject,inputStreams);
442
		}
454
		}
443
	}
455
	}
444
 
456
 
445
}
457
}