Commit f30d6044 by 邹磊浩

修改代码

parent 358bd703
......@@ -3,6 +3,8 @@ package com.pz.web.controller.system;
import java.util.List;
import java.util.Arrays;
import cn.dev33.satoken.annotation.SaIgnore;
import com.pz.system.domain.vo.CityVo;
import lombok.RequiredArgsConstructor;
import javax.servlet.http.HttpServletResponse;
import javax.validation.constraints.*;
......@@ -102,4 +104,14 @@ public class HospitalController extends BaseController {
@PathVariable Integer[] ids) {
return toAjax(iHospitalService.deleteWithValidByIds(Arrays.asList(ids), true));
}
/**
* 获取每个城市下的医院
*
*/
@GetMapping("/cityAndHospitalList")
@SaIgnore
public R<List<CityVo>> cityAndHospitalList() {
return R.ok(iHospitalService.cityAndHospitalList());
}
}
......@@ -47,4 +47,7 @@ public class CityVo {
private List<CityVo> cityVo;
private String hospitalIds;
private List<HospitalVo> hospitalVoList;
}
......@@ -17,4 +17,7 @@ import java.util.List;
@Mapper
public interface CityMapper extends BaseMapperPlus<CityMapper, City, CityVo> {
List<CityVo> selectAppCity(@Param("name") String name);
List<CityVo> selectVoListWithHospitals();
}
package com.pz.system.service;
import com.pz.system.domain.Hospital;
import com.pz.system.domain.vo.CityVo;
import com.pz.system.domain.vo.HospitalVo;
import com.pz.system.domain.bo.HospitalBo;
import com.pz.common.core.page.TableDataInfo;
......@@ -46,4 +47,6 @@ public interface IHospitalService {
* 校验并批量删除医院信息
*/
Boolean deleteWithValidByIds(Collection<Integer> ids, Boolean isValid);
List<CityVo> cityAndHospitalList();
}
......@@ -13,8 +13,11 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.pz.common.enums.HospitalLevel;
import com.pz.common.enums.HospitalType;
import com.pz.common.utils.JsonUtils;
import com.pz.common.utils.redis.RedisUtils;
import com.pz.system.domain.Business;
import com.pz.system.domain.City;
import com.pz.system.domain.Department;
import com.pz.system.domain.vo.CityVo;
import com.pz.system.mapper.BusinessMapper;
import com.pz.system.mapper.CityMapper;
import com.pz.system.mapper.DepartmentMapper;
......@@ -191,4 +194,17 @@ public class HospitalServiceImpl implements IHospitalService {
}
return baseMapper.deleteBatchIds(ids) > 0;
}
@Override
public List<CityVo> cityAndHospitalList() {
List<CityVo> cities = cityMapper.selectVoListWithHospitals();
cities.forEach(cityVo -> {
if (StringUtils.isNotBlank(cityVo.getHospitalIds())) {
List<String> list = Arrays.asList(cityVo.getHospitalIds().split(","));
List<HospitalVo> hospitalVos = baseMapper.selectVoList(Wrappers.<Hospital>lambdaQuery().in(Hospital::getId, list));
cityVo.setHospitalVoList(hospitalVos);
}
});
return cities;
}
}
......@@ -10,4 +10,11 @@
GROUP BY sy
</select>
<select id="selectVoListWithHospitals" resultType="com.pz.system.domain.vo.CityVo">
SELECT c.id, c.name, GROUP_CONCAT(h.id) AS hospitalIds
FROM city c
LEFT JOIN hospital h ON c.id = h.city_id
GROUP BY c.id, c.name
</select>
</mapper>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment