SubjectUserServiceImpl.java 2.6 KB
package com.bsth.service.subject.impl;
 
import com.bsth.data.schedule.DayOfSchedule;
import com.bsth.entity.Line;
import com.bsth.entity.realcontrol.ScheduleRealInfo;
import com.bsth.entity.subject.SubjectUser;
import com.bsth.entity.sys.SysUser;
import com.bsth.repository.LineRepository;
import com.bsth.repository.subject.SubjectUserRepository;
import com.bsth.security.util.SecurityUtils;
import com.bsth.service.impl.BaseServiceImpl; 
import com.bsth.service.subject.SubjectUserService;
import com.bsth.util.subject.subEnum;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.text.SimpleDateFormat;
import java.util.*;

@Service
public class SubjectUserServiceImpl extends BaseServiceImpl<SubjectUser, Integer> implements SubjectUserService {
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    
    @Autowired
    SubjectUserRepository subjectUserRepository;
    @Autowired
    LineRepository lineRepository;
    @Autowired
    DayOfSchedule dayOfSchedule;

    public List<SubjectUser> userAll(){
        SysUser user = SecurityUtils.getCurrentUser();
        Integer userId = user.getId();
        
        String ksstatus = user.getKsstatus();//判断今天有没有考试
        String rq = sdf.format(new Date());
        List list = subjectUserRepository.userAll(rq,userId);
        return list;
    }


    public String determine(Integer id){
        
        //当前题目
        Optional<SubjectUser> subjectUser = subjectUserRepository.findById(id);
        SubjectUser sur = subjectUser.isPresent() ? subjectUser.get() : null;
        
        //线路编号 A线+用户id组成的
        SysUser user = SecurityUtils.getCurrentUser();
        String xlName = "A线-"+user.getUserName();
        Line line = lineRepository.findLineName(xlName);
        //缓存查看排班
        List<ScheduleRealInfo> sch =  dayOfSchedule.findByLineCode(line.getLineCode());
        
        
        //答题是否正确
       // String result = result(sur,sch) == true ? "0" : "1";

        //类型
        String type = sur.getSubjectId().getType();
        //判断答题是否正确
        subEnum sjm = subEnum.valueOf(type);
        String result = sjm.run(sur,sch) == true ? "0" : "1";
        
        //修改答案
        int status  = subjectUserRepository.updates(result,id);
        
        //List list = subjectUserRepository.userAll(sur.getRq(),sur.getUserId());
       // map.put("result",result);
        //map.put("list",list);
        if (status == 1){
            return result;
        }
        return null;
    }


   
           
     
}