Procházet zdrojové kódy

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

zouxuan před 4 roky
rodič
revize
eb527094c7

+ 142 - 59
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/SubjectChange.java

@@ -4,123 +4,139 @@ import com.ym.mec.biz.dal.enums.KitGroupPurchaseTypeEnum;
 import com.ym.mec.biz.dal.enums.SubjectChangeStatusEnum;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
+
 import java.math.BigDecimal;
 import java.util.Date;
 import java.util.List;
 
-@ApiModel(value="com-ym-SubjectChange")
+@ApiModel(value = "com-ym-SubjectChange")
 public class SubjectChange {
-    @ApiModelProperty(value="")
+    @ApiModelProperty(value = "")
     private Integer id;
 
-    @ApiModelProperty(value="合作单位id")
+    @ApiModelProperty(value = "合作单位id")
     private Integer cooperationOrganId;
 
-    @ApiModelProperty(value="合作单位名称")
+    @ApiModelProperty(value = "合作单位名称")
     private String cooperationOrganName;
 
-    @ApiModelProperty(value="学生id")
+    @ApiModelProperty(value = "教务id")
+    private Integer eduTeacherId;
+
+    @ApiModelProperty(value = "教务老师")
+    private String eduTeacher;
+
+    @ApiModelProperty(value = "学生id")
     private Integer studentId;
 
     private String studentName;
 
-    @ApiModelProperty(value="分部id")
+    @ApiModelProperty(value = "分部id")
     private Integer organId;
 
-    @ApiModelProperty(value="分部名称")
+    @ApiModelProperty(value = "分部名称")
     private String organName;
 
-    @ApiModelProperty(value="乐团id")
+    @ApiModelProperty(value = "原始声部id")
+    private Integer originalSubjectId;
+
+    @ApiModelProperty(value = "乐团id")
     private String musicGroupId;
 
+    @ApiModelProperty(value = "乐团名称")
+    private String musicGroupName;
+
     /**
-    * 原始课程费用
-    */
-    @ApiModelProperty(value="原始课程费用")
+     * 原始课程费用
+     */
+    @ApiModelProperty(value = "原始课程费用")
     private BigDecimal originalCourseFee = BigDecimal.ZERO;
 
-    @ApiModelProperty(value="乐器购买方式")
+    @ApiModelProperty(value = "乐器购买方式")
     private KitGroupPurchaseTypeEnum kitGroupPurchaseType;
 
     /**
-    * 原始乐器编号
-    */
-    @ApiModelProperty(value="原始乐器编号")
+     * 原始乐器编号
+     */
+    @ApiModelProperty(value = "原始乐器编号")
     private Integer originalMusical;
 
     private Goods originalMusicalGoods;
 
     /**
-    * 原始乐器价格
-    */
-    @ApiModelProperty(value="原始乐器价格")
+     * 原始乐器价格
+     */
+    @ApiModelProperty(value = "原始乐器价格")
     private BigDecimal originalMusicalPrice = BigDecimal.ZERO;
 
     /**
-    * 辅件ids
-    */
-    @ApiModelProperty(value="辅件ids")
+     * 辅件ids
+     */
+    @ApiModelProperty(value = "辅件ids")
     private String originalAccessories;
 
     private List<Goods> originalAccessoriesGoods;
 
     /**
-    * 辅件价格
-    */
-    @ApiModelProperty(value="辅件价格")
+     * 辅件价格
+     */
+    @ApiModelProperty(value = "辅件价格")
     private BigDecimal originalAccessoriesPrice = BigDecimal.ZERO;
 
+    @ApiModelProperty(value = "替换声部id")
+    private Integer changeSubjectId;
+
     /**
-    * 替换课程价格
-    */
-    @ApiModelProperty(value="替换课程价格")
+     * 替换课程价格
+     */
+    @ApiModelProperty(value = "替换课程价格")
     private BigDecimal changeCourseFee = BigDecimal.ZERO;
 
     /**
-    * 替换乐器
-    */
-    @ApiModelProperty(value="替换乐器")
+     * 替换乐器
+     */
+    @ApiModelProperty(value = "替换乐器")
     private Integer changeMusical;
 
     private Goods changeMusicalGoods;
 
 
     /**
-    * 替换乐器价格
-    */
-    @ApiModelProperty(value="替换乐器价格")
+     * 替换乐器价格
+     */
+    @ApiModelProperty(value = "替换乐器价格")
     private BigDecimal changeMusicalPrice = BigDecimal.ZERO;
 
     /**
-    * 替换辅件
-    */
-    @ApiModelProperty(value="替换辅件")
+     * 替换辅件
+     */
+    @ApiModelProperty(value = "替换辅件")
     private String changeAccessories;
     private List<Goods> changeAccessoriesGoods;
 
 
     /**
-    * 替换辅件价格
-    */
-    @ApiModelProperty(value="替换辅件价格")
+     * 替换辅件价格
+     */
+    @ApiModelProperty(value = "替换辅件价格")
     private BigDecimal changeAccessoriesPrice = BigDecimal.ZERO;
 
     /**
-    * 乐器辅件差额
-    */
-    @ApiModelProperty(value="乐器辅件差额")
+     * 乐器辅件差额
+     */
+    @ApiModelProperty(value = "乐器辅件差额")
     private BigDecimal goodsMargin;
 
     /**
-    * 课程差额
-    */
-    @ApiModelProperty(value="课程差额")
+     * 课程差额
+     */
+    @ApiModelProperty(value = "课程差额")
     private BigDecimal courseMargin;
 
     /**
      * 成本差额
      */
-    @ApiModelProperty(value="成本差额")
+    @ApiModelProperty(value = "成本差额")
     private BigDecimal costMargin;
 
 
@@ -130,9 +146,9 @@ public class SubjectChange {
     private BigDecimal sellAmount;
 
     /**
-    * 状态
-    */
-    @ApiModelProperty(value="状态")
+     * 状态
+     */
+    @ApiModelProperty(value = "状态")
     private SubjectChangeStatusEnum status;
 
     /**
@@ -151,30 +167,41 @@ public class SubjectChange {
     private String transNo;
 
     /**
+     * 交易方式
+     */
+    @ApiModelProperty(value = "交易方式")
+    private String paymentChannel;
+
+    /**
+     * 收款账户
+     */
+    @ApiModelProperty(value = "收款账户")
+    private String merNo;
+
+    /**
      * 销售时间
      */
-    @ApiModelProperty(value="销售时间")
+    @ApiModelProperty(value = "销售时间")
     private Date sellTime;
 
-
     /**
-    * 创建时间
-    */
-    @ApiModelProperty(value="创建时间")
+     * 创建时间
+     */
+    @ApiModelProperty(value = "创建时间")
     private Date createTime;
 
     /**
-    * 修改时间
-    */
-    @ApiModelProperty(value="修改时间")
+     * 修改时间
+     */
+    @ApiModelProperty(value = "修改时间")
     private Date updateTime;
 
     private Integer version;
 
-    @ApiModelProperty(value="原始成本")
+    @ApiModelProperty(value = "原始成本")
     private BigDecimal originalCost = BigDecimal.ZERO;
 
-    @ApiModelProperty(value="更改后成本")
+    @ApiModelProperty(value = "更改后成本")
     private BigDecimal changeCost = BigDecimal.ZERO;
 
     public Integer getId() {
@@ -472,4 +499,60 @@ public class SubjectChange {
     public void setOrganName(String organName) {
         this.organName = organName;
     }
+
+    public Integer getOriginalSubjectId() {
+        return originalSubjectId;
+    }
+
+    public void setOriginalSubjectId(Integer originalSubjectId) {
+        this.originalSubjectId = originalSubjectId;
+    }
+
+    public Integer getChangeSubjectId() {
+        return changeSubjectId;
+    }
+
+    public void setChangeSubjectId(Integer changeSubjectId) {
+        this.changeSubjectId = changeSubjectId;
+    }
+
+    public Integer getEduTeacherId() {
+        return eduTeacherId;
+    }
+
+    public void setEduTeacherId(Integer eduTeacherId) {
+        this.eduTeacherId = eduTeacherId;
+    }
+
+    public String getPaymentChannel() {
+        return paymentChannel;
+    }
+
+    public void setPaymentChannel(String paymentChannel) {
+        this.paymentChannel = paymentChannel;
+    }
+
+    public String getMerNo() {
+        return merNo;
+    }
+
+    public void setMerNo(String merNo) {
+        this.merNo = merNo;
+    }
+
+    public String getMusicGroupName() {
+        return musicGroupName;
+    }
+
+    public void setMusicGroupName(String musicGroupName) {
+        this.musicGroupName = musicGroupName;
+    }
+
+    public String getEduTeacher() {
+        return eduTeacher;
+    }
+
+    public void setEduTeacher(String eduTeacher) {
+        this.eduTeacher = eduTeacher;
+    }
 }

+ 7 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/SubjectChangeService.java

@@ -65,4 +65,11 @@ public interface SubjectChangeService extends BaseService<Integer, SubjectChange
      * @return
      */
     PageInfo<SubjectChange> getPageList(SubjectChangeQueryInfo queryInfo);
+
+    /**
+     * 更新成本差
+     * @param id
+     * @return
+     */
+    SubjectChange updateCostMargin(Integer id,BigDecimal costMargin);
 }

+ 30 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SubjectChangeServiceImpl.java

@@ -175,11 +175,27 @@ public class SubjectChangeServiceImpl extends BaseServiceImpl<Integer, SubjectCh
     @Override
     public SubjectChange addChange(SubjectChange subjectChange) {
         Date nowDate = new Date();
+        subjectChange.setStatus(SubjectChangeStatusEnum.WAIT_PAY);
+        MusicGroup musicGroup = musicGroupDao.get(subjectChange.getMusicGroupId());
+        subjectChange.setOrganId(musicGroup.getOrganId());
+        subjectChange.setEduTeacherId(musicGroup.getEducationalTeacherId());
         subjectChange.setCourseMargin(subjectChange.getChangeCourseFee().subtract(subjectChange.getOriginalCourseFee()));
         BigDecimal goodsMargin = subjectChange.getChangeMusicalPrice().add(subjectChange.getChangeAccessoriesPrice())
                 .subtract(subjectChange.getOriginalMusicalPrice()).subtract(subjectChange.getOriginalAccessoriesPrice());
         subjectChange.setGoodsMargin(goodsMargin);
-        subjectChange.setCostMargin(subjectChange.getChangeCost().subtract(subjectChange.getOriginalCost()));
+        String goodsIds = "";
+        if (subjectChange.getChangeMusical() != null) {
+            goodsIds += subjectChange.getMusicGroupId() + "";
+        }
+        if (subjectChange.getChangeMusical() != null) {
+            goodsIds += StringUtils.isNotBlank(goodsIds) ? "," + subjectChange.getChangeAccessories() : subjectChange.getChangeAccessories();
+        }
+        BigDecimal goodsPrice = BigDecimal.ZERO;
+        List<Goods> goodies = goodsDao.findGoodsByIds(goodsIds);
+        for (Goods goods : goodies) {
+            goodsPrice = goodsPrice.add(goods.getDiscountPrice());
+        }
+        subjectChange.setChangeCost(goodsPrice);
         subjectChange.setCostMargin(subjectChange.getChangeCost().subtract(subjectChange.getOriginalCost()));
         //差价 <= 0
         BigDecimal amountMargin = subjectChange.getGoodsMargin().add(subjectChange.getCourseMargin());
@@ -194,6 +210,7 @@ public class SubjectChangeServiceImpl extends BaseServiceImpl<Integer, SubjectCh
         }
         subjectChange.setCreateTime(nowDate);
         subjectChange.setUpdateTime(nowDate);
+        subjectChange.setVersion(0);
         subjectChangeDao.insert(subjectChange);
         return subjectChange;
     }
@@ -383,7 +400,7 @@ public class SubjectChangeServiceImpl extends BaseServiceImpl<Integer, SubjectCh
         MapUtil.populateMap(params, queryInfo);
 
         List<SubjectChange> dataList = new ArrayList<>();
-        int count = this.findCount(params);
+        int count = subjectChangeDao.queryCount(params);
 
         if (count > 0) {
             pageInfo.setTotal(count);
@@ -407,4 +424,15 @@ public class SubjectChangeServiceImpl extends BaseServiceImpl<Integer, SubjectCh
         pageInfo.setRows(dataList);
         return pageInfo;
     }
+
+    @Override
+    public SubjectChange updateCostMargin(Integer id, BigDecimal costMargin) {
+        SubjectChange subjectChange = subjectChangeDao.get(id);
+        subjectChange.setCostMargin(costMargin);
+        subjectChange.setUpdateTime(new Date());
+        if (subjectChangeDao.update(subjectChange) <= 0) {
+            throw new BizException("更新成本差失败,请重试");
+        }
+        return subjectChange;
+    }
 }

