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

国家管理

上级 00dfe046
...@@ -31,6 +31,12 @@ ...@@ -31,6 +31,12 @@
</dependencyManagement> </dependencyManagement>
<dependencies> <dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/com.stripe/stripe-java --> <!-- https://mvnrepository.com/artifact/com.stripe/stripe-java -->
<dependency> <dependency>
<groupId>com.stripe</groupId> <groupId>com.stripe</groupId>
......
...@@ -160,7 +160,7 @@ public class AuthController extends Controller { ...@@ -160,7 +160,7 @@ public class AuthController extends Controller {
public Result authenticateUser(@RequestBody LoginRequest loginRequest) { public Result authenticateUser(@RequestBody LoginRequest loginRequest) {
Optional<TbCfUserInfo> byAccount = userRepository.findFirstByAccount(loginRequest.getAccount()); 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()) { if (!byAccount.isPresent()) {
......
package com.example.afrishop_v3.controllers; package com.example.afrishop_v3.controllers;
import com.example.afrishop_v3.base.Result; 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.models.Country;
import com.example.afrishop_v3.repository.CountryRepository; import com.example.afrishop_v3.repository.CountryRepository;
import com.example.afrishop_v3.util.HttpsUtil; import com.example.afrishop_v3.util.HttpsUtil;
...@@ -39,34 +40,46 @@ public class CountryController extends Controller { ...@@ -39,34 +40,46 @@ public class CountryController extends Controller {
@GetMapping @GetMapping
public Result findAllCountries(@RequestParam(value = "country", required = false) String country, 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<>(); Map<String, Object> params = new HashMap<>();
//所有国家 try {
List<Country> countries = countryRepository.findAllByCountryName(country); //所有国家
//过滤非空(信息不完善)的国家 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());
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)) { params.put("countries", countries);
//获取客户端ip
String ip = this.getRealIpAddress(request);
String countryName = HttpsUtil.useIpFindCountryEn(ip);
logger.info("ip:" + ip); if (StringUtils.isBlank(country)) {
logger.info("countryName:" + countryName); //获取客户端ip
//根据ip查询国家 String ip = this.getRealIpAddress(request);
List<Country> list = countryRepository.findAllByCountryName(countryName); String countryName = HttpsUtil.useIpFindCountryEn(ip);
//获取默认的国家
Optional<Country> defaultCountry = list.stream().findFirst(); logger.info("ip:" + ip);
Optional<Country> first = countries.stream().findFirst(); logger.info("countryName:" + countryName);
params.put("defaultCountry", defaultCountry.orElseGet(() -> first.get())); //根据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; ...@@ -14,6 +14,6 @@ import java.util.List;
public interface CountryRepository extends JpaRepository<Country, String> { 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 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); List<Country> findAllByCountryName(String country);
} }
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论