| 
														
															@@ -53,6 +53,8 @@ public class CloudTeacherOrderServiceImpl extends BaseServiceImpl<Long, CloudTea 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     @Resource 
														 | 
														
														 | 
														
															     @Resource 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     private TenantConfigService tenantConfigService; 
														 | 
														
														 | 
														
															     private TenantConfigService tenantConfigService; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     @Resource 
														 | 
														
														 | 
														
															     @Resource 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    private TenantMemberRankSettingService tenantMemberRankSettingService; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    @Resource 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     private PayService payService; 
														 | 
														
														 | 
														
															     private PayService payService; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     @Resource 
														 | 
														
														 | 
														
															     @Resource 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     private IdGeneratorService idGenerator; 
														 | 
														
														 | 
														
															     private IdGeneratorService idGenerator; 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -133,7 +135,7 @@ public class CloudTeacherOrderServiceImpl extends BaseServiceImpl<Long, CloudTea 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             return pageInfo; 
														 | 
														
														 | 
														
															             return pageInfo; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         } 
														 | 
														
														 | 
														
															         } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         assert dataList != null; 
														 | 
														
														 | 
														
															         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, String> organNameMap = this.getMap("organization", "id_", "name_", organIds, queryInfo.getTenantId(), Integer.class, String.class); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															         Map<Integer, SimpleUserDto> empMapById = new HashMap<>(); 
														 | 
														
														 | 
														
															         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()); 
														 | 
														
														 | 
														
															         List<Integer> memberRankIds = dataList.stream().map(CloudTeacherStudent::getMemberRankId).collect(Collectors.toList()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         Map<Integer, String> memberNameMap = memberRankSettingService.queryMemberName(memberRankIds); 
														 | 
														
														 | 
														
															         Map<Integer, String> memberNameMap = memberRankSettingService.queryMemberName(memberRankIds); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        Map<Integer, JSONObject> rankSettingMap = tenantConfigService.getActivationAmount(queryInfo.getTenantId()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         //获取 
														 | 
														
														 | 
														
															         //获取 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         for (CloudTeacherStudent cst : dataList) { 
														 | 
														
														 | 
														
															         for (CloudTeacherStudent cst : dataList) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             cst.setMemberName(memberNameMap.get(cst.getMemberRankId())); 
														 | 
														
														 | 
														
															             cst.setMemberName(memberNameMap.get(cst.getMemberRankId())); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -153,37 +156,8 @@ public class CloudTeacherOrderServiceImpl extends BaseServiceImpl<Long, CloudTea 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             if (cst.getOperator() != null) { 
														 | 
														
														 | 
														
															             if (cst.getOperator() != null) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 cst.setOperatorName(empMapById.getOrDefault(cst.getOperator(), new SimpleUserDto()).getUserName()); 
														 | 
														
														 | 
														
															                 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; 
														 | 
														
														 | 
														
															         return pageInfo; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -196,7 +170,7 @@ public class CloudTeacherOrderServiceImpl extends BaseServiceImpl<Long, CloudTea 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         if (dataList == null || dataList.isEmpty()) { 
														 | 
														
														 | 
														
															         if (dataList == null || dataList.isEmpty()) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             return dataList; 
														 | 
														
														 | 
														
															             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, String> organNameMap = this.getMap("organization", "id_", "name_", organIds, queryInfo.getTenantId(), Integer.class, String.class); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															         Map<Integer, SimpleUserDto> empMapById = new HashMap<>(); 
														 | 
														
														 | 
														
															         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()); 
														 | 
														
														 | 
														
															         List<Integer> memberRankIds = dataList.stream().map(CloudTeacherStudent::getMemberRankId).collect(Collectors.toList()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         Map<Integer, String> memberNameMap = memberRankSettingService.queryMemberName(memberRankIds); 
														 | 
														
														 | 
														
															         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) { 
														 | 
														
														 | 
														
															         for (CloudTeacherStudent cst : dataList) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             cst.setMemberName(memberNameMap.get(cst.getMemberRankId())); 
														 | 
														
														 | 
														
															             cst.setMemberName(memberNameMap.get(cst.getMemberRankId())); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             cst.setOrganName(organNameMap.get(cst.getOrganId())); 
														 | 
														
														 | 
														
															             cst.setOrganName(organNameMap.get(cst.getOrganId())); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             if (cst.getOperator() != null) { 
														 | 
														
														 | 
														
															             if (cst.getOperator() != null) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 cst.setOperatorName(empMapById.getOrDefault(cst.getOperator(), new SimpleUserDto()).getUserName()); 
														 | 
														
														 | 
														
															                 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; 
														 | 
														
														 | 
														
															         return dataList; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 |