|
|
@@ -5,6 +5,7 @@ import com.ssj.bean.sys.imlibuser.TbClassTeacher;
|
|
|
import com.ssj.bean.sys.imlibuser.TbClassTeacherTemp;
|
|
|
import com.ssj.bean.weixin.libmy.domain.TbLibJoin;
|
|
|
import com.ssj.bean.weixin.libmy.domain.TbLibManager;
|
|
|
+import com.ssj.bean.weixin.libmy.domain.TbLibManagerAudit;
|
|
|
import com.ssj.bean.weixin.user.domain.User;
|
|
|
import com.ssj.dao.sys.imlibuser.dao.TbClassQueryDao;
|
|
|
import com.ssj.dao.sys.imlibuser.dao.TbClassTeacherTempDao;
|
|
|
@@ -17,6 +18,7 @@ import com.ssj.service.sys.imlibuser.service.TbClassTeacherService;
|
|
|
import com.ssj.service.sys.imlibuser.service.TbClassTeacherTempService;
|
|
|
import com.ssj.service.weixin.library.service.IBookManagerService;
|
|
|
import com.ssj.service.weixin.library.service.ILibJoinService;
|
|
|
+import com.ssj.service.weixin.library.service.LibManagerAuditService;
|
|
|
import com.ssj.service.weixin.user.service.UserService;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
@@ -58,6 +60,9 @@ public class TbClassTeacherTempServiceImpl extends BaseServiceImpl<TbClassTeache
|
|
|
|
|
|
@Autowired
|
|
|
private TbClassService tbClassService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private LibManagerAuditService auditService;
|
|
|
|
|
|
|
|
|
@Override
|
|
|
@@ -291,5 +296,314 @@ public class TbClassTeacherTempServiceImpl extends BaseServiceImpl<TbClassTeache
|
|
|
return dao.getTbLibImTeacherTempByLibId(libId, teacherId);
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public int insertBatchTbLibImPrincipal(List<TbClassTeacherTemp> tbLibImTeacherTemps) {
|
|
|
+ int successNum=0;
|
|
|
+ for (TbClassTeacherTemp tbLibImTeacherTemp : tbLibImTeacherTemps) {
|
|
|
+ try {
|
|
|
+ TbLibJoin tbLibJoin=null;
|
|
|
+ if(StringUtils.isNotEmpty(tbLibImTeacherTemp.getLibId())){
|
|
|
+ tbLibJoin=joinService.getById(tbLibImTeacherTemp.getLibId());
|
|
|
+ }else{
|
|
|
+ tbLibJoin=tbLibImStudentService.getTbLibJoinByLeagueName(tbLibImTeacherTemp.getLeagueName());
|
|
|
+ }
|
|
|
+ //无机构信息
|
|
|
+ if(tbLibJoin!=null){
|
|
|
+ successNum=successNum+this.insertTbLibImPrincipal(tbLibJoin, tbLibImTeacherTemp);
|
|
|
+ }else{
|
|
|
+ successNum=-1;
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return successNum;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public int insertTbLibImPrincipal(TbLibJoin libJoin ,TbClassTeacherTemp tbLibImTeacherTemp) {
|
|
|
+ if(libJoin!=null){
|
|
|
+ tbLibImTeacherTemp.setLibId(libJoin.getId());
|
|
|
+ tbLibImTeacherTemp.setLeagueName(libJoin.getLeagueName());
|
|
|
+ tbLibImTeacherTemp.setCreateTime(new Date());
|
|
|
+ tbLibImTeacherTemp.setStatus(1);
|
|
|
+
|
|
|
+ try {
|
|
|
+ User user=userService.findByMobile(tbLibImTeacherTemp.getTeacherPhone());
|
|
|
+ if(user==null){//无老师user,生成老师user
|
|
|
+ user=new User();
|
|
|
+ user.setId(IdWorker.generateId());
|
|
|
+ user.setUserName(tbLibImTeacherTemp.getTeacherName());
|
|
|
+ user.setMobile(tbLibImTeacherTemp.getTeacherPhone());
|
|
|
+ user.setCreateTime(new Date());
|
|
|
+ user=userService.save(user);
|
|
|
+ }
|
|
|
+ //如果之前有这个老师的,就统一使用用旧老师的名称,如果没有就使用新的名称。
|
|
|
+ TbLibManager tbLibManager=managerService.findAllByUserIdAndTypeAndState(user.getId(),Constant.CURATOR,1);
|
|
|
+ if(tbLibManager==null){//有老师user,生成type=2的老师
|
|
|
+ tbLibManager=new TbLibManager();
|
|
|
+ tbLibManager.setUserId(user.getId());
|
|
|
+ tbLibManager.setType(Constant.CURATOR);
|
|
|
+ tbLibManager.setCreateTime(new Date());
|
|
|
+ tbLibManager.setName(tbLibImTeacherTemp.getTeacherName());
|
|
|
+ tbLibManager.setTelephone(tbLibImTeacherTemp.getTeacherPhone());
|
|
|
+ tbLibManager.setLibId(tbLibImTeacherTemp.getLibId());
|
|
|
+ if(tbLibImTeacherTemp.getIsCorrect()!=null && tbLibImTeacherTemp.getIsCorrect()==1) {
|
|
|
+ tbLibManager.setIsCorrect(1);
|
|
|
+ }else {
|
|
|
+ tbLibManager.setIsCorrect(0);
|
|
|
+ }
|
|
|
+ tbLibManager.setState(1);
|
|
|
+ tbLibManager=managerService.save(tbLibManager);
|
|
|
+ }else {
|
|
|
+ tbLibImTeacherTemp.setTeacherId(user.getId());
|
|
|
+ tbLibImTeacherTemp.setStatus(0);
|
|
|
+ tbLibImTeacherTemp.setErrorReason("与平台已有老师信息冲突");
|
|
|
+ this.save(tbLibImTeacherTemp);
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ TbLibManagerAudit audit = new TbLibManagerAudit();
|
|
|
+ audit.setStatus(1);
|
|
|
+ audit.setTelephone(tbLibManager.getTelephone());
|
|
|
+ audit.setLibManagerId(tbLibManager.getId());
|
|
|
+ audit.setLibId(tbLibManager.getLibId());
|
|
|
+ audit.setType(tbLibManager.getType());
|
|
|
+ audit.setCreateTime(new Date());
|
|
|
+ audit.setLastUpdateTime(new Date());
|
|
|
+ audit.setUserId(tbLibManager.getUserId());
|
|
|
+ audit.setName(tbLibManager.getName());
|
|
|
+ auditService.save(audit);
|
|
|
+
|
|
|
+ TbLibJoin tbLibJoin=joinService.getById(tbLibManager.getLibId());
|
|
|
+ if(tbLibJoin!=null && tbLibJoin.getLibtype()!=4) {
|
|
|
+ tbLibJoin.setLibtype(4);
|
|
|
+ joinService.save(tbLibJoin);
|
|
|
+ }
|
|
|
+
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }finally{
|
|
|
+ }
|
|
|
+ return 1;
|
|
|
+ }
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public int insertBatchTbLibImLeader(List<TbClassTeacherTemp> tbLibImTeacherTemps) {
|
|
|
+ int successNum=0;
|
|
|
+ for (TbClassTeacherTemp tbLibImTeacherTemp : tbLibImTeacherTemps) {
|
|
|
+ try {
|
|
|
+ TbLibJoin tbLibJoin=null;
|
|
|
+ if(StringUtils.isNotEmpty(tbLibImTeacherTemp.getLibId())){
|
|
|
+ tbLibJoin=joinService.getById(tbLibImTeacherTemp.getLibId());
|
|
|
+ }else{
|
|
|
+ tbLibJoin=tbLibImStudentService.getTbLibJoinByLeagueName(tbLibImTeacherTemp.getLeagueName());
|
|
|
+ }
|
|
|
+ //无机构信息
|
|
|
+ if(tbLibJoin!=null){
|
|
|
+ successNum=successNum+this.insertTbLibImLeader(tbLibJoin, tbLibImTeacherTemp);
|
|
|
+ }else{
|
|
|
+ successNum=-1;
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return successNum;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public int insertTbLibImLeader(TbLibJoin libJoin, TbClassTeacherTemp tbLibImTeacherTemp) {
|
|
|
+ if(libJoin!=null){
|
|
|
+ tbLibImTeacherTemp.setLibId(libJoin.getId());
|
|
|
+ tbLibImTeacherTemp.setLeagueName(libJoin.getLeagueName());
|
|
|
+ tbLibImTeacherTemp.setCreateTime(new Date());
|
|
|
+ tbLibImTeacherTemp.setStatus(1);
|
|
|
+
|
|
|
+ try {
|
|
|
+
|
|
|
+ if(StringUtils.isNotEmpty(tbLibImTeacherTemp.getSubject())) {
|
|
|
+ String subject=tbLibImTeacherTemp.getSubject();
|
|
|
+ if(StringUtils.isNotEmpty(subject.replaceAll("语文", "").replaceAll("数学", "").replaceAll("英语", "").replaceAll(",", ""))) {
|
|
|
+ tbLibImTeacherTemp.setStatus(0);
|
|
|
+ tbLibImTeacherTemp.setErrorReason("填写科目不正确,科目只能包含语文,数学,英语与英文逗号分隔");
|
|
|
+ this.save(tbLibImTeacherTemp);
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+ int contain=containSubject(subject);
|
|
|
+ if(contain<=0) {
|
|
|
+ tbLibImTeacherTemp.setStatus(0);
|
|
|
+ tbLibImTeacherTemp.setErrorReason("填写科目不正确,科目只能包含语文,数学,英语");
|
|
|
+ this.save(tbLibImTeacherTemp);
|
|
|
+ return 0;
|
|
|
+ }else {
|
|
|
+ if(contain>=2 && !subject.contains(",")) {
|
|
|
+ tbLibImTeacherTemp.setStatus(0);
|
|
|
+ tbLibImTeacherTemp.setErrorReason("多个科目间隔使用英语逗号分隔','");
|
|
|
+ this.save(tbLibImTeacherTemp);
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ User user=userService.findByMobile(tbLibImTeacherTemp.getTeacherPhone());
|
|
|
+ if(user==null){//无老师user,生成老师user
|
|
|
+ user=new User();
|
|
|
+ user.setId(IdWorker.generateId());
|
|
|
+ user.setUserName(tbLibImTeacherTemp.getTeacherName());
|
|
|
+ user.setMobile(tbLibImTeacherTemp.getTeacherPhone());
|
|
|
+ user.setCreateTime(new Date());
|
|
|
+ user=userService.save(user);
|
|
|
+ }
|
|
|
+ //如果之前有这个老师的,就统一使用用旧老师的名称,如果没有就使用新的名称。
|
|
|
+ TbLibManager tbLibManager=managerService.findAllByUserIdAndTypeAndState(user.getId(),Constant.LEADER,1);
|
|
|
+ if(tbLibManager==null){//有老师user,生成type=2的老师
|
|
|
+ tbLibManager=new TbLibManager();
|
|
|
+ tbLibManager.setUserId(user.getId());
|
|
|
+ tbLibManager.setType(Constant.LEADER);
|
|
|
+ tbLibManager.setGrade(tbLibImTeacherTemp.getGrade());
|
|
|
+ tbLibManager.setCourseName(tbLibImTeacherTemp.getSubject());
|
|
|
+ tbLibManager.setCreateTime(new Date());
|
|
|
+ tbLibManager.setName(tbLibImTeacherTemp.getTeacherName());
|
|
|
+ tbLibManager.setTelephone(tbLibImTeacherTemp.getTeacherPhone());
|
|
|
+ tbLibManager.setLibId(tbLibImTeacherTemp.getLibId());
|
|
|
+ if(tbLibImTeacherTemp.getIsCorrect()!=null && tbLibImTeacherTemp.getIsCorrect()==1) {
|
|
|
+ tbLibManager.setIsCorrect(1);
|
|
|
+ }else {
|
|
|
+ tbLibManager.setIsCorrect(0);
|
|
|
+ }
|
|
|
+ tbLibManager.setState(1);
|
|
|
+ tbLibManager=managerService.save(tbLibManager);
|
|
|
+ }else {
|
|
|
+ tbLibImTeacherTemp.setTeacherId(user.getId());
|
|
|
+ tbLibImTeacherTemp.setStatus(0);
|
|
|
+ tbLibImTeacherTemp.setErrorReason("与平台已有老师信息冲突");
|
|
|
+ this.save(tbLibImTeacherTemp);
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ TbLibManagerAudit audit= new TbLibManagerAudit();
|
|
|
+ audit.setStatus(1);
|
|
|
+ audit.setTelephone(tbLibManager.getTelephone());
|
|
|
+ audit.setLibManagerId(tbLibManager.getId());
|
|
|
+ audit.setLibId(tbLibManager.getLibId());
|
|
|
+ audit.setType(tbLibManager.getType());
|
|
|
+ audit.setCreateTime(new Date());
|
|
|
+ audit.setLastUpdateTime(new Date());
|
|
|
+ audit.setUserId(tbLibManager.getUserId());
|
|
|
+ audit.setName(tbLibManager.getName());
|
|
|
+ auditService.save(audit);
|
|
|
+
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }finally{
|
|
|
+ }
|
|
|
+ return 1;
|
|
|
+ }
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public int insertBatchTbLibImHeadmaster(List<TbClassTeacherTemp> tbLibImTeacherTemps) {
|
|
|
+ int successNum=0;
|
|
|
+ for (TbClassTeacherTemp tbLibImTeacherTemp : tbLibImTeacherTemps) {
|
|
|
+ try {
|
|
|
+ TbLibJoin tbLibJoin=null;
|
|
|
+ if(StringUtils.isNotEmpty(tbLibImTeacherTemp.getLibId())){
|
|
|
+ tbLibJoin=joinService.getById(tbLibImTeacherTemp.getLibId());
|
|
|
+ }else{
|
|
|
+ tbLibJoin=tbLibImStudentService.getTbLibJoinByLeagueName(tbLibImTeacherTemp.getLeagueName());
|
|
|
+ }
|
|
|
+ //无机构信息
|
|
|
+ if(tbLibJoin!=null){
|
|
|
+ successNum=successNum+this.insertTbLibImHeadmaster(tbLibJoin, tbLibImTeacherTemp);
|
|
|
+ }else{
|
|
|
+ successNum=-1;
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return successNum;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public int insertTbLibImHeadmaster(TbLibJoin libJoin, TbClassTeacherTemp tbLibImTeacherTemp) {
|
|
|
+ if(libJoin!=null){
|
|
|
+ tbLibImTeacherTemp.setLibId(libJoin.getId());
|
|
|
+ tbLibImTeacherTemp.setLeagueName(libJoin.getLeagueName());
|
|
|
+ tbLibImTeacherTemp.setCreateTime(new Date());
|
|
|
+ tbLibImTeacherTemp.setStatus(1);
|
|
|
+
|
|
|
+ try {
|
|
|
+ User user=userService.findByMobile(tbLibImTeacherTemp.getTeacherPhone());
|
|
|
+ if(user==null){//无老师user,生成老师user
|
|
|
+ user=new User();
|
|
|
+ user.setId(IdWorker.generateId());
|
|
|
+ user.setUserName(tbLibImTeacherTemp.getTeacherName());
|
|
|
+ user.setMobile(tbLibImTeacherTemp.getTeacherPhone());
|
|
|
+ user.setCreateTime(new Date());
|
|
|
+ user=userService.save(user);
|
|
|
+ }
|
|
|
+ tbLibImTeacherTemp.setTeacherId(user.getId());
|
|
|
+
|
|
|
+ //如果之前有这个老师的,就统一使用用旧老师的名称,如果没有就使用新的名称。
|
|
|
+ TbClass tbClass=tbClassService.getTbClassGradeByLibId(tbLibImTeacherTemp.getLibId(),tbLibImTeacherTemp.getGrade(), tbLibImTeacherTemp.getSubject());
|
|
|
+ if(tbClass==null) {
|
|
|
+ tbClass=new TbClass();
|
|
|
+ tbClass.setLibId(tbLibImTeacherTemp.getLibId());
|
|
|
+ tbClass.setClassName(tbLibImTeacherTemp.getSubject());
|
|
|
+ tbClass.setGrade(tbLibImTeacherTemp.getGrade());
|
|
|
+ tbClass.setCreateTime(new Date());
|
|
|
+ tbClass.setStatus(1);
|
|
|
+ tbClass=tbClassService.save(tbClass);
|
|
|
+ }
|
|
|
+ TbClassTeacher tbClassType=tbClassTeacherService.getTbLibImTeacherByClassType(tbClass.getId());
|
|
|
+ if(tbClassType!=null) {
|
|
|
+ TbClassTeacher tbClassTeacher=tbClassTeacherService.getTbLibImTeacherByClassId(tbClass.getId(),user.getId());
|
|
|
+ if(tbClassTeacher==null) {
|
|
|
+ tbClassTeacher=new TbClassTeacher();
|
|
|
+ tbClassTeacher.setClassId(tbClass.getId());
|
|
|
+ tbClassTeacher.setCreateTime(new Date());
|
|
|
+ tbClassTeacher.setLibId(tbLibImTeacherTemp.getLibId());
|
|
|
+ tbClassTeacher.setType(2);
|
|
|
+ tbClassTeacher.setStatus(1);
|
|
|
+ tbClassTeacher.setTeacherId(user.getId());
|
|
|
+ tbClassTeacherService.save(tbClassTeacher);
|
|
|
+ }else {
|
|
|
+ tbLibImTeacherTemp.setTeacherId(user.getId());
|
|
|
+ tbLibImTeacherTemp.setStatus(0);
|
|
|
+ tbLibImTeacherTemp.setErrorReason("已存在班级老师身份");
|
|
|
+ this.save(tbLibImTeacherTemp);
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ tbLibImTeacherTemp.setTeacherId(user.getId());
|
|
|
+ tbLibImTeacherTemp.setStatus(0);
|
|
|
+ tbLibImTeacherTemp.setErrorReason("已存在班主任级信息");
|
|
|
+ this.save(tbLibImTeacherTemp);
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }finally{
|
|
|
+ }
|
|
|
+ return 1;
|
|
|
+ }
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
}
|