浏览代码

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

yonge 5 年之前
父节点
当前提交
cc38229bfb

+ 38 - 5
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentPaymentOrderDetailServiceImpl.java

@@ -1,22 +1,23 @@
 package com.ym.mec.biz.service.impl;
 
+import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
-import com.ym.mec.biz.dal.dao.MusicGroupDao;
-import com.ym.mec.biz.dal.dao.OrganizationDao;
+import com.ym.mec.biz.dal.dao.*;
 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.service.MusicGroupService;
+import com.ym.mec.util.collection.MapUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import com.ym.mec.biz.dal.dao.MusicGroupPurchaseListDao;
-import com.ym.mec.biz.dal.dao.StudentPaymentOrderDetailDao;
 import com.ym.mec.biz.dal.enums.DealStatusEnum;
 import com.ym.mec.biz.service.GoodsService;
 import com.ym.mec.biz.service.StudentPaymentOrderDetailService;
@@ -32,11 +33,17 @@ public class StudentPaymentOrderDetailServiceImpl extends BaseServiceImpl<Long,
     @Autowired
     private GoodsService goodsService;
     @Autowired
+    private TeacherDao teacherDao;
+    @Autowired
     private MusicGroupDao musicGroupDao;
     @Autowired
     private OrganizationDao organizationDao;
     @Autowired
     private MusicGroupPurchaseListDao musicGroupPurchaseListDao;
+    @Autowired
+    private StudentPaymentOrderDao studentPaymentOrderDao;
+    @Autowired
+    private StudentRegistrationDao studentRegistrationDao;
 
     @Override
     public BaseDAO<Long, StudentPaymentOrderDetail> getDAO() {
@@ -162,7 +169,33 @@ public class StudentPaymentOrderDetailServiceImpl extends BaseServiceImpl<Long,
 
     @Override
     public List<musicalListDetailDto> getMusicalListDetail(String musicGroupId) {
-        return studentPaymentOrderDetailDao.getMusicalListDetail(musicGroupId);
+        List<musicalListDetailDto> musicalListDetailDtos = studentPaymentOrderDetailDao.getMusicalListDetail(musicGroupId);
+        if(musicalListDetailDtos != null && musicalListDetailDtos.size() > 0){
+            List<Long> paymentOrderNo = musicalListDetailDtos.stream().map(e -> e.getPaymentOrderId()).collect(Collectors.toList());
+            List<Integer> userIds = musicalListDetailDtos.stream().map(e -> e.getUserId()).collect(Collectors.toList());
+            //商品名称
+            MusicGroup musicGroup = musicGroupDao.get(musicGroupId);
+            Organization organization = organizationDao.get(musicGroup.getOrganId());
+            Map<Long,String> goodsNameMap = MapUtil.convertIntegerMap(studentPaymentOrderDetailDao.queryGoodsNames(paymentOrderNo));
+            Map<Integer,String> usernameMap = MapUtil.convertIntegerMap(teacherDao.queryUsernameByIds(userIds));
+            Map<Long, BigDecimal> actualAmountMap = MapUtil.convertIntegerMap(studentPaymentOrderDao.queryActualAmount(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, String> purchaseTypeMap = MapUtil.convertIntegerMap(studentRegistrationDao.queryPurchaseTypeMap(musicGroupId));
+            musicalListDetailDtos.forEach(e->{
+                e.setGoodsNames(goodsNameMap.get(e.getPaymentOrderId()));
+                e.setMusicGroupName(musicGroup.getName());
+                e.setUsername(usernameMap.get(e.getUserId()));
+                e.setOrganName(organization.getName());
+                e.setMusicalAmount(musicalAmountMap.get(e.getPaymentOrderId()));
+                e.setAccessoriesAmount(accessoriesAmountMap.get(e.getPaymentOrderId()));
+                e.setOrderAmount(actualAmountMap.get(e.getPaymentOrderId()));
+                e.setCourseAmount(courseAmountMap.get(e.getPaymentOrderId()));
+                e.setKitGroupPurchaseTypeEnum(KitGroupPurchaseTypeEnum.valueOf(purchaseTypeMap.get(e.getUserId())));
+            });
+        }
+        return musicalListDetailDtos;
     }
 
     @Override

+ 1 - 2
mec-education/src/main/java/com/ym/mec/education/controller/SmsCodeController.java

@@ -101,9 +101,8 @@ public class SmsCodeController extends BaseController {
         KaptchaServlet kaptchaServlet = new KaptchaServlet();
         kaptchaServlet.init();
         ServletOutputStream out = response.getOutputStream();
-        // write the data out
-        ImageIO.write(bi, "jpg", out);
         try {
+            ImageIO.write(bi, "jpg", out);
             out.flush();
         } finally {
             out.close();

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

@@ -103,8 +103,8 @@ public class SmsCodeController extends BaseController {
         kaptchaServlet.init();
         ServletOutputStream out = response.getOutputStream();
         // write the data out
-        ImageIO.write(bi, "jpg", out);
         try {
+            ImageIO.write(bi, "jpg", out);
             out.flush();
         } finally {
             out.close();

+ 1 - 2
mec-teacher/src/main/java/com/ym/mec/teacher/controller/SmsCodeController.java

@@ -101,9 +101,8 @@ public class SmsCodeController extends BaseController {
         KaptchaServlet kaptchaServlet = new KaptchaServlet();
         kaptchaServlet.init();
         ServletOutputStream out = response.getOutputStream();
-        // write the data out
-        ImageIO.write(bi, "jpg", out);
         try {
+            ImageIO.write(bi, "jpg", out);
             out.flush();
         } finally {
             out.close();