活动子系统service和repository初始添加

This commit is contained in:
chuyan 2020-02-17 18:08:13 +08:00 committed by yourtree
parent 77113fcdc0
commit eb66a86df7
9 changed files with 177 additions and 6 deletions

View File

@ -17,12 +17,13 @@ public class Activity {
private int id; private int id;
//活动标题 //活动标题
@Column(name = "title", nullable = false, unique = true) @Column(name = "title", nullable = false)
private String title; private String title;
//创建人 //创建人
@Column(name = "creator", nullable = false) @OneToOne(cascade = CascadeType.ALL)
private String creator; @JoinColumn(nullable = false)
private User creator;
//活动类型 //活动类型
@Column(nullable = false) @Column(nullable = false)
@ -137,7 +138,7 @@ public class Activity {
@Column(name = "remind_time", nullable = true) @Column(name = "remind_time", nullable = true)
private Date remindTime; private Date remindTime;
//附件组 //附件组(名字)
@ElementCollection(targetClass = java.lang.String.class) @ElementCollection(targetClass = java.lang.String.class)
private List<String> enclosures; private List<String> enclosures;

View File

@ -17,7 +17,7 @@ public class Attendance {
//二维码url //二维码url
@Column(name = "qr_code", nullable = false, unique = true) @Column(name = "qr_code", nullable = false, unique = true)
private String qrCode; private String QRCode;
//是否在线 //是否在线
@Column(name = "is_online", nullable = false) @Column(name = "is_online", nullable = false)

View File

@ -26,7 +26,7 @@ public class UserActivity {
private List<Activity> manageActivities; private List<Activity> manageActivities;
//次要负责的活动 //次要负责的活动
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY) @ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
private List<Activity> assistActivities; private List<Activity> assistActivities;
//可见的活动 //可见的活动

View File

@ -0,0 +1,16 @@
package com.codesdream.ase.repository;
import com.codesdream.ase.model.activity.Activity;
import org.springframework.data.repository.CrudRepository;
import org.springframework.stereotype.Repository;
import java.util.Optional;
@Repository
public interface ActivityRepository extends CrudRepository<Activity, Integer> {
Optional<Activity> findByTitle(String Title);
Optional<Activity> findByCreator(String creatorName);
}

View File

@ -0,0 +1,14 @@
package com.codesdream.ase.repository;
import com.codesdream.ase.model.activity.Report;
import org.springframework.data.repository.CrudRepository;
import org.springframework.stereotype.Repository;
import java.util.Optional;
@Repository
public interface ReportRepository extends CrudRepository<Report, Integer> {
Optional<Report> findByTitle(String reportTitle);
Optional<Report> findByCreator(String creatorName);
}

View File

@ -0,0 +1,49 @@
package com.codesdream.ase.service;
import com.codesdream.ase.model.activity.Activity;
import com.codesdream.ase.model.activity.Report;
import com.codesdream.ase.repository.ActivityRepository;
import org.springframework.stereotype.Service;
import java.util.Optional;
@Service
public class ActivityService implements IActivityService {
ActivityRepository activityRepository;
@Override
public Optional<Activity> findActivityByTitle(String title) {
return activityRepository.findByTitle(title);
}
@Override
public Optional<Activity> findActivityByCreator(String creatorName) {
return activityRepository.findByCreator(creatorName);
}
@Override
public Activity save(Activity activity) {
activityRepository.save(activity);
return activity;
}
@Override
public Activity addReport(Activity activity, Report report) {
activity.setReport(report);
update(activity);
return activity;
}
@Override
public void delete(Activity activity) {
activityRepository.delete(activity);
}
@Override
public Activity update(Activity activity) {
activityRepository.save(activity);
return activity;
}
}

View File

@ -0,0 +1,27 @@
package com.codesdream.ase.service;
import com.codesdream.ase.model.activity.Activity;
import com.codesdream.ase.model.activity.Report;
import java.util.Optional;
public interface IActivityService {
//通过标题查找活动
Optional<Activity> findActivityByTitle(String title);
//通过创建人姓名查找活动
Optional<Activity> findActivityByCreator(String creatorName);
//活动持久化
Activity save(Activity activity);
//添加活动报告
Activity addReport(Activity activity, Report report);
//活动删除
void delete(Activity activity);
//活动信息更新
Activity update(Activity activity);
}

View File

@ -0,0 +1,19 @@
package com.codesdream.ase.service;
import com.codesdream.ase.model.activity.Activity;
import com.codesdream.ase.model.activity.Report;
import java.util.Optional;
public interface IReportService {
Optional<Report> findByTitle(String title);
Optional<Report> findByCreator(String creatorName);
Report save(Activity activity, Report report);
void delete(Report report);
Report update (Report report);
}

View File

@ -0,0 +1,45 @@
package com.codesdream.ase.service;
import com.codesdream.ase.model.activity.Activity;
import com.codesdream.ase.model.activity.Report;
import com.codesdream.ase.repository.ReportRepository;
import java.util.Optional;
public class ReportService implements IReportService {
ReportRepository reportRepository;
ActivityService activityService;
@Override
public Optional<Report> findByTitle(String title) {
return reportRepository.findByTitle(title);
}
@Override
public Optional<Report> findByCreator(String creatorName) {
return reportRepository.findByCreator(creatorName);
}
@Override
public Report save(Activity activity, Report report) {
if(activity == null){
throw new RuntimeException("Activity does not exist.");
}
activityService.addReport(activity, report);
reportRepository.save(report);
return report;
}
@Override
public void delete(Report report) {
if(reportRepository.findById(report.getId()).isPresent()) reportRepository.delete(report);
else throw new RuntimeException("Report does not exist.");
}
@Override
public Report update(Report report) {
reportRepository.save(report);
return report;
}
}