TaSaveServiceImpl.java 5.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166
  1. package com.huiju.estateagents.service.impl;
  2. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  3. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  4. import com.huiju.estateagents.base.ResponseBean;
  5. import com.huiju.estateagents.common.CommConstant;
  6. import com.huiju.estateagents.entity.TaBuilding;
  7. import com.huiju.estateagents.entity.TaPerson;
  8. import com.huiju.estateagents.entity.TaSave;
  9. import com.huiju.estateagents.mapper.*;
  10. import com.huiju.estateagents.service.ITaSaveService;
  11. import org.springframework.beans.factory.annotation.Autowired;
  12. import org.springframework.stereotype.Service;
  13. import java.time.LocalDateTime;
  14. import java.util.HashMap;
  15. import java.util.List;
  16. import java.util.Map;
  17. /**
  18. * <p>
  19. * 收藏表 服务实现类
  20. * </p>
  21. *
  22. * @author jobob
  23. * @since 2019-07-25
  24. */
  25. @Service
  26. public class TaSaveServiceImpl extends ServiceImpl<TaSaveMapper, TaSave> implements ITaSaveService {
  27. @Autowired
  28. TaPersonMapper taPersonMapper;
  29. @Autowired
  30. private TaSaveMapper taSaveMapper;
  31. @Autowired
  32. private TaNewsMapper taNewsMapper;
  33. @Autowired
  34. private TaBuildingMapper taBuildingMapper;
  35. @Autowired
  36. private TaBuildingDynamicMapper taBuildingDynamicMapper;
  37. @Override
  38. public ResponseBean postLike(String openid, String typeOf, String like) {
  39. List<TaPerson> persons = getPersonsByOpenId(openid);
  40. if (null == persons || persons.size() != 1) {
  41. return ResponseBean.error("验证当前人员信息失败", ResponseBean.ERROR_UNAVAILABLE);
  42. }
  43. TaPerson taPerson = persons.get(0);
  44. // 是否被赞过
  45. QueryWrapper<TaSave> queryWrapper = new QueryWrapper<>();
  46. queryWrapper.eq("person_id", taPerson.getPersonId());
  47. queryWrapper.eq("saved_target", like);
  48. queryWrapper.eq("tagert_type", typeOf);
  49. List<TaSave> saves = taSaveMapper.selectList(queryWrapper);
  50. if (null != saves && saves.size() > 0) {
  51. // return ResponseBean.error("请不需要重复收藏", ResponseBean.ERROR_UNAVAILABLE);
  52. return ResponseBean.success("");
  53. }
  54. // 写入收藏
  55. TaSave taSave = new TaSave();
  56. taSave.setSavedTarget(like);
  57. taSave.setCreateDate(LocalDateTime.now());
  58. taSave.setNameOrnick(taPerson.getNickname());
  59. taSave.setPersonId(taPerson.getPersonId());
  60. taSave.setPhotoOravatar(taPerson.getAvatarurl());
  61. taSave.setTagertType(typeOf);
  62. int row = taSaveMapper.insert(taSave);
  63. if (row < 1) {
  64. return ResponseBean.error("收藏失败", ResponseBean.ERROR_UNAVAILABLE);
  65. }
  66. // 如果是资讯收藏, 则 +1
  67. if(typeOf.equals(CommConstant.FAVOR_NEWS)) {
  68. taNewsMapper.setFieldNum(like, "save_num", 1);
  69. }
  70. // 如果是活动收藏, 则 +1
  71. if(typeOf.equals(CommConstant.FAVOR_ACTIVITY)) {
  72. taBuildingDynamicMapper.setFieldNum(like, "save_num", 1);
  73. }
  74. // 如果是項目收藏, 则 +1
  75. if(typeOf.equals(CommConstant.FAVOR_PROJECT)) {
  76. taBuildingMapper.setFieldNum(like, "save_num", 1);
  77. }
  78. if(typeOf.equals("card")){
  79. taPersonMapper.setFieldNum(like,"save_num", 1);
  80. }
  81. return ResponseBean.success("");
  82. }
  83. @Override
  84. public ResponseBean cancelLike(String openid, String typeOf, String like) {
  85. List<TaPerson> persons = getPersonsByOpenId(openid);
  86. if (null == persons || persons.size() != 1) {
  87. return ResponseBean.error("验证当前人员信息失败", ResponseBean.ERROR_UNAVAILABLE);
  88. }
  89. TaPerson taPerson = persons.get(0);
  90. // 是否被赞过
  91. QueryWrapper<TaSave> queryWrapper = new QueryWrapper<>();
  92. queryWrapper.eq("person_id", taPerson.getPersonId());
  93. queryWrapper.eq("saved_target", like);
  94. queryWrapper.eq("tagert_type", typeOf);
  95. List<TaSave> saves = taSaveMapper.selectList(queryWrapper);
  96. if (null == saves || saves.size() == 0) {
  97. return ResponseBean.success("");
  98. }
  99. Map<String, Object> condition = new HashMap<>();
  100. condition.put("person_id", taPerson.getPersonId());
  101. condition.put("saved_target", like);
  102. condition.put("tagert_type", typeOf);
  103. taSaveMapper.deleteByMap(condition);
  104. // 如果是收藏资讯, 则 - 1
  105. if (typeOf.equals(CommConstant.FAVOR_NEWS)) {
  106. taNewsMapper.setFieldNum(like,"save_num", -1);
  107. }
  108. // 如果是活动收藏, 则 - 1
  109. if(typeOf.equals(CommConstant.FAVOR_ACTIVITY)) {
  110. taBuildingDynamicMapper.setFieldNum(like, "save_num", -1);
  111. }
  112. if(typeOf.equals(CommConstant.FAVOR_PROJECT)){
  113. taBuildingMapper.setFieldNum(like, "save_num", -1);
  114. }
  115. if(typeOf.equals("card")){
  116. taPersonMapper.setFieldNum(like,"save_num", -1);
  117. }
  118. return ResponseBean.success("");
  119. }
  120. @Override
  121. public List<String> getTargesOfPerson(String personId, String tagertType) {
  122. return taSaveMapper.getTargesOfPerson(personId, tagertType);
  123. }
  124. @Override
  125. public TaSave getInfoBy(String personId, String tagertType, String savedTarget) {
  126. QueryWrapper<TaSave> queryWrapper = new QueryWrapper<>();
  127. queryWrapper.eq("person_id", personId);
  128. queryWrapper.eq("tagert_type", tagertType);
  129. queryWrapper.eq("saved_target", savedTarget);
  130. queryWrapper.last("limit 1");
  131. return taSaveMapper.selectOne(queryWrapper);
  132. }
  133. List<TaPerson> getPersonsByOpenId(String openid) {
  134. return taPersonMapper.getPersonByOpenId(openid);
  135. }
  136. }