Browse Source

feat:乐团费用改造

Joburgess 4 năm trước cách đây
mục cha
commit
4ba1cd6bda

+ 3 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ChargeTypeSubjectMapperDao.java

@@ -25,4 +25,6 @@ public interface ChargeTypeSubjectMapperDao extends BaseDAO<Long, ChargeTypeSubj
      * @return
      */
     ChargeTypeSubjectMapper getSubjectDiscount(@Param("chargeTypeId") Integer chargeTypeId, @Param("subjectId") Integer subjectId);
-}
+
+    ChargeTypeSubjectMapper getSubjectsDiscount(@Param("chargeTypeId") Integer chargeTypeId, @Param("subjectIds") String subjectIds);
+}

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

@@ -133,4 +133,6 @@ public interface GoodsDao extends BaseDAO<Integer, Goods> {
      * @return
      */
     List<MusicGroupGoodsAndDiscountDto> getMusicGroupGoodsAndDiscount(@Param("subjectId") Integer subjectId, @Param("type") String type);
+
+    List<MusicGroupGoodsAndDiscountDto> getMusicGroupGoodsAndDiscountWithSubjects(@Param("subjectIds") String subjectIds, @Param("type") String type);
 }

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/MusicGroupSubjectPlanService.java

@@ -83,4 +83,4 @@ public interface MusicGroupSubjectPlanService extends BaseService<Integer, Music
      * @return
      */
     List<MusicGroupGoodsAndDiscountDto> getSubjectGoods(Integer subjectId, String type, Integer chargeTypeId);
-}
+}

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleStudentPaymentServiceImpl.java

@@ -116,6 +116,7 @@ public class CourseScheduleStudentPaymentServiceImpl extends BaseServiceImpl<Lon
 						default:
 							throw new BizException("活动类型错误!");
 					}
+                    courseScheduleStudentPayment.setOriginalPrice(vipGroupApplyBaseInfoDto.getOnlineClassesUnitPrice());
 				}else{
 					//学生线下单节课应缴费计算
 					switch (vipGroupActivity.getType()) {
@@ -141,6 +142,7 @@ public class CourseScheduleStudentPaymentServiceImpl extends BaseServiceImpl<Lon
 							throw new BizException("活动类型错误!");
 					}
 				}
+                courseScheduleStudentPayment.setOriginalPrice(vipGroupApplyBaseInfoDto.getOfflineClassesUnitPrice());
 				courseScheduleStudentPayments.add(courseScheduleStudentPayment);
 			}
 		}

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

@@ -236,4 +236,4 @@ public class MusicGroupSubjectPlanServiceImpl extends BaseServiceImpl<Integer, M
         }
         return goodsList;
     }
-}
+}

+ 8 - 0
mec-biz/src/main/resources/config/mybatis/ChargeTypeSubjectMapperMapper.xml

@@ -147,4 +147,12 @@
         WHERE charge_type_id_ = #{chargeTypeId}
           AND subject_id_ = #{subjectId}
     </select>
+
+    <!-- 根据收费类型获取乐团乐器折扣 -->
+    <select id="getSubjectsDiscount" resultMap="ChargeTypeSubjectMapper">
+        SELECT *
+        FROM charge_type_subject_mapper
+        WHERE charge_type_id_ = #{chargeTypeId}
+          AND FIND_IN_SET(subject_id_, #{subjectIds})
+    </select>
 </mapper>

+ 9 - 0
mec-biz/src/main/resources/config/mybatis/GoodsMapper.xml

@@ -378,4 +378,13 @@
             AND g.type_ = #{type}
         </if>
     </select>
+
+    <select id="getMusicGroupGoodsAndDiscountWithSubjects" resultMap="MusicGroupGoods">
+        SELECT g.* FROM subject_goods_mapper sgm
+        LEFT JOIN goods g ON sgm.goods_category_id_ = g.goods_category_id_
+        WHERE FIND_IN_SET(sgm.subject_id_, #{subjectIds}) and g.status_ != 0
+        <if test="type!=null">
+            AND g.type_ = #{type}
+        </if>
+    </select>
 </mapper>

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

@@ -16,7 +16,9 @@ import org.springframework.web.bind.annotation.*;
 import com.ym.mec.biz.service.MusicGroupSubjectPlanService;
 import com.ym.mec.common.controller.BaseController;
 
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 @RequestMapping("musicGroupSubjectPlan")
 @Api(tags = "乐团声部计划服务")
@@ -72,8 +74,15 @@ public class MusicGroupSubjectPlanController extends BaseController {
             @ApiImplicitParam(name = "type", value = "INSTRUMENT 乐器, ACCESSORIES 教辅", required = true, dataType = "String"),
             @ApiImplicitParam(name = "chargeTypeId", value = "收费模式id", required = true, dataType = "Integer")
     })
-    public HttpResponseResult<List<MusicGroupGoodsAndDiscountDto>> getSubjectGoods(Integer subjectId, String type, Integer chargeTypeId) {
-        return succeed(musicGroupSubjectPlanService.getSubjectGoods(subjectId, type, chargeTypeId));
+    public HttpResponseResult getSubjectGoods(String subjectIds, String type, Integer chargeTypeId) {
+        if(StringUtils.isBlank(subjectIds)){
+            return succeed();
+        }
+        Map<String, List<MusicGroupGoodsAndDiscountDto>> result = new HashMap<>();
+        for (String subjectIdStr : subjectIds.split(",")) {
+            result.put(subjectIdStr, musicGroupSubjectPlanService.getSubjectGoods(Integer.valueOf(subjectIdStr), type, chargeTypeId));
+        }
+        return succeed(result);
     }
 
 }