From 657d6ca995fade9e0f23002c54263f1c972a254f Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Mon, 14 Aug 2023 15:16:33 +0800
Subject: [PATCH] 后台修改

---
 src/main/java/cc/mrbird/febs/dapp/service/DappMemberService.java          |   11 +++
 src/main/java/cc/mrbird/febs/dapp/dto/CreateAddressDto.java               |   25 ++++++++
 src/main/resources/mapper/dapp/DappMemberDao.xml                          |    8 ++
 src/main/java/cc/mrbird/febs/dapp/mapper/DappMemberDao.java               |    3 +
 src/main/java/cc/mrbird/febs/dapp/entity/MallAddressInfo.java             |   17 +++++
 src/main/java/cc/mrbird/febs/dapp/controller/ApiDappOrderController.java  |   40 +++++++++++++
 src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java |   62 ++++++++++++++++++++
 src/main/java/cc/mrbird/febs/dapp/mapper/MallAddressInfoMapper.java       |    7 ++
 8 files changed, 173 insertions(+), 0 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/dapp/controller/ApiDappOrderController.java b/src/main/java/cc/mrbird/febs/dapp/controller/ApiDappOrderController.java
index b5c173a..65cdd15 100644
--- a/src/main/java/cc/mrbird/febs/dapp/controller/ApiDappOrderController.java
+++ b/src/main/java/cc/mrbird/febs/dapp/controller/ApiDappOrderController.java
@@ -7,6 +7,7 @@
 import cc.mrbird.febs.common.utils.RedisUtils;
 import cc.mrbird.febs.dapp.dto.*;
 import cc.mrbird.febs.dapp.entity.DappMemberEntity;
+import cc.mrbird.febs.dapp.entity.MallAddressInfo;
 import cc.mrbird.febs.dapp.service.DappMemberService;
 import cc.mrbird.febs.dapp.service.DappSystemService;
 import cc.mrbird.febs.dapp.service.DappWalletService;
@@ -116,4 +117,43 @@
     public FebsResponse salePackage(@RequestBody SalePackageDto salePackageDto) {
         return dappMemberService.salePackage(salePackageDto);
     }
+
+    @ApiOperation(value = "新增地址", notes = "新增地址")
+    @PostMapping(value = "/createAddress")
+    public FebsResponse createAddress(@RequestBody CreateAddressDto createAddressDto) {
+        dappMemberService.createAddress(createAddressDto);
+        return new FebsResponse().success().message("操作成功");
+    }
+
+    @ApiOperation(value = "删除地址", notes = "删除地址")
+    @PostMapping(value = "/delAddress/{id}")
+    public FebsResponse delAddress(@PathVariable("id") Long id) {
+        dappMemberService.delAddress(id);
+        return new FebsResponse().success().message("操作成功");
+    }
+
+    @ApiOperation(value = "地址列表", notes = "地址列表")
+    @ApiResponses({
+            @ApiResponse(code = 200, message = "success", response = MallAddressInfo.class)
+    })
+    @PostMapping(value = "/findAddressList")
+    public FebsResponse findAddressList(@RequestBody MallGoodsQueryDto queryDto) {
+        return new FebsResponse().success().data(dappMemberService.findAddressList(queryDto));
+    }
+
+    @ApiOperation(value = "地址详情", notes = "地址详情")
+    @ApiResponses({
+            @ApiResponse(code = 200, message = "success", response = MallAddressInfo.class)
+    })
+    @GetMapping(value = "/addressDetails/{id}")
+    public FebsResponse addressDetails(@PathVariable("id") Long id) {
+        return new FebsResponse().success().data(dappMemberService.addressDetails(id));
+    }
+
+    @ApiOperation(value = "更新地址", notes = "更新地址")
+    @PostMapping(value = "/updateAddress")
+    public FebsResponse updateAddress(@RequestBody CreateAddressDto createAddressDto) {
+        dappMemberService.updateAddress(createAddressDto);
+        return new FebsResponse().success().message("操作成功");
+    }
 }
