{"action":"created","issue":{"url":"https://api.github.com/repos/e-government-ua/i/issues/1053","labels_url":"https://api.github.com/repos/e-government-ua/i/issues/1053/labels{/name}","comments_url":"https://api.github.com/repos/e-government-ua/i/issues/1053/comments","events_url":"https://api.github.com/repos/e-government-ua/i/issues/1053/events","html_url":"https://github.com/e-government-ua/i/issues/1053","id":124002040,"number":1053,"title":"Доработать сущность SubjectHuman в связке с SubjectContact и соответствующие сервисы по сообщениям","user":{"login":"bvv4ik","id":4208821,"avatar_url":"https://avatars.githubusercontent.com/u/4208821?v=3","gravatar_id":"","url":"https://api.github.com/users/bvv4ik","html_url":"https://github.com/bvv4ik","followers_url":"https://api.github.com/users/bvv4ik/followers","following_url":"https://api.github.com/users/bvv4ik/following{/other_user}","gists_url":"https://api.github.com/users/bvv4ik/gists{/gist_id}","starred_url":"https://api.github.com/users/bvv4ik/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bvv4ik/subscriptions","organizations_url":"https://api.github.com/users/bvv4ik/orgs","repos_url":"https://api.github.com/users/bvv4ik/repos","events_url":"https://api.github.com/users/bvv4ik/events{/privacy}","received_events_url":"https://api.github.com/users/bvv4ik/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/e-government-ua/i/labels/active","name":"active","color":"eb6420"},{"url":"https://api.github.com/repos/e-government-ua/i/labels/In%20process%20of%20testing","name":"In process of testing","color":"d4c5f9"},{"url":"https://api.github.com/repos/e-government-ua/i/labels/test","name":"test","color":"5319e7"},{"url":"https://api.github.com/repos/e-government-ua/i/labels/_wf-central","name":"_wf-central","color":"0052cc"}],"state":"open","locked":false,"assignee":{"login":"RoOmel","id":12996514,"avatar_url":"https://avatars.githubusercontent.com/u/12996514?v=3","gravatar_id":"","url":"https://api.github.com/users/RoOmel","html_url":"https://github.com/RoOmel","followers_url":"https://api.github.com/users/RoOmel/followers","following_url":"https://api.github.com/users/RoOmel/following{/other_user}","gists_url":"https://api.github.com/users/RoOmel/gists{/gist_id}","starred_url":"https://api.github.com/users/RoOmel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/RoOmel/subscriptions","organizations_url":"https://api.github.com/users/RoOmel/orgs","repos_url":"https://api.github.com/users/RoOmel/repos","events_url":"https://api.github.com/users/RoOmel/events{/privacy}","received_events_url":"https://api.github.com/users/RoOmel/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/e-government-ua/i/milestones/5","html_url":"https://github.com/e-government-ua/i/milestones/BackEnd_Java","labels_url":"https://api.github.com/repos/e-government-ua/i/milestones/5/labels","id":1063352,"number":5,"title":"BackEnd_Java","description":"Разработка кастомных общих API/REST, которые вначале позволят реализовывать  нужные нам сервисы по авторизации(и не только), а потом станут общей-единой точкой входа, включающую текущие REST Activiti","creator":{"login":"bvv4ik","id":4208821,"avatar_url":"https://avatars.githubusercontent.com/u/4208821?v=3","gravatar_id":"","url":"https://api.github.com/users/bvv4ik","html_url":"https://github.com/bvv4ik","followers_url":"https://api.github.com/users/bvv4ik/followers","following_url":"https://api.github.com/users/bvv4ik/following{/other_user}","gists_url":"https://api.github.com/users/bvv4ik/gists{/gist_id}","starred_url":"https://api.github.com/users/bvv4ik/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bvv4ik/subscriptions","organizations_url":"https://api.github.com/users/bvv4ik/orgs","repos_url":"https://api.github.com/users/bvv4ik/repos","events_url":"https://api.github.com/users/bvv4ik/events{/privacy}","received_events_url":"https://api.github.com/users/bvv4ik/received_events","type":"User","site_admin":false},"open_issues":52,"closed_issues":198,"state":"open","created_at":"2015-04-11T19:27:45Z","updated_at":"2016-01-13T22:43:57Z","due_on":null,"closed_at":null},"comments":10,"created_at":"2015-12-28T00:00:14Z","updated_at":"2016-01-16T10:06:38Z","closed_at":null,"body":"- [x] 1) в сущности SubjectContact добавить поле sDate с типом \"дата\", и автопроставлением его при создании записи и любом апдейте ее. (если авто-обновление невозможно, то реализовать это в соответствующих методах сущности)\r\n\r\n- [x] 2) в дополнение к полю sMail сущности SubjectMessage, добавить опциональное поле nID_SubjectContact_Mail, по которому подвязывать записи в сущности SubjectContact\r\n\r\n- [x] 3) При каждом новом добавлении записи в сущность SubjectMessage, и наличии электронного адреса (поле sMail)\r\n- [x] 3.1) при отсутствии nID_Subject, используя внутренний механизм сервиса /syncSubject:\r\n - синхронизировать пользователя (через идентификатор sCode_Subject, в виде sMail, и соответствующий тип nID_SubjectHumanIdType, для почты), и полученный его nID_Subject прописывать в соответствующее поле SubjectMessage и SubjectContact.\r\n- [x] 3.2) при наличии nID_Subject, получить по нему объект Subject и SubjectHuman, а к нему:\r\n- если не привязано ни одного контакта: подвязывать новую запись SubjectContact (с соотв.типом, значением из sMail и nID_Subject), и сделать ее дефолтной через поле nID_SubjectContact_DefaultEmail, сущности SubjectHuman.\r\n- если есть привязанные контакты, но такого адреса там нет: подвязывать новую запись SubjectContact (с соотв.типом и значением из sMail и nID_Subject), и сделать ее дефолтной через поле nID_SubjectContact_DefaultEmail, сущности SubjectHuman.\r\n- если такая запись уже есть: просто обновить в сущности SubjectContact значение в поле sDate на текущую,\r\n- [x] 3.3) после отработки механизма п.3.2, в поле nID_SubjectContact_Mail, сущности SubjectMessage записывать nID этой записи, сущности SubjectContact.\r\n\r\nВАЖНО:\r\n- сразу вынести механизм п.3.1 и п.3.2 в отдельный метод, для дальнейшего использования из других участков кода.\r\n- электронный адрес, после реализации нового механизма хранения не дублировать в поле \"sMail\"\r\n\r\n- [x] 4) Доработать сущность SubjectMessage так, чтоб при ее отдаче, поле sMail формировалось и отдавалось именно через подвязанную структуру Subject - SubjectContact (а не бралось из сохраненного поля в базе)\r\n\r\n- [x] 5) Написать сервис, который позволит уже сохраненные данные в поле sMail, сущности SubjectMessage перевести во вновь подвязанную структуру. (и каждое перенесенное значение потом отчищать в исходном поле sMail сущности SubjectMessage)\r\n\r\n- [x] 6) ТОЛЬКО после полного переноса всех данных по п.5 - через чанджсет удалить поле sMail из сущности SubjectMessage\r\n"},"comment":{"url":"https://api.github.com/repos/e-government-ua/i/issues/comments/172178793","html_url":"https://github.com/e-government-ua/i/issues/1053#issuecomment-172178793","issue_url":"https://api.github.com/repos/e-government-ua/i/issues/1053","id":172178793,"user":{"login":"lesha1980","id":12561441,"avatar_url":"https://avatars.githubusercontent.com/u/12561441?v=3","gravatar_id":"","url":"https://api.github.com/users/lesha1980","html_url":"https://github.com/lesha1980","followers_url":"https://api.github.com/users/lesha1980/followers","following_url":"https://api.github.com/users/lesha1980/following{/other_user}","gists_url":"https://api.github.com/users/lesha1980/gists{/gist_id}","starred_url":"https://api.github.com/users/lesha1980/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lesha1980/subscriptions","organizations_url":"https://api.github.com/users/lesha1980/orgs","repos_url":"https://api.github.com/users/lesha1980/repos","events_url":"https://api.github.com/users/lesha1980/events{/privacy}","received_events_url":"https://api.github.com/users/lesha1980/received_events","type":"User","site_admin":false},"created_at":"2016-01-16T10:06:38Z","updated_at":"2016-01-16T10:06:38Z","body":"Вот. https://github.com/e-government-ua/i/blob/test/wf-central/src/test/java/org/igov/service/controller/SubjectMessageControllerScenario.java"}}