Преглед на файлове

Merge branch 'master' of http://git.dayaedu.com/yonge/mec

zouxuan преди 5 години
родител
ревизия
6a591cf71d

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ClassGroupTeacherSalaryDao.java

@@ -26,4 +26,15 @@ public interface ClassGroupTeacherSalaryDao extends BaseDAO<Long, ClassGroupTeac
      */
     ClassGroupTeacherSalary findByVipGoupAndTeacher(@Param("vipGroupId") Integer vipGroupId,
                                                     @Param("teacherId") Integer teacherId);
+
+    /**
+     * @describe 根据班级获取老师课酬
+     * @author Joburgess
+     * @date 2019/11/22
+     * @param classGroupId: 班级编号
+     * @param teacherId: 教师编号
+     * @return com.ym.mec.biz.dal.entity.ClassGroupTeacherSalary
+     */
+    ClassGroupTeacherSalary findByClassGroupAndTeacher(@Param("classGroupId") Integer classGroupId,
+                                                       @Param("teacherId") Integer teacherId);
 }

+ 9 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupTeacherMapperServiceImpl.java

@@ -202,6 +202,7 @@ public class ClassGroupTeacherMapperServiceImpl extends BaseServiceImpl<Long, Cl
         Map<String, TeacherDefaultMusicGroupSalary> teacherDefaultSalary = new HashMap<>();
         for (CourseSchedule classGroupNoStartCourseSchedule : courseSchedules) {
             List<CourseScheduleTeacherSalary> courseScheduleTeacherSalaryList = new ArrayList<>();
+            List<TeacherAttendance> teacherAttendances=new ArrayList<>();
             //课时长度
             int duration = DateUtil.minutesBetween(classGroupNoStartCourseSchedule.getStartClassTime(), classGroupNoStartCourseSchedule.getEndClassTime());
             List<ClassGroupTeacherMapper> byClassGroup = classGroupTeacherMapperDao.findByClassGroup(classGroupNoStartCourseSchedule.getClassGroupId());
@@ -261,8 +262,16 @@ public class ClassGroupTeacherMapperServiceImpl extends BaseServiceImpl<Long, Cl
                 courseScheduleTeacherSalary.setUpdateTime(date);
                 courseScheduleTeacherSalary.setClassGroupId(classGroupTeacherMapper.getClassGroupId());
                 courseScheduleTeacherSalaryList.add(courseScheduleTeacherSalary);
+
+                TeacherAttendance teacherAttendance=new TeacherAttendance();
+                teacherAttendance.setMusicGroupId(courseScheduleTeacherSalary.getMusicGroupId());
+                teacherAttendance.setGroupType(courseScheduleTeacherSalary.getGroupType());
+                teacherAttendance.setCourseScheduleId(courseScheduleTeacherSalary.getCourseScheduleId());
+                teacherAttendance.setCreateTime(date);
+                teacherAttendances.add(teacherAttendance);
             }
             courseScheduleTeacherSalaryDao.batchInsert(courseScheduleTeacherSalaryList);
+            teacherAttendanceDao.batchInsert(teacherAttendances);
         }
     }
 

+ 25 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -29,6 +29,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
 
+import java.math.BigDecimal;
 import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.stream.Collectors;
@@ -75,6 +76,8 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 	private MusicGroupDao musicGroupDao;
 	@Autowired
 	private SubjectDao subjectDao;
