Pārlūkot izejas kodu

Merge branch 'register_new'

周箭河 5 gadi atpakaļ
vecāks
revīzija
2d0cbffcf9

+ 26 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/CourseFormDto.java

@@ -0,0 +1,26 @@
+package com.ym.mec.biz.dal.dto;
+
+import java.math.BigDecimal;
+
+public class CourseFormDto {
+
+    private String type;
+
+    private BigDecimal price;
+
+    public String getType() {
+        return type;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
+
+    public BigDecimal getPrice() {
+        return price;
+    }
+
+    public void setPrice(BigDecimal price) {
+        this.price = price;
+    }
+}

+ 14 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/RegisterPayDto.java

@@ -1,6 +1,9 @@
 package com.ym.mec.biz.dal.dto;
 
+import io.swagger.annotations.ApiModelProperty;
+
 import java.math.BigDecimal;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -23,6 +26,9 @@ public class RegisterPayDto {
     //是否余额支付
     private Boolean isUseBalancePayment = false;
 
+    @ApiModelProperty(value = "可选课程的key",required = false)
+    private List<String> courseKeys;
+
 
     public Integer getRegisterId() {
         return registerId;
@@ -79,4 +85,12 @@ public class RegisterPayDto {
     public void setGoodsGroups(Map<Long, String> goodsGroups) {
         this.goodsGroups = goodsGroups;
     }
+
+    public List<String> getCourseKeys() {
+        return courseKeys;
+    }
+
+    public void setCourseKeys(List<String> courseKeys) {
+        this.courseKeys = courseKeys;
+    }
 }

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

@@ -52,9 +52,14 @@ public class MusicGroupSubjectGoodsGroup {
 	//购买方式
 	private KitGroupPurchaseTypeEnum kitGroupPurchaseType;
 
-	//购买方式-减免金额 json
+	//购买方式-乐器减免金额 json
+	@ApiModelProperty(value = "购买方式-乐器减免金额 json",required = false)
 	private String kitGroupPurchaseTypeJson;
 
+	//购买方式-减免金额 json
+	@ApiModelProperty(value = "购买方式-课程减免金额 json",required = false)
+	private String coursePurchaseTypeJson;
+
 
 	/**  */
 	private java.util.Date createTime;
@@ -178,6 +183,14 @@ public class MusicGroupSubjectGoodsGroup {
 		this.kitGroupPurchaseType = kitGroupPurchaseType;
 	}
 
+	public String getCoursePurchaseTypeJson() {
+		return coursePurchaseTypeJson;
+	}
+
+	public void setCoursePurchaseTypeJson(String coursePurchaseTypeJson) {
+		this.coursePurchaseTypeJson = coursePurchaseTypeJson;
+	}
+
 
 	public String getKitGroupPurchaseTypeJson() {
 		return kitGroupPurchaseTypeJson;
@@ -191,4 +204,5 @@ public class MusicGroupSubjectGoodsGroup {
 	public String toString() {
 		return ToStringBuilder.reflectionToString(this);
 	}
+
 }

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

@@ -111,9 +111,12 @@ public class StudentPaymentOrder {
 	
 	private SysUser user = new SysUser();
 
-	//优惠金额
+	//乐器优惠金额
 	private BigDecimal remitFee;
 
+	//课程优惠金额
+	private BigDecimal courseRemitFee;
+
 	public void setId(Long id){
 		this.id = id;
 	}
@@ -342,4 +345,12 @@ public class StudentPaymentOrder {
 	public String toString() {
 		return ToStringBuilder.reflectionToString(this);
 	}
+
+	public BigDecimal getCourseRemitFee() {
+		return courseRemitFee;
+	}
+
+	public void setCourseRemitFee(BigDecimal courseRemitFee) {
+		this.courseRemitFee = courseRemitFee;
+	}
 }

+ 6 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/OrderDetailTypeEnum.java

@@ -10,7 +10,12 @@ public enum OrderDetailTypeEnum implements BaseEnum<String, OrderDetailTypeEnum>
 	ACCESSORIES("ACCESSORIES", "辅件"),
 	TEACHING("TEACHING", "教谱"),
 	OTHER("OTHER", "其他"),
-	COURSE("COURSE", "课程");
+	COURSE("COURSE", "课程"),
+	MUSIC_COURSE("MUSIC_COURSE", "乐团声部训练"),
+	MIX_COURSE("MIX_COURSE", "乐团合奏训练"),
+	HIGH_ONLINE_COURSE("HIGH_ONLINE_COURSE", "网络基础训练"),
+	HOLIDAY_COURSE("HOLIDAY_COURSE", "假期集中训练"),
+	NETWORK_COURSE("NETWORK_COURSE", "乐团云课堂");
 
 	private String code;
 

+ 2 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/StudentRegistrationService.java

@@ -89,7 +89,7 @@ public interface StudentRegistrationService extends BaseService<Long, StudentReg
 	 * @return
 	 */
 	StudentPaymentOrder addOrder(StudentRegistration studentRegistration, BigDecimal amount, String orderNo, String paymentChannel, BigDecimal courseFee,
-			List<MusicGroupSubjectGoodsGroup> goodsGroups, List<Goods> goodsList, List<Goods> otherGoodsList) throws Exception;
+			List<MusicGroupSubjectGoodsGroup> goodsGroups, List<Goods> goodsList, List<Goods> otherGoodsList,List<CourseFormDto> courseForms) throws Exception;
 
 	/**
 	 * 学生注册缴费重新下订单
@@ -103,7 +103,7 @@ public interface StudentRegistrationService extends BaseService<Long, StudentReg
 	StudentPaymentOrder reAddOrder(
 			Integer userId, BigDecimal amount, String orderNo, String paymentChannel, BigDecimal courseFee,
 			List<MusicGroupSubjectGoodsGroup> goodsGroups, List<Goods> goodsList, List<Goods> otherGoodsList,
-			String musicGroupId,StudentPaymentOrder oldOrder);
+			String musicGroupId,StudentPaymentOrder oldOrder,List<CourseFormDto> courseForms);
 
 	/**
 	 * 查询用户指定乐团的报名信息

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

@@ -1,5 +1,6 @@
 package com.ym.mec.biz.service.impl;
 
+import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.TypeReference;
 import com.ym.mec.auth.api.client.SysUserFeignService;
@@ -409,6 +410,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         orderAmount = orderAmount.add(courseFee);
 
         BigDecimal remitFee = BigDecimal.ZERO;
+        BigDecimal courseRemitFee = BigDecimal.ZERO;
 
         //乐器及打包辅件
         List<MusicGroupSubjectGoodsGroup> goodsGroups = new ArrayList<>();
@@ -451,6 +453,8 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             for (MusicGroupSubjectGoodsGroup goodsGroup : goodsGroups) {
                 Map<String, BigDecimal> groupType = JSONObject.parseObject(goodsGroup.getKitGroupPurchaseTypeJson(), new TypeReference<Map<String, BigDecimal>>() {
                 });
+                Map<String, BigDecimal> coursePurchase = JSONObject.parseObject(goodsGroup.getCoursePurchaseTypeJson(), new TypeReference<Map<String, BigDecimal>>() {
+                });
                 if (goodsGroup.getType().equals(GoodsType.INSTRUMENT)) {
                     String kitGroupPurchaseType = registerPayDto.getGoodsGroups().get(goodsGroup.getId());
                     if (!groupType.containsKey(kitGroupPurchaseType)) {
@@ -461,11 +465,12 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
                     }
                     goodsGroup.setKitGroupPurchaseType(KitGroupPurchaseTypeEnum.valueOf(kitGroupPurchaseType));
                     remitFee = groupType.get(kitGroupPurchaseType);
+                    courseRemitFee = coursePurchase.get(kitGroupPurchaseType) == null ? BigDecimal.ZERO : coursePurchase.get(kitGroupPurchaseType);
                 }
                 orderAmount = orderAmount.add(goodsGroup.getPrice());
                 goodsGroup.setGoodsList(goodsService.findGoodsByIds(goodsGroup.getGoodsIdList()));
             }
-            orderAmount = orderAmount.subtract(remitFee);
+            orderAmount = orderAmount.subtract(remitFee).subtract(courseRemitFee);
         }
 
         //单独辅件
@@ -485,6 +490,27 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
                 orderAmount = orderAmount.add(goods.getGroupPurchasePrice());
             }
         }
+        //可选课程
+        List<CourseFormDto> courseForms = new ArrayList<>();
+        if (registerPayDto.getCourseKeys() != null && registerPayDto.getCourseKeys().size() > 0) {
+            MusicGroup musicGroup = musicGroupDao.get(studentRegistration.getMusicGroupId());
+            if (musicGroup.getCourseForm() == null) {
+                throw new BizException("可选课程不存在");
+            }
+            Map<String, String> courseForm = JSON.parseObject(musicGroup.getCourseForm(), Map.class);
+            for (String courseKey : registerPayDto.getCourseKeys()) {
+                if (courseForm.get(courseKey) == null) {
+                    throw new BizException("可选课程不存在");
+                }
+                CourseFormDto courseFormDto = new CourseFormDto();
+                JSONObject jsonObject = JSON.parseObject(musicGroup.getCourseForm());
+                orderAmount = orderAmount.add(jsonObject.getBigDecimal("value"));
+                courseFormDto.setType(courseKey);
+                courseFormDto.setPrice(jsonObject.getBigDecimal("value"));
+                courseForms.add(courseFormDto);
+            }
+        }
+
         if (amount.compareTo(orderAmount) != 0) {
             throw new BizException("商品价格不符");
         }
@@ -496,7 +522,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 
         String channelType = "";
 
-        StudentPaymentOrder studentPaymentOrder = studentRegistrationService.addOrder(studentRegistration, amount, orderNo, channelType, courseFee, goodsGroups, goodsList, otherGoodsList);
+        StudentPaymentOrder studentPaymentOrder = studentRegistrationService.addOrder(studentRegistration, amount, orderNo, channelType, courseFee, goodsGroups, goodsList, otherGoodsList,courseForms);
         studentPaymentOrder.setVersion(0);
 
         Date date = new Date();
@@ -518,6 +544,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         }
         studentPaymentOrder.setPaymentChannel("BALANCE");
         studentPaymentOrder.setRemitFee(remitFee);
+        studentPaymentOrder.setCourseRemitFee(courseRemitFee);
         studentPaymentOrder.setOrganId(musicGroup.getOrganId());
         studentPaymentOrder.setRoutingOrganId(musicGroup.getOrganId());
         studentPaymentOrder.setUpdateTime(date);
@@ -589,6 +616,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         orderAmount = orderAmount.add(courseFee);
 
         BigDecimal remitFee = BigDecimal.ZERO;
+        BigDecimal courseRemitFee = BigDecimal.ZERO;
 
         //乐器及打包辅件
         List<MusicGroupSubjectGoodsGroup> goodsGroups = new ArrayList<>();
@@ -631,6 +659,8 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             for (MusicGroupSubjectGoodsGroup goodsGroup : goodsGroups) {
                 Map<String, BigDecimal> groupType = JSONObject.parseObject(goodsGroup.getKitGroupPurchaseTypeJson(), new TypeReference<Map<String, BigDecimal>>() {
                 });
+                Map<String, BigDecimal> coursePurchase = JSONObject.parseObject(goodsGroup.getCoursePurchaseTypeJson(), new TypeReference<Map<String, BigDecimal>>() {
+                });
                 if (goodsGroup.getType().equals(GoodsType.INSTRUMENT)) {
                     String kitGroupPurchaseType = registerPayDto.getGoodsGroups().get(goodsGroup.getId());
                     if (!groupType.containsKey(kitGroupPurchaseType)) {
@@ -641,11 +671,12 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
                     }
                     goodsGroup.setKitGroupPurchaseType(KitGroupPurchaseTypeEnum.valueOf(kitGroupPurchaseType));
                     remitFee = groupType.get(kitGroupPurchaseType);
+                    courseRemitFee = coursePurchase.get(kitGroupPurchaseType) == null ? BigDecimal.ZERO : coursePurchase.get(kitGroupPurchaseType);
                 }
                 orderAmount = orderAmount.add(goodsGroup.getPrice());
                 goodsGroup.setGoodsList(goodsService.findGoodsByIds(goodsGroup.getGoodsIdList()));
             }
-            orderAmount = orderAmount.subtract(remitFee);
+            orderAmount = orderAmount.subtract(remitFee).subtract(courseRemitFee);
         }
 
         //单独辅件
@@ -665,6 +696,27 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
                 orderAmount = orderAmount.add(goods.getGroupPurchasePrice());
             }
         }
+        //可选课程
+        List<CourseFormDto> courseForms = new ArrayList<>();
+        if (registerPayDto.getCourseKeys() != null && registerPayDto.getCourseKeys().size() > 0) {
+            MusicGroup musicGroup = musicGroupDao.get(studentRegistration.getMusicGroupId());
+            if (musicGroup.getCourseForm() == null) {
+                throw new BizException("可选课程不存在");
+            }
+            Map<String, String> courseForm = JSON.parseObject(musicGroup.getCourseForm(), Map.class);
+            for (String courseKey : registerPayDto.getCourseKeys()) {
+                if (courseForm.get(courseKey) == null) {
+                    throw new BizException("可选课程不存在");
+                }
+                CourseFormDto courseFormDto = new CourseFormDto();
+                JSONObject jsonObject = JSON.parseObject(musicGroup.getCourseForm());
+                orderAmount = orderAmount.add(jsonObject.getBigDecimal("value"));
+                courseFormDto.setType(courseKey);
+                courseFormDto.setPrice(jsonObject.getBigDecimal("value"));
+                courseForms.add(courseFormDto);
+            }
+        }
+
         if (amount.compareTo(orderAmount) != 0) {
             throw new BizException("商品价格不符");
         }
@@ -677,7 +729,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 
         String channelType = "";
 
-        StudentPaymentOrder studentPaymentOrder = studentRegistrationService.reAddOrder(userId, amount, orderNo, channelType, courseFee, goodsGroups, goodsList, otherGoodsList, studentRegistration.getMusicGroupId(), ApplyOrder);
+        StudentPaymentOrder studentPaymentOrder = studentRegistrationService.reAddOrder(userId, amount, orderNo, channelType, courseFee, goodsGroups, goodsList, otherGoodsList, studentRegistration.getMusicGroupId(), ApplyOrder,courseForms);
         studentPaymentOrder.setVersion(0);
         Date date = new Date();
 
@@ -699,6 +751,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         }
         studentPaymentOrder.setPaymentChannel("BALANCE");
         studentPaymentOrder.setRemitFee(remitFee);
+        studentPaymentOrder.setCourseRemitFee(courseRemitFee);
         studentPaymentOrder.setOrganId(musicGroup.getOrganId());
         studentPaymentOrder.setRoutingOrganId(musicGroup.getOrganId());
         studentPaymentOrder.setUpdateTime(date);

+ 26 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentRegistrationServiceImpl.java

@@ -277,7 +277,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
 
     @Override
     @Transactional
-    public StudentPaymentOrder addOrder(StudentRegistration studentRegistration, BigDecimal amount, String orderNo, String paymentChannel, BigDecimal courseFee, List<MusicGroupSubjectGoodsGroup> goodsGroups, List<Goods> goodsList, List<Goods> otherGoodsList) throws Exception {
+    public StudentPaymentOrder addOrder(StudentRegistration studentRegistration, BigDecimal amount, String orderNo, String paymentChannel, BigDecimal courseFee, List<MusicGroupSubjectGoodsGroup> goodsGroups, List<Goods> goodsList, List<Goods> otherGoodsList, List<CourseFormDto> courseForms) throws Exception {
         Date date = new Date();
         StudentPaymentOrder studentPaymentOrder = new StudentPaymentOrder();
         studentPaymentOrder.setUserId(studentRegistration.getUserId());
@@ -376,6 +376,30 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
                 studentPaymentOrderDetailList.add(studentPaymentOrderDetail4otherGoods);
             }
         }
+        //可选课程
+        if (courseForms != null && courseForms.size() > 0) {
+            for (CourseFormDto courseForm : courseForms) {
+                OrderDetailTypeEnum courType = OrderDetailTypeEnum.MUSIC_COURSE;
+                if (courseForm.getType().equals("soundInfo")) {
+                    courType = OrderDetailTypeEnum.MUSIC_COURSE;
+                } else if (courseForm.getType().equals("allInfo")) {
+                    courType = OrderDetailTypeEnum.MIX_COURSE;
+                } else if (courseForm.getType().equals("baseInfo")) {
+                    courType = OrderDetailTypeEnum.HIGH_ONLINE_COURSE;
+                } else if (courseForm.getType().equals("holidayInfo")) {
+                    courType = OrderDetailTypeEnum.HOLIDAY_COURSE;
+                } else if (courseForm.getType().equals("networkInfo")) {
+                    courType = OrderDetailTypeEnum.NETWORK_COURSE;
+                }
+                StudentPaymentOrderDetail studentPaymentOrderDetailCourse = new StudentPaymentOrderDetail();
+                studentPaymentOrderDetailCourse.setType(courType);
+                studentPaymentOrderDetailCourse.setPrice(courseForm.getPrice());
+                studentPaymentOrderDetailCourse.setCreateTime(date);
+                studentPaymentOrderDetailCourse.setUpdateTime(date);
+                studentPaymentOrderDetailCourse.setPaymentOrderId(studentPaymentOrder.getId());
+                studentPaymentOrderDetailList.add(studentPaymentOrderDetailCourse);
+            }
+        }
 
         studentPaymentOrderDetailService.batchAdd(studentPaymentOrderDetailList);
 
@@ -407,7 +431,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
 
     @Override
     @Transactional
-    public StudentPaymentOrder reAddOrder(Integer userId, BigDecimal amount, String orderNo, String paymentChannel, BigDecimal courseFee, List<MusicGroupSubjectGoodsGroup> goodsGroups, List<Goods> goodsList, List<Goods> otherGoodsList, String musicGroupId, StudentPaymentOrder oldOrder) {
+    public StudentPaymentOrder reAddOrder(Integer userId, BigDecimal amount, String orderNo, String paymentChannel, BigDecimal courseFee, List<MusicGroupSubjectGoodsGroup> goodsGroups, List<Goods> goodsList, List<Goods> otherGoodsList, String musicGroupId, StudentPaymentOrder oldOrder, List<CourseFormDto> courseForms) {
         //关闭老订单
         oldOrder.setStatus(DealStatusEnum.CLOSE);
         studentPaymentOrderService.update(oldOrder);

+ 5 - 4
mec-biz/src/main/resources/config/mybatis/MusicGroupSubjectGoodsGroupMapper.xml

@@ -18,6 +18,7 @@
         <result column="deposit_fee_" property="depositFee"/>
         <result column="remission_course_fee_" property="remissionCourseFee"/>
         <result column="kit_group_purchase_type_json_" property="kitGroupPurchaseTypeJson"/>
+        <result column="course_purchase_type_json_" property="coursePurchaseTypeJson"/>
     </resultMap>
 
     <!-- 根据主键查询一条记录 -->
@@ -38,16 +39,16 @@
             parameterType="com.ym.mec.biz.dal.entity.MusicGroupSubjectGoodsGroup"
             useGeneratedKeys="true" keyColumn="id" keyProperty="id">
         INSERT INTO music_group_subject_goods_group
-        (id_,name_,type_,music_group_id_,subject_id_,goods_id_list_,create_time_,update_time_,price_,deposit_fee_,remission_course_fee_,kit_group_purchase_type_json_)
-        VALUES(#{id},#{name},#{type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{musicGroupId},#{subjectId},#{goodsIdList},NOW(),NOW(),#{price},#{depositFee},#{remissionCourseFee},#{kitGroupPurchaseTypeJson})
+        (id_,name_,type_,music_group_id_,subject_id_,goods_id_list_,create_time_,update_time_,price_,deposit_fee_,remission_course_fee_,kit_group_purchase_type_json_,course_purchase_type_json_)
+        VALUES(#{id},#{name},#{type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{musicGroupId},#{subjectId},#{goodsIdList},NOW(),NOW(),#{price},#{depositFee},#{remissionCourseFee},#{kitGroupPurchaseTypeJson},#{coursePurchaseTypeJson})
     </insert>
 
     <insert id="batchInsert" parameterType="java.util.List">
         INSERT INTO music_group_subject_goods_group
-        (name_,type_,music_group_id_,subject_id_,goods_id_list_,create_time_,update_time_,price_,deposit_fee_,remission_course_fee_,kit_group_purchase_type_json_) VALUES
+        (name_,type_,music_group_id_,subject_id_,goods_id_list_,create_time_,update_time_,price_,deposit_fee_,remission_course_fee_,kit_group_purchase_type_json_,course_purchase_type_json_) VALUES
         <foreach collection="lists" item="item" index="index" separator=",">
             (#{item.name},#{item.type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
-            #{musicGroupId},#{item.subjectId},#{item.goodsIdList},now(),now(),#{item.price},#{item.depositFee},#{item.remissionCourseFee},#{item.kitGroupPurchaseTypeJson})
+            #{musicGroupId},#{item.subjectId},#{item.goodsIdList},now(),now(),#{item.price},#{item.depositFee},#{item.remissionCourseFee},#{item.kitGroupPurchaseTypeJson},#{item.coursePurchaseTypeJson})
         </foreach>
     </insert>
 

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

@@ -18,6 +18,7 @@
         <result column="per_amount_" property="perAmount"/>
         <result column="balance_payment_amount_" property="balancePaymentAmount"/>
         <result column="remit_fee_" property="remitFee"/>
+        <result column="course_remit_fee_" property="courseRemitFee"/>
         <result column="trans_no_" property="transNo"/>
         <result column="status_" property="status" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result column="memo_" property="memo"/>
@@ -85,14 +86,14 @@
         INSERT INTO student_payment_order
         (id_, group_type_, user_id_, organ_id_, routing_organ_id_, type_, expect_amount_, actual_amount_, com_amount_,
          per_amount_,
-         balance_payment_amount_, remit_fee_, trans_no_,
+         balance_payment_amount_, remit_fee_,course_remit_fee_, trans_no_,
          status_, memo_, create_time_, update_time_, payment_channel_, payment_business_channel_,
          payment_account_no_, mer_nos_, order_no_, music_group_id_, class_group_id_, pay_time_)
         VALUES (#{id}, #{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
                 #{userId}, #{organId}, #{routingOrganId},
                 #{type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
                 #{expectAmount}, #{actualAmount}, #{comAmount}, #{perAmount}, #{balancePaymentAmount},
-                #{remitFee}, #{transNo},
+                #{remitFee},#{courseRemitFee}, #{transNo},
                 #{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}, #{memo}, now(), now(),
                 #{paymentChannel}, #{paymentBusinessChannel}, #{paymentAccountNo}, #{merNos}, #{orderNo},
                 #{musicGroupId},
@@ -157,6 +158,9 @@
             <if test="remitFee != null">
                 remit_fee_ = #{remitFee},
             </if>
+            <if test="courseRemitFee != null">
+                course_remit_fee_ = #{courseRemitFee},
+            </if>
             <if test="type != null">
                 type_ = #{type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
             </if>

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

@@ -950,9 +950,9 @@ public class ExportController extends BaseController {
 
         try {
             String[] header = {"序号", "学生姓名", "交易流水号", "订单编号", "收款渠道", "收款账户", "应付金额", "现金支付", "余额支付", "到账时间",
-                    "关联乐团ID/VIP课ID", "课程形态", "课程费用", "减免费用", "押金", "乐器", "教辅费用", "零星收款费用", "零星收款类别", "手续费", "专业", "分部", "单位/学校", "合作机构", "备注"};
+                    "关联乐团ID/VIP课ID", "课程形态", "课程费用", "乐器减免费用","课程减免费用", "押金", "乐器", "教辅费用", "零星收款费用", "零星收款类别", "手续费", "专业", "分部", "单位/学校", "合作机构", "备注"};
             String[] body = {"id", "user.username", "transNo", "orderNo", "paymentChannel", "merNos", "expectAmount", "actualAmount", "balancePaymentAmount", "payTime", "musicGroupId",
-                    "groupType.desc", "courseFee", "remitFee", "leaseFee", "musicalFee", "teachingFee", "sporadicAmount", "sporadicType", "transferFee", "subjectName", "organName", "schoolName", "cooperationOrganName", "memo"};
+                    "groupType.desc", "courseFee", "remitFee","courseRemitFee", "leaseFee", "musicalFee", "teachingFee", "sporadicAmount", "sporadicType", "transferFee", "subjectName", "organName", "schoolName", "cooperationOrganName", "memo"};
             HSSFWorkbook workbook = POIUtil.exportExcel(header, body, studentPaymentOrderExportDtos);
             response.setContentType("application/octet-stream");
             response.setHeader("Content-Disposition", "attachment;filename=lender-" + DateUtil.getDate(new Date()) + ".xls");