Kaynağa Gözat

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

zouxuan 5 yıl önce
ebeveyn
işleme
c8e665d462
21 değiştirilmiş dosya ile 277 ekleme ve 67 silme
  1. 1 1
      mec-auth/mec-auth-api/src/main/java/com/ym/mec/auth/api/enums/SysUserType.java
  2. 5 3
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleDao.java
  3. 2 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/OrganizationDao.java
  4. 9 4
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentPaymentOrderDao.java
  5. 34 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/LuckStatisDto.java
  6. 33 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/OrderStatisDto.java
  7. 16 5
      mec-biz/src/main/java/com/ym/mec/biz/dal/page/CourseScheduleQueryInfo.java
  8. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/service/CourseScheduleService.java
  9. 2 12
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java
  10. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/SporadicChargeInfoImpl.java
  11. 17 6
      mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml
  12. 3 0
      mec-biz/src/main/resources/config/mybatis/OrganizationMapper.xml
  13. 12 1
      mec-biz/src/main/resources/config/mybatis/StudentPaymentOrderMapper.xml
  14. 1 1
      mec-biz/src/main/resources/config/mybatis/TeacherMapper.xml
  15. 2 0
      mec-common/common-core/src/main/java/com/ym/mec/common/page/PageInfo.java
  16. 0 15
      mec-education/src/main/java/com/ym/mec/education/controller/CourseScheduleController.java
  17. 54 12
      mec-student/src/main/java/com/ym/mec/student/controller/StudentOrderController.java
  18. 1 1
      mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherCourseScheduleController.java
  19. 9 1
      mec-teacher/src/main/java/com/ym/mec/teacher/controller/VipGroupCategoryController.java
  20. 3 3
      mec-web/src/main/java/com/ym/mec/web/controller/ExportController.java
  21. 71 0
      mec-web/src/main/java/com/ym/mec/web/controller/education/EducationCourseScheduleController.java

+ 1 - 1
mec-auth/mec-auth-api/src/main/java/com/ym/mec/auth/api/enums/SysUserType.java

@@ -6,7 +6,7 @@ import com.ym.mec.common.enums.BaseEnum;
 
 public enum SysUserType implements BaseEnum<String, SysUserType> {
 
-	STUDENT("学生"), EDU_TEACHER("教务老师"), TEACHER("指导老师"), SYSTEM("系统內置"), ADMIN("管理员");
+	STUDENT("学生"), EDUCATION("教务老师"), TEACHER("指导老师"), SYSTEM("系统內置"), ADMIN("管理员");
 
 	private String desc;
 

+ 5 - 3
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleDao.java

@@ -213,7 +213,7 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
     int countCourseSchedulesWithDate(Map<String, Object> params);
 
     /**
-     * @param musicGroupID: 乐团编号
+     * @param musicGroupId: 乐团编号
      * @return int
      * @describe 根据乐团ID删除排课
      * @author Joburgess
@@ -278,13 +278,15 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
 
     /**
      * @param month:
-     * @param organId:
+     * @param organIdList:
      * @return java.util.List<java.util.Date>
      * @describe 获取当月有课的日期
      * @author Joburgess
      * @date 2019/10/18
      */
-    List<Date> getCourseScheduleDate(@Param("month") Date month, @Param("organId") Long organId);
+    List<Date> getCourseScheduleDate(@Param("month") Date month,
+                                     @Param("organIdList") String organIdList,
+                                     @Param("type") String type);
 
     /**
      * @Author: Joburgess

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

@@ -36,4 +36,6 @@ public interface OrganizationDao extends BaseDAO<Integer, Organization> {
      * @return
      */
     List<Map<Integer,String>> findOrganNameMap(String organIds);
+
+    List<Organization> findAllOrgans();
 }

+ 9 - 4
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentPaymentOrderDao.java

@@ -1,5 +1,6 @@
 package com.ym.mec.biz.dal.dao;
 
