Explorar o código

feat:vip课后台新增学员按照分部筛选

Joburgess %!s(int64=4) %!d(string=hai) anos
pai
achega
a23c0d9d67

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

@@ -48,6 +48,7 @@ import java.time.temporal.ChronoUnit;
 import java.util.*;
 import java.util.function.Function;
 import java.util.stream.Collectors;
+import java.util.stream.Stream;
 
 @Service
 public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> implements VipGroupService {
@@ -804,6 +805,12 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 		Map<String, Object> params = new HashMap<String, Object>();
 		MapUtil.populateMap(params, queryInfo);
 
+		List<String> organIds = new ArrayList<>();
+		if(StringUtils.isNotBlank(queryInfo.getOrganId())){
+			organIds = Arrays.stream(queryInfo.getOrganId().split(",")).collect(Collectors.toList());
+		}
+		params.put("organIds", organIds);
+
 		List<VipGroupStudentDto> dataList = null;
 		int count = vipGroupDao.countHaveCourseBalanceStudentNum(params);
 		if (count > 0) {

+ 12 - 0
mec-biz/src/main/resources/config/mybatis/VipGroupMapper.xml

@@ -572,6 +572,12 @@
         <if test="search!=null and search!=''">
             AND (su.username_ LIKE CONCAT('%',#{search},'%') OR su.phone_ LIKE CONCAT('%',#{search},'%'))
         </if>
+        <if test="organIds!=null and organIds.size()>0">
+            AND su.organ_id_ IN
+            <foreach collection="organIds" item="organId" open="(" close=")" separator=",">
+                #{organId}
+            </foreach>
+        </if>
         ORDER BY suca.course_balance_ DESC
         <include refid="global.limit"/>
     </select>
@@ -588,6 +594,12 @@
         <if test="search!=null and search!=''">
             AND (su.username_ LIKE CONCAT('%',#{search},'%') OR su.phone_ LIKE CONCAT('%',#{search},'%'))
         </if>
+        <if test="organIds!=null and organIds.size()>0">
+            AND su.organ_id_ IN
+            <foreach collection="organIds" item="organId" open="(" close=")" separator=",">
+                #{organId}
+            </foreach>
+        </if>
     </select>
 
     <select id="countVipGroupStudents" resultType="int">

+ 15 - 0
mec-web/src/main/java/com/ym/mec/web/controller/VipGroupManageController.java

@@ -216,6 +216,21 @@ public class VipGroupManageController extends BaseController {
     @GetMapping(value = "/findHaveCourseBalanceStudents")
     @PreAuthorize("@pcs.hasPermissions('vipGroupManage/findHaveCourseBalanceStudents')")
     public Object findHaveCourseBalanceStudents(VipGroupQueryInfo queryInfo){
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed("用户信息获取失败");
+        }
+        Employee employee = employeeDao.get(sysUser.getId());
+        if (StringUtils.isEmpty(queryInfo.getOrganId())) {
+            queryInfo.setOrganId(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.getOrganId().split(",")))){
+                return failed("非法请求");
+            }
+        }
         return succeed(vipGroupService.findHaveCourseBalanceStudents(queryInfo));
     }