|
|
@@ -22,8 +22,10 @@ import com.kxs.system.api.dto.kxsapp.camp.CampOpenNumStatDTO;
|
|
|
import com.kxs.system.api.dto.kxsapp.camp.PrizePoolDTO;
|
|
|
import com.kxs.system.api.model.KxsCamp;
|
|
|
import com.kxs.system.api.model.KxsCampBonusLog;
|
|
|
+import com.kxs.system.api.model.KxsCampGroup;
|
|
|
import com.kxs.system.api.model.KxsCampUser;
|
|
|
import com.kxs.system.api.vo.admin.camp.CampUserExcelVO;
|
|
|
+import com.kxs.system.api.vo.admin.camp.SysCampPageVO;
|
|
|
import com.kxs.system.api.vo.kxsapp.camp.CampGetByIdVO;
|
|
|
import com.kxs.system.api.vo.kxsapp.camp.CampPageVO;
|
|
|
import com.kxs.system.biz.constant.enums.CampSourceTypeEnum;
|
|
|
@@ -31,6 +33,7 @@ import com.kxs.system.biz.constant.enums.CampStatusEnum;
|
|
|
import com.kxs.system.biz.constant.enums.SysErrorTypeEnum;
|
|
|
import com.kxs.system.biz.mapper.KxsCampMapper;
|
|
|
import com.kxs.system.biz.service.KxsCampBonusLogService;
|
|
|
+import com.kxs.system.biz.service.KxsCampGroupService;
|
|
|
import com.kxs.system.biz.service.KxsCampService;
|
|
|
import com.kxs.system.biz.service.KxsCampUserService;
|
|
|
import com.kxs.user.api.feign.RemoteKxsUserService;
|
|
|
@@ -64,6 +67,8 @@ public class KxsCampServiceImpl extends ServiceImpl<KxsCampMapper, KxsCamp> impl
|
|
|
|
|
|
private final KxsCampBonusLogService campBonusLogService;
|
|
|
|
|
|
+ private final KxsCampGroupService kxsCampGroupService;
|
|
|
+
|
|
|
|
|
|
@Override
|
|
|
public R addData(KxsCamp param) {
|
|
|
@@ -121,6 +126,11 @@ public class KxsCampServiceImpl extends ServiceImpl<KxsCampMapper, KxsCamp> impl
|
|
|
if (Objects.equals(kxsCamp.getStatus(), CampStatusEnum.STATUS_END.getType())) {
|
|
|
throw new GlobalCustomerException(excel.getCampId() + "训练营已结束,不允许导入!");
|
|
|
}
|
|
|
+ //查询分组
|
|
|
+ KxsCampGroup kxsCampGroup = kxsCampGroupService.getOne(Wrappers.<KxsCampGroup>lambdaQuery()
|
|
|
+ .eq(KxsCampGroup::getCampId, excel.getCampId())
|
|
|
+ .eq(KxsCampGroup::getGroupId, excel.getGroupId()));
|
|
|
+ Optional.ofNullable(kxsCampGroup).orElseThrow(() -> new GlobalCustomerException(excel.getGroupId() + "小组编号不存在,请重新上传!"));
|
|
|
|
|
|
if (Objects.isNull(user)) {
|
|
|
errorMsg.add(excel.getUserCode() + "创客未找到!");
|
|
|
@@ -150,17 +160,25 @@ public class KxsCampServiceImpl extends ServiceImpl<KxsCampMapper, KxsCamp> impl
|
|
|
errorMessageList.add(new ErrorMessage(excel.getLineNum(), errorMsg));
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ this.refreshCampUsers();
|
|
|
+ if (CollUtil.isNotEmpty(errorMessageList)) {
|
|
|
+ return R.failed(JSON.toJSONString(errorMessageList));
|
|
|
+ }
|
|
|
+ return R.ok();
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 刷新营地用户
|
|
|
+ */
|
|
|
+ private void refreshCampUsers(){
|
|
|
//刷新参与人数
|
|
|
List<KxsCamp> kxsCamps = baseMapper.selectList(Wrappers.<KxsCamp>lambdaQuery().lt(KxsCamp::getStatus, CampStatusEnum.STATUS_END.getType()));
|
|
|
for (KxsCamp kxsCamp : kxsCamps) {
|
|
|
long count = kxsCampUserService.count(Wrappers.<KxsCampUser>lambdaQuery().eq(KxsCampUser::getCampId, kxsCamp.getId()));
|
|
|
baseMapper.update(null, Wrappers.<KxsCamp>lambdaUpdate().set(KxsCamp::getUserNum, count).eq(KxsCamp::getId, kxsCamp.getId()));
|
|
|
}
|
|
|
- if (CollUtil.isNotEmpty(errorMessageList)) {
|
|
|
- return R.failed(JSON.toJSONString(errorMessageList));
|
|
|
- }
|
|
|
-
|
|
|
- return R.ok();
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@@ -345,11 +363,20 @@ public class KxsCampServiceImpl extends ServiceImpl<KxsCampMapper, KxsCamp> impl
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public IPage<KxsCamp> getBySysPage(Page<KxsCamp> page, KxsCamp param) {
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public Boolean removeByCampUserIds(List<Integer> ids) {
|
|
|
+
|
|
|
+ kxsCampUserService.removeByIds(ids);
|
|
|
+
|
|
|
+ refreshCampUsers();
|
|
|
+
|
|
|
+ return Boolean.TRUE;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public IPage<KxsCamp> getBySysPage(Page<SysCampPageVO> page, KxsCamp param) {
|
|
|
|
|
|
- return this.page(page, Wrappers.<KxsCamp>lambdaQuery()
|
|
|
- .eq(StrUtil.isNotEmpty(param.getCreateCode()), KxsCamp::getCreateCode, param.getCreateCode())
|
|
|
- .orderByDesc(KxsCamp::getId));
|
|
|
+ return baseMapper.getBySysPage(page, param);
|
|
|
}
|
|
|
|
|
|
|