|
@@ -1,12 +1,24 @@
|
|
|
package com.fs.course.service.impl;
|
|
|
|
|
|
-import java.util.List;
|
|
|
-import com.fs.common.utils.DateUtils;
|
|
|
-import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+
|
|
|
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.fs.common.BeanCopyUtils;
|
|
|
+import com.fs.common.exception.ServiceException;
|
|
|
+import com.fs.common.utils.bean.BeanUtils;
|
|
|
+import com.fs.course.domain.FsUserCoursePeriod;
|
|
|
+import com.fs.course.dto.FsUserCourseTrainingCampDTO;
|
|
|
+import com.fs.course.mapper.FsUserCoursePeriodMapper;
|
|
|
+import com.fs.course.vo.FsUserCourseTrainingCampVO;
|
|
|
+import lombok.AllArgsConstructor;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import com.fs.course.mapper.FsUserCourseTrainingCampMapper;
|
|
|
import com.fs.course.domain.FsUserCourseTrainingCamp;
|
|
|
import com.fs.course.service.IFsUserCourseTrainingCampService;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
+
|
|
|
+import javax.annotation.Resource;
|
|
|
+import java.time.LocalDateTime;
|
|
|
+import java.util.*;
|
|
|
|
|
|
/**
|
|
|
* 会员训练营Service业务层处理
|
|
@@ -15,81 +27,76 @@ import com.fs.course.service.IFsUserCourseTrainingCampService;
|
|
|
* @date 2025-04-15
|
|
|
*/
|
|
|
@Service
|
|
|
-public class FsUserCourseTrainingCampServiceImpl implements IFsUserCourseTrainingCampService
|
|
|
+@AllArgsConstructor
|
|
|
+public class FsUserCourseTrainingCampServiceImpl extends ServiceImpl<FsUserCourseTrainingCampMapper, FsUserCourseTrainingCamp> implements IFsUserCourseTrainingCampService
|
|
|
{
|
|
|
- @Autowired
|
|
|
- private FsUserCourseTrainingCampMapper fsUserCourseTrainingCampMapper;
|
|
|
|
|
|
- /**
|
|
|
- * 查询会员训练营
|
|
|
- *
|
|
|
- * @param trainingCampId 会员训练营ID
|
|
|
- * @return 会员训练营
|
|
|
- */
|
|
|
- @Override
|
|
|
- public FsUserCourseTrainingCamp selectFsUserCourseTrainingCampById(Long trainingCampId)
|
|
|
- {
|
|
|
- return fsUserCourseTrainingCampMapper.selectFsUserCourseTrainingCampById(trainingCampId);
|
|
|
- }
|
|
|
+ private final FsUserCoursePeriodMapper fsUserCoursePeriodMapper;
|
|
|
|
|
|
/**
|
|
|
- * 查询会员训练营列表
|
|
|
- *
|
|
|
- * @param fsUserCourseTrainingCamp 会员训练营
|
|
|
- * @return 会员训练营
|
|
|
+ * 查询训练营列表
|
|
|
+ * @param params 参数
|
|
|
+ * @return list
|
|
|
*/
|
|
|
@Override
|
|
|
- public List<FsUserCourseTrainingCamp> selectFsUserCourseTrainingCampList(FsUserCourseTrainingCamp fsUserCourseTrainingCamp)
|
|
|
- {
|
|
|
- return fsUserCourseTrainingCampMapper.selectFsUserCourseTrainingCampList(fsUserCourseTrainingCamp);
|
|
|
- }
|
|
|
+ public List<FsUserCourseTrainingCampVO> selectFsUserCourseTrainingCampVOListByMap(Map<String, Object> params) {
|
|
|
+ List<FsUserCourseTrainingCampVO> voList = baseMapper.selectFsUserCourseTrainingCampVOListByMap(params);
|
|
|
|
|
|
- /**
|
|
|
- * 新增会员训练营
|
|
|
- *
|
|
|
- * @param fsUserCourseTrainingCamp 会员训练营
|
|
|
- * @return 结果
|
|
|
- */
|
|
|
- @Override
|
|
|
- public int insertFsUserCourseTrainingCamp(FsUserCourseTrainingCamp fsUserCourseTrainingCamp)
|
|
|
- {
|
|
|
- fsUserCourseTrainingCamp.setCreateTime(DateUtils.getNowDate());
|
|
|
- return fsUserCourseTrainingCampMapper.insertFsUserCourseTrainingCamp(fsUserCourseTrainingCamp);
|
|
|
+ // TODO: 会员数处理
|
|
|
+ voList.forEach(v -> v.setVipCount(0));
|
|
|
+ return voList;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 修改会员训练营
|
|
|
- *
|
|
|
- * @param fsUserCourseTrainingCamp 会员训练营
|
|
|
- * @return 结果
|
|
|
+ * 新增训练营
|
|
|
+ * @param params 参数
|
|
|
*/
|
|
|
@Override
|
|
|
- public int updateFsUserCourseTrainingCamp(FsUserCourseTrainingCamp fsUserCourseTrainingCamp)
|
|
|
- {
|
|
|
- return fsUserCourseTrainingCampMapper.updateFsUserCourseTrainingCamp(fsUserCourseTrainingCamp);
|
|
|
+ public void add(FsUserCourseTrainingCampDTO params) {
|
|
|
+ FsUserCourseTrainingCamp trainingCamp = new FsUserCourseTrainingCamp();
|
|
|
+ trainingCamp.setTrainingCampName(params.getTrainingCampName());
|
|
|
+ trainingCamp.setOrderNumber(baseMapper.getOrderNumber());
|
|
|
+ trainingCamp.setCreateTime(LocalDateTime.now());
|
|
|
+ baseMapper.insert(trainingCamp);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 批量删除会员训练营
|
|
|
- *
|
|
|
- * @param trainingCampIds 需要删除的会员训练营ID
|
|
|
- * @return 结果
|
|
|
+ * 删除训练营
|
|
|
+ * @param ids ids
|
|
|
*/
|
|
|
@Override
|
|
|
- public int deleteFsUserCourseTrainingCampByIds(Long[] trainingCampIds)
|
|
|
- {
|
|
|
- return fsUserCourseTrainingCampMapper.deleteFsUserCourseTrainingCampByIds(trainingCampIds);
|
|
|
+ public void del(Long[] ids) {
|
|
|
+ baseMapper.deleteBatchIds(Arrays.asList(ids));
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 删除会员训练营信息
|
|
|
- *
|
|
|
- * @param trainingCampId 会员训练营ID
|
|
|
- * @return 结果
|
|
|
+ * 复制训练营
|
|
|
+ * @param id id
|
|
|
*/
|
|
|
@Override
|
|
|
- public int deleteFsUserCourseTrainingCampById(Long trainingCampId)
|
|
|
- {
|
|
|
- return fsUserCourseTrainingCampMapper.deleteFsUserCourseTrainingCampById(trainingCampId);
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public void copy(Long id) {
|
|
|
+ FsUserCourseTrainingCamp fsUserCourseTrainingCamp = baseMapper.selectById(id);
|
|
|
+ if (Objects.isNull(fsUserCourseTrainingCamp)) {
|
|
|
+ throw new ServiceException("训练营不存在");
|
|
|
+ }
|
|
|
+
|
|
|
+ // 复制训练营
|
|
|
+ FsUserCourseTrainingCamp trainingCamp = new FsUserCourseTrainingCamp();
|
|
|
+ trainingCamp.setTrainingCampName(fsUserCourseTrainingCamp.getTrainingCampName() + " - 副本");
|
|
|
+ trainingCamp.setOrderNumber(baseMapper.getOrderNumber());
|
|
|
+ trainingCamp.setCreateTime(LocalDateTime.now());
|
|
|
+ baseMapper.insert(trainingCamp);
|
|
|
+
|
|
|
+ // 复制营期
|
|
|
+ List<FsUserCoursePeriod> fsUserCoursePeriods = fsUserCoursePeriodMapper.selectFsUserCoursePeriodListByTrainingCampId(id);
|
|
|
+ if (!fsUserCoursePeriods.isEmpty()) {
|
|
|
+ fsUserCoursePeriods.stream().map(p -> {
|
|
|
+ FsUserCoursePeriod copy = new FsUserCoursePeriod();
|
|
|
+ BeanUtils.copyProperties(p, copy, "periodId");
|
|
|
+ copy.setTrainingCampId(trainingCamp.getTrainingCampId());
|
|
|
+ return copy;
|
|
|
+ }).forEach(fsUserCoursePeriodMapper::insertFsUserCoursePeriod);
|
|
|
+ }
|
|
|
}
|
|
|
}
|