Bladeren bron

Merge remote-tracking branch 'origin/master'

Joburgess 4 jaren geleden
bovenliggende
commit
a982d2bc91

+ 8 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ChildrenDayDegreeDetailDao.java

@@ -32,4 +32,12 @@ public interface ChildrenDayDegreeDetailDao extends BaseDAO<Integer, ChildrenDay
      * @return
      */
     int updateStatus(@Param("orderId") Long orderId, @Param("status") Integer status);
+
+
+    /**
+     * 根据订单id获取购买详情
+     * @param orderId
+     * @return
+     */
+    List<ChildrenDayDegreeDetail> getByOrderId(@Param("orderId") Long orderId);
 }

+ 7 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ChildrenDayReserveDao.java

@@ -46,4 +46,11 @@ public interface ChildrenDayReserveDao extends BaseDAO<Integer, ChildrenDayReser
      * @return
      */
     List<ChildrenStatisticsDetailDto> queryChildrenStatisticsDetail(Map<String, Object> params);
+
+    /**
+     * 统计
+     * @param params
+     * @return
+     */
+    ChildrenStatisticsDto childrenStatistics(Map<String, Object> params);
 }

+ 62 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/ChildrenStatisticsDetailDto.java

@@ -1,5 +1,7 @@
 package com.ym.mec.biz.dal.dto;
 
