Browse Source

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

yonge 5 years ago
parent
commit
1b644bc846

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

@@ -4,6 +4,7 @@ import java.util.List;
 
 import com.ym.mec.biz.dal.entity.ChargeTypeSubjectMapper;
 import com.ym.mec.common.dal.BaseDAO;
+import org.apache.ibatis.annotations.Param;
 
 public interface ChargeTypeSubjectMapperDao extends BaseDAO<Long, ChargeTypeSubjectMapper> {
 
@@ -12,7 +13,16 @@ public interface ChargeTypeSubjectMapperDao extends BaseDAO<Long, ChargeTypeSubj
      */
     void deleteByChargeTypeId(Integer chargeTypeId);
 
-	int batchInsert(List<ChargeTypeSubjectMapper> chargeTypeSubjectMapperList);
-	
-	int batchUpdate(List<ChargeTypeSubjectMapper> chargeTypeSubjectMapperList);
+    int batchInsert(List<ChargeTypeSubjectMapper> chargeTypeSubjectMapperList);
+
+    int batchUpdate(List<ChargeTypeSubjectMapper> chargeTypeSubjectMapperList);
+
+    /**
+     * 根据收费类型获取声部的折扣
+     *
+     * @param chargeTypeId
+     * @param subjectId
+     * @return
+     */
+    ChargeTypeSubjectMapper getSubjectDiscount(@Param("chargeTypeId") Integer chargeTypeId, @Param("subjectId") Integer subjectId);
 }

+ 22 - 14
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/GoodsDao.java

@@ -1,6 +1,7 @@
 package com.ym.mec.biz.dal.dao;
 
 import com.ym.mec.biz.dal.dto.GoodsSellDto;
+import com.ym.mec.biz.dal.dto.MusicGroupGoodsAndDiscountDto;
 import com.ym.mec.biz.dal.entity.Goods;
 import com.ym.mec.common.dal.BaseDAO;
 
