AchievementInterestServiceImpl.java 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  1. package com.goafanti.achievement.service.impl;
  2. import java.util.Calendar;
  3. import java.util.Date;
  4. import java.util.HashMap;
  5. import java.util.Map;
  6. import java.util.UUID;
  7. import org.springframework.beans.factory.annotation.Autowired;
  8. import org.springframework.stereotype.Service;
  9. import com.goafanti.achievement.service.AchievementInterestService;
  10. import com.goafanti.common.dao.AchievementInterestMapper;
  11. import com.goafanti.common.dao.DemandInterestMapper;
  12. import com.goafanti.common.dao.NewsInterestMapper;
  13. import com.goafanti.common.dao.ProjectInterestMapper;
  14. import com.goafanti.common.dao.UserInterestMapper;
  15. import com.goafanti.common.enums.InterestType;
  16. import com.goafanti.common.model.AchievementInterest;
  17. import com.goafanti.common.model.DemandInterest;
  18. import com.goafanti.common.model.NewsInterest;
  19. import com.goafanti.common.model.ProjectInterest;
  20. import com.goafanti.common.model.User;
  21. import com.goafanti.common.model.UserInterest;
  22. import com.goafanti.common.utils.StringUtils;
  23. import com.goafanti.core.mybatis.BaseMybatisDao;
  24. import com.goafanti.core.mybatis.page.Pagination;
  25. import com.goafanti.core.shiro.token.TokenManager;
  26. import com.goafanti.portal.bo.AchievementInterestListBo;
  27. @Service
  28. public class AchievementInterestServiceImpl extends BaseMybatisDao<AchievementInterestMapper>
  29. implements AchievementInterestService {
  30. @Autowired
  31. private AchievementInterestMapper achievementInterestMapper;
  32. @Autowired
  33. private DemandInterestMapper demandInterestMapper;
  34. @Autowired
  35. private UserInterestMapper userInterestMapper;
  36. @Autowired
  37. private NewsInterestMapper newsInterestMapper;
  38. @Autowired
  39. private ProjectInterestMapper projectInterestMapper;
  40. @Override
  41. public String saveAchievementInterest(String id) {
  42. AchievementInterest ai = new AchievementInterest();
  43. ai.setId(UUID.randomUUID().toString());
  44. ai.setUid(TokenManager.getUserId());
  45. if (StringUtils.isBlank(ai.getUid())){
  46. return null;
  47. }
  48. ai.setAchievementId(id);
  49. Calendar now = Calendar.getInstance();
  50. now.set(Calendar.MILLISECOND, 0);
  51. ai.setCreateTime(now.getTime());
  52. achievementInterestMapper.insert(ai);
  53. return ai.getId();
  54. }
  55. @Override
  56. public int saveCancelAchievementInterest(String id) {
  57. return achievementInterestMapper.deleteByPrimaryKey(id);
  58. }
  59. @SuppressWarnings("unchecked")
  60. @Override
  61. public Pagination<AchievementInterestListBo> listAchievementInterest(Integer pNo, Integer pSize) {
  62. Map<String, Object> params = new HashMap<>();
  63. if (pNo == null || pNo < 0) {
  64. pNo = 1;
  65. }
  66. if (pSize == null || pSize < 0 || pSize > 10) {
  67. pSize = 10;
  68. }
  69. if (TokenManager.getToken() instanceof User) {
  70. params.put("uid", TokenManager.getUserId());
  71. }
  72. return (Pagination<AchievementInterestListBo>) findPage("findAchievementInterestListByPage",
  73. "findAchievementInterestCount", params, pNo, pSize);
  74. }
  75. @Override
  76. public AchievementInterest selectAchievementInterestByUidAndAchievementId(String uid, String id) {
  77. return achievementInterestMapper.selectAchievementInterestByUidAndAchievementId(uid, id);
  78. }
  79. @Override
  80. public int saveInterest(String uid,Integer type,String objectId,String interest) {
  81. int i=0;
  82. if (type==InterestType.POLICY.getCode()) {
  83. NewsInterest n=new NewsInterest();
  84. n.setId(UUID.randomUUID().toString());
  85. n.setUid(uid);
  86. n.setNewId(Long.valueOf(objectId));
  87. n.setCreateTime(new Date());
  88. i= newsInterestMapper.insert(n);
  89. }
  90. if (type==InterestType.EXPERTS.getCode()) {
  91. UserInterest u=new UserInterest();
  92. u.setId(UUID.randomUUID().toString());
  93. u.setFromUid(uid);
  94. u.setToUid(objectId);
  95. u.setCreateTime(new Date());
  96. i= userInterestMapper.insert(u);
  97. }
  98. if (type==InterestType.DEMAND.getCode()) {
  99. DemandInterest d=new DemandInterest();
  100. d.setId(UUID.randomUUID().toString());
  101. d.setUid(uid);
  102. d.setDemandId(objectId);
  103. d.setCreateTime(new Date());
  104. i= demandInterestMapper.insert(d);
  105. }
  106. if (type==InterestType.ACHIEVEMENT.getCode()) {
  107. AchievementInterest a=new AchievementInterest();
  108. a.setId(UUID.randomUUID().toString());
  109. a.setUid(uid);
  110. a.setAchievementId(objectId);
  111. a.setCreateTime(new Date());
  112. i= achievementInterestMapper.insert(a);
  113. }
  114. if (type==InterestType.PROJECT.getCode()) {
  115. ProjectInterest p=new ProjectInterest();
  116. p.setId(UUID.randomUUID().toString());
  117. p.setUid(uid);
  118. p.setProjectId(objectId);
  119. p.setCreateTime(new Date());
  120. i=projectInterestMapper.insert(p);
  121. }
  122. return i;
  123. }
  124. @Override
  125. public int deleteInterest(String uid, Integer type, String objectId, String interest) {
  126. if (StringUtils.isNotBlank(TokenManager.getUserId())) {
  127. uid=TokenManager.getUserId();
  128. }
  129. int i=0;
  130. if (type==InterestType.POLICY.getCode()) {
  131. i= newsInterestMapper.deleteInterest(uid,objectId);
  132. }
  133. if (type==InterestType.EXPERTS.getCode()) {
  134. i= userInterestMapper.deleteInterest(uid,objectId);
  135. }
  136. if (type==InterestType.DEMAND.getCode()) {
  137. i= demandInterestMapper.deleteInterest(uid,objectId);
  138. }
  139. if (type==InterestType.ACHIEVEMENT.getCode()) {
  140. i=achievementInterestMapper.deleteInterest(uid,objectId);
  141. }
  142. if (type==InterestType.PROJECT.getCode()) {
  143. i=projectInterestMapper.deleteInterest(uid,objectId);
  144. }
  145. return i;
  146. }
  147. }