From e28f4db774879138d947b32f7e9f1ec8e5e56077 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Fri, 12 Jun 2026 15:00:03 +0800
Subject: [PATCH] feat(mall): 优化用户注册登录及订单管理功能
---
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallAddressInfoServiceImpl.java | 107 +++++++++++++++++++++++++++++------------------------
1 files changed, 59 insertions(+), 48 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 4ebfcd9..b62fb99 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
@@ -3,19 +3,31 @@
import cc.mrbird.febs.common.entity.FebsResponse;
import cc.mrbird.febs.common.exception.FebsException;
import cc.mrbird.febs.common.utils.LoginUserUtil;
+import cc.mrbird.febs.common.utils.RedisUtils;
import cc.mrbird.febs.mall.conversion.MallAddressInfoConversion;
import cc.mrbird.febs.mall.dto.AddressInfoDto;
+import cc.mrbird.febs.mall.dto.ApiIdentifyAddressDto;
import cc.mrbird.febs.mall.entity.MallAddressInfo;
+import cc.mrbird.febs.mall.entity.MallAddressWorld;
import cc.mrbird.febs.mall.entity.MallMember;
import cc.mrbird.febs.mall.mapper.MallAddressInfoMapper;
+import cc.mrbird.febs.mall.mapper.MallAddressWorldMapper;
import cc.mrbird.febs.mall.service.IApiMallAddressInfoService;
import cc.mrbird.febs.mall.vo.AddressInfoVo;
+import cc.mrbird.febs.pay.util.WechatConfigure;
import cn.hutool.core.collection.CollUtil;
+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;
+import okhttp3.*;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import java.io.IOException;
import java.util.Date;
import java.util.List;
@@ -28,64 +40,63 @@
@RequiredArgsConstructor
public class ApiMallAddressInfoServiceImpl extends ServiceImpl<MallAddressInfoMapper, MallAddressInfo> implements IApiMallAddressInfoService {
- @Override
- public List<AddressInfoVo> findAddressInfoList() {
- Long memberId = LoginUserUtil.getLoginUser().getId();
- List<MallAddressInfo> addressInfos = this.baseMapper.selectAddressInfoListByMemberId(memberId);
+ @Autowired
+ private RedisUtils redisUtils;
+ @Autowired
+ private MallAddressWorldMapper mallAddressWorldMapper;
- return MallAddressInfoConversion.INSTANCE.entityListToVos(addressInfos);
+ @Override
+ public FebsResponse findAddressInfo() {
+
+
+ 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());
+ }
+ 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())
+ .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);
- }
}
--
Gitblit v1.9.1