SAMS/src/main/java/com/bruce/sams/service/impl/ActivityServiceImpl.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);
}
}