|
@@ -3,13 +3,16 @@ package com.ym.mec.biz.service.impl;
|
|
|
import com.ym.mec.auth.api.client.SysUserFeignService;
|
|
|
import com.ym.mec.auth.api.entity.SysUser;
|
|
|
import com.ym.mec.biz.dal.dao.*;
|
|
|
+import com.ym.mec.biz.dal.dto.SimpleUserDto;
|
|
|
import com.ym.mec.biz.dal.entity.CloudCoachPaymentProgram;
|
|
|
import com.ym.mec.biz.dal.entity.CloudTeacherOrder;
|
|
|
import com.ym.mec.biz.dal.entity.MemberRankSetting;
|
|
|
import com.ym.mec.biz.dal.enums.MessageTypeEnum;
|
|
|
+import com.ym.mec.biz.dal.page.CloudCoachPaymentProgramQueryInfo;
|
|
|
import com.ym.mec.biz.service.*;
|
|
|
import com.ym.mec.common.dal.BaseDAO;
|
|
|
import com.ym.mec.common.exception.BizException;
|
|
|
+import com.ym.mec.common.page.PageInfo;
|
|
|
import com.ym.mec.common.service.impl.BaseServiceImpl;
|
|
|
import com.ym.mec.common.tenant.TenantContextHolder;
|
|
|
import com.ym.mec.thirdparty.message.MessageSenderPluginContext;
|
|
@@ -21,10 +24,8 @@ import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
|
-import java.util.Date;
|
|
|
-import java.util.HashMap;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
+import java.util.*;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
@Service
|
|
|
public class CloudCoachPaymentProgramServiceImpl extends BaseServiceImpl<Long, CloudCoachPaymentProgram> implements CloudCoachPaymentProgramService {
|
|
@@ -56,6 +57,44 @@ public class CloudCoachPaymentProgramServiceImpl extends BaseServiceImpl<Long, C
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
+ public PageInfo<CloudCoachPaymentProgram> queryPage(CloudCoachPaymentProgramQueryInfo queryInfo) {
|
|
|
+ PageInfo<CloudCoachPaymentProgram> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
|
|
|
+ Map<String, Object> params = new HashMap<String, Object>();
|
|
|
+ MapUtil.populateMap(params, queryInfo);
|
|
|
+
|
|
|
+ List<CloudCoachPaymentProgram> dataList = null;
|
|
|
+ int count = this.findCount(params);
|
|
|
+ if (count > 0) {
|
|
|
+ pageInfo.setTotal(count);
|
|
|
+ params.put("offset", pageInfo.getOffset());
|
|
|
+ dataList = this.getDAO().queryPage(params);
|
|
|
+ Set<Integer> userIds = dataList.stream().map(e -> e.getOperator()).filter(e -> e != null).collect(Collectors.toSet());
|
|
|
+ userIds.addAll(dataList.stream().map(e -> e.getAudit()).filter(e -> e != null).collect(Collectors.toSet()));
|
|
|
+ List<SimpleUserDto> usersSimpleInfo = teacherDao.getUsersSimpleInfo(new ArrayList<>(userIds));
|
|
|
+ Map<Integer, SimpleUserDto> userDtoMap = usersSimpleInfo.stream().collect(Collectors.groupingBy(e -> e.getUserId(), Collectors.collectingAndThen(Collectors.toList(), v -> v.get(0))));
|
|
|
+
|
|
|
+ List<Long> programIds = dataList.stream().map(e -> e.getId()).collect(Collectors.toList());
|
|
|
+ Map<Long,String> userNameMap = studentCloudCoachPaymentDetailsDao.queryStudentName(programIds).stream().collect(Collectors.toMap(e -> Long.parseLong(e.get("key").toString()), e -> e.get("value") == null ? "" : e.get("value").toString()));
|
|
|
+ for (CloudCoachPaymentProgram program : dataList) {
|
|
|
+ SimpleUserDto userDto = userDtoMap.get(program.getOperator());
|
|
|
+ if(Objects.nonNull(userDto)){
|
|
|
+ program.setOperatorName(userDto.getUserName());
|
|
|
+ }
|
|
|
+ userDto = userDtoMap.get(program.getAudit());
|
|
|
+ if(Objects.nonNull(userDto)){
|
|
|
+ program.setAuditName(userDto.getUserName());
|
|
|
+ }
|
|
|
+ program.setUserNames(userNameMap.get(program.getId()));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (count == 0) {
|
|
|
+ dataList = new ArrayList<>();
|
|
|
+ }
|
|
|
+ pageInfo.setRows(dataList);
|
|
|
+ return pageInfo;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public void add(CloudCoachPaymentProgram cloudCoachPaymentProgram) {
|
|
|
List<Integer> userIds = cloudCoachPaymentProgram.getUserIds();
|