Explorar o código

Merge branch 'master' of http://git.dayaedu.com/yonge/mec

yonge %!s(int64=5) %!d(string=hai) anos
pai
achega
c0208f92d0

+ 93 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/PracticeBuyResultDto.java

@@ -0,0 +1,93 @@
+package com.ym.mec.biz.dal.dto;
+
+import com.ym.mec.biz.dal.enums.DealStatusEnum;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * @Author Joburgess
+ * @Date 2020/2/18
+ */
+public class PracticeBuyResultDto {
+
+    private String orderNo;
+
+    private DealStatusEnum status;
+
+    private BigDecimal price;
+
+    private Date createTime;
+
+    private String teacherName;
+
+    private Date courseStartTime;
+
+    private Date courseEndTime;
+
+    private String drillTimesJson;
+
+    public String getOrderNo() {
+        return orderNo;
+    }
+
+    public void setOrderNo(String orderNo) {
+        this.orderNo = orderNo;
+    }
+
+    public DealStatusEnum getStatus() {
+        return status;
+    }
+
+    public void setStatus(DealStatusEnum status) {
+        this.status = status;
+    }
+
+    public BigDecimal getPrice() {
+        return price;
+    }
+
+    public void setPrice(BigDecimal price) {
+        this.price = price;
+    }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    public String getTeacherName() {
+        return teacherName;
+    }
+
+    public void setTeacherName(String teacherName) {
+        this.teacherName = teacherName;
+    }
+
+    public Date getCourseStartTime() {
+        return courseStartTime;
+    }
+
+    public void setCourseStartTime(Date courseStartTime) {
+        this.courseStartTime = courseStartTime;
+    }
+
+    public Date getCourseEndTime() {
+        return courseEndTime;
+    }
+
+    public void setCourseEndTime(Date courseEndTime) {
+        this.courseEndTime = courseEndTime;
+    }
+
+    public String getDrillTimesJson() {
+        return drillTimesJson;
+    }
+
+    public void setDrillTimesJson(String drillTimesJson) {
+        this.drillTimesJson = drillTimesJson;
+    }
+}

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

@@ -11,6 +11,7 @@ public enum OrderTypeEnum implements BaseEnum<String, OrderTypeEnum> {
 	SPORADIC("SPORADIC", "零星收费"),
 	OTHER("OTHER", "其他"),
 	SMALL_CLASS_TO_BUY("SMALL_CLASS_TO_BUY", "小课购买"),
+	PRACTICE_GROUP_BUY("PRACTICE_GROUP_BUY", "陪练课购买"),
 	LUCK("LUCK", "福袋活动");
 
 	private String code;

+ 9 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/PracticeGroupService.java

@@ -187,4 +187,13 @@ public interface PracticeGroupService extends BaseService<Long, PracticeGroup> {
 	 * @return java.util.List<com.ym.mec.biz.dal.dto.PracticeCourseDto>
 	 */
 	List<PracticeCourseDto> findUserHistoryBuyPracticeGroups(Integer userId);
+
+	/**
+	 * @describe 查询订单信息
+	 * @author Joburgess
+	 * @date 2020/2/18
+	 * @param orderNo: 订单编号
+	 * @return com.ym.mec.biz.dal.dto.PracticeBuyResultDto
+	 */
+	PracticeBuyResultDto queryOrderInfo(String orderNo);
 }

+ 45 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/PracticeGroupServiceImpl.java

@@ -2409,6 +2409,9 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
         }
 
         if (CollectionUtils.isEmpty(allTeacherCourses)) {
+            if(weekNumApplyTimesMap.size()<=1){
+                weekNumApplyTimesMap=new HashMap<>();
+            }
             result.put("teacherFreeDays", weekNumApplyTimesMap);
             return result;
         }
@@ -2462,6 +2465,9 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
             }
             weekNumApplyTimesMap.put(courseStartTime.getDayOfWeek().getValue(), applyTimeStrs);
         }
+        if(weekNumApplyTimesMap.size()<=1){
+            weekNumApplyTimesMap=new HashMap<>();
+        }
         result.put("teacherFreeDays", weekNumApplyTimesMap);
         return result;
     }
@@ -2701,7 +2707,7 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
         String orderNo=idGeneratorService.generatorId("payment") + "";
         studentPaymentOrder.setOrderNo(orderNo);
         studentPaymentOrder.setStatus(DealStatusEnum.ING);
-        studentPaymentOrder.setType(OrderTypeEnum.SMALL_CLASS_TO_BUY);
+        studentPaymentOrder.setType(OrderTypeEnum.PRACTICE_GROUP_BUY);
         studentPaymentOrder.setExpectAmount(amount);
         studentPaymentOrder.setMusicGroupId(practiceGroupBuyParams.getId().toString());
         studentPaymentOrder.setActualAmount(studentPaymentOrder.getExpectAmount());
@@ -2873,4 +2879,42 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
         }
         return userPracticeGroups;
     }