+import com.ym.mec.biz.dal.dto.OrderStatisDto;
 import com.ym.mec.biz.dal.dto.SporadicChargeInfoDto;
 import com.ym.mec.biz.dal.dto.StudentPaymentOrderExportDto;
 import com.ym.mec.biz.dal.dto.UserGoodsDto;
@@ -28,8 +29,8 @@ public interface StudentPaymentOrderDao extends BaseDAO<Long, StudentPaymentOrde
      */
     List<Goods> queryApplyGoodsList(@Param("musicGroupId") String musicGroupId, @Param("type") OrderDetailTypeEnum type);
 
-	List<StudentPaymentOrder> queryByCondition(@Param("groupType") GroupType groupType, @Param("musicGroupId") String musicGroupId,
-			@Param("userId") Integer userId, @Param("status") DealStatusEnum status, @Param("type") OrderTypeEnum type);
+    List<StudentPaymentOrder> queryByCondition(@Param("groupType") GroupType groupType, @Param("musicGroupId") String musicGroupId,
+                                               @Param("userId") Integer userId, @Param("status") DealStatusEnum status, @Param("type") OrderTypeEnum type);
 
     /**
      * @Author: Joburgess
@@ -57,7 +58,7 @@ public interface StudentPaymentOrderDao extends BaseDAO<Long, StudentPaymentOrde
      * 根据学生vip课获取非失败缴费订单
      */
     List<StudentPaymentOrder> findNotFailedOrderByStudentVipGroup(@Param("vipGroupId") Long vipGroupId,
-                                                            @Param("userId") Integer userId);
+                                                                  @Param("userId") Integer userId);
 
     /**
      * @param musicGroupId: 乐团编号/vip课编号
@@ -188,15 +189,19 @@ public interface StudentPaymentOrderDao extends BaseDAO<Long, StudentPaymentOrde
 
     /**
      * 获取零星收费订单列表
+     *
      * @param queryInfo
      * @return
      */
-    List<SporadicChargeInfoDto> sporadicQueryPage( Map<String, Object> queryInfo);
+    List<SporadicChargeInfoDto> sporadicQueryPage(Map<String, Object> queryInfo);
 
     /**
      * COUNT零星收费订单列表
+     *
      * @param params
      * @return
      */
     int countSporadicPage(Map<String, Object> params);
+
+    List<OrderStatisDto> getLuckStatis();
 }

+ 34 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/LuckStatisDto.java

@@ -0,0 +1,34 @@
+package com.ym.mec.biz.dal.dto;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+public class LuckStatisDto {
+    private List<OrderStatisDto> orderStatisDtoList;
+    private Integer totalNum;
+    private BigDecimal totalMoney;
+
+    public List<OrderStatisDto> getOrderStatisDtoList() {
+        return orderStatisDtoList;
+    }
+
+    public void setOrderStatisDtoList(List<OrderStatisDto> orderStatisDtoList) {
+        this.orderStatisDtoList = orderStatisDtoList;
+    }
+
+    public Integer getTotalNum() {
+        return totalNum;
+    }
+
+    public void setTotalNum(Integer totalNum) {
+        this.totalNum = totalNum;
+    }
+
+    public BigDecimal getTotalMoney() {
+        return totalMoney;
+    }
+
+    public void setTotalMoney(BigDecimal totalMoney) {
+        this.totalMoney = totalMoney;
+    }
+}

+ 33 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/OrderStatisDto.java

@@ -0,0 +1,33 @@
+package com.ym.mec.biz.dal.dto;
+
+import java.math.BigDecimal;
+
+public class OrderStatisDto {
+    private String organName;
+    private Integer nums;
+    private BigDecimal money;
+
+    public String getOrganName() {
+        return organName;
+    }
+
+    public void setOrganName(String organName) {
+        this.organName = organName;
+    }
+
+    public Integer getNums() {
+        return nums;
+    }
+
+    public void setNums(Integer nums) {
+        this.nums = nums;
+    }
+
+    public BigDecimal getMoney() {
+        return money;
+    }
+
+    public void setMoney(BigDecimal money) {
+        this.money = money;
+    }
+}

