瀏覽代碼

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

yonge 4 年之前
父節點
當前提交
e1361bff3d
共有 18 個文件被更改,包括 319 次插入46 次删除
  1. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupPaymentCalenderDao.java
  2. 9 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/SubjectChangeDao.java
  3. 25 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/SellOrder.java
  4. 11 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/StudentGoodsSell.java
  5. 22 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/SubjectChange.java
  6. 55 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/page/SubjectChangeQueryInfo.java
  7. 16 0
      mec-biz/src/main/java/com/ym/mec/biz/service/SubjectChangeService.java
  8. 16 15
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/CoursesGroupServiceImpl.java
  9. 46 5
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/SubjectChangeServiceImpl.java
  10. 2 2
      mec-biz/src/main/resources/config/mybatis/MusicGroupPaymentCalenderMapper.xml
  11. 14 4
      mec-biz/src/main/resources/config/mybatis/SellOrderMapper.xml
  12. 4 1
      mec-biz/src/main/resources/config/mybatis/StudentGoodsSellMapper.xml
  13. 45 0
      mec-biz/src/main/resources/config/mybatis/SubjectChangeMapper.xml
  14. 2 1
      mec-im/src/main/java/com/ym/service/Impl/RoomServiceImpl.java
  15. 4 2
      mec-student/src/main/java/com/ym/mec/student/config/ResourceServerConfig.java
  16. 8 5
      mec-student/src/main/java/com/ym/mec/student/controller/ContractsController.java
  17. 1 1
      mec-web/src/main/java/com/ym/mec/web/config/ResourceServerConfig.java
  18. 38 9
      mec-web/src/main/java/com/ym/mec/web/controller/SubjectChangeController.java

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

@@ -123,7 +123,7 @@ public interface MusicGroupPaymentCalenderDao extends BaseDAO<Long, MusicGroupPa
 
     List<MusicGroupPaymentCalender> queryByIds(@Param("calenderId") Set<Long> calenderId);
 
-    List<Long> queryEndIds(@Param("configValue1") String configValue1, @Param("format") String format);
+    List<Long> queryEndIds(@Param("configValue") String configValue, @Param("format") String format);
 
     List<CalenderPushDto> getCalenderPushDto(@Param("calenderIds") Collection<Long> calenderIds);
 

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

