浏览代码

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

zouxuan 4 年之前
父节点
当前提交
be1cd75976

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

@@ -0,0 +1,9 @@
+package com.ym.mec.biz.dal.dao;
+
+import com.ym.mec.biz.dal.entity.MusicGroupPaymentStudentCourseDetail;
+import com.ym.mec.common.dal.BaseDAO;
+
+public interface MusicGroupPaymentStudentCourseDetailDao extends BaseDAO<Long, MusicGroupPaymentStudentCourseDetail> {
+
+	
+}

+ 116 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MusicGroupPaymentStudentCourseDetail.java

@@ -0,0 +1,116 @@
+package com.ym.mec.biz.dal.entity;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+
+import com.ym.mec.biz.dal.entity.CourseSchedule.CourseScheduleType;
+
+/**
+ * 对应数据库表(music_group_payment_student_course_detail):
+ */
+public class MusicGroupPaymentStudentCourseDetail {
+
+	/**  */
+	private Long id;
+	
+	/**  */
+	private Long musicGroupPaymentCalenderId;
+	
+	/**  */
+	private Long musicGroupPaymentCalenderDetailId;
+	
+	/**  */
+	private Integer userId;
+	
+	/**  */
+	private CourseScheduleType courseType;
+	
+	/**  */
+	private Integer totalCourseMinutes;
+	
+	/**  */
+	private Integer usedCourseMinutes;
+	
+	/**  */
+	private java.util.Date createTime;
+	
+	/**  */
+	private java.util.Date updateTime;
+	
+	public void setId(Long id){
+		this.id = id;
+	}
+	
+	public Long getId(){
+		return this.id;
+	}
+			
+	public void setMusicGroupPaymentCalenderId(Long musicGroupPaymentCalenderId){
+		this.musicGroupPaymentCalenderId = musicGroupPaymentCalenderId;
+	}
+	
+	public Long getMusicGroupPaymentCalenderId(){
+		return this.musicGroupPaymentCalenderId;
+	}
+			
+	public void setMusicGroupPaymentCalenderDetailId(Long musicGroupPaymentCalenderDetailId){
+		this.musicGroupPaymentCalenderDetailId = musicGroupPaymentCalenderDetailId;
+	}
+	
+	public Long getMusicGroupPaymentCalenderDetailId(){
+		return this.musicGroupPaymentCalenderDetailId;
+	}
+			
+	public void setUserId(Integer userId){
+		this.userId = userId;
+	}
+	
+	public Integer getUserId(){
+		return this.userId;
+	}
+			
+	public void setCourseType(CourseScheduleType courseType){
+		this.courseType = courseType;
+	}
+	
+	public CourseScheduleType getCourseType(){
+		return this.courseType;
+	}
+			
+	public void setTotalCourseMinutes(Integer totalCourseMinutes){
+		this.totalCourseMinutes = totalCourseMinutes;
+	}
+	
+	public Integer getTotalCourseMinutes(){
+		return this.totalCourseMinutes;
+	}
+			
+	public void setUsedCourseMinutes(Integer usedCourseMinutes){
+		this.usedCourseMinutes = usedCourseMinutes;
+	}
+	
+	public Integer getUsedCourseMinutes(){
+		return this.usedCourseMinutes;
+	}
+			
+	public void setCreateTime(java.util.Date createTime){
+		this.createTime = createTime;
+	}
+	
+	public java.util.Date getCreateTime(){
+		return this.createTime;
+	}
+			
+	public void setUpdateTime(java.util.Date updateTime){
+		this.updateTime = updateTime;
+	}
+	
+	public java.util.Date getUpdateTime(){
+		return this.updateTime;
+	}
+			
+	@Override
+	public String toString() {
+		return ToStringBuilder.reflectionToString(this);
+	}
+
+}

+ 33 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/SporadicChargeInfo.java

@@ -1,6 +1,7 @@
 package com.ym.mec.biz.dal.entity;
 
 import com.ym.mec.biz.dal.enums.SporadicChargeTypeEnum;
