Ver Fonte

Merge remote-tracking branch 'origin/children_day' into children_day

zouxuan há 4 anos atrás
pai
commit
2e143f191a

+ 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);
 }

+ 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;
     }

+ 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;
+    }
+}

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

@@ -123,9 +123,9 @@ public class ChildrenDayReserveServiceImpl extends BaseServiceImpl<Integer, Chil
             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) {
@@ -203,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("请选择考级声部");
             }
@@ -215,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) {
@@ -244,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);
         }
@@ -371,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>

+ 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},

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

@@ -74,7 +74,7 @@ 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());