+ 16 - 5
mec-biz/src/main/java/com/ym/mec/biz/dal/page/CourseScheduleQueryInfo.java

@@ -12,7 +12,7 @@ import java.util.Date;
 public class CourseScheduleQueryInfo extends QueryInfo {
 
     @ApiModelProperty(value = "部门编号")
-    private Long organId;
+    private String organIdList;
 
     @ApiModelProperty(value = "上课日期")
     private Date date;
@@ -26,6 +26,17 @@ public class CourseScheduleQueryInfo extends QueryInfo {
     @ApiModelProperty(value = "是否只查询历史数据")
     private Integer onlyHistory;
 
+    @ApiModelProperty(value = "课程类型")
+    private String type;
+
+    public String getType() {
+        return type;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
+
     public Integer getOnlyHistory() {
         return onlyHistory;
     }
@@ -50,12 +61,12 @@ public class CourseScheduleQueryInfo extends QueryInfo {
         this.classGroupId = classGroupId;
     }
 
-    public Long getOrganId() {
-        return organId;
+    public String getOrganIdList() {
+        return organIdList;
     }
 
-    public void setOrganId(Long organId) {
-        this.organId = organId;
+    public void setOrganIdList(String organIdList) {
+        this.organIdList = organIdList;
     }
 
     public Date getDate() {

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

@@ -167,7 +167,7 @@ public interface CourseScheduleService extends BaseService<Long, CourseSchedule>
 	 * @return java.util.List<java.util.Date>
 	 * @describe 获取
 	 */
-	List<Date> getCourseScheduleDates(Date month);
+	List<Date> getCourseScheduleDates(Date month, String organIdList, String type);
 
 	/**
 	 * @describe 课程调整

+ 2 - 12
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -305,12 +305,8 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
     }
 
     @Override
-    public List<Date> getCourseScheduleDates(Date month) {
-        SysUser user = sysUserFeignService.queryUserInfo();
-        if (null == user) {
-            throw new BizException("请登录");
-        }
-        return courseScheduleDao.getCourseScheduleDate(month, Long.parseLong(user.getOrganId()));
+    public List<Date> getCourseScheduleDates(Date month, String organIdList, String type) {
+        return courseScheduleDao.getCourseScheduleDate(month, organIdList,type);
     }
 
     @Override
@@ -354,11 +350,6 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 
     @Override
     public PageInfo getCourseSchedulesWithDateByEdu(CourseScheduleQueryInfo queryInfo) {
-        SysUser user = sysUserFeignService.queryUserInfo();
-        if (null == user) {
-            throw new BizException("请登录");
-        }
-        queryInfo.setOrganId(Long.parseLong(user.getOrganId()));
         PageInfo pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
 
         if (Objects.isNull(queryInfo.getDate())) {
@@ -1379,7 +1370,6 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
         Map<Long, CourseSchedule> oldCourseSchedules = new HashMap<>();
 
         newCourseSchedules.forEach(newCourseSchedule -> {
-
             if (newCourseSchedule.getStartClassTime().before(tomorrow) && sysUser.getUserType().equals(SysUserType.TEACHER)) {
                 throw new BizException("调整时间必须为明天及以后");
             }

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

@@ -68,7 +68,7 @@ public class SporadicChargeInfoImpl extends BaseServiceImpl<Integer, SporadicCha
 		if(studentPaymentOrder.getStatus() == DealStatusEnum.SUCCESS){
 			//活动,增加课程余额
 			if(info.getChargeType().equals("6")){
-				sysUserCashAccountService.appendCourseBalance(userId,info.getAmount());
+				sysUserCashAccountService.appendCourseBalance(userId,studentPaymentOrder.getActualAmount());
 			}
 			sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.SMS_SPORADIC_PAYMENT_SUCCESS, map, null, 0, "1",
 					studentPaymentOrder.getActualAmount(),info.getTitle());

+ 17 - 6
mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml

@@ -445,17 +445,22 @@
             cs.leave_student_num_,
             cg.student_num_ total_student_num_,
             su.username_ teacher_name_,
-            ta.sign_in_status_ attendance_status_
+            ta.sign_in_status_ attendance_status_,
+            s.name_ school_name_
         FROM
             music_group mg
             LEFT JOIN class_group cg ON mg.id_ = cg.music_group_id_
             LEFT JOIN course_schedule cs ON cg.id_ = cs.class_group_id_
             LEFT JOIN sys_user su ON cs.teacher_id_=su.id_
             LEFT JOIN teacher_attendance ta ON cs.id_=ta.class_group_id_ AND ta.teacher_id_=cs.teacher_id_
+            LEFT JOIN school s ON mg.school_id_=s.id_
         WHERE
         (cs.del_flag_ != 1 OR cs.del_flag_ IS NULL)
-        AND mg.organ_id_ = #{organId}
-        AND cs.id_ IS NOT NULL AND cg.group_type_ = 'MUSIC'
+        AND FIND_IN_SET(mg.organ_id_,#{organIdList})
+        AND cs.id_ IS NOT NULL
+        <if test="type!=null">
+            AND cg.group_type_ = #{type}
+        </if>
         AND cs.class_date_ = DATE_FORMAT(#{date},'%Y-%m-%d')
         <include refid="global.limit"/>
     </select>
@@ -469,8 +474,11 @@
         LEFT JOIN course_schedule cs ON cg.id_ = cs.class_group_id_
         WHERE
         (cs.del_flag_ != 1 OR cs.del_flag_ IS NULL)
-        AND mg.organ_id_ = #{organId}
-        AND cs.id_ IS NOT NULL AND cg.group_type_ = 'MUSIC'
+        AND FIND_IN_SET(mg.organ_id_,#{organIdList})
+        AND cs.id_ IS NOT NULL
+        <if test="type!=null">
+            AND cg.group_type_ = #{type}
+        </if>
         AND cs.class_date_ = DATE_FORMAT(#{date},'%Y-%m-%d')
     </select>
 
@@ -769,13 +777,16 @@
         LEFT JOIN course_schedule cs ON cg.id_ = cs.class_group_id_
         WHERE
         (cs.del_flag_ != 1 OR cs.del_flag_ IS NULL)
-        AND mg.organ_id_ = #{organId} AND cs.id_ IS NOT NULL
+        AND FIND_IN_SET(mg.organ_id_,#{organIdList}) AND cs.id_ IS NOT NULL
         <if test="month==null">
             AND DATE_FORMAT( NOW(), '%Y%m' ) = DATE_FORMAT( cs.class_date_, '%Y%m' )
         </if>
         <if test="month!=null">
             AND DATE_FORMAT( #{month}, '%Y%m' ) = DATE_FORMAT( cs.class_date_, '%Y%m' )
         </if>
+        <if test="type!=null and type!=''">
+            AND cs.type_=#{type}
+        </if>
         GROUP BY
         cs.class_date_
     </select>

+ 3 - 0
mec-biz/src/main/resources/config/mybatis/OrganizationMapper.xml

@@ -120,4 +120,7 @@
     <select id="findOrganNameMap" resultType="java.util.Map">
         SELECT o.id_ 'key',o.name_ 'value' FROM organization o WHERE FIND_IN_SET(o.id_,#{organIds})
     </select>
+    <select id="findAllOrgans" resultMap="Organization">
+        SELECT * from organization where del_flag_=0 ORDER BY id_ ASC;
+    </select>
 </mapper>

+ 12 - 1
mec-biz/src/main/resources/config/mybatis/StudentPaymentOrderMapper.xml

@@ -36,6 +36,7 @@
     <resultMap type="com.ym.mec.biz.dal.entity.StudentPaymentOrder" extends="StudentPaymentOrder"
                id="PaymentOrderAndStudentInfo">
         <result column="username_" property="user.username"/>
+        <result column="phone_" property="user.phone"/>
     </resultMap>
 
     <resultMap type="com.ym.mec.biz.dal.entity.Goods" id="Goods">
@@ -176,7 +177,7 @@
 
     <!-- 分页查询 -->
     <select id="queryPage" resultMap="PaymentOrderAndStudentInfo" parameterType="map">
-        SELECT spo.*,u.username_ FROM student_payment_order spo
+        SELECT spo.*,u.username_,u.phone_ FROM student_payment_order spo
         left join sys_user u on spo.user_id_ = u.id_
         <include refid="queryPaymentOrder"/>
         ORDER BY spo.id_ DESC
@@ -489,4 +490,14 @@
             AND spo.status_ = #{payStatus}
         </if>
     </sql>
+
+    <resultMap id="luckStatis" type="com.ym.mec.biz.dal.dto.OrderStatisDto">
+        <result property="organName" column="organName"/>
+        <result property="nums" column="nums"/>
+        <result property="money" column="money"/>
+    </resultMap>
+    <select id="getLuckStatis" resultMap="luckStatis">
+        SELECT o.name_ organName, SUM(spo.actual_amount_) money ,COUNT(spo.id_) nums FROM student_payment_order spo LEFT JOIN organization o ON o.id_=spo.organ_id_
+        WHERE spo.type_='LUCK' AND spo.status_='SUCCESS' GROUP BY spo.organ_id_ ORDER BY nums DESC;
+    </select>
 </mapper>

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

@@ -299,7 +299,7 @@
             LEFT JOIN sys_user su ON t.id_ = su.id_
         WHERE
             FIND_IN_SET(#{subjectIds},t.subject_id_)
-            AND INTE_ARRAY ( CONCAT(t.organ_id_,',',t.flow_organ_range_), #{organIds} )
+            AND INTE_ARRAY ( CONCAT( t.organ_id_, IF(t.flow_organ_range_ IS NULL,'',CONCAT(',', t.flow_organ_range_)) ), #{organIds} )
     </select>
     <select id="findByTeacherId" resultMap="TeacherBasicDto">
         SELECT

+ 2 - 0
mec-common/common-core/src/main/java/com/ym/mec/common/page/PageInfo.java

@@ -8,6 +8,7 @@
 package com.ym.mec.common.page;
 
 import java.io.Serializable;
+import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -130,6 +131,7 @@ public class PageInfo<T> implements Serializable {
 
 	public void setTotal(int total) {
 		this.total = total;
+		this.totalPage=new BigDecimal(total).divide(new BigDecimal(limit),0,BigDecimal.ROUND_CEILING).intValue();
 	}
 
 	public List<T> getRows() {

+ 0 - 15
mec-education/src/main/java/com/ym/mec/education/controller/CourseScheduleController.java

@@ -2,7 +2,6 @@ package com.ym.mec.education.controller;
 
 import com.ym.mec.biz.dal.dto.ClassDateAdjustDto;
 import com.ym.mec.biz.dal.entity.CourseSchedule;
-import com.ym.mec.biz.dal.page.CourseScheduleQueryInfo;
 import com.ym.mec.biz.service.CourseScheduleService;
 import com.ym.mec.education.base.BaseResponse;
 import com.ym.mec.education.base.PageResponse;
@@ -12,14 +11,12 @@ import com.ym.mec.education.resp.CourseScheduleResp;
 import com.ym.mec.education.service.ICourseScheduleService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiParam;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.ArrayList;
-import java.util.Date;
 import java.util.List;
 import java.util.Objects;
 
@@ -65,18 +62,6 @@ public class CourseScheduleController {
         return courseScheduleService.courseInfo(courseScheduleReq);
     }
 
-    @ApiOperation(value = "根据月份获取乐团在该月有课的日期")
-    @GetMapping("/getCourseScheduleDateByMonth")
-    public Object getCourseScheduleDateByMonth(@ApiParam(value = "月份", required = true) @RequestParam Date month) {
-        return BaseResponse.success(scheduleService.getCourseScheduleDates(month));
-    }
-
-    @ApiOperation(value = "根据日期获取当日排课")
-    @GetMapping("/getCourseSchedulesWithDate")
-    public Object getCourseSchedulesWithDate(CourseScheduleQueryInfo queryInfo) {
-        return BaseResponse.success(scheduleService.getCourseSchedulesWithDateByEdu(queryInfo));
-    }
-
     @ApiOperation(value = "课时调整")
     @PostMapping(value = "/classStartDateAdjust")
     public Object classStartDateAdjust(ClassDateAdjustDto classDateAdjustDto){

+ 54 - 12
mec-student/src/main/java/com/ym/mec/student/controller/StudentOrderController.java

@@ -1,7 +1,10 @@
 package com.ym.mec.student.controller;
 
+import com.ym.mec.biz.dal.dao.OrganizationDao;
 import com.ym.mec.biz.dal.dao.SysConfigDao;
-import com.ym.mec.biz.dal.entity.SporadicChargeInfo;
+import com.ym.mec.biz.dal.dto.LuckStatisDto;
+import com.ym.mec.biz.dal.dto.OrderStatisDto;
+import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.service.*;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
@@ -11,12 +14,9 @@ import io.swagger.annotations.ApiOperation;
 import java.io.IOException;
 import java.math.BigDecimal;
 import java.net.URLEncoder;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
+import java.util.*;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
 
 import org.apache.commons.lang.StringUtils;
 import org.slf4j.Logger;
@@ -35,9 +35,6 @@ import com.huifu.adapay.model.payment.PayChannelEnum;
 import com.huifu.adapay.model.payment.Payment;
 import com.ym.mec.biz.dal.dao.StudentPaymentOrderDao;
 import com.ym.mec.biz.dal.dto.VipBuyResultDto;
-import com.ym.mec.biz.dal.entity.Goods;
-import com.ym.mec.biz.dal.entity.MusicGroup;
-import com.ym.mec.biz.dal.entity.StudentPaymentOrder;
 import com.ym.mec.biz.dal.enums.DealStatusEnum;
 import com.ym.mec.biz.dal.enums.GroupType;
 import com.ym.mec.common.controller.BaseController;
@@ -76,6 +73,8 @@ public class StudentOrderController extends BaseController {
     private SysConfigDao sysConfigDao;
     @Autowired
     private SporadicChargeInfoService sporadicChargeInfoService;
+    @Autowired
+    private OrganizationDao organizationDao;
 
     @PostMapping("/notify")
     public Msg notify(@ModelAttribute Msg msg) throws Exception {
@@ -126,10 +125,11 @@ public class StudentOrderController extends BaseController {
             List<Goods> goodsList = studentPaymentOrderDetailService.findApplyOrderGoods(orderByOrderNo.getId());
             orderDetail.put("goods", goodsList);
             orderDetail.put("course", musicGroup.getCourseForm());
+            orderDetail.put("ownershipType",musicGroup.getOwnershipType());
         } else if (orderByOrderNo.getGroupType().equals(GroupType.VIP)) {
             VipBuyResultDto vipBuyResultInfo = vipGroupService.findVipBuyResultInfo(Integer.valueOf(orderByOrderNo.getMusicGroupId()));
             orderDetail.put("detail", vipBuyResultInfo);
-        }else if(orderByOrderNo.getGroupType().equals(GroupType.SPORADIC)){
+        } else if (orderByOrderNo.getGroupType().equals(GroupType.SPORADIC)) {
             SporadicChargeInfo info = sporadicChargeInfoService.get(Integer.valueOf(orderByOrderNo.getMusicGroupId()));
             orderDetail.put("detail", info);
         }
@@ -286,9 +286,51 @@ public class StudentOrderController extends BaseController {
     public void paymentResult(HttpServletResponse response, String orderNo) {
         try {
             String baseApiUrl = sysConfigDao.findConfigValue("base_api_url");
-            response.sendRedirect(baseApiUrl+"/#/paymentresult?orderNo=" + orderNo);
+            response.sendRedirect(baseApiUrl + "/#/paymentresult?orderNo=" + orderNo);
         } catch (IOException e) {
             e.printStackTrace();
         }
     }
+
+    @GetMapping("/getLuckStatis")
+    public HttpResponseResult getLuckStatis() {
+        List<Organization> organs = organizationDao.findAllOrgans();
+        List<OrderStatisDto> orders = studentPaymentOrderDao.getLuckStatis();
+
+
+        for (Organization organ : organs) {
+            boolean flag = false;
+            for (OrderStatisDto order : orders) {
+                if (organ.getName().equals(order.getOrganName())) {
+                    flag = true;
+                    break;
+                }
+            }
+            if (!flag) {
+                OrderStatisDto orderStatisDto = new OrderStatisDto();
+                orderStatisDto.setOrganName(organ.getName());
+                orderStatisDto.setMoney(BigDecimal.ZERO);
+                orderStatisDto.setNums(0);
+                orders.add(orderStatisDto);
+            }
+        }
+
+        BigDecimal totalMoney = BigDecimal.ZERO;
+        Integer totalNum = 0;
+        for (OrderStatisDto order : orders) {
+            if (order.getOrganName().equals("总部国际") || order.getOrganName().equals("阳光总部国际") || order.getOrganName().equals("武汉小学")){
+                orders.remove(order);
+                continue;
+            }
+            totalMoney = totalMoney.add(order.getMoney());
+            totalNum += order.getNums();
+        }
+        orders = orders.stream().sorted(Comparator.comparing(OrderStatisDto::getNums).reversed()).collect(Collectors.toList());
+
+        LuckStatisDto luckStatisDto = new LuckStatisDto();
+        luckStatisDto.setOrderStatisDtoList(orders);
+        luckStatisDto.setTotalNum(totalNum);
+        luckStatisDto.setTotalMoney(totalMoney);
+        return succeed(luckStatisDto);
+    }
 }

+ 1 - 1
mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherCourseScheduleController.java

@@ -58,7 +58,7 @@ public class TeacherCourseScheduleController extends BaseController {
     @ApiOperation(value = "根据日期获取当日排课")
     @GetMapping("/getCourseSchedulesWithDate")
     public Object getCourseSchedulesWithDate(@ApiParam(value = "日期", required = true) Date date,
-                                             @ApiParam(value = "课程类型",required = false) String type){
+                                             @ApiParam(value = "课程类型") String type){
         if(Objects.isNull(date)){
             return failed("请指定日期!");
         }

+ 9 - 1
mec-teacher/src/main/java/com/ym/mec/teacher/controller/VipGroupCategoryController.java

@@ -2,6 +2,8 @@ package com.ym.mec.teacher.controller;
 
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
+import com.ym.mec.biz.dal.dao.TeacherDao;
+import com.ym.mec.biz.dal.entity.Teacher;
 import com.ym.mec.biz.dal.entity.VipGroupCategory;
 import com.ym.mec.biz.service.VipGroupCategoryService;
 import com.ym.mec.common.controller.BaseController;
@@ -27,6 +29,8 @@ public class VipGroupCategoryController extends BaseController {
 
 	@Autowired
 	private SysUserFeignService sysUserFeignService;
+	@Autowired
+	private TeacherDao teacherDao;
 
 	@ApiOperation("单查询")
 	@GetMapping(value = "/query")
@@ -41,7 +45,11 @@ public class VipGroupCategoryController extends BaseController {
 		if (Objects.isNull(user)) {
 			return failed(HttpStatus.FORBIDDEN, "请登录");
 		}
-		return succeed(vipGroupCategoryService.findAllByOrgan(user.getOrganId().toString()));
+		Teacher teacher = teacherDao.get(user.getId());
+		if(Objects.isNull(teacher)){
+			return failed("教师信息不存在");
+		}
+		return succeed(vipGroupCategoryService.findAllByOrgan(teacher.getTeacherOrganId().toString()));
 	}
 
 	@ApiOperation("新增")

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

@@ -239,11 +239,11 @@ public class ExportController extends BaseController {
                     if (row.getChargeType().equals(1)) {
                         row.setSporadicType("考级");
                     } else if (row.getChargeType().equals(2)) {
-                        row.setSporadicType("缴费");
-                    } else if (row.getChargeType().equals(3)) {
                         row.setSporadicType("声部更改");
-                    } else if (row.getChargeType().equals(4)) {
+                    } else if (row.getChargeType().equals(3)) {
                         row.setSporadicType("乐器更换");
+                    } else if (row.getChargeType().equals(4)) {
+                        row.setSporadicType("配件销售");
                     }else if (row.getChargeType().equals(5)) {
                         row.setSporadicType("维修费");
                     }else if (row.getChargeType().equals(6)) {

+ 71 - 0
mec-web/src/main/java/com/ym/mec/web/controller/education/EducationCourseScheduleController.java

@@ -0,0 +1,71 @@
+package com.ym.mec.web.controller.education;
+
+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.entity.Employee;
+import com.ym.mec.biz.dal.page.CourseScheduleQueryInfo;
+import com.ym.mec.biz.service.CourseScheduleService;
+import com.ym.mec.biz.service.SysConfigService;
+import com.ym.mec.common.controller.BaseController;
+import com.ym.mec.common.exception.BizException;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.Date;
+import java.util.Objects;
+
+/**
+ * @Author Joburgess
+ * @Date 2020/1/8
+ */
+
+@RestController
+@RequestMapping("educationCourseSchedule")
+@Api(tags = "教务端课程计划服务")
+public class EducationCourseScheduleController extends BaseController {
+
+    @Autowired
+    private CourseScheduleService scheduleService;
+    @Autowired
+    private SysUserFeignService sysUserFeignService;
+    @Autowired
+    private SysConfigService sysConfigService;
+    @Autowired
+    private EmployeeDao employeeDao;
+
+    @ApiOperation(value = "根据月份获取乐团在该月有课的日期")
+    @GetMapping("/getCourseScheduleDateByMonth")
+    public Object getCourseScheduleDateByMonth(@ApiParam(value = "月份", required = true) @RequestParam Date month,String type) {
+        SysUser user = sysUserFeignService.queryUserInfo();
+        if (null == user) {
+            throw new BizException("请登录");
+        }
+        Employee employee = employeeDao.get(user.getId());
+        if(Objects.isNull(employee)){
+            throw new BizException("员工信息不存在");
+        }
+        return succeed(scheduleService.getCourseScheduleDates(month,employee.getOrganIdList(),type));
+    }
+
+    @ApiOperation(value = "根据日期获取当日排课")
+    @GetMapping("/getCourseSchedulesWithDate")
+    public Object getCourseSchedulesWithDate(CourseScheduleQueryInfo queryInfo) {
+        SysUser user = sysUserFeignService.queryUserInfo();
+        if (null == user) {
+            throw new BizException("请登录");
+        }
+        Employee employee = employeeDao.get(user.getId());
+        if(Objects.isNull(employee)){
+            throw new BizException("员工信息不存在");
+        }
+        queryInfo.setOrganIdList(employee.getOrganIdList());
+        return succeed(scheduleService.getCourseSchedulesWithDateByEdu(queryInfo));
+    }
+}