Commit fec81fa4 by jianan

Merge branch 'refs/heads/local' into test

parents a254ff97 f6bcb1af
......@@ -2,8 +2,9 @@ package com.yd.user.api.controller;
import com.yd.common.result.Result;
import com.yd.user.api.service.ApiMdCountryService;
import com.yd.user.feign.client.mdCountry.ApiMdCountryFeignClient;
import com.yd.user.feign.response.mdCountry.ApiMdCountryGroupResponse;
import com.yd.user.feign.client.mdcountry.ApiMdCountryFeignClient;
import com.yd.user.feign.response.mdcountry.ApiMdCountryGroupResponse;
import com.yd.user.feign.response.mdcountry.ApiMdCountrySearchResponse;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
......@@ -26,4 +27,9 @@ public class ApiMdCountryController implements ApiMdCountryFeignClient {
public Result<ApiMdCountryGroupResponse> group() {
return apiMdCountryService.group();
}
@Override
public Result<ApiMdCountrySearchResponse> search(String name) {
return apiMdCountryService.search(name);
}
}
package com.yd.user.api.service;
import com.yd.common.result.Result;
import com.yd.user.feign.response.mdCountry.ApiMdCountryGroupResponse;
import com.yd.user.feign.response.mdcountry.ApiMdCountryGroupResponse;
import com.yd.user.feign.response.mdcountry.ApiMdCountrySearchResponse;
public interface ApiMdCountryService {
Result<ApiMdCountryGroupResponse> group();
Result<ApiMdCountrySearchResponse> search(String name);
}
package com.yd.user.api.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.yd.common.result.Result;
import com.yd.user.api.service.ApiMdCountryService;
import com.yd.user.feign.response.mdCountry.ApiMdCountryGroupResponse;
import com.yd.user.feign.response.mdCountry.ApiMdCountryVO;
import com.yd.user.feign.response.mdcountry.ApiMdCountryGroupResponse;
import com.yd.user.feign.response.mdcountry.ApiMdCountrySearchResponse;
import com.yd.user.feign.response.mdcountry.ApiMdCountryVO;
import com.yd.user.service.model.MdCountry;
import com.yd.user.service.service.MdCountryService;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
import java.util.List;
......@@ -25,15 +29,7 @@ public class ApiMdCountryServiceImpl implements ApiMdCountryService {
// 全部国家
List<MdCountry> list = mdCountryService.list();
// model 转 VO
List<ApiMdCountryVO> groupList = list.stream().map(item -> {
ApiMdCountryVO vo = new ApiMdCountryVO();
vo.setName(item.getName());
vo.setCountryCode(item.getCountryCode());
vo.setGroup(item.getGroup());
vo.setAreaCode(item.getAreaCode());
vo.setHotRank(item.getHotRank());
return vo;
}).collect(Collectors.toList());
List<ApiMdCountryVO> groupList = list.stream().map(this::objToVo).collect(Collectors.toList());
// 热门国家/地区
List<ApiMdCountryVO> hotList =groupList.stream().filter(item->item.getHotRank()!=9999).collect(Collectors.toList());
......@@ -43,4 +39,31 @@ public class ApiMdCountryServiceImpl implements ApiMdCountryService {
return Result.success(response);
}
@Override
public Result<ApiMdCountrySearchResponse> search(String name) {
ApiMdCountrySearchResponse response = new ApiMdCountrySearchResponse();
QueryWrapper<MdCountry> queryWrapper = new QueryWrapper<>();
queryWrapper.like("name", name);
queryWrapper.or();
queryWrapper.like("country_code", name);
List<MdCountry> list = mdCountryService.list(queryWrapper);
// 校验
if (CollectionUtils.isEmpty(list)) {
return Result.success(response);
}
// model 转 VO
List<ApiMdCountryVO> groupList = list.stream().map(this::objToVo).collect(Collectors.toList());
response.setCountryList(groupList);
return Result.success(response);
}
public ApiMdCountryVO objToVo(MdCountry mdCountry) {
ApiMdCountryVO apiMdCountryVO = new ApiMdCountryVO();
BeanUtils.copyProperties(mdCountry, apiMdCountryVO);
return apiMdCountryVO;
}
}
package com.yd.user.feign.client.mdCountry;
package com.yd.user.feign.client.mdcountry;
import com.yd.common.result.Result;
import com.yd.user.feign.fallback.mdcountry.ApiMdCountryFeignFallbackFactory;
import com.yd.user.feign.response.mdCountry.ApiMdCountryGroupResponse;
import com.yd.user.feign.response.mdcountry.ApiMdCountryGroupResponse;
import com.yd.user.feign.response.mdcountry.ApiMdCountrySearchResponse;
import io.swagger.v3.oas.annotations.Operation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
@FeignClient(name = "yd-user-api", fallbackFactory = ApiMdCountryFeignFallbackFactory.class)
public interface ApiMdCountryFeignClient {
......@@ -17,4 +19,13 @@ public interface ApiMdCountryFeignClient {
@GetMapping("/group")
@Operation(summary = "查询所有国家地区")
Result<ApiMdCountryGroupResponse> group();
/**
* 根据国家名称或国家代码查询国家地区
* @param name
* @return
*/
@GetMapping("/search")
@Operation(summary = "根据国家编码查询国家地区")
Result<ApiMdCountrySearchResponse> search(@RequestParam("name") String name);
}
package com.yd.user.feign.fallback.mdcountry;
import com.yd.common.result.Result;
import com.yd.user.feign.client.mdCountry.ApiMdCountryFeignClient;
import com.yd.user.feign.response.mdCountry.ApiMdCountryGroupResponse;
import com.yd.user.feign.client.mdcountry.ApiMdCountryFeignClient;
import com.yd.user.feign.response.mdcountry.ApiMdCountryGroupResponse;
import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component;
......
package com.yd.user.feign.response.mdCountry;
package com.yd.user.feign.response.mdcountry;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
......
package com.yd.user.feign.response.mdcountry;
import lombok.Data;
import java.util.List;
@Data
public class ApiMdCountrySearchResponse {
private List<ApiMdCountryVO> countryList;
}
package com.yd.user.feign.response.mdCountry;
package com.yd.user.feign.response.mdcountry;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
......
......@@ -21,7 +21,7 @@
</resultMap>
<sql id="Base_Column_List">
id,country_biz_id,name,country_code,group,area_code,
id,country_biz_id,name,country_code,`group`,area_code,
hot_rank,remark,is_deleted,creator_id,updater_id,
create_time,update_time
</sql>
......
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