zouxuan 3 yıl önce
ebeveyn
işleme
2b9fac4937

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

@@ -219,13 +219,11 @@ public class OrganizationServiceImpl extends BaseServiceImpl<Integer, Organizati
 
     @Override
     public <T extends EducationBaseQueryInfo> T onlyEducation(T queryInfo) {
-		if(StringUtils.isEmpty(queryInfo.getOrganIds())){
-			throw new BizException("请选择分部");
-		}
 		SysUser sysUser = sysUserFeignService.queryUserInfo();
 		if (sysUser == null) {
 			throw new BizException("用户信息获取失败");
 		}
+		queryInfo.setOrganIds(this.getEmployeeOrgan(sysUser.getId(),queryInfo.getOrganIds(),sysUser.getIsSuperAdmin()));
 		Boolean onlyForRole = employeePositionService.onlyForRole(EDUCATION, sysUser.getId(), sysUser.getIsSuperAdmin());
 		//如果当前用户只有教务老师角色,那么只能看到他所管理的课程组的信息
 		if (onlyForRole) {

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

@@ -447,8 +447,8 @@
 			</if>
 			AND mgpcd.payment_status_ = 'NON_PAYMENT' AND mgpc.batch_no_ IS NOT NULL AND mgpc.pay_user_type_ = 'STUDENT'
 			AND (mgpcd.expect_amount_ + mgpcd.expect_member_amount_) > 0
-			<if test="organIds != null and organIds.size() != ''">
-				AND mg.organ_id_ IN FIND_IN_SET(mg.organ_id_,#{organIds})
+			<if test="organIds != null and organIds != ''">
+				AND FIND_IN_SET(mg.organ_id_,#{organIds})
 			</if>
 			<if test="musicGroupId!=null and musicGroupId!=''">
 				AND mgpc.music_group_id_ = #{musicGroupId}

+ 18 - 1
mec-web/src/main/java/com/ym/mec/web/controller/IndexController.java

@@ -11,10 +11,13 @@ import com.ym.mec.biz.service.IndexBaseMonthDataService;
 import com.ym.mec.biz.service.OrganizationService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
+import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.tenant.TenantContextHolder;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import org.redisson.api.RBucket;
+import org.redisson.api.RedissonClient;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
 import org.springframework.ui.ModelMap;
@@ -25,6 +28,7 @@ import org.springframework.web.bind.annotation.RestController;
 import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
+import java.util.concurrent.TimeUnit;
 import java.util.stream.Collectors;
 
 @Api(tags = "首页")
@@ -51,6 +55,8 @@ public class IndexController extends BaseController {
 	private StudentPaymentOrderDao studentPaymentOrderDao;
 	@Autowired
 	private IndexBaseMonthDataService indexService;
+	@Autowired
+	private RedissonClient redissonClient;
 
 	@ApiOperation(value = "获取首页数据")
 	@GetMapping("/index")
@@ -106,7 +112,18 @@ public class IndexController extends BaseController {
 
 	@GetMapping("/hasIndexErrData")
 	public HttpResponseResult hasIndexErrData(String organId){
-		return succeed(indexService.hasIndexErrData(organizationService.getEmployeeOrgan(organId)));
+		SysUser sysUser = sysUserFeignService.queryUserInfo();
+		if (sysUser == null) {
+			throw new BizException("用户信息获取失败");
+		}
+		RBucket<Map<String, Boolean>> bucket = redissonClient.getBucket(sysUser.getId() + ":hasIndexErrData");
+		Map<String, Boolean> map = bucket.get();
+		if(map != null && map.size() > 0){
+			organId = organizationService.getEmployeeOrgan(sysUser.getId(),organId,sysUser.getIsSuperAdmin());
+			map = indexService.hasIndexErrData(organId);
+			bucket.set(map,10, TimeUnit.MINUTES);
+		}
+		return succeed(map);
 	}
 
 	@GetMapping("/getIndexErrData")