|
@@ -132,51 +132,10 @@ public class FsCourseCheckinActivityServiceImpl implements IFsCourseCheckinActiv
|
|
|
@Transactional
|
|
@Transactional
|
|
|
public int insertFsCourseCheckinActivity(FsCourseCheckinActivity fsCourseCheckinActivity) {
|
|
public int insertFsCourseCheckinActivity(FsCourseCheckinActivity fsCourseCheckinActivity) {
|
|
|
fsCourseCheckinActivity.setCreateTime(DateUtils.getNowDate());
|
|
fsCourseCheckinActivity.setCreateTime(DateUtils.getNowDate());
|
|
|
- // 根据时间范围计算打卡天数
|
|
|
|
|
- if (fsCourseCheckinActivity.getStartTime() != null && fsCourseCheckinActivity.getEndTime() != null) {
|
|
|
|
|
- int checkinDays = calculateCheckinDays(fsCourseCheckinActivity.getStartTime(), fsCourseCheckinActivity.getEndTime());
|
|
|
|
|
- fsCourseCheckinActivity.setCheckinDays(checkinDays);
|
|
|
|
|
- }
|
|
|
|
|
-// // 根据时间自动设置状态
|
|
|
|
|
-// Date now = new Date();
|
|
|
|
|
-// if (fsCourseCheckinActivity.getStartTime().after(now)) {
|
|
|
|
|
-// fsCourseCheckinActivity.setStatus(0); // 未开始
|
|
|
|
|
-// } else if (fsCourseCheckinActivity.getEndTime().before(now)) {
|
|
|
|
|
-// fsCourseCheckinActivity.setStatus(2); // 已结束
|
|
|
|
|
-// } else {
|
|
|
|
|
-// fsCourseCheckinActivity.setStatus(1); // 进行中
|
|
|
|
|
-// }
|
|
|
|
|
|
|
+ // 打卡天数由前端传入,不再自动计算
|
|
|
return fsCourseCheckinActivityMapper.insertFsCourseCheckinActivity(fsCourseCheckinActivity);
|
|
return fsCourseCheckinActivityMapper.insertFsCourseCheckinActivity(fsCourseCheckinActivity);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- /**
|
|
|
|
|
- * 计算打卡天数(根据时间范围)
|
|
|
|
|
- * 从开始日期到结束日期的天数(包含开始和结束日期)
|
|
|
|
|
- */
|
|
|
|
|
- private int calculateCheckinDays(Date startTime, Date endTime) {
|
|
|
|
|
- Calendar startCal = Calendar.getInstance();
|
|
|
|
|
- startCal.setTime(startTime);
|
|
|
|
|
- // 设置为当天的开始时间(00:00:00)
|
|
|
|
|
- startCal.set(Calendar.HOUR_OF_DAY, 0);
|
|
|
|
|
- startCal.set(Calendar.MINUTE, 0);
|
|
|
|
|
- startCal.set(Calendar.SECOND, 0);
|
|
|
|
|
- startCal.set(Calendar.MILLISECOND, 0);
|
|
|
|
|
-
|
|
|
|
|
- Calendar endCal = Calendar.getInstance();
|
|
|
|
|
- endCal.setTime(endTime);
|
|
|
|
|
- // 设置为当天的开始时间(00:00:00)
|
|
|
|
|
- endCal.set(Calendar.HOUR_OF_DAY, 0);
|
|
|
|
|
- endCal.set(Calendar.MINUTE, 0);
|
|
|
|
|
- endCal.set(Calendar.SECOND, 0);
|
|
|
|
|
- endCal.set(Calendar.MILLISECOND, 0);
|
|
|
|
|
-
|
|
|
|
|
- // 计算天数差
|
|
|
|
|
- long diffMillis = endCal.getTimeInMillis() - startCal.getTimeInMillis();
|
|
|
|
|
- int days = (int) (diffMillis / (1000 * 60 * 60 * 24)) + 1; // +1 包含开始和结束日期
|
|
|
|
|
-
|
|
|
|
|
- return Math.max(days, 1); // 至少1天
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
/**
|
|
/**
|
|
|
* 自动设置奖品名称
|
|
* 自动设置奖品名称
|
|
|
* 红包类型:红包
|
|
* 红包类型:红包
|
|
@@ -297,11 +256,7 @@ public class FsCourseCheckinActivityServiceImpl implements IFsCourseCheckinActiv
|
|
|
@Transactional
|
|
@Transactional
|
|
|
public int updateFsCourseCheckinActivity(FsCourseCheckinActivity fsCourseCheckinActivity) {
|
|
public int updateFsCourseCheckinActivity(FsCourseCheckinActivity fsCourseCheckinActivity) {
|
|
|
fsCourseCheckinActivity.setUpdateTime(DateUtils.getNowDate());
|
|
fsCourseCheckinActivity.setUpdateTime(DateUtils.getNowDate());
|
|
|
- // 根据时间范围重新计算打卡天数
|
|
|
|
|
- if (fsCourseCheckinActivity.getStartTime() != null && fsCourseCheckinActivity.getEndTime() != null) {
|
|
|
|
|
- int checkinDays = calculateCheckinDays(fsCourseCheckinActivity.getStartTime(), fsCourseCheckinActivity.getEndTime());
|
|
|
|
|
- fsCourseCheckinActivity.setCheckinDays(checkinDays);
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ // 打卡天数由前端传入,不再自动计算
|
|
|
return fsCourseCheckinActivityMapper.updateFsCourseCheckinActivity(fsCourseCheckinActivity);
|
|
return fsCourseCheckinActivityMapper.updateFsCourseCheckinActivity(fsCourseCheckinActivity);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -503,15 +458,12 @@ public class FsCourseCheckinActivityServiceImpl implements IFsCourseCheckinActiv
|
|
|
throw new RuntimeException("结束时间不能早于开始时间");
|
|
throw new RuntimeException("结束时间不能早于开始时间");
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- // 3. 计算打卡天数(根据时间范围自动计算)
|
|
|
|
|
- int checkinDays = calculateCheckinDays(startTime, endTime);
|
|
|
|
|
-
|
|
|
|
|
// 4. 创建新活动
|
|
// 4. 创建新活动
|
|
|
FsCourseCheckinActivity newActivity = new FsCourseCheckinActivity();
|
|
FsCourseCheckinActivity newActivity = new FsCourseCheckinActivity();
|
|
|
newActivity.setActivityName(sourceActivity.getActivityName() + "_复制");
|
|
newActivity.setActivityName(sourceActivity.getActivityName() + "_复制");
|
|
|
newActivity.setStartTime(startTime);
|
|
newActivity.setStartTime(startTime);
|
|
|
newActivity.setEndTime(endTime);
|
|
newActivity.setEndTime(endTime);
|
|
|
- newActivity.setCheckinDays(checkinDays); // 自动计算打卡天数
|
|
|
|
|
|
|
+ newActivity.setCheckinDays(sourceActivity.getCheckinDays()); // 复制源活动的打卡天数
|
|
|
newActivity.setCompanyIds(sourceActivity.getCompanyIds());
|
|
newActivity.setCompanyIds(sourceActivity.getCompanyIds());
|
|
|
newActivity.setProjectIds(sourceActivity.getProjectIds());
|
|
newActivity.setProjectIds(sourceActivity.getProjectIds());
|
|
|
newActivity.setNotifyTemplate(sourceActivity.getNotifyTemplate());
|
|
newActivity.setNotifyTemplate(sourceActivity.getNotifyTemplate());
|