mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/per-boe/java-servers.git
synced 2025-12-13 21:06:48 +08:00
培一个批量报名的接口
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
package com.xboe.school.study.api;
|
package com.xboe.school.study.api;
|
||||||
|
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@@ -17,9 +18,12 @@ import org.springframework.web.bind.annotation.RestController;
|
|||||||
import com.xboe.common.OrderCondition;
|
import com.xboe.common.OrderCondition;
|
||||||
import com.xboe.common.PageList;
|
import com.xboe.common.PageList;
|
||||||
import com.xboe.common.Pagination;
|
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.CurrentUser;
|
||||||
import com.xboe.core.JsonResponse;
|
import com.xboe.core.JsonResponse;
|
||||||
import com.xboe.core.api.ApiBaseController;
|
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.entity.StudySignup;
|
||||||
import com.xboe.school.study.service.IStudySignupService;
|
import com.xboe.school.study.service.IStudySignupService;
|
||||||
|
|
||||||
@@ -96,8 +100,75 @@ public class StudySignupApi extends ApiBaseController{
|
|||||||
signup.setSignTime(LocalDateTime.now());
|
signup.setSignTime(LocalDateTime.now());
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|
||||||
|
StudySignup has=signupService.getByCidAndAid(signup.getCourseId(), signup.getAid());
|
||||||
|
if(has!=null) {
|
||||||
|
return success(has);
|
||||||
|
}else {
|
||||||
signupService.selfSignup(signup);
|
signupService.selfSignup(signup);
|
||||||
return success(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) {
|
}catch(Exception e) {
|
||||||
log.error("报名处理失败",e);
|
log.error("报名处理失败",e);
|
||||||
return error("报名失败,请与管理员联系",e.getMessage());
|
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
|
@Transient
|
||||||
private String studyId;
|
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.OrderCondition;
|
||||||
import com.xboe.common.PageList;
|
import com.xboe.common.PageList;
|
||||||
|
import com.xboe.common.beans.KeyValue;
|
||||||
import com.xboe.school.study.entity.StudySignup;
|
import com.xboe.school.study.entity.StudySignup;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -25,6 +26,14 @@ public interface IStudySignupService {
|
|||||||
*/
|
*/
|
||||||
StudySignup getByCidAndAid(String cid,String aid);
|
StudySignup getByCidAndAid(String cid,String aid);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据课程的用户查询
|
||||||
|
* @param cid
|
||||||
|
* @param aid
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<KeyValue> findByCourseAndUsers(String cid,List<String> aids);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 统计报名人数及未通过人数
|
* 统计报名人数及未通过人数
|
||||||
* @param courseId
|
* @param courseId
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ import org.springframework.stereotype.Service;
|
|||||||
|
|
||||||
import com.xboe.common.OrderCondition;
|
import com.xboe.common.OrderCondition;
|
||||||
import com.xboe.common.PageList;
|
import com.xboe.common.PageList;
|
||||||
|
import com.xboe.common.beans.KeyValue;
|
||||||
import com.xboe.core.orm.FieldFilters;
|
import com.xboe.core.orm.FieldFilters;
|
||||||
import com.xboe.core.orm.FieldUpdateType;
|
import com.xboe.core.orm.FieldUpdateType;
|
||||||
import com.xboe.core.orm.QueryBuilder;
|
import com.xboe.core.orm.QueryBuilder;
|
||||||
@@ -85,7 +86,7 @@ public class StudySignupServiceImpl implements IStudySignupService{
|
|||||||
LocalDateTime now=LocalDateTime.now();
|
LocalDateTime now=LocalDateTime.now();
|
||||||
|
|
||||||
StudyCourse sc=new StudyCourse();
|
StudyCourse sc=new StudyCourse();
|
||||||
sc.setAddTime(LocalDateTime.now());
|
sc.setAddTime(now);
|
||||||
sc.setAid(signup.getAid());
|
sc.setAid(signup.getAid());
|
||||||
sc.setAname(signup.getName());
|
sc.setAname(signup.getName());
|
||||||
sc.setCourseId(signup.getCourseId());
|
sc.setCourseId(signup.getCourseId());
|
||||||
@@ -100,6 +101,7 @@ public class StudySignupServiceImpl implements IStudySignupService{
|
|||||||
sc.setLastTime(sc.getAddTime());
|
sc.setLastTime(sc.getAddTime());
|
||||||
sc.setTotalDuration(0);
|
sc.setTotalDuration(0);
|
||||||
studyCourseDao.save(sc);
|
studyCourseDao.save(sc);
|
||||||
|
//courseDao.updateMultiFieldById(signup.getCourseId(),UpdateBuilder.create("studys", "studys+1",FieldUpdateType.EXPRESSION));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -108,7 +110,6 @@ public class StudySignupServiceImpl implements IStudySignupService{
|
|||||||
for(StudySignup ss : list) {
|
for(StudySignup ss : list) {
|
||||||
addSignup(ss);
|
addSignup(ss);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -200,4 +201,10 @@ public class StudySignupServiceImpl implements IStudySignupService{
|
|||||||
return rs;
|
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