HelpActivityServiceImpl.java 10KB

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