Bläddra i källkod

声部更换调整

zouxuan 3 år sedan
förälder
incheckning
c1d4cfae12

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

@@ -4,6 +4,7 @@ import java.math.BigDecimal;
 import java.util.List;
 import java.util.Map;
 
+import com.ym.mec.biz.dal.entity.Goods;
 import org.apache.ibatis.annotations.Param;
 
 import com.ym.mec.biz.dal.dto.Mapper;
@@ -156,4 +157,12 @@ public interface StudentPaymentOrderDetailDao extends BaseDAO<Long, StudentPayme
     List<Mapper> getInstrumentNumInMusicApply(@Param("musicGroupIds") List<String> musicGroupIds);
     
 	List<StudentApplyInstrumentDto> queryByType(@Param("musicGroupId") String musicGroupId, @Param("orderDetailType") OrderDetailTypeEnum orderDetailType);
+
+    /**
+     *获取报名时购买的乐器或者附件
+     * @param orderIds
+     * @param type
+     * @return
+     */
+    List<Goods> getGoodsSellPrice(@Param("orderIds") List<Long> orderIds, @Param("type") String type);
 }

+ 21 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SubjectChangeServiceImpl.java

@@ -96,11 +96,22 @@ public class SubjectChangeServiceImpl extends BaseServiceImpl<Integer, SubjectCh
         if (subjectChange == null) {
             return null;
         }
+        List<StudentPaymentOrder> orders = studentPaymentOrderDao.findMusicGroupApplyOrderByStatus(subjectChange.getStudentId(), subjectChange.getMusicGroupId(), SUCCESS);
+        //获取原报名订单的乐器费用
         if (subjectChange.getOriginalMusical() != null) {
-            subjectChange.setOriginalMusicalGoods(goodsDao.get(subjectChange.getOriginalMusical()));
+            if(orders != null && orders.size() > 0){
+                List<Long> collect = orders.stream().map(e -> e.getId()).collect(Collectors.toList());
+                List<Goods> musical = studentPaymentOrderDetailDao.getGoodsSellPrice(collect, "MUSICAL");
+                if(musical != null && musical.size() > 0){
+                    subjectChange.setOriginalMusicalGoods(musical.get(0));
+                }
+            }
         }
         if (subjectChange.getOriginalAccessories() != null) {
-            subjectChange.setOriginalAccessoriesGoods(goodsDao.findGoodsByIds(subjectChange.getOriginalAccessories()));
+            if(orders != null && orders.size() > 0){
+                List<Long> collect = orders.stream().map(e -> e.getId()).collect(Collectors.toList());
+                subjectChange.setOriginalAccessoriesGoods(studentPaymentOrderDetailDao.getGoodsSellPrice(collect,"ACCESSORIES"));
+            }
         }
 
         if (subjectChange.getChangeMusical() != null) {
@@ -614,7 +625,14 @@ public class SubjectChangeServiceImpl extends BaseServiceImpl<Integer, SubjectCh
                 	sellOrderService.refundByOrderId(subjectChange.getOriginalOrderId().longValue(), false);
                 }
                 //添加新订单
-                this.addSellOrder(studentPaymentOrder.getId(), subjectChange.getMusicGroupId(), goodsIdList, studentPaymentOrder.getExpectAmount(), studentPaymentOrder.getBalancePaymentAmount(), subjectChange.getKitGroupPurchaseType());
+                List<SellOrder> sellOrders = this.addSellOrder(studentPaymentOrder.getId(), subjectChange.getMusicGroupId(), goodsIdList, studentPaymentOrder.getExpectAmount(), studentPaymentOrder.getBalancePaymentAmount(), subjectChange.getKitGroupPurchaseType());
+                if(sellOrders != null && sellOrders.size() > 0){
+                    BigDecimal instrumentAmount = sellOrders.stream().filter(e -> e.getType() == SellTypeEnum.INSTRUMENT).map(e -> e.getExpectAmount()).reduce(BigDecimal.ZERO, BigDecimal::add);
+                    BigDecimal accessoriesAmount = sellOrders.stream().filter(e -> e.getType() == SellTypeEnum.ACCESSORIES).map(e -> e.getExpectAmount()).reduce(BigDecimal.ZERO, BigDecimal::add);
+                    subjectChange.setChangeMusicalPrice(instrumentAmount);
+                    subjectChange.setChangeAccessoriesPrice(accessoriesAmount);
+                    subjectChangeDao.update(subjectChange);
+                }
             }
 
             //乐保处理

+ 11 - 0
mec-biz/src/main/resources/config/mybatis/StudentPaymentOrderDetailMapper.xml

@@ -324,4 +324,15 @@
         WHERE spo.music_group_id_ = #{musicGroupId}
         AND spo.type_ = 'APPLY' and spo.status_ = 'SUCCESS' and spod.type_ = #{orderDetailType, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
     </select>
+    <select id="getGoodsSellPrice" resultMap="com.ym.mec.biz.dal.dao.GoodsDao.Goods">
+        SELECT g.id_,g.goods_category_id_,g.sn_,g.name_,g.brand_,g.specification_,g.image_,g.type_,spod.price_ group_purchase_price_
+        FROM student_payment_order_detail spod
+        LEFT JOIN goods g ON spod.goods_id_list_ = g.id_
+        WHERE spod.payment_order_id_ IN
+        <foreach collection="orderIds" separator="," item="item" open="(" close=")">
+            #{item}
+        </foreach>
+        AND spod.type_ = #{type}
+        GROUP BY spod.id_
+    </select>
 </mapper>

+ 0 - 5
mec-student/src/main/java/com/ym/mec/student/controller/SubjectChangeController.java

@@ -11,18 +11,13 @@ import com.ym.mec.biz.service.SubjectChangeService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
 import com.ym.mec.common.exception.BizException;
-
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
-
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
-import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
-
-import java.math.BigDecimal;
 import java.util.Map;
 
 @RequestMapping("subjectChange")

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

@@ -38,8 +38,6 @@ import java.util.List;
 public class SubjectChangeController extends BaseController {
 
     @Autowired
-    private StudentRegistrationService studentRegistrationService;
-    @Autowired
     private MusicGroupSubjectPlanService musicGroupSubjectPlanService;
     @Autowired
     private SubjectChangeService subjectChangeService;