浏览代码

Merge branch 'saas' of http://git.dayaedu.com/yonge/mec into zx_saas_1220

zouxuan 1 年之前
父节点
当前提交
ed9c735cb0

+ 1 - 1
mec-application/src/main/java/com/ym/mec/web/controller/CloudTeacherOrderController.java

@@ -50,7 +50,7 @@ public class CloudTeacherOrderController extends BaseController {
     public HttpResponseResult<PageInfo<CloudTeacherStudent>> queryInactive(@RequestBody CloudTeacherOrderQueryInfo cloudTeacherOrderQueryInfo) throws Exception {
         Integer tenantId = TenantContextHolder.getTenantId();
         cloudTeacherOrderQueryInfo.setTenantId(tenantId);
-        String organIds = organizationService.getEmployeeOrgan("");
+        String organIds = organizationService.getEmployeeOrgan(cloudTeacherOrderQueryInfo.getOrganIds());
         if (StringUtils.isEmpty(cloudTeacherOrderQueryInfo.getStatus())) {
             cloudTeacherOrderQueryInfo.setStatus("1,4");
         }

+ 1 - 1
mec-application/src/main/java/com/ym/mec/web/controller/ExportController.java

@@ -1801,7 +1801,7 @@ public class ExportController extends BaseController {
         OutputStream outputStream = response.getOutputStream();
         try {
             String[] header = {"姓名", "性别", "用户编号", "证件号码", "所属城市", "学校", "报考专业", "报考信息", "证书", "联系电话", "备注", "缴费状态", "订单编号", "交易流水号", "报名时间"};
-            String[] body = {"name", "gender", "userId", "idcard",  "organName", "com/ym/app/web/controller/school", "type.code =='GRADE'?'专业考级':'小组考级'",
+            String[] body = {"name", "gender", "userId", "idcard",  "organName", "com/ym/app/web/controller/school", "type.code =='GRADE'?'专业考级':'乐理考级'",
                     "type.code =='GRADE'?subjectName+'/'+level+'/'+money +'元':level+'/'+money +'元'",
                     "theoryCert", "mobile", "memo", "statusStr", "orderNo", "transNo", "createTime"};
             HSSFWorkbook workbook = POIUtil.exportExcel(header, body, pageList.getRows());

+ 0 - 4
mec-application/src/main/java/com/ym/mec/web/controller/MusicGroupQuitController.java

@@ -1,7 +1,6 @@
 package com.ym.mec.web.controller;
 
 import com.ym.mec.auth.api.entity.SysUser;
-import com.ym.mec.biz.dal.dao.CloudTeacherOrderDao;
 import com.ym.mec.biz.dal.dao.StudentInstrumentDao;
 import com.ym.mec.biz.dal.dao.TeacherDao;
 import com.ym.mec.biz.dal.dto.MusicGroupQuitDto;
@@ -43,8 +42,6 @@ public class MusicGroupQuitController extends BaseController {
     @Autowired
     private StudentInstrumentDao studentInstrumentDao;
     @Autowired
-    private CloudTeacherOrderDao cloudTeacherOrderDao;
-    @Autowired
     private TeacherDao teacherDao;
     @Autowired
     private OrganizationService organizationService;
@@ -66,7 +63,6 @@ public class MusicGroupQuitController extends BaseController {
                 nameByIdList = MapUtil.convertMybatisMap(teacherDao.queryNameByIdList(applyUserIds));
             }
             //查询是否有有效期内乐保
-            Date nowDate = new Date();
             for (MusicGroupQuit row : rows) {
                 if(row.getApplyUserId() != null){
                     row.setApplyUserName(nameByIdList.get(row.getApplyUserId()));

+ 6 - 168
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/CloudTeacherStudent.java

@@ -2,16 +2,12 @@ package com.ym.mec.biz.dal.entity;
 
 import com.ym.mec.biz.dal.enums.PeriodEnum;
 import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
 
 import java.math.BigDecimal;
 import java.util.Date;
 
-/**
- * Description
- * 团练宝查询学生
- * @author: feng-ji
- * @date: 2021-12-21
- */
+@Data
 public class CloudTeacherStudent {
 
     @ApiModelProperty(value = "学生Id")
@@ -36,6 +32,9 @@ public class CloudTeacherStudent {
     private String subjectName;
 
     @ApiModelProperty(value = "所属分部")
+    private Integer organId;
+
+    @ApiModelProperty(value = "所属分部")
     private String organName;
 
     @ApiModelProperty(value = "团练宝类型")
@@ -74,166 +73,5 @@ public class CloudTeacherStudent {
     @ApiModelProperty(value = "取消原因")
     private String cancelReason;
 
-    // ------------------------------------------------------------------------------------------
-
-    public String getTransNo() {
-        return transNo;
-    }
-
-    public void setTransNo(String transNo) {
-        this.transNo = transNo;
-    }
-
-    public String getOrderNo() {
-        return orderNo;
-    }
-
-    public void setOrderNo(String orderNo) {
-        this.orderNo = orderNo;
-    }
-
-    public String getOrderTime() {
-        return orderTime;
-    }
-
-    public void setOrderTime(String orderTime) {
-        this.orderTime = orderTime;
-    }
-
-    public String getTypeName() {
-        return typeName;
-    }
-
-    public void setTypeName(String typeName) {
-        this.typeName = typeName;
-    }
-
-
-    public Integer getTenantId() {
-        return tenantId;
-    }
-
-    public void setTenantId(Integer tenantId) {
-        this.tenantId = tenantId;
-    }
-
-    public Integer getStudentId() {
-        return studentId;
-    }
-
-    public void setStudentId(Integer studentId) {
-        this.studentId = studentId;
-    }
-
-    public Integer getCloudTeacherOrderId() {
-        return cloudTeacherOrderId;
-    }
-
-    public void setCloudTeacherOrderId(Integer cloudTeacherOrderId) {
-        this.cloudTeacherOrderId = cloudTeacherOrderId;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-
-    public String getPhone() {
-        return phone;
-    }
-
-    public void setPhone(String phone) {
-        this.phone = phone;
-    }
-
-    public PeriodEnum getType() {
-        return type;
-    }
-
-    public void setType(PeriodEnum type) {
-        this.type = type;
-    }
-
-    public Integer getTime() {
-        return time;
-    }
-
-    public void setTime(Integer time) {
-        this.time = time;
-    }
-
-    public Integer getSubject() {
-        return subject;
-    }
-
-    public void setSubject(Integer subject) {
-        this.subject = subject;
-    }
-
-    public String getSubjectName() {
-        return subjectName;
-    }
-
-    public void setSubjectName(String subjectName) {
-        this.subjectName = subjectName;
-    }
-
-    public String getOrganName() {
-        return organName;
-    }
-
-    public void setOrganName(String organName) {
-        this.organName = organName;
-    }
-
-    public BigDecimal getAmount() {
-        return amount;
-    }
-
-    public void setAmount(BigDecimal amount) {
-        this.amount = amount;
-    }
-
-    public Integer getOperator() {
-        return operator;
-    }
-
-    public void setOperator(Integer operator) {
-        this.operator = operator;
-    }
-
-    public Date getOperateTime() {
-        return operateTime;
-    }
-
-    public void setOperateTime(Date operateTime) {
-        this.operateTime = operateTime;
-    }
-
-    public String getOperatorName() {
-        return operatorName;
-    }
-
-    public void setOperatorName(String operatorName) {
-        this.operatorName = operatorName;
-    }
-
-    public String getCancelReason() {
-        return cancelReason;
-    }
-
-    public void setCancelReason(String cancelReason) {
-        this.cancelReason = cancelReason;
-    }
-
-    public Integer getStatus() {
-        return status;
-    }
-
-    public void setStatus(Integer status) {
-        this.status = status;
-    }
+    private Date createTime;
 }

+ 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 - 6
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CloudTeacherOrderServiceImpl.java

@@ -7,15 +7,12 @@ import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.CloudTeacherOrderDao;
 import com.ym.mec.biz.dal.dao.EmployeeDao;
-import com.ym.mec.biz.dal.dao.MusicGroupPaymentCalenderDao;
 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;
@@ -41,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.*;
 
@@ -64,8 +60,6 @@ public class CloudTeacherOrderServiceImpl extends BaseServiceImpl<Long, CloudTea
     @Autowired
     private TenantOrderRecordService tenantOrderRecordService;
     @Autowired
-    private MusicGroupPaymentCalenderDao musicGroupPaymentCalenderDao;
-    @Autowired
     private SysConfigDao sysConfigDao;
 
     @Autowired
@@ -133,6 +127,8 @@ 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());
+        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)
@@ -142,6 +138,7 @@ public class CloudTeacherOrderServiceImpl extends BaseServiceImpl<Long, CloudTea
             byIds.forEach(next -> empMapById.put(next.getUserId(), next));
         }
         for (CloudTeacherStudent cst : dataList) {
+            cst.setOrganName(organNameMap.get(cst.getOrganId()));
             if (cst.getOperator() != null) {
                 cst.setOperatorName(empMapById.getOrDefault(cst.getOperator(), new SimpleUserDto()).getUserName());
             }
@@ -181,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);

+ 2 - 0
mec-biz/src/main/resources/config/mybatis/CloudTeacherOrderMapper.xml

@@ -335,6 +335,8 @@
                ,cto.operator_ as operator
                ,cto.operate_time_ as operateTime
                ,cto.cancel_reason_ as cancelReason
+                ,cto.organ_id_ organId
+                ,cto.create_time_ createTime
         from cloud_teacher_order cto
         left join student s on cto.student_id_ = s.user_id_
         left join sys_user u on cto.student_id_ = u.id_