+	@Autowired
+	private ClassGroupTeacherSalaryDao classGroupTeacherSalaryDao;
 
 	@Override
 	public BaseDAO<Long, CourseSchedule> getDAO() {
@@ -633,6 +636,10 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 			if(oldCourseSchedule.getType()== CourseSchedule.CourseScheduleType.VIP){
 				boolean oldTeacherIsNull=Objects.isNull(oldCourseSchedule.getActualTeacherId());
 				boolean newTeacherIsNull=Objects.isNull(newCourseSchedule.getActualTeacherId());
+				if(newTeacherIsNull&&!oldTeacherIsNull){
+					newCourseSchedule.setActualTeacherId(oldCourseSchedule.getActualTeacherId());
+					newCourseSchedule.setTeachMode(oldCourseSchedule.getTeachMode());
+				}
 				boolean oldSchoolIsNull=Objects.isNull(oldCourseSchedule.getSchoolId());
 				boolean newSchoolIsNull=Objects.isNull(newCourseSchedule.getSchoolId());
 				boolean teacherIsChange=oldTeacherIsNull||(!newTeacherIsNull&&!oldCourseSchedule.getActualTeacherId().equals(newCourseSchedule.getActualTeacherId()));
@@ -640,13 +647,28 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 
 				if(teacherIsChange||schoolIsChange){
 					VipGroup byCourseSchedule = vipGroupDao.findByCourseSchedule(newCourseSchedule.getId().intValue());
-					TeacherDefaultVipGroupSalary byTeacherAndCategory = teacherDefaultVipGroupSalaryDao.findByTeacherAndCategory(newCourseSchedule.getActualTeacherId(), byCourseSchedule.getVipGroupCategoryId());
+
+					BigDecimal onlineTeacherSalary=new BigDecimal(0),offlineTeacherSalary=new BigDecimal(0);
+
+					if(teacherIsChange){
+						TeacherDefaultVipGroupSalary byTeacherAndCategory = teacherDefaultVipGroupSalaryDao.findByTeacherAndCategory(newCourseSchedule.getActualTeacherId(), byCourseSchedule.getVipGroupCategoryId());
+						if(Objects.nonNull(byTeacherAndCategory)){
+							onlineTeacherSalary=byTeacherAndCategory.getOnlineClassesSalary();
+							offlineTeacherSalary=byTeacherAndCategory.getOfflineClassesSalary();
+						}
+					}else{
+						ClassGroupTeacherSalary byClassGroupAndTeacher = classGroupTeacherSalaryDao.findByClassGroupAndTeacher(oldCourseSchedule.getClassGroupId(), newCourseSchedule.getActualTeacherId());
+						if(Objects.nonNull(byClassGroupAndTeacher)){
+							onlineTeacherSalary=byClassGroupAndTeacher.getOnlineClassesSalary();
+							offlineTeacherSalary=byClassGroupAndTeacher.getSalary();
+						}
+					}
+
 					List<CourseSchedule> courseSchedules=new ArrayList<>();
 					courseSchedules.add(newCourseSchedule);
 					courseScheduleTeacherSalaryService.createCourseScheduleTeacherVipSalary(byCourseSchedule,
 							courseSchedules,
-							byTeacherAndCategory.getOnlineClassesSalary(),
-							byTeacherAndCategory.getOfflineClassesSalary());
+							onlineTeacherSalary,offlineTeacherSalary);
 					if(Objects.nonNull(oldCourseSchedule.getActualTeacherId())){
 						beReplaceTeacherIds.add(oldCourseSchedule.getActualTeacherId().intValue());
 					}

+ 5 - 2
mec-biz/src/main/resources/config/mybatis/ClassGroupTeacherSalaryMapper.xml

@@ -129,10 +129,13 @@
 
   <!-- 获取乐团老师课酬配置表 -->
   <select id="findByMusicGroupId" resultMap="ClassGroupTeacherSalary">
-    SELECT * FROM class_group_teacher_salary WHERE music_group_id_ = #{musicGroupId}
+    SELECT * FROM class_group_teacher_salary WHERE music_group_id_ = #{musicGroupId} AND group_type_='MUSIC'
   </select>
   <select id="findByVipGoupAndTeacher" resultMap="ClassGroupTeacherSalary">
-    SELECT * FROM class_group_teacher_salary WHERE music_group_id_ = #{vipGroupId} AND user_id_=#{teacherId}
+    SELECT * FROM class_group_teacher_salary WHERE music_group_id_ = #{vipGroupId} AND user_id_=#{teacherId} AND group_type_='VIP'
   </select>
+    <select id="findByClassGroupAndTeacher" resultMap="ClassGroupTeacherSalary">
+      SELECT * FROM class_group_teacher_salary WHERE class_group_id_ = #{classGroupId} AND user_id_=#{teacherId}
+    </select>
 
 </mapper>

+ 18 - 10
mec-thirdparty/src/main/java/com/ym/mec/thirdparty/storage/provider/AliyunOssStoragePlugin.java

@@ -18,8 +18,11 @@ import com.ym.mec.thirdparty.storage.StoragePlugin;
 @Component
 public class AliyunOssStoragePlugin implements StoragePlugin, InitializingBean, DisposableBean {
 
-	@Value("${storage.oss.endpoint:oss-cn-beijing.aliyuncs.com}")
-	private String endpoint;
+	@Value("${storage.oss.outerEndpoint:oss-cn-beijing.aliyuncs.com}")
+	private String outerEndpoint;
+	
+	@Value("${storage.oss.innerEndpoint:oss-cn-beijing-internal.aliyuncs.com}")
+	private String innerEndpoint;
 
 	@Value("${storage.oss.accessKeyId:LTAI4Fdhxwfo7FsBDZKK8Wfv}")
 	private String accessKeyId;
@@ -56,7 +59,7 @@ public class AliyunOssStoragePlugin implements StoragePlugin, InitializingBean,
 		// 设置是否支持将自定义域名作为Endpoint,默认支持。
 		conf.setSupportCname(true);
 
-		ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret, conf);
+		ossClient = new OSSClient(innerEndpoint, accessKeyId, accessKeySecret, conf);
 	}
 
 	@Override
@@ -71,7 +74,7 @@ public class AliyunOssStoragePlugin implements StoragePlugin, InitializingBean,
 
 		ossClient.putObject(bucketName, folderName + "/" + file.getName(), file);
 
-		return "https://" + bucketName + "." + endpoint + "/" + folderName + "/" + file.getName();
+		return "https://" + bucketName + "." + outerEndpoint + "/" + folderName + "/" + file.getName();
 	}
 
 	@Override
