From 316a91aee6236f312d53eca6cebbaa00c2803d92 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Tue, 23 Jun 2026 15:26:55 +0800
Subject: [PATCH] feat(address): 添加国家名称字段支持
---
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallAddressInfoServiceImpl.java | 126 ++++++++++++++---------------------------
1 files changed, 44 insertions(+), 82 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallAddressInfoServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallAddressInfoServiceImpl.java
index f8f68c8..fda47b1 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallAddressInfoServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallAddressInfoServiceImpl.java
@@ -19,6 +19,7 @@
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@@ -45,98 +46,59 @@
private MallAddressWorldMapper mallAddressWorldMapper;
@Override
- public List<AddressInfoVo> findAddressInfoList() {
- Long memberId = LoginUserUtil.getLoginUser().getId();
- List<MallAddressInfo> addressInfos = this.baseMapper.selectAddressInfoListByMemberId(memberId);
+ public FebsResponse findAddressInfo() {
- return MallAddressInfoConversion.INSTANCE.entityListToVos(addressInfos);
+
+ Long id = LoginUserUtil.getLoginUser().getId();
+
+ AddressInfoVo addressInfoVo = new AddressInfoVo();
+
+
+ List<MallAddressInfo> mallAddressInfos = this.baseMapper.selectList(
+ Wrappers.lambdaQuery(MallAddressInfo.class)
+ .eq(MallAddressInfo::getMemberId, id)
+ );
+ if (CollUtil.isNotEmpty(mallAddressInfos)){
+ MallAddressInfo mallAddressInfo = mallAddressInfos.get(0);
+ addressInfoVo.setId(mallAddressInfo.getId());
+ addressInfoVo.setName(mallAddressInfo.getName());
+ addressInfoVo.setFirstName(mallAddressInfo.getFristName());
+ addressInfoVo.setAddress(mallAddressInfo.getAddress());
+ addressInfoVo.setArea(mallAddressInfo.getArea());
+ addressInfoVo.setPostcode(mallAddressInfo.getPostcode());
+ addressInfoVo.setPhone(mallAddressInfo.getPhone());
+ addressInfoVo.setCity(mallAddressInfo.getCity());
+ addressInfoVo.setProvince(mallAddressInfo.getProvince());
+ addressInfoVo.setCountry(mallAddressInfo.getCountry());
+ addressInfoVo.setCountryName(mallAddressInfo.getCountryName());
+ }
+ return new FebsResponse().success().data(addressInfoVo);
}
- @Override
- public FebsResponse addAddress(AddressInfoDto addressInfoDto) {
- MallAddressInfo addressInfo = MallAddressInfoConversion.INSTANCE.dtoToEntity(addressInfoDto);
- MallMember member = LoginUserUtil.getLoginUser();
- Long memberId = member.getId();
- List<MallAddressInfo> existAddress = this.baseMapper.selectAddressInfoListByMemberId(memberId);
- if (CollUtil.isEmpty(existAddress)) {
- addressInfo.setIsDefault(MallAddressInfo.IS_DEFAULT_Y);
- } else {
- if (MallAddressInfo.IS_DEFAULT_Y.equals(addressInfoDto.getIsDefault())) {
- this.baseMapper.updateIsDefault(MallAddressInfo.IS_DEFAULT_N, memberId, null);
- }
- }
-
- addressInfo.setMemberId(memberId);
- addressInfo.setCreatedBy(member.getPhone());
- addressInfo.setUpdatedBy(member.getPhone());
- this.baseMapper.insert(addressInfo);
-
- return new FebsResponse().success().data(addressInfo.getId());
- }
@Override
- public void modifyAddress(AddressInfoDto addressInfoDto) {
- MallAddressInfo existAddress = this.baseMapper.selectById(addressInfoDto.getId());
- if (existAddress == null) {
- throw new FebsException("地址不存在");
- }
+ public FebsResponse modifyAddress(AddressInfoDto addressInfoDto) {
Long memberId = LoginUserUtil.getLoginUser().getId();
- MallAddressInfo addressInfo = MallAddressInfoConversion.INSTANCE.dtoToEntity(addressInfoDto);
- if (MallAddressInfo.IS_DEFAULT_Y.equals(addressInfoDto.getIsDefault())) {
- this.baseMapper.updateIsDefault(MallAddressInfo.IS_DEFAULT_N, memberId, null);
- }
+ this.baseMapper.update(
+ null,
+ Wrappers.lambdaUpdate(MallAddressInfo.class)
+ .set(MallAddressInfo::getName, addressInfoDto.getName())
+ .set(MallAddressInfo::getFristName, addressInfoDto.getFirstName())
+ .set(MallAddressInfo::getAddress, addressInfoDto.getAddress())
+ .set(MallAddressInfo::getArea, addressInfoDto.getArea())
+ .set(MallAddressInfo::getPostcode, addressInfoDto.getPostcode())
+ .set(MallAddressInfo::getPhone, addressInfoDto.getPhone())
+ .set(MallAddressInfo::getCity, addressInfoDto.getCity())
+ .set(MallAddressInfo::getProvince, addressInfoDto.getProvince())
+ .set(MallAddressInfo::getCountry, addressInfoDto.getCountry())
+ .set(MallAddressInfo::getCountryName, addressInfoDto.getCountryName())
+ .eq(MallAddressInfo::getMemberId, memberId)
+ );
- addressInfo.setUpdatedTime(new Date());
- this.baseMapper.updateById(addressInfo);
+ return new FebsResponse().success();
}
- @Override
- public void setDefaultAddress(Long id) {
- MallAddressInfo addressInfo = this.baseMapper.selectById(id);
- if (addressInfo == null) {
- throw new FebsException("地址不存在");
- }
- MallMember member = LoginUserUtil.getLoginUser();
- this.baseMapper.updateIsDefault(MallAddressInfo.IS_DEFAULT_N, member.getId(), null);
-
- this.baseMapper.updateIsDefault(MallAddressInfo.IS_DEFAULT_Y, member.getId(), id);
- }
-
- static final OkHttpClient HTTP_CLIENT = new OkHttpClient().newBuilder().build();
-
- @Override
- public FebsResponse identifyAddress(ApiIdentifyAddressDto identifyAddressDto) {
- MediaType mediaType = MediaType.parse("application/json");
- RequestBody body = RequestBody.create(mediaType, JSONUtil.toJsonStr(identifyAddressDto));
- Request request = new Request.Builder()
- .url("https://aip.baidubce.com/rpc/2.0/nlp/v1/address?access_token=" + redisUtils.get(WechatConfigure.BAIDU_ACCESS_TOKEN_REDIS_KEY).toString())
- .method("POST", body)
- .addHeader("Content-Type", "application/json")
- .addHeader("Accept", "application/json")
- .build();
- String data = "";
- try {
- Response response = HTTP_CLIENT.newCall(request).execute();
- data = response.body().string();
- if (data.contains("error_code")) {
- JSONObject jsonObject = JSONUtil.parseObj(data);
- return new FebsResponse().fail().message("地址识别错误编码:"+jsonObject.get("error_code").toString());
- }
- } catch (IOException e) {
- e.printStackTrace();
- }
- return new FebsResponse().success().data(data);
- }
-
- @Override
- public FebsResponse getProvince(Long id) {
- LambdaQueryWrapper<MallAddressWorld> addressWorldLambdaQueryWrapper = new LambdaQueryWrapper<>();
- addressWorldLambdaQueryWrapper.eq(MallAddressWorld::getPid, id)
- .orderByDesc(MallAddressWorld::getId);
- List<MallAddressWorld> mallAddressWorlds = mallAddressWorldMapper.selectList(addressWorldLambdaQueryWrapper);
- return new FebsResponse().success().data(mallAddressWorlds);
- }
}
--
Gitblit v1.9.1