mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/per-boe/java-servers.git
synced 2025-12-09 19:06:49 +08:00
培一个批量报名的接口
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package com.xboe.school.study.api;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@@ -17,9 +18,12 @@ import org.springframework.web.bind.annotation.RestController;
|
||||
import com.xboe.common.OrderCondition;
|
||||
import com.xboe.common.PageList;
|
||||
import com.xboe.common.Pagination;
|
||||
import com.xboe.common.beans.IdName;
|
||||
import com.xboe.common.beans.KeyValue;
|
||||
import com.xboe.core.CurrentUser;
|
||||
import com.xboe.core.JsonResponse;
|
||||
import com.xboe.core.api.ApiBaseController;
|
||||
import com.xboe.school.study.dto.BatchSignup;
|
||||
import com.xboe.school.study.entity.StudySignup;
|
||||
import com.xboe.school.study.service.IStudySignupService;
|
||||
|
||||
@@ -96,8 +100,75 @@ public class StudySignupApi extends ApiBaseController{
|
||||
signup.setSignTime(LocalDateTime.now());
|
||||
|
||||
try {
|
||||
signupService.selfSignup(signup);
|
||||
return success(signup);
|
||||
|
||||
StudySignup has=signupService.getByCidAndAid(signup.getCourseId(), signup.getAid());
|
||||
if(has!=null) {
|
||||
return success(has);
|
||||
}else {
|
||||
signupService.selfSignup(signup);
|
||||
return success(signup);
|
||||
}
|
||||
}catch(Exception e) {
|
||||
log.error("报名处理失败",e);
|
||||
return error("报名失败,请与管理员联系",e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量添加学员
|
||||
* @param signup
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("/batch-add")
|
||||
public JsonResponse<Integer> BatchAdd(@RequestBody BatchSignup batch){
|
||||
if(StringUtils.isBlank(batch.getCourseId())){
|
||||
return error("无课程信息");
|
||||
}
|
||||
|
||||
if(StringUtils.isBlank(batch.getCourseName())){
|
||||
return error("无课程名称信息");
|
||||
}
|
||||
|
||||
if(batch.getUsers()==null || batch.getUsers().isEmpty()) {
|
||||
return error("无报名人员信息");
|
||||
}
|
||||
//如果没有,就直接设置为录播课
|
||||
if(batch.getCourseType()==null) {
|
||||
batch.setCourseType(20);
|
||||
}
|
||||
try {
|
||||
List<String> aids=new ArrayList<String>();
|
||||
for(IdName u : batch.getUsers()) {
|
||||
aids.add(u.getId());
|
||||
}
|
||||
|
||||
List<KeyValue> hasList=signupService.findByCourseAndUsers(batch.getCourseId(), aids);
|
||||
Map<String,String> hasMap=new HashMap<String,String>();
|
||||
for(KeyValue has : hasList) {
|
||||
hasMap.put((String)has.getValue(),has.getKey());
|
||||
}
|
||||
|
||||
List<StudySignup> list=new ArrayList<StudySignup>();
|
||||
int n=0;
|
||||
for(IdName u : batch.getUsers()) {
|
||||
//如果报名已经存在,就不再添加
|
||||
if(hasMap.containsKey(u.getId())) {
|
||||
continue;
|
||||
}
|
||||
StudySignup signup =new StudySignup();
|
||||
signup.setAid(u.getId());
|
||||
signup.setCourseId(batch.getCourseId());
|
||||
signup.setCourseName(batch.getCourseName());
|
||||
signup.setCourseType(batch.getCourseType());
|
||||
signup.setName(u.getName());
|
||||
signup.setSignTime(LocalDateTime.now());
|
||||
signup.setSignType(StudySignup.SIGNTYPE_ADD);
|
||||
signup.setSignInfo("");
|
||||
list.add(signup);
|
||||
n++;
|
||||
}
|
||||
signupService.addList(list);
|
||||
return success(n);
|
||||
}catch(Exception e) {
|
||||
log.error("报名处理失败",e);
|
||||
return error("报名失败,请与管理员联系",e.getMessage());
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
package com.xboe.school.study.dto;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.xboe.common.beans.IdName;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 批量报名
|
||||
* @author seastar
|
||||
*
|
||||
*/
|
||||
@Data
|
||||
public class BatchSignup {
|
||||
|
||||
/**
|
||||
* 课程id
|
||||
*/
|
||||
private String courseId;
|
||||
|
||||
/**
|
||||
* 课程名称
|
||||
*/
|
||||
private String courseName;
|
||||
|
||||
/**
|
||||
* 课程类型
|
||||
*/
|
||||
private Integer courseType;
|
||||
|
||||
/**
|
||||
* 报名说明
|
||||
*/
|
||||
private String signInfo;
|
||||
|
||||
/**
|
||||
* 报名人员
|
||||
*/
|
||||
private List<IdName> users;
|
||||
|
||||
|
||||
}
|
||||
@@ -122,5 +122,15 @@ public class StudySignup extends IdEntity {
|
||||
@Transient
|
||||
private String studyId;
|
||||
|
||||
public StudySignup() {
|
||||
|
||||
}
|
||||
|
||||
public StudySignup(String id,String courseId,String aid) {
|
||||
this.setId(id);
|
||||
this.courseId=courseId;
|
||||
this.aid=aid;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ import java.util.List;
|
||||
|
||||
import com.xboe.common.OrderCondition;
|
||||
import com.xboe.common.PageList;
|
||||
import com.xboe.common.beans.KeyValue;
|
||||
import com.xboe.school.study.entity.StudySignup;
|
||||
|
||||
/**
|
||||
@@ -25,6 +26,14 @@ public interface IStudySignupService {
|
||||
*/
|
||||
StudySignup getByCidAndAid(String cid,String aid);
|
||||
|
||||
/**
|
||||
* 根据课程的用户查询
|
||||
* @param cid
|
||||
* @param aid
|
||||
* @return
|
||||
*/
|
||||
List<KeyValue> findByCourseAndUsers(String cid,List<String> aids);
|
||||
|
||||
/**
|
||||
* 统计报名人数及未通过人数
|
||||
* @param courseId
|
||||
|
||||
@@ -11,6 +11,7 @@ import org.springframework.stereotype.Service;
|
||||
|
||||
import com.xboe.common.OrderCondition;
|
||||
import com.xboe.common.PageList;
|
||||
import com.xboe.common.beans.KeyValue;
|
||||
import com.xboe.core.orm.FieldFilters;
|
||||
import com.xboe.core.orm.FieldUpdateType;
|
||||
import com.xboe.core.orm.QueryBuilder;
|
||||
@@ -85,7 +86,7 @@ public class StudySignupServiceImpl implements IStudySignupService{
|
||||
LocalDateTime now=LocalDateTime.now();
|
||||
|
||||
StudyCourse sc=new StudyCourse();
|
||||
sc.setAddTime(LocalDateTime.now());
|
||||
sc.setAddTime(now);
|
||||
sc.setAid(signup.getAid());
|
||||
sc.setAname(signup.getName());
|
||||
sc.setCourseId(signup.getCourseId());
|
||||
@@ -100,6 +101,7 @@ public class StudySignupServiceImpl implements IStudySignupService{
|
||||
sc.setLastTime(sc.getAddTime());
|
||||
sc.setTotalDuration(0);
|
||||
studyCourseDao.save(sc);
|
||||
//courseDao.updateMultiFieldById(signup.getCourseId(),UpdateBuilder.create("studys", "studys+1",FieldUpdateType.EXPRESSION));
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -108,7 +110,6 @@ public class StudySignupServiceImpl implements IStudySignupService{
|
||||
for(StudySignup ss : list) {
|
||||
addSignup(ss);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -200,4 +201,10 @@ public class StudySignupServiceImpl implements IStudySignupService{
|
||||
return rs;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<KeyValue> findByCourseAndUsers(String cid,List<String> aids){
|
||||
|
||||
return signupDao.findKeyValueList("id","aid",FieldFilters.eq("courseId",cid),FieldFilters.in("aid",aids));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user