|  | @@ -6,6 +6,7 @@ import java.util.stream.Collectors;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  import com.alibaba.fastjson.JSON;
 | 
	
		
			
				|  |  |  import com.alibaba.fastjson.JSONObject;
 | 
	
		
			
				|  |  | +import com.baomidou.mybatisplus.core.conditions.Wrapper;
 | 
	
		
			
				|  |  |  import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.dao.*;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.entity.*;
 | 
	
	
		
			
				|  | @@ -40,7 +41,6 @@ public class CloudTeacherOrderServiceImpl extends BaseServiceImpl<Long, CloudTea
 | 
	
		
			
				|  |  |      private CourseScheduleDao courseScheduleDao;
 | 
	
		
			
				|  |  |      @Autowired
 | 
	
		
			
				|  |  |      private CloudTeacherDao cloudTeacherDao;
 | 
	
		
			
				|  |  | -    
 | 
	
		
			
				|  |  |      @Autowired
 | 
	
		
			
				|  |  |      private StudentService studentService;
 | 
	
		
			
				|  |  |      @Autowired
 | 
	
	
		
			
				|  | @@ -52,15 +52,34 @@ public class CloudTeacherOrderServiceImpl extends BaseServiceImpl<Long, CloudTea
 | 
	
		
			
				|  |  |      @Autowired
 | 
	
		
			
				|  |  |      private IdGeneratorService idGenerator;
 | 
	
		
			
				|  |  |      @Autowired
 | 
	
		
			
				|  |  | -    private CloudTeacherOrderRecordService cloudTeacherOrderRecordService;
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +    private TenantOrderRecordService tenantOrderRecordService;
 | 
	
		
			
				|  |  |      @Override
 | 
	
		
			
				|  |  |      public BaseDAO<Long, CloudTeacherOrder> getDAO() {
 | 
	
		
			
				|  |  |          return cloudTeacherOrderDao;
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @Override
 | 
	
		
			
				|  |  | -    public PageInfo<CloudTeacherStudent> queryInactive(CloudTeacherOrderQueryInfo queryInfo) {
 | 
	
		
			
				|  |  | +    public PageInfo<CloudTeacherStudent> queryActiveRecord(CloudTeacherOrderQueryInfo queryInfo) {
 | 
	
		
			
				|  |  | +        PageInfo<CloudTeacherStudent> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
 | 
	
		
			
				|  |  | +        Map<String, Object> params = new HashMap<>();
 | 
	
		
			
				|  |  | +        MapUtil.populateMap(params, queryInfo);
 | 
	
		
			
				|  |  | +        List<CloudTeacherStudent> dataList = null;
 | 
	
		
			
				|  |  | +        int count = cloudTeacherOrderDao.findRecordCount(params);
 | 
	
		
			
				|  |  | +        if (count > 0) {
 | 
	
		
			
				|  |  | +            pageInfo.setTotal(count);
 | 
	
		
			
				|  |  | +            params.put("offset", pageInfo.getOffset());
 | 
	
		
			
				|  |  | +            dataList = cloudTeacherOrderDao.queryRecord(params);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if (count == 0) {
 | 
	
		
			
				|  |  | +            dataList = new ArrayList<>();
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        pageInfo.setRows(dataList);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        return pageInfo;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    @Override
 | 
	
		
			
				|  |  | +    public PageInfo<CloudTeacherStudent> queryInactive(CloudTeacherOrderQueryInfo queryInfo) throws Exception {
 | 
	
		
			
				|  |  |          PageInfo<CloudTeacherStudent> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
 | 
	
		
			
				|  |  |          Map<String, Object> params = new HashMap<>();
 | 
	
		
			
				|  |  |          MapUtil.populateMap(params, queryInfo);
 | 
	
	
		
			
				|  | @@ -76,67 +95,66 @@ public class CloudTeacherOrderServiceImpl extends BaseServiceImpl<Long, CloudTea
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          pageInfo.setRows(dataList);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        // List<TenantConfig> tenCfg = tenantConfigService.list(new Wrapper<TenantConfig>());
 | 
	
		
			
				|  |  | -        assert dataList != null;
 | 
	
		
			
				|  |  | +        if (count == 0) {
 | 
	
		
			
				|  |  | +            return pageInfo;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  |          for (CloudTeacherStudent cst: dataList) {
 | 
	
		
			
				|  |  | -            if (cst.getTime() == null) continue;
 | 
	
		
			
				|  |  | -            TenantConfig tenantConfig = tenantConfigService.getById(cst.getTenantId());
 | 
	
		
			
				|  |  | -            if (tenantConfig == null) continue;
 | 
	
		
			
				|  |  | +            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");
 | 
	
		
			
				|  |  | -            if (cst.getType() == 1) {
 | 
	
		
			
				|  |  | -                double divide = memberConfig.getDouble("month_divide");
 | 
	
		
			
				|  |  | -                cst.setAmount(divide * cst.getTime());
 | 
	
		
			
				|  |  | -            } else if (cst.getType() == 2) { // 月
 | 
	
		
			
				|  |  | -                double divide = memberConfig.getDouble("month_divide");
 | 
	
		
			
				|  |  | -                cst.setAmount(divide * cst.getTime());
 | 
	
		
			
				|  |  | -            } else if (cst.getType() == 3) {
 | 
	
		
			
				|  |  | -                double divide = memberConfig.getDouble("quarter_divide");
 | 
	
		
			
				|  |  | -                cst.setAmount(divide * cst.getTime());
 | 
	
		
			
				|  |  | -            } else if (cst.getType() == 4) {
 | 
	
		
			
				|  |  | -                double divide = memberConfig.getDouble("half_year_divide");
 | 
	
		
			
				|  |  | -                cst.setAmount(divide * cst.getTime());
 | 
	
		
			
				|  |  | -            } else if (cst.getType() == 5) {
 | 
	
		
			
				|  |  | -                double divide = memberConfig.getDouble("year_divide");
 | 
	
		
			
				|  |  | -                cst.setAmount(divide * cst.getTime());
 | 
	
		
			
				|  |  | +            Double divide;
 | 
	
		
			
				|  |  | +            switch (cst.getType()) {
 | 
	
		
			
				|  |  | +                case 1:
 | 
	
		
			
				|  |  | +                    divide = memberConfig.getDouble("day_divide");
 | 
	
		
			
				|  |  | +                    break;
 | 
	
		
			
				|  |  | +                case 2:
 | 
	
		
			
				|  |  | +                    divide = memberConfig.getDouble("month_divide");
 | 
	
		
			
				|  |  | +                    break;
 | 
	
		
			
				|  |  | +                case 3:
 | 
	
		
			
				|  |  | +                    divide = memberConfig.getDouble("quarter_divide");
 | 
	
		
			
				|  |  | +                    break;
 | 
	
		
			
				|  |  | +                case 4:
 | 
	
		
			
				|  |  | +                    divide = memberConfig.getDouble("half_year_divide");
 | 
	
		
			
				|  |  | +                    break;
 | 
	
		
			
				|  |  | +                case 5:
 | 
	
		
			
				|  |  | +                    divide = memberConfig.getDouble("year_divide");
 | 
	
		
			
				|  |  | +                    break;
 | 
	
		
			
				|  |  | +                default:
 | 
	
		
			
				|  |  | +                    divide = null;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            if (divide == null) {
 | 
	
		
			
				|  |  | +                cst.setAmount(null);
 | 
	
		
			
				|  |  | +            } else {
 | 
	
		
			
				|  |  | +                cst.setAmount(new BigDecimal(divide * cst.getTime()));
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          return pageInfo;
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @Override
 | 
	
		
			
				|  |  | +    @Transactional(rollbackFor = Exception.class)
 | 
	
		
			
				|  |  |      public Map<String, Object> pay(List<CloudTeacherStudent> cloudTeacherStudents) throws Exception {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        BigDecimal sumAmount = new BigDecimal(0);
 | 
	
		
			
				|  |  | +        if (cloudTeacherStudents.size() == 0) {
 | 
	
		
			
				|  |  | +            throw new Exception("至少选择一条记录");
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  |          Integer tenantId = null;
 | 
	
		
			
				|  |  | -        StringBuilder payStudentIds = new StringBuilder();
 | 
	
		
			
				|  |  | -        StringBuilder payStudentIdsZero = new StringBuilder();
 | 
	
		
			
				|  |  |          for (CloudTeacherStudent cts: cloudTeacherStudents) {
 | 
	
		
			
				|  |  |              if (cts.getAmount() == null) {
 | 
	
		
			
				|  |  | -                throw new Exception("金额错误在 " + cts.getStudentId().toString() );
 | 
	
		
			
				|  |  | +                throw new Exception("金额错误在, 学生编号: " + cts.getStudentId().toString());
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              if (tenantId == null) {
 | 
	
		
			
				|  |  |                  tenantId = cts.getTenantId();
 | 
	
		
			
				|  |  | -            } else {
 | 
	
		
			
				|  |  | -                if (!tenantId.equals(cts.getTenantId())) {
 | 
	
		
			
				|  |  | -                    throw new Exception("分部Id 错误 " + cts.getStudentId().toString() );
 | 
	
		
			
				|  |  | -                }
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -            if (cts.getAmount() == 0) {
 | 
	
		
			
				|  |  | -                payStudentIdsZero.append(cts.getStudentId());
 | 
	
		
			
				|  |  | -                continue;
 | 
	
		
			
				|  |  | -            } else {
 | 
	
		
			
				|  |  | -                sumAmount.add(BigDecimal.valueOf(cts.getAmount()));
 | 
	
		
			
				|  |  | -                payStudentIds.append(cts.getStudentId().toString()).append(",");
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -        // 金额为 0 的
 | 
	
		
			
				|  |  | -        if (payStudentIdsZero.length() > 0) {
 | 
	
		
			
				|  |  | -            this.updateCloudTeacherOrder(payStudentIdsZero.toString());
 | 
	
		
			
				|  |  | -            createOrderRecord(tenantId, new BigDecimal(0), "", TenantOrderRecordEnum.CLOUD_TEACHER, 1, payStudentIdsZero.toString());
 | 
	
		
			
				|  |  | +        BigDecimal sumAmount = new BigDecimal(0);
 | 
	
		
			
				|  |  | +        for (CloudTeacherStudent cts: cloudTeacherStudents) {
 | 
	
		
			
				|  |  | +            sumAmount = sumAmount.add(cts.getAmount());
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -        return this.payExec(sumAmount, tenantId, payStudentIds.toString());
 | 
	
		
			
				|  |  | +        return this.payExec(sumAmount, tenantId, cloudTeacherStudents);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      /**
 | 
	
	
		
			
				|  | @@ -145,7 +163,7 @@ public class CloudTeacherOrderServiceImpl extends BaseServiceImpl<Long, CloudTea
 | 
	
		
			
				|  |  |       * @param tenantId 分部
 | 
	
		
			
				|  |  |       * @return
 | 
	
		
			
				|  |  |       */
 | 
	
		
			
				|  |  | -    private Map<String, Object> payExec(BigDecimal payAmount, Integer tenantId, String payStudentIds) throws Exception {
 | 
	
		
			
				|  |  | +    private Map<String, Object> payExec(BigDecimal payAmount, Integer tenantId, List<CloudTeacherStudent> cloudTeacherStudents) throws Exception {
 | 
	
		
			
				|  |  |          //生成订单编号
 | 
	
		
			
				|  |  |          String orderNo = idGenerator.generatorId("payment") + "";
 | 
	
		
			
				|  |  |          String baseApiUrl = sysConfigDao.findConfigValue("base_api_url");
 | 
	
	
		
			
				|  | @@ -166,26 +184,21 @@ public class CloudTeacherOrderServiceImpl extends BaseServiceImpl<Long, CloudTea
 | 
	
		
			
				|  |  |                      1,//临时写死
 | 
	
		
			
				|  |  |                      tenantEnum.getCode()
 | 
	
		
			
				|  |  |              );
 | 
	
		
			
				|  |  | -            createOrderRecord(tenantId, payAmount, orderNo, tenantEnum, orderState, payStudentIds);
 | 
	
		
			
				|  |  | -            log.info("tenant pay >>>>> " + JSON.toJSONString(payMap));
 | 
	
		
			
				|  |  | -        } else {
 | 
	
		
			
				|  |  | -            //已支付 直接激活
 | 
	
		
			
				|  |  | +        } else { // 消费大于 0 元 已支付 直接激活
 | 
	
		
			
				|  |  |              orderState = 1;
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | +        createOrderRecord(tenantId, payAmount, orderNo, tenantEnum, orderState, cloudTeacherStudents);
 | 
	
		
			
				|  |  | +        log.info("tenant pay >>>>> " + JSON.toJSONString(payMap));
 | 
	
		
			
				|  |  |          return payMap;
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    private Integer updateCloudTeacherOrder(String payStudentIds) {
 | 
	
		
			
				|  |  | -        return cloudTeacherOrderDao.updateCloudTeacherOrder(payStudentIds);
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +    @Transactional(rollbackFor = Exception.class)
 | 
	
		
			
				|  |  |      public Msg payNotify(Msg msg) {
 | 
	
		
			
				|  |  |          log.info("tenant orderNotify >>>>> " + msg.toString());
 | 
	
		
			
				|  |  |          msg.setMsg("fail");
 | 
	
		
			
				|  |  |          Map<String, String> notifyMap = JSON.parseObject(msg.getResponseParameters(), Map.class);
 | 
	
		
			
				|  |  | -        CloudTeacherOrderRecord record = cloudTeacherOrderRecordService.getOne(
 | 
	
		
			
				|  |  | -                new QueryWrapper<CloudTeacherOrderRecord>().eq("order_no_", notifyMap.get("orderNo")));
 | 
	
		
			
				|  |  | +        TenantOrderRecord record = tenantOrderRecordService.getOne(
 | 
	
		
			
				|  |  | +                new QueryWrapper<TenantOrderRecord>().eq("order_no_", notifyMap.get("orderNo")));
 | 
	
		
			
				|  |  |          record.setOrderNo(notifyMap.get("merMerOrderNo"));
 | 
	
		
			
				|  |  |          record.setTransNo(notifyMap.get("orderNo"));
 | 
	
		
			
				|  |  |          String channelType = notifyMap.get("channelType").equals("1") ? "WXPay" : (notifyMap.get("channelType").equals("2") ? "Alipay" : "quickPay");
 | 
	
	
		
			
				|  | @@ -196,25 +209,31 @@ public class CloudTeacherOrderServiceImpl extends BaseServiceImpl<Long, CloudTea
 | 
	
		
			
				|  |  |              //tradeState 88就是正确的 其他错误的
 | 
	
		
			
				|  |  |              //            DealStatusEnum
 | 
	
		
			
				|  |  |              //            notifyMap.put("totalMoney", notifyMap.get("payAmount"));
 | 
	
		
			
				|  |  | -            if (record.getPayStudentIds() != null) {
 | 
	
		
			
				|  |  | -                this.updateCloudTeacherOrder(record.getPayStudentIds());
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | +            log.info("tenant orderNotify update order status start" + record.getId().toString());
 | 
	
		
			
				|  |  | +            cloudTeacherOrderDao.updateOrderStatusOK(record.getId());
 | 
	
		
			
				|  |  | +            log.info("tenant orderNotify update order status end");
 | 
	
		
			
				|  |  |              record.setOrderState(1);
 | 
	
		
			
				|  |  |              msg.setCode("000000");
 | 
	
		
			
				|  |  |              msg.setMsg("success");
 | 
	
		
			
				|  |  |          } else {
 | 
	
		
			
				|  |  | +            log.info("tenant orderNotify fail");
 | 
	
		
			
				|  |  |              //支付失败
 | 
	
		
			
				|  |  |              record.setOrderState(2);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -        cloudTeacherOrderRecordService.update(record, new QueryWrapper<CloudTeacherOrderRecord>()
 | 
	
		
			
				|  |  | +        tenantOrderRecordService.update(record, new QueryWrapper<TenantOrderRecord>()
 | 
	
		
			
				|  |  |                  .eq("order_no_", record.getOrderNo()));
 | 
	
		
			
				|  |  |          log.info("tenant orderNotify return>>>>> " + msg.toString());
 | 
	
		
			
				|  |  |          return msg;
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    private void createOrderRecord(Integer tenantId, BigDecimal payAmount, String orderNo, TenantOrderRecordEnum tenantEnum, Integer orderState, String payStudentIds) {
 | 
	
		
			
				|  |  | +    public Boolean payCheck(String orderNo) {
 | 
	
		
			
				|  |  | +        TenantOrderRecord record = tenantOrderRecordService.getOne(new QueryWrapper<TenantOrderRecord>().eq("order_no_", orderNo));
 | 
	
		
			
				|  |  | +        return record.getOrderState() == 1;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    private void createOrderRecord(Integer tenantId, BigDecimal payAmount, String orderNo, TenantOrderRecordEnum tenantEnum, Integer orderState, List<CloudTeacherStudent> cloudTeacherStudents) {
 | 
	
		
			
				|  |  |          LocalDateTime now = LocalDateTime.now();
 | 
	
		
			
				|  |  | -        CloudTeacherOrderRecord record = new CloudTeacherOrderRecord();
 | 
	
		
			
				|  |  | +        TenantOrderRecord record = new TenantOrderRecord();
 | 
	
		
			
				|  |  |          record.setTenantId(tenantId);
 | 
	
		
			
				|  |  |          record.setOrderNo(orderNo);
 | 
	
		
			
				|  |  |          record.setOrderType(tenantEnum.getCode());
 | 
	
	
		
			
				|  | @@ -225,8 +244,10 @@ public class CloudTeacherOrderServiceImpl extends BaseServiceImpl<Long, CloudTea
 | 
	
		
			
				|  |  |          record.setPayDate(now.toLocalDate().toDate());
 | 
	
		
			
				|  |  |          record.setPayTime(now.toDate());
 | 
	
		
			
				|  |  |          record.setCreatedTime(now.toDate());
 | 
	
		
			
				|  |  | -        record.setPayStudentIds(payStudentIds);
 | 
	
		
			
				|  |  | -        cloudTeacherOrderRecordService.save(record);
 | 
	
		
			
				|  |  | +        tenantOrderRecordService.save(record);
 | 
	
		
			
				|  |  | +        for (CloudTeacherStudent cts : cloudTeacherStudents) {
 | 
	
		
			
				|  |  | +            cloudTeacherOrderDao.updateOrderId(cts.getCloudTeacherOrderId(), cts.getAmount(), record.getId());
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @Override
 | 
	
	
		
			
				|  | @@ -279,8 +300,14 @@ public class CloudTeacherOrderServiceImpl extends BaseServiceImpl<Long, CloudTea
 | 
	
		
			
				|  |  |  			periodEnum = PeriodEnum.MONTH;
 | 
	
		
			
				|  |  |  			break;
 | 
	
		
			
				|  |  |  		case 3:
 | 
	
		
			
				|  |  | -			periodEnum = PeriodEnum.YEAR;
 | 
	
		
			
				|  |  | +			periodEnum = PeriodEnum.QUARTERLY;
 | 
	
		
			
				|  |  |  			break;
 | 
	
		
			
				|  |  | +        case 4:
 | 
	
		
			
				|  |  | +            periodEnum = PeriodEnum.YEAR_HALF;
 | 
	
		
			
				|  |  | +            break;
 | 
	
		
			
				|  |  | +        case 5:
 | 
	
		
			
				|  |  | +            periodEnum = PeriodEnum.YEAR;
 | 
	
		
			
				|  |  | +            break;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  		default:
 | 
	
		
			
				|  |  |  			break;
 | 
	
	
		
			
				|  | @@ -292,14 +319,18 @@ public class CloudTeacherOrderServiceImpl extends BaseServiceImpl<Long, CloudTea
 | 
	
		
			
				|  |  |              cloudTeacher = new CloudTeacher();
 | 
	
		
			
				|  |  |              startTime = DateUtil.trunc(nowDate);
 | 
	
		
			
				|  |  |              endBaseTime = startTime;
 | 
	
		
			
				|  |  | -            if (cloudTeacherOrder.getType().equals(1)) {
 | 
	
		
			
				|  |  | +            if (cloudTeacherOrder.getType().equals(1)) { // 日
 | 
	
		
			
				|  |  |                  endTime = DateUtil.addDays(startTime, cloudTeacherOrder.getTime());
 | 
	
		
			
				|  |  | -            } else if (cloudTeacherOrder.getType().equals(2)) {
 | 
	
		
			
				|  |  | +            } else if (cloudTeacherOrder.getType().equals(2)) { // 月
 | 
	
		
			
				|  |  |                  endTime = DateUtil.addMonths(startTime, cloudTeacherOrder.getTime());
 | 
	
		
			
				|  |  | -            } else if (cloudTeacherOrder.getType().equals(3)) {
 | 
	
		
			
				|  |  | +            } else if (cloudTeacherOrder.getType().equals(3)) { // 季
 | 
	
		
			
				|  |  | +                endTime = DateUtil.addMonths(startTime, cloudTeacherOrder.getTime() * 3);
 | 
	
		
			
				|  |  | +            } else if (cloudTeacherOrder.getType().equals(4)) { // 半年
 | 
	
		
			
				|  |  | +                endTime = DateUtil.addMonths(startTime, cloudTeacherOrder.getTime() * 6);
 | 
	
		
			
				|  |  | +            } else if (cloudTeacherOrder.getType().equals(5)) { // 年
 | 
	
		
			
				|  |  |                  endTime = DateUtil.addYears(startTime, cloudTeacherOrder.getTime());
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  | -            cloudTeacher.setStudentId(cloudTeacherOrder.getStudentId());
 | 
	
		
			
				|  |  | +        cloudTeacher.setStudentId(cloudTeacherOrder.getStudentId());
 | 
	
		
			
				|  |  |              cloudTeacher.setLevel(cloudTeacherOrder.getLevel());
 | 
	
		
			
				|  |  |              cloudTeacher.setStartTime(startTime);
 | 
	
		
			
				|  |  |              cloudTeacher.setEndTime(endTime);
 | 
	
	
		
			
				|  | @@ -311,11 +342,15 @@ public class CloudTeacherOrderServiceImpl extends BaseServiceImpl<Long, CloudTea
 | 
	
		
			
				|  |  |                  startTime = DateUtil.trunc(nowDate);
 | 
	
		
			
				|  |  |                  endBaseTime = startTime;
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  | -            if (cloudTeacherOrder.getType().equals(1)) {
 | 
	
		
			
				|  |  | +            if (cloudTeacherOrder.getType().equals(1)) { // 日
 | 
	
		
			
				|  |  |                  endTime = DateUtil.addDays(endBaseTime, cloudTeacherOrder.getTime());
 | 
	
		
			
				|  |  | -            } else if (cloudTeacherOrder.getType().equals(2)) {
 | 
	
		
			
				|  |  | +            } else if (cloudTeacherOrder.getType().equals(2)) { // 月
 | 
	
		
			
				|  |  |                  endTime = DateUtil.addMonths(endBaseTime, cloudTeacherOrder.getTime());
 | 
	
		
			
				|  |  | -            } else if (cloudTeacherOrder.getType().equals(3)) {
 | 
	
		
			
				|  |  | +            } else if (cloudTeacherOrder.getType().equals(3)) { // 季
 | 
	
		
			
				|  |  | +                endTime = DateUtil.addMonths(endBaseTime, cloudTeacherOrder.getTime() * 3);
 | 
	
		
			
				|  |  | +            } else if (cloudTeacherOrder.getType().equals(4)) { // 半年
 | 
	
		
			
				|  |  | +                endTime = DateUtil.addMonths(endBaseTime, cloudTeacherOrder.getTime() * 6);
 | 
	
		
			
				|  |  | +            } else if (cloudTeacherOrder.getType().equals(5)) { // 年
 | 
	
		
			
				|  |  |                  endTime = DateUtil.addYears(endBaseTime, cloudTeacherOrder.getTime());
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              cloudTeacher.setStartTime(startTime);
 |