Selaa lähdekoodia

Merge branch 'zx_saas_news' of http://git.dayaedu.com/yonge/mec into test

zouxuan 1 vuosi sitten
vanhempi
commit
2bedc92eb5

+ 6 - 1
cms/src/main/java/com/ym/mec/cms/controller/NewsController.java

@@ -7,6 +7,7 @@ import com.ym.mec.cms.controller.queryinfo.NewsInformationQueryInfo;
 import com.ym.mec.cms.dal.dao.SysNewsInformationDao;
 import com.ym.mec.cms.dal.entity.SysConfig;
 import com.ym.mec.cms.dal.entity.SysNewsInformation;
+import com.ym.mec.cms.service.OrganizationService;
 import com.ym.mec.cms.service.SysConfigService;
 import com.ym.mec.cms.service.SysNewsInformationService;
 import com.ym.mec.cms.service.SysNewsTypeService;
@@ -49,6 +50,8 @@ public class NewsController extends BaseController {
     @Autowired
     private WebFeignService webFeignService;
     @Autowired
+    private OrganizationService organizationService;
+    @Autowired
     private SysConfigService sysConfigService;
 
     @ApiOperation("查询底部按钮信息")
@@ -207,9 +210,11 @@ public class NewsController extends BaseController {
 	public Object listWithTree(Integer id, String memo) {
         SysUser sysUser = sysUserFeignService.queryUserInfo();
         Integer userId = null;
+        String organIds = "";
         if(sysUser != null && sysUser.getId() != null){
             userId = sysUser.getId();
+            organIds = organizationService.getEmployeeOrgan(sysUser.getId(), null, sysUser.getIsSuperAdmin() && sysUser.getTenantId() == -1);
         }
-        return succeed(sysNewsTypeService.listWithTree(id,memo,userId));
+        return succeed(sysNewsTypeService.listWithTree(id,memo,userId,organIds));
 	}
 }

+ 9 - 0
cms/src/main/java/com/ym/mec/cms/dal/dao/OrganizationDao.java

@@ -0,0 +1,9 @@
+package com.ym.mec.cms.dal.dao;
+
+
+import com.ym.mec.cms.dal.entity.Organization;
+import com.ym.mec.common.dal.BaseDAO;
+
+public interface OrganizationDao extends BaseDAO<Integer, Organization> {
+
+}

+ 1 - 1
cms/src/main/java/com/ym/mec/cms/dal/dao/SysNewsInformationDao.java

@@ -31,7 +31,7 @@ public interface SysNewsInformationDao extends BaseDAO<Long, SysNewsInformation>
 	
 	SysNewsInformationDto queryById(Long id);
 
-	List<SysNewsInformation> queryBySubType(@Param("subType") Integer subType,@Param("memo") String memo);
+	List<SysNewsInformation> queryBySubType(@Param("subType") Integer subType, @Param("memo") String memo, @Param("organIds") String organIds);
 
     Boolean countStudentAttendanceError(@Param("startTime") String startTime, @Param("userId") Integer userId);
 

+ 64 - 0
cms/src/main/java/com/ym/mec/cms/dal/entity/Organization.java

@@ -0,0 +1,64 @@
+package com.ym.mec.cms.dal.entity;
+
+import com.ym.mec.common.entity.BaseEntity;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 对应数据库表(organization):
+ */
+@Data
+public class Organization extends BaseEntity {
+
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = -8979746516597046410L;
+
+	/**  */
+	private Integer id;
+	
+	/** 机构名称 */
+	@ApiModelProperty(value = "机构名称",required = false)
+	private String name;
+
+	/** 机构名称 */
+	@ApiModelProperty(value = "区域名称",required = false)
+	private String areaName;
+	
+	/** 区域编码 */
+	@ApiModelProperty(value = "区域编码",required = false)
+	private Integer areaId;
+	
+	private String corporateName;
+	
+	private String corporateCode;
+	
+	private String corporateSeal;
+	
+	private String corporateFinancialSeal;
+	
+	private BigDecimal maxMusicalInstrumentsProfits;
+	
+	/** 创建时间 */
+	private Date createTime;
+	
+	/** 修改时间 */
+	private Date updateTime;
+
+	@ApiModelProperty(value = "成立日期",required = false)
+	private Date registerDate;
+
+	@ApiModelProperty(value = "联系人",required = false)
+	private String linkman;
+
+	@ApiModelProperty(value = "联系方式",required = false)
+	private String mobile;
+
+	@ApiModelProperty(value = "地址",required = false)
+	private String address;
+
+}

+ 13 - 1
cms/src/main/java/com/ym/mec/cms/dal/entity/TenantInfo.java

@@ -1,5 +1,6 @@
 package com.ym.mec.cms.dal.entity;
 
+import io.swagger.annotations.ApiModelProperty;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 
 /**
@@ -30,13 +31,24 @@ public class TenantInfo {
 	
 	/** 数据源 */
 	private String dataSource;
+
+	@ApiModelProperty(value = "管理员账号id")
+	private Integer userId;
 	
 	/**  */
 	private java.util.Date createTime;
 	
 	/**  */
 	private java.util.Date updateTime;
-	
+
+	public Integer getUserId() {
+		return userId;
+	}
+
+	public void setUserId(Integer userId) {
+		this.userId = userId;
+	}
+
 	public void setId(Integer id){
 		this.id = id;
 	}

+ 21 - 0
cms/src/main/java/com/ym/mec/cms/service/OrganizationService.java

@@ -0,0 +1,21 @@
+package com.ym.mec.cms.service;
+
+
+import com.ym.mec.cms.dal.entity.Organization;
+import com.ym.mec.common.service.BaseService;
+
+public interface OrganizationService extends BaseService<Integer, Organization> {
+
+    /**
+    * @description: 获取员工能访问的分部列表
+     * @param userId 当前用户
+     * @param organIds 用户选择的分部
+     * @param isSuper 是否超管
+    * @return java.lang.String
+    * @author zx
+    * @date 2022/1/5 12:44
+    */
+    String getEmployeeOrgan(Integer userId,String organIds,Boolean isSuper);
+
+
+}

+ 1 - 1
cms/src/main/java/com/ym/mec/cms/service/SysNewsTypeService.java

@@ -13,5 +13,5 @@ public interface SysNewsTypeService extends BaseService<Integer, SysNewsType> {
 	//根据父级查询子集
 	List<SysNewsTypeTree> queryByParentId(Integer parentId);
 
-	List<SysNewsType> listWithTree(Integer id,String memo,Integer userId);
+	List<SysNewsType> listWithTree(Integer id,String memo,Integer userId,String organIds);
 }

+ 55 - 0
cms/src/main/java/com/ym/mec/cms/service/impl/OrganizationServiceImpl.java

@@ -0,0 +1,55 @@
+package com.ym.mec.cms.service.impl;
+
+import com.ym.mec.cms.dal.dao.OrganizationDao;
+import com.ym.mec.cms.dal.entity.Organization;
+import com.ym.mec.cms.dal.entity.TenantInfo;
+import com.ym.mec.cms.service.OrganizationService;
+import com.ym.mec.cms.service.TenantInfoService;
+import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.common.service.impl.BaseServiceImpl;
+import com.ym.mec.common.tenant.TenantContextHolder;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+@Service
+public class OrganizationServiceImpl extends BaseServiceImpl<Integer, Organization> implements OrganizationService {
+
+	@Resource
+	private OrganizationDao organizationDao;
+	@Resource
+	private TenantInfoService tenantInfoService;
+
+	@Override
+	public BaseDAO<Integer, Organization> getDAO() {
+		return organizationDao;
+	}
+
+
+	@Override
+	public String getEmployeeOrgan(Integer userId, String organIds,Boolean isSuper) {
+		if(StringUtils.isEmpty(organIds)){
+			Integer tenantId = TenantContextHolder.getTenantId();
+			TenantInfo tenantInfo = tenantInfoService.get(tenantId);
+			//如果是超管,或者是机构管理员,可以查看当前机构所有分部数据
+			if(isSuper || (tenantInfo.getUserId() != null && tenantInfo.getUserId().equals(userId))){
+				Map<String,Object> param = new HashMap<>();
+				param.put("tenantId",tenantId);
+				List<Organization> all = this.findAll(param);
+				if(all != null && all.size() > 0){
+					organIds = StringUtils.join(all.stream().map(e->e.getId()).collect(Collectors.toSet()),",");
+				}
+			}
+		}
+		/*if(StringUtils.isEmpty(organIds)){
+			Employee employee = employeeDao.get(userId);
+			organIds = employee.getOrganIdList();
+		}*/
+		return organIds;
+	}
+}

+ 0 - 1
cms/src/main/java/com/ym/mec/cms/service/impl/SysNewsInformationServiceImpl.java

@@ -166,5 +166,4 @@ public class SysNewsInformationServiceImpl extends BaseServiceImpl<Long, SysNews
 		}
 		return true;
 	}