@@ -93,8 +96,12 @@ public class AliyunOssStoragePlugin implements StoragePlugin, InitializingBean,
 		}
 	}
 
-	public void setEndpoint(String endpoint) {
-		this.endpoint = endpoint;
+	public void setOuterEndpoint(String outerEndpoint) {
+		this.outerEndpoint = outerEndpoint;
+	}
+
+	public void setInnerEndpoint(String innerEndpoint) {
+		this.innerEndpoint = innerEndpoint;
 	}
 
 	public void setAccessKeyId(String accessKeyId) {
@@ -111,10 +118,11 @@ public class AliyunOssStoragePlugin implements StoragePlugin, InitializingBean,
 
 	public static void main(String[] args) throws Exception {
 		AliyunOssStoragePlugin aliyunOssStorageService = new AliyunOssStoragePlugin();
-		aliyunOssStorageService.setAccessKeyId("LTAIwZW9XqrfsZ4r");
-		aliyunOssStorageService.setAccessKeySecret("5uDsNZmHMxcnxav8w9byII4zcPpu5G");
-		aliyunOssStorageService.setBucketName("yooma-test");
-		aliyunOssStorageService.setEndpoint("oss-cn-beijing.aliyuncs.com");
+		aliyunOssStorageService.setAccessKeyId("LTAI4Fdhxwfo7FsBDZKK8Wfv");
+		aliyunOssStorageService.setAccessKeySecret("ERRma4P9VWbD98n93gspnZXmoq7rn5");
+		aliyunOssStorageService.setBucketName("daya-online");
+		aliyunOssStorageService.setOuterEndpoint("oss-cn-beijing.aliyuncs.com");
+		aliyunOssStorageService.setInnerEndpoint("oss-cn-beijing-internal.aliyuncs.com");
 		aliyunOssStorageService.afterPropertiesSet();
 
 		File file = new File("e:/var/2.jpg");