73 lines
1.9 KiB
Java
73 lines
1.9 KiB
Java
package com.bruce.sams.service.impl;
|
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.bruce.sams.domain.ams.Activity;
|
|
import com.bruce.sams.service.ActivityService;
|
|
import com.bruce.sams.mapper.ActivityMapper;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
/**
|
|
* 活动管理服务实现类
|
|
* 负责活动的创建、修改、取消,以及初始化审批流程
|
|
*/
|
|
@Service
|
|
public class ActivityServiceImpl extends ServiceImpl<ActivityMapper, Activity> implements ActivityService {
|
|
|
|
/**
|
|
* 创建活动
|
|
* @param activity 活动对象
|
|
*/
|
|
@Override
|
|
public void createActivity(Activity activity) {
|
|
// 初始化活动审批状态
|
|
switch (activity.getActivityType()) {
|
|
case CLUB_INTERNAL:
|
|
activity.setStatus("pending_club");
|
|
break;
|
|
case CLUB_EXTERNAL:
|
|
activity.setStatus("pending_club");
|
|
break;
|
|
case DEPARTMENT:
|
|
activity.setStatus("pending_department");
|
|
break;
|
|
case COLLEGE:
|
|
activity.setStatus("pending_college");
|
|
break;
|
|
default:
|
|
activity.setStatus("draft");
|
|
break;
|
|
}
|
|
this.save(activity);
|
|
}
|
|
|
|
/**
|
|
* 更新活动信息
|
|
* @param activity 活动对象
|
|
*/
|
|
@Override
|
|
public void updateActivity(Activity activity) {
|
|
this.updateById(activity);
|
|
}
|
|
|
|
/**
|
|
* 取消活动
|
|
* @param actId 活动ID
|
|
*/
|
|
@Override
|
|
public void cancelActivity(Long actId) {
|
|
Activity activity = this.getById(actId);
|
|
activity.setStatus("cancelled");
|
|
this.updateById(activity);
|
|
}
|
|
|
|
/**
|
|
* 获取活动详情
|
|
* @param actId 活动ID
|
|
* @return 活动对象
|
|
*/
|
|
@Override
|
|
public Activity getActivityById(Long actId) {
|
|
return this.getById(actId);
|
|
}
|
|
}
|