Browse Source

分佣: 提现记录

owen 1 year ago
parent
commit
637ae8ce1d

+ 1 - 0
yudao-module-mall/yudao-module-trade-api/src/main/java/cn/iocoder/yudao/module/trade/enums/brokerage/BrokerageWithdrawStatusEnum.java

@@ -22,6 +22,7 @@ public enum BrokerageWithdrawStatusEnum implements IntArrayValuable {
     WITHDRAW_FAIL(21, "提现失败"),
     ;
 
+    public static final String DICT_TYPE = "BROKERAGE_WITHDRAW_STATUS";
     public static final int[] ARRAYS = Arrays.stream(values()).mapToInt(BrokerageWithdrawStatusEnum::getStatus).toArray();
 
     /**

+ 16 - 9
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/brokerage/AppBrokerageWithdrawController.java

@@ -3,8 +3,13 @@ package cn.iocoder.yudao.module.trade.controller.app.brokerage;
 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
 import cn.iocoder.yudao.framework.security.core.annotations.PreAuthenticated;
+import cn.iocoder.yudao.module.system.api.dict.DictDataApi;
+import cn.iocoder.yudao.module.trade.controller.admin.brokerage.vo.withdraw.BrokerageWithdrawPageReqVO;
 import cn.iocoder.yudao.module.trade.controller.app.brokerage.vo.withdraw.AppBrokerageWithdrawCreateReqVO;
 import cn.iocoder.yudao.module.trade.controller.app.brokerage.vo.withdraw.AppBrokerageWithdrawRespVO;
+import cn.iocoder.yudao.module.trade.convert.brokerage.BrokerageWithdrawConvert;
+import cn.iocoder.yudao.module.trade.dal.dataobject.brokerage.BrokerageWithdrawDO;
+import cn.iocoder.yudao.module.trade.enums.brokerage.BrokerageWithdrawStatusEnum;
 import cn.iocoder.yudao.module.trade.service.brokerage.BrokerageWithdrawService;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
@@ -14,11 +19,10 @@ import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
 import javax.validation.Valid;
-import java.time.LocalDateTime;
+import java.util.Map;
 
 import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
 import static cn.iocoder.yudao.framework.web.core.util.WebFrameworkUtils.getLoginUserId;
-import static java.util.Arrays.asList;
 
 @Tag(name = "用户 APP - 分销提现")
 @RestController
@@ -29,16 +33,19 @@ public class AppBrokerageWithdrawController {
     @Resource
     private BrokerageWithdrawService brokerageWithdrawService;
 
-    // TODO 芋艿:临时 mock =>
+    @Resource
+    private DictDataApi dictDataApi;
+
     @GetMapping("/page")
     @Operation(summary = "获得分销提现分页")
     @PreAuthenticated
-    public CommonResult<PageResult<AppBrokerageWithdrawRespVO>> getBrokerageWithdrawPage() {
-        AppBrokerageWithdrawRespVO vo1 = new AppBrokerageWithdrawRespVO()
-                .setId(1L).setStatus(10).setPrice(10).setStatusName("审批通过").setCreateTime(LocalDateTime.now());
-        AppBrokerageWithdrawRespVO vo2 = new AppBrokerageWithdrawRespVO()
-                .setId(2L).setStatus(0).setPrice(20).setStatusName("审批中").setCreateTime(LocalDateTime.now());
-        return success(new PageResult<>(asList(vo1, vo2), 10L));
+    public CommonResult<PageResult<AppBrokerageWithdrawRespVO>> getBrokerageWithdrawPage(BrokerageWithdrawPageReqVO pageReqVO) {
+        // 分页查询
+        pageReqVO.setUserId(getLoginUserId());
+        PageResult<BrokerageWithdrawDO> pageResult = brokerageWithdrawService.getBrokerageWithdrawPage(pageReqVO);
+        // 拼接信息
+        Map<String, String> statusNameMap = dictDataApi.getDictDataLabelMap(BrokerageWithdrawStatusEnum.DICT_TYPE);
+        return success(BrokerageWithdrawConvert.INSTANCE.convertPage02(pageResult, statusNameMap));
     }
 
     @PostMapping("/create")

+ 11 - 0
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/convert/brokerage/BrokerageWithdrawConvert.java

@@ -1,9 +1,11 @@
 package cn.iocoder.yudao.module.trade.convert.brokerage;
 
+import cn.hutool.core.map.MapUtil;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
 import cn.iocoder.yudao.module.member.api.user.dto.MemberUserRespDTO;
 import cn.iocoder.yudao.module.trade.controller.admin.brokerage.vo.withdraw.BrokerageWithdrawRespVO;
 import cn.iocoder.yudao.module.trade.controller.app.brokerage.vo.withdraw.AppBrokerageWithdrawCreateReqVO;
+import cn.iocoder.yudao.module.trade.controller.app.brokerage.vo.withdraw.AppBrokerageWithdrawRespVO;
 import cn.iocoder.yudao.module.trade.dal.dataobject.brokerage.BrokerageWithdrawDO;
 import org.mapstruct.Mapper;
 import org.mapstruct.factory.Mappers;
@@ -38,4 +40,13 @@ public interface BrokerageWithdrawConvert {
         return result;
     }
 
+    PageResult<AppBrokerageWithdrawRespVO> convertPage02(PageResult<BrokerageWithdrawDO> pageResult);
+
+    default PageResult<AppBrokerageWithdrawRespVO> convertPage02(PageResult<BrokerageWithdrawDO> pageResult, Map<String, String> statusNameMap) {
+        PageResult<AppBrokerageWithdrawRespVO> result = convertPage02(pageResult);
+        for (AppBrokerageWithdrawRespVO vo : result.getList()) {
+            vo.setStatusName(MapUtil.getStr(statusNameMap, String.valueOf(vo.getStatus()), ""));
+        }
+        return result;
+    }
 }

+ 19 - 0
yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/dict/DictDataApi.java

@@ -3,6 +3,8 @@ package cn.iocoder.yudao.module.system.api.dict;
 import cn.iocoder.yudao.module.system.api.dict.dto.DictDataRespDTO;
 
 import java.util.Collection;
+import java.util.List;
+import java.util.Map;
 
 /**
  * 字典数据 API 接口
@@ -30,6 +32,23 @@ public interface DictDataApi {
      */
     DictDataRespDTO getDictData(String type, String value);
 
+    /**
+     * 获得指定类型的字典数据,从缓存中
+     *
+     * @param type 字典类型
+     * @return 字典数据
+     */
+    List<DictDataRespDTO> getDictDataList(String type);
+
+    /**
+     * 获得指定类型的字典数据 标签字典,从缓存中
+     * key:value, value: label
+     *
+     * @param type 字典类型
+     * @return 字典数据
+     */
+    Map<String, String> getDictDataLabelMap(String type);
+
     /**
      * 解析获得指定的字典数据,从缓存中
      *

+ 17 - 0
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/dict/DictDataApiImpl.java

@@ -1,6 +1,7 @@
 package cn.iocoder.yudao.module.system.api.dict;
 
 import cn.iocoder.yudao.module.system.api.dict.dto.DictDataRespDTO;
+import cn.iocoder.yudao.module.system.controller.admin.dict.vo.data.DictDataExportReqVO;
 import cn.iocoder.yudao.module.system.convert.dict.DictDataConvert;
 import cn.iocoder.yudao.module.system.dal.dataobject.dict.DictDataDO;
 import cn.iocoder.yudao.module.system.service.dict.DictDataService;
@@ -8,6 +9,10 @@ import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
 import java.util.Collection;
+import java.util.List;
+import java.util.Map;
+
+import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertMap;
 
 /**
  * 字典数据 API 实现类
@@ -31,6 +36,18 @@ public class DictDataApiImpl implements DictDataApi {
         return DictDataConvert.INSTANCE.convert02(dictData);
     }
 
+    @Override
+    public List<DictDataRespDTO> getDictDataList(String type) {
+        List<DictDataDO> list = dictDataService.getDictDataList(new DictDataExportReqVO().setDictType(type));
+        return DictDataConvert.INSTANCE.convertList04(list);
+    }
+
+    @Override
+    public Map<String, String> getDictDataLabelMap(String type) {
+        List<DictDataDO> list = dictDataService.getDictDataList(new DictDataExportReqVO().setDictType(type));
+        return convertMap(list, DictDataDO::getValue, DictDataDO::getLabel);
+    }
+
     @Override
     public DictDataRespDTO parseDictData(String dictType, String label) {
         DictDataDO dictData = dictDataService.parseDictData(dictType, label);

+ 1 - 1
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/app/dict/AppDictDataController.java

@@ -32,6 +32,6 @@ public class AppDictDataController {
     @Operation(summary = "根据字典类型查询字典数据信息")
     public CommonResult<List<AppDictDataRespVO>> getDicts(@PathVariable String dictType) {
         List<DictDataDO> list = dictDataService.getDictDataList(new DictDataExportReqVO().setDictType(dictType));
-        return success(DictDataConvert.INSTANCE.convertList2(list));
+        return success(DictDataConvert.INSTANCE.convertList03(list));
     }
 }

+ 3 - 1
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/convert/dict/DictDataConvert.java

@@ -29,5 +29,7 @@ public interface DictDataConvert {
 
     DictDataRespDTO convert02(DictDataDO bean);
 
-    List<AppDictDataRespVO> convertList2(List<DictDataDO> list);
+    List<AppDictDataRespVO> convertList03(List<DictDataDO> list);
+
+    List<DictDataRespDTO> convertList04(List<DictDataDO> list);
 }