haonan 2 年 前
コミット
d56cc0248e

+ 3 - 2
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/TenantInfoController.java

@@ -51,7 +51,8 @@ public class TenantInfoController extends BaseController {
     @ApiOperation(value = "修改", notes = "传入TenantInfo")
     @PreAuthorize("@pcs.hasPermissions('tenantInfo/update')")
     public HttpResponseResult<Boolean> updateTenantInfo(@Valid @RequestBody  TenantInfo info) {
-        return tenantInfoService.updateTenantInfo(info);
+
+        return succeed(tenantInfoService.updateTenantInfo(info));
     }
 
 
@@ -62,7 +63,7 @@ public class TenantInfoController extends BaseController {
     @ApiOperation(value = "更新", notes = "传入TenantInfo")
     @PreAuthorize("@pcs.hasPermissions('tenantInfo/insert')")
     public HttpResponseResult<Boolean> insertTenantInfo(@Validated(TenantInfo.class) @RequestBody TenantInfo info) {
-        return tenantInfoService.add(info);
+        return succeed(tenantInfoService.add(info));
     }
 
 

+ 5 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/mapper/TenantInfoMapper.java

@@ -1,5 +1,6 @@
 package com.yonge.cooleshow.biz.dal.mapper;
 
+import java.util.ArrayList;
 import java.util.List;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -41,4 +42,8 @@ public interface TenantInfoMapper extends BaseMapper<TenantInfo> {
 	Boolean updateMethod(@Param("id") Integer id);
 
 	Boolean insertInfo(@Param("param") TenantInfo tenantInfo);
+
+	List<Integer> queryTeacherCounts(@Param("listId") List<Integer> listId);
+
+	List<Integer> queryStudentCounts(@Param("listId") List<Integer> listId);
 }

+ 2 - 2
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/TenantInfoService.java

@@ -35,14 +35,14 @@ public interface TenantInfoService extends IService<TenantInfo>  {
      * @param tenantInfo TenantInfoWrapper.TenantInfo
      * @return Boolean
      */
-    HttpResponseResult<Boolean> add(TenantInfo tenantInfo);
+    Boolean add(TenantInfo tenantInfo);
 
     /**
      * 更新
      * @param info TenantInfoWrapper.TenantInfo
      * @return Boolean
      */
-    HttpResponseResult<Boolean> updateTenantInfo(TenantInfo info);
+    Boolean updateTenantInfo(TenantInfo info);
 
     /**
      * 机构信息

+ 34 - 5
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/TenantInfoServiceImpl.java

@@ -16,6 +16,7 @@ import com.yonge.cooleshow.biz.dal.entity.TenantInfo;
 import com.yonge.cooleshow.biz.dal.wrapper.TenantInfoWrapper;
 import com.yonge.cooleshow.biz.dal.mapper.TenantInfoMapper;
 import com.yonge.cooleshow.biz.dal.service.TenantInfoService;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.util.*;
 import java.util.stream.Collectors;
@@ -60,6 +61,34 @@ public class TenantInfoServiceImpl extends ServiceImpl<TenantInfoMapper, TenantI
 
         //分页查询
         List<TenantInfoWrapper.TenantInfo> tenantInfos = baseMapper.selectPage(page, query);
+        //获取id
+        ArrayList<Integer> listId = new ArrayList<>();
+        for (int i = 0; i < tenantInfos.size(); i++) {
+            TenantInfoWrapper.TenantInfo info = tenantInfos.get(i);
+            Integer id = info.getId();
+            listId.add(i,id);
+        }
+        //查询对应机构的老师数量
+        List<Integer> listTeacher = new ArrayList<>();
+        //查询对应机构的学生数量
+        List<Integer> listStudent = new ArrayList<>();
+        if (!CollectionUtils.isEmpty(listId)){
+             listTeacher = tenantInfoMapper.queryTeacherCounts(listId);
+             listStudent = tenantInfoMapper.queryStudentCounts(listId);
+        }
+
+
+        for (int j = 0; j < tenantInfos.size(); j++) {
+            TenantInfoWrapper.TenantInfo tenantInfo = tenantInfos.get(j);
+            for (int z = 0; z < listTeacher.size(); z++) {
+                tenantInfo.setTeacherCounts(listTeacher.get(z).toString());
+            }
+            for (int t = 0; t < listStudent.size(); t++) {
+                tenantInfo.setStudentCounts(listStudent.get(t).toString());
+            }
+        }
+
+
         //获取省市区信息
         List<Integer> areaCodeList = tenantInfos.stream().map(next -> {
             Set<Integer> codes = new HashSet<>();
@@ -81,7 +110,6 @@ public class TenantInfoServiceImpl extends ServiceImpl<TenantInfoMapper, TenantI
             next.setProvinceName(codeNameMap.getOrDefault(next.getProvinceCode(), ""));
             next.setCityName(codeNameMap.getOrDefault(next.getCityCode(), ""));
             next.setRegionName(codeNameMap.getOrDefault(next.getRegionCode(), ""));
-//            next.setSchoolName(schoolIdNameMap.getOrDefault(next.getSchoolId(), ""));
         }
         return page.setRecords(tenantInfos);
     }
@@ -92,9 +120,9 @@ public class TenantInfoServiceImpl extends ServiceImpl<TenantInfoMapper, TenantI
      * @return Boolean
      */
     @Override
-    public HttpResponseResult<Boolean> add(TenantInfo tenantInfo) {
+    public Boolean add(TenantInfo tenantInfo) {
         Boolean bool = tenantInfoMapper.insertInfo(tenantInfo);
-        return HttpResponseResult.succeed(bool);
+        return bool;
     }
 	
 
@@ -140,6 +168,7 @@ public class TenantInfoServiceImpl extends ServiceImpl<TenantInfoMapper, TenantI
      * @param query TenantInfoWrapper.TenantInfo
      * @return Boolean
      */
+    @Transactional(rollbackFor = Exception.class)
     @Override
     public Boolean state(TenantInfoWrapper.TenantInfoQuery query) {
         Boolean flag;
@@ -177,9 +206,9 @@ public class TenantInfoServiceImpl extends ServiceImpl<TenantInfoMapper, TenantI
      * @return Boolean
      */
     @Override
-    public HttpResponseResult<Boolean> updateTenantInfo(TenantInfo info) {
+    public Boolean updateTenantInfo(TenantInfo info) {
         Boolean bool = tenantInfoMapper.updateInfo(info);
-        return HttpResponseResult.succeed(bool);
+        return bool;
     }
 
 

+ 9 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/wrapper/TenantInfoWrapper.java

@@ -73,6 +73,9 @@ public class TenantInfoWrapper {
     @AllArgsConstructor
     @ApiModel(" TenantInfo-机构表分页响应")
     public static class TenantInfo {
+        @ApiModelProperty("id")
+        private Integer id;
+
         @ApiModelProperty("机构名称")
         private String name;
 
@@ -115,6 +118,12 @@ public class TenantInfoWrapper {
         @ApiModelProperty("地区街道名称")
         private String regionName;
 
+        @ApiModelProperty("当前页")
+        private int page;
+
+        @ApiModelProperty("分页行数")
+        private int rows;
+
 
         
         public String jsonString() {

+ 10 - 5
cooleshow-user/user-biz/src/main/resources/config/mybatis/TenantInfoMapper.xml

@@ -69,7 +69,8 @@
     </update>
 
     <select id="selectPage" resultType="com.yonge.cooleshow.biz.dal.wrapper.TenantInfoWrapper$TenantInfo">
-		SELECT         
+		SELECT
+            id_ as id,
         	name_ AS name,
         	logo_ AS logo,
         	brief_Introduction_ AS briefIntroduction,
@@ -77,9 +78,7 @@
         	phone_ AS phone,
             province_code_ AS provinceCode,
             city_code_ AS cityCode,
-            region_code_ AS regionCode,
-           (SELECT count(t.tenant_id_) FROM teacher t INNER JOIN  tenant_info i on t.tenant_id_ = i.id_ GROUP BY i.id_) AS teacherCounts,
-           (SELECT count(s.tenant_id_) FROM student s INNER JOIN  tenant_info i on s.tenant_id_ = i.id_ GROUP BY i.id_) AS studentCounts
+            region_code_ AS regionCode
 		FROM tenant_info t
 		where 1=1
         <if test="param.keyword != null and param.keyword  != ''">
@@ -100,5 +99,11 @@
             t.region_code_ = #{param.regionCode}
         </if>
 	</select>
-    
+    <select id="queryTeacherCounts" resultType="java.lang.Integer">
+        SELECT count(t.tenant_id_) FROM teacher t where t.tenant_id_ IN (<foreach collection="listId" separator="," item="Id">#{Id}</foreach>)
+    </select>
+    <select id="queryStudentCounts" resultType="java.lang.Integer">
+        SELECT count(s.tenant_id_) FROM student s where s.tenant_id_ IN (<foreach collection="listId" separator="," item="Id">#{Id}</foreach>)
+    </select>
+
 </mapper>