|
@@ -19,7 +19,6 @@ import com.ym.mec.common.page.PageInfo;
|
|
|
import com.ym.mec.common.service.impl.BaseServiceImpl;
|
|
|
import com.ym.mec.im.ImFeignService;
|
|
|
import com.ym.mec.util.collection.MapUtil;
|
|
|
-
|
|
|
import org.apache.commons.lang.StringUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
@@ -43,6 +42,8 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
|
|
|
@Autowired
|
|
|
private CourseScheduleService courseScheduleService;
|
|
|
@Autowired
|
|
|
+ private CourseScheduleDao courseScheduleDao;
|
|
|
+ @Autowired
|
|
|
private VipGroupDefaultClassesUnitPriceDao vipGroupDefaultClassesUnitPriceDao;
|
|
|
@Autowired
|
|
|
private VipGroupActivityDao vipGroupActivityDao;
|
|
@@ -72,6 +73,8 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
|
|
|
private CourseScheduleTeacherSalaryDao courseScheduleTeacherSalaryDao;
|
|
|
@Autowired
|
|
|
private ImFeignService imFeignService;
|
|
|
+ @Autowired
|
|
|
+ private SubjectDao subjectDao;
|
|
|
|
|
|
@Override
|
|
|
public BaseDAO<Long, VipGroup> getDAO() {
|
|
@@ -302,15 +305,17 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
|
|
|
@Override
|
|
|
public PageInfo findVipGroups(VipGroupQueryInfo queryInfo) {
|
|
|
PageInfo pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
|
|
|
- Map<String, Object> params = new HashMap<String, Object>();
|
|
|
+ Map<String, Object> params = new HashMap<>();
|
|
|
MapUtil.populateMap(params, queryInfo);
|
|
|
|
|
|
- List dataList = null;
|
|
|
+ List<VipGroup> dataList = null;
|
|
|
int count = vipGroupDao.countVipGroupByOrgan(params);
|
|
|
if (count > 0) {
|
|
|
pageInfo.setTotal(count);
|
|
|
params.put("offset", pageInfo.getOffset());
|
|
|
dataList = vipGroupDao.findAllByOrgan(params);
|
|
|
+ List<Long> vipGroupIds = dataList.stream().map(vipGroup -> vipGroup.getId()).collect(Collectors.toList());
|
|
|
+
|
|
|
}
|
|
|
if (count == 0) {
|
|
|
dataList = new ArrayList<>();
|
|
@@ -320,9 +325,12 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public PageInfo findVipGroupTeachingRecord(VipGroupTeachingRecordQueryInfo queryInfo) {
|
|
|
+ public Map<String, Object> findVipGroupTeachingRecord(VipGroupTeachingRecordQueryInfo queryInfo) {
|
|
|
+ if(Objects.isNull(queryInfo.getVipGroupId())){
|
|
|
+ throw new BizException("请指定vip课程!");
|
|
|
+ }
|
|
|
PageInfo pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
|
|
|
- Map<String, Object> params = new HashMap<String, Object>();
|
|
|
+ Map<String, Object> params = new HashMap<>();
|
|
|
MapUtil.populateMap(params, queryInfo);
|
|
|
|
|
|
List dataList = null;
|
|
@@ -336,7 +344,13 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
|
|
|
dataList = new ArrayList<>();
|
|
|
}
|
|
|
pageInfo.setRows(dataList);
|
|
|
- return pageInfo;
|
|
|
+ TeachingRecordBaseInfo classTimes = vipGroupDao.getClassTimes(queryInfo.getVipGroupId());
|
|
|
+ classTimes.setIsSalaryNum(vipGroupDao.countIsSalaryNum(queryInfo.getVipGroupId()));
|
|
|
+ classTimes.setComplaintsNum(vipGroupDao.countComplaintsNum(queryInfo.getVipGroupId()));
|
|
|
+ Map<String,Object> result=new HashMap<>();
|
|
|
+ result.put("pageInfo",pageInfo);
|
|
|
+ result.put("baseInfo",classTimes);
|
|
|
+ return result;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -369,7 +383,11 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
|
|
|
|
|
|
@Override
|
|
|
public VipGroupManageDetailDto getVipGroupDetail(Long vipGroupId) {
|
|
|
+ if(Objects.isNull(vipGroupId)){
|
|
|
+ throw new BizException("请指定vip课程");
|
|
|
+ }
|
|
|
VipGroupManageDetailDto vipGroupBaseInfo = vipGroupDao.getVipGroupBaseInfo(vipGroupId);
|
|
|
+ vipGroupBaseInfo.setSubjectName(StringUtils.join(subjectDao.findBySubIds(vipGroupBaseInfo.getSubjectIdList()),","));
|
|
|
return vipGroupBaseInfo;
|
|
|
}
|
|
|
|
|
@@ -598,7 +616,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public PageInfo findVipGroupSalarys(VipGroupSalaryQueryInfo queryInfo) {
|
|
|
+ public Map<String, Object> findVipGroupSalarys(VipGroupSalaryQueryInfo queryInfo) {
|
|
|
|
|
|
if(Objects.isNull(queryInfo.getVipGroupId())){
|
|
|
throw new BizException("请指定vip课程!");
|
|
@@ -608,17 +626,54 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
|
|
|
Map<String, Object> params = new HashMap<String, Object>();
|
|
|
MapUtil.populateMap(params, queryInfo);
|
|
|
|
|
|
- List dataList = null;
|
|
|
+ List<VipGroupSalaryDto> dataList = null;
|
|
|
int count = courseScheduleTeacherSalaryDao.countVipGroupSalarys(params);
|
|
|
if (count > 0) {
|
|
|
pageInfo.setTotal(count);
|
|
|
params.put("offset", pageInfo.getOffset());
|
|
|
dataList = courseScheduleTeacherSalaryDao.findVipGroupSalarys(params);
|
|
|
+ dataList.forEach(vipGroupSalaryDto -> {
|
|
|
+ if(Objects.isNull(vipGroupSalaryDto.getExpectSalary())){
|
|
|
+ vipGroupSalaryDto.setExpectSalary(new BigDecimal(0));
|
|
|
+ }
|
|
|
+ if(Objects.isNull(vipGroupSalaryDto.getActualSalary())){
|
|
|
+ vipGroupSalaryDto.setActualSalary(new BigDecimal(0));
|
|
|
+ vipGroupSalaryDto.setIsSalary(YesOrNoEnum.NO);
|
|
|
+ }else{
|
|
|
+ vipGroupSalaryDto.setIsSalary(YesOrNoEnum.YES);
|
|
|
+ }
|
|
|
+ vipGroupSalaryDto.setDeductionFee(vipGroupSalaryDto.getExpectSalary().subtract(vipGroupSalaryDto.getActualSalary()));
|
|
|
+ });
|
|
|
}
|
|
|
if (count == 0) {
|
|
|
dataList = new ArrayList<>();
|
|
|
}
|
|
|
pageInfo.setRows(dataList);
|
|
|
- return pageInfo;
|
|
|
+
|
|
|
+ VipGroupSalaryBaseInfo vipGroupSalaryBaseInfo = vipGroupDao.getVipGroupSalaryInfo(queryInfo.getVipGroupId());
|
|
|
+ if(Objects.isNull(vipGroupSalaryBaseInfo)){
|
|
|
+ vipGroupSalaryBaseInfo=new VipGroupSalaryBaseInfo();
|
|
|
+ }
|
|
|
+ if(Objects.isNull(vipGroupSalaryBaseInfo.getExpectTotalSalary())){
|
|
|
+ vipGroupSalaryBaseInfo.setExpectTotalSalary(new BigDecimal(0));
|
|
|
+ }
|
|
|
+ if(Objects.isNull(vipGroupSalaryBaseInfo.getTotalSalary())){
|
|
|
+ vipGroupSalaryBaseInfo.setTotalSalary(new BigDecimal(0));
|
|
|
+ }
|
|
|
+ vipGroupSalaryBaseInfo.setTotalFeeDeduction(vipGroupSalaryBaseInfo.getExpectTotalSalary().subtract(vipGroupSalaryBaseInfo.getTotalSalary()));
|
|
|
+ vipGroupSalaryBaseInfo.setFeeDeductionNum(vipGroupDao.countVipGroupDeductionNum(queryInfo.getVipGroupId()));
|
|
|
+
|
|
|
+ Map<String,Object> result=new HashMap<>();
|
|
|
+ result.put("pageInfo",pageInfo);
|
|
|
+ result.put("baseInfo",vipGroupSalaryBaseInfo);
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<String> findVipGroupAttendanceStudents(Long courseScheduleId) {
|
|
|
+ if(Objects.isNull(courseScheduleId)){
|
|
|
+ throw new BizException("请指定课程");
|
|
|
+ }
|
|
|
+ return courseScheduleDao.findStudentNamesByCourseSchedule(courseScheduleId);
|
|
|
}
|
|
|
}
|