提交 51695fc4 authored 作者: 吴德鹏's avatar 吴德鹏

国家管理

上级 00dfe046
......@@ -31,6 +31,12 @@
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/com.stripe/stripe-java -->
<dependency>
<groupId>com.stripe</groupId>
......
......@@ -160,7 +160,7 @@ public class AuthController extends Controller {
public Result authenticateUser(@RequestBody LoginRequest loginRequest) {
Optional<TbCfUserInfo> byAccount = userRepository.findFirstByAccount(loginRequest.getAccount());
Result<Object> notFound = new Result<>(ResultCodeEnum.VALIDATE_ERROR.getCode(), "User not found");
Result<Object> notFound = new Result<>(ResultCodeEnum.VALIDATE_ERROR.getCode(), "Incorrect phone number or password");
if (!byAccount.isPresent()) {
......
package com.example.afrishop_v3.controllers;
import com.example.afrishop_v3.base.Result;
import com.example.afrishop_v3.enums.ResultCodeEnum;
import com.example.afrishop_v3.models.Country;
import com.example.afrishop_v3.repository.CountryRepository;
import com.example.afrishop_v3.util.HttpsUtil;
......@@ -39,34 +40,46 @@ public class CountryController extends Controller {
@GetMapping
public Result findAllCountries(@RequestParam(value = "country", required = false) String country,
HttpServletRequest request) throws IOException {
HttpServletRequest request) {
Result result = new Result();
Map<String, Object> params = new HashMap<>();
//所有国家
List<Country> countries = countryRepository.findAllByCountryName(country);
//过滤非空(信息不完善)的国家
List<Country> collect = countries.stream()
.filter(c -> StringUtils.isNotBlank(c.getCountryName()))
.filter(c -> StringUtils.isNotBlank(c.getAreaCode()))
.filter(c -> StringUtils.isNotBlank(c.getNationalFlag()))
.collect(Collectors.toList());
try {
//所有国家
List<Country> countries = countryRepository.findAllByCountryName(country);
params.put("countries", collect);
if (countries.size() == 0 || countries == null) {
result.setData(params);
result.setCode(ResultCodeEnum.SUCCESS.getCode());
result.setMessage(" Sorry we don't ship to this country");
return result;
}
if (StringUtils.isBlank(country)) {
//获取客户端ip
String ip = this.getRealIpAddress(request);
String countryName = HttpsUtil.useIpFindCountryEn(ip);
params.put("countries", countries);
logger.info("ip:" + ip);
logger.info("countryName:" + countryName);
//根据ip查询国家
List<Country> list = countryRepository.findAllByCountryName(countryName);
//获取默认的国家
Optional<Country> defaultCountry = list.stream().findFirst();
Optional<Country> first = countries.stream().findFirst();
params.put("defaultCountry", defaultCountry.orElseGet(() -> first.get()));
if (StringUtils.isBlank(country)) {
//获取客户端ip
String ip = this.getRealIpAddress(request);
String countryName = HttpsUtil.useIpFindCountryEn(ip);
logger.info("ip:" + ip);
logger.info("countryName:" + countryName);
//根据ip查询国家
List<Country> list = countryRepository.findAllByCountryName(countryName);
//获取默认的国家
Optional<Country> defaultCountry = list.stream().findFirst();
Optional<Country> first = countries.stream().findFirst();
params.put("defaultCountry", defaultCountry.orElseGet(() -> first.get()));
}
result.setData(params);
result.setCode(ResultCodeEnum.SUCCESS.getCode());
result.setMessage("Search successfully");
} catch (Exception e) {
result.setCode(ResultCodeEnum.SERVICE_ERROR.getCode());
result.setMessage("Search failed, please try again");
}
return new Result(params);
return result;
}
}
......@@ -14,6 +14,6 @@ import java.util.List;
public interface CountryRepository extends JpaRepository<Country, String> {
// @Query(value = "select c from #{#entityName} c where c.countryName=:country order by c.sort,c.countryName")
@Query(value = "select c.id,c.country_name,c.country_cname,c.area_code,c.national_flag from country c where if(?1!='',c.country_name like ?1% or c.country_cname like ?1%,1=1) order by c.sort asc ,c.country_name asc", nativeQuery = true)
@Query(value = "select c.id,c.country_name,c.country_cname,c.area_code,c.national_flag from country c where if(?1!='',c.country_name like ?1% or c.country_cname like ?1%,1=1) order by isnull(c.sort), c.sort asc ,c.country_name asc", nativeQuery = true)
List<Country> findAllByCountryName(String country);
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论