17e7503aaf9dfcc2472a4c8553332b77e3dc004f
[institute/sw-backend.git] /
1 package com.supwisdom.institute.backend.base.domain.service;
2
3 import java.util.List;
4
5 import org.springframework.beans.factory.annotation.Autowired;
6 import org.springframework.stereotype.Service;
7
8 import com.supwisdom.institute.backend.base.domain.entity.Application;
9 import com.supwisdom.institute.backend.base.domain.entity.Permission;
10 import com.supwisdom.institute.backend.base.domain.repo.ApplicationRepository;
11 import com.supwisdom.institute.backend.base.domain.repo.PermissionRepository;
12 import com.supwisdom.institute.backend.common.framework.service.ABaseService;
13
14 @Service
15 public class ApplicationService extends ABaseService<Application, ApplicationRepository> {
16
17   @Override
18   public ApplicationRepository getRepo() {
19     return applicationRepository;
20   }
21
22   @Autowired
23   private ApplicationRepository applicationRepository;
24   
25   @Autowired
26   private PermissionRepository permissionRepository;
27
28   @Override
29   public Application insert(Application entity) {
30     entity = super.insert(entity);
31     
32     Permission p = new Permission();
33     p.setId(entity.getId());
34     p.setCode(entity.getCode());
35     p.setName(entity.getName());
36     p.setMemo(entity.getMemo());
37     p.setStatus(entity.getStatus());
38     p.setType(Permission.TYPE_APPLICATION);
39     p.setApplicationId(entity.getId());
40     p.setParentId(Permission.ROOT_PARENT_ID);
41     p.setOrder(Permission.DEFAULT_ORDER);
42     
43     permissionRepository.insert(p);
44     
45     return entity;
46   }
47   
48   @Override
49   public Application update(Application entity) {
50     entity = super.update(entity);
51     
52     Permission p = permissionRepository.selectById(entity.getId());
53     if (p != null) {
54       p = new Permission();
55       p.setCode(entity.getCode());
56       p.setName(entity.getName());
57       p.setMemo(entity.getMemo());
58       p.setStatus(entity.getStatus());
59       p.setType(Permission.TYPE_APPLICATION);
60       p.setApplicationId(entity.getId());
61       p.setParentId(Permission.ROOT_PARENT_ID);
62       p.setOrder(Permission.DEFAULT_ORDER);
63       
64       permissionRepository.update(p);
65     } else {
66       p = new Permission();
67       p.setId(entity.getId());
68       p.setCode(entity.getCode());
69       p.setName(entity.getName());
70       p.setMemo(entity.getMemo());
71       p.setStatus(entity.getStatus());
72       p.setType(Permission.TYPE_APPLICATION);
73       p.setApplicationId(entity.getId());
74       p.setParentId(Permission.ROOT_PARENT_ID);
75       p.setOrder(Permission.DEFAULT_ORDER);
76       
77       permissionRepository.insert(p);
78     }
79     
80     return entity;
81   }
82   
83   public void deleteBatch(List<String> ids) {
84     
85     ids.stream().forEach(id -> {
86       this.deleteById(id);
87     });
88   }
89
90   
91 }