Bläddra i källkod

feat:12月活动

Joburgess 4 år sedan
förälder
incheckning
f29cc270d2

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/DegreeRegistrationDao.java

@@ -17,5 +17,5 @@ public interface DegreeRegistrationDao extends BaseDAO<Integer, DegreeRegistrati
 
     DegreeRegistration getWithUserIdAndActivityTag(@Param("degree") DegreeRegistration degree);
 
-    DegreeRegistration getWithSubjectAndLevel(@Param("degree") DegreeRegistration degree);
+    DegreeRegistration getWithLevel(@Param("degree") DegreeRegistration degree);
 }

+ 13 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentPaymentOrderDetailDao.java

@@ -3,6 +3,7 @@ package com.ym.mec.biz.dal.dao;
 import com.ym.mec.biz.dal.dto.MusicalListDetailDto;
 import com.ym.mec.biz.dal.entity.StudentPaymentOrderDetail;
 import com.ym.mec.biz.dal.enums.DealStatusEnum;
+import com.ym.mec.biz.dal.enums.OrderTypeEnum;
 import com.ym.mec.common.dal.BaseDAO;
 import org.apache.ibatis.annotations.Param;
 
@@ -118,4 +119,15 @@ public interface StudentPaymentOrderDetailDao extends BaseDAO<Long, StudentPayme
      * @return
      */
     List<StudentPaymentOrderDetail> getOrderGoodies(@Param("orderIds") List<Long> orderIds);
-}
+
+    /**
+     * @describe 获取用户指定类型的订单
+     * @author qnc99
+     * @date 2020/12/7 0007
+     * @param userId:
+     * @param orderType:
+     * @return java.util.List<com.ym.mec.biz.dal.entity.StudentPaymentOrderDetail>
+     */
+    List<StudentPaymentOrderDetail> getWithUserAndOrderType(@Param("userId") Integer userId,
+                                                            @Param("orderType")OrderTypeEnum orderType);
+}

+ 11 - 7
mec-biz/src/main/java/com/ym/mec/biz/service/impl/DegreeRegistrationServiceImpl.java

@@ -77,7 +77,7 @@ public class DegreeRegistrationServiceImpl extends BaseServiceImpl<Integer, Degr
         Student student = studentDao.getLocked(degreeRegistration.getUserId());
 
         degreeRegistration.setActivityTag(ACTIVITY_TAG);
-        DegreeRegistration degree = degreeRegistrationDao.getWithSubjectAndLevel(degreeRegistration);
+        DegreeRegistration degree = degreeRegistrationDao.getWithLevel(degreeRegistration);
 
         Date nowDate = new Date();
 
@@ -85,7 +85,7 @@ public class DegreeRegistrationServiceImpl extends BaseServiceImpl<Integer, Degr
 
         //获取收费项价格
         SporadicChargeInfo chargeInfo = null;
-        if(Objects.nonNull(degreeRegistration.getSporadicId())&&Objects.nonNull(degreeRegistration.getTheoryLevel())){
+        if(Objects.nonNull(degreeRegistration.getSporadicId())){
             chargeInfo = sporadicChargeInfoDao.get(degreeRegistration.getSporadicId());
             if (chargeInfo == null || chargeInfo.getDelFlag().equals(1) || chargeInfo.getOpenFlag().equals(1)) {
                 throw new BizException("你选的考试级别不存在");
@@ -95,8 +95,11 @@ public class DegreeRegistrationServiceImpl extends BaseServiceImpl<Integer, Degr
                     && StringUtils.isBlank(degreeRegistration.getTheoryCert())) {
                 throw new BizException("报考级别为“" + chargeInfo.getTitle() + "”且乐理级别是“免考”时,必须上传证书");
             }
+        }else{
+            degreeRegistration.setMoney(BigDecimal.ZERO);
+        }
 
-            degreeRegistration.setActivityTag(ACTIVITY_TAG);
+        if(Objects.nonNull(degreeRegistration.getTheoryLevel())){
             degreeRegistration.setLevel(chargeInfo.getTitle());
             degreeRegistration.setOrderNo(orderNo);
             BigDecimal theoryMoney = BigDecimal.ZERO;
@@ -119,6 +122,11 @@ public class DegreeRegistrationServiceImpl extends BaseServiceImpl<Integer, Degr
                     throw new BizException("您选择的乐理级别不存在,请核对");
             }
             degreeRegistration.setTheoryMoney(theoryMoney);
+        }else{
+            degreeRegistration.setTheoryMoney(BigDecimal.ZERO);
+        }
+
+        if(Objects.nonNull(degreeRegistration.getSporadicId())||Objects.nonNull(degreeRegistration.getTheoryLevel())){
             if (degree == null) {
                 degreeRegistration.setMoney(chargeInfo.getAmount());
                 degreeRegistration.setStatus(1);
@@ -148,9 +156,6 @@ public class DegreeRegistrationServiceImpl extends BaseServiceImpl<Integer, Degr
                 degreeRegistration.setUpdateTime(nowDate);
                 degreeRegistrationDao.update(degreeRegistration);
             }
-        }else{
-            degreeRegistration.setMoney(BigDecimal.ZERO);
-            degreeRegistration.setTheoryMoney(BigDecimal.ZERO);
         }
 
         BigDecimal additionCoursePrice = new BigDecimal("0");