+import com.ym.mec.biz.dal.enums.YesOrNoEnum;
 import io.swagger.annotations.ApiModelProperty;
 
 import java.math.BigDecimal;
@@ -68,6 +69,14 @@ public class SporadicChargeInfo {
 
 	private Integer paidNum;
 
+	@ApiModelProperty(value = "最大缴费金额", required = true)
+	private BigDecimal maxAmount;
+
+	private BigDecimal paidAmount;
+
+	@ApiModelProperty(value = "是否开启最大缴费金额限制 1 开启 0-关闭", required = true)
+	private YesOrNoEnum openMaxTerm;
+
 	private Integer version;
 
 	public String getMusicGroupName() {
@@ -261,4 +270,28 @@ public class SporadicChargeInfo {
 	public void setVersion(Integer version) {
 		this.version = version;
 	}
+
+	public BigDecimal getMaxAmount() {
+		return maxAmount;
+	}
+
+	public void setMaxAmount(BigDecimal maxAmount) {
+		this.maxAmount = maxAmount;
+	}
+
+	public BigDecimal getPaidAmount() {
+		return paidAmount;
+	}
+
+	public void setPaidAmount(BigDecimal paidAmount) {
+		this.paidAmount = paidAmount;
+	}
+
+	public YesOrNoEnum getOpenMaxTerm() {
+		return openMaxTerm;
+	}
+
+	public void setOpenMaxTerm(YesOrNoEnum openMaxTerm) {
+		this.openMaxTerm = openMaxTerm;
+	}
 }

+ 8 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/MusicGroupPaymentStudentCourseDetailService.java

@@ -0,0 +1,8 @@
+package com.ym.mec.biz.service;
+
+import com.ym.mec.biz.dal.entity.MusicGroupPaymentStudentCourseDetail;
+import com.ym.mec.common.service.BaseService;
+
+public interface MusicGroupPaymentStudentCourseDetailService extends BaseService<Long, MusicGroupPaymentStudentCourseDetail> {
+
+}

+ 23 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentStudentCourseDetailServiceImpl.java

@@ -0,0 +1,23 @@
+package com.ym.mec.biz.service.impl;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.ym.mec.biz.dal.dao.MusicGroupPaymentStudentCourseDetailDao;
+import com.ym.mec.biz.dal.entity.MusicGroupPaymentStudentCourseDetail;
+import com.ym.mec.biz.service.MusicGroupPaymentStudentCourseDetailService;
+import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.common.service.impl.BaseServiceImpl;
+
+@Service
+public class MusicGroupPaymentStudentCourseDetailServiceImpl extends BaseServiceImpl<Long, MusicGroupPaymentStudentCourseDetail>  implements MusicGroupPaymentStudentCourseDetailService {
+	
+	@Autowired
+	private MusicGroupPaymentStudentCourseDetailDao musicGroupPaymentStudentCourseDetailDao;
+
+	@Override
+	public BaseDAO<Long, MusicGroupPaymentStudentCourseDetail> getDAO() {
+		return musicGroupPaymentStudentCourseDetailDao;
+	}
+	
+}

+ 3 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

@@ -301,11 +301,11 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         if (!(amount.compareTo(sporadicPayDto.getAmount()) == 0)) {
             throw new BizException("订单金额异常");
         }
-        if (chargeInfo.getMaxNum() != null) {
-            if (chargeInfo.getMaxNum() <= chargeInfo.getPaidNum()) {
+        if (chargeInfo.getMaxAmount() != null) {
+            if (chargeInfo.getOpenMaxTerm().equals(YesOrNoEnum.YES) && chargeInfo.getMaxAmount().compareTo(chargeInfo.getPaidAmount()) <= 0) {
                 throw new Exception("活动人数暂时已满,请稍后再试");
             }
-            chargeInfo.setPaidNum(chargeInfo.getPaidNum() + 1);
+            chargeInfo.setPaidAmount(chargeInfo.getPaidAmount().add(chargeInfo.getAmount()));
             chargeInfo.setUpdateTime(new Date());
             int update = sporadicChargeInfoDao.update(chargeInfo);
             if (update <= 0) {

+ 3 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SporadicChargeInfoImpl.java

@@ -148,12 +148,12 @@ public class SporadicChargeInfoImpl extends BaseServiceImpl<Integer, SporadicCha
             return true;
         }
         if (studentPaymentOrder.getStatus() == DealStatusEnum.CLOSE || studentPaymentOrder.getStatus() == DealStatusEnum.FAILED) {
-            if (info.getMaxNum() != null && info.getPaidNum() > 0) {
-                info.setPaidNum(info.getPaidNum() - 1);
+            if (info.getMaxAmount() != null && info.getPaidAmount().compareTo(BigDecimal.ZERO) > 0) {
+                info.setPaidAmount(info.getPaidAmount().subtract(studentPaymentOrder.getActualAmount()));
                 info.setUpdateTime(new Date());
                 int update = sporadicChargeInfoDao.update(info);
                 if (update <= 0) {
-                    throw new BizException("人数更新失败,请重试");
+                    throw new BizException("已收金额更新失败,请重试");
                 }
             }
             if (info.getOrganId().equals(42) && info.getChargeType().equals(SporadicChargeTypeEnum.LEVEL)) {

+ 98 - 0
mec-biz/src/main/resources/config/mybatis/MusicGroupPaymentStudentCourseDetailMapper.xml

@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<!-- 这个文件是自动生成的。 不要修改此文件。所有改动将在下次重新自动生成时丢失。 -->
+<mapper namespace="com.ym.mec.biz.dal.dao.MusicGroupPaymentStudentCourseDetailDao">
+
+	<resultMap
+		type="com.ym.mec.biz.dal.entity.MusicGroupPaymentStudentCourseDetail"
+		id="MusicGroupPaymentStudentCourseDetail">
+		<result column="id_" property="id" />
+		<result column="music_group_payment_calender_id_" property="musicGroupPaymentCalenderId" />
+		<result column="music_group_payment_calender_detail_id_"
+			property="musicGroupPaymentCalenderDetailId" />
+		<result column="user_id_" property="userId" />
+		<result column="course_type_" property="courseType" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler" />
+		<result column="total_course_minutes_" property="totalCourseMinutes" />
+		<result column="used_course_minutes_" property="usedCourseMinutes" />
+		<result column="create_time_" property="createTime" />
+		<result column="update_time_" property="updateTime" />
+	</resultMap>
+
+	<!-- 根据主键查询一条记录 -->
+	<select id="get" resultMap="MusicGroupPaymentStudentCourseDetail">
+		SELECT * FROM music_group_payment_student_course_detail WHERE id_ =
+		#{id}
+	</select>
+
+	<!-- 全查询 -->
+	<select id="findAll" resultMap="MusicGroupPaymentStudentCourseDetail">
+		SELECT * FROM
+		music_group_payment_student_course_detail ORDER BY id_
+	</select>
+
+	<!-- 向数据库增加一条记录 -->
+	<insert id="insert"
+		parameterType="com.ym.mec.biz.dal.entity.MusicGroupPaymentStudentCourseDetail"
+		useGeneratedKeys="true" keyColumn="id" keyProperty="id">
+		<!-- <selectKey resultClass="int" keyProperty="id" > SELECT SEQ_WSDEFINITION_ID.nextval 
+			AS ID FROM DUAL </selectKey> -->
+		INSERT INTO music_group_payment_student_course_detail
+		(id_,music_group_payment_calender_id_,music_group_payment_calender_detail_id_,user_id_,course_type_,total_course_minutes_,used_course_minutes_,create_time_,update_time_)
+		VALUES(#{id},#{musicGroupPaymentCalenderId},#{musicGroupPaymentCalenderDetailId},#{userId},#{courseType, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{totalCourseMinutes},#{usedCourseMinutes},#{createTime},#{updateTime})
+	</insert>
+
+	<!-- 根据主键查询一条记录 -->
+	<update id="update"
+		parameterType="com.ym.mec.biz.dal.entity.MusicGroupPaymentStudentCourseDetail">
+		UPDATE music_group_payment_student_course_detail
+		<set>
+			<if test="usedCourseMinutes != null">
+				used_course_minutes_ = #{usedCourseMinutes},
+			</if>
+			<if test="totalCourseMinutes != null">
+				total_course_minutes_ = #{totalCourseMinutes},
+			</if>
+			<if test="userId != null">
+				user_id_ = #{userId},
+			</if>
+			<if test="musicGroupPaymentCalenderDetailId != null">
+				music_group_payment_calender_detail_id_ = #{musicGroupPaymentCalenderDetailId},
+			</if>
+			<if test="id != null">
+				id_ = #{id},
+			</if>
+			<if test="updateTime != null">
+				update_time_ = #{updateTime},
+			</if>
+			<if test="musicGroupPaymentCalenderId != null">
+				music_group_payment_calender_id_ = #{musicGroupPaymentCalenderId},
+			</if>
+			<if test="courseType != null">
+				course_type_ = #{courseType, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+			</if>
+			<if test="createTime != null">
+				create_time_ = #{createTime},
+			</if>
+		</set>
+		WHERE id_ = #{id}
+	</update>
+
+	<!-- 根据主键删除一条记录 -->
+	<delete id="delete">
+		DELETE FROM
+		music_group_payment_student_course_detail WHERE id_ = #{id}
+	</delete>
+
+	<!-- 分页查询 -->
+	<select id="queryPage" resultMap="MusicGroupPaymentStudentCourseDetail"
+		parameterType="map">
+		SELECT * FROM music_group_payment_student_course_detail ORDER BY id_
+		<include refid="global.limit" />
+	</select>
+
+	<!-- 查询当前表的总记录数 -->
+	<select id="queryCount" resultType="int">
+		SELECT COUNT(*) FROM
+		music_group_payment_student_course_detail
+	</select>
+</mapper>

+ 14 - 3
mec-biz/src/main/resources/config/mybatis/SporadicChargeInfo.xml

@@ -20,7 +20,9 @@
         <result column="user_id_" property="userId"/>
         <result column="music_group_id_" property="musicGroupId"/>
         <result column="max_num_" property="maxNum"/>
-        <result column="paid_num_" property="paidNum"/>
+        <result column="max_amount_" property="maxAmount"/>
+        <result column="paid_amount_" property="paidAmount"/>
+        <result column="open_max_term_" property="openMaxTerm" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result column="version_" property="version"/>
     </resultMap>
 
@@ -43,10 +45,10 @@
             useGeneratedKeys="true" keyColumn="id" keyProperty="id">
         INSERT INTO sporadic_charge_info
         (title_, charge_type_, organ_id_, amount_, discount_amount_, detail_, create_time_, update_time_, operator_id_,
-         user_id_, music_group_id_, max_num_)
+         user_id_, music_group_id_, max_num_,max_amount_,open_max_term_)
         VALUES (#{title}, #{chargeType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
                 #{organId}, #{amount}, #{discountAmount}, #{detail}, now(), now(), #{operatorId}, #{userId},
-                #{musicGroupId}, #{maxNum})
+                #{musicGroupId}, #{maxNum},#{maxAmount},#{openMaxTerm})
     </insert>
 
     <!-- 根据主键查询一条记录 -->
@@ -92,6 +94,15 @@
             <if test="paidNum != null">
                 paid_num_ = #{paidNum},
             </if>
+            <if test="maxAmount != null">
+                max_amount_ = #{maxAmount},
+            </if>
+            <if test="paidAmount != null">
+                paid_amount_ = #{paidAmount},
+            </if>
+            <if test="openMaxTerm != null">
+                open_max_term_ = #{openMaxTerm},
+            </if>
             <if test="version != null">
                 version_ = version_+1,
             </if>

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

@@ -72,7 +72,7 @@ public class SporadicChargeInfoController extends BaseController {
         }
         SporadicChargeInfo info = sporadicChargeInfoService.get(sporadicPayDto.getSporadicId());
 
-        if (info.getMaxNum() != null) {
+        if (info.getMaxAmount() != null) {
             String msg = "";
             for (int i = 1; i <= 100; i++) {
                 try {