@@ -5,6 +5,7 @@ import com.ym.mec.common.dal.BaseDAO;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
+import java.util.Map;
 
 public interface SubjectChangeDao extends BaseDAO<Integer, SubjectChange> {
 
@@ -28,8 +29,16 @@ public interface SubjectChangeDao extends BaseDAO<Integer, SubjectChange> {
 
     /**
      * 获取待支付的的声部更换列表
+     *
      * @param musicGroupId
      * @return
      */
     List<SubjectChange> getMusicGroupWaitPay(@Param("musicGroupId") String musicGroupId);
+
+    /**
+     * 获取声部更换列表
+     * @param params
+     * @return
+     */
+    List<SubjectChange> getPageList(Map<String, Object> params);
 }

+ 25 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/SellOrder.java

@@ -12,6 +12,15 @@ public class SellOrder {
     private Integer id;
 
     /**
+     * 教务id
+     */
+    @ApiModelProperty(value="教务id")
+    private Integer eduTeacherId;
+
+    @ApiModelProperty(value="教务老师")
+    private String eduTeacher;
+
+    /**
     * 分部id
     */
     @ApiModelProperty(value="分部id")
@@ -342,4 +351,20 @@ public class SellOrder {
     public void setSchoolName(String schoolName) {
         this.schoolName = schoolName;
     }
+
+    public Integer getEduTeacherId() {
+        return eduTeacherId;
+    }
+
+    public void setEduTeacherId(Integer eduTeacherId) {
+        this.eduTeacherId = eduTeacherId;
+    }
+
+    public String getEduTeacher() {
+        return eduTeacher;
+    }
+
+    public void setEduTeacher(String eduTeacher) {
+        this.eduTeacher = eduTeacher;
+    }
 }

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/StudentGoodsSell.java

@@ -17,6 +17,9 @@ public class StudentGoodsSell {
 	
 	@ApiModelProperty(value = "用户编号",required = true)
 	private Integer userId;
+
+	@ApiModelProperty(value = "学生名称",required = true)
+	private String userName;
 	
 	@ApiModelProperty(value = "教师编号",required = true)
 	private Integer teacherId;
@@ -52,6 +55,14 @@ public class StudentGoodsSell {
 	@ApiModelProperty(value = "分部编号", required = false)
 	private Integer organId;
 
+	public String getUserName() {
+		return userName;
+	}
+
+	public void setUserName(String userName) {
+		this.userName = userName;
+	}
+
 	public Integer getOrganId() {
 		return organId;
 	}

+ 22 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/SubjectChange.java

@@ -16,6 +16,9 @@ public class SubjectChange {
     @ApiModelProperty(value="合作单位id")
     private Integer cooperationOrganId;
 
+    @ApiModelProperty(value="合作单位名称")
+    private String cooperationOrganName;
+
     @ApiModelProperty(value="学生id")
     private Integer studentId;
 
@@ -24,6 +27,9 @@ public class SubjectChange {
     @ApiModelProperty(value="分部id")
     private Integer organId;
 
+    @ApiModelProperty(value="分部名称")
+    private String organName;
+
     @ApiModelProperty(value="乐团id")
     private String musicGroupId;
 
@@ -450,4 +456,20 @@ public class SubjectChange {
     public void setChangeCost(BigDecimal changeCost) {
         this.changeCost = changeCost;
     }
+
+    public String getCooperationOrganName() {
+        return cooperationOrganName;
+    }
+
+    public void setCooperationOrganName(String cooperationOrganName) {
+        this.cooperationOrganName = cooperationOrganName;
+    }
+
+    public String getOrganName() {
+        return organName;
+    }
+
+    public void setOrganName(String organName) {
+        this.organName = organName;
+    }
 }

+ 55 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/SubjectChangeQueryInfo.java

@@ -0,0 +1,55 @@
+package com.ym.mec.biz.dal.page;
+
+import com.ym.mec.common.page.QueryInfo;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.util.Date;
+
+public class SubjectChangeQueryInfo extends QueryInfo {
+
+    private String organIdList;
+
+
+    @ApiModelProperty(value = "合作单位id",required = false)
+    private Integer cooperationOrganId;
+
+    @ApiModelProperty(value = "开始时间",required = false)
+    private Date startTime;
+
+    @ApiModelProperty(value = "结束时间",required = false)
+    private Date endTime;
+
+
+    public String getOrganIdList() {
+        return organIdList;
+    }
+
+    public void setOrganIdList(String organIdList) {
+        this.organIdList = organIdList;
+    }
+
+
+    public Date getStartTime() {
+        return startTime;
+    }
+
+    public void setStartTime(Date startTime) {
+        this.startTime = startTime;
+    }
+
+    public Date getEndTime() {
+        return endTime;
+    }
+
+    public void setEndTime(Date endTime) {
+        this.endTime = endTime;
+    }
+
+    public Integer getCooperationOrganId() {
+        return cooperationOrganId;
+    }
+
+    public void setCooperationOrganId(Integer cooperationOrganId) {
+        this.cooperationOrganId = cooperationOrganId;
+    }
+}

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

@@ -1,10 +1,19 @@
 package com.ym.mec.biz.service;
 
+import com.ym.mec.biz.dal.dto.StudentVisitDto;
 import com.ym.mec.biz.dal.entity.StudentPaymentOrder;
 import com.ym.mec.biz.dal.entity.SubjectChange;
+import com.ym.mec.biz.dal.page.StudentVisitQueryInfo;
+import com.ym.mec.biz.dal.page.SubjectChangeQueryInfo;
+import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.BaseService;
+import com.ym.mec.util.collection.MapUtil;
+import com.ym.mec.util.date.DateUtil;
 
 import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 public interface SubjectChangeService extends BaseService<Integer, SubjectChange> {
@@ -49,4 +58,11 @@ public interface SubjectChangeService extends BaseService<Integer, SubjectChange
      * @param order
      */
     Boolean orderCallback(StudentPaymentOrder order);
+
+    /**
+     * 获取更换列表
+     * @param queryInfo
+     * @return
+     */
+    PageInfo<SubjectChange> getPageList(SubjectChangeQueryInfo queryInfo);
 }

+ 16 - 15
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CoursesGroupServiceImpl.java

@@ -154,21 +154,6 @@ public class CoursesGroupServiceImpl extends BaseServiceImpl<Long, CoursesGroup>
             newCourse.setName(courseGroup.getName());
             newCourse.setOrganId(courseGroup.getOrganId());
         }
-        try {
-            courseScheduleService.checkNewCourseSchedules(newCourses, false);
-        } catch (Exception e) {
-            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-            String errMessage;
-            String courseName = e.getMessage().substring(e.getMessage().indexOf(")-") + 2);
-            courseName = courseName.substring(0, courseName.indexOf("("));
-            String courseTime = e.getMessage().substring(e.getMessage().indexOf("在") + 1);
-            courseTime = courseTime.substring(0, courseTime.indexOf("至"));
-            errMessage = "现在课程:";
-            errMessage += courseName;
-            errMessage += "<br/>冲突时间:";
-            errMessage += courseTime;
-            return BaseController.failed(HttpStatus.FOUND, errMessage);
-        }
 
         CourseSchedule firstCourseSchedule = newCourses.stream().min(Comparator.comparing(CourseSchedule::getStartClassTime)).get();
         if (firstCourseSchedule.getStartClassTime().before(now)) {
@@ -221,6 +206,22 @@ public class CoursesGroupServiceImpl extends BaseServiceImpl<Long, CoursesGroup>
             courseSchedule.setCreateTime(now);
             courseSchedule.setUpdateTime(now);
         }
+
+        try {
+            courseScheduleService.checkNewCourseSchedules(newCourses, false);
+        } catch (Exception e) {
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            String errMessage;
+            String courseName = e.getMessage().substring(e.getMessage().indexOf(")-") + 2);
+            courseName = courseName.substring(0, courseName.indexOf("("));
+            String courseTime = e.getMessage().substring(e.getMessage().indexOf("在") + 1);
+            courseTime = courseTime.substring(0, courseTime.indexOf("至"));
+            errMessage = "现在课程:";
+            errMessage += courseName;
+            errMessage += "<br/>冲突时间:";
+            errMessage += courseTime;
+            return BaseController.failed(HttpStatus.FOUND, errMessage);
+        }
         courseScheduleDao.batchAddCourseSchedules(newCourses);
 
         for (CourseSchedule courseSchedule : newCourses) {

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

@@ -2,14 +2,20 @@ package com.ym.mec.biz.service.impl;
 
 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;
 import com.ym.mec.common.exception.BizException;
+import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.IdGeneratorService;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.thirdparty.message.MessageSenderPluginContext;
+import com.ym.mec.util.collection.MapUtil;
+import com.ym.mec.util.date.DateUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -174,17 +180,17 @@ public class SubjectChangeServiceImpl extends BaseServiceImpl<Integer, SubjectCh
                 .subtract(subjectChange.getOriginalMusicalPrice()).subtract(subjectChange.getOriginalAccessoriesPrice());
         subjectChange.setGoodsMargin(goodsMargin);
         subjectChange.setCostMargin(subjectChange.getChangeCost().subtract(subjectChange.getOriginalCost()));
+        subjectChange.setCostMargin(subjectChange.getChangeCost().subtract(subjectChange.getOriginalCost()));
         //差价 <= 0
-        if (subjectChange.getGoodsMargin().add(subjectChange.getCourseMargin()).compareTo(BigDecimal.ZERO) <= 0) {
+        BigDecimal amountMargin = subjectChange.getGoodsMargin().add(subjectChange.getCourseMargin());
+        if (amountMargin.compareTo(BigDecimal.ZERO) <= 0) {
             subjectChange.setStatus(SubjectChangeStatusEnum.SUCCESSED);
             subjectChange.setSellAmount(BigDecimal.ZERO);
             subjectChange.setSellTime(nowDate);
         }
         //差价小于0退到余额
-        if (subjectChange.getGoodsMargin().add(subjectChange.getCourseMargin()).compareTo(BigDecimal.ZERO) < 0) {
-            subjectChange.setStatus(SubjectChangeStatusEnum.SUCCESSED);
-            subjectChange.setSellAmount(BigDecimal.ZERO);
-            subjectChange.setSellTime(nowDate);
+        if (amountMargin.compareTo(BigDecimal.ZERO) <= 0) {
+            sysUserCashAccountService.updateBalance(subjectChange.getStudentId(), amountMargin.negate(), PlatformCashAccountDetailTypeEnum.REFUNDS, "声部更换退还");
         }
         subjectChange.setCreateTime(nowDate);
         subjectChange.setUpdateTime(nowDate);
@@ -366,4 +372,39 @@ public class SubjectChangeServiceImpl extends BaseServiceImpl<Integer, SubjectCh
         }
         return true;
     }
+
+    @Override
+    public PageInfo<SubjectChange> getPageList(SubjectChangeQueryInfo queryInfo) {
+        if (queryInfo.getEndTime() != null) {
+            queryInfo.setEndTime(DateUtil.getLastTimeWithDay(queryInfo.getEndTime()));
+        }
+        PageInfo<SubjectChange> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
+        Map<String, Object> params = new HashMap<String, Object>();
+        MapUtil.populateMap(params, queryInfo);
+
+        List<SubjectChange> dataList = new ArrayList<>();
+        int count = this.findCount(params);
+
+        if (count > 0) {
+            pageInfo.setTotal(count);
+            params.put("offset", pageInfo.getOffset());
+            dataList = subjectChangeDao.getPageList(params);
+            for (SubjectChange subjectChange : dataList) {
+                if (subjectChange.getOriginalMusical() != null) {
+                    subjectChange.setOriginalMusicalGoods(goodsDao.get(subjectChange.getOriginalMusical()));
+                }
+                if (subjectChange.getOriginalAccessories() != null) {
+                    subjectChange.setOriginalAccessoriesGoods(goodsDao.findGoodsByIds(subjectChange.getOriginalAccessories()));
+                }
+                if (subjectChange.getChangeMusical() != null) {
+                    subjectChange.setChangeMusicalGoods(goodsDao.get(subjectChange.getChangeMusical()));
+                }
+                if (subjectChange.getChangeAccessories() != null) {
+                    subjectChange.setChangeAccessoriesGoods(goodsDao.findGoodsByIds(subjectChange.getChangeAccessories()));
+                }
+            }
+        }
+        pageInfo.setRows(dataList);
+        return pageInfo;
+    }
 }

+ 2 - 2
mec-biz/src/main/resources/config/mybatis/MusicGroupPaymentCalenderMapper.xml

@@ -240,7 +240,7 @@
         FROM music_group_payment_calender_detail mgpcd
         WHERE mgpcd.music_group_payment_calender_id_ IN
         (SELECT id_ FROM music_group_payment_calender WHERE payment_status_ != 0
-        AND DATEDIFF(start_payment_date_,#{format}) = #{configValue})
+        AND DATEDIFF(#{format},DATE_FORMAT(start_payment_date_,'%Y-%m-%d')) = #{configValue})
         AND mgpcd.payment_status_ = 'NON_PAYMENT'
         GROUP BY mgpcd.music_group_payment_calender_id_
     </select>
@@ -252,7 +252,7 @@
     </select>
     <select id="queryEndIds" resultType="java.lang.Long">
         SELECT DISTINCT mgpc.id_ FROM music_group_payment_calender mgpc
-        WHERE mgpc.payment_status_ = 2 AND DATEDIFF(#{format},DATE_FORMAT(mgpc.payment_valid_end_date_,'%Y-%m-%d')) = #{configValue1};
+        WHERE mgpc.payment_valid_end_date_ IS NOT NULL AND DATEDIFF(mgpc.payment_valid_end_date_,#{format}) = #{configValue};
     </select>
     <resultMap id="CalenderPushDto" type="com.ym.mec.biz.dal.dto.CalenderPushDto">
         <result property="paymentValidEndDate" column="payment_valid_end_date_"/>

+ 14 - 4
mec-biz/src/main/resources/config/mybatis/SellOrderMapper.xml

@@ -6,6 +6,8 @@
         <!--@Table sell_order-->
         <id column="id_" property="id"/>
         <result column="organ_id_" property="organId"/>
+        <result column="edu_teacher_id_" property="eduTeacherId"/>
+        <result column="eduTeacher" property="eduTeacher"/>
         <result column="cooperation_organ_id_" property="cooperationOrganId"/>
         <result column="school_name_" property="schoolName"/>
         <result column="trans_no_" property="transNo"/>
@@ -33,7 +35,8 @@
     </resultMap>
     <sql id="Base_Column_List">
         <!--@mbg.generated-->
-        id_, organ_id_, cooperation_organ_id_, trans_no_,order_id_, order_no_, expect_amount_, actual_amount_,
+        id_, edu_teacher_id_,organ_id_, cooperation_organ_id_, trans_no_,order_id_, order_no_, expect_amount_,
+        actual_amount_,
         balance_amount_, sell_cost_, sell_cost2_, type_, goods_id_,goods_name_, num_, user_id_, payment_channel_,
         mer_no_, sell_time_, create_ime_, update_time_
     </sql>
@@ -52,11 +55,13 @@
     <insert id="insert" keyColumn="id_" keyProperty="id" parameterType="com.ym.mec.biz.dal.entity.SellOrder"
             useGeneratedKeys="true">
         <!--@mbg.generated-->
-        insert into sell_order (organ_id_, cooperation_organ_id_, trans_no_,order_id_, order_no_, expect_amount_,
+        insert into sell_order (edu_teacher_id_,organ_id_, cooperation_organ_id_, trans_no_,order_id_, order_no_,
+        expect_amount_,
         actual_amount_,
         balance_amount_, type_, goods_id_,goods_name_, sell_cost_, sell_cost2_, num_, user_id_, payment_channel_,
         mer_no_, sell_time_, create_ime_, update_time_)
-        values (#{organId}, #{cooperationOrganId}, #{transNo}, #{orderNo},#{orderId}, #{expectAmount}, #{actualAmount},
+        values (#{eduTeacherId},#{organId}, #{cooperationOrganId}, #{transNo}, #{orderNo},#{orderId}, #{expectAmount},
+        #{actualAmount},
         #{balanceAmount}, #{type}, #{goodsId}, #{goodsName}, #{sellCost}, #{sellCost2}, #{num}, #{userId},
         #{paymentChannel},
         #{merNo}, #{sellTime}, #{createIme}, #{updateTime})
@@ -65,6 +70,9 @@
         <!--@mbg.generated-->
         update sell_order
         <set>
+            <if test="eduTeacherId != null">
+                edu_teacher_id_ = #{eduTeacherId},
+            </if>
             <if test="organId != null">
                 organ_id_ = #{organId},
             </if>
@@ -146,10 +154,12 @@
 
     <!-- 分页查询 -->
     <select id="queryPage" resultMap="SellOrder" parameterType="map">
-        SELECT so.*,su.username_ user_name_,su.phone_,o.name_ organ_name_,co.name_ school_name_ FROM sell_order so
+        SELECT so.*,su.username_ user_name_,su.phone_,o.name_ organ_name_,co.name_ school_name_,t.real_name_ eduTeacher
+        FROM sell_order so
         LEFT JOIN sys_user su ON so.user_id_ = su.id_
         LEFT JOIN organization o ON o.id_ = so.organ_id_
         LEFT JOIN cooperation_organ co ON co.id_= so.cooperation_organ_id_
+        LEFT JOIN sys_user t ON t.id_ = so.edu_teacher_id_
         <include refid="queryPageSql"/>
         ORDER BY so.create_ime_ DESC
         <include refid="global.limit"/>

+ 4 - 1
mec-biz/src/main/resources/config/mybatis/StudentGoodsSellMapper.xml

@@ -14,6 +14,7 @@
 		<result column="total_amount_" property="totalAmount" />
 		<result column="market_amount_" property="marketAmount" />
 		<result column="order_no_" property="orderNo" />
+		<result column="username_" property="userName" />
 		<result column="organ_id_" property="organId" />
 		<result column="create_time_" property="createTime" />
 		<result column="update_time_" property="updateTime" />
@@ -21,7 +22,9 @@
 	
 	<!-- 根据主键查询一条记录 -->
 	<select id="get" resultMap="StudentGoodsSell" >
-		SELECT * FROM student_goods_sell WHERE id_ = #{id} 
+		SELECT sgs.*,su.username_ FROM student_goods_sell sgs
+		LEFT JOIN sys_user su ON su.id_ = sgs.user_id_
+		WHERE sgs.id_ = #{id}
 	</select>
 	
 	<!-- 全查询 -->

+ 45 - 0
mec-biz/src/main/resources/config/mybatis/SubjectChangeMapper.xml

@@ -8,7 +8,9 @@
         <result column="student_id_" property="studentId"/>
         <result column="studentName" property="studentName"/>
         <result column="organ_id_" property="organId"/>
+        <result column="organName" property="organName"/>
         <result column="cooperation_organ_id_" property="cooperationOrganId"/>
+        <result column="cooperationOrganName" property="cooperationOrganName"/>
         <result column="music_group_id_" property="musicGroupId"/>
         <result column="original_course_fee_" property="originalCourseFee"/>
         <result column="original_musical_" property="originalMusical"/>
@@ -182,4 +184,47 @@
         WHERE music_group_id_ = #{musicGroupId}
           AND status_ = 0
     </select>
+
+    <select id="queryPage" resultMap="SubjectChange">
+        SELECT * FROM subject_change sc
+        <include refid="queryPageSql"/>
+        ORDER BY sc.id_ DESC
+        <include refid="global.limit"/>
+    </select>
+
+    <select id="getPageList" resultMap="SubjectChange">
+        SELECT sc.*,s.username_ studentName,o.name_ organName,co.name_ cooperationOrganName FROM
+        subject_change sc
+        LEFT JOIN sys_user s ON sc.student_id_ = s.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"/>
+        ORDER BY sc.sell_time_ DESC
+        <include refid="global.limit"/>
+    </select>
+    <sql id="queryPageSql">
+        <where>
+            <if test="search != null and search != ''">
+                AND (sc.order_no_ = #{search} OR sc.trans_no_ = #{search})
+            </if>
+            <if test="organIdList != null and organIdList != ''">
+                AND FIND_IN_SET(sc.organ_id_,#{organIdList})
+            </if>
+            <if test="cooperationOrganId != null">
+                AND sc.cooperation_organ_id_ = #{cooperationOrganId}
+            </if>
+            <if test="startTime != null">
+                AND sc.sell_time_ >= #{startTime}
+            </if>
+            <if test="endTime != null">
+                AND sc.sell_time_ &lt;= #{endTime}
+            </if>
+        </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_
+        <include refid="queryPageSql"/>
+    </select>
 </mapper>

+ 2 - 1
mec-im/src/main/java/com/ym/service/Impl/RoomServiceImpl.java

@@ -220,7 +220,7 @@ public class RoomServiceImpl implements RoomService {
         }else if (roleEnum == RoleEnum.RoleAssistant){
             display = "display://type=0?userId=" + userId + "?uri=";
         }
-
+        updateDisplay(roomId, userId, display, 0);
         Date curTime = DateTimeUtils.currentUTC();
         Room room = roomDao.findByRid(roomId);
         if (room == null) {
@@ -334,6 +334,7 @@ public class RoomServiceImpl implements RoomService {
             imHelper.dismiss(userId, roomId);
             log.info("leaveRoomSuccess dismiss the room: {},userId: {}", roomId,userId);
         } else {
+            imHelper.quit(new String[]{userId}, roomId);
             roomMemberDao.deleteUserByRidAndUid(roomId, userId);
             MemberChangedMessage msg = new MemberChangedMessage(MemberChangedMessage.Action_Leave, userId, roleEnum.getValue());
             msg.setUserName(roomMember.getName());

+ 4 - 2
mec-student/src/main/java/com/ym/mec/student/config/ResourceServerConfig.java

@@ -36,8 +36,10 @@ public class ResourceServerConfig extends ResourceServerConfigurerAdapter {
 				"/degree/*",
 				"/practiceGroup/queryOrderInfo",
 				"/systemDate/query",
-				"/organization/getOrgans," +
-				"/repair/addGoodsSellOrder").permitAll().anyRequest().authenticated().and().httpBasic();
+				"/organization/getOrgans",
+				"/repair/addGoodsSellOrder",
+				"/repair/getStudentGoodsOrder",
+				"/contracts/queryProduceContract").permitAll().anyRequest().authenticated().and().httpBasic();
 	}
 
 	@Override

+ 8 - 5
mec-student/src/main/java/com/ym/mec/student/controller/ContractsController.java

@@ -81,11 +81,14 @@ public class ContractsController extends BaseController {
 
 	@ApiOperation("查询产品协议")
 	@GetMapping(value = "queryProduceContract")
-	public Object queryProduceContract(String musicGroupId) {
-		SysUser sysUser = sysUserFeignService.queryUserInfo();
-		if (sysUser == null) {
-			return failed("获取用户信息失败");
+	public Object queryProduceContract(Integer userId, String musicGroupId) {
+		if(Objects.isNull(userId)){
+			SysUser sysUser = sysUserFeignService.queryUserInfo();
+			if (sysUser == null) {
+				return failed("获取用户信息失败");
+			}
+			userId = sysUser.getId();
 		}
-		return succeed(contractService.queryProductContract(sysUser.getId(),musicGroupId));
+		return succeed(contractService.queryProductContract(userId,musicGroupId));
 	}
 }

+ 1 - 1
mec-web/src/main/java/com/ym/mec/web/config/ResourceServerConfig.java

@@ -34,7 +34,7 @@ public class ResourceServerConfig extends ResourceServerConfigurerAdapter {
 				.antMatchers("/task/**")
 				.hasIpAddress("0.0.0.0/0")
 				.antMatchers("/v2/api-docs", "/classGroup/highClassGroups", "/code/*", "/api/*", "/appVersionInfo/queryByPlatform", "/eduDegree/*",
-						"/uploadFile").permitAll().anyRequest().authenticated().and().httpBasic();
+						"/uploadFile", "/eduContracts/queryProduceContract").permitAll().anyRequest().authenticated().and().httpBasic();
 	}
 
 	@Override

+ 38 - 9
mec-web/src/main/java/com/ym/mec/web/controller/SubjectChangeController.java

@@ -1,14 +1,23 @@
 package com.ym.mec.web.controller;
 
+import com.ym.mec.auth.api.client.SysUserFeignService;
+import com.ym.mec.auth.api.entity.SysUser;
+import com.ym.mec.biz.dal.dao.EmployeeDao;
 import com.ym.mec.biz.dal.dto.MusicGroupSubjectGoodsAndInfoDto;
 import com.ym.mec.biz.dal.dto.StudentAddDto;
+import com.ym.mec.biz.dal.entity.Employee;
+import com.ym.mec.biz.dal.entity.SellOrder;
 import com.ym.mec.biz.dal.entity.StudentPaymentOrderDetail;
 import com.ym.mec.biz.dal.entity.SubjectChange;
+import com.ym.mec.biz.dal.page.SellOrderQueryInfo;
+import com.ym.mec.biz.dal.page.SubjectChangeQueryInfo;
 import com.ym.mec.biz.service.MusicGroupSubjectPlanService;
 import com.ym.mec.biz.service.StudentRegistrationService;
 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.page.PageInfo;
+import com.ym.mec.util.date.DateUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
@@ -18,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.util.Arrays;
 import java.util.List;
 
 @RequestMapping("subjectChange")
@@ -31,17 +41,36 @@ public class SubjectChangeController extends BaseController {
     private MusicGroupSubjectPlanService musicGroupSubjectPlanService;
     @Autowired
     private SubjectChangeService subjectChangeService;
+    @Autowired
+    private SysUserFeignService sysUserFeignService;
+    @Autowired
+    private EmployeeDao employeeDao;
 
-    @ApiOperation(value = "获取学生报名缴费详情")
-    @GetMapping("/getApplyDetail")
-    @PreAuthorize("@pcs.hasPermissions('subjectChange/getApplyDetail')")
-    @ApiImplicitParams({@ApiImplicitParam(name = "studentId", value = "学生编号", required = true, dataType = "Integer"),
-            @ApiImplicitParam(name = "musicGroupId", value = "乐团编号", required = true, dataType = "String")})
-    public HttpResponseResult<List<StudentPaymentOrderDetail>> getApplyDetail(Integer studentId, String musicGroupId) {
-        if (studentId == null || StringUtils.isEmpty(musicGroupId)) {
-            return failed("参数校验异常");
+    @ApiOperation("销售列表")
+    @GetMapping(value = "/queryPage")
+    @PreAuthorize("@pcs.hasPermissions('sellOrder/queryPage')")
+    public HttpResponseResult<PageInfo<SubjectChange>> queryPage(SubjectChangeQueryInfo queryInfo) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed("用户信息获取失败");
+        }
+        if (!sysUser.getIsSuperAdmin()) {
+            Employee employee = employeeDao.get(sysUser.getId());
+            if (StringUtils.isEmpty(queryInfo.getOrganIdList())) {
+                queryInfo.setOrganIdList(employee.getOrganIdList());
+            } else if (StringUtils.isEmpty(employee.getOrganIdList())) {
+                return failed("用户所在分部异常");
+            } else {
+                List<String> list = Arrays.asList(employee.getOrganIdList().split(","));
+                if (!list.containsAll(Arrays.asList(queryInfo.getOrganIdList().split(",")))) {
+                    return failed("非法请求");
+                }
+            }
+        }
+        if (queryInfo.getEndTime() != null) {
+            queryInfo.setEndTime(DateUtil.getLastTimeWithDay(queryInfo.getEndTime()));
         }
-        return succeed(studentRegistrationService.getStudentApplyDetail(studentId, musicGroupId));
+        return succeed(subjectChangeService.getPageList(queryInfo));
     }
 
     @ApiOperation(value = "获取更换前的详情")