source: src/main/java/edu/gjoko/schedlr/services/BusinessService.java@ 46fd0c7

Last change on this file since 46fd0c7 was 46fd0c7, checked in by Gjoko Kostadinov <gjoko.kostadinov@…>, 16 months ago

Add admin page initial work.

  • Property mode set to 100644
File size: 1.9 KB
Line 
1package edu.gjoko.schedlr.services;
2
3import edu.gjoko.schedlr.entity.Business;
4import edu.gjoko.schedlr.entity.BusinessStatus;
5import edu.gjoko.schedlr.entity.ServiceType;
6import edu.gjoko.schedlr.entity.StakeholderType;
7import edu.gjoko.schedlr.repositories.BusinessRepository;
8import edu.gjoko.schedlr.repositories.ServiceTypeRepository;
9import lombok.AllArgsConstructor;
10import org.springframework.stereotype.Service;
11
12import java.util.List;
13import java.util.stream.Collectors;
14
15import static edu.gjoko.schedlr.entity.BusinessStatus.ACTIVE;
16import static edu.gjoko.schedlr.entity.BusinessStatus.NEW;
17
18@Service
19@AllArgsConstructor
20public class BusinessService {
21
22 private final BusinessRepository businessRepository;
23 private final ServiceTypeRepository serviceTypeRepository;
24
25 public void saveBusiness(Business business) {
26 saveNewServiceTypes(business);
27 business.getOwner().setStakeholderType(StakeholderType.BUSINESS_OWNER);
28 business.setBusinessStatus(NEW);
29 businessRepository.save(business);
30 }
31
32 public void saveNewServiceTypes(Business business) {
33 business.getServices()
34 .stream()
35 .forEach(service -> {
36 if(service.getServiceType().getId() == null) {
37 ServiceType serviceType = service.getServiceType();
38 serviceType.setBusinessType(business.getBusinessType());
39 service.setServiceType(serviceTypeRepository.save(serviceType));
40 }
41 });
42 }
43
44 public List<Business> getNewBusiness() {
45 return businessRepository.findBusinessesByBusinessStatus(NEW);
46 }
47
48 public void activateBusinesses(List<Business> businessList) {
49 businessList
50 .stream()
51 .forEach(business -> {
52 business.setBusinessStatus(ACTIVE);
53 businessRepository.save(business);
54 });
55 }
56
57}
Note: See TracBrowser for help on using the repository browser.