+import java.math.BigDecimal;
+
 public class ChildrenStatisticsDetailDto {
     private String username;
 
@@ -9,6 +11,66 @@ public class ChildrenStatisticsDetailDto {
 
     private boolean isReserve = false;
 
+    private String subjectName;
+
+    private String theoryLevel;
+
+    private String gradeLeave;
+
+    private boolean buyVipFlag = false;
+
+    private boolean buyTheoryCourseFlag = false;
+
+    private BigDecimal totalAmount = BigDecimal.ZERO;
+
+    public String getSubjectName() {
+        return subjectName;
+    }
+
+    public void setSubjectName(String subjectName) {
+        this.subjectName = subjectName;
+    }
+
+    public String getTheoryLevel() {
+        return theoryLevel;
+    }
+
+    public void setTheoryLevel(String theoryLevel) {
+        this.theoryLevel = theoryLevel;
+    }
+
+    public String getGradeLeave() {
+        return gradeLeave;
+    }
+
+    public void setGradeLeave(String gradeLeave) {
+        this.gradeLeave = gradeLeave;
+    }
+
+    public boolean isBuyVipFlag() {
+        return buyVipFlag;
+    }
+
+    public void setBuyVipFlag(boolean buyVipFlag) {
+        this.buyVipFlag = buyVipFlag;
+    }
+
+    public boolean isBuyTheoryCourseFlag() {
+        return buyTheoryCourseFlag;
+    }
+
+    public void setBuyTheoryCourseFlag(boolean buyTheoryCourseFlag) {
+        this.buyTheoryCourseFlag = buyTheoryCourseFlag;
+    }
+
+    public BigDecimal getTotalAmount() {
+        return totalAmount;
+    }
+
+    public void setTotalAmount(BigDecimal totalAmount) {
+        this.totalAmount = totalAmount;
+    }
+
     public String getPhone() {
         return phone;
     }

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/DegreePayDto.java

@@ -16,6 +16,9 @@ public class DegreePayDto {
     @ApiModelProperty(value = "器乐考级等级")
     private Integer musicGradeLevel;
 
+    @ApiModelProperty(value = "报考器乐等级必须购Vip课")
+    private Boolean needVipCourse = false;
+
     @ApiModelProperty(value = "乐理等级")
     private Integer theoryLevel;
 
@@ -154,4 +157,12 @@ public class DegreePayDto {
     public void setReserveId(Integer reserveId) {
         this.reserveId = reserveId;
     }
+
+    public Boolean getNeedVipCourse() {
+        return needVipCourse;
+    }
+
+    public void setNeedVipCourse(Boolean needVipCourse) {
+        this.needVipCourse = needVipCourse;
+    }
 }

+ 55 - 43
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/ChildrenDayDegreeInfo.java

@@ -2,84 +2,88 @@ package com.ym.mec.biz.dal.entity;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
+
 import java.math.BigDecimal;
 import java.util.Date;
 
-@ApiModel(value="com-domain-ChildrenDayDegreeInfo")
+@ApiModel(value = "com-domain-ChildrenDayDegreeInfo")
 public class ChildrenDayDegreeInfo {
-    @ApiModelProperty(value="")
+    @ApiModelProperty(value = "")
     private Integer id;
 
     /**
-    * 预约id
-    */
-    @ApiModelProperty(value="预约id")
+     * 预约id
+     */
+    @ApiModelProperty(value = "预约id")
     private Integer reserveId;
 
     /**
-    * 用户id
-    */
-    @ApiModelProperty(value="用户id")
+     * 用户id
+     */
+    @ApiModelProperty(value = "用户id")
     private Integer userId;
 
     /**
-    * 声部id
-    */
-    @ApiModelProperty(value="声部id")
+     * 声部id
+     */
+    @ApiModelProperty(value = "声部id")
     private Integer subjectId;
 
     /**
-    * 器乐等级
-    */
-    @ApiModelProperty(value="器乐等级")
+     * 器乐等级
+     */
+    @ApiModelProperty(value = "器乐等级")
     private Integer gradeLevel;
 
     /**
-    * 器乐支付金额
-    */
-    @ApiModelProperty(value="器乐支付金额")
-    private BigDecimal gradePrice;
+     * 器乐支付金额
+     */
+    @ApiModelProperty(value = "器乐支付金额")
+    private BigDecimal gradePrice = BigDecimal.ZERO;
 
     /**
-    * 乐理等级
-    */
-    @ApiModelProperty(value="乐理等级")
+     * 乐理等级
+     */
+    @ApiModelProperty(value = "乐理等级")
     private Integer theoryLevel;
 
     /**
-    * 乐理支付金额
-    */
-    @ApiModelProperty(value="乐理支付金额")
-    private BigDecimal theoryPrice;
+     * 乐理支付金额
+     */
+    @ApiModelProperty(value = "乐理支付金额")
+    private BigDecimal theoryPrice = BigDecimal.ZERO;
 
     /**
-    * vip 1v1支付价格
-    */
-    @ApiModelProperty(value="vip 1v1支付价格")
-    private BigDecimal vip1v1Price;
+     * vip 1v1支付价格
+     */
+    @ApiModelProperty(value = "vip 1v1支付价格")
+    private BigDecimal vip1v1Price = BigDecimal.ZERO;
 
     /**
-    * vip 1v2支付价格
-    */
-    @ApiModelProperty(value="vip 1v2支付价格")
-    private BigDecimal vip1v2Price;
+     * vip 1v2支付价格
+     */
+    @ApiModelProperty(value = "vip 1v2支付价格")
+    private BigDecimal vip1v2Price = BigDecimal.ZERO;
 
     /**
-    * 乐理课支付价格
-    */
-    @ApiModelProperty(value="乐理课支付价格")
-    private BigDecimal theoryCoursePrice;
+     * 乐理课支付价格
+     */
+    @ApiModelProperty(value = "乐理课支付价格")
+    private BigDecimal theoryCoursePrice = BigDecimal.ZERO;
 
     /**
-    * 支付总金额
-    */
-    @ApiModelProperty(value="支付总金额")
-    private BigDecimal totalAmount;
+     * 支付总金额
+     */
+    @ApiModelProperty(value = "支付总金额")
+    private BigDecimal totalAmount = BigDecimal.ZERO;
+
+    @ApiModelProperty(value = "订单编号")
+    private Long orderId;
 
-    @ApiModelProperty(value="")
+    @ApiModelProperty(value = "")
     private Date createTime;
 
-    @ApiModelProperty(value="")
+    @ApiModelProperty(value = "")
     private Date updateTime;
 
     public Integer getId() {
@@ -178,6 +182,14 @@ public class ChildrenDayDegreeInfo {
         this.totalAmount = totalAmount;
     }
 
+    public Long getOrderId() {
+        return orderId;
+    }
+
+    public void setOrderId(Long orderId) {
+        this.orderId = orderId;
+    }
+
     public Date getCreateTime() {
         return createTime;
     }

+ 44 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/ChildrenReserveQueryInfo.java

@@ -14,6 +14,50 @@ public class ChildrenReserveQueryInfo extends QueryInfo {
 
     private Integer subjectId;
 
+    //是否参加器乐
+    private Boolean gradeFlag;
+
+    //是否参加乐理
+    private Boolean theoryFlag;
+
+    //是否购买VIP
+    private Boolean vipFlag;
+
+    //是否购买乐理课
+    private Boolean theoryPriceFlag;
+
+    public Boolean getGradeFlag() {
+        return gradeFlag;
+    }
+
+    public void setGradeFlag(Boolean gradeFlag) {
+        this.gradeFlag = gradeFlag;
+    }
+
+    public Boolean getTheoryFlag() {
+        return theoryFlag;
+    }
+
+    public void setTheoryFlag(Boolean theoryFlag) {
+        this.theoryFlag = theoryFlag;
+    }
+
+    public Boolean getVipFlag() {
+        return vipFlag;
+    }
+
+    public void setVipFlag(Boolean vipFlag) {
+        this.vipFlag = vipFlag;
+    }
+
+    public Boolean getTheoryPriceFlag() {
+        return theoryPriceFlag;
+    }
+
+    public void setTheoryPriceFlag(Boolean theoryPriceFlag) {
+        this.theoryPriceFlag = theoryPriceFlag;
+    }
+
     public Integer getIsReserve() {
         return isReserve;
     }

+ 19 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/ChildrenDayDegreeInfoService.java

@@ -0,0 +1,19 @@
+package com.ym.mec.biz.service;
+
+
+import com.ym.mec.biz.dal.entity.ChildrenDayDegreeInfo;
+
+import com.ym.mec.common.service.BaseService;
+
+
+public interface ChildrenDayDegreeInfoService extends BaseService<Integer, ChildrenDayDegreeInfo> {
+
+    /**
+     * 增加购买信息汇总
+     * @param orderId
+     * @return
+     */
+    ChildrenDayDegreeInfo addInfo(Long orderId);
+
+
+}

+ 70 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ChildrenDayDegreeInfoServiceImpl.java

@@ -0,0 +1,70 @@
+package com.ym.mec.biz.service.impl;
+
+
+import com.ym.mec.biz.dal.dao.ChildrenDayDegreeDetailDao;
+import com.ym.mec.biz.dal.dao.ChildrenDayDegreeInfoDao;
+import com.ym.mec.biz.dal.entity.ChildrenDayDegreeDetail;
+import com.ym.mec.biz.dal.entity.ChildrenDayDegreeInfo;
+import com.ym.mec.biz.service.ChildrenDayDegreeInfoService;
+import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.common.exception.BizException;
+import com.ym.mec.common.service.impl.BaseServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+@Service
+public class ChildrenDayDegreeInfoServiceImpl extends BaseServiceImpl<Integer, ChildrenDayDegreeInfo> implements ChildrenDayDegreeInfoService {
+    @Autowired
+    private ChildrenDayDegreeInfoDao childrenDayDegreeInfoDao;
+    @Autowired
+    private ChildrenDayDegreeDetailDao childrenDayDegreeDetailDao;
+
+    @Override
+    public BaseDAO<Integer, ChildrenDayDegreeInfo> getDAO() {
+        return childrenDayDegreeInfoDao;
+    }
+
+
+    @Override
+    public ChildrenDayDegreeInfo addInfo(Long orderId) {
+        List<ChildrenDayDegreeDetail> details = childrenDayDegreeDetailDao.getByOrderId(orderId);
+        ChildrenDayDegreeInfo childrenDayDegreeInfo = new ChildrenDayDegreeInfo();
+        BigDecimal totalAmount = BigDecimal.ZERO;
+        for (ChildrenDayDegreeDetail detail : details) {
+            switch (detail.getType()) {
+                case 1:
+                    childrenDayDegreeInfo.setSubjectId(detail.getSubjectId());
+                    childrenDayDegreeInfo.setGradeLevel(detail.getLevel());
+                    childrenDayDegreeInfo.setGradePrice(detail.getPrice());
+                    break;
+                case 2:
+                    childrenDayDegreeInfo.setTheoryLevel(detail.getLevel());
+                    childrenDayDegreeInfo.setTheoryPrice(detail.getPrice());
+                    break;
+                case 3:
+                    childrenDayDegreeInfo.setVip1v1Price(detail.getPrice());
+                    break;
+                case 4:
+                    childrenDayDegreeInfo.setVip1v2Price(detail.getPrice());
+                    break;
+                case 5:
+                    childrenDayDegreeInfo.setTheoryCoursePrice(detail.getPrice());
+                    break;
+                default:
+                    break;
+            }
+            childrenDayDegreeInfo.setReserveId(detail.getReserveId());
+            childrenDayDegreeInfo.setUserId(detail.getUserId());
+            childrenDayDegreeInfo.setOrderId(detail.getOrderId());
+            totalAmount = totalAmount.add(detail.getPrice());
+        }
+        childrenDayDegreeInfo.setTotalAmount(totalAmount);
+        if (childrenDayDegreeInfoDao.insert(childrenDayDegreeInfo) <= 0) {
+            throw new BizException("汇总信息插入失败");
+        }
+        return childrenDayDegreeInfo;
+    }
+}

+ 9 - 8
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ChildrenDayReserveServiceImpl.java

@@ -119,11 +119,13 @@ public class ChildrenDayReserveServiceImpl extends BaseServiceImpl<Integer, Chil
             pageInfo.setTotal(count);
             params.put("offset", pageInfo.getOffset());
             dataList = childrenDayReserveDao.queryChildrenStatistics(params);
+            //统计
+            pageInfo.setStatInfo(childrenDayReserveDao.childrenStatistics(params));
             //获取乐团在读人数
             List<String> musicGroupIds = dataList.stream().map(e -> e.getMusicGroupId()).collect(Collectors.toList());
-            Map<String,Long> normalNum = MapUtil.convertIntegerMap(studentRegistrationService.countNormalNum(musicGroupIds));
-            dataList.forEach(e->{
-                e.setNormalNum(normalNum.get(e.getMusicGroupId())==null?0:normalNum.get(e.getMusicGroupId()).intValue());
+            Map<String, Long> normalNum = MapUtil.convertIntegerMap(studentRegistrationService.countNormalNum(musicGroupIds));
+            dataList.forEach(e -> {
+                e.setNormalNum(normalNum.get(e.getMusicGroupId()) == null ? 0 : normalNum.get(e.getMusicGroupId()).intValue());
             });
         }
         if (count == 0) {
@@ -201,7 +203,7 @@ public class ChildrenDayReserveServiceImpl extends BaseServiceImpl<Integer, Chil
             throw new BizException("您已购买过乐理考级专项训练课,请勿重复选择");
         }
         //检查器乐考级等级是否重复
-        if (degreePayDto.getMusicGradeLevel() != null) {
+        if (degreePayDto.getMusicGradeLevel() != null && degreePayDto.getMusicGradeLevel() > 0) {
             if (degreePayDto.getSubject() == null) {
                 throw new BizException("请选择考级声部");
             }
@@ -213,7 +215,7 @@ public class ChildrenDayReserveServiceImpl extends BaseServiceImpl<Integer, Chil
         }
 
         //检查乐理考级等级是否重复
-        if (degreePayDto.getTheoryLevel() != null) {
+        if (degreePayDto.getTheoryLevel() != null && degreePayDto.getTheoryLevel() > 0) {
             List<ChildrenDayDegreeDetail> hasList = details.stream().filter(e -> e.getType().equals(2))
                     .filter(e -> e.getLevel().equals(degreePayDto.getMusicGradeLevel())).collect(Collectors.toList());
             if (hasList.size() > 0) {
@@ -242,14 +244,14 @@ public class ChildrenDayReserveServiceImpl extends BaseServiceImpl<Integer, Chil
 
         //器乐考级费用
         BigDecimal gradeFee = BigDecimal.ZERO;
-        if (degreePayDto.getMusicGradeLevel() != null) {
+        if (degreePayDto.getMusicGradeLevel() != null && degreePayDto.getMusicGradeLevel() > 0) {
             gradeFee = degreeLevelFees.stream().filter(e -> e.getLevel().equals(degreePayDto.getMusicGradeLevel())).map(DegreeLevelFee::getGrade).reduce(BigDecimal.ZERO, BigDecimal::add);
             orderAmount = orderAmount.add(gradeFee);
         }
 
         //乐理考级费用
         BigDecimal theoryLevelFee = BigDecimal.ZERO;
-        if (degreePayDto.getTheoryLevel() != null) {
+        if (degreePayDto.getTheoryLevel() != null && degreePayDto.getTheoryLevel() > 0) {
             theoryLevelFee = degreeLevelFees.stream().filter(e -> e.getLevel().equals(degreePayDto.getTheoryLevel())).map(DegreeLevelFee::getTheory).reduce(BigDecimal.ZERO, BigDecimal::add);
             orderAmount = orderAmount.add(theoryLevelFee);
         }
@@ -369,7 +371,6 @@ public class ChildrenDayReserveServiceImpl extends BaseServiceImpl<Integer, Chil
                 throw new BizException("购买详情,更新失败");
             }
 
-
             //插入交易明细
             BigDecimal amount = studentPaymentOrder.getActualAmount();
             if (amount.compareTo(BigDecimal.ZERO) > 0) {

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

@@ -97,4 +97,10 @@
             update_time = NOW()
         WHERE order_id_ = #{orderId}
     </update>
+
+    <select id="getByOrderId" resultMap="ChildrenDayDegreeDetail">
+        SELECT *
+        FROM children_day_degree_detail
+        WHERE order_id_ = #{orderId}
+    </select>
 </mapper>

+ 6 - 2
mec-biz/src/main/resources/config/mybatis/ChildrenDayDegreeInfoDao.xml

@@ -16,6 +16,7 @@
         <result column="vip_1v2_price_" property="vip1v2Price"/>
         <result column="theory_course_price_" property="theoryCoursePrice"/>
         <result column="total_amount_" property="totalAmount"/>
+        <result column="order_id_" property="orderId"/>
         <result column="create_time_" property="createTime"/>
         <result column="update_time_" property="updateTime"/>
     </resultMap>
@@ -38,10 +39,10 @@
         <!--@mbg.generated-->
         insert into children_day_degree_info (reserve_id_, user_id_, subject_id_, grade_level_, grade_price_,
         theory_level_,
-        theory_price_, vip_1v1_price_, vip_1v2_price_, theory_course_price_, total_amount_,
+        theory_price_, vip_1v1_price_, vip_1v2_price_, theory_course_price_, total_amount_,order_id_,
         create_time_, update_time_)
         values (#{reserveId}, #{userId}, #{subjectId}, #{gradeLevel}, #{gradePrice}, #{theoryLevel},
-        #{theoryPrice}, #{vip1v1Price}, #{vip1v2Price}, #{theoryCoursePrice}, #{totalAmount},
+        #{theoryPrice}, #{vip1v1Price}, #{vip1v2Price}, #{theoryCoursePrice}, #{totalAmount},#{orderId}
         NOW(), NOW())
     </insert>
 
@@ -82,6 +83,9 @@
             <if test="totalAmount != null">
                 total_amount_ = #{totalAmount},
             </if>
+            <if test="orderId != null">
+                order_id_ = #{orderId},
+            </if>
             <if test="createTime != null">
                 create_time_ = #{createTime},
             </if>

+ 65 - 1
mec-biz/src/main/resources/config/mybatis/ChildrenDayReserveMapper.xml

@@ -122,6 +122,24 @@
         <include refid="queryChildrenStatisticsSql"/>
         GROUP BY cdr.music_group_id_) c
     </select>
+
+    <select id="childrenStatistics" resultMap="ChildrenStatisticsDtoMap">
+        SELECT  SUM(CASE WHEN cdd.grade_price_ > 0 THEN 1 ELSE NULL END) 'instrumental_music_num_',
+                SUM(CASE WHEN cdd.theory_price_ > 0 THEN 1 ELSE NULL END) 'music_theory_num_',
+                SUM(CASE WHEN cdd.vip_1v1_price_ > 0 THEN 1 ELSE NULL END) 'buy_vip1_num_',
+                SUM(cdd.vip_1v1_price_) 'buy_vip1_amount_',
+                SUM(CASE WHEN cdd.vip_1v2_price_ > 0 THEN 1 ELSE NULL END) 'buy_vip2_num_',
+                SUM(cdd.vip_1v2_price_) 'buy_vip2_amount_',
+                SUM(CASE WHEN cdd.theory_course_price_ > 0 THEN 1 ELSE NULL END) 'buy_music_theory_num_',
+                SUM(cdd.theory_course_price_) 'buy_music_theory_amount_',
+                SUM(cdd.total_amount_) 'total_amount_'
+        FROM children_day_reserve cdr
+                 LEFT JOIN children_day_degree_info cdd ON cdr.id_ = cdd.reserve_id_
+                 LEFT JOIN music_group mg ON mg.id_ = cdr.music_group_id_
+                 LEFT JOIN cooperation_organ co ON co.id_ = cdr.cooperation_organ_id_
+                 LEFT JOIN organization o ON o.id_ = cdr.organ_id_
+        <include refid="queryChildrenStatisticsSql"/>
+    </select>
     <sql id="queryChildrenStatisticsSql">
         <where>
             <if test="cooperationId != null">
@@ -147,16 +165,27 @@
         <result property="userId" column="user_id_"/>
         <result property="isReserve" column="is_reserve_"/>
         <result property="phone" column="phone_"/>
+        <result property="subjectName" column="subject_name_"/>
+        <result property="gradeLeave" column="grade_level_"/>
+        <result property="theoryLevel" column="theory_level_"/>
+        <result property="buyVipFlag" column="buy_vip_flag_"/>
+        <result property="buyTheoryCourseFlag" column="buy_theory_course_flag_"/>
+        <result property="totalAmount" column="total_amount_"/>
     </resultMap>
     <select id="countChildrenStatisticsDetail" resultType="int">
         SELECT COUNT(cdr.id_) FROM children_day_reserve cdr
         LEFT JOIN sys_user su ON su.id_ = cdr.user_id_
+        LEFT JOIN children_day_degree_info cdd ON cdr.id_ = cdd.reserve_id_
         <include refid="queryChildrenStatisticsDetailSql"/>
     </select>
     <select id="queryChildrenStatisticsDetail" resultMap="ChildrenStatisticsDetailDtoMap">
-        SELECT su.username_,su.phone_,cdr.user_id_,cdr.is_reserve_
+        SELECT su.username_,su.phone_,cdr.user_id_,cdr.is_reserve_,s.name_ subject_name_,cdd.grade_level_,cdd.theory_level_,
+        CASE WHEN cdd.vip_1v1_price_ > 0 OR cdd.vip_1v2_price_ > 0 THEN 1 ELSE 0 END buy_vip_flag_,
+        CASE WHEN cdd.theory_course_price_ > 0 THEN 1 ELSE 0 END buy_theory_course_flag_,cdd.total_amount_
         FROM children_day_reserve cdr
+        LEFT JOIN children_day_degree_info cdd ON cdr.id_ = cdd.reserve_id_
         LEFT JOIN sys_user su ON su.id_ = cdr.user_id_
+        LEFT JOIN `subject` s ON s.id_ = cdd.subject_id_
         <include refid="queryChildrenStatisticsDetailSql"/>
         ORDER BY cdr.create_time_ DESC
         <include refid="global.limit"/>
@@ -175,6 +204,41 @@
             <if test="musicGroupId == null">
                 AND cdr.music_group_id_ IS NULL
             </if>
+            <if test="subjectId != null">
+                AND cdd.subject_id_ = #{subjectId}
+            </if>
+            <if test="gradeFlag != null">
+                <if test="gradeFlag == 'true'">
+                    AND cdd.grade_level_ IS NOT NULL
+                </if>
+                <if test="gradeFlag != 'false'">
+                    AND cdd.grade_level_ IS NULL
+                </if>
+            </if>
+            <if test="theoryFlag != null">
+                <if test="theoryFlag == 'true'">
+                    AND cdd.theory_level_ IS NOT NULL
+                </if>
+                <if test="theoryFlag != 'false'">
+                    AND cdd.theory_level_ IS NULL
+                </if>
+            </if>
+            <if test="vipFlag != null">
+                <if test="vipFlag == 'true'">
+                    AND (cdd.vip_1v1_price_ > 0 OR cdd.vip_1v2_price_ > 0)
+                </if>
+                <if test="vipFlag != 'false'">
+                    AND (cdd.vip_1v1_price_ &lt;= 0 OR cdd.vip_1v2_price_ &lt;= 0)
+                </if>
+            </if>
+            <if test="theoryPriceFlag != null">
+                <if test="theoryPriceFlag == 'true'">
+                    AND cdd.theory_course_price_ > 0
+                </if>
+                <if test="theoryPriceFlag != 'false'">
+                    AND cdd.theory_course_price_ &lt;= 0
+                </if>
+            </if>
         </where>
     </sql>
 </mapper>

+ 1 - 1
mec-biz/src/main/resources/config/mybatis/OrganizationDegreeCourseFeeMapper.xml

@@ -40,7 +40,7 @@
                 vip_1v1_ = #{vip1v1},
             </if>
             <if test="vip1v2 != null">
-                vip_1v12 = #{vip1v2},
+                vip_1v2_ = #{vip1v2},
             </if>
             <if test="theory != null">
                 theory_ = #{theory},

+ 2 - 2
mec-student/src/main/java/com/ym/mec/student/controller/ChildrenDayController.java

@@ -74,13 +74,13 @@ public class ChildrenDayController extends BaseController {
         if (sysUser == null) {
             throw new BizException("用户信息获取失败,请重新登陆");
         }
-        studentDao.lockUser(degreePayDto.getUserId());
+        studentDao.lockUser(sysUser.getId());
 
         degreePayDto.setUserId(sysUser.getId());
         degreePayDto.setOrganId(sysUser.getOrganId());
         degreePayDto.setUser(sysUser);
         List<ChildrenDayDegreeDetail> ingDetails = childrenDayDegreeDetailService.getByUserIdAndStatus(sysUser.getId(), 1);
-        if (ingDetails.size() > 0) {
+        if (!degreePayDto.getRePay() && ingDetails.size() > 0) {
             return failed(HttpStatus.CONTINUE, "您有待支付的订单");
         }
 

+ 2 - 2
mec-web/src/main/java/com/ym/mec/web/controller/ChildrenReserveController.java

@@ -33,7 +33,7 @@ public class ChildrenReserveController extends BaseController {
     @Autowired
     private EmployeeDao employeeDao;
 
-    @ApiOperation(value = "21年暑期考级活动统计页面")
+    @ApiOperation(value = "21年暑期考级活动统计列表页面")
     @GetMapping("/queryStatisticsPage")
     @PreAuthorize("@pcs.hasPermissions('childrenReserve/queryStatisticsPage')")
     public HttpResponseResult<PageInfo<ChildrenStatisticsDto>> queryStatisticsPage(ChildrenReserveQueryInfo queryInfo) {
@@ -55,7 +55,7 @@ public class ChildrenReserveController extends BaseController {
         return succeed(childrenDayReserveService.queryStatisticsPage(queryInfo));
     }
 
-    @ApiOperation(value = "21年暑期考级活动统计详情页面")
+    @ApiOperation(value = "21年暑期考级活动统计详情列表页面")
     @GetMapping("/queryStatisticsDetailPage")
     @PreAuthorize("@pcs.hasPermissions('childrenReserve/queryStatisticsDetailPage')")
     public HttpResponseResult<PageInfo<ChildrenStatisticsDetailDto>> queryStatisticsDetailPage(ChildrenReserveQueryInfo queryInfo) {

+ 5 - 3
mec-web/src/main/java/com/ym/mec/web/controller/ExportController.java

@@ -169,8 +169,10 @@ public class ExportController extends BaseController {
        }
         OutputStream outputStream = response.getOutputStream();
         try {
-            HSSFWorkbook workbook = POIUtil.exportExcel(new String[]{"学员姓名", "学员编号", "手机号", "是否预约"}, new String[]{
-                    "username", "userId", "phone", "isReserve == true ?'是':'否'"}, rows);
+            HSSFWorkbook workbook = POIUtil.exportExcel(new String[]{"学员姓名", "学员编号", "手机号", "是否预约","报考器乐", "器乐报考等级", "乐理报考等级", "是否购买VIP",
+                    "是否购买乐理课", "支付金额"}, new String[]{
+                    "username", "userId", "phone", "isReserve == true ?'是':'否'","subjectName"
+                    ,"theoryLevel","gradeLeave","buyVipFlag","buyTheoryCourseFlag","totalAmount"}, rows);
             response.setContentType("application/octet-stream");
             response.setHeader("Content-Disposition", "attac:wq" +
                     "hment;filename=classGroup-" + DateUtil.getDate(new Date()) + ".xls");
@@ -221,7 +223,7 @@ public class ExportController extends BaseController {
             HSSFWorkbook workbook = POIUtil.exportExcel(new String[]{"分部名称", "合作单位", "乐团名称", "在读人数",
                     "预约人数", "未预约人数", "器乐考级人数", "乐理考级人数", "VIP课购买人数", "VIP课成交金额", "乐理课购买人数", "乐理课成交金额"}, new String[]{
                     "organName", "cooperationOrganName", "musicGroupName", "normalNum",
-                    "reserveNum", "noReserveNum", "instrumentalMusicNum", "musicTheoryNum","buyVipNum","buyVipAmount","buyMusicTheoryNum","buyMusicTheoryAmount"}, rows);
+                    "reserveNum", "noReserveNum", "instrumentalMusicNum", "musicTheoryNum","buyVip1Num","buyVip1Amount","buyVip2Num","buyVip2Amount","buyMusicTheoryNum","buyMusicTheoryAmount"}, rows);
             response.setContentType("application/octet-stream");
             response.setHeader("Content-Disposition", "attac:wq" +
                     "hment;filename=classGroup-" + DateUtil.getDate(new Date()) + ".xls");