OrganizationIdentityServiceImpl.java 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220
  1. package com.goafanti.user.service.impl;
  2. import java.util.ArrayList;
  3. import java.util.Calendar;
  4. import java.util.HashMap;
  5. import java.util.List;
  6. import java.util.Map;
  7. import java.util.TreeMap;
  8. import java.util.UUID;
  9. import org.apache.commons.lang3.StringUtils;
  10. import org.slf4j.Logger;
  11. import org.slf4j.LoggerFactory;
  12. import org.springframework.beans.BeanUtils;
  13. import org.springframework.beans.factory.annotation.Autowired;
  14. import org.springframework.stereotype.Service;
  15. import com.goafanti.common.dao.NoticeMapper;
  16. import com.goafanti.common.dao.OrganizationIdentityMapper;
  17. import com.goafanti.common.dao.UserMapper;
  18. import com.goafanti.common.dao.UserRoleMapper;
  19. import com.goafanti.common.enums.IdentityAuditStatus;
  20. import com.goafanti.common.enums.NoticeReadStatus;
  21. import com.goafanti.common.enums.NoticeStatus;
  22. import com.goafanti.common.enums.UserLevel;
  23. import com.goafanti.common.model.Notice;
  24. import com.goafanti.common.model.OrganizationIdentity;
  25. import com.goafanti.common.model.User;
  26. import com.goafanti.core.mybatis.BaseMybatisDao;
  27. import com.goafanti.core.mybatis.page.Pagination;
  28. import com.goafanti.core.shiro.token.TokenManager;
  29. import com.goafanti.portal.bo.OrgSubscriberListBo;
  30. import com.goafanti.user.bo.AuditorOrgIdentityDetailBo;
  31. import com.goafanti.user.bo.OrgBasicInfoBo;
  32. import com.goafanti.user.bo.OrgIdentityBo;
  33. import com.goafanti.user.bo.OrgUnitNames;
  34. import com.goafanti.user.service.OrganizationIdentityService;
  35. @Service
  36. public class OrganizationIdentityServiceImpl extends BaseMybatisDao<OrganizationIdentityMapper>
  37. implements OrganizationIdentityService {
  38. @Autowired
  39. private OrganizationIdentityMapper organizationIdentityMapper;
  40. @Autowired
  41. private UserMapper userMapper;
  42. @Autowired
  43. private NoticeMapper noticeMapper;
  44. @Autowired
  45. private UserRoleMapper userRoleMapper;
  46. private static final Logger logger = LoggerFactory.getLogger(OrganizationIdentityServiceImpl.class);
  47. @Override
  48. public OrganizationIdentity insert(OrganizationIdentity organizationIdentity) {
  49. organizationIdentityMapper.insert(organizationIdentity);
  50. return organizationIdentity;
  51. }
  52. @Override
  53. public OrganizationIdentity selectOrgIdentityByUserId(String userId) {
  54. return organizationIdentityMapper.selectOrgIdentityByUserId(userId);
  55. }
  56. @Override
  57. public int updateByPrimaryKeySelective(OrganizationIdentity organizationIdentity) {
  58. return organizationIdentityMapper.updateByPrimaryKeySelective(organizationIdentity);
  59. }
  60. @Override
  61. public OrgIdentityBo selectOrgIdentityBoByUserId(String uid) {
  62. return organizationIdentityMapper.selectOrgIdentityBoByUserId(uid);
  63. }
  64. @Override
  65. public List<OrgUnitNames> selectAllOrgIndentity() {
  66. String aid = null;
  67. /*if (!TokenManager.hasRole(AFTConstants.SUPERADMIN)) {
  68. aid = TokenManager.getAdminId();
  69. }*/
  70. return organizationIdentityMapper.selectAllOrgIndentity(aid);
  71. }
  72. @Override
  73. public int updateByPrimaryKey(OrganizationIdentity org) {
  74. return organizationIdentityMapper.updateByPrimaryKey(org);
  75. }
  76. @Override
  77. public Map<String, String> selectContactsByUserId(String uid) {
  78. OrganizationIdentity i = organizationIdentityMapper.selectOrgIdentityByUserId(uid);
  79. Map<String, String> map = new TreeMap<String, String>();
  80. return map;
  81. }
  82. @Override
  83. public int updateOrgDetailByAuditAdmin(OrganizationIdentity oi, String aid, String mid, Integer level) {
  84. User user = userMapper.selectByPrimaryKey(oi.getUid());
  85. if (!IdentityAuditStatus.PASSED.getCode().equals(oi.getAuditStatus())) {
  86. user.setLvl(UserLevel.GENERAL.getCode());
  87. userMapper.updateByPrimaryKeySelective(user);
  88. createNotice(user, oi.getAuditStatus());
  89. } else {
  90. /*
  91. * if (UserLevel.GENERAL.getCode().equals(level)) {
  92. * user.setLvl(UserLevel.CERTIFIED.getCode()); }
  93. */
  94. user.setLvl(UserLevel.CERTIFIED.getCode());
  95. user.setAid(aid);
  96. user.setMid(mid);
  97. userMapper.updateByPrimaryKeySelective(user);
  98. // disposeRatePay(oi, oi.getUid());
  99. createNotice(user, oi.getAuditStatus());
  100. }
  101. return organizationIdentityMapper.updateByPrimaryKeySelective(oi);
  102. }
  103. @Override
  104. public OrgBasicInfoBo selectBasicInfo(String uid, int year) {
  105. return organizationIdentityMapper.selectBasicInfo(uid, year);
  106. }
  107. @Override
  108. public AuditorOrgIdentityDetailBo selectAuditorOrgIdentityDetailByUserId(String uid) {
  109. return organizationIdentityMapper.selectAuditorOrgIdentityDetailByUserId(uid,
  110. Calendar.getInstance().get(Calendar.YEAR - 1));
  111. }
  112. // 给业务员及客户经理发送通知
  113. private void createNotice(User u, Integer status) {
  114. if (!StringUtils.isBlank(u.getAid())) {
  115. Notice n = new Notice();
  116. n.setPid(u.getAid());
  117. n.setAid(u.getAid());
  118. n.setUid(u.getId());
  119. notice(n, status);
  120. }
  121. if (!StringUtils.isBlank(u.getMid())) {
  122. Notice n = new Notice();
  123. n.setUid(u.getId());
  124. n.setAid(u.getMid());
  125. if (!StringUtils.isBlank(u.getAid())) {
  126. n.setPid(u.getAid());
  127. }
  128. notice(n, status);
  129. }
  130. }
  131. // 给所有审核员发送审核通知
  132. private void createAuditorNotice(User u) {
  133. List<String> ids = userRoleMapper.listAuditor();
  134. List<Notice> list = new ArrayList<>();
  135. if (ids.size() > 0 && null != ids) {
  136. for (String s : ids) {
  137. Notice n = new Notice();
  138. Calendar now = Calendar.getInstance();
  139. now.set(Calendar.MILLISECOND, 0);
  140. n.setId(UUID.randomUUID().toString());
  141. n.setCreateTime(now.getTime());
  142. n.setReaded(NoticeReadStatus.UNREAD.getCode());
  143. if (null != u) {
  144. n.setPid(u.getAid());
  145. }
  146. n.setUid(u.getId());
  147. n.setAid(s);
  148. n.setContent(
  149. NoticeStatus.ORGANIZATIONCERTIFY.getDesc() + " " + IdentityAuditStatus.COMMITTED.getDesc());
  150. n.setNoticeType(NoticeStatus.ORGANIZATIONCERTIFY.getCode());
  151. list.add(n);
  152. }
  153. noticeMapper.insertBatch(list);
  154. }
  155. }
  156. private void notice(Notice n, Integer status) {
  157. Calendar now = Calendar.getInstance();
  158. now.set(Calendar.MILLISECOND, 0);
  159. n.setId(UUID.randomUUID().toString());
  160. n.setCreateTime(now.getTime());
  161. n.setReaded(NoticeReadStatus.UNREAD.getCode());
  162. String content = NoticeStatus.ORGANIZATIONCERTIFY.getDesc();
  163. if (IdentityAuditStatus.UNCOMMITTED.getCode() == status) {
  164. content = content + " " + IdentityAuditStatus.UNCOMMITTED.getDesc();
  165. } else if (IdentityAuditStatus.COMMITTED.getCode() == status) {
  166. content = content + " " + IdentityAuditStatus.COMMITTED.getDesc();
  167. } else if (IdentityAuditStatus.UNPAID.getCode() == status) {
  168. content = content + " " + IdentityAuditStatus.UNPAID.getDesc();
  169. } else if (IdentityAuditStatus.PAID.getCode() == status) {
  170. content = content + " " + IdentityAuditStatus.PAID.getDesc();
  171. } else if (IdentityAuditStatus.PASSED.getCode() == status) {
  172. content = content + " " + IdentityAuditStatus.PASSED.getDesc();
  173. } else {
  174. content = content + " " + IdentityAuditStatus.NOTPASSED.getDesc();
  175. }
  176. n.setContent(content);
  177. n.setNoticeType(NoticeStatus.ORGANIZATIONCERTIFY.getCode());
  178. // noticeMapper.insert(n);
  179. }
  180. @Override
  181. public void save(OrgIdentityBo orgIdentityBo) {
  182. OrganizationIdentity oi = new OrganizationIdentity();
  183. BeanUtils.copyProperties(orgIdentityBo, oi);
  184. User u = userMapper.selectByPrimaryKey(TokenManager.getUserId());
  185. u.setEmail(orgIdentityBo.getEmail());
  186. userMapper.updateByPrimaryKeySelective(u);
  187. OrganizationIdentity o = organizationIdentityMapper.selectOrgIdentityByUserId(TokenManager.getUserId());
  188. if (null == o && StringUtils.isBlank(oi.getId())) {
  189. oi.setId(UUID.randomUUID().toString());
  190. oi.setUid(TokenManager.getUserId());
  191. organizationIdentityMapper.insert(oi);
  192. } else if (null != o && StringUtils.isNotBlank(oi.getId())) {
  193. organizationIdentityMapper.updateByPrimaryKeySelective(oi);
  194. }
  195. }
  196. }