HelpActivityServiceImpl.java 10.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229
  1. package com.huiju.estateagents.service.impl;
  2. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  3. import com.baomidou.mybatisplus.core.metadata.IPage;
  4. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  5. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  6. import com.huiju.estateagents.base.ResponseBean;
  7. import com.huiju.estateagents.common.StringUtils;
  8. import com.huiju.estateagents.entity.*;
  9. import com.huiju.estateagents.event.EventBus;
  10. import com.huiju.estateagents.excel.HelpInitiateRecordSucceed;
  11. import com.huiju.estateagents.excel.HelpProceedAndFinish;
  12. import com.huiju.estateagents.excel.HelpRecordExport;
  13. import com.huiju.estateagents.mapper.HelpActivityMapper;
  14. import com.huiju.estateagents.mapper.HelpInitiateRecordMapper;
  15. import com.huiju.estateagents.mapper.HelpRecordMapper;
  16. import com.huiju.estateagents.mapper.TaShareActivityMapper;
  17. import com.huiju.estateagents.service.IHelpActivityService;
  18. import org.apache.commons.collections.CollectionUtils;
  19. import org.springframework.beans.factory.annotation.Autowired;
  20. import org.springframework.context.ApplicationContext;
  21. import org.springframework.stereotype.Service;
  22. import javax.xml.crypto.Data;
  23. import java.time.LocalDateTime;
  24. import java.util.HashMap;
  25. import java.util.List;
  26. /**
  27. * <p>
  28. * 助力活动 服务实现类
  29. * </p>
  30. *
  31. * @author jobob
  32. * @since 2019-10-17
  33. */
  34. @Service
  35. public class HelpActivityServiceImpl extends ServiceImpl<HelpActivityMapper, HelpActivity> implements IHelpActivityService {
  36. @Autowired
  37. HelpActivityMapper taHelpActivityMapper;
  38. @Autowired
  39. HelpInitiateRecordMapper helpInitiateRecordMapper;
  40. @Autowired
  41. HelpRecordMapper helpRecordMapper;
  42. @Autowired
  43. ApplicationContext applicationContext;
  44. @Autowired
  45. TaShareActivityMapper taShareActivityMapper;
  46. @Override
  47. public ResponseBean helpActivityList(Integer pageNum, Integer pageSize, Integer cityId, String buildingId, String title, String startDate, String endDate, Integer activityStatus, Integer orgId,List<TaPersonBuilding> personBuildingList) {
  48. ResponseBean responseBean = new ResponseBean<>();
  49. IPage<HelpActivity> pg = new Page<>(pageNum, pageSize);
  50. IPage<HelpActivity> result = taHelpActivityMapper.helpActivityListPage(pg, cityId, buildingId, title, startDate, endDate, activityStatus, orgId,personBuildingList);
  51. responseBean.addSuccess(result);
  52. return responseBean;
  53. }
  54. @Override
  55. public int helpActivityAdd(HelpActivity helpActivity, Integer orgId) {
  56. helpActivity.setOrgId(orgId)
  57. .setCreateDate(LocalDateTime.now());
  58. taHelpActivityMapper.insert(helpActivity);
  59. return helpActivity.getHelpActivityId();
  60. }
  61. @Override
  62. public void helpActivityUpdate(HelpActivity helpActivity) {
  63. taHelpActivityMapper.updateById(helpActivity);
  64. }
  65. @Override
  66. public ResponseBean helpRecord(Integer helpActivityId, String status,Integer pageNum,Integer pageSize,String tel) {
  67. ResponseBean responseBean = new ResponseBean<>();
  68. // status: helpSucceed助力成功,helpUnderway进行中,helpUnfinished助力失败
  69. //查询当前助力成功所需的人数限制(persion_num)
  70. HelpActivity helpActivity = taHelpActivityMapper.selectById(helpActivityId);
  71. // 得到活动限制助力的总数
  72. int persionNumCount = helpActivity.getPersonNum();
  73. IPage<HelpInitiateRecord> pg = new Page<>(pageNum, pageSize);
  74. IPage<HelpInitiateRecord> list = helpInitiateRecordMapper.selectPageList(pg,helpActivityId,status,tel);
  75. List<HelpInitiateRecord> helpInitiateRecordList= list.getRecords();
  76. for (HelpInitiateRecord helpInitiateRecord : helpInitiateRecordList) {
  77. helpInitiateRecord.setPersionNumCount(persionNumCount);
  78. // 统计助力成功的总数(发起人得到助力数满了即可)
  79. QueryWrapper<HelpRecord> helpRecorddQueryWrapper = new QueryWrapper<>();
  80. helpRecorddQueryWrapper.eq("help_record_initiate_id", helpInitiateRecord.getHelpRecordInitiateId());
  81. // 拿到每个发起人,得到助力的总数
  82. int helpRecordCount = helpRecordMapper.selectCount(helpRecorddQueryWrapper);
  83. // 助力成功
  84. if ("helpSucceed".equals(status)) {
  85. if (persionNumCount == helpRecordCount) {
  86. helpInitiateRecord.setHelpCount(helpRecordCount);
  87. }
  88. }
  89. // 助力进行中(活动进行中,未结束)
  90. if ("helpUnderway".equals(status) && helpInitiateRecord.getStatus().equals(1)) {
  91. if (persionNumCount > helpRecordCount) {
  92. helpInitiateRecord.setHelpCount(helpRecordCount);
  93. }
  94. }
  95. // 活动助力失败
  96. // 活动进行中(活动已结束)
  97. if ("helpUnfinished".equals(status) && helpInitiateRecord.getStatus().equals(2)) {
  98. if (persionNumCount > helpRecordCount) {
  99. helpInitiateRecord.setHelpCount(helpRecordCount);
  100. }
  101. }
  102. }
  103. HashMap<String, Object> map = new HashMap<>();
  104. map.put("list", helpInitiateRecordList);
  105. map.put("total", list.getTotal());
  106. map.put("pageNum", list.getCurrent());
  107. map.put("pageSize", list.getSize());
  108. return ResponseBean.success(map);
  109. }
  110. @Override
  111. public ResponseBean taHelpRecordDetails(Integer helpRecordInitiateId, Integer pageNum, Integer pageSize) {
  112. ResponseBean responseBean = new ResponseBean<>();
  113. IPage<HelpInitiateRecord> pg = new Page<>(pageNum, pageSize);
  114. IPage<HelpRecord> helpRecordList= helpRecordMapper.taHelpRecordDetails(pg,helpRecordInitiateId);
  115. responseBean.addSuccess(helpRecordList);
  116. return responseBean;
  117. }
  118. @Override
  119. public ResponseBean helpInitiateRecordVerify(Integer helpRecordInitiateId, String verifyCode) {
  120. ResponseBean responseBean = new ResponseBean<>();
  121. HelpInitiateRecord helpInitiateRecord = helpInitiateRecordMapper.selectById(helpRecordInitiateId);
  122. if (null ==verifyCode || "".equals(verifyCode)){
  123. responseBean.addError("请输入核销码");
  124. return responseBean;
  125. }
  126. // 判断是否已核销
  127. if ("1".equals(helpInitiateRecord.getVerificationStatus())){
  128. responseBean.addSuccess("已核销");
  129. return responseBean;
  130. }
  131. if (verifyCode.equals(String.valueOf(helpInitiateRecord.getVerification()))){
  132. helpInitiateRecord.setVerificationStatus(1);
  133. helpInitiateRecordMapper.updateById(helpInitiateRecord);
  134. // 活动核销加积分
  135. applicationContext.publishEvent(new EventBus(helpInitiateRecord, EventBus.EventType.ActivityVerificationSign,helpInitiateRecord.getOrgId()));
  136. responseBean.addSuccess("成功");
  137. }else {
  138. responseBean.addError("核销码错误,请重新输入");
  139. }
  140. return responseBean;
  141. }
  142. @Override
  143. public Integer getHelpInitiateRecordSucceed(String tel, Integer helpActivityId) {
  144. QueryWrapper<HelpInitiateRecord> helpInitiateRecordQuery= new QueryWrapper<>();
  145. helpInitiateRecordQuery.eq("help_activity_id",helpActivityId);
  146. helpInitiateRecordQuery.eq(!StringUtils.isEmpty(tel), "phone",tel);
  147. return helpInitiateRecordMapper.selectCount(helpInitiateRecordQuery);
  148. }
  149. @Override
  150. public List<HelpInitiateRecordSucceed> getHelpInitiateRecordSucceedExportList(int i, Integer pageSize, String tel, Integer helpActivityId) {
  151. List<HelpInitiateRecordSucceed> lsit= helpInitiateRecordMapper.getHelpInitiateRecordSucceedExportList(i,pageSize,tel,helpActivityId);
  152. return lsit;
  153. }
  154. @Override
  155. public List<HelpProceedAndFinish> getHelpProceedAndFinishExportList(int i, Integer pageSize, String tel, Integer helpActivityId,String condition) {
  156. List<HelpProceedAndFinish> lsit= helpInitiateRecordMapper.getHelpProceedAndFinishExportList(i,pageSize,tel,helpActivityId,condition);
  157. return lsit;
  158. }
  159. @Override
  160. public Integer getHelpRecord(Integer helpRecordInitiateId) {
  161. QueryWrapper<HelpRecord> helpInitiateRecordQuery= new QueryWrapper<>();
  162. helpInitiateRecordQuery.eq("help_record_initiate_id",helpRecordInitiateId);
  163. return helpRecordMapper.selectCount(helpInitiateRecordQuery);
  164. }
  165. @Override
  166. public List<HelpRecordExport> getHelpRecordExportList(int i, Integer pageSize, Integer helpRecordInitiateId) {
  167. List<HelpRecordExport> lsit= helpRecordMapper.getHelpRecordExportList(i,pageSize,helpRecordInitiateId);
  168. return lsit;
  169. }
  170. @Override
  171. public void updateActivityToUnStart() {
  172. taHelpActivityMapper.updateActivityToUnStart();
  173. }
  174. @Override
  175. public void updateUnStartHelpActivity() {
  176. taHelpActivityMapper.updateUnStartHelpActivity();
  177. }
  178. @Override
  179. public void updateProcessingHelpActivity() {
  180. taHelpActivityMapper.updateProcessingHelpActivity();
  181. }
  182. @Override
  183. public ResponseBean wxhelpActivityAndGroup(Integer orgId,String buildingId,String cityID) {
  184. ResponseBean responseBean = new ResponseBean<>();
  185. // buildingId 楼盘ID为空时首页只查置顶的活动,楼盘ID不为空查所有拼团和助力
  186. List<HelpActivity> HelpActivity = taHelpActivityMapper.selectWxhelpActivityAndGroup(orgId,buildingId,cityID);
  187. responseBean.addSuccess(HelpActivity);
  188. return responseBean;
  189. }
  190. @Override
  191. public ResponseBean helpActivityEffectiveList(Integer pageNum, Integer pageSize, Integer cityId, Integer orgId, String buildingId,Integer status,String name,List<TaPersonBuilding> personBuildingList) {
  192. ResponseBean responseBean = new ResponseBean<>();
  193. IPage<HelpActivity> pg = new Page<>(pageNum, pageSize);
  194. IPage<HelpActivity> result = taHelpActivityMapper.helpActivityListEffectivePage(pg, cityId, orgId, buildingId,status,name,personBuildingList);
  195. responseBean.addSuccess(result);
  196. return responseBean;
  197. }
  198. }