##### Coverage Report - jp.co.y_net.amm.service.MailAddressCheck

Classes in this File | Line Coverage | Branch Coverage | Complexity

MailAddressCheck

0% | 0/25

0% | 0/14

0.0;0

1

     package jp.co.y_net.amm.service;

2

3

     import jp.co.y_net.amm.common.AppLogger;

4

     import jp.co.y_net.amm.dao.Org;

5

     import jp.co.y_net.amm.dao.OrgDao;

6

     import jp.co.y_net.amm.dao.Usr;

7

     import jp.co.y_net.amm.dao.UsrDao;

8

9

     import org.springframework.beans.factory.annotation.Autowired;

10

     import org.springframework.beans.factory.annotation.Qualifier;

11

     import org.springframework.stereotype.Component;

12

13

     @Component("mailAddressCheck")

14

0

     public class MailAddressCheck {

15

16

         @Autowired(required = true)

17

         @Qualifier("usrDao")

18

         protected UsrDao usrDao;

19

20

         @Autowired(required = true)

21

         @Qualifier("orgDao")

22

         protected OrgDao orgDao;

23

24

         public boolean exist(String mail) {

25

0

             return exist(mail, null, true);

26

         }

27

28

         public boolean existWithoutOrg(String mail) {

29

0

             return exist(mail, null, false);

30

         }

31

         /**

32

          * @param mail

33

          * @param myUsrid

34

          * @param checkOrg 申請中のOrgもチェック対象に入れる場合はTrueを指定する。

35

          * @return

36

          */

37

         private boolean exist(String mail, Integer myUsrid, boolean checkOrg) {

38

39

0

             boolean exist = false;

40

0

             Usr cndUsr = new Usr();

41

0

             cndUsr.setLoginid(mail);

42

0

             for(Usr u: usrDao.get(cndUsr)) {

43

0

                 if(u.getStatus().equals(Usr.STATUS_退会)) {

44

                     // 無視

45

0

                     AppLogger.debug(u.getName() + "が同一のメールアドレスだが退会済み");

46

0

                     continue;

47

                 }

48

49

0

                 if (myUsrid != null && u.getUsrid() == myUsrid) {

50

0

                     AppLogger.debug(u.getName() + "自分自身のデータ");

51

0

                     continue;

52

                 }

53

54

0

                 AppLogger.debug(u.getName() + "が同一のメールアドレス");

55

0

                 exist = true;

56

0

                 break;

57

             }

58

59

0

             if(checkOrg) {

60

0

                 if(exist == false) {

61

                     /* 申請中の組織に同一のメールアドレスが存在指定はいけない */

62

0

                     Org cndOrg = new Org();

63

0

                     cndOrg.setMail(mail);

64

0

                     cndOrg.setStatus(Org.STATUS_未処理);

65

0

                     for(Org o: orgDao.get(cndOrg)) {

66

0

                         AppLogger.debug(o.getName() + "が同一のメールアドレス");

67

0

                         exist = true;

68

                         break;

69

                     }

70

                 }

71

             }

72

73

0

             return exist;

74

         }

75

76

77

     }