+
+    @Override
+    public PracticeBuyResultDto queryOrderInfo(String orderNo) {
+        if(StringUtils.isBlank(orderNo)){
+            throw new BizException("订单不存在");
+        }
+        StudentPaymentOrder order = studentPaymentOrderDao.findOrderByOrderNo(orderNo);
+        if(Objects.isNull(order)){
+            throw new BizException("订单不存在");
+        }
+        PracticeBuyResultDto practiceBuyResult=new PracticeBuyResultDto();
+        practiceBuyResult.setOrderNo(orderNo);
+        practiceBuyResult.setStatus(order.getStatus());
+        practiceBuyResult.setCreateTime(order.getCreateTime());
+        if(order.getStatus().equals(DealStatusEnum.FAILED)){
+            return practiceBuyResult;
+        }
+        SysConfig practiceCourseMinutesConfig = sysConfigService.findByParamName(SysConfigService.PRACTICE_COURSE_MINUTES);
+        Integer practiceCourseMinutes = practiceCourseMinutesConfig.getParanValue(Integer.class);
+        PracticeGroup practiceGroup = practiceGroupDao.get(Long.valueOf(order.getMusicGroupId()));
+        JSONArray coursesArry=new JSONArray();
+        JSONObject courseJson=JSON.parseObject(practiceGroup.getDrillTimesJson());
+        for (String weekNumStr : courseJson.keySet()) {
+            JSONObject newCourseJson=new JSONObject();
+            newCourseJson.put("weekName",DateUtil.weekNumNormalWeekNameMap.get(Integer.parseInt(weekNumStr)));
+            LocalTime courseStartTime=LocalTime.parse(courseJson.getString(weekNumStr),DateUtil.timeFormatter);
+            LocalTime courseEndTime=courseStartTime.plusMinutes(practiceCourseMinutes);
+            newCourseJson.put("startTime",courseStartTime.format(DateUtil.timeFormatter));
+            newCourseJson.put("endTime",courseEndTime.format(DateUtil.timeFormatter));
+            coursesArry.add(newCourseJson);
+        }
+        practiceBuyResult.setDrillTimesJson(coursesArry.toJSONString());
+        practiceBuyResult.setCourseStartTime(practiceGroup.getCoursesStartDate());
+        practiceBuyResult.setCourseEndTime(practiceGroup.getCoursesExpireDate());
+        Teacher teacher = teacherDao.get(practiceGroup.getUserId());
+        practiceBuyResult.setTeacherName(teacher.getRealName());
+        return practiceBuyResult;
+    }
 }

+ 12 - 18
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentPaymentOrderServiceImpl.java

@@ -1,18 +1,5 @@
 package com.ym.mec.biz.service.impl;
 
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
 import com.alibaba.fastjson.JSON;
 import com.huifu.adapay.model.payment.Payment;
 import com.ym.mec.biz.dal.dao.StudentPaymentOrderDao;
@@ -25,11 +12,7 @@ import com.ym.mec.biz.dal.enums.GroupType;
 import com.ym.mec.biz.dal.enums.OrderDetailTypeEnum;
 import com.ym.mec.biz.dal.enums.OrderTypeEnum;
 import com.ym.mec.biz.dal.page.SporadicOrderQueryInfo;
-import com.ym.mec.biz.service.MusicGroupService;
-import com.ym.mec.biz.service.SporadicChargeInfoService;
-import com.ym.mec.biz.service.StudentPaymentOrderService;
-import com.ym.mec.biz.service.StudentRegistrationService;
-import com.ym.mec.biz.service.VipGroupService;
+import com.ym.mec.biz.service.*;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
@@ -39,6 +22,11 @@ import com.ym.mec.thirdparty.yqpay.RsqMsg;
 import com.ym.mec.thirdparty.yqpay.YqPayFeignService;
 import com.ym.mec.thirdparty.yqpay.YqPayUtil;
 import com.ym.mec.util.collection.MapUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.*;
+import java.util.stream.Collectors;
 
 @Service
 public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, StudentPaymentOrder> implements StudentPaymentOrderService {
@@ -55,6 +43,8 @@ public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, Studen
     private MusicGroupService musicGroupService;
     @Autowired
     private SporadicChargeInfoService sporadicChargeInfoService;
+    @Autowired
+    private PracticeGroupService practiceGroupService;
 
     @Override
     public BaseDAO<Long, StudentPaymentOrder> getDAO() {
@@ -203,6 +193,8 @@ public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, Studen
             musicGroupService.renewForCallback(order);
         }else if (order.getType().equals(OrderTypeEnum.SPORADIC)||order.getType().equals(OrderTypeEnum.LUCK)){
             sporadicChargeInfoService.renewForCallback(order);
+        }else if (order.getType().equals(OrderTypeEnum.PRACTICE_GROUP_BUY)){
+            practiceGroupService.orderCallback(order);
         }
     }
 
@@ -234,6 +226,8 @@ public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, Studen
                     musicGroupService.renewForCallback(order);
                 }else if (order.getType().equals(OrderTypeEnum.SPORADIC)||order.getType().equals(OrderTypeEnum.LUCK)){
                     sporadicChargeInfoService.renewForCallback(order);
+                }else if (order.getType().equals(OrderTypeEnum.PRACTICE_GROUP_BUY)){
+                    practiceGroupService.orderCallback(order);
                 }
             } catch (Exception e) {
                 e.printStackTrace();

+ 6 - 0
mec-student/src/main/java/com/ym/mec/student/controller/PracticeGroupController.java

@@ -159,4 +159,10 @@ public class PracticeGroupController extends BaseController {
         return succeed(practiceGroupService.findUserHistoryBuyPracticeGroups(sysUser.getId()));
     }
 
+    @ApiOperation("查询订单信息")
+    @GetMapping(value = "/queryOrderInfo")
+    public HttpResponseResult queryOrderInfo(String orderNo){
+        return succeed(practiceGroupService.queryOrderInfo(orderNo));
+    }
+
 }