+ 41 - 16
mec-biz/src/main/resources/config/mybatis/SubjectChangeMapper.xml

@@ -5,6 +5,8 @@
         <!--@mbg.generated-->
         <!--@Table subject_change-->
         <id column="id_" property="id"/>
+        <result column="edu_teacher_id_" property="eduTeacherId"/>
+        <result column="eduTeacher" property="eduTeacher"/>
         <result column="student_id_" property="studentId"/>
         <result column="studentName" property="studentName"/>
         <result column="organ_id_" property="organId"/>
@@ -12,6 +14,8 @@
         <result column="cooperation_organ_id_" property="cooperationOrganId"/>
         <result column="cooperationOrganName" property="cooperationOrganName"/>
         <result column="music_group_id_" property="musicGroupId"/>
+        <result column="musicGroupName" property="musicGroupName"/>
+        <result column="original_subject_id_" property="originalSubjectId"/>
         <result column="original_course_fee_" property="originalCourseFee"/>
         <result column="original_musical_" property="originalMusical"/>
         <result column="original_musical_price_" property="originalMusicalPrice"/>
@@ -20,6 +24,7 @@
         <result column="original_cost_" property="originalCost"/>
         <result column="kit_group_purchase_type_" property="kitGroupPurchaseType"
                 typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
