|
@@ -3,11 +3,29 @@ package com.qmth.distributed.print.business.service.impl;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.qmth.distributed.print.business.bean.params.BasicStudentParams;
|
|
|
+import com.qmth.distributed.print.business.bean.result.BasicStudentResult;
|
|
|
import com.qmth.distributed.print.business.entity.BasicStudent;
|
|
|
import com.qmth.distributed.print.business.mapper.BasicStudentMapper;
|
|
|
+import com.qmth.distributed.print.business.service.BasicCampusService;
|
|
|
import com.qmth.distributed.print.business.service.BasicStudentService;
|
|
|
+import com.qmth.teachcloud.common.contant.SystemConstant;
|
|
|
+import com.qmth.teachcloud.common.entity.SysUser;
|
|
|
+import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
|
|
|
+import com.qmth.teachcloud.common.service.TeachcloudCommonService;
|
|
|
+import com.qmth.teachcloud.common.util.ServletUtil;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
+
|
|
|
+import javax.annotation.Resource;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Objects;
|
|
|
+import java.util.Set;
|
|
|
|
|
|
import java.lang.reflect.Array;
|
|
|
import java.util.Arrays;
|
|
@@ -23,6 +41,20 @@ import java.util.List;
|
|
|
*/
|
|
|
@Service
|
|
|
public class BasicStudentServiceImpl extends ServiceImpl<BasicStudentMapper, BasicStudent> implements BasicStudentService {
|
|
|
+ @Resource
|
|
|
+ private BasicStudentMapper basicStudentMapper;
|
|
|
+ @Resource
|
|
|
+ private TeachcloudCommonService teachcloudCommonService;
|
|
|
+ @Resource
|
|
|
+ private BasicCampusService basicCampusService;
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public IPage<BasicStudentResult> basicStudentPage(String queryParams, int pageNumber, int pageSize) {
|
|
|
+ Long schoolId = SystemConstant.convertIdToLong(ServletUtil.getRequestHeaderSchoolId().toString());
|
|
|
+ Set<Long> orgIds = teachcloudCommonService.listSubOrgIds(null);
|
|
|
+ queryParams = SystemConstant.translateSpecificSign(queryParams);
|
|
|
+ return basicStudentMapper.findBasicStudentPage(new Page<>(pageNumber,pageSize),queryParams,schoolId,orgIds);
|
|
|
+ }
|
|
|
|
|
|
@Override
|
|
|
public IPage<BasicStudent> listPage(Page<BasicStudent> page, String classId) {
|
|
@@ -31,4 +63,69 @@ public class BasicStudentServiceImpl extends ServiceImpl<BasicStudentMapper, Bas
|
|
|
queryWrapper.lambda().in(BasicStudent::getClazz, classIds).orderByAsc(BasicStudent::getClazz, BasicStudent::getStudentCode);
|
|
|
return this.baseMapper.selectPage(page, queryWrapper);
|
|
|
}
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ @Override
|
|
|
+ public Long saveBasicStudent(BasicStudentParams basicStudentParams) {
|
|
|
+ // 权限参数
|
|
|
+ SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
|
|
|
+ Long schoolId = sysUser.getSchoolId();
|
|
|
+ Long id = basicStudentParams.getId();
|
|
|
+ // 普通参数
|
|
|
+ String studentName = basicStudentParams.getStudentName();
|
|
|
+ String studentCode = basicStudentParams.getStudentCode();
|
|
|
+ String phoneNumber = basicStudentParams.getPhoneNumber();
|
|
|
+ Long campusId = basicStudentParams.getCampusId();
|
|
|
+ if (Objects.isNull(basicCampusService.getById(campusId))){
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("所选校区不存在");
|
|
|
+ }
|
|
|
+ String clazz = basicStudentParams.getClazz();
|
|
|
+
|
|
|
+ // 检验学号在学校的唯一性
|
|
|
+ BasicStudent check = this.getOne(new QueryWrapper<BasicStudent>().lambda()
|
|
|
+ .eq(BasicStudent::getSchoolId,schoolId)
|
|
|
+ .eq(BasicStudent::getStudentCode,studentCode)
|
|
|
+ .eq(BasicStudent::getEnable,true));
|
|
|
+ if (Objects.nonNull(check)){
|
|
|
+ if (!check.getId().equals(id)){
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("学生编号【" + studentCode + "】重复");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 组装基础参数
|
|
|
+ BasicStudent basicStudent = new BasicStudent();
|
|
|
+ basicStudent.setStudentCode(studentCode);
|
|
|
+ basicStudent.setStudentName(studentName);
|
|
|
+ basicStudent.setPhoneNumber(phoneNumber);
|
|
|
+ basicStudent.setCampusId(campusId);
|
|
|
+ basicStudent.setClazz(clazz);
|
|
|
+ basicStudent.setOrgId(sysUser.getOrgId());
|
|
|
+ basicStudent.setSchoolId(schoolId);
|
|
|
+
|
|
|
+ // 保存
|
|
|
+ if (Objects.isNull(id)){
|
|
|
+ // id为空 -> 新增
|
|
|
+ // 获取分布式id
|
|
|
+ id = SystemConstant.getDbUuid();
|
|
|
+ basicStudent.setId(id);
|
|
|
+ basicStudent.setCreateId(sysUser.getId());
|
|
|
+ this.save(basicStudent);
|
|
|
+ }else {
|
|
|
+ // id不为空 -> 更新
|
|
|
+ basicStudent.setId(id);
|
|
|
+ basicStudent.setUpdateId(sysUser.getId());
|
|
|
+ this.updateById(basicStudent);
|
|
|
+ }
|
|
|
+ return id;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ @Override
|
|
|
+ public Boolean removeBasicStudentBatch(List<Long> idList) {
|
|
|
+ if (idList.size() == 0){
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("请选择要删除的目标");
|
|
|
+ }
|
|
|
+ UpdateWrapper<BasicStudent> updateWrapper = new UpdateWrapper<>();
|
|
|
+ updateWrapper.lambda().set(BasicStudent::getEnable,false).in(BasicStudent::getId,idList);
|
|
|
+ return this.update(updateWrapper);
|
|
|
+ }
|
|
|
}
|