diff --git a/src/main/java/cc/mrbird/febs/dapp/dto/CreateAddressDto.java b/src/main/java/cc/mrbird/febs/dapp/dto/CreateAddressDto.java
new file mode 100644
index 0000000..145c969
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/dapp/dto/CreateAddressDto.java
@@ -0,0 +1,25 @@
+package cc.mrbird.febs.dapp.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "CreateAddressDto", description = "参数接收类")
+public class CreateAddressDto {
+
+    private Long id;
+
+    @ApiModelProperty(value = "姓名", example = "娟姐")
+    private String name;
+
+    @ApiModelProperty(value = "电话", example = "18623779113")
+    private String phone;
+
+    @ApiModelProperty(value = "区域", example = "河南省南阳市唐河县")
+    private String area;
+
+    @ApiModelProperty(value = "详细地址", example = "飞凤路府苑小区")
+    private String address;
+
+}
diff --git a/src/main/java/cc/mrbird/febs/dapp/entity/MallAddressInfo.java b/src/main/java/cc/mrbird/febs/dapp/entity/MallAddressInfo.java
new file mode 100644
index 0000000..9e4da25
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/dapp/entity/MallAddressInfo.java
@@ -0,0 +1,17 @@
+package cc.mrbird.febs.dapp.entity;
+
+import cc.mrbird.febs.common.entity.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+@Data
+@TableName("mall_address_info")
+public class MallAddressInfo extends BaseEntity {
+
+        private Long memberId;
+        private String name;
+        private String phone;
+        private String area;
+        private String address;
+        private Integer isDefault;
+}
diff --git a/src/main/java/cc/mrbird/febs/dapp/mapper/DappMemberDao.java b/src/main/java/cc/mrbird/febs/dapp/mapper/DappMemberDao.java
index 72daad4..5ba2282 100644
--- a/src/main/java/cc/mrbird/febs/dapp/mapper/DappMemberDao.java
+++ b/src/main/java/cc/mrbird/febs/dapp/mapper/DappMemberDao.java
@@ -3,6 +3,7 @@
 import cc.mrbird.febs.dapp.dto.MallGoodsQueryDto;
 import cc.mrbird.febs.dapp.dto.MallOrderQueryDto;
 import cc.mrbird.febs.dapp.entity.DappMemberEntity;
+import cc.mrbird.febs.dapp.entity.MallAddressInfo;
 import cc.mrbird.febs.dapp.vo.*;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -100,4 +101,6 @@
     List<DappMemberEntity> selectChildAgentList(@Param("inviteId")String inviteId, @Param("accountType")String accountType);
 
     DappMemberInfoVo selectDappMemberInfoVoByMemberId(@Param("memberId")long id);
+
+    IPage<MallAddressInfo> selectAddressListInPage(@Param("record")MallGoodsQueryDto queryDto, Page<MallAddressInfo> page);
 }
diff --git a/src/main/java/cc/mrbird/febs/dapp/mapper/MallAddressInfoMapper.java b/src/main/java/cc/mrbird/febs/dapp/mapper/MallAddressInfoMapper.java
new file mode 100644
index 0000000..bcb2ac1
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/dapp/mapper/MallAddressInfoMapper.java
@@ -0,0 +1,7 @@
+package cc.mrbird.febs.dapp.mapper;
+
+import cc.mrbird.febs.dapp.entity.MallAddressInfo;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+public interface MallAddressInfoMapper extends BaseMapper<MallAddressInfo> {
+}
diff --git a/src/main/java/cc/mrbird/febs/dapp/service/DappMemberService.java b/src/main/java/cc/mrbird/febs/dapp/service/DappMemberService.java
index 6878e51..b76cfea 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/DappMemberService.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/DappMemberService.java
@@ -6,6 +6,7 @@
 import cc.mrbird.febs.dapp.entity.DappMemberEntity;
 import cc.mrbird.febs.dapp.entity.DappSystemProfit;
 import cc.mrbird.febs.dapp.entity.DappTransferRecordEntity;
+import cc.mrbird.febs.dapp.entity.MallAddressInfo;
 import cc.mrbird.febs.dapp.vo.*;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
@@ -88,4 +89,14 @@
     IPage<MemberMoneyFlowVo> memberMoneyFlow(QueryRequest request, DappMemberEntity dappMemberEntity);
 
     void delOrder(Long id);
+
+    void createAddress(CreateAddressDto createAddressDto);
+
+    void delAddress(Long id);
+
+    IPage<MallAddressInfo> findAddressList(MallGoodsQueryDto queryDto);
+
+    MallAddressInfo addressDetails(Long id);
+
+    void updateAddress(CreateAddressDto createAddressDto);
 }
diff --git a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java
index 1ee9713..e8b8d60 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java
@@ -67,6 +67,7 @@
     private final MallOrderItemMapper mallOrderItemMapper;
     private final MallAchieveRecordMapper mallAchieveRecordMapper;
     private final DappAccountMoneyChangeDao dappAccountMoneyChangeDao;