@@ -48,64 +49,65 @@ public interface GoodsDao extends BaseDAO<Integer, Goods> {
     void batchInsert(List<Goods> goodsList);
 
     /**
+     * @param goodsList:
+     * @return void
      * @describe 批量更新商品
      * @author Joburgess
      * @date 2020.09.28
-     * @param goodsList:
-     * @return void
      */
     void batchUpdate(@Param("goodsList") List<Goods> goodsList);
 
     /**
      * 获取商品列表
+     *
      * @param goodsIds
      * @return
      */
     List<Goods> getGoodies(@Param("goodsIds") List<Integer> goodsIds);
 
     /**
+     * @param goodsId:
+     * @return java.util.List<com.ym.mec.biz.dal.entity.Goods>
      * @describe 查询附件商品列表中存在指定商品的商品
      * @author Joburgess
      * @date 2020.10.12
-     * @param goodsId:
-     * @return java.util.List<com.ym.mec.biz.dal.entity.Goods>
      */
     List<Goods> getWithComplementGoodsAndStatus(@Param("goodsId") Integer goodsId,
                                                 @Param("status") Integer status);
 
     /**
+     * @param goodsIds:
+     * @return java.util.List<com.ym.mec.biz.dal.entity.Goods>
      * @describe 锁定指定商品
      * @author Joburgess
      * @date 2020.10.12
-     * @param goodsIds:
-     * @return java.util.List<com.ym.mec.biz.dal.entity.Goods>
      */
     List<Goods> lockGoods(@Param("goodsIds") List<Integer> goodsIds);
 
     /**
+     * @param sn:
+     * @return com.ym.mec.biz.dal.entity.Goods
      * @describe 根据货号查找商品
      * @author Joburgess
      * @date 2020.10.10
-     * @param sn:
-     * @return com.ym.mec.biz.dal.entity.Goods
      */
     Goods findBySn(@Param("sn") String sn);
 
     /**
+     * @param sn:
+     * @return com.ym.mec.biz.dal.entity.Goods
      * @describe 根据货号锁定商品
      * @author Joburgess
      * @date 2020.10.15
-     * @param sn:
-     * @return com.ym.mec.biz.dal.entity.Goods
      */
     Goods lockBySn(@Param("sn") String sn);
 
     /**
+     * @param sns:
+     * @return java.util.List<com.ym.mec.biz.dal.entity.Goods>
      * @describe 根据货号查找商品
      * @author Joburgess
      * @date 2020.09.28
-     * @param sns:
-     * @return java.util.List<com.ym.mec.biz.dal.entity.Goods>
      */
     List<Goods> findBySns(@Param("sns") List<String> sns);
 
@@ -114,13 +116,19 @@ public interface GoodsDao extends BaseDAO<Integer, Goods> {
     String getOuterRepertoryWarnName(@Param("outerRepertoryWarnNum") String outerRepertoryWarnNum);
 
     /**
+     * @param goodsId:
+     * @return java.util.List<com.ym.mec.biz.dal.dto.GoodsSellDto>
      * @describe 获取商品辅件列表
      * @apiNote 时光荏苒,认真工作的时间总是过得很快,而我、享受这一刻!
      * @author zouxuan
      * @date 2020/10/13
      * @time 15:09
-     * @param goodsId:
-     * @return java.util.List<com.ym.mec.biz.dal.dto.GoodsSellDto>
      */
     List<GoodsSellDto> queryGoodsSellDtos(@Param("goodsId") String goodsId);
+
+    /**
+     * 获取乐团的商品
+     * @return
+     */
+    List<MusicGroupGoodsAndDiscountDto> getMusicGroupGoodsAndDiscount(@Param("subjectId") Integer subjectId, @Param("type") String type);
 }

+ 31 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/MusicGroupGoodsAndDiscountDto.java

@@ -0,0 +1,31 @@
+package com.ym.mec.biz.dal.dto;
+
+import com.ym.mec.biz.dal.entity.Goods;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.math.BigDecimal;
+
+public class MusicGroupGoodsAndDiscountDto extends Goods {
+
+    @ApiModelProperty(value = "折扣", required = true)
+    private BigDecimal discountRate = BigDecimal.ONE;
+
+    @ApiModelProperty(value = "折扣金额", required = true)
+    private BigDecimal musicGroupDiscountPrice = BigDecimal.ZERO;
+
+    public BigDecimal getDiscountRate() {
+        return discountRate;
+    }
+
+    public void setDiscountRate(BigDecimal discountRate) {
+        this.discountRate = discountRate;
+    }
+
+    public BigDecimal getMusicGroupDiscountPrice() {
+        return musicGroupDiscountPrice;
+    }
+
+    public void setMusicGroupDiscountPrice(BigDecimal musicGroupDiscountPrice) {
+        this.musicGroupDiscountPrice = musicGroupDiscountPrice;
+    }
+}

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

@@ -1,10 +1,9 @@
 package com.ym.mec.biz.service;
 
+import com.ym.mec.biz.dal.dto.MusicGroupGoodsAndDiscountDto;
 import com.ym.mec.biz.dal.dto.MusicGroupRegRespDto;
 import com.ym.mec.biz.dal.dto.MusicGroupSubjectGoodsAndInfoDto;
-import com.ym.mec.biz.dal.entity.MusicGroupStudentFee;
-import com.ym.mec.biz.dal.entity.MusicGroupSubjectPlan;
-import com.ym.mec.biz.dal.entity.StudentRegistration;
+import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.common.service.BaseService;
 
 import java.util.List;
@@ -74,4 +73,14 @@ public interface MusicGroupSubjectPlanService extends BaseService<Integer, Music
      * @return
      */
     MusicGroupSubjectGoodsAndInfoDto getStudentGoodsAndInfo(String musicGroupId, Integer subjectId, StudentRegistration studentRegistration);
+
+
+    /**
+     * 获取声部的乐器、辅件(包含折扣)
+     * @param subjectId
+     * @param type
+     * @param chargeTypeId
+     * @return
+     */
+    List<MusicGroupGoodsAndDiscountDto> getSubjectGoods(Integer subjectId, String type, Integer chargeTypeId);
 }

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

@@ -1,10 +1,15 @@
 package com.ym.mec.biz.service.impl;
 
