AchievementInterestServiceImpl.java 4.9 KB

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