package com.doumee.service.business.impl; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.doumee.biz.system.SystemDictDataBiz; import com.doumee.config.rocketmq5.NormalMsgProducer; import com.doumee.core.constants.ResponseStatus; import com.doumee.core.exception.BusinessException; import com.doumee.core.model.LoginUserInfo; import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.core.utils.Constants; import com.doumee.core.utils.DateUtil; import com.doumee.core.utils.Utils; import com.doumee.dao.business.*; import com.doumee.dao.business.model.*; import com.doumee.dao.system.SystemUserMapper; import com.doumee.dao.web.dto.CollectDTO; import com.doumee.dao.web.dto.MemberDTO; import com.doumee.dao.web.dto.MultiFileDTO; import com.doumee.dao.web.dto.OrgDTO; import com.doumee.dao.web.dto.activity.*; import com.doumee.dao.web.dto.shop.ShopSimpleDTO; import com.doumee.dao.system.model.SystemUser; import com.doumee.dao.web.request.ActivityPageListRequest; import com.doumee.service.business.*; import com.github.yulichang.wrapper.MPJLambdaWrapper; import org.apache.commons.collections4.MapUtils; import org.apache.commons.lang3.StringUtils; import org.apache.shiro.SecurityUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationEventPublisher; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import javax.annotation.Resource; import java.math.BigDecimal; import java.util.*; import java.util.stream.Collectors; /** * 活动、资讯、探店信息表Service实现 * * @author 江蹄蹄 * @date 2023/03/21 15:48 */ @Service public class ActivityServiceImpl implements ActivityService { @Autowired private ActivityMapper activityMapper; @Autowired public NormalMsgProducer normalMsgProducer; @Autowired private ActivityJoinMapper activityJoinMapper; @Autowired private SystemDictDataBiz systemDictDataBiz; @Autowired private ShopMapper shopMapper; @Autowired private ShopService shopService; @Autowired private ShopFollowService shopFollowService; @Autowired private SystemUserMapper systemUserMapper; @Autowired private MultifileService multifileService; @Autowired private MultifileMapper multifileMapper; @Autowired private ActivitySignMapper activitySignMapper; @Autowired private CollectService collectService; @Autowired private CommentService commentService; @Autowired private AreasService areasService; @Autowired private OrgsService orgsService; @Autowired private ZanService zanService; @Autowired private ActivitySignJoinMapper activitySignJoinMapper; @Resource private ApplicationEventPublisher applicationEventPublisher; @Override public Integer create(Activity activity) { LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); isCreateParamValid(activity, user); activity.setCreateDate(new Date()); activity.setCreator(user.getId()); activity.setIsdeleted(Constants.ZERO); activity.setStatus(Constants.Status.ENABLE.getValue()); activity.setMemberId(user.getMemberId()); activityMapper.insert(activity); dealBatchMultiFiles(activity, user); return activity.getId(); } @Override public void updateLooknum(Activity model){ UpdateWrapper param = new UpdateWrapper<>(); param.lambda().eq(true,Activity::getId,model.getId()) ; param.lambda().setSql(true,"looknum=ifnull(looknum,0)+1"); activityJoinMapper.update(null,param); } @Override public void deleteById(Integer id) { Activity activity = new Activity(); activity.setIsdeleted(Constants.ZERO); activity.setId(id); activityMapper.updateById(activity); } @Override public void delete(Activity activity) { UpdateWrapper deleteWrapper = new UpdateWrapper<>(activity); activityMapper.delete(deleteWrapper); } @Override public void deleteByIdInBatch(List ids) { if (CollectionUtils.isEmpty(ids)) { return; } Activity activity = new Activity(); ids.stream().forEach(s -> { activity.setId(s); activity.setIsdeleted(Constants.ONE); activityMapper.updateById(activity); }); } @Override public void updateById(Activity activity) { LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); isCreateParamValid(activity, user); activity.setEditDate(new Date()); activity.setEditor(user.getId()); activityMapper.updateById(activity); dealBatchMultiFiles(activity, user); } public void isCreateParamValid(Activity activity, LoginUserInfo user) { if (activity.getType() == null) { throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), ResponseStatus.BAD_REQUEST.getMessage()); } if (Constants.equalsInteger(activity.getType(), Constants.ActivityType.TANDIAN.getKey()) || Constants.equalsInteger(activity.getType(), Constants.ActivityType.CONSULT.getKey())) { //资讯,探店 if (activity.getShopId() == null || StringUtils.isBlank(activity.getName()) || StringUtils.isBlank(activity.getImgurl()) || activity.getLabelId()==null || activity.getContent()==null ) { throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), ResponseStatus.BAD_REQUEST.getMessage()); } if(Constants.equalsInteger(activity.getType(), Constants.ActivityType.TANDIAN.getKey())){ if(activity.getContentType()==null || org.apache.commons.collections.CollectionUtils.isEmpty(activity.getFileList()) ){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), ResponseStatus.BAD_REQUEST.getMessage()); } } Shop queryShop = new Shop(); queryShop.setId(activity.getShopId()); Shop shop = shopMapper.selectOne(new QueryWrapper<>(queryShop) .lambda().eq(Shop::getIsdeleted, Constants.ZERO) ); if (Objects.isNull(shop)) { throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "商铺不存在,禁止添加"); } } else if (Constants.equalsInteger(activity.getType(), Constants.ActivityType.PLATACTIVITY.getKey())) { //平台活动 if (activity.getShopId() != null) { Shop queryShop = new Shop(); queryShop.setId(activity.getShopId()); Shop shop = shopMapper.selectOne(new QueryWrapper<>(queryShop) .lambda().eq(Shop::getIsdeleted, Constants.ZERO) ); if (Objects.isNull(shop)) { throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "商铺不存在,禁止添加"); } } else if (activity.getOrgId() != null) { SystemUser sysQuery = new SystemUser(); sysQuery.setId(activity.getOrgId()); SystemUser systemUser = systemUserMapper.selectOne(new QueryWrapper<>(sysQuery) .lambda().eq(SystemUser::getDeleted, Constants.ZERO) ); if (Objects.isNull(systemUser)) { throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "机构不存在,禁止添加"); } } else { throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), ResponseStatus.BAD_REQUEST.getMessage()); } if(StringUtils.isBlank(activity.getName()) ||activity.getLabelId()==null ||activity.getStarttime()==null ||activity.getEndtime()==null ||activity.getSignStarttime()==null ||activity.getSignEndtime()==null ||StringUtils.isBlank(activity.getAddr()) ||activity.getLongitude()==null ||activity.getLatitude()==null ||activity.getLimitnum()==null ||StringUtils.isBlank(activity.getImgurl()) ){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), ResponseStatus.BAD_REQUEST.getMessage()); } } if (Objects.isNull(user.getMemberId())) { throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "先关联前端用户再发布!"); } } public void dealBatchMultiFiles(Activity activity, LoginUserInfo user) { if (Objects.isNull(activity.getId())){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"关联对象编码 不能为空"); } if (Constants.equalsInteger(activity.getType(), Constants.TWO)) { //探店 Multifile delFile = new Multifile(); delFile.setObjId(activity.getId()); delFile.setObjType(Constants.MultiFile.TANDIAN_PICTURE.getKey()); multifileMapper.delete(new QueryWrapper<>(delFile)); List fileList = activity.getFileList(); if (Constants.equalsInteger(activity.getContentType(), Constants.ZERO)) { //图片 fileList.stream().forEach(s -> { s.setCreator(user.getId()); s.setCreateDate(new Date()); s.setIsdeleted(Constants.ZERO); s.setObjId(activity.getId()); s.setObjType(Constants.MultiFile.TANDIAN_PICTURE.getKey()); s.setType(Constants.ZERO); multifileService.create(s); }); } else if (Constants.equalsInteger(activity.getContentType(), Constants.ONE)) { //视频 fileList.stream().forEach(s -> { s.setCreator(user.getId()); s.setCreateDate(new Date()); s.setIsdeleted(Constants.ZERO); s.setObjId(activity.getId()); s.setObjType(Constants.MultiFile.TANDIAN_PICTURE.getKey()); s.setType(Constants.ONE); multifileService.create(s); }); } } else if (Constants.equalsInteger(activity.getType(), Constants.ONE)) { //平台活动 Multifile delFile = new Multifile(); delFile.setObjId(activity.getId()); delFile.setObjType(Constants.MultiFile.ACTIVITY_ROTATION.getKey()); multifileMapper.delete(new QueryWrapper<>(delFile)); List fileList = activity.getFileList(); //图片 fileList.stream().forEach(s -> { s.setCreator(user.getId()); s.setCreateDate(new Date()); s.setIsdeleted(Constants.ZERO); s.setObjId(activity.getId()); s.setObjType(Constants.MultiFile.ACTIVITY_ROTATION.getKey()); s.setType(Constants.ZERO); multifileService.create(s); }); } } @Override public void updateByIdInBatch(List activitys) { if (CollectionUtils.isEmpty(activitys)) { return; } for (Activity activity : activitys) { this.updateById(activity); } } @Override public Activity findById(Integer id) { MPJLambdaWrapper queryWrapper = new MPJLambdaWrapper<>(); queryWrapper.selectAll(Activity.class); queryWrapper.selectAs(SystemUser::getRealname, Activity::getRealName); queryWrapper.selectAs(SystemUser::getType, Activity::getUserType); queryWrapper.selectAs(Labels::getName, Activity::getLablesName); queryWrapper.selectAs(Shop::getName, Activity::getShopName); queryWrapper.selectAs(Shop::getImgurl, Activity::getShopImg); queryWrapper.selectAs(Shop::getName, Activity::getShopName); queryWrapper.selectAs(Orgs::getName, Activity::getOrgName); queryWrapper.select("(select count(id) from zan s1 where s1.ISDELETED=0 and s1.OBJ_ID=t.id ) as zanCount"); queryWrapper.select("(select count(id) from collect s1 where s1.ISDELETED=0 and s1.OBJ_ID=t.id ) as collectCount"); queryWrapper.select("(select count(id) from comment s1 where s1.ISDELETED=0 and s1.OBJ_ID=t.id ) as commentCount"); queryWrapper.select("(select count(id) from shares s1 where s1.ISDELETED=0 and s1.OBJ_ID=t.id ) as sharesCount"); queryWrapper.select("(select count(id) from activity_sign s1 where s1.ISDELETED=0 and ACTIVITY_ID=t.id and s1.STATUS!=2 ) as activityCount"); queryWrapper.select("(select REALNAME from system_user s1 where s1.ID=t.ORG_ID ) as serviceName"); // queryWrapper.select("(select name from shop where ISDELETED=0 and ACTIVITY_ID=t.SHOP_ID ) as shopName"); queryWrapper.leftJoin(Shop.class, Shop::getId, Activity::getShopId); queryWrapper.leftJoin(Orgs.class, Orgs::getId, Activity::getOrgId); queryWrapper.leftJoin(SystemUser.class, SystemUser::getId, Activity::getCreator); queryWrapper.leftJoin(Labels.class, Labels::getId, Activity::getLabelId); queryWrapper.eq(Activity::getId,id); Activity result = activityJoinMapper.selectJoinOne(Activity.class, queryWrapper); if (Objects.nonNull(result)) { String path = systemDictDataBiz.queryByCode(Constants.OSS, Constants.RESOURCE_PATH).getCode() + systemDictDataBiz.queryByCode(Constants.OSS, Constants.ACTIVITY_FILE).getCode(); Multifile queryfile = new Multifile(); queryfile.setObjId(result.getId()); List filelist = multifileMapper.selectList(new QueryWrapper<>(queryfile)); if(filelist!=null){ filelist.stream().forEach(s->{ if(StringUtils.isNotBlank(s.getFileurl())){ s.setFileFullUrl(path+s.getFileurl()); } }); result.setFileList(filelist); } if(StringUtils.isNotBlank(result.getImgurl())){ result.setImgurlfull(path+result.getImgurl()); } } return result; } @Override public Activity findByIdFull(Integer id,Integer memberId) { MPJLambdaWrapper queryWrapper = new MPJLambdaWrapper<>(); queryWrapper.selectAll(Activity.class); queryWrapper.selectAs(SystemUser::getRealname, Activity::getRealName); queryWrapper.selectAs(SystemUser::getType, Activity::getUserType); queryWrapper.selectAs(Labels::getName, Activity::getLablesName); queryWrapper.selectAs(Shop::getName, Activity::getShopName); queryWrapper.selectAs(Shop::getImgurl, Activity::getShopImg); queryWrapper.selectAs(Shop::getName, Activity::getShopName); queryWrapper.selectAs(Orgs::getName, Activity::getOrgName); queryWrapper.selectAs(Member::getNickname, Activity::getMemberName); queryWrapper.selectAs(Member::getImgurl, Activity::getMemberImg); if(memberId!=null){ queryWrapper.select("(select count(1) from shop_follow s1 where s1.ISDELETED=0 and s1.obj_id=t.member_id and s1.OBJ_TYPE=1 and s1.member_id="+memberId+" ) as memberFollow"); } queryWrapper.select("(select count(1) from activity_sign s1 where s1.ISDELETED=0 and s1.ACTIVITY_ID=t.id and s1.STATUS!=2 ) as activityCount"); queryWrapper.select("(select REALNAME from system_user s1 where s1.ID=t.ORG_ID ) as serviceName"); queryWrapper.select("(select avg(b.score) from shop_comment b where b.OBJ_ID = t.id and b.isdeleted=0) as shopStarNum"); queryWrapper.leftJoin(Shop.class, Shop::getId, Activity::getShopId); queryWrapper.leftJoin(Orgs.class, Orgs::getId, Activity::getOrgId); queryWrapper.leftJoin(SystemUser.class, SystemUser::getId, Activity::getCreator); queryWrapper.leftJoin(Labels.class, Labels::getId, Activity::getLabelId); queryWrapper.leftJoin(Member.class, Member::getId, Activity::getMemberId); queryWrapper.eq(Activity::getId,id); Activity result = activityJoinMapper.selectJoinOne(Activity.class, queryWrapper); return result; } @Override public Activity findOne(Activity activity) { QueryWrapper wrapper = new QueryWrapper<>(activity); return activityMapper.selectOne(wrapper); } @Override public List findList(Activity activity) { QueryWrapper wrapper = new QueryWrapper<>(activity); return activityMapper.selectList(wrapper); } @Override public PageData findPage(PageWrap pageWrap) { LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); IPage page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); MPJLambdaWrapper queryWrapper = new MPJLambdaWrapper<>(); Utils.MP.blankToNull(pageWrap.getModel()); queryWrapper.selectAll(Activity.class); queryWrapper.selectAs(SystemUser::getRealname, Activity::getRealName); queryWrapper.selectAs(SystemUser::getType, Activity::getUserType); queryWrapper.selectAs(Labels::getName, Activity::getLablesName); queryWrapper.select("(select count(id) from zan where ISDELETED=0 and OBJ_ID=t.id ) as zanCount"); queryWrapper.select("(select count(id) from collect where ISDELETED=0 and OBJ_ID=t.id ) as collectCount"); queryWrapper.select("(select count(id) from comment where ISDELETED=0 and OBJ_ID=t.id ) as commentCount"); queryWrapper.select("(select count(id) from shares where ISDELETED=0 and OBJ_ID=t.id ) as sharesCount"); queryWrapper.leftJoin(SystemUser.class, SystemUser::getId, Activity::getCreator); queryWrapper.leftJoin(Labels.class, Labels::getId, Activity::getLabelId); if (Constants.equalsInteger(pageWrap.getModel().getType(), Constants.ONE)) { //查询活动报名数据 queryWrapper.select("(select count(id) from activity_sign where ISDELETED=0 and ACTIVITY_ID=t.id ) as activityCount"); queryWrapper.select("su.REALNAME as serviceName"); queryWrapper.selectAs(Shop::getName, Activity::getShopName); queryWrapper.leftJoin("system_user su on su.id=t.ORG_ID"); queryWrapper.leftJoin(Shop.class, Shop::getId, Activity::getShopId); queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getShopName()), Shop::getName, StringUtils.isNotBlank(pageWrap.getModel().getShopName())); queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getServiceName()), "su.REALNAME", pageWrap.getModel().getServiceName()); queryWrapper.and(StringUtils.isNotBlank(pageWrap.getModel().getShopName()),ms -> ms.like( Shop::getName, pageWrap.getModel().getShopName()). or().like( "su.REALNAME", pageWrap.getModel().getShopName())); if (pageWrap.getModel().getStarttime() != null) { queryWrapper.ge(Activity::getStarttime, Utils.Date.getStart(pageWrap.getModel().getStarttime())); } if (pageWrap.getModel().getEndtime() != null) { queryWrapper.le(Activity::getEndtime, Utils.Date.getStart(pageWrap.getModel().getEndtime())); } if (pageWrap.getModel().getActivityStatus() != null) { if (pageWrap.getModel().getActivityStatus().intValue() == Constants.ZERO) { //未开始 queryWrapper.gt(Activity::getSignStarttime, DateUtil.getCurrentDate()); } else if (pageWrap.getModel().getActivityStatus().intValue() == Constants.ONE) { //报名中 queryWrapper.le(Activity::getSignStarttime, DateUtil.getCurrentDate()); queryWrapper.lt(Activity::getStarttime, DateUtil.getCurrentDate()); } else if (pageWrap.getModel().getActivityStatus().intValue() == Constants.TWO) { //报名结束 queryWrapper.le(Activity::getSignEndtime, DateUtil.getCurrentDate()); queryWrapper.lt(Activity::getStarttime, DateUtil.getCurrentDate()); } else if (pageWrap.getModel().getActivityStatus().intValue() == 3) { //活动开始 queryWrapper.le(Activity::getStarttime, DateUtil.getCurrentDate()); queryWrapper.ge(Activity::getEndtime, DateUtil.getCurrentDate()); } else if (pageWrap.getModel().getActivityStatus().intValue() == 4) { //活动结束 queryWrapper.lt(Activity::getEndtime, DateUtil.getCurrentDate()); } } } /**创作者/机构:查看自己发布的数据;平台:查看所有数据; */ if (!Constants.equalsInteger(user.getType(), Constants.UserType.SYSTEM.getKey())) { queryWrapper.eq(Activity::getCreator, user.getId()); } queryWrapper.eq(Activity::getIsdeleted, Constants.ZERO); queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getName()), Activity::getName, pageWrap.getModel().getName()); queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getRealName()), SystemUser::getRealname, pageWrap.getModel().getRealName()); queryWrapper.eq(StringUtils.isNotBlank(pageWrap.getModel().getUserType()), SystemUser::getType, pageWrap.getModel().getUserType()); queryWrapper.orderByDesc(Activity::getCreateDate); IPage result = activityJoinMapper.selectJoinPage(page, Activity.class, queryWrapper); initActivityListStatus(result.getRecords()); return PageData.from(result); } private void initActivityListStatus(List list) { if (list == null || list.size() == 0) { return; } String path = systemDictDataBiz.queryByCode(Constants.OSS, Constants.RESOURCE_PATH).getCode() + systemDictDataBiz.queryByCode(Constants.OSS, Constants.ACTIVITY_FILE).getCode(); for (Activity model : list) { initActivityStatus(model, path); } } public void initActivityStatus(Activity model, String path) { if (model == null) { return; } model.setImgurlfull(path); model.setActivityStatus(Constants.ZERO); long now = System.currentTimeMillis(); if (model.getStarttime() != null && model.getSignStarttime() != null && model.getSignStarttime().getTime() <= now && model.getStarttime().getTime() < now) { model.setActivityStatus(Constants.ONE);//报名中 } if (model.getStarttime() != null && model.getSignEndtime() != null && model.getSignEndtime().getTime() <= now && model.getStarttime().getTime() < now) { model.setActivityStatus(Constants.TWO);//报名结束 } if (model.getStarttime() != null && model.getStarttime().getTime() <= now && model.getEndtime().getTime() >= now) { model.setActivityStatus(3);//活动进行中 } if (model.getEndtime() != null && model.getEndtime().getTime() < now) { model.setActivityStatus(4);//活动已结束 } } @Override public long count(Activity activity) { QueryWrapper wrapper = new QueryWrapper<>(activity); return activityMapper.selectCount(wrapper); } @Override public BaseActivity getActivity(Integer activityId,Integer memberId) { Activity activity = activityMapper.selectById(activityId); activity = Optional.ofNullable(activity).filter( s-> (Constants.equalsInteger(s.getType(),Constants.ZERO) ||Constants.equalsInteger(s.getType(),Constants.ONE)) ) .orElseThrow(()->new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"活动不存在")); BaseActivity baseActivity = null; if (Constants.equalsInteger(activity.getType(),Constants.ZERO) && Objects.nonNull(activity.getShopId())){ ShopActivity shopActivity = new ShopActivity(); ShopSimpleDTO shopSimpleDTO = shopService.getShopSimpleDTO(activity.getShopId()); shopActivity.setShopSimpleDTO(shopSimpleDTO); baseActivity = shopActivity; }else if (Constants.equalsInteger(activity.getType(),Constants.ONE) && Objects.nonNull(activity.getOrgId())){ OrgActivity orgActivity = new OrgActivity(); BeanUtils.copyProperties(activity,orgActivity); OrgDTO orgDTO = orgsService.findOrgDTOById(activity.getOrgId()); orgActivity.setOrgDTO(orgDTO); baseActivity = orgActivity; } Map> objAllFileUrl = multifileService.getOBJAllFileUrl(activity.getId(), Constants.MultiFile.ACTIVITY_ROTATION.getKey(), null,Constants.AFTERSALE_FILE); if(objAllFileUrl==null&&objAllFileUrl.size()>0){ baseActivity.setImgurls( objAllFileUrl.get(Constants.MultiFile.ACTIVITY_ROTATION.getKey())); } //0未支付 1已支付 QueryWrapper wrapper = new QueryWrapper<>(); wrapper.lambda().eq(ActivitySign::getActivityId,activityId) .in(ActivitySign::getPayStatus, Arrays.asList(0,1)); //获取报名人数 Long applicantNum = activitySignMapper.selectCount(wrapper); wrapper.clear(); wrapper.lambda().eq(ActivitySign::getActivityId,activityId) .eq(ActivitySign::getMemberId,memberId); ActivitySign ActivitySignResult = activitySignMapper.selectOne(wrapper); //获取报名状态 getPersonActivityStatus(activity, ActivitySignResult,baseActivity); // baseActivity.setPersonActivityStatus(personActivityStatus); baseActivity.setApplicantNum(Constants.formatLongNum(applicantNum)); boolean mqResult= normalMsgProducer.sendMsg(Constants.MQ_TAG.activity,JSONObject.toJSONString(activity)); // // RocketMessageProducer.producerMsg(Constants.MQ_TAG.activity,null, JSONObject.toJSONString(activity)); // VisitEvent activityVisitEvent = new VisitEvent<>(this,activity); // applicationEventPublisher.publishEvent(activityVisitEvent); return baseActivity; } @Override public BaseActivity getActivity(Integer activityId) { Activity activity = activityMapper.selectById(activityId); BaseActivity baseActivity = null; if (Constants.equalsInteger(activity.getType(),Constants.ZERO) && Objects.nonNull(activity.getShopId())){ ShopActivity shopActivity = new ShopActivity(); ShopSimpleDTO shopSimpleDTO = shopService.getShopSimpleDTO(activity.getShopId()); shopActivity.setShopSimpleDTO(shopSimpleDTO); baseActivity = shopActivity; }else if (Constants.equalsInteger(activity.getType(),Constants.ZERO) && Objects.nonNull(activity.getOrgId())){ OrgActivity orgActivity = new OrgActivity(); BeanUtils.copyProperties(activity,orgActivity); OrgDTO orgDTO = orgsService.findOrgDTOById(activity.getOrgId()); orgActivity.setOrgDTO(orgDTO); baseActivity = orgActivity; } return baseActivity; } @Transactional(rollbackFor = {Exception.class,BusinessException.class}) @Override public void creatOrUpdateShopOrgActivity(BaseActivity baseActivity,Integer memberId) { // LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); Activity activity = findById(baseActivity.getId()); List imgurls = baseActivity.getImgurls(); if (Objects.isNull(activity)){ Activity ins = new Activity(); // ins.setCreator(user.getId()); ins.setCreateDate(new Date()); // ins.setEditor(user.getId()); ins.setEditDate(new Date()); ins.setIsdeleted(Constants.ZERO); ins.setShopId(baseActivity.getShopId()); ins.setOrgId(baseActivity.getOrgId()); ins.setName(baseActivity.getName()); ins.setStarttime(baseActivity.getStarttime()); ins.setEndtime(baseActivity.getEndtime()); ins.setSignStarttime(baseActivity.getSignStarttime()); ins.setSignEndtime(baseActivity.getSignEndtime()); ins.setAddr(baseActivity.getAddr()); ins.setLongitude(baseActivity.getLongitude()); ins.setLatitude(baseActivity.getLatitude()); ins.setLimitnum(baseActivity.getLimitnum()); ins.setPrice(Objects.nonNull(baseActivity.getPrice()) ? baseActivity.getPrice() : new BigDecimal("0")); ins.setImgurl(baseActivity.getImgurl()); ins.setType(Constants.ZERO); ins.setStatus(Constants.ZERO); ins.setSortnum(Constants.ONE); ins.setLabelId(baseActivity.getLabelId()); ins.setMemberId(memberId); ins.setContentType(Constants.ONE); ins.setContent(baseActivity.getContent()); activityMapper.insert(ins); if (!CollectionUtils.isEmpty(imgurls)){ multifileService.refreshObjMultiFile(ins.getId(),Constants.MultiFile.ACTIVITY_ROTATION.getKey(),imgurls); } } else { Activity ins = new Activity(); ins.setId(activity.getId()); // ins.setCreator(user.getId()); ins.setCreateDate(new Date()); // ins.setEditor(user.getId()); ins.setEditDate(new Date()); ins.setIsdeleted(Constants.ZERO); ins.setShopId(baseActivity.getShopId()); ins.setOrgId(baseActivity.getOrgId()); ins.setName(baseActivity.getName()); ins.setStarttime(baseActivity.getStarttime()); ins.setEndtime(baseActivity.getEndtime()); ins.setSignStarttime(baseActivity.getSignStarttime()); ins.setSignEndtime(baseActivity.getSignEndtime()); ins.setAddr(baseActivity.getAddr()); ins.setLongitude(baseActivity.getLongitude()); ins.setLatitude(baseActivity.getLatitude()); ins.setLimitnum(baseActivity.getLimitnum()); ins.setPrice(Objects.nonNull(baseActivity.getPrice()) ? baseActivity.getPrice() : new BigDecimal("0")); ins.setImgurl(baseActivity.getImgurl()); ins.setType(Constants.ZERO); ins.setStatus(Constants.ZERO); ins.setSortnum(Constants.ONE); ins.setLabelId(baseActivity.getLabelId()); ins.setMemberId(memberId); ins.setContentType(Constants.ONE); ins.setContent(baseActivity.getContent()); activityMapper.updateById(ins); if (!CollectionUtils.isEmpty(imgurls)){ multifileService.refreshObjMultiFile(ins.getId(),Constants.MultiFile.ACTIVITY_ROTATION.getKey(),imgurls); } } } @Override public PageData getActivityCard(PageWrap pageWrap) { String basePath = systemDictDataBiz.queryByCode(Constants.OSS, Constants.RESOURCE_PATH).getCode(); String memberPath =basePath + systemDictDataBiz.queryByCode(Constants.OSS, Constants.MEMBER_FILE).getCode(); String activityPath = basePath + systemDictDataBiz.queryByCode(Constants.OSS, Constants.ACTIVITY_FILE).getCode(); IPage page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); MPJLambdaWrapper queryWrapper = new MPJLambdaWrapper<>(); queryWrapper.selectAs(Activity::getId,ActivityCardDTO::getId) .selectAs(Activity::getName,ActivityCardDTO::getName) .selectAs(Activity::getMemberId,ActivityCardDTO::getMemberId) .selectAs(Activity::getCreateDate,ActivityCardDTO::getCreateDate) .selectAs(Activity::getType,ActivityCardDTO::getType) .selectAs(Activity::getImgurl,ActivityCardDTO::getImgurl) .selectAs(Member::getNickname,ActivityCardDTO::getNickName) .selectAs(Member::getImgurl,ActivityCardDTO::getMemberImgUrl); queryWrapper.leftJoin(Member.class,Member::getId,Activity::getMemberId); queryWrapper.orderByDesc(Activity::getCreateDate); if (Objects.nonNull(pageWrap.getModel())){ queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getKeywords()),Activity::getName,pageWrap.getModel().getKeywords()) .or() .like(StringUtils.isNotBlank(pageWrap.getModel().getKeywords()),Activity::getContent,pageWrap.getModel().getKeywords()); queryWrapper.in(Objects.nonNull(pageWrap.getModel().getTypes()),Activity::getType,pageWrap.getModel().getTypes()); queryWrapper.eq(Objects.nonNull(pageWrap.getModel().getLabelId()),Activity::getLabelId,pageWrap.getModel().getLabelId()); queryWrapper.eq(Objects.nonNull(pageWrap.getModel().getMemberId()),Activity::getMemberId,pageWrap.getModel().getMemberId()); // queryWrapper.eq(Objects.nonNull(pageWrap.getModel().getType()),Activity::getMemberId,pageWrap.getModel().getMemberId()); queryWrapper.in(!CollectionUtils.isEmpty(pageWrap.getModel().getMemberIds()),Activity::getMemberId,pageWrap.getModel().getMemberIds()); } IPage activityCardDTOIPage = activityJoinMapper.selectJoinPage(page, ActivityCardDTO.class, queryWrapper); if (CollectionUtils.isEmpty(activityCardDTOIPage.getRecords())){ return PageData.from(activityCardDTOIPage); } List collect = activityCardDTOIPage.getRecords().stream().map(s -> s.getId()).collect(Collectors.toList()); Map count = collectService.count(collect); activityCardDTOIPage.getRecords().forEach(s->{ CollectDTO object = MapUtils.getObject(count, s.getId()); s.setCollectCount(object != null ? object.getCount() : 0); s.setMemberImgUrl(memberPath+s.getMemberImgUrl()); s.setImgurl(activityPath+s.getImgurl()); }); return PageData.from(activityCardDTOIPage); } @Override public ActivityProbeShopDTO getActivityProbeShopDTO(Integer activityId, Integer memberId) { String basePath = systemDictDataBiz.queryByCode(Constants.OSS, Constants.RESOURCE_PATH).getCode(); //查询活动详情 Activity activity = findByIdFull(activityId,memberId); activity = Optional.ofNullable(activity).orElseThrow(()->new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,该探店信息不存在,请返回刷新重试!")); ActivityProbeShopDTO activityNewDTO = new ActivityProbeShopDTO(); activityNewDTO.setId(activity.getId()); activityNewDTO.setName(activity.getName()); activityNewDTO.setContent(activity.getContent()); activityNewDTO.setCreateDate(activity.getCreateDate()); activityNewDTO.setContentType(Constants.formatIntegerNum(activity.getContentType())); //处理商户信息 if( activity.getShopId() !=null){ getShopData(activityNewDTO,activity,basePath); } //处理用户信息 if(activity.getMemberId()!=null){ getMemberData(activityNewDTO,activity,basePath); } String path=basePath + systemDictDataBiz.queryByCode(Constants.OSS, Constants.ACTIVITY_FILE).getCode(); if(StringUtils.isNotBlank(activity.getImgurl())){ activity.setImgurlfull(path+activity.getImgurl()); } if(Constants.equalsInteger(activity.getType(),Constants.ActivityType.TANDIAN.getKey())){ //如果是探店,查询轮播附件 getTandianFileList(activityNewDTO,activity,path); } boolean mqResult= normalMsgProducer.sendMsg(Constants.MQ_TAG.activity,JSONObject.toJSONString(activity)); return activityNewDTO; } private void getShopData(ActivityProbeShopDTO activityNewDTO, Activity activity, String basePath) { ShopSimpleDTO shopSimpleDTO = new ShopSimpleDTO(); shopSimpleDTO.setId(activity.getShopId()); shopSimpleDTO.setName(activity.getShopName()); shopSimpleDTO.setStarNum(activity.getShopStarNum()); if(StringUtils.isNotBlank(activity.getShopImg())){ String shopImgPath = basePath+systemDictDataBiz.queryByCode(Constants.OSS,Constants.SHOP_FILE).getCode(); shopSimpleDTO.setImgurl(shopImgPath+ activity.getShopImg()); } activityNewDTO.setShopSimpleDTO(shopSimpleDTO); } private void getMemberData(ActivityProbeShopDTO activityNewDTO, Activity activity, String basePath) { MemberDTO memberDTO = new MemberDTO(); memberDTO.setId(activity.getMemberId()); if(StringUtils.isNotBlank(activity.getMemberImg())){ String mPath = basePath+systemDictDataBiz.queryByCode(Constants.OSS,Constants.SHOP_FILE).getCode(); memberDTO.setImgurl(mPath+ activity.getMemberImg()); } memberDTO.setNickname(activity.getMemberName()); memberDTO.setFollowStatus(activity.getMemberFollow() >0); activityNewDTO.setMemberDTO(memberDTO); } private void getTandianFileList(ActivityProbeShopDTO activityNewDTO, Activity activity,String path) { //开始获取探店多图 信息 Multifile queryfile = new Multifile(); queryfile.setObjId(activity.getId()); queryfile.setObjType( Constants.MultiFile.TANDIAN_PICTURE.getKey()); queryfile.setIsdeleted(Constants.ZERO); List filelist = multifileMapper.selectList(new QueryWrapper<>(queryfile)); if(filelist !=null && filelist.size()>0){ activityNewDTO.setFileList(new ArrayList<>()); filelist.stream().forEach(s-> { if(StringUtils.isNotBlank(s.getFileurl())){ s.setFileFullUrl(path+s.getFileurl()); MultiFileDTO f = new MultiFileDTO(); BeanUtils.copyProperties(s,f); activityNewDTO.getFileList().add(f); } }); } } @Override public PageData getActivityVideoDTO(PageWrap pageWrap) { //城市id Integer model = pageWrap.getModel(); Areas areas = new Areas(); areas.setParentId(model); areas.setType(Constants.TWO); List areaes = areasService.listByParentId(areas); List collect = areaes.stream().map(s -> s.getId()).collect(Collectors.toList()); IPage page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); MPJLambdaWrapper queryWrapper = new MPJLambdaWrapper<>(); queryWrapper.selectAs(Activity::getId,ActivityVideoDTO::getId) .selectAs(Activity::getName,ActivityVideoDTO::getName); queryWrapper.eq(Activity::getType,Constants.TWO); queryWrapper.eq(Activity::getContentType,Constants.ONE); queryWrapper.in(Shop::getAreaId,collect); queryWrapper.orderByDesc(Activity::getLooknum); IPage activityVideoDTOIPage = activityJoinMapper.selectJoinPage(page, ActivityVideoDTO.class, queryWrapper); if (CollectionUtils.isEmpty(activityVideoDTOIPage.getRecords())){ return PageData.from(activityVideoDTOIPage); } List collect1 = activityVideoDTOIPage.getRecords().stream().map(s -> s.getId()).collect(Collectors.toList()); Map> objFileUrl = multifileService.getOBJFileUrl(collect1, Constants.MultiFile.TANDIAN_PICTURE.getKey(),Constants. ACTIVITY_FILE); activityVideoDTOIPage.getRecords().forEach(s->{ MultiFileDTO dto = objFileUrl.get(s.getId()).stream().filter(i -> Constants.TWO == i.getType()).findFirst().orElse(new MultiFileDTO()); s.setMemberDTO(dto); }); return PageData.from(activityVideoDTOIPage); } @Override public PageData getUserCollectActivityCard(PageWrap pageWrap,Integer memberId) { //LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); PageWrap collectPageWrap = new PageWrap<>(); BeanUtils.copyProperties(pageWrap,collectPageWrap); Collect collect = new Collect(); collect.setMemberId(memberId); collectPageWrap.setModel(collect); PageData page = collectService.findPage(collectPageWrap); if (CollectionUtils.isEmpty(page.getRecords())){ return PageData.from(new Page<>()); } List collect1 = page.getRecords().stream().map(s -> s.getObjId()).collect(Collectors.toList()); List activityCardDTOList = getActivityCardDTOList(collect1); PageData pageData = new PageData<>(); pageData.setPage(page.getPage()); pageData.setCapacity(page.getCapacity()); pageData.setTotal(page.getTotal()); pageData.setRecords(activityCardDTOList); return pageData; } private List getActivityCardDTOList(List ids){ String memberPath = systemDictDataBiz.queryByCode(Constants.OSS, Constants.RESOURCE_PATH).getCode() + systemDictDataBiz.queryByCode(Constants.OSS, Constants.MEMBER_FILE).getCode(); String activityPath = systemDictDataBiz.queryByCode(Constants.OSS, Constants.RESOURCE_PATH).getCode() + systemDictDataBiz.queryByCode(Constants.OSS, Constants.ACTIVITY_FILE).getCode(); MPJLambdaWrapper queryWrapper = new MPJLambdaWrapper<>(); queryWrapper.selectAs(Activity::getId,ActivityCardDTO::getId) .selectAs(Activity::getName,ActivityCardDTO::getName) .selectAs(Activity::getMemberId,ActivityCardDTO::getMemberId) .selectAs(Activity::getCreateDate,ActivityCardDTO::getCreateDate) .selectAs(Activity::getType,ActivityCardDTO::getType) .selectAs(Activity::getImgurl,ActivityCardDTO::getImgurl) .selectAs(Member::getNickname,ActivityCardDTO::getNickName) .selectAs(Member::getImgurl,ActivityCardDTO::getMemberImgUrl); queryWrapper.leftJoin(Activity.class,Activity::getMemberId,Member::getId); queryWrapper.in(Activity::getId,ids); List activityCardDTOs = activityJoinMapper.selectJoinList(ActivityCardDTO.class, queryWrapper); if (CollectionUtils.isEmpty(activityCardDTOs)){ return new ArrayList<>(); } List collect = activityCardDTOs.stream().map(s -> s.getId()).collect(Collectors.toList()); Map count = collectService.count(collect); activityCardDTOs.forEach(s->{ CollectDTO object = MapUtils.getObject(count, s.getId()); s.setCollectCount(object != null ? object.getCount() : 0); s.setMemberImgUrl(memberPath+s.getMemberImgUrl()); s.setImgurl(activityPath+s.getImgurl()); }); return activityCardDTOs; } @Override public void visitOperation(Object o) { if (Objects.isNull(o)){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"访问目标不存在"); } Activity activity = (Activity) o; UpdateWrapper wrapper = new UpdateWrapper<>(); wrapper.lambda().set(Activity::getLooknum, Objects.isNull(activity.getLooknum()) ? 1 : activity.getLooknum()+1); activityMapper.update(null,wrapper); } @Override public PageData getUserActivitySignCard(PageWrap pageWrap,Integer memberId) { IPage page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); // LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); String model = pageWrap.getModel(); MPJLambdaWrapper queryWrapper = new MPJLambdaWrapper<>(); queryWrapper.selectAs(Activity::getName,MemberActivitySignDTO::getName) .selectAs(Activity::getImgurl,MemberActivitySignDTO::getImgurl) .selectAs(Activity::getId,MemberActivitySignDTO::getId) .selectAs(Activity::getAddr,MemberActivitySignDTO::getAddr) .selectAs(Activity::getStarttime,MemberActivitySignDTO::getStarttime) .selectAs(Activity::getEndtime,MemberActivitySignDTO::getEndtime); queryWrapper.leftJoin(Activity.class,Activity::getId,ActivitySign::getActivityId); queryWrapper.eq(ActivitySign::getMemberId,memberId); if ("not_start".equalsIgnoreCase(model)){ queryWrapper.lt(Activity::getStarttime,new Date()); } if ("having".equalsIgnoreCase(model)){ queryWrapper.ge(Activity::getStarttime,new Date()); queryWrapper.le(Activity::getStarttime,new Date()); } if ("over".equalsIgnoreCase(model)){ queryWrapper.gt(Activity::getStarttime,new Date()); } IPage memberActivitySignDTOIPage = activitySignJoinMapper.selectJoinPage(page, MemberActivitySignDTO.class, queryWrapper); return PageData.from(memberActivitySignDTOIPage); } @Override public PageData getShopActivitySignCard(PageWrap pageWrap) { IPage page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); Utils.MP.blankToNull(pageWrap.getModel()); MPJLambdaWrapper queryWrapper = new MPJLambdaWrapper<>(); queryWrapper.selectAs(Activity::getId,ShopActivitySignDTO::getId); queryWrapper.selectAs(Activity::getShopId,ShopActivitySignDTO::getShopId); queryWrapper.selectAs(Activity::getName,ShopActivitySignDTO::getName); queryWrapper.selectAs(Activity::getImgurl,ShopActivitySignDTO::getImgurl); queryWrapper.selectAs(Activity::getAddr,ShopActivitySignDTO::getAddr); queryWrapper.selectAs(Activity::getStarttime,ShopActivitySignDTO::getStarttime); queryWrapper.selectAs(Activity::getEndtime,ShopActivitySignDTO::getEndtime); queryWrapper.selectAs(Activity::getLimitnum,ShopActivitySignDTO::getLimitnum); queryWrapper.selectAs(Activity::getPrice,ShopActivitySignDTO::getPrice); queryWrapper.selectCount(ActivitySign::getActivityId,ShopActivitySignDTO::getApplicantNum); queryWrapper.leftJoin(ActivitySign.class,ActivitySign::getActivityId,Activity::getId); queryWrapper.eq(Activity::getShopId,pageWrap.getModel().getShopId()); if ("not_start".equalsIgnoreCase(pageWrap.getModel().getActivityStatus())){ queryWrapper.lt(Activity::getStarttime,new Date()); } if ("having".equalsIgnoreCase(pageWrap.getModel().getActivityStatus())){ queryWrapper.ge(Activity::getStarttime,new Date()); queryWrapper.le(Activity::getStarttime,new Date()); } if ("over".equalsIgnoreCase(pageWrap.getModel().getActivityStatus())){ queryWrapper.gt(Activity::getStarttime,new Date()); } Date now = new Date(); IPage memberActivitySignDTOIPage = activityJoinMapper.selectJoinPage(page,ShopActivitySignDTO.class,queryWrapper); if (CollectionUtils.isEmpty(memberActivitySignDTOIPage.getRecords())){ return PageData.from(new Page<>()); } memberActivitySignDTOIPage.getRecords().forEach(s->{ if (now.before(s.getStarttime())){ s.setActivityStatus("not_start"); } if (now.after(s.getEndtime())){ s.setActivityStatus("over"); } }); return PageData.from(memberActivitySignDTOIPage); } @Override public PageData getActivitySignUserDTO(PageWrap pageWrap) { IPage page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); Utils.MP.blankToNull(pageWrap.getModel()); LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(ActivitySign::getActivityId,pageWrap.getModel()) .eq(ActivitySign::getStatus,Constants.ONE); IPage activitySignIPage = activitySignMapper.selectPage(page,wrapper); if (CollectionUtils.isEmpty(activitySignIPage.getRecords())){ return PageData.from(new Page<>()); } List collect = activitySignIPage.getRecords().stream().map(s -> { ActivitySignUserDTO dto = new ActivitySignUserDTO(); dto.setId(s.getId()); dto.setMemberId(s.getMemberId()); dto.setStatus(s.getStatus()); dto.setRealname(s.getRealname()); dto.setPhone(s.getPhone()); dto.setCompany(s.getCompany()); dto.setPayStatus(s.getPayStatus()); dto.setPayDate(s.getPayDate()); dto.setPayOrderId(s.getPayOrderId()); dto.setPayMethod(s.getPayMethod()); dto.setPrice(s.getPrice()); return dto; }).collect(Collectors.toList()); PageData pageData = new PageData<>(); pageData.setPage(activitySignIPage.getCurrent()); pageData.setCapacity(activitySignIPage.getSize()); pageData.setTotal(activitySignIPage.getTotal()); pageData.setRecords(collect); return pageData; } @Override public PageData getUserFollowActivityCard(PageWrap pageWrap,Integer memberId) { // LoginUserInfo principal = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); ShopFollow shopFollow = new ShopFollow(); shopFollow.setMemberId(memberId); List shopFollows = shopFollowService.findList(shopFollow); if (CollectionUtils.isEmpty(shopFollows)){ return PageData.from(new Page<>()); } List collect = shopFollows.stream() .filter(s -> Constants.equalsInteger(s.getObjType(), Constants.ONE)) .map(s -> s.getObjId()).collect(Collectors.toList()); PageWrap baseActivityPageWrap = new PageWrap<>(); BeanUtils.copyProperties(pageWrap,baseActivityPageWrap); ActivityPageListRequest activity = new ActivityPageListRequest(); activity.setMemberIds(collect); baseActivityPageWrap.setModel(activity); PageData activityCard = getActivityCard(baseActivityPageWrap); return activityCard; } private void getPersonActivityStatus(Activity activity, ActivitySign activitySign,BaseActivity baseActivity){ Date now = new Date(); Date startTime = activity.getStarttime(); Date endTime = activity.getEndtime(); Date signStartTime = activity.getSignStarttime(); Date signEndTime = activity.getSignEndtime(); Integer payStatus = Optional.ofNullable(activitySign).map(s->s.getPayStatus()).orElse(null); if (Objects.isNull(payStatus)){ baseActivity.setActivitySignStatus(0); } if (Objects.nonNull(payStatus) ){ baseActivity.setActivitySignStatus(1); } if (Objects.nonNull(payStatus) && Constants.equalsInteger(payStatus,Constants.ZERO)){ baseActivity.setActivitySignStatus(2); } if (Objects.nonNull(payStatus) && Constants.equalsInteger(payStatus,Constants.ONE)){ baseActivity.setActivitySignStatus(3); } if ( now.before(signStartTime)){ baseActivity.setSignTimeStatus(0); }else if (now.after(signStartTime) && now.before(signEndTime)){ baseActivity.setSignTimeStatus(1); }else if (now.after(signEndTime)){ baseActivity.setSignTimeStatus(2); } if ( now.before(startTime)){ baseActivity.setActivityTimeStatus(0); }else if (now.after(startTime) && now.before(endTime)){ baseActivity.setActivityTimeStatus(1); }else if (now.after(endTime)){ baseActivity.setActivityTimeStatus(2); } //活动未开始 /* if ( now.before(signStartTime)){ return "not_start_apply"; } //活动可以报名 if (now.after(signStartTime) && now.before(signEndTime) && Objects.isNull(payStatus)){ return "start_apply"; } //活动可以报名 未支付 if ( now.after(signStartTime) && now.before(signEndTime) && Constants.equalsInteger(payStatus,Constants.ZERO)){ return "apply_not_pay"; } // if (now.after(signStartTime) && Constants.equalsInteger(payStatus,Constants.ONE)){ return "has_apply_has_pay"; } //报名时间结束 活动未开始 --> 报名成功 if (now.after(signEndTime) && now.before(startTime) && Objects.nonNull(payStatus)){ return "has_apply"; } //报名时间结束 未报名 --> 报名已结束 if (now.after(signEndTime) && Objects.isNull(payStatus)){ return "apply_end"; } // if (now.after(endTime) && Objects.nonNull(payStatus)){ return "has_apply"; } //活动时间已过 if (now.after(endTime)){ return "activity_end"; }*/ } }