+import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
+import com.ym.mec.biz.dal.dao.ChargeTypeSubjectMapperDao;
+import com.ym.mec.biz.dal.dao.GoodsDao;
+import com.ym.mec.biz.dal.dto.MusicGroupGoodsAndDiscountDto;
+import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.enums.KitGroupPurchaseTypeEnum;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -14,13 +19,6 @@ import com.ym.mec.biz.dal.dao.MusicGroupSubjectPlanDao;
 import com.ym.mec.biz.dal.dao.StudentPaymentOrderDetailDao;
 import com.ym.mec.biz.dal.dto.MusicGroupRegRespDto;
 import com.ym.mec.biz.dal.dto.MusicGroupSubjectGoodsAndInfoDto;
-import com.ym.mec.biz.dal.entity.Goods;
-import com.ym.mec.biz.dal.entity.MusicGroup;
-import com.ym.mec.biz.dal.entity.MusicGroupSubjectGoodsGroup;
-import com.ym.mec.biz.dal.entity.MusicGroupSubjectPlan;
-import com.ym.mec.biz.dal.entity.StudentPaymentOrderDetail;
-import com.ym.mec.biz.dal.entity.StudentRegistration;
-import com.ym.mec.biz.dal.entity.Subject;
 import com.ym.mec.biz.dal.enums.DealStatusEnum;
 import com.ym.mec.biz.dal.enums.GoodsType;
 import com.ym.mec.biz.dal.enums.OrderDetailTypeEnum;
@@ -56,6 +54,10 @@ public class MusicGroupSubjectPlanServiceImpl extends BaseServiceImpl<Integer, M
     private SubjectService subjectService;
     @Autowired
     private StudentPaymentOrderDetailDao studentPaymentOrderDetailDao;