@@ -176,7 +181,6 @@ public class DegreeRegistrationServiceImpl extends BaseServiceImpl<Integer, Degr
                         degreeRegistration.setMoney(degreeRegistration.getMoney().divide(new BigDecimal(2), CommonConstants.DECIMAL_FINAL_PLACE, BigDecimal.ROUND_DOWN));
                     }
                     highUnitPrice = practiceGroupSellPrice.getHighOnlineTenCourseActivityPriceWithNewUser();
-
                 }
                 if(vipMoreThan2&&additionCourseInfo.containsKey(CourseSchedule.CourseScheduleType.HIGH)){
                     degreeRegistration.setTheoryMoney(BigDecimal.ZERO);

+ 6 - 7
mec-biz/src/main/resources/config/mybatis/DegreeRegistrationMapper.xml

@@ -225,7 +225,7 @@
 
     <select id="getWithUserIdAndActivityTag" resultMap="DegreeRegistration">
         select *
-        from degree_registration
+            from degree_registration
         where
             user_id_ = #{degree.userId}
             AND activity_tag_=#{degree.activityTag}
@@ -240,13 +240,12 @@
             </if>
     </select>
 
-    <select id="getWithSubjectAndLevel" resultMap="DegreeRegistration">
+    <select id="getWithLevel" resultMap="DegreeRegistration">
         select *
-        from degree_registration
+            from degree_registration
         where
-        user_id_ = #{degree.userId}
-        AND activity_tag_=#{degree.activityTag}
-        AND subject_ = #{degree.subject}
-        AND (sporadic_id_ = #{degree.sporadicId} OR theory_level_ = #{degree.theoryLevel})
+            user_id_ = #{degree.userId}
+            AND activity_tag_=#{degree.activityTag}
+            AND (sporadic_id_ = #{degree.sporadicId} OR theory_level_ = #{degree.theoryLevel})
     </select>
 </mapper>

+ 6 - 0
mec-biz/src/main/resources/config/mybatis/StudentPaymentOrderDetailMapper.xml

@@ -258,4 +258,10 @@
         </foreach>
         AND spod.goods_id_list_ IS NOT NULL
     </select>
+
+    <select id="getWithUserAndOrderType" resultType="com.ym.mec.biz.dal.entity.StudentPaymentOrderDetail">
+        SELECT spod.* FROM student_payment_order_detail spod
+        LEFT JOIN student_payment_order spo ON spo.id_=spod.payment_order_id_
+        WHERE spo.user_id_= #{userId} AND spod.type_ = #{orderType, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
+    </select>
 </mapper>

+ 1 - 4
mec-student/src/main/java/com/ym/mec/student/controller/DegreeController.java

@@ -42,9 +42,6 @@ import java.util.*;
 public class DegreeController extends BaseController {
 
     @Autowired
-    private StudentPaymentOrderService studentPaymentOrderService;
-
-    @Autowired
     private DegreeRegistrationDao degreeRegistrationDao;
 
     @Autowired
@@ -107,7 +104,7 @@ public class DegreeController extends BaseController {
         }
         degreeRegistration.setUserId(user.getId());
         studentDao.getLocked(degreeRegistration.getUserId());
-        DegreeRegistration degree = degreeRegistrationDao.getWithSubjectAndLevel(degreeRegistration);
+        DegreeRegistration degree = degreeRegistrationDao.getWithLevel(degreeRegistration);
         if(Objects.nonNull(degree) && degree.getStatus().equals(2)){
             return failed(HttpStatus.CREATED, "您已报考过选择的考级项目");
         }