Bläddra i källkod

Merge branch 'master' of http://git.dayaedu.com/yonge/mec

zouxuan 5 år sedan
förälder
incheckning
7ff43be654

+ 2 - 2
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentPaymentOrderDetailDao.java

@@ -68,10 +68,10 @@ public interface StudentPaymentOrderDetailDao extends BaseDAO<Long, StudentPayme
      * 获取对应商品类型总价
      *
      * @param paymentOrderNo
-     * @param type
+     * @param types
      * @return
      */
-    List<Map<Long, BigDecimal>> queryGoodsPrice(@Param("paymentOrderNo") List<Long> paymentOrderNo, @Param("type") String type);
+    List<Map<Long, BigDecimal>> queryGoodsPrice(@Param("paymentOrderNo") List<Long> paymentOrderNo, @Param("types") String types);
 
     /**
      * 获取订单商品

+ 9 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentPaymentOrderDetailServiceImpl.java

@@ -9,6 +9,7 @@ import com.ym.mec.biz.dal.dto.MusicalListDetailDto;
 import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.enums.KitGroupPurchaseTypeEnum;
 import com.ym.mec.biz.dal.enums.OrderDetailTypeEnum;
+import com.ym.mec.biz.service.MusicGroupPaymentCalenderService;
 import com.ym.mec.util.collection.MapUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -44,6 +45,10 @@ public class StudentPaymentOrderDetailServiceImpl extends BaseServiceImpl<Long,
     private SubjectDao subjectDao;
     @Autowired
     private SubjectChangeDao subjectChangeDao;
+    @Autowired
+    private MusicGroupPaymentCalenderService musicGroupPaymentCalenderService;
+    @Autowired
+    private MusicGroupPaymentCalenderCourseSettingsDao musicGroupPaymentCalenderCourseSettingsDao;
 
     @Override
     public BaseDAO<Long, StudentPaymentOrderDetail> getDAO() {
@@ -244,6 +249,9 @@ public class StudentPaymentOrderDetailServiceImpl extends BaseServiceImpl<Long,
         List<Long> paymentOrderNo = musicalListDetailDtos.stream().map(MusicalListDetailDto::getPaymentOrderId).collect(Collectors.toList());
         List<Integer> userIds = musicalListDetailDtos.stream().map(MusicalListDetailDto::getUserId).collect(Collectors.toList());
         //商品名称
+        MusicGroupPaymentCalender musicGroupRegCalender = musicGroupPaymentCalenderService.findByMusicGroupRegCalender(musicGroupId);
+        List<MusicGroupPaymentCalenderCourseSettings> courseSettings = musicGroupPaymentCalenderCourseSettingsDao.getWithPaymentCalender(musicGroupRegCalender.getId());
+        String courseTypes = courseSettings.stream().map(e -> e.getCourseType().getCode()).collect(Collectors.joining(","));
         MusicGroup musicGroup = musicGroupDao.get(musicGroupId);
         Organization organization = organizationDao.get(musicGroup.getOrganId());
         Map<Long, String> goodsNameMap = MapUtil.convertIntegerMap(studentPaymentOrderDetailDao.queryGoodsNames(paymentOrderNo));
@@ -251,7 +259,7 @@ public class StudentPaymentOrderDetailServiceImpl extends BaseServiceImpl<Long,
         Map<Long, BigDecimal> expectAmountMap = MapUtil.convertIntegerMap(studentPaymentOrderDao.queryExpectAmount(paymentOrderNo));
         Map<Long, BigDecimal> musicalAmountMap = MapUtil.convertIntegerMap(studentPaymentOrderDetailDao.queryGoodsPrice(paymentOrderNo, "MUSICAL"));
         Map<Long, BigDecimal> accessoriesAmountMap = MapUtil.convertIntegerMap(studentPaymentOrderDetailDao.queryGoodsPrice(paymentOrderNo, "ACCESSORIES"));
-        Map<Long, BigDecimal> courseAmountMap = MapUtil.convertIntegerMap(studentPaymentOrderDetailDao.queryGoodsPrice(paymentOrderNo, "COURSE"));
+        Map<Long, BigDecimal> courseAmountMap = MapUtil.convertIntegerMap(studentPaymentOrderDetailDao.queryGoodsPrice(paymentOrderNo, courseTypes));
         Map<Long, String> purchaseTypeMap = MapUtil.convertIntegerMap(studentPaymentOrderDetailDao.queryPurchaseTypeMap(paymentOrderNo));
         Map<Integer, String> userSubjectMap = subjectDao.getRegisterSubject(musicGroupId, userIds).stream().collect(Collectors.toMap(StudentRegistration::getUserId, StudentRegistration::getSubjectName));
         List<StudentPaymentOrderDetail> details = studentPaymentOrderDetailDao.getOrderGoodies(paymentOrderNo);

+ 3 - 2
mec-biz/src/main/resources/config/mybatis/StudentPaymentOrderDetailMapper.xml

@@ -176,7 +176,8 @@
     </select>
     <select id="queryGoodsPrice" resultType="java.util.Map">
         SELECT spod.payment_order_id_ 'key' ,SUM(price_) 'value' FROM student_payment_order_detail spod
-        WHERE spod.type_ = #{type} AND spod.payment_order_id_ IN
+        WHERE FIND_IN_SET(spod.type_,#{types})
+        AND spod.payment_order_id_ IN
         <foreach collection="paymentOrderNo" open="(" close=")" separator="," item="item">
             #{item}
         </foreach>
@@ -242,7 +243,7 @@
 
     <select id="getOrderGoodies" resultMap="StudentPaymentOrderDetail">
         SELECT spod.*,
-        g.id_   goods_id_,
+        g.id_ goods_id_,
         g.name_ goods_name_,
         g.group_purchase_price_,
         g.discount_price_,