浏览代码

add 市筛选

he2802 4 年之前
父节点
当前提交
69ca3c9da8

+ 2 - 2
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/bo/SchoolAddBo.java

@@ -35,10 +35,10 @@ public class SchoolAddBo {
     private Long updateTime;
     /** 学校省份 */
     @ApiModelProperty("学校省份")
-    private String schoolProvince;
+    private Long schoolProvinceId;
     /** 学校城市 */
     @ApiModelProperty("学校城市")
-    private String schoolCity;
+    private Long schoolCityId;
     /** 备注 */
     @ApiModelProperty("备注")
     private String remark;

+ 2 - 3
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/bo/SchoolEditBo.java

@@ -39,11 +39,10 @@ public class SchoolEditBo {
 
     /** 学校省份 */
     @ApiModelProperty("学校省份")
-    private String schoolProvince;
-
+    private Long schoolProvinceId;
     /** 学校城市 */
     @ApiModelProperty("学校城市")
-    private String schoolCity;
+    private Long schoolCityId;
 
     /** 备注 */
     @ApiModelProperty("备注")

+ 6 - 2
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/bo/SchoolQueryBo.java

@@ -37,6 +37,10 @@ public class SchoolQueryBo extends BaseEntity {
 	private String isAsc;
 
 
+
+	/**  id */
+	@ApiModelProperty(" id")
+	private Long id;
 	/**  高校名称 */
 	@ApiModelProperty(" 高校名称")
 	private String schoolName;
@@ -48,8 +52,8 @@ public class SchoolQueryBo extends BaseEntity {
 	private List<Integer> status;
 	/** 学校省份 */
 	@ApiModelProperty("学校省份")
-	private String schoolProvince;
+	private Long schoolProvinceId;
 	/** 学校城市 */
 	@ApiModelProperty("学校城市")
-	private String schoolCity;
+	private Long schoolCityId;
 }

+ 3 - 2
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/domain/School.java

@@ -1,6 +1,7 @@
 package com.zhongzheng.modules.user.domain;
 
 import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 import lombok.experimental.Accessors;
@@ -39,9 +40,9 @@ private static final long serialVersionUID=1L;
     @TableField(fill = FieldFill.INSERT_UPDATE)
     private Long updateTime;
     /** 学校省份 */
-    private String schoolProvince;
+    private Long schoolProvinceId;
     /** 学校城市 */
-    private String schoolCity;
+    private Long schoolCityId;
     /** 备注 */
     private String remark;
 }

+ 4 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/mapper/SchoolMapper.java

@@ -2,8 +2,10 @@ package com.zhongzheng.modules.user.mapper;
 
 import com.zhongzheng.modules.course.bo.CourseProjectTypeQueryBo;
 import com.zhongzheng.modules.course.vo.CourseProjectTypeVo;
+import com.zhongzheng.modules.user.bo.SchoolQueryBo;
 import com.zhongzheng.modules.user.domain.School;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zhongzheng.modules.user.vo.SchoolVo;
 
 import java.util.List;
 
@@ -16,4 +18,6 @@ import java.util.List;
 public interface SchoolMapper extends BaseMapper<School> {
 
     List<CourseProjectTypeVo> selectProject(CourseProjectTypeQueryBo courseProjectTypeQueryBo);
+
+    List<SchoolVo> queryList(SchoolQueryBo bo);
 }

+ 12 - 20
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/impl/SchoolServiceImpl.java

@@ -21,6 +21,7 @@ import com.zhongzheng.modules.user.domain.School;
 import com.zhongzheng.modules.user.mapper.SchoolMapper;
 import com.zhongzheng.modules.user.vo.SchoolVo;
 import com.zhongzheng.modules.user.service.ISchoolService;
+import org.springframework.util.CollectionUtils;
 
 import java.util.ArrayList;
 import java.util.Collection;
@@ -45,28 +46,19 @@ public class SchoolServiceImpl extends ServiceImpl<SchoolMapper, School> impleme
 
     @Override
     public SchoolVo queryById(Long id){
-        School db = this.baseMapper.selectById(id);
-        SchoolVo schoolVo = BeanUtil.toBean(db, SchoolVo.class);
-
-        CourseProjectTypeQueryBo courseProjectTypeQueryBo = new CourseProjectTypeQueryBo();
-        courseProjectTypeQueryBo.setId(schoolVo.getId());
-        List<Integer> status = new ArrayList<>();
-        status.add(1);
-        courseProjectTypeQueryBo.setStatus(status);
-        List<CourseProjectTypeVo> courseProjectTypeVos = baseMapper.selectProject(courseProjectTypeQueryBo);
-        schoolVo.setCourseProjectTypes(courseProjectTypeVos);
-        return schoolVo;
+        SchoolQueryBo schoolQueryBo = new SchoolQueryBo();
+        schoolQueryBo.setId(id);
+        List<SchoolVo> schoolVos = baseMapper.queryList(schoolQueryBo);
+        if (CollectionUtils.isEmpty(schoolVos)) {
+            throw new IllegalArgumentException("错误ID");
+        }
+        return entity2Vo(schoolVos).get(0);
     }
 
     @Override
     public List<SchoolVo> queryList(SchoolQueryBo bo) {
-        LambdaQueryWrapper<School> lqw = Wrappers.lambdaQuery();
-        lqw.like(StrUtil.isNotBlank(bo.getSchoolName()), School::getSchoolName, bo.getSchoolName());
-        lqw.eq(StrUtil.isNotBlank(bo.getEncoder()), School::getEncoder, bo.getEncoder());
-        lqw.eq(StrUtil.isNotBlank(bo.getSchoolProvince()), School::getSchoolProvince, bo.getSchoolProvince());
-        lqw.eq(StrUtil.isNotBlank(bo.getSchoolCity()), School::getSchoolCity, bo.getSchoolCity());
-        lqw.in(bo.getStatus() != null, School::getStatus, bo.getStatus());
-        return entity2Vo(this.list(lqw));
+
+        return entity2Vo(baseMapper.queryList(bo));
     }
 
     /**
@@ -75,12 +67,12 @@ public class SchoolServiceImpl extends ServiceImpl<SchoolMapper, School> impleme
     * @param collection 实体类集合
     * @return
     */
-    private List<SchoolVo> entity2Vo(Collection<School> collection) {
+    private List<SchoolVo> entity2Vo(Collection<SchoolVo> collection) {
         List<SchoolVo> voList = collection.stream()
                 .map(any -> BeanUtil.toBean(any, SchoolVo.class))
                 .collect(Collectors.toList());
         if (collection instanceof Page) {
-            Page<School> page = (Page<School>)collection;
+            Page<SchoolVo> page = (Page<SchoolVo>)collection;
             Page<SchoolVo> pageVo = new Page<>();
             BeanUtil.copyProperties(page,pageVo);
             pageVo.addAll(voList);

+ 14 - 2
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/vo/SchoolVo.java

@@ -38,13 +38,25 @@ public class SchoolVo {
 	@ApiModelProperty("状态 1正常 0关闭")
 	private Integer status;
 	/** 学校省份 */
-	@Excel(name = "学校省份")
+	@ApiModelProperty("学校省份")
+	private Long schoolProvinceId;
+	/** 学校城市 */
+	@ApiModelProperty("学校城市")
+	private Long schoolCityId;
+
+	/** 学校省份 */
 	@ApiModelProperty("学校省份")
 	private String schoolProvince;
+	/** 学校省份全称 */
+	@ApiModelProperty("学校省份全称")
+	private String schoolProvinceFull;
+
 	/** 学校城市 */
-	@Excel(name = "学校城市")
 	@ApiModelProperty("学校城市")
 	private String schoolCity;
+	/** 学校城市 */
+	@ApiModelProperty("学校城市全称")
+	private String schoolCityFull;
 	/** 备注 */
 	@Excel(name = "备注")
 	@ApiModelProperty("备注")

+ 55 - 2
zhongzheng-system/src/main/resources/mapper/modules/user/SchoolMapper.xml

@@ -11,8 +11,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="status" column="status"/>
         <result property="createTime" column="create_time"/>
         <result property="updateTime" column="update_time"/>
-        <result property="schoolProvince" column="school_province"/>
-        <result property="schoolCity" column="school_city"/>
+        <result property="schoolProvinceId" column="school_province_id"/>
+        <result property="schoolCityId" column="school_city_id"/>
         <result property="remark" column="remark"/>
     </resultMap>
 
@@ -26,6 +26,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="status" column="status"/>
     </resultMap>
 
+    <resultMap type="com.zhongzheng.modules.user.vo.SchoolVo" id="SchoolVoResult">
+        <result property="id" column="id"/>
+        <result property="schoolName" column="school_name"/>
+        <result property="encoder" column="encoder"/>
+        <result property="status" column="status"/>
+        <result property="schoolProvinceId" column="school_province_id"/>
+        <result property="schoolCityId" column="school_city_id"/>
+        <result property="schoolProvinceFull" column="school_province_full"/>
+        <result property="schoolProvince" column="school_province"/>
+        <result property="schoolCityFull" column="school_city_full"/>
+        <result property="schoolCityId" column="school_city_id"/>
+        <result property="remark" column="remark"/>
+    </resultMap>
+
 
     <select id="selectProject" parameterType="com.zhongzheng.modules.course.bo.CourseProjectTypeQueryBo"  resultMap="CourseProjectTypeVoResult">
         SELECT
@@ -46,4 +60,43 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             and j.school_id = #{id}
         </if>
     </select>
+
+
+    <select id="queryList" parameterType="com.zhongzheng.modules.user.bo.SchoolQueryBo"  resultMap="SchoolVoResult">
+        SELECT
+        s.* ,
+        v.area_name as school_province,
+        v.area_full_name school_province_full,
+        a.area_name as school_city,
+        a.area_full_name as school_city_full
+        FROM
+        school s
+        LEFT JOIN apply_areas a ON s.school_city_id=a.area_id
+        LEFT JOIN apply_areas v ON s.school_province_id=v.area_id
+        where 1=1
+        <if test="status != null and status.size()!=0 ">
+            AND s.status in
+            <foreach collection="status" item="item" index="index" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        <if test="id != null and id != ''">
+            and s.id = #{id}
+        </if>
+        <if test="schoolProvinceId != null and schoolProvinceId != ''">
+            and s.school_province_id = #{schoolProvinceId}
+        </if>
+        <if test="schoolCityId != null and schoolCityId != ''">
+            and s.school_city_id = #{schoolCityId}
+        </if>
+
+        <if test="encoder != null and encoder != ''">
+            and s.encoder = #{encoder}
+        </if>
+
+        <if test="schoolName != null and schoolName != ''">
+            and s.school_name like concat('%', #{schoolName}, '%')
+        </if>
+
+    </select>
 </mapper>