|  | @@ -1,21 +1,71 @@
 | 
											
												
													
														|  |  package com.ym.mec.biz.service.impl;
 |  |  package com.ym.mec.biz.service.impl;
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | 
 |  | +import com.ym.mec.biz.dal.dao.PracticeGroupDao;
 | 
											
												
													
														|  |  import com.ym.mec.biz.dal.dao.TeacherCourseRewardDao;
 |  |  import com.ym.mec.biz.dal.dao.TeacherCourseRewardDao;
 | 
											
												
													
														|  | 
 |  | +import com.ym.mec.biz.dal.dto.TeacherCourseSalaryDetail4WebDto;
 | 
											
												
													
														|  | 
 |  | +import com.ym.mec.biz.dal.entity.CourseSchedule;
 | 
											
												
													
														|  |  import com.ym.mec.biz.dal.entity.TeacherCourseReward;
 |  |  import com.ym.mec.biz.dal.entity.TeacherCourseReward;
 | 
											
												
													
														|  | 
 |  | +import com.ym.mec.biz.dal.page.CourseSalaryQueryInfo4Web;
 | 
											
												
													
														|  |  import com.ym.mec.biz.service.TeacherCourseRewardService;
 |  |  import com.ym.mec.biz.service.TeacherCourseRewardService;
 | 
											
												
													
														|  |  import com.ym.mec.common.dal.BaseDAO;
 |  |  import com.ym.mec.common.dal.BaseDAO;
 | 
											
												
													
														|  | 
 |  | +import com.ym.mec.common.page.PageInfo;
 | 
											
												
													
														|  |  import com.ym.mec.common.service.impl.BaseServiceImpl;
 |  |  import com.ym.mec.common.service.impl.BaseServiceImpl;
 | 
											
												
													
														|  | 
 |  | +import com.ym.mec.util.collection.MapUtil;
 | 
											
												
													
														|  |  import org.springframework.beans.factory.annotation.Autowired;
 |  |  import org.springframework.beans.factory.annotation.Autowired;
 | 
											
												
													
														|  |  import org.springframework.stereotype.Service;
 |  |  import org.springframework.stereotype.Service;
 | 
											
												
													
														|  | 
 |  | +import org.springframework.transaction.annotation.Isolation;
 | 
											
												
													
														|  | 
 |  | +import org.springframework.transaction.annotation.Transactional;
 | 
											
												
													
														|  | 
 |  | +import org.springframework.util.CollectionUtils;
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +import java.util.*;
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  @Service
 |  |  @Service
 | 
											
												
													
														|  |  public class TeacherCourseRewardServiceImpl extends BaseServiceImpl<Long, TeacherCourseReward> implements TeacherCourseRewardService {
 |  |  public class TeacherCourseRewardServiceImpl extends BaseServiceImpl<Long, TeacherCourseReward> implements TeacherCourseRewardService {
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |      @Autowired
 |  |      @Autowired
 | 
											
												
													
														|  |      private TeacherCourseRewardDao teacherCourseRewardDao;
 |  |      private TeacherCourseRewardDao teacherCourseRewardDao;
 | 
											
												
													
														|  | 
 |  | +    @Autowired
 | 
											
												
													
														|  | 
 |  | +    private PracticeGroupDao practiceGroupDao;
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |      @Override
 |  |      @Override
 | 
											
												
													
														|  |      public BaseDAO<Long, TeacherCourseReward> getDAO() {
 |  |      public BaseDAO<Long, TeacherCourseReward> getDAO() {
 | 
											
												
													
														|  |          return teacherCourseRewardDao;
 |  |          return teacherCourseRewardDao;
 | 
											
												
													
														|  |      }
 |  |      }
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +    @Override
 | 
											
												
													
														|  | 
 |  | +    @Transactional(rollbackFor = Exception.class, isolation = Isolation.READ_COMMITTED)
 | 
											
												
													
														|  | 
 |  | +    public void addConvertReward(Integer studentId, Integer teacherId) {
 | 
											
												
													
														|  | 
 |  | +        List<CourseSchedule> studentAndTeacherTrialPractices = practiceGroupDao.findStudentAndTeacherTrialPractices(studentId, teacherId);
 | 
											
												
													
														|  | 
 |  | +        if(CollectionUtils.isEmpty(studentAndTeacherTrialPractices)){
 | 
											
												
													
														|  | 
 |  | +            return;
 | 
											
												
													
														|  | 
 |  | +        }
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +    }
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +    @Override
 | 
											
												
													
														|  | 
 |  | +    public PageInfo<TeacherCourseSalaryDetail4WebDto> findTeacherRewards(CourseSalaryQueryInfo4Web queryInfo) {
 | 
											
												
													
														|  | 
 |  | +        PageInfo<TeacherCourseSalaryDetail4WebDto> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
 | 
											
												
													
														|  | 
 |  | +        Map<String, Object> params = new HashMap<>();
 | 
											
												
													
														|  | 
 |  | +        MapUtil.populateMap(params, queryInfo);
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +        List<TeacherCourseSalaryDetail4WebDto> dataList = new ArrayList<>();
 | 
											
												
													
														|  | 
 |  | +        int count = teacherCourseRewardDao.countTeacherCourseRewards(params);
 | 
											
												
													
														|  | 
 |  | +        if (count > 0) {
 | 
											
												
													
														|  | 
 |  | +            pageInfo.setTotal(count);
 | 
											
												
													
														|  | 
 |  | +            params.put("offset", pageInfo.getOffset());
 | 
											
												
													
														|  | 
 |  | +            List<TeacherCourseReward> teacherCourseRewards = teacherCourseRewardDao.findTeacherCourseRewards(params);
 | 
											
												
													
														|  | 
 |  | +            for (TeacherCourseReward teacherCourseReward : teacherCourseRewards) {
 | 
											
												
													
														|  | 
 |  | +                TeacherCourseSalaryDetail4WebDto t=new TeacherCourseSalaryDetail4WebDto();
 | 
											
												
													
														|  | 
 |  | +                t.setCourseName(teacherCourseReward.getCourseGroupName());
 | 
											
												
													
														|  | 
 |  | +                t.setCourseTimes(teacherCourseReward.getCourseScheduleIdList().split(",").length);
 | 
											
												
													
														|  | 
 |  | +                t.setMemo(teacherCourseReward.getMemo());
 | 
											
												
													
														|  | 
 |  | +                t.setActualSalary(teacherCourseReward.getActualRewardAmount());
 | 
											
												
													
														|  | 
 |  | +                t.setReduceSalary(teacherCourseReward.getExpectRewardAmount().subtract(teacherCourseReward.getActualRewardAmount()));
 | 
											
												
													
														|  | 
 |  | +                t.setFinalSalary(teacherCourseReward.getActualRewardAmount().subtract(teacherCourseReward.getActualRewardAmount()));
 | 
											
												
													
														|  | 
 |  | +                dataList.add(t);
 | 
											
												
													
														|  | 
 |  | +            }
 | 
											
												
													
														|  | 
 |  | +        }
 | 
											
												
													
														|  | 
 |  | +        pageInfo.setRows(dataList);
 | 
											
												
													
														|  | 
 |  | +        return pageInfo;
 | 
											
												
													
														|  | 
 |  | +    }
 | 
											
												
													
														|  |  }
 |  |  }
 |