-
 }

+ 5 - 6
cms/src/main/java/com/ym/mec/cms/service/impl/SysNewsTypeServiceImpl.java

@@ -19,9 +19,7 @@ import org.springframework.stereotype.Service;
 
 import java.time.LocalDate;
 import java.time.format.DateTimeFormatter;
-import java.util.Date;
-import java.util.Iterator;
-import java.util.List;
+import java.util.*;
 import java.util.stream.Collectors;
 
 @Service
@@ -61,14 +59,14 @@ public class SysNewsTypeServiceImpl extends BaseServiceImpl<Integer, SysNewsType
         return sysNewsTypeDao.queryByParentId(parentId);
     }
 
-    public List<SysNewsType> listWithTree(Integer id, String memo,Integer userId) {
+    public List<SysNewsType> listWithTree(Integer id, String memo,Integer userId,String organIds) {
         SysNewsType newsType = sysNewsTypeDao.get(id);
         List<SysNewsType> all = sysNewsTypeDao.findAll(null);
         String startTime = DateUtil.format(DateUtil.getFirstDayOfMonth(DateUtil.addMonths(new Date(), -1)),DateUtil.ISO_EXPANDED_DATE_FORMAT);
         all.forEach(e -> {
-            List<SysNewsInformation> list = informationDao.queryBySubType(e.getId(), memo);
+            List<SysNewsInformation> list = informationDao.queryBySubType(e.getId(), memo,organIds);
             if (CollectionUtils.isEmpty(list)) {
-            	list = informationDao.queryBySubType(e.getId(), null);
+            	list = informationDao.queryBySubType(e.getId(), null,organIds);
             }
             Iterator<SysNewsInformation> iterator = list.iterator();
 			SysNewsInformation sni = null;
@@ -120,4 +118,5 @@ public class SysNewsTypeServiceImpl extends BaseServiceImpl<Integer, SysNewsType
                 .collect(Collectors.toList());
         return childrenList;
     }
+
 }

+ 37 - 0
cms/src/main/resources/config/mybatis/OrganizationMapper.xml

@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<!--
+这个文件是自动生成的。
+不要修改此文件。所有改动将在下次重新自动生成时丢失。
+-->
+<mapper namespace="com.ym.mec.biz.dal.dao.OrganizationDao">
+
+    <resultMap type="com.ym.mec.cms.dal.entity.Organization" id="Organization">
+        <result column="id_" property="id"/>
+        <result column="name_" property="name"/>
+        <result column="area_name_" property="areaName"/>
+        <result column="area_id_" property="areaId"/>
+        <result column="create_time_" property="createTime"/>
+        <result column="update_time_" property="updateTime"/>
+        <result column="register_date_" property="registerDate"/>
+        <result column="linkman_" property="linkman"/>
+        <result column="mobile_" property="mobile"/>
+        <result column="address_" property="address"/>
+        <result column="corporate_name_" property="corporateName"/>
+        <result column="corporate_code_" property="corporateCode"/>
+        <result column="corporate_seal_" property="corporateSeal"/>
+        <result column="corporate_financial_seal_" property="corporateFinancialSeal"/>
+        <result column="max_musical_instruments_profits_" property="maxMusicalInstrumentsProfits"/>
+        <result column="tenant_id_" property="tenantId"/>
+    </resultMap>
+
+    <!-- 根据主键查询一条记录 -->
+    <select id="get" resultMap="Organization">
+		SELECT * FROM organization WHERE id_ = #{id} 
+	</select>
+
+    <!-- 全查询 -->
+    <select id="findAll" resultMap="Organization">
+		SELECT * FROM organization WHERE tenant_id_ = #{tenantId} AND del_flag_ = 0 ORDER BY id_
+	</select>
+</mapper>

+ 3 - 0
cms/src/main/resources/config/mybatis/SysNewsInformationMapper.xml

@@ -313,6 +313,9 @@
 		<if test="memo != null and memo !=''">
 			AND memo_ = #{memo}
 		</if>
+		<if test="organIds != null and organIds !=''">
+			AND INTE_ARRAY(#{organIds},organ_id_list_)
+		</if>
 		ORDER BY order_ DESC
 	</select>
     <select id="countStudentAttendanceError" resultType="java.lang.Boolean">

+ 1 - 2
cms/src/main/resources/config/mybatis/TenantInfoMapper.xml

@@ -9,6 +9,7 @@
 		<result column="address_" property="address" />
 		<result column="domain_name_" property="domainName" />
 		<result column="logo_url_" property="logoUrl" />
+		<result column="user_id_" property="userId" />
 		<result column="contact_name_" property="contactName" />
 		<result column="contact_phone_" property="contactPhone" />
 		<result column="data_source_" property="dataSource" />
@@ -31,8 +32,6 @@
 	<!-- 向数据库增加一条记录 -->
 	<insert id="insert" parameterType="com.ym.mec.cms.dal.entity.TenantInfo"
 		useGeneratedKeys="true" keyColumn="id" keyProperty="id">
-		<!-- <selectKey resultClass="int" keyProperty="id" > SELECT SEQ_WSDEFINITION_ID.nextval 
-			AS ID FROM DUAL </selectKey> -->
 		INSERT INTO tenant_info
 		(id_,name_,address_,domain_name_,logo_url_,contact_name_,contact_phone_,data_source_,create_time_,update_time_)
 		VALUES(#{id},#{name},#{address},#{domainName},#{logoUrl},#{contactName},#{contactPhone},#{dataSource},#{createTime},#{updateTime})

+ 3 - 3
mec-application/src/main/java/com/ym/mec/web/controller/payment/AdapayController.java

@@ -133,7 +133,7 @@ public class AdapayController extends BaseController {
     @PostMapping(value = "createMember")
     @PreAuthorize("@pcs.hasPermissions('adapay/createMember')")
     public HttpResponseResult<Boolean> createMember(HfMember member) throws Exception {
-        if (!profiles.equals("prod")) {
+        if (!profiles.equals("prod") && !profiles.equals("pre")) {
             return failed("仅生产环境可用");
         }
         if (member.getMultipartFile().isEmpty()) {
@@ -164,7 +164,7 @@ public class AdapayController extends BaseController {
     @PostMapping(value = "updateMember")
     @PreAuthorize("@pcs.hasPermissions('adapay/updateMember')")
     public HttpResponseResult<Boolean> updateMember(HfMember member) throws Exception {
-        if (!profiles.equals("prod")) {
+        if (!profiles.equals("prod") && !profiles.equals("pre")) {
             return failed("仅生产环境可用");
         }
         if (member.getMultipartFile().isEmpty()) {
@@ -195,7 +195,7 @@ public class AdapayController extends BaseController {
     @PostMapping(value = "createSettleAccount")
     @PreAuthorize("@pcs.hasPermissions('adapay/createSettleAccount')")
     public HttpResponseResult<Boolean> createSettleAccount(String memberId, AccountInfo accountInfo) throws Exception {
-        if (!profiles.equals("prod")) {
+        if (!profiles.equals("prod") && !profiles.equals("pre")) {
             return failed("仅生产环境可用");
         }
         try {

+ 2 - 2
mec-application/src/main/resources/logback-spring.xml

@@ -70,7 +70,7 @@
         <runModel>2</runModel>
     </appender>
 
-    <logger name="com.ym.mec" level="WARN"/>
+    <logger name="com.ym.mec" level="INFO"/>
 
     <logger name="com.ym.mec.thirdparty" level="INFO" additivity="false">
         <appender-ref ref="messagefile"/>
@@ -120,7 +120,7 @@
     </springProfile>
     <!--生产环境:输出到文件 -->
     <springProfile name="pre">
-        <root level="WARN">
+        <root level="INFO">
             <appender-ref ref="file"/>
             <appender-ref ref="plumelog"/>
         </root>

+ 221 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/wrapper/MusicSheetWrapper.java

@@ -0,0 +1,221 @@
+package com.dayaedu.cbs.domain.wrapper;
+
+import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.dayaedu.cbs.common.enums.school.EMusicSheetType;
+import com.microsvc.toolkit.common.response.paging.QueryInfo;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.util.Date;
+import java.util.Optional;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.apache.commons.lang3.StringUtils;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+/**
+ * 曲谱表
+ * 2023-12-29 00:05:53
+ */
+@ApiModel(value = "MusicSheetWrapper对象", description = "曲谱表查询对象")
+public class MusicSheetWrapper {
+
+    @Data
+	@Builder
+    @NoArgsConstructor
+    @AllArgsConstructor
+    @ApiModel(" MusicSheetQuery-曲谱表")
+    public static class MusicSheetQuery implements QueryInfo {
+
+    	@ApiModelProperty("当前页")
+        private Integer page;
+
+        @ApiModelProperty("分页行数")
+        private Integer rows;
+
+        @ApiModelProperty("关键字匹配")
+		private String keyword;
+
+        public String getKeyword() {
+            return Optional.ofNullable(keyword).filter(StringUtils::isNotBlank).orElse(null);
+        }
+
+        public String jsonString() {
+            return JSON.toJSONString(this);
+        }
+
+        public static MusicSheetQuery from(String json) {
+            return JSON.parseObject(json, MusicSheetQuery.class);
+        }
+    }
+
+	@ApiModel(" MusicSheet-曲谱表")
+    public static class MusicSheet {
+
+        public String jsonString() {
+            return JSON.toJSONString(this);
+        }
+
+        public static MusicSheet from(String json) {
+            return JSON.parseObject(json, MusicSheet.class);
+        }
+	}
+
+    @Data
+    @ApiModel(" AddMusicSheet-曲谱新增/修改表")
+    public class AddMusicSheet {
+
+
+        @ApiModelProperty("主键")
+        private Long id;
+
+        @ApiModelProperty("曲谱分类ID")
+        private Long musicCategoryId;
+
+        @ApiModelProperty("曲谱封面图")
+        @NotBlank(message = "曲谱封面图不能为空")
+        private String musicCover;
+
+        @ApiModelProperty("曲谱名称")
+        @NotBlank(message = "曲谱名称不能为空")
+        private String name;
+
+        @ApiModelProperty("描述")
+        private String remark;
+
+        @ApiModelProperty("曲谱乐器(多个,用逗号分隔)")
+        private String musicalInstrumentIds;
+
+        @ApiModelProperty("作曲人")
+        @NotBlank(message = "音乐人不能为空")
+        private String composer;
+
+        @ApiModelProperty("曲谱类型(SINGLE:单曲 CONCERT:合奏)")
+        @NotNull(message = "曲谱类型不能为空")
+        private EMusicSheetType musicSheetType;
+
+        @ApiModelProperty("是否使用系统节拍器(0:否;1:是)")
+        private Boolean isUseSystemBeat;
+
+        @ApiModelProperty("是否可评测(0:否;1:是)")
+        private Boolean isEvaluated;
+
+        @ApiModelProperty("是否可转谱(0:否; 1:是)")
+        private Boolean isConvertibleScore;
+
+        @ApiModelProperty("是否展示指法(0:否;1:是)")
+        private Boolean isShowFingering;
+
+        @ApiModelProperty("是否播入节拍器(0: 否 1:是)")
+        private Boolean isPlayBeat;
+
+        @ApiModelProperty("多声轨选择")
+        private String multiTracksSelection;
+
+        @ApiModelProperty("播放速度")
+        private Integer playSpeed;
+
+        @ApiModelProperty("播放模式(MIDI;MP3)")
+        private String playMode;
+
+        @ApiModelProperty("XML文件")
+        private String xmlFileUrl;
+
+        @ApiModelProperty("MIDI文件(保留字段)")
+        private String midiFileUrl;
+
+        @ApiModelProperty("曲谱JSON")
+        private String musicJson;
+
+        @ApiModelProperty("曲谱缓存JSON(后续使用)")
+        private String musicSvgJson;
+
+        @ApiModelProperty("曲谱缓存")
+        private String musicSvg;
+
+        @ApiModelProperty("简谱缓存")
+        private String musicJianSvg;
+
+        @ApiModelProperty("首调缓存")
+        private String musicFirstSvg;
+
+        @ApiModelProperty("谱面图片JSON(后续使用)")
+        private String musicImgJson;
+
+        @ApiModelProperty("五线谱图片")
+        private String musicImg;
+
+        @ApiModelProperty("首调图片")
+        private String musicFirstImg;
+
+        @ApiModelProperty("固定调图片")
+        private String musicJianImg;
+
+        @ApiModelProperty("谱面参数设置")
+        private String extConfigJson;
+
+        @ApiModelProperty("谱面样式参数设置")
+        private String extStyleConfigJson;
+
+        @ApiModelProperty("可用类型(PLATFORM: 平台; ORG: 机构; PERSON: 个人)")
+        private String availableType;
+
+        @ApiModelProperty("来源类型(PLATFORM: 平台; ORG: 机构; PERSON: 个人)")
+        private String sourceType;
+
+        @ApiModelProperty("音频类型(HOMEMODE: 自制 COMMON: 普通)")
+        private String audioType;
+
+        @ApiModelProperty("曲目状态(0:停用,1:启用)")
+        private Boolean status;
+
+        @ApiModelProperty("停用原因")
+        private String reason;
+
+
+        @ApiModelProperty("更新人")
+        private Long updateBy;
+
+        @ApiModelProperty("更新时间")
+        private Date updateTime;
+
+        @ApiModelProperty("创建人")
+        private Long createBy;
+
+        @ApiModelProperty("创建时间")
+        private Date createTime;
+
+    }
+
+    @Data
+    @Builder
+    @NoArgsConstructor
+    @AllArgsConstructor
+    @ApiModel(" MusicSheet-管乐迷曲谱表")
+    public static class MecMusicSheet extends MusicSheet {
+
+        @ApiModelProperty("曲目分类")
+        private String categoriesName;
+
+        @ApiModelProperty("可见会员等级,用于判断是否收费")
+        private String rankIds;
+
+        @ApiModelProperty("排序值")
+        private Integer order;
+
+        public String jsonString() {
+            return JSON.toJSONString(this);
+        }
+
+        public static MusicSheet from(String json) {
+            return JSON.parseObject(json, MusicSheet.class);
+        }
+    }
+}

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

@@ -4426,8 +4426,8 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
         Map<String, Object> params = new HashMap<>(16);
 		if (StringUtils.isNotEmpty(queryInfo.getMonth())) {
 			Date month = DateUtil.stringToDate(queryInfo.getMonth(), DateUtil.ISO_YEAR_MONTH_FORMAT);
-			params.put("startTime", DateUtil.getFirstDayOfMonth(month));
-			params.put("endTime", DateUtil.getLastDayOfMonth(month));
+			params.put("startTime", DateUtil.dateToString(DateUtil.getFirstDayOfMonth(month),DateUtil.ISO_EXPANDED_DATE_FORMAT));
+			params.put("endTime", DateUtil.dateToString(DateUtil.getLastDayOfMonth(month),DateUtil.ISO_EXPANDED_DATE_FORMAT));
 		}
 		if(StringUtils.isNotEmpty(queryInfo.getOrganIds())){
 			List<Integer> collect = Arrays.stream(queryInfo.getOrganIds().split(",")).map(Integer::parseInt).collect(Collectors.toList());

+ 3 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ExportServiceImpl.java

@@ -410,6 +410,9 @@ public class ExportServiceImpl implements ExportService {
 
     private HttpResponseResult exportCourseIncome(Map<String, Object> info){
         ExportCourseScheduleQueryInfo queryInfo = JSONObject.parseObject(JSONObject.toJSONString(info), ExportCourseScheduleQueryInfo.class);
+        if (StringUtils.isEmpty(queryInfo.getMonth())) {
+            throw new BizException("请选择导出时间");
+        }
         SysUser sysUser = sysUserService.getUser();
         String organId = organizationService.getEmployeeOrgan(sysUser.getId(),queryInfo.getOrganIds(),sysUser.getIsSuperAdmin());
         queryInfo.setOrganIds(organId);