123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229 |
- package com.huiju.estateagents.service.impl;
-
- import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
- import com.baomidou.mybatisplus.core.metadata.IPage;
- import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
- import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
- import com.huiju.estateagents.base.ResponseBean;
- import com.huiju.estateagents.common.StringUtils;
- import com.huiju.estateagents.entity.*;
- import com.huiju.estateagents.event.EventBus;
- import com.huiju.estateagents.excel.HelpInitiateRecordSucceed;
- import com.huiju.estateagents.excel.HelpProceedAndFinish;
- import com.huiju.estateagents.excel.HelpRecordExport;
- import com.huiju.estateagents.mapper.HelpActivityMapper;
- import com.huiju.estateagents.mapper.HelpInitiateRecordMapper;
- import com.huiju.estateagents.mapper.HelpRecordMapper;
- import com.huiju.estateagents.mapper.TaShareActivityMapper;
- import com.huiju.estateagents.service.IHelpActivityService;
- import org.apache.commons.collections.CollectionUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.context.ApplicationContext;
- import org.springframework.stereotype.Service;
-
- import javax.xml.crypto.Data;
- import java.time.LocalDateTime;
- import java.util.HashMap;
- import java.util.List;
-
- /**
- * <p>
- * 助力活动 服务实现类
- * </p>
- *
- * @author jobob
- * @since 2019-10-17
- */
- @Service
- public class HelpActivityServiceImpl extends ServiceImpl<HelpActivityMapper, HelpActivity> implements IHelpActivityService {
-
- @Autowired
- HelpActivityMapper taHelpActivityMapper;
-
- @Autowired
- HelpInitiateRecordMapper helpInitiateRecordMapper;
-
- @Autowired
- HelpRecordMapper helpRecordMapper;
-
- @Autowired
- ApplicationContext applicationContext;
-
- @Autowired
- TaShareActivityMapper taShareActivityMapper;
-
- @Override
- public ResponseBean helpActivityList(Integer pageNum, Integer pageSize, Integer cityId, String buildingId, String title, String startDate, String endDate, Integer activityStatus, Integer orgId,List<TaPersonBuilding> personBuildingList) {
- ResponseBean responseBean = new ResponseBean<>();
- IPage<HelpActivity> pg = new Page<>(pageNum, pageSize);
- IPage<HelpActivity> result = taHelpActivityMapper.helpActivityListPage(pg, cityId, buildingId, title, startDate, endDate, activityStatus, orgId,personBuildingList);
- responseBean.addSuccess(result);
- return responseBean;
- }
-
- @Override
- public int helpActivityAdd(HelpActivity helpActivity, Integer orgId) {
- helpActivity.setOrgId(orgId)
- .setCreateDate(LocalDateTime.now());
- taHelpActivityMapper.insert(helpActivity);
- return helpActivity.getHelpActivityId();
- }
-
- @Override
- public void helpActivityUpdate(HelpActivity helpActivity) {
- taHelpActivityMapper.updateById(helpActivity);
- }
-
- @Override
- public ResponseBean helpRecord(Integer helpActivityId, String status,Integer pageNum,Integer pageSize,String tel) {
- ResponseBean responseBean = new ResponseBean<>();
- // status: helpSucceed助力成功,helpUnderway进行中,helpUnfinished助力失败
-
- //查询当前助力成功所需的人数限制(persion_num)
- HelpActivity helpActivity = taHelpActivityMapper.selectById(helpActivityId);
- // 得到活动限制助力的总数
- int persionNumCount = helpActivity.getPersonNum();
- IPage<HelpInitiateRecord> pg = new Page<>(pageNum, pageSize);
- IPage<HelpInitiateRecord> list = helpInitiateRecordMapper.selectPageList(pg,helpActivityId,status,tel);
-
- List<HelpInitiateRecord> helpInitiateRecordList= list.getRecords();
- for (HelpInitiateRecord helpInitiateRecord : helpInitiateRecordList) {
- helpInitiateRecord.setPersionNumCount(persionNumCount);
- // 统计助力成功的总数(发起人得到助力数满了即可)
- QueryWrapper<HelpRecord> helpRecorddQueryWrapper = new QueryWrapper<>();
- helpRecorddQueryWrapper.eq("help_record_initiate_id", helpInitiateRecord.getHelpRecordInitiateId());
- // 拿到每个发起人,得到助力的总数
- int helpRecordCount = helpRecordMapper.selectCount(helpRecorddQueryWrapper);
- // 助力成功
- if ("helpSucceed".equals(status)) {
- if (persionNumCount == helpRecordCount) {
- helpInitiateRecord.setHelpCount(helpRecordCount);
- }
- }
- // 助力进行中(活动进行中,未结束)
- if ("helpUnderway".equals(status) && helpInitiateRecord.getStatus().equals(1)) {
- if (persionNumCount > helpRecordCount) {
- helpInitiateRecord.setHelpCount(helpRecordCount);
- }
- }
- // 活动助力失败
- // 活动进行中(活动已结束)
- if ("helpUnfinished".equals(status) && helpInitiateRecord.getStatus().equals(2)) {
- if (persionNumCount > helpRecordCount) {
- helpInitiateRecord.setHelpCount(helpRecordCount);
- }
-
- }
- }
- HashMap<String, Object> map = new HashMap<>();
- map.put("list", helpInitiateRecordList);
- map.put("total", list.getTotal());
- map.put("pageNum", list.getCurrent());
- map.put("pageSize", list.getSize());
- return ResponseBean.success(map);
- }
-
- @Override
- public ResponseBean taHelpRecordDetails(Integer helpRecordInitiateId, Integer pageNum, Integer pageSize) {
- ResponseBean responseBean = new ResponseBean<>();
- IPage<HelpInitiateRecord> pg = new Page<>(pageNum, pageSize);
- IPage<HelpRecord> helpRecordList= helpRecordMapper.taHelpRecordDetails(pg,helpRecordInitiateId);
- responseBean.addSuccess(helpRecordList);
- return responseBean;
- }
-
- @Override
- public ResponseBean helpInitiateRecordVerify(Integer helpRecordInitiateId, String verifyCode) {
- ResponseBean responseBean = new ResponseBean<>();
- HelpInitiateRecord helpInitiateRecord = helpInitiateRecordMapper.selectById(helpRecordInitiateId);
- if (null ==verifyCode || "".equals(verifyCode)){
- responseBean.addError("请输入核销码");
- return responseBean;
- }
-
- // 判断是否已核销
- if ("1".equals(helpInitiateRecord.getVerificationStatus())){
- responseBean.addSuccess("已核销");
- return responseBean;
- }
-
- if (verifyCode.equals(String.valueOf(helpInitiateRecord.getVerification()))){
- helpInitiateRecord.setVerificationStatus(1);
- helpInitiateRecordMapper.updateById(helpInitiateRecord);
-
- // 活动核销加积分
- applicationContext.publishEvent(new EventBus(helpInitiateRecord, EventBus.EventType.ActivityVerificationSign,helpInitiateRecord.getOrgId()));
-
- responseBean.addSuccess("成功");
- }else {
- responseBean.addError("核销码错误,请重新输入");
- }
- return responseBean;
- }
-
- @Override
- public Integer getHelpInitiateRecordSucceed(String tel, Integer helpActivityId) {
- QueryWrapper<HelpInitiateRecord> helpInitiateRecordQuery= new QueryWrapper<>();
- helpInitiateRecordQuery.eq("help_activity_id",helpActivityId);
- helpInitiateRecordQuery.eq(!StringUtils.isEmpty(tel), "phone",tel);
- return helpInitiateRecordMapper.selectCount(helpInitiateRecordQuery);
- }
-
- @Override
- public List<HelpInitiateRecordSucceed> getHelpInitiateRecordSucceedExportList(int i, Integer pageSize, String tel, Integer helpActivityId) {
- List<HelpInitiateRecordSucceed> lsit= helpInitiateRecordMapper.getHelpInitiateRecordSucceedExportList(i,pageSize,tel,helpActivityId);
- return lsit;
- }
-
- @Override
- public List<HelpProceedAndFinish> getHelpProceedAndFinishExportList(int i, Integer pageSize, String tel, Integer helpActivityId,String condition) {
- List<HelpProceedAndFinish> lsit= helpInitiateRecordMapper.getHelpProceedAndFinishExportList(i,pageSize,tel,helpActivityId,condition);
- return lsit;
- }
-
- @Override
- public Integer getHelpRecord(Integer helpRecordInitiateId) {
- QueryWrapper<HelpRecord> helpInitiateRecordQuery= new QueryWrapper<>();
- helpInitiateRecordQuery.eq("help_record_initiate_id",helpRecordInitiateId);
- return helpRecordMapper.selectCount(helpInitiateRecordQuery);
- }
-
- @Override
- public List<HelpRecordExport> getHelpRecordExportList(int i, Integer pageSize, Integer helpRecordInitiateId) {
- List<HelpRecordExport> lsit= helpRecordMapper.getHelpRecordExportList(i,pageSize,helpRecordInitiateId);
- return lsit;
- }
-
- @Override
- public void updateActivityToUnStart() {
- taHelpActivityMapper.updateActivityToUnStart();
- }
-
- @Override
- public void updateUnStartHelpActivity() {
- taHelpActivityMapper.updateUnStartHelpActivity();
- }
-
- @Override
- public void updateProcessingHelpActivity() {
- taHelpActivityMapper.updateProcessingHelpActivity();
- }
-
- @Override
- public ResponseBean wxhelpActivityAndGroup(Integer orgId,String buildingId,String cityID) {
- ResponseBean responseBean = new ResponseBean<>();
- // buildingId 楼盘ID为空时首页只查置顶的活动,楼盘ID不为空查所有拼团和助力
- List<HelpActivity> HelpActivity = taHelpActivityMapper.selectWxhelpActivityAndGroup(orgId,buildingId,cityID);
- responseBean.addSuccess(HelpActivity);
- return responseBean;
- }
-
- @Override
- public ResponseBean helpActivityEffectiveList(Integer pageNum, Integer pageSize, Integer cityId, Integer orgId, String buildingId,Integer status,String name,List<TaPersonBuilding> personBuildingList) {
- ResponseBean responseBean = new ResponseBean<>();
- IPage<HelpActivity> pg = new Page<>(pageNum, pageSize);
- IPage<HelpActivity> result = taHelpActivityMapper.helpActivityListEffectivePage(pg, cityId, orgId, buildingId,status,name,personBuildingList);
- responseBean.addSuccess(result);
- return responseBean;
- }
- }
|