From 44300720085ec4ed5f97810f383973d088ba711f Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Wed, 08 Jan 2025 14:00:38 +0800
Subject: [PATCH] refactor(mall): 重构活动详情接口返回值

---
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallActServiceImpl.java |   46 ++++-----------
 src/main/java/cc/mrbird/febs/mall/controller/ApiMallActController.java    |   45 ++------------
 src/main/java/cc/mrbird/febs/mall/service/IApiMallActService.java         |    4 
 src/main/java/cc/mrbird/febs/mall/vo/ApiActivityVo.java                   |   48 ++++++++++++++++
 src/main/java/cc/mrbird/febs/mall/conversion/MallActivityConversion.java  |   17 +++++
 5 files changed, 87 insertions(+), 73 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/controller/ApiMallActController.java b/src/main/java/cc/mrbird/febs/mall/controller/ApiMallActController.java
index 6c8d0fe..860cb91 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/ApiMallActController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/ApiMallActController.java
@@ -1,18 +1,18 @@
 package cc.mrbird.febs.mall.controller;
 
 import cc.mrbird.febs.common.entity.FebsResponse;
-import cc.mrbird.febs.mall.dto.ApiMallActListDto;
-import cc.mrbird.febs.mall.dto.ApiMallActWinDetailsDto;
-import cc.mrbird.febs.mall.dto.MallGoodsQueryDto;
 import cc.mrbird.febs.mall.service.IApiMallActService;
-import cc.mrbird.febs.mall.vo.*;
+import cc.mrbird.febs.mall.vo.ApiActivityVo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiResponse;
 import io.swagger.annotations.ApiResponses;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
 
 @Slf4j
 @RestController
