|  | @@ -1,12 +1,16 @@
 | 
											
												
													
														|  |  package com.ym.mec.biz.service.impl;
 |  |  package com.ym.mec.biz.service.impl;
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  import java.math.BigDecimal;
 |  |  import java.math.BigDecimal;
 | 
											
												
													
														|  | -import java.util.Date;
 |  | 
 | 
											
												
													
														|  | -import java.util.List;
 |  | 
 | 
											
												
													
														|  | -import java.util.Map;
 |  | 
 | 
											
												
													
														|  | -import java.util.Set;
 |  | 
 | 
											
												
													
														|  | 
 |  | +import java.util.*;
 | 
											
												
													
														|  |  import java.util.stream.Collectors;
 |  |  import java.util.stream.Collectors;
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | 
 |  | +import com.alibaba.fastjson.JSON;
 | 
											
												
													
														|  | 
 |  | +import com.alibaba.fastjson.JSONObject;
 | 
											
												
													
														|  | 
 |  | +import com.ym.mec.biz.dal.entity.*;
 | 
											
												
													
														|  | 
 |  | +import com.ym.mec.biz.dal.page.CloudTeacherOrderQueryInfo;
 | 
											
												
													
														|  | 
 |  | +import com.ym.mec.biz.service.TenantConfigService;
 | 
											
												
													
														|  | 
 |  | +import com.ym.mec.common.page.PageInfo;
 | 
											
												
													
														|  | 
 |  | +import com.ym.mec.util.collection.MapUtil;
 | 
											
												
													
														|  |  import org.springframework.beans.factory.annotation.Autowired;
 |  |  import org.springframework.beans.factory.annotation.Autowired;
 | 
											
												
													
														|  |  import org.springframework.stereotype.Service;
 |  |  import org.springframework.stereotype.Service;
 | 
											
												
													
														|  |  import org.springframework.transaction.annotation.Transactional;
 |  |  import org.springframework.transaction.annotation.Transactional;
 | 
											
										
											
												
													
														|  | @@ -15,10 +19,6 @@ import com.ym.mec.biz.dal.dao.CloudTeacherDao;
 | 
											
												
													
														|  |  import com.ym.mec.biz.dal.dao.CloudTeacherOrderDao;
 |  |  import com.ym.mec.biz.dal.dao.CloudTeacherOrderDao;
 | 
											
												
													
														|  |  import com.ym.mec.biz.dal.dao.CourseScheduleDao;
 |  |  import com.ym.mec.biz.dal.dao.CourseScheduleDao;
 | 
											
												
													
														|  |  import com.ym.mec.biz.dal.dto.CloudTeacherOrderDto;
 |  |  import com.ym.mec.biz.dal.dto.CloudTeacherOrderDto;
 | 
											
												
													
														|  | -import com.ym.mec.biz.dal.entity.CloudTeacher;
 |  | 
 | 
											
												
													
														|  | -import com.ym.mec.biz.dal.entity.CloudTeacherOrder;
 |  | 
 | 
											
												
													
														|  | -import com.ym.mec.biz.dal.entity.CourseSchedule;
 |  | 
 | 
											
												
													
														|  | -import com.ym.mec.biz.dal.entity.StudentPaymentOrder;
 |  | 
 | 
											
												
													
														|  |  import com.ym.mec.biz.dal.enums.PeriodEnum;
 |  |  import com.ym.mec.biz.dal.enums.PeriodEnum;
 | 
											
												
													
														|  |  import com.ym.mec.biz.service.CloudTeacherOrderService;
 |  |  import com.ym.mec.biz.service.CloudTeacherOrderService;
 | 
											
												
													
														|  |  import com.ym.mec.biz.service.StudentService;
 |  |  import com.ym.mec.biz.service.StudentService;
 | 
											
										
											
												
													
														|  | @@ -40,6 +40,8 @@ public class CloudTeacherOrderServiceImpl extends BaseServiceImpl<Long, CloudTea
 | 
											
												
													
														|  |      @Autowired
 |  |      @Autowired
 | 
											
												
													
														|  |      private StudentService studentService;
 |  |      private StudentService studentService;
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | 
 |  | +    @Autowired
 | 
											
												
													
														|  | 
 |  | +    private TenantConfigService tenantConfigService;
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |      @Override
 |  |      @Override
 | 
											
												
													
														|  |      public BaseDAO<Long, CloudTeacherOrder> getDAO() {
 |  |      public BaseDAO<Long, CloudTeacherOrder> getDAO() {
 | 
											
										
											
												
													
														|  | @@ -47,6 +49,54 @@ public class CloudTeacherOrderServiceImpl extends BaseServiceImpl<Long, CloudTea
 | 
											
												
													
														|  |      }
 |  |      }
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |      @Override
 |  |      @Override
 | 
											
												
													
														|  | 
 |  | +    public PageInfo<CloudTeacherStudent> queryInactive(CloudTeacherOrderQueryInfo queryInfo) {
 | 
											
												
													
														|  | 
 |  | +        PageInfo<CloudTeacherStudent> pageInfo = new PageInfo<CloudTeacherStudent>(queryInfo.getPage(), queryInfo.getRows());
 | 
											
												
													
														|  | 
 |  | +        Map<String, Object> params = new HashMap<String, Object>();
 | 
											
												
													
														|  | 
 |  | +        MapUtil.populateMap(params, queryInfo);
 | 
											
												
													
														|  | 
 |  | +        List<CloudTeacherStudent> dataList = null;
 | 
											
												
													
														|  | 
 |  | +        int count = cloudTeacherOrderDao.findInactiveCount(params);
 | 
											
												
													
														|  | 
 |  | +        if (count > 0) {
 | 
											
												
													
														|  | 
 |  | +            pageInfo.setTotal(count);
 | 
											
												
													
														|  | 
 |  | +            params.put("offset", pageInfo.getOffset());
 | 
											
												
													
														|  | 
 |  | +            dataList = cloudTeacherOrderDao.queryInactive(params);
 | 
											
												
													
														|  | 
 |  | +        }
 | 
											
												
													
														|  | 
 |  | +        if (count == 0) {
 | 
											
												
													
														|  | 
 |  | +            dataList = new ArrayList<CloudTeacherStudent>();
 | 
											
												
													
														|  | 
 |  | +        }
 | 
											
												
													
														|  | 
 |  | +        pageInfo.setRows(dataList);
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +        // List<TenantConfig> tenCfg = tenantConfigService.list(new Wrapper<TenantConfig>());
 | 
											
												
													
														|  | 
 |  | +        for (CloudTeacherStudent cst: dataList) {
 | 
											
												
													
														|  | 
 |  | +            if (cst.getTime() == null) continue;
 | 
											
												
													
														|  | 
 |  | +            TenantConfig tenantConfig = tenantConfigService.getById(cst.getTenantId());
 | 
											
												
													
														|  | 
 |  | +            JSONObject cfg = JSON.parseObject(tenantConfig.getConfig());
 | 
											
												
													
														|  | 
 |  | +            JSONObject memberConfig = (JSONObject) cfg.get("member_config");
 | 
											
												
													
														|  | 
 |  | +            if (cst.getType() == 1) {
 | 
											
												
													
														|  | 
 |  | +                double divide = memberConfig.getDouble("month_divide");
 | 
											
												
													
														|  | 
 |  | +                cst.setPrice(divide * cst.getTime());
 | 
											
												
													
														|  | 
 |  | +            } else if (cst.getType() == 2) { // 月
 | 
											
												
													
														|  | 
 |  | +                double divide = memberConfig.getDouble("month_divide");
 | 
											
												
													
														|  | 
 |  | +                cst.setPrice(divide * cst.getTime());
 | 
											
												
													
														|  | 
 |  | +            } else if (cst.getType() == 3) {
 | 
											
												
													
														|  | 
 |  | +                double divide = memberConfig.getDouble("quarter_divide");
 | 
											
												
													
														|  | 
 |  | +                cst.setPrice(divide * cst.getTime());
 | 
											
												
													
														|  | 
 |  | +            } else if (cst.getType() == 4) {
 | 
											
												
													
														|  | 
 |  | +                double divide = memberConfig.getDouble("half_year_divide");
 | 
											
												
													
														|  | 
 |  | +                cst.setPrice(divide * cst.getTime());
 | 
											
												
													
														|  | 
 |  | +            } else if (cst.getType() == 5) {
 | 
											
												
													
														|  | 
 |  | +                double divide = memberConfig.getDouble("year_divide");
 | 
											
												
													
														|  | 
 |  | +                cst.setPrice(divide * cst.getTime());
 | 
											
												
													
														|  | 
 |  | +            }
 | 
											
												
													
														|  | 
 |  | +        }
 | 
											
												
													
														|  | 
 |  | +        return pageInfo;
 | 
											
												
													
														|  | 
 |  | +    }
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +    @Override
 | 
											
												
													
														|  | 
 |  | +    public Boolean pay(List<CloudTeacherStudent> orders) {
 | 
											
												
													
														|  | 
 |  | +        return true;
 | 
											
												
													
														|  | 
 |  | +    }
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +    @Override
 | 
											
												
													
														|  |      @Transactional(rollbackFor = Exception.class)
 |  |      @Transactional(rollbackFor = Exception.class)
 | 
											
												
													
														|  |  	public Boolean addOrderDetail2CloudTeacher(StudentPaymentOrder order,BigDecimal cloudTeacherFee) {
 |  |  	public Boolean addOrderDetail2CloudTeacher(StudentPaymentOrder order,BigDecimal cloudTeacherFee) {
 | 
											
												
													
														|  |  		CloudTeacherOrder cloudTeacherOrder = cloudTeacherOrderDao.queryByOrderId(order.getId());
 |  |  		CloudTeacherOrder cloudTeacherOrder = cloudTeacherOrderDao.queryByOrderId(order.getId());
 |