+    private final MallAddressInfoMapper mallAddressInfoMapper;
 
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -599,6 +600,14 @@
         MallOrderListVo mallOrderListVo = dappMemberDao.selectMallOrderListVoById(id);
         List<MallOrderItemVo> mallOrderItemVoList = dappMemberDao.selectMallOrderItemVoByOrderId(id);
         mallOrderListVo.setItems(mallOrderItemVoList);
+        long addressId = ObjectUtil.isEmpty(mallOrderListVo.getAddressId()) ? 0L : mallOrderListVo.getAddressId();
+        MallAddressInfo mallAddressInfo = mallAddressInfoMapper.selectById(addressId);
+        if(ObjectUtil.isNotEmpty(mallAddressInfo)){
+            mallOrderListVo.setName(mallAddressInfo.getName());
+            mallOrderListVo.setPhone(mallAddressInfo.getPhone());
+            mallOrderListVo.setArea(mallAddressInfo.getArea());
+            mallOrderListVo.setAddress(mallAddressInfo.getAddress());
+        }
         return mallOrderListVo;
     }
 
@@ -907,6 +916,59 @@
         }
     }
 
+    @Override
+    public void createAddress(CreateAddressDto createAddressDto) {
+        Long memberId = LoginUserUtil.getAppUser().getId();
+        MallAddressInfo mallAddressInfo = new MallAddressInfo();
+        mallAddressInfo.setMemberId(memberId);
+        mallAddressInfo.setName(createAddressDto.getName());
+        mallAddressInfo.setPhone(createAddressDto.getPhone());
+        mallAddressInfo.setArea(createAddressDto.getArea());
+        mallAddressInfo.setAddress(createAddressDto.getAddress());
+        mallAddressInfo.setIsDefault(1);
+        mallAddressInfoMapper.insert(mallAddressInfo);
+    }
+
+    @Override
+    public void delAddress(Long id) {
+        Long memberId = LoginUserUtil.getAppUser().getId();
+        MallAddressInfo mallAddressInfo = mallAddressInfoMapper.selectById(id);
+        if(ObjectUtil.isEmpty(mallAddressInfo)){
+            throw new FebsException("地址不存在");
+        }
+        mallAddressInfo.setIsDefault(2);
+        mallAddressInfoMapper.updateById(mallAddressInfo);
+    }
+
+    @Override
+    public IPage<MallAddressInfo> findAddressList(MallGoodsQueryDto queryDto) {
+        Long memberId = LoginUserUtil.getAppUser().getId();
+        Page<MallAddressInfo> page = new Page<>(queryDto.getPageNow(), queryDto.getPageSize());
+        return dappMemberDao.selectAddressListInPage(queryDto, page);
+    }
+
+    @Override
+    public MallAddressInfo addressDetails(Long id) {
+        Long memberId = LoginUserUtil.getAppUser().getId();
+        MallAddressInfo mallAddressInfo = mallAddressInfoMapper.selectById(id);
+        return mallAddressInfo;
+    }
+
+    @Override
+    public void updateAddress(CreateAddressDto createAddressDto) {
+        Long memberId = LoginUserUtil.getAppUser().getId();
+
+        MallAddressInfo mallAddressInfo = mallAddressInfoMapper.selectById(createAddressDto.getId());
+        if(ObjectUtil.isEmpty(mallAddressInfo)){
+            throw new FebsException("地址不存在");
+        }
+        mallAddressInfo.setName(createAddressDto.getName());
+        mallAddressInfo.setPhone(createAddressDto.getPhone());
+        mallAddressInfo.setArea(createAddressDto.getArea());
+        mallAddressInfo.setAddress(createAddressDto.getAddress());
+        mallAddressInfoMapper.updateById(mallAddressInfo);
+    }
+
     public static List<List<String>> partitionList(List<String> originalList, int partitionSize) {
         List<List<String>> partitionedList = new ArrayList<>();
         int size = originalList.size();
diff --git a/src/main/resources/mapper/dapp/DappMemberDao.xml b/src/main/resources/mapper/dapp/DappMemberDao.xml
index 092a3d1..2af0b53 100644
--- a/src/main/resources/mapper/dapp/DappMemberDao.xml
+++ b/src/main/resources/mapper/dapp/DappMemberDao.xml
@@ -344,4 +344,12 @@
         left join dapp_wallet_mine c on a.id = c.member_id
         where a.id = #{memberId}
     </select>
+
+    <select id="selectAddressListInPage" resultType="cc.mrbird.febs.dapp.entity.MallAddressInfo">
+        select
+            a.*
+        from mall_address_info a
+        where is_default = 1
+        order by a.CREATE_TIME desc
+    </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.1