添加查询公司类型列表 接口
This commit is contained in:
@@ -0,0 +1,29 @@
|
|||||||
|
package org.jiayunet.controller;
|
||||||
|
|
||||||
|
import org.jiayunet.service.CompanyService;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 公司接口
|
||||||
|
*
|
||||||
|
* @author zk
|
||||||
|
*/
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/company")
|
||||||
|
public class CompanyController {
|
||||||
|
@Autowired
|
||||||
|
private CompanyService companyService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询公司类型列表
|
||||||
|
*/
|
||||||
|
@GetMapping("/types")
|
||||||
|
public List<String> listCompanyTypes() {
|
||||||
|
return companyService.listCompanyTypes();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,33 @@
|
|||||||
|
package org.jiayunet.service;
|
||||||
|
|
||||||
|
import org.jiayunet.mapper.CompanyMapper;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.util.StringUtils;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 公司服务
|
||||||
|
* <p>主要功能:公司信息查询</p>
|
||||||
|
* <p>依赖服务:无</p>
|
||||||
|
* <p>使用的表:bg_company</p>
|
||||||
|
*
|
||||||
|
* @author zk
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class CompanyService {
|
||||||
|
@Autowired
|
||||||
|
private CompanyMapper companyMapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询已完善公司(status=1)去重后的公司类型列表
|
||||||
|
* <p>Service层再次过滤NULL和空白值,兜底脏数据</p>
|
||||||
|
*/
|
||||||
|
public List<String> listCompanyTypes() {
|
||||||
|
return companyMapper.selectDistinctCompanyTypes().stream()
|
||||||
|
.filter(StringUtils::hasText)
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -21,4 +21,12 @@ public interface CompanyMapper extends CommonMapper<Company> {
|
|||||||
*/
|
*/
|
||||||
@Select("SELECT * FROM bg_company WHERE status = 0 LIMIT #{limit} FOR UPDATE")
|
@Select("SELECT * FROM bg_company WHERE status = 0 LIMIT #{limit} FOR UPDATE")
|
||||||
List<Company> selectForUpdate(@Param("limit") int limit);
|
List<Company> selectForUpdate(@Param("limit") int limit);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询已完善公司(status=1)去重后的公司类型
|
||||||
|
* <p>依赖复合索引 idx_status_type(status, company_type) 走松散索引扫描 + 覆盖索引,不回表</p>
|
||||||
|
* <p>NULL/空值的清洗交由 Service 层处理,SQL 只做分组去重</p>
|
||||||
|
*/
|
||||||
|
@Select("SELECT company_type FROM bg_company WHERE status = 1 GROUP BY company_type")
|
||||||
|
List<String> selectDistinctCompanyTypes();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user