package com.panzhihua.service_jinhui_community.service.impl; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.jinhui.JinhuiApplyExperienceVO; import com.panzhihua.common.model.vos.jinhui.JinhuiCoinGeneralTableVO; import com.panzhihua.common.model.vos.jinhui.JinhuiGoldCoinRecordVO; import com.panzhihua.service_jinhui_community.dao.JinhuiApplyExperienceDao; import com.panzhihua.service_jinhui_community.entity.JinhuiApplyExperience; import com.panzhihua.service_jinhui_community.entity.JinhuiCoinGeneralTable; import com.panzhihua.service_jinhui_community.entity.JinhuiExperienceActivity; import com.panzhihua.service_jinhui_community.service.JinhuiApplyExperienceService; import com.panzhihua.service_jinhui_community.service.JinhuiCoinGeneralTableService; import com.panzhihua.service_jinhui_community.service.JinhuiExperienceActivityService; import com.panzhihua.service_jinhui_community.service.JinhuiGoldCoinRecordService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.Date; @Slf4j @Service public class JinhuiApplyExperienceServiceImpl extends ServiceImpl implements JinhuiApplyExperienceService { @Resource private JinhuiExperienceActivityService activityService; @Resource private JinhuiGoldCoinRecordService recordService; @Resource private JinhuiCoinGeneralTableService tableService; @Override public R getList(int pageNum,int pageSize,String userId,String activityId,String isFeedback) { Page page = new Page(pageNum,pageSize); return R.ok(baseMapper.getList(page,userId,activityId,isFeedback)); } @Override public JinhuiApplyExperience getDetails(String id, String userId, String activityId) { return baseMapper.getDetails(id,userId,activityId); } @Override public R addData(JinhuiApplyExperienceVO item) { if(StringUtils.isEmpty(item.getActivityId())) { return R.fail("活动id不能为空"); } JinhuiApplyExperience applyExperience=baseMapper.getDetails(null,item.getUserId(),item.getActivityId()); if(applyExperience!=null && !StringUtils.isEmpty(applyExperience.getId()) ) { return R.fail("该活动已参加"); } //获取活动信息 JinhuiExperienceActivity activity=activityService.getDetails(item.getActivityId(),item.getUserId()); if (!StringUtils.equals("-1",activity.getPeopleNumber())) { //总数 int allNum=Integer.valueOf(activity.getPeopleNumber()); //报名人数 int num=getNum(null,null,item.getActivityId()); if(num>=allNum) { return R.fail("报名人数已满"); } } //当前时间 long newTime=System.currentTimeMillis(); //报名开始时间 long applyStartTime=activity.getApplyStartTime().getTime(); //报名结束时间 long applyEndTime=activity.getApplyEndTime().getTime(); if(applyStartTime0) { return R.ok(); } return R.fail("添加失败"); } else { return R.fail("报名未开始或报名已结束"); } } @Override public R editData(JinhuiApplyExperienceVO item) { int num= baseMapper.editData(item); if(num>0) { return R.ok(); } return R.fail("添加失败"); } @Override public R expurgateData(String id) { int num= baseMapper.expurgateData(id); if(num>0) { return R.ok(); } return R.fail("添加失败"); } @Override public int getNum(String userId, String isFeedback, String activityId) { return baseMapper.getNum(userId,isFeedback,activityId); } @Override public R filIn(String userId, String activityId, String content) { if (StringUtils.isEmpty(activityId)) { return R.fail("活动id不能为空"); } if(StringUtils.isEmpty(content)) { return R.fail("填写内容不能为空"); } //获取活动信息 JinhuiExperienceActivity activity=activityService.getDetails(activityId,userId); //当前时间 long newTime=System.currentTimeMillis(); //活动开始时间 long activityStartTime=activity.getActivityStartTime().getTime(); //活动结束时间 long activityEndTime=activity.getActivityEndTime().getTime(); if(newTimeactivityEndTime) { return R.fail("活动已结束"); } //获取报名体验详情 JinhuiApplyExperience applyExperience=baseMapper.getDetails(null,userId,activityId); if(StringUtils.equals("1",applyExperience.getIsFeedback())) { return R.fail("体验不可重复提交"); } JinhuiApplyExperienceVO applyExperienceVO=new JinhuiApplyExperienceVO(); applyExperienceVO.setId(applyExperience.getId()); applyExperienceVO.setExperienceContent(content); applyExperienceVO.setIsFeedback("1"); applyExperienceVO.setUploadingTime(new Date()); baseMapper.editData(applyExperienceVO); int award=0; if(!StringUtils.isEmpty(activity.getAward())) { award=Integer.valueOf(activity.getAward()); } if(award>0) { //增加积分明细 JinhuiGoldCoinRecordVO recordVO=new JinhuiGoldCoinRecordVO(); recordVO.setGoldCoin(activity.getAward()); recordVO.setUserId(userId); recordVO.setTitle("参加体验活动奖励"); recordVO.setType("4"); recordService.addData(recordVO); //修改用户积分 JinhuiCoinGeneralTableVO table=new JinhuiCoinGeneralTableVO(); table.setUserId(userId); table.setGoldCoin(activity.getAward()); tableService.addData(table); } return R.ok(); } }