فهرست منبع

6.1活动增加回调

周箭河 4 سال پیش
والد
کامیت
5f6ee73457

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

+ 44 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ChildrenDayDegreeInfoServiceImpl.java

@@ -1,18 +1,26 @@
 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() {
@@ -22,6 +30,41 @@ public class ChildrenDayDegreeInfoServiceImpl extends BaseServiceImpl<Integer, C
 
     @Override
     public ChildrenDayDegreeInfo addInfo(Long orderId) {
-        return null;
+        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;
     }
 }

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