+        <result column="change_subject_id_" property="changeSubjectId"/>
         <result column="change_course_fee_" property="changeCourseFee"/>
         <result column="change_musical_" property="changeMusical"/>
         <result column="change_musical_price_" property="changeMusicalPrice"/>
@@ -33,6 +38,8 @@
         <result column="order_id_" property="orderId"/>
         <result column="order_no_" property="orderNo"/>
         <result column="trans_no_" property="transNo"/>
+        <result column="payment_channel_" property="paymentChannel"/>
+        <result column="mer_no_" property="merNo"/>
         <result column="status_" property="status" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result column="create_time_" property="createTime"/>
         <result column="update_time" property="updateTime"/>
@@ -40,11 +47,14 @@
     </resultMap>
     <sql id="Base_Column_List">
         <!--@mbg.generated-->
-        id_,student_id_,organ_id_,cooperation_organ_id_, music_group_id_,original_course_fee_, original_musical_,
+        id_,edu_teacher_id_,student_id_,organ_id_,cooperation_organ_id_,
+        music_group_id_,original_subject_id_,original_course_fee_, original_musical_,
         original_musical_price_,
-        original_accessories_,original_accessories_price_,kit_group_purchase_type_, change_course_fee_, change_musical_,
+        original_accessories_,original_accessories_price_,kit_group_purchase_type_,change_subject_id_,
+        change_course_fee_, change_musical_,
         original_cost_,change_musical_price_,change_accessories_, change_accessories_price_,change_cost_, goods_margin_,
