|
@@ -53,6 +53,8 @@ public class CloudTeacherOrderServiceImpl extends BaseServiceImpl<Long, CloudTea
|
|
|
@Resource
|
|
|
private TenantConfigService tenantConfigService;
|
|
|
@Resource
|
|
|
+ private TenantMemberRankSettingService tenantMemberRankSettingService;
|
|
|
+ @Resource
|
|
|
private PayService payService;
|
|
|
@Resource
|
|
|
private IdGeneratorService idGenerator;
|
|
@@ -133,7 +135,7 @@ public class CloudTeacherOrderServiceImpl extends BaseServiceImpl<Long, CloudTea
|
|
|
return pageInfo;
|
|
|
}
|
|
|
assert dataList != null;
|
|
|
- List<Integer> organIds = dataList.stream().map(e -> e.getOrganId()).distinct().collect(Collectors.toList());
|
|
|
+ List<Integer> organIds = dataList.stream().map(CloudTeacherStudent::getOrganId).distinct().collect(Collectors.toList());
|
|
|
Map<Integer, String> organNameMap = this.getMap("organization", "id_", "name_", organIds, queryInfo.getTenantId(), Integer.class, String.class);
|
|
|
|
|
|
Map<Integer, SimpleUserDto> empMapById = new HashMap<>();
|
|
@@ -146,6 +148,7 @@ public class CloudTeacherOrderServiceImpl extends BaseServiceImpl<Long, CloudTea
|
|
|
//获取会员名称
|
|
|
List<Integer> memberRankIds = dataList.stream().map(CloudTeacherStudent::getMemberRankId).collect(Collectors.toList());
|
|
|
Map<Integer, String> memberNameMap = memberRankSettingService.queryMemberName(memberRankIds);
|
|
|
+ Map<Integer, JSONObject> rankSettingMap = tenantConfigService.getActivationAmount(queryInfo.getTenantId());
|
|
|
//获取
|
|
|
for (CloudTeacherStudent cst : dataList) {
|
|
|
cst.setMemberName(memberNameMap.get(cst.getMemberRankId()));
|
|
@@ -153,37 +156,8 @@ public class CloudTeacherOrderServiceImpl extends BaseServiceImpl<Long, CloudTea
|
|
|
if (cst.getOperator() != null) {
|
|
|
cst.setOperatorName(empMapById.getOrDefault(cst.getOperator(), new SimpleUserDto()).getUserName());
|
|
|
}
|
|
|
- TenantConfig tenantConfig = tenantConfigService.getOne(new QueryWrapper<TenantConfig>().eq("tenant_id_", cst.getTenantId()));
|
|
|
- if (tenantConfig == null) {
|
|
|
- throw new Exception("未找到组织Id " + cst.getTenantId().toString() + "在 TenantConfig 表");
|
|
|
- }
|
|
|
- JSONObject cfg = JSON.parseObject(tenantConfig.getConfig());
|
|
|
- JSONObject memberConfig = (JSONObject) cfg.get("member_config");
|
|
|
- Double divide;
|
|
|
- switch (cst.getType()) {
|
|
|
- case DAY:
|
|
|
- divide = memberConfig.getDouble("day_divide");
|
|
|
- break;
|
|
|
- case MONTH:
|
|
|
- divide = memberConfig.getDouble("month_divide");
|
|
|
- break;
|
|
|
- case QUARTERLY:
|
|
|
- divide = memberConfig.getDouble("quarter_divide");
|
|
|
- break;
|
|
|
- case YEAR_HALF:
|
|
|
- divide = memberConfig.getDouble("half_year_divide");
|
|
|
- break;
|
|
|
- case YEAR:
|
|
|
- divide = memberConfig.getDouble("year_divide");
|
|
|
- break;
|
|
|
- default:
|
|
|
- divide = null;
|
|
|
- }
|
|
|
- if (divide == null) {
|
|
|
- cst.setAmount(null);
|
|
|
- } else {
|
|
|
- cst.setAmount(new BigDecimal(divide * cst.getTime()));
|
|
|
- }
|
|
|
+ JSONObject memberConfig = rankSettingMap.get(cst.getMemberRankId());
|
|
|
+ cst.setAmount(tenantConfigService.getPriceByPeriod(memberConfig, cst.getType()).multiply(new BigDecimal(cst.getTime())));
|
|
|
}
|
|
|
return pageInfo;
|
|
|
}
|
|
@@ -196,7 +170,7 @@ public class CloudTeacherOrderServiceImpl extends BaseServiceImpl<Long, CloudTea
|
|
|
if (dataList == null || dataList.isEmpty()) {
|
|
|
return dataList;
|
|
|
}
|
|
|
- List<Integer> organIds = dataList.stream().map(e -> e.getOrganId()).distinct().collect(Collectors.toList());
|
|
|
+ List<Integer> organIds = dataList.stream().map(CloudTeacherStudent::getOrganId).distinct().collect(Collectors.toList());
|
|
|
Map<Integer, String> organNameMap = this.getMap("organization", "id_", "name_", organIds, queryInfo.getTenantId(), Integer.class, String.class);
|
|
|
|
|
|
Map<Integer, SimpleUserDto> empMapById = new HashMap<>();
|
|
@@ -209,42 +183,15 @@ public class CloudTeacherOrderServiceImpl extends BaseServiceImpl<Long, CloudTea
|
|
|
//获取会员名称
|
|
|
List<Integer> memberRankIds = dataList.stream().map(CloudTeacherStudent::getMemberRankId).collect(Collectors.toList());
|
|
|
Map<Integer, String> memberNameMap = memberRankSettingService.queryMemberName(memberRankIds);
|
|
|
- TenantConfig tenantConfig = tenantConfigService.getOne(new QueryWrapper<TenantConfig>().eq("tenant_id_", queryInfo.getTenantId()));
|
|
|
+ Map<Integer, JSONObject> rankSettingMap = tenantConfigService.getActivationAmount(queryInfo.getTenantId());
|
|
|
for (CloudTeacherStudent cst : dataList) {
|
|
|
cst.setMemberName(memberNameMap.get(cst.getMemberRankId()));
|
|
|
cst.setOrganName(organNameMap.get(cst.getOrganId()));
|
|
|
if (cst.getOperator() != null) {
|
|
|
cst.setOperatorName(empMapById.getOrDefault(cst.getOperator(), new SimpleUserDto()).getUserName());
|
|
|
}
|
|
|
- if (tenantConfig != null) {
|
|
|
- JSONObject cfg = JSON.parseObject(tenantConfig.getConfig());
|
|
|
- JSONObject memberConfig = (JSONObject) cfg.get("member_config");
|
|
|
- Double divide;
|
|
|
- switch (cst.getType()) {
|
|
|
- case DAY:
|
|
|
- divide = memberConfig.getDouble("day_divide");
|
|
|
- break;
|
|
|
- case MONTH:
|
|
|
- divide = memberConfig.getDouble("month_divide");
|
|
|
- break;
|
|
|
- case QUARTERLY:
|
|
|
- divide = memberConfig.getDouble("quarter_divide");
|
|
|
- break;
|
|
|
- case YEAR_HALF:
|
|
|
- divide = memberConfig.getDouble("half_year_divide");
|
|
|
- break;
|
|
|
- case YEAR:
|
|
|
- divide = memberConfig.getDouble("year_divide");
|
|
|
- break;
|
|
|
- default:
|
|
|
- divide = null;
|
|
|
- }
|
|
|
- if (divide == null) {
|
|
|
- cst.setAmount(null);
|
|
|
- } else {
|
|
|
- cst.setAmount(new BigDecimal(divide * cst.getTime()));
|
|
|
- }
|
|
|
- }
|
|
|
+ JSONObject memberConfig = rankSettingMap.get(cst.getMemberRankId());
|
|
|
+ cst.setAmount(tenantConfigService.getPriceByPeriod(memberConfig, cst.getType()).multiply(new BigDecimal(cst.getTime())));
|
|
|
}
|
|
|
return dataList;
|
|
|
}
|