Browse Source

订单导出功能增加乐器

周箭河 5 years ago
parent
commit
47663d1b79

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

@@ -1,5 +1,6 @@
 package com.ym.mec.biz.dal.dto;
 
+import com.ym.mec.biz.dal.entity.Goods;
 import com.ym.mec.biz.dal.entity.StudentPaymentOrder;
 import com.ym.mec.biz.dal.entity.StudentPaymentOrderDetail;
 
@@ -35,6 +36,8 @@ public class StudentPaymentOrderExportDto extends StudentPaymentOrder {
 
     private List<StudentPaymentOrderDetail> orderDetailList;
 
+    private List<Goods> goodsList;
+
     public BigDecimal getSporadicAmount() {
         return sporadicAmount;
     }
@@ -130,4 +133,12 @@ public class StudentPaymentOrderExportDto extends StudentPaymentOrder {
     public void setCourseFee(BigDecimal courseFee) {
         this.courseFee = courseFee;
     }
+
+    public List<Goods> getGoodsList() {
+        return goodsList;
+    }
+
+    public void setGoodsList(List<Goods> goodsList) {
+        this.goodsList = goodsList;
+    }
 }

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/StudentPaymentOrderDetail.java

@@ -37,7 +37,7 @@ public class StudentPaymentOrderDetail {
 	/** 订单编号(对应student_payment_order) */
 	@ApiModelProperty(value = "订单编号",required = true)
 	private Long paymentOrderId;
-	
+
 	public void setId(Long id){
 		this.id = id;
 	}

+ 7 - 2
mec-biz/src/main/resources/config/mybatis/StudentPaymentOrderMapper.xml

@@ -425,16 +425,21 @@
             <result column="detail_type_" property="type"/>
             <result column="detail_price_" property="price"/>
         </collection>
+        <collection property="goodsList" ofType="com.ym.mec.biz.dal.entity.Goods">
+            <result column="goods_id" property="id"/>
+            <result column="goods_name" property="name"/>
+        </collection>
     </resultMap>
 
     <!-- 分页查询 -->
     <select id="ExportQueryPage" resultMap="orderAndDetail" parameterType="map">
-        SELECT spo.*,u.username_,spod.id_ detail_id_,spod.type_ detail_type_,spod.price_ detail_price_,o.name_ organ_name,sci.charge_type_
-        FROM student_payment_order spo
+        SELECT spo.*,u.username_,spod.id_ detail_id_,spod.type_ detail_type_,spod.price_ detail_price_,o.name_ organ_name,
+        sci.charge_type_,g.id_ goods_id, g.name_ goods_name FROM student_payment_order spo
         LEFT JOIN sys_user u on spo.user_id_ = u.id_
         LEFT JOIN student_payment_order_detail spod on spo.id_ = spod.payment_order_id_
         LEFT JOIN organization o on spo.organ_id_ = o.id_
         LEFT JOIN sporadic_charge_info sci on spo.music_group_id_ = sci.id_
+        LEFT JOIN goods g on FIND_IN_SET(g.id_,spod.goods_id_list_)
         <include refid="queryPaymentOrder"/>
         ORDER BY spo.id_ ASC
     </select>

+ 7 - 0
mec-web/src/main/java/com/ym/mec/web/controller/ExportController.java

@@ -37,6 +37,7 @@ import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 @RequestMapping
 @Api(tags = "数据导出服务")
@@ -190,10 +191,12 @@ public class ExportController extends BaseController {
             BigDecimal musicalFee = BigDecimal.ZERO;
             BigDecimal teachingFee = BigDecimal.ZERO;
             BigDecimal courseFee = BigDecimal.ZERO;
+            String goodsName = "";
             if (row.getOrderDetailList() != null) {
                 for (StudentPaymentOrderDetail orderDetail : row.getOrderDetailList()) {
                     if (orderDetail.getType().equals(OrderDetailTypeEnum.MUSICAL)) {
                         musicalFee = musicalFee.add(orderDetail.getPrice());
+
                     } else if (orderDetail.getType().equals(OrderDetailTypeEnum.COURSE)) {
                         courseFee = courseFee.add(orderDetail.getPrice());
                     } else if (orderDetail.getType().equals(OrderDetailTypeEnum.ACCESSORIES) || orderDetail.getType().equals(OrderDetailTypeEnum.TEACHING) || orderDetail.getType().equals(OrderDetailTypeEnum.OTHER)) {
@@ -201,9 +204,13 @@ public class ExportController extends BaseController {
                     }
                 }
             }
+            if(row.getGoodsList() != null){
+                goodsName = row.getGoodsList().stream().map(goods -> goods.getName()).collect(Collectors.joining("|"));
+            }
             row.setCourseFee(courseFee);
             row.setMusicalFee(musicalFee);
             row.setTeachingFee(teachingFee);
+            row.setMemo(goodsName);
             //专业
             if (row.getGroupType().equals(GroupType.MUSIC)) {
                 StudentRegistration studentRegistration = studentRegistrationDao.findStudentByMusicGroupIdAndUserId(row.getMusicGroupId(), row.getUserId());