Browse Source

1、试听课

Joburgess 5 years ago
parent
commit
c109831897

+ 9 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/PracticeGroupDao.java

@@ -99,6 +99,15 @@ public interface PracticeGroupDao extends com.ym.mec.common.dal.BaseDAO<Long, Pr
                                         @Param("groupId") Long groupId);
 
     /**
+     * @describe 统计指定学员购买收费网管课的数量
+     * @author Joburgess
+     * @date 2020/4/24
+     * @param studentId:
+     * @return int
+     */
+    int checkStudentExitChargePractice(@Param("studentId") Integer studentId);
+
+    /**
      * @param userId:
      * @param groupId:
      * @return com.ym.mec.biz.dal.entity.PracticeGroup

+ 20 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/PracticeGroupSellPrice.java

@@ -15,14 +15,34 @@ public class PracticeGroupSellPrice {
 
     private BigDecimal onceActivityPrice;
 
+    private BigDecimal onceQuartActivityPrice;
+
     private BigDecimal twiceOriginalPrice;
 
     private BigDecimal twiceActivityPrice;
 
+    private BigDecimal twiceQuartActivityPrice;
+
     private Date createTime;
 
     private Date updateTime;
 
+    public BigDecimal getOnceQuartActivityPrice() {
+        return onceQuartActivityPrice;
+    }
+
+    public void setOnceQuartActivityPrice(BigDecimal onceQuartActivityPrice) {
+        this.onceQuartActivityPrice = onceQuartActivityPrice;
+    }
+
+    public BigDecimal getTwiceQuartActivityPrice() {
+        return twiceQuartActivityPrice;
+    }
+
+    public void setTwiceQuartActivityPrice(BigDecimal twiceQuartActivityPrice) {
+        this.twiceQuartActivityPrice = twiceQuartActivityPrice;
+    }
+
     public Integer getOrganId() {
         return organId;
     }

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

@@ -2693,6 +2693,12 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
             throw new BizException("老师不存在");
         }
 
+        int studentExitChargePractices = practiceGroupDao.checkStudentExitChargePractice(practiceGroupBuyParams.getStudentId());
+        Integer buyMonths=practiceGroupBuyParams.getBuyMonths();
+        if(studentExitChargePractices<=0){
+            practiceGroupBuyParams.setBuyMonths(2);
+        }
+
         SysConfig practiceCourseMinutesConfig = sysConfigService.findByParamName(SysConfigService.PRACTICE_COURSE_MINUTES);
         Integer practiceCourseMinutes = practiceCourseMinutesConfig.getParanValue(Integer.class);
         SysConfig practiceCourseSalaryConfig = sysConfigService.findByParamName(SysConfigService.PRACTICE_COURSE_SALARY);
@@ -2808,10 +2814,13 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
         BigDecimal oneMonthPrice;
         if(practiceBuyActivityExpireDate.after(now)){
             oneMonthPrice=practiceGroupBuyParams.getDrillTimesOnWeek()==1?practiceGroupSellPrice.getOnceActivityPrice():practiceGroupSellPrice.getTwiceActivityPrice();
+            if(practiceGroupBuyParams.getBuyMonths()>=3&&studentExitChargePractices>0){
+                oneMonthPrice=practiceGroupBuyParams.getDrillTimesOnWeek()==1?practiceGroupSellPrice.getOnceQuartActivityPrice():practiceGroupSellPrice.getTwiceQuartActivityPrice();
+            }
         }else{
             oneMonthPrice=practiceGroupBuyParams.getDrillTimesOnWeek()==1?practiceGroupSellPrice.getOnceOriginalPrice():practiceGroupSellPrice.getTwiceOriginalPrice();
         }
-        BigDecimal amount= oneMonthPrice.multiply(new BigDecimal(practiceGroupBuyParams.getBuyMonths()));
+        BigDecimal amount= oneMonthPrice.multiply(new BigDecimal(buyMonths));
 
         practiceGroupBuyParams.setDrillTimesJson(drillTimesObject.toJSONString());
         practiceGroupBuyParams.setOrganId(sysUser.getOrganId());

+ 3 - 0
mec-biz/src/main/resources/config/mybatis/PracticeGroupMapper.xml

@@ -637,4 +637,7 @@
             AND pg.user_id_ = #{teacherId}
             AND pg.student_id_ = #{studentId}
     </select>
+    <select id="checkStudentExitChargePractice" resultType="int">
+        SELECT COUNT(id_) FORM practice_group WHERE type_='CHARGE' AND student_id_=#{studentId}
+    </select>
 </mapper>

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

@@ -7,8 +7,10 @@
 		<result column="organ_id_" property="organId" />
 		<result column="once_original_price" property="onceOriginalPrice" />
 		<result column="once_activity_price" property="onceActivityPrice" />
+		<result column="once_quart_activity_price_" property="onceQuartActivityPrice" />
 		<result column="twice_original_price" property="twiceOriginalPrice" />
 		<result column="twice_activity_price" property="twiceActivityPrice" />
+		<result column="twice_quart_activity_price_" property="twiceQuartActivityPrice" />
 		<result column="create_time_" property="createTime" />
 		<result column="update_time_" property="updateTime" />
 	</resultMap>