|
|
@@ -5,6 +5,7 @@ import cn.hutool.core.collection.CollUtil;
|
|
|
import cn.hutool.core.date.DatePattern;
|
|
|
import cn.hutool.core.date.LocalDateTimeUtil;
|
|
|
import cn.hutool.core.util.NumberUtil;
|
|
|
+import cn.hutool.core.util.StrUtil;
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
@@ -49,6 +50,7 @@ import org.springframework.validation.BindingResult;
|
|
|
|
|
|
import javax.json.Json;
|
|
|
import java.math.BigDecimal;
|
|
|
+import java.time.LocalDateTime;
|
|
|
import java.util.*;
|
|
|
|
|
|
/**
|
|
|
@@ -132,18 +134,24 @@ public class KxsCampServiceImpl extends ServiceImpl<KxsCampMapper, KxsCamp> impl
|
|
|
if(kxsCamp == null){
|
|
|
return R.failed(excel.getCampId() + "训练营编号不存在,请重新上传!");
|
|
|
}
|
|
|
- if (user == null) {
|
|
|
+
|
|
|
+ if (Objects.isNull(user)) {
|
|
|
errorMsg.add(excel.getUserCode() + "创客未找到!");
|
|
|
+ }else{
|
|
|
+ //判断创客是否已在其他训练营
|
|
|
+ KxsCampUser kxsCampUser = baseMapper.selectByUserId(user.getId());
|
|
|
+ if(kxsCampUser != null){
|
|
|
+ errorMsg.add(excel.getUserCode() + "已在训练营!");
|
|
|
+ }
|
|
|
+ if(user.getRealStatus() != 1){
|
|
|
+ errorMsg.add(excel.getUserCode() + "创客未实名!");
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
//判断创客是否加入
|
|
|
// KxsCampUser kxsCampUser = kxsCampUserService.getOne(Wrappers.<KxsCampUser>lambdaQuery()
|
|
|
// .eq(KxsCampUser::getCampId, excel.getCampId())
|
|
|
// .eq(KxsCampUser::getUserId, user.getId()));
|
|
|
- //判断创客是否已在其他训练营
|
|
|
- KxsCampUser kxsCampUser = baseMapper.selectByUserId(user.getId());
|
|
|
- if(kxsCampUser != null){
|
|
|
- errorMsg.add(excel.getUserCode() + "已在训练营!");
|
|
|
- }
|
|
|
|
|
|
// 数据合法情况
|
|
|
if (CollUtil.isEmpty(errorMsg)) {
|
|
|
@@ -194,7 +202,8 @@ public class KxsCampServiceImpl extends ServiceImpl<KxsCampMapper, KxsCamp> impl
|
|
|
@Async("getAsyncExecutor")
|
|
|
public void prizePoolIsRefreshed() {
|
|
|
//查询正在进行中的活动
|
|
|
- List<KxsCamp> list = baseMapper.selectList(Wrappers.<KxsCamp>lambdaQuery().eq(KxsCamp::getStatus, CampStatusEnum.STATUS_NORMAL.getType()));
|
|
|
+ LocalDateTime now = LocalDateTime.now();
|
|
|
+ List<KxsCamp> list = baseMapper.selectList(Wrappers.<KxsCamp>lambdaQuery().ge(KxsCamp::getStartTime, now).le(KxsCamp::getEndTime, now));
|
|
|
//查询活动参与的创客
|
|
|
for (KxsCamp kxsCamp : list) {
|
|
|
//初始化奖金池
|
|
|
@@ -337,5 +346,24 @@ public class KxsCampServiceImpl extends ServiceImpl<KxsCampMapper, KxsCamp> impl
|
|
|
}
|
|
|
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public IPage<KxsCamp> getBySysPage(Page<KxsCamp> page, KxsCamp param) {
|
|
|
+ LocalDateTime now = LocalDateTime.now();
|
|
|
+ Page<KxsCamp> pageData = this.page(page, Wrappers.<KxsCamp>lambdaQuery()
|
|
|
+ .eq(StrUtil.isNotEmpty(param.getCreateCode()), KxsCamp::getCreateCode, param.getCreateCode())
|
|
|
+ .orderByDesc(KxsCamp::getId));
|
|
|
+
|
|
|
+ pageData.getRecords().forEach(item -> {
|
|
|
+ if(item.getEndTime().isBefore(now)){
|
|
|
+ item.setStatus(CampStatusEnum.STATUS_END.getType());
|
|
|
+ } else if (LocalDateTimeUtil.isIn(now, item.getStartTime(), item.getEndTime(), false, false)) {
|
|
|
+ item.setStatus(CampStatusEnum.STATUS_NORMAL.getType());
|
|
|
+ }else {
|
|
|
+ item.setStatus(CampStatusEnum.STATUS_CLOSE.getType());
|
|
|
+ }
|
|
|
+ });
|
|
|
+ return pageData;
|
|
|
+ }
|
|
|
}
|
|
|
|