Browse Source

待激活列表导出

zouxuan 1 year ago
parent
commit
657263ca1f

+ 1 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/ExportEnum.java

@@ -94,6 +94,7 @@ public enum ExportEnum implements BaseEnum<String, ExportEnum> {
     EXPORT_COURSE_INCOME("EXPORT_COURSE_INCOME","课程收入明细导出"),
     CLOUD_COACH_ACTIVATION_DETAILS("CLOUD_COACH_ACTIVATION_DETAILS","云教练激活明细"),
     EXPORT_MUSIC_GROUP_ECHELON_DATA("EXPORT_MUSIC_GROUP_ECHELON_DATA","乐团梯队数据导出"),
+    EXPORT_CLOUD_TEACHER_ORDER_INACTIVE("EXPORT_CLOUD_TEACHER_ORDER_INACTIVE","云教练待激活明细"),
     ;
 
     private String code;

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/CloudTeacherOrderService.java

@@ -75,6 +75,8 @@ public interface CloudTeacherOrderService extends BaseService<Long, CloudTeacher
      */
     String queryActiveOrderPage(Integer userId, Integer activeRemark, String remark);
 
+    List<CloudTeacherStudent> exportCloudTeacherOrderInActive(CloudTeacherOrderQueryInfo queryInfo);
+
     /**
      * 支付未激活用户
      *

+ 60 - 4
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CloudTeacherOrderServiceImpl.java

@@ -5,14 +5,14 @@ import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 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.dao.CloudTeacherOrderDao;
+import com.ym.mec.biz.dal.dao.EmployeeDao;
+import com.ym.mec.biz.dal.dao.SysConfigDao;
 import com.ym.mec.biz.dal.dto.CloudTeacherOrderDto;
 import com.ym.mec.biz.dal.dto.Mapper;
 import com.ym.mec.biz.dal.dto.SimpleUserDto;
 import com.ym.mec.biz.dal.entity.*;
-import com.ym.mec.biz.dal.enums.GroupType;
 import com.ym.mec.biz.dal.enums.MessageTypeEnum;
-import com.ym.mec.biz.dal.enums.PaymentChannelEnum;
 import com.ym.mec.biz.dal.enums.ReturnFeeEnum;
 import com.ym.mec.biz.dal.enums.TenantOrderRecordEnum;
 import com.ym.mec.biz.dal.page.CloudTeacherOrderQueryInfo;
@@ -38,7 +38,6 @@ import java.math.BigDecimal;
 import java.util.*;
 import java.util.stream.Collectors;
 
-import static com.ym.mec.biz.dal.enums.GroupType.GOODS_SELL;
 import static com.ym.mec.biz.dal.enums.GroupType.MEMBER;
 import static com.ym.mec.biz.dal.enums.PeriodEnum.*;
 
@@ -179,6 +178,63 @@ public class CloudTeacherOrderServiceImpl extends BaseServiceImpl<Long, CloudTea
     }
 
     @Override
+    public List<CloudTeacherStudent> exportCloudTeacherOrderInActive(CloudTeacherOrderQueryInfo queryInfo){
+        Map<String, Object> params = new HashMap<>();
+        MapUtil.populateMap(params, queryInfo);
+        List<CloudTeacherStudent> dataList = cloudTeacherOrderDao.queryInactive(params);
+        if (dataList == null || dataList.isEmpty()) {
+            return dataList;
+        }
+        List<Integer> organIds = dataList.stream().map(e -> e.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<>();
+        List<Integer> operatorIdList = dataList.stream().map(CloudTeacherStudent::getOperator)
+                .distinct().collect(Collectors.toList());
+        if (!operatorIdList.isEmpty()) {
+            List<SimpleUserDto> byIds = employeeDao.findByIds(operatorIdList);
+            byIds.forEach(next -> empMapById.put(next.getUserId(), next));
+        }
+        TenantConfig tenantConfig = tenantConfigService.getOne(new QueryWrapper<TenantConfig>().eq("tenant_id_", queryInfo.getTenantId()));
+        for (CloudTeacherStudent cst : dataList) {
+            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()));
+                }
+            }
+        }
+        return dataList;
+    }
+
+    @Override
     @Transactional(rollbackFor = Exception.class)
     public Map<String, Object> pay(List<CloudTeacherStudent> cloudTeacherStudents) throws Exception {
 

+ 13 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ExportServiceImpl.java

@@ -187,7 +187,7 @@ public class ExportServiceImpl implements ExportService {
     @Autowired
     private OssPluginContext ossPluginContext;
     @Autowired
-    private SysTenantConfigService sysTenantConfigService;
+    private CloudTeacherOrderService cloudTeacherOrderService;
 
     private static final ExecutorService exportExecutorService = Executors.newFixedThreadPool(10);
     @Autowired
@@ -354,6 +354,7 @@ public class ExportServiceImpl implements ExportService {
         exportFuncMap.put(ExportEnum.EXPORT_OPERATING_REPORT_NEW, (info) -> exportOperatingNew(info));
         exportFuncMap.put(ExportEnum.EXPORT_INDEX_COOP, (info) -> exportIndexCoop(info));
         exportFuncMap.put(ExportEnum.CLOUD_COACH_ACTIVATION_DETAILS, info -> exportCloudCoachActivationDetails(info));
+        exportFuncMap.put(ExportEnum.EXPORT_CLOUD_TEACHER_ORDER_INACTIVE, info -> exportCloudTeacherOrderInActive(info));
 
 
         //导出到报表中心
@@ -487,6 +488,17 @@ public class ExportServiceImpl implements ExportService {
         return cloudTeacherOrderDao.exportCloudCoachActivationDetails(month,organId);
     }
 
+    private List<CloudTeacherStudent> exportCloudTeacherOrderInActive(Map<String, Object> info) {
+        CloudTeacherOrderQueryInfo queryInfo = JSONObject.parseObject(JSONObject.toJSONString(info), CloudTeacherOrderQueryInfo.class);
+        Integer tenantId = TenantContextHolder.getTenantId();
+        queryInfo.setTenantId(tenantId);
+        queryInfo.setOrganIds(organizationService.getEmployeeOrgan(queryInfo.getOrganIds()));
+        if (StringUtils.isEmpty(queryInfo.getStatus())) {
+            queryInfo.setStatus("1,4");
+        }
+        return cloudTeacherOrderService.exportCloudTeacherOrderInActive(queryInfo);
+    }
+
     private List<DecimalMapDto> exportIndexCoop(Map<String, Object> info){
         String startTime = getParam(info, "startTime", String.class);
         String endTime = getParam(info, "endTime", String.class);