+    @Autowired
+    private GoodsDao goodsDao;
+    @Autowired
+    private ChargeTypeSubjectMapperDao chargeTypeSubjectMapperDao;
 
     @Override
     public BaseDAO<Integer, MusicGroupSubjectPlan> getDAO() {
@@ -96,9 +98,9 @@ public class MusicGroupSubjectPlanServiceImpl extends BaseServiceImpl<Integer, M
 
         //乐团乐器及辅件信息
         List<MusicGroupSubjectGoodsGroup> goodsGroups = musicGroupSubjectGoodsGroupService.findGoodsGroup(musicGroupId, subjectId);
-        
-        List<Goods> accessoriesList = goodsService.findGoodsBySubId(subjectId,GoodsType.ACCESSORIES.getCode());
-        
+
+        List<Goods> accessoriesList = goodsService.findGoodsBySubId(subjectId, GoodsType.ACCESSORIES.getCode());
+
         goodsGroups.forEach(goodsGroup -> {
             if (goodsGroup.getType().equals(GoodsType.INSTRUMENT)) {
                 goodsGroup.getGoodsList().forEach(goods -> {
@@ -183,11 +185,11 @@ public class MusicGroupSubjectPlanServiceImpl extends BaseServiceImpl<Integer, M
                 musicGroupSubjectGoodsGroup.setName("辅件");
                 musicGroupSubjectGoodsGroup.setType(GoodsType.ACCESSORIES);
             }
-            if(orderDetail.getKitGroupPurchaseType() != null){
-                if(orderDetail.getKitGroupPurchaseType().equals(KitGroupPurchaseTypeEnum.LEASE)){
+            if (orderDetail.getKitGroupPurchaseType() != null) {
+                if (orderDetail.getKitGroupPurchaseType().equals(KitGroupPurchaseTypeEnum.LEASE)) {
                     musicGroupSubjectGoodsGroup.setDepositFee(orderDetail.getPrice());
                 }
-                String kitGroupPurchaseTypeJson = "{\""+orderDetail.getKitGroupPurchaseType().getCode()+"\":0}";
+                String kitGroupPurchaseTypeJson = "{\"" + orderDetail.getKitGroupPurchaseType().getCode() + "\":0}";
                 musicGroupSubjectGoodsGroup.setKitGroupPurchaseTypeJson(kitGroupPurchaseTypeJson);
             }
 
@@ -208,9 +210,27 @@ public class MusicGroupSubjectPlanServiceImpl extends BaseServiceImpl<Integer, M
         return musicGroupSubjectGoodsAndInfo;
     }
 
-
     @Override
     public MusicGroupSubjectPlan findSubjectPlan(String musicGroupId, Integer subjectId) {
         return musicGroupSubjectPlanDao.findSubjectPlan(musicGroupId, subjectId);
     }
+
+    @Override
+    public List<MusicGroupGoodsAndDiscountDto> getSubjectGoods(Integer subjectId, String type, Integer chargeTypeId) {
+        List<MusicGroupGoodsAndDiscountDto> goodsList = goodsDao.getMusicGroupGoodsAndDiscount(subjectId, type);
+        if (chargeTypeId == null || !"INSTRUMENT".equals(type)) {
+            return goodsList;
+        }
+
+        ChargeTypeSubjectMapper subjectDiscount = chargeTypeSubjectMapperDao.getSubjectDiscount(chargeTypeId, subjectId);
+        if (subjectDiscount == null || subjectDiscount.getGoodsDiscountRate() == null) {
+            return goodsList;
+        }
+        for (MusicGroupGoodsAndDiscountDto musicGroupGoodsAndDiscountDto : goodsList) {
+            musicGroupGoodsAndDiscountDto.setDiscountRate(subjectDiscount.getGoodsDiscountRate());
+            musicGroupGoodsAndDiscountDto.setDiscountPrice(musicGroupGoodsAndDiscountDto.getGroupPurchasePrice()
+                    .subtract(musicGroupGoodsAndDiscountDto.getGroupPurchasePrice().multiply(subjectDiscount.getGoodsDiscountRate())).setScale(2, BigDecimal.ROUND_HALF_UP));
+        }
+        return goodsList;
+    }
 }

+ 0 - 5
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SubjectChangeServiceImpl.java

@@ -1,12 +1,8 @@
 package com.ym.mec.biz.service.impl;
 
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONObject;
 import com.ym.mec.biz.dal.dao.*;
-import com.ym.mec.biz.dal.dto.StudentVisitDto;
 import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.enums.*;
-import com.ym.mec.biz.dal.page.StudentVisitQueryInfo;
 import com.ym.mec.biz.dal.page.SubjectChangeQueryInfo;
 import com.ym.mec.biz.service.*;
 import com.ym.mec.common.dal.BaseDAO;
@@ -27,7 +23,6 @@ import org.springframework.transaction.annotation.Transactional;
 import java.math.BigDecimal;
 import java.util.*;
 import java.util.stream.Collectors;
-import java.util.stream.Stream;
 
 @Service
 public class SubjectChangeServiceImpl extends BaseServiceImpl<Integer, SubjectChange> implements SubjectChangeService {

+ 65 - 41
mec-biz/src/main/resources/config/mybatis/ChargeTypeSubjectMapperMapper.xml

@@ -12,7 +12,8 @@
         <result column="subject_id_" property="subjectId"/>
         <result column="create_time_" property="createTime"/>
         <result column="update_time_" property="updateTime"/>
-        <result column="kit_group_purchase_type_" property="kitGroupPurchaseTypeEnum" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
+        <result column="kit_group_purchase_type_" property="kitGroupPurchaseTypeEnum"
+                typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result column="deposit_fee_" property="depositFee"/>
         <result column="fee_" property="fee"/>
         <result column="goods_discount_rate_" property="goodsDiscountRate"/>
@@ -20,31 +21,39 @@
 
     <!-- 根据主键查询一条记录 -->
     <select id="get" resultMap="ChargeTypeSubjectMapper">
-		SELECT * FROM charge_type_subject_mapper WHERE id_ = #{id} 
-	</select>
+        SELECT *
+        FROM charge_type_subject_mapper
+        WHERE id_ = #{id}
+    </select>
 
     <!-- 全查询 -->
     <select id="findAll" resultMap="ChargeTypeSubjectMapper">
-		SELECT * FROM charge_type_subject_mapper ORDER BY id_
-	</select>
+        SELECT *
+        FROM charge_type_subject_mapper
+        ORDER BY id_
+    </select>
 
     <!-- 向数据库增加一条记录 -->
     <insert id="insert" parameterType="com.ym.mec.biz.dal.entity.ChargeTypeSubjectMapper" useGeneratedKeys="true"
             keyColumn="id" keyProperty="id">
-        INSERT INTO charge_type_subject_mapper (charge_type_id_,subject_id_,kit_group_purchase_type_,deposit_fee_,fee_,goods_discount_rate_,create_time_,update_time_)
-        VALUES(#{chargeTypeId},#{subjectId},#{kitGroupPurchaseTypeEnum,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{depositFee},#{fee},#{goodsDiscountRate},now(),now())
+        INSERT INTO charge_type_subject_mapper (charge_type_id_, subject_id_, kit_group_purchase_type_, deposit_fee_,
+                                                fee_, goods_discount_rate_, create_time_, update_time_)
+        VALUES (#{chargeTypeId}, #{subjectId},
+                #{kitGroupPurchaseTypeEnum,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}, #{depositFee},
+                #{fee}, #{goodsDiscountRate}, now(), now())
     </insert>
 
     <!-- 向数据库增加一条记录 -->
     <insert id="batchInsert" parameterType="java.util.List" useGeneratedKeys="true" keyColumn="id"
             keyProperty="id">
-        INSERT INTO charge_type_subject_mapper (charge_type_id_,subject_id_,kit_group_purchase_type_,deposit_fee_,fee_,goods_discount_rate_,create_time_,update_time_)
+        INSERT INTO charge_type_subject_mapper
+        (charge_type_id_,subject_id_,kit_group_purchase_type_,deposit_fee_,fee_,goods_discount_rate_,create_time_,update_time_)
         VALUES
         <foreach collection="list" item="item" separator=",">
-        (#{item.chargeTypeId},#{item.subjectId},#{item.kitGroupPurchaseTypeEnum,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{item.depositFee},#{item.fee},#{item.goodsDiscountRate},now(),now())
+            (#{item.chargeTypeId},#{item.subjectId},#{item.kitGroupPurchaseTypeEnum,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{item.depositFee},#{item.fee},#{item.goodsDiscountRate},now(),now())
         </foreach>
     </insert>
-    
+
     <!-- 根据主键查询一条记录 -->
     <update id="update" parameterType="com.ym.mec.biz.dal.entity.ChargeTypeSubjectMapper">
         UPDATE charge_type_subject_mapper
@@ -56,7 +65,8 @@
                 charge_type_id_ = #{chargeTypeId},
             </if>
             <if test="kitGroupPurchaseTypeEnum != null">
-                kit_group_purchase_type_ = #{kitGroupPurchaseTypeEnum, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+                kit_group_purchase_type_ =
+                #{kitGroupPurchaseTypeEnum, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
             </if>
             <if test="depositFee != null">
                 deposit_fee_ = #{depositFee},
@@ -73,44 +83,49 @@
         </set>
         WHERE id_ = #{id}
     </update>
-    
+
     <update id="batchUpdate" parameterType="java.util.List">
         <foreach collection="list" item="item" index="index" open="" close="" separator=";">
-        UPDATE charge_type_subject_mapper
-        <set>
-            <if test="item.subjectId != null">
-                subject_id_ = #{item.subjectId},
-            </if>
-            <if test="item.chargeTypeId != null">
-                charge_type_id_ = #{item.chargeTypeId},
-            </if>
-            <if test="item.kitGroupPurchaseTypeEnum != null">
-                kit_group_purchase_type_ = #{item.kitGroupPurchaseTypeEnum, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
-            </if>
-            <if test="item.depositFee != null">
-                deposit_fee_ = #{item.depositFee},
-            </if>
-            <if test="item.fee != null">
-                fee_ = #{item.fee},
-            </if>
-            <if test="item.goodsDiscountRate != null">
-                goods_discount_rate_ = #{item.goodsDiscountRate},
-            </if>
-            <if test="item.updateTime != null">
-                update_time_ = NOW(),
-            </if>
-        </set>
+            UPDATE charge_type_subject_mapper
+            <set>
+                <if test="item.subjectId != null">
+                    subject_id_ = #{item.subjectId},
+                </if>
+                <if test="item.chargeTypeId != null">
+                    charge_type_id_ = #{item.chargeTypeId},
+                </if>
+                <if test="item.kitGroupPurchaseTypeEnum != null">
+                    kit_group_purchase_type_ =
+                    #{item.kitGroupPurchaseTypeEnum, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+                </if>
+                <if test="item.depositFee != null">
+                    deposit_fee_ = #{item.depositFee},
+                </if>
+                <if test="item.fee != null">
+                    fee_ = #{item.fee},
+                </if>
+                <if test="item.goodsDiscountRate != null">
+                    goods_discount_rate_ = #{item.goodsDiscountRate},
+                </if>
+                <if test="item.updateTime != null">
+                    update_time_ = NOW(),
+                </if>
+            </set>
             WHERE id_ = #{item.id}
         </foreach>
     </update>
 
     <!-- 根据主键删除一条记录 -->
     <delete id="delete">
-		DELETE FROM charge_type_subject_mapper WHERE id_ = #{id} 
-	</delete>
+        DELETE
+        FROM charge_type_subject_mapper
+        WHERE id_ = #{id}
+    </delete>
 
     <delete id="deleteByChargeTypeId">
-        DELETE FROM charge_type_subject_mapper WHERE charge_type_id_ = #{chargeTypeId}
+        DELETE
+        FROM charge_type_subject_mapper
+        WHERE charge_type_id_ = #{chargeTypeId}
     </delete>
 
     <!-- 分页查询 -->
@@ -121,6 +136,15 @@
 
     <!-- 查询当前表的总记录数 -->
     <select id="queryCount" resultType="int">
-		SELECT COUNT(*) FROM charge_type_subject_mapper
-	</select>
+        SELECT COUNT(*)
+        FROM charge_type_subject_mapper
+    </select>
+
+    <!-- 根据收费类型获取乐团乐器折扣 -->
+    <select id="getSubjectDiscount" resultMap="ChargeTypeSubjectMapper">
+        SELECT *
+        FROM charge_type_subject_mapper
+        WHERE charge_type_id_ = #{chargeTypeId}
+          AND subject_id_ = #{subjectId}
+    </select>
 </mapper>

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

@@ -363,4 +363,11 @@
     <select id="queryGoodsSellDtos" resultMap="GoodsSellDtoMap">
         SELECT id_,image_,name_,type_,discount_price_ FROM goods WHERE FIND_IN_SET(id_,#{goodsId})
     </select>
+
+    <resultMap id="MusicGroupGoods" type="com.ym.mec.biz.dal.dto.MusicGroupGoodsAndDiscountDto" extends="Goods"/>
+    <select id="getMusicGroupGoodsAndDiscount" resultMap="MusicGroupGoods">
+        SELECT g.* FROM subject_goods_mapper sgm
+        LEFT JOIN goods g ON sgm.goods_category_id_ = g.goods_category_id_
+        WHERE sgm.subject_id_ = #{subjectId} AND g.type_ = #{type} and g.status_ != 0
+    </select>
 </mapper>

+ 17 - 3
mec-web/src/main/java/com/ym/mec/web/controller/MusicGroupSubjectPlanController.java

@@ -1,10 +1,12 @@
 package com.ym.mec.web.controller;
 
+import com.ym.mec.biz.dal.dto.MusicGroupGoodsAndDiscountDto;
+import com.ym.mec.biz.dal.entity.ChargeTypeSubjectMapper;
+import com.ym.mec.biz.dal.entity.Goods;
 import com.ym.mec.biz.dal.entity.MusicGroupSubjectPlan;
+import com.ym.mec.common.entity.HttpResponseResult;
 import com.ym.mec.common.exception.BizException;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiParam;
+import io.swagger.annotations.*;
 
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -62,4 +64,16 @@ public class MusicGroupSubjectPlanController extends BaseController {
         return succeed(musicGroupSubjectPlanService.findSubjectPlan(musicGroupId,subjectId));
     }
 
+
+    @ApiOperation(value = "获取乐团商品和折扣")
+    @GetMapping("/getSubjectGoods")
+    @PreAuthorize("@pcs.hasPermissions('musicGroupSubjectPlan/getSubjectGoods')")
+    @ApiImplicitParams({ @ApiImplicitParam(name = "subjectId", value = "科目编号", required = true, dataType = "Integer"),
+            @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));
+    }
+
 }