@@ -22,42 +22,13 @@
 public class ApiMallActController {
 
     private final IApiMallActService iApiMallActService;
-
-    @ApiOperation(value = "获取活动列表", notes = "获取活动列表")
-    @ApiResponses({
-            @ApiResponse(code = 200, message = "success", response = ApiMallActListVo.class)
-    })
-    @PostMapping(value = "/findMallGoodsList")
-    public FebsResponse findMallGoodsList(@RequestBody ApiMallActListDto apiMallActListDto) {
-        return new FebsResponse().success().data(iApiMallActService.findApiMallActListInPage(apiMallActListDto));
-    }
-
     @ApiOperation(value = "获取活动详情", notes = "获取活动详情")
     @ApiResponses({
-            @ApiResponse(code = 200, message = "success", response = ApiMallActDetailsVo.class)
+            @ApiResponse(code = 200, message = "success", response = ApiActivityVo.class)
     })
-    @GetMapping(value = "/findApiMallActDetailsById/{id}")
-    public FebsResponse findApiMallActDetailsById(@PathVariable("id") Long id) {
+    @GetMapping(value = "/getActiy/{id}")
+    public FebsResponse getActivity(@PathVariable("id") Long id) {
         return new FebsResponse().success().data(iApiMallActService.findApiMallActDetailsById(id));
     }
-
-    @ApiOperation(value = "我的抽奖记录", notes = "我的抽奖记录")
-    @ApiResponses({
-            @ApiResponse(code = 200, message = "success", response = ApiMallActWinDetailsVo.class)
-    })
-    @PostMapping(value = "/findApiMallActWinDetailsById")
-    public FebsResponse findApiMallActWinDetailsById(@RequestBody ApiMallActWinDetailsDto apiMallActWinDetailsDto) {
-        return new FebsResponse().success().data(iApiMallActService.findApiMallActWinDetailsInPage(apiMallActWinDetailsDto));
-    }
-
-    @ApiOperation(value = "抽奖", notes = "抽奖")
-    @ApiResponses({
-            @ApiResponse(code = 200, message = "success", response = ApiMallAwardDetailsVo.class)
-    })
-    @GetMapping(value = "/luckDraw/{actId}")
-    public FebsResponse luckDraw(@PathVariable("actId") long actId) {
-        return new FebsResponse().success().data(iApiMallActService.luckDraw(actId));
-    }
-
 
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/conversion/MallActivityConversion.java b/src/main/java/cc/mrbird/febs/mall/conversion/MallActivityConversion.java
new file mode 100644
index 0000000..b63e8a4
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/conversion/MallActivityConversion.java
@@ -0,0 +1,17 @@
+package cc.mrbird.febs.mall.conversion;
+
+import cc.mrbird.febs.mall.entity.MallActivity;
+import cc.mrbird.febs.mall.vo.ApiActivityVo;
+import org.mapstruct.Mapper;
+import org.mapstruct.factory.Mappers;
+
+/**
+ * @author wzy
+ * @date 2021-09-18
+ **/
+@Mapper
+public abstract class MallActivityConversion {
+    public static final MallActivityConversion INSTANCE = Mappers.getMapper(MallActivityConversion.class);
+
+    public abstract ApiActivityVo entityToApiActivityVo(MallActivity mallActivity);
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/service/IApiMallActService.java b/src/main/java/cc/mrbird/febs/mall/service/IApiMallActService.java
index 4df8cf3..3b11a9d 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/IApiMallActService.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/IApiMallActService.java
@@ -2,7 +2,7 @@
 
 import cc.mrbird.febs.mall.dto.ApiMallActListDto;
 import cc.mrbird.febs.mall.dto.ApiMallActWinDetailsDto;
-import cc.mrbird.febs.mall.vo.ApiMallActDetailsVo;
+import cc.mrbird.febs.mall.vo.ApiActivityVo;
 import cc.mrbird.febs.mall.vo.ApiMallActListVo;
 import cc.mrbird.febs.mall.vo.ApiMallActWinDetailsVo;
 import cc.mrbird.febs.mall.vo.ApiMallAwardDetailsVo;
@@ -12,7 +12,7 @@
 
     IPage<ApiMallActListVo> findApiMallActListInPage(ApiMallActListDto apiMallActListDto);
 
-    ApiMallActDetailsVo findApiMallActDetailsById(Long id);
+    ApiActivityVo findApiMallActDetailsById(Long id);
 
     IPage<ApiMallActWinDetailsVo> findApiMallActWinDetailsInPage(ApiMallActWinDetailsDto apiMallActWinDetailsDto);
 
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallActServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallActServiceImpl.java
index 137e07b..4e54820 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallActServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallActServiceImpl.java
@@ -5,6 +5,7 @@
 import cc.mrbird.febs.common.enumerates.MoneyFlowTypeEnum;
 import cc.mrbird.febs.common.exception.FebsException;
 import cc.mrbird.febs.common.utils.LoginUserUtil;
+import cc.mrbird.febs.mall.conversion.MallActivityConversion;
 import cc.mrbird.febs.mall.dto.ApiMallActListDto;
 import cc.mrbird.febs.mall.dto.ApiMallActWinDetailsDto;
 import cc.mrbird.febs.mall.entity.*;
@@ -12,9 +13,13 @@
 import cc.mrbird.febs.mall.service.IApiMallActService;
 import cc.mrbird.febs.mall.service.IApiMallMemberWalletService;
 import cc.mrbird.febs.mall.service.IMallMoneyFlowService;
-import cc.mrbird.febs.mall.vo.*;
-import cn.hutool.core.util.*;
+import cc.mrbird.febs.mall.vo.ApiActivityVo;
+import cc.mrbird.febs.mall.vo.ApiMallActListVo;
+import cc.mrbird.febs.mall.vo.ApiMallActWinDetailsVo;
+import cc.mrbird.febs.mall.vo.ApiMallAwardDetailsVo;
 import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.RandomUtil;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -40,6 +45,7 @@
     private final DataDictionaryCustomMapper dataDictionaryCustomMapper;
     private final IMallMoneyFlowService mallMoneyFlowService;
     private final IApiMallMemberWalletService mallMemberWalletService;
+    private final MallActivityMapper mallActivityMapper;
 
     @Override
     public IPage<ApiMallActListVo> findApiMallActListInPage(ApiMallActListDto apiMallActListDto) {
@@ -48,38 +54,10 @@
     }
 
     @Override
-    public ApiMallActDetailsVo findApiMallActDetailsById(Long id) {
-        MallActSet mallActSet = this.baseMapper.selectById(id);
-        if(ObjectUtil.isEmpty(mallActSet)){
-            throw new FebsException("活动不存在");
-        }
-        ApiMallActDetailsVo apiMallActDetailsVo = new ApiMallActDetailsVo();
-        apiMallActDetailsVo.setId(mallActSet.getId());
-        apiMallActDetailsVo.setActName(mallActSet.getActName());
-        apiMallActDetailsVo.setActCode(mallActSet.getActCode());
-        apiMallActDetailsVo.setActImage(mallActSet.getActImage());
-        apiMallActDetailsVo.setActStartTime(mallActSet.getActStartTime());
-        apiMallActDetailsVo.setActEndTime(mallActSet.getActEndTime());
-        apiMallActDetailsVo.setActScoreCnt(mallActSet.getActScoreCnt());
-        apiMallActDetailsVo.setActRemark(mallActSet.getActRemark());
-
-        List<MallActAwardSet> mallActAwardSets = mallActAwardSetMapper.selectMallActAwardByActId(id);
-        if(CollUtil.isNotEmpty(mallActAwardSets)){
-            List<ApiMallActAwardListDto> apiMallActAwardListDtos = new ArrayList<>();
-            for(MallActAwardSet mallActAwardSet : mallActAwardSets){
-                ApiMallActAwardListDto apiMallActAwardListDto = new ApiMallActAwardListDto();
-                apiMallActAwardListDto.setId(mallActAwardSet.getId());
-                apiMallActAwardListDto.setAwardName(mallActAwardSet.getAwardName());
-                apiMallActAwardListDto.setAwardImage(mallActAwardSet.getAwardImage());
-                apiMallActAwardListDto.setAwardTotal(mallActAwardSet.getAwardTotal());
-                apiMallActAwardListDto.setAwardCnt(mallActAwardSet.getAwardCnt());
-                apiMallActAwardListDto.setAwardType(mallActAwardSet.getAwardType());
-                apiMallActAwardListDto.setAwardValue(mallActAwardSet.getAwardValue());
-                apiMallActAwardListDtos.add(apiMallActAwardListDto);
-            }
-            apiMallActDetailsVo.setApiMallActAwardListDtos(apiMallActAwardListDtos);
-        }
-        return apiMallActDetailsVo;
+    public ApiActivityVo findApiMallActDetailsById(Long id) {
+        MallActivity mallActivity = mallActivityMapper.selectById(id);
+        ApiActivityVo apiActivityVo = MallActivityConversion.INSTANCE.entityToApiActivityVo(mallActivity);
+        return apiActivityVo;
     }
 
     @Override
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/ApiActivityVo.java b/src/main/java/cc/mrbird/febs/mall/vo/ApiActivityVo.java
new file mode 100644
index 0000000..ff5bfa6
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/vo/ApiActivityVo.java
@@ -0,0 +1,48 @@
+package cc.mrbird.febs.mall.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Data
+@ApiModel(value = "AdminSelectListLeaderVo", description = "信息返回类")
+public class ApiActivityVo {
+    //活动名称
+    @ApiModelProperty(value = "活动名称")
+    private String name;
+    //开始时间
+    @ApiModelProperty(value = "活动开始时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date startTime;
+    //结束时间
+    @ApiModelProperty(value = "活动结束时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date endTime;
+    //活动大图
+    @ApiModelProperty(value = "活动大图")
+    private String maxImage;
+    //活动小图
+    @ApiModelProperty(value = "活动小图")
+    private String minImage;
+    //活动状态 1-开启 0-关闭
+    @ApiModelProperty(value = "活动状态 1-开启 0-关闭")
+    private Integer state;
+    //活动说明
+    @ApiModelProperty(value = "活动说明")
+    private String actRemark;
+    /**
+     * 活动类型 1、折扣 2、优惠券
+     */
+    @ApiModelProperty(value = "活动类型 1、折扣 2、优惠券")
+    private Integer type;
+
+    @ApiModelProperty(value = "优惠券id")
+    private Long couponId;//优惠券id
+
+    @ApiModelProperty(value = "折扣粒度")
+    private BigDecimal discountSize;//折扣粒度
+}

--
Gitblit v1.9.1