-        course_margin_,cost_margin_,sell_amount_,order_id_,order_no_,trans_no_, status_,sell_time_,create_time_,
+        course_margin_,cost_margin_,sell_amount_,order_id_,order_no_,trans_no_,
+        status_,payment_channel_,mer_no_,sell_time_,create_time_,
         update_time,version_
     </sql>
     <select id="get" parameterType="java.lang.Integer" resultMap="SubjectChange">
@@ -62,25 +72,33 @@
     <insert id="insert" keyColumn="id_" keyProperty="id" parameterType="com.ym.mec.biz.dal.entity.SubjectChange"
             useGeneratedKeys="true">
         <!--@mbg.generated-->
-        insert into subject_change (student_id_,organ_id_,cooperation_organ_id_,music_group_id_,original_course_fee_,
+        insert into subject_change
+        (student_id_,edu_teacher_id_,organ_id_,cooperation_organ_id_,music_group_id_,original_subject_id_,original_course_fee_,
         original_musical_,
         original_musical_price_,original_accessories_,original_accessories_price_,original_cost_,kit_group_purchase_type_,
-        change_course_fee_, change_musical_, change_musical_price_,
+        change_subject_id_,change_course_fee_, change_musical_, change_musical_price_,
         change_accessories_, change_accessories_price_, change_cost_,goods_margin_,
         course_margin_,cost_margin_,sell_amount_,order_id_,
         order_no_,trans_no_,status_,sell_time_, create_time_, update_time,version_)
-        values (#{studentId},#{organId},#{cooperationOrganId},#{musicGroupId},#{originalCourseFee}, #{originalMusical},
+        values
+        (#{studentId},#{eduTeacherId},#{organId},#{cooperationOrganId},#{musicGroupId},#{originalSubjectId},#{originalCourseFee},
+        #{originalMusical},
         #{originalMusicalPrice},
-        #{originalAccessories}, #{originalAccessoriesPrice},#{originalCost},#{kitGroupPurchaseType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{changeCourseFee},
-        #{changeMusical},
+        #{originalAccessories},
+        #{originalAccessoriesPrice},#{originalCost},#{kitGroupPurchaseType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+        #{changeSubjectId},#{changeCourseFee}, #{changeMusical},
         #{changeMusicalPrice}, #{changeAccessories}, #{changeAccessoriesPrice},#{changeCost}, #{goodsMargin},
-        #{courseMargin},#{costMargin}
-        #{sellAmount},#{orderId},#{orderNo},#{transNo},#{status},#{sellTime}, #{createTime}, #{updateTime},#{version})
+        #{courseMargin},#{costMargin},
+        #{sellAmount},#{orderId},#{orderNo},#{transNo},#{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{sellTime},
+        #{createTime}, #{updateTime},#{version})
     </insert>
     <update id="update" parameterType="com.ym.mec.biz.dal.entity.SubjectChange">
         <!--@mbg.generated-->
         update subject_change
         <set>
+            <if test="eduTeacherId !=null ">
+                edu_teacher_id_ = #{eduTeacherId},
+            </if>
             <if test="studentId != null">
                 student_id_ = #{studentId},
             </if>
@@ -147,6 +165,12 @@
             <if test="status != null">
                 status_ = #{status},
             </if>
+            <if test="paymentChannel != null">
+                payment_channel_=#{paymentChannel},
+            </if>
+            <if test="merNo != null">
+                mer_no_ = #{merNo},
+            </if>
             <if test="sellTime != null">
                 sell_time_ = #{sellTime},
             </if>
@@ -193,9 +217,11 @@
     </select>
 
     <select id="getPageList" resultMap="SubjectChange">
-        SELECT sc.*,s.username_ studentName,o.name_ organName,co.name_ cooperationOrganName FROM
-        subject_change sc
+        SELECT sc.*,s.username_ studentName,o.name_ organName,co.name_ cooperationOrganName,edu.real_name_ eduTeacher,
+        mg.name_ musicGroupName FROM subject_change sc
+        LEFT JOIN music_group mg ON mg.id_ = sc.music_group_id_
         LEFT JOIN sys_user s ON sc.student_id_ = s.id_
+        LEFT JOIN sys_user edu ON edu.id_ = sc.edu_teacher_id_
         LEFT JOIN organization o ON sc.organ_id_ = o.id_
         LEFT JOIN cooperation_organ co ON sc.cooperation_organ_id_ = co.id_
         <include refid="queryPageSql"/>
@@ -205,7 +231,7 @@
     <sql id="queryPageSql">
         <where>
             <if test="search != null and search != ''">
-                AND (sc.order_no_ = #{search} OR sc.trans_no_ = #{search})
+                AND (sc.order_no_ = #{search} OR sc.trans_no_ = #{search} OR s.username_ LIKE CONCAT('%',#{search},'%'))
             </if>
             <if test="organIdList != null and organIdList != ''">
                 AND FIND_IN_SET(sc.organ_id_,#{organIdList})
@@ -222,9 +248,8 @@
         </where>
     </sql>
     <select id="queryCount" resultType="int">
-        SELECT COUNT(*) FROM subject_change sv
-        LEFT JOIN sys_user t ON sc.teacher_id_ = t.id_
-        LEFT JOIN sys_user s ON s.id_ = sc.student_id_
+        SELECT COUNT(*) FROM subject_change sc
+        LEFT JOIN sys_user s ON sc.student_id_ = s.id_
         <include refid="queryPageSql"/>
     </select>
 </mapper>

+ 30 - 28
mec-student/src/main/java/com/ym/mec/student/config/ResourceServerConfig.java

@@ -15,36 +15,38 @@ import org.springframework.security.oauth2.config.annotation.web.configurers.Res
 @EnableGlobalMethodSecurity(prePostEnabled = true)
 public class ResourceServerConfig extends ResourceServerConfigurerAdapter {
 
-	@Autowired
-	private BaseAccessDeniedHandler baseAccessDeniedHandler;
+    @Autowired
+    private BaseAccessDeniedHandler baseAccessDeniedHandler;
 
-	@Autowired
-	private BaseAuthenticationEntryPoint baseAuthenticationEntryPoint;
+    @Autowired
+    private BaseAuthenticationEntryPoint baseAuthenticationEntryPoint;
 
-	@Override
-	public void configure(HttpSecurity http) throws Exception {
-		http.csrf().disable().exceptionHandling().accessDeniedHandler(baseAccessDeniedHandler).authenticationEntryPoint(baseAuthenticationEntryPoint).and()
-				.authorizeRequests().antMatchers("/v2/api-docs","/code/*","/register/*","/studentOrder/*","/musicGroup/getSubjectGoodsAndInfo",
-				"/musicGroup/getMusicGroupStatus","/musicGroup/getOrderStatus",
-				"/musicGroup/pay",
-				"/musicGroup/rePay",
-				"/studentManage/queryStudentPer",
-				"/sporadicChargeInfo/get",
-				"/sporadicChargeInfo/sporadicPay",
-				"/repair/getRepairInfo",
-				"/repair/payRepair",
-				"/degree/*",
-				"/practiceGroup/queryOrderInfo",
-				"/systemDate/query",
-				"/organization/getOrgans",
-				"/repair/addGoodsSellOrder",
-				"/repair/getStudentGoodsOrder",
-				"/contracts/queryProduceContract").permitAll().anyRequest().authenticated().and().httpBasic();
-	}
+    @Override
+    public void configure(HttpSecurity http) throws Exception {
+        http.csrf().disable().exceptionHandling().accessDeniedHandler(baseAccessDeniedHandler).authenticationEntryPoint(baseAuthenticationEntryPoint).and()
+                .authorizeRequests().antMatchers("/v2/api-docs", "/code/*", "/register/*", "/studentOrder/*", "/musicGroup/getSubjectGoodsAndInfo",
+                "/musicGroup/getMusicGroupStatus", "/musicGroup/getOrderStatus",
+                "/musicGroup/pay",
+                "/musicGroup/rePay",
+                "/studentManage/queryStudentPer",
+                "/sporadicChargeInfo/get",
+                "/sporadicChargeInfo/sporadicPay",
+                "/repair/getRepairInfo",
+                "/repair/payRepair",
+                "/degree/*",
+                "/practiceGroup/queryOrderInfo",
+                "/systemDate/query",
+                "/organization/getOrgans",
+                "/repair/addGoodsSellOrder",
+                "/repair/getStudentGoodsOrder",
+                "/subjectChange/getChangeInfo",
+                "/subjectChange/payChange",
+                "/contracts/queryProduceContract").permitAll().anyRequest().authenticated().and().httpBasic();
+    }
 
-	@Override
-	public void configure(ResourceServerSecurityConfigurer resources) throws Exception {
-		resources.authenticationEntryPoint(baseAuthenticationEntryPoint).accessDeniedHandler(baseAccessDeniedHandler);
-	}
+    @Override
+    public void configure(ResourceServerSecurityConfigurer resources) throws Exception {
+        resources.authenticationEntryPoint(baseAuthenticationEntryPoint).accessDeniedHandler(baseAccessDeniedHandler);
+    }
 
 }

+ 22 - 1
mec-web/src/main/java/com/ym/mec/web/controller/SubjectChangeController.java

@@ -27,6 +27,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 
+import java.math.BigDecimal;
 import java.util.Arrays;
 import java.util.List;
 
@@ -46,7 +47,7 @@ public class SubjectChangeController extends BaseController {
     @Autowired
     private EmployeeDao employeeDao;
 
-    @ApiOperation("销售列表")
+    @ApiOperation("声部更换服务列表")
     @GetMapping(value = "/queryPage")
     @PreAuthorize("@pcs.hasPermissions('subjectChange/queryPage')")
     public HttpResponseResult<PageInfo<SubjectChange>> queryPage(SubjectChangeQueryInfo queryInfo) {
@@ -110,4 +111,24 @@ public class SubjectChangeController extends BaseController {
     public HttpResponseResult<SubjectChange> cancel(Integer id) throws Exception {
         return succeed(subjectChangeService.cancel(id));
     }
+
+    @ApiOperation(value = "更新成本差")
+    @PostMapping("/updateCostMargin")
+    @PreAuthorize("@pcs.hasPermissions('subjectChange/updateCostMargin')")
+    @ApiImplicitParams({@ApiImplicitParam(name = "id", value = "id", required = true, dataType = "Integer"),
+            @ApiImplicitParam(name = "costMargin", value = "成本差", required = true, dataType = "BigDecimal")})
+    public HttpResponseResult<SubjectChange> updateCostMargin(Integer id, BigDecimal costMargin) throws Exception {
+        return succeed(subjectChangeService.updateCostMargin(id, costMargin));
+    }
+
+    @ApiOperation(value = "获取更换详情")
+    @GetMapping("/getChangeInfo")
+    @PreAuthorize("@pcs.hasPermissions('subjectChange/getChangeInfo')")
+    @ApiImplicitParams({@ApiImplicitParam(name = "id", value = "id", required = true, dataType = "Integer")})
+    public HttpResponseResult<SubjectChange> getChangeInfo(Integer id) {
+        if (id == null) {
+            return failed("参数校验异常");
+        }
+        return succeed(subjectChangeService.getChangeInfo(id));
+    }
 }