Commit 637ae8ce1d7cb7c0570aeab827fb508937273daf

Authored by owen
1 parent c146c98b

分佣: 提现记录

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 { @@ -22,6 +22,7 @@ public enum BrokerageWithdrawStatusEnum implements IntArrayValuable {
22 WITHDRAW_FAIL(21, "提现失败"), 22 WITHDRAW_FAIL(21, "提现失败"),
23 ; 23 ;
24 24
  25 + public static final String DICT_TYPE = "BROKERAGE_WITHDRAW_STATUS";
25 public static final int[] ARRAYS = Arrays.stream(values()).mapToInt(BrokerageWithdrawStatusEnum::getStatus).toArray(); 26 public static final int[] ARRAYS = Arrays.stream(values()).mapToInt(BrokerageWithdrawStatusEnum::getStatus).toArray();
26 27
27 /** 28 /**
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; @@ -3,8 +3,13 @@ package cn.iocoder.yudao.module.trade.controller.app.brokerage;
3 import cn.iocoder.yudao.framework.common.pojo.CommonResult; 3 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
4 import cn.iocoder.yudao.framework.common.pojo.PageResult; 4 import cn.iocoder.yudao.framework.common.pojo.PageResult;
5 import cn.iocoder.yudao.framework.security.core.annotations.PreAuthenticated; 5 import cn.iocoder.yudao.framework.security.core.annotations.PreAuthenticated;
  6 +import cn.iocoder.yudao.module.system.api.dict.DictDataApi;
  7 +import cn.iocoder.yudao.module.trade.controller.admin.brokerage.vo.withdraw.BrokerageWithdrawPageReqVO;
6 import cn.iocoder.yudao.module.trade.controller.app.brokerage.vo.withdraw.AppBrokerageWithdrawCreateReqVO; 8 import cn.iocoder.yudao.module.trade.controller.app.brokerage.vo.withdraw.AppBrokerageWithdrawCreateReqVO;
7 import cn.iocoder.yudao.module.trade.controller.app.brokerage.vo.withdraw.AppBrokerageWithdrawRespVO; 9 import cn.iocoder.yudao.module.trade.controller.app.brokerage.vo.withdraw.AppBrokerageWithdrawRespVO;
  10 +import cn.iocoder.yudao.module.trade.convert.brokerage.BrokerageWithdrawConvert;
  11 +import cn.iocoder.yudao.module.trade.dal.dataobject.brokerage.BrokerageWithdrawDO;
  12 +import cn.iocoder.yudao.module.trade.enums.brokerage.BrokerageWithdrawStatusEnum;
8 import cn.iocoder.yudao.module.trade.service.brokerage.BrokerageWithdrawService; 13 import cn.iocoder.yudao.module.trade.service.brokerage.BrokerageWithdrawService;
9 import io.swagger.v3.oas.annotations.Operation; 14 import io.swagger.v3.oas.annotations.Operation;
10 import io.swagger.v3.oas.annotations.tags.Tag; 15 import io.swagger.v3.oas.annotations.tags.Tag;
@@ -14,11 +19,10 @@ import org.springframework.web.bind.annotation.*; @@ -14,11 +19,10 @@ import org.springframework.web.bind.annotation.*;
14 19
15 import javax.annotation.Resource; 20 import javax.annotation.Resource;
16 import javax.validation.Valid; 21 import javax.validation.Valid;
17 -import java.time.LocalDateTime; 22 +import java.util.Map;
18 23
19 import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; 24 import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
20 import static cn.iocoder.yudao.framework.web.core.util.WebFrameworkUtils.getLoginUserId; 25 import static cn.iocoder.yudao.framework.web.core.util.WebFrameworkUtils.getLoginUserId;
21 -import static java.util.Arrays.asList;  
22 26
23 @Tag(name = "用户 APP - 分销提现") 27 @Tag(name = "用户 APP - 分销提现")
24 @RestController 28 @RestController
@@ -29,16 +33,19 @@ public class AppBrokerageWithdrawController { @@ -29,16 +33,19 @@ public class AppBrokerageWithdrawController {
29 @Resource 33 @Resource
30 private BrokerageWithdrawService brokerageWithdrawService; 34 private BrokerageWithdrawService brokerageWithdrawService;
31 35
32 - // TODO 芋艿:临时 mock => 36 + @Resource
  37 + private DictDataApi dictDataApi;
  38 +
33 @GetMapping("/page") 39 @GetMapping("/page")
34 @Operation(summary = "获得分销提现分页") 40 @Operation(summary = "获得分销提现分页")
35 @PreAuthenticated 41 @PreAuthenticated
36 - public CommonResult<PageResult<AppBrokerageWithdrawRespVO>> getBrokerageWithdrawPage() {  
37 - AppBrokerageWithdrawRespVO vo1 = new AppBrokerageWithdrawRespVO()  
38 - .setId(1L).setStatus(10).setPrice(10).setStatusName("审批通过").setCreateTime(LocalDateTime.now());  
39 - AppBrokerageWithdrawRespVO vo2 = new AppBrokerageWithdrawRespVO()  
40 - .setId(2L).setStatus(0).setPrice(20).setStatusName("审批中").setCreateTime(LocalDateTime.now());  
41 - return success(new PageResult<>(asList(vo1, vo2), 10L)); 42 + public CommonResult<PageResult<AppBrokerageWithdrawRespVO>> getBrokerageWithdrawPage(BrokerageWithdrawPageReqVO pageReqVO) {
  43 + // 分页查询
  44 + pageReqVO.setUserId(getLoginUserId());
  45 + PageResult<BrokerageWithdrawDO> pageResult = brokerageWithdrawService.getBrokerageWithdrawPage(pageReqVO);
  46 + // 拼接信息
  47 + Map<String, String> statusNameMap = dictDataApi.getDictDataLabelMap(BrokerageWithdrawStatusEnum.DICT_TYPE);
  48 + return success(BrokerageWithdrawConvert.INSTANCE.convertPage02(pageResult, statusNameMap));
42 } 49 }
43 50
44 @PostMapping("/create") 51 @PostMapping("/create")
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/convert/brokerage/BrokerageWithdrawConvert.java
1 package cn.iocoder.yudao.module.trade.convert.brokerage; 1 package cn.iocoder.yudao.module.trade.convert.brokerage;
2 2
  3 +import cn.hutool.core.map.MapUtil;
3 import cn.iocoder.yudao.framework.common.pojo.PageResult; 4 import cn.iocoder.yudao.framework.common.pojo.PageResult;
4 import cn.iocoder.yudao.module.member.api.user.dto.MemberUserRespDTO; 5 import cn.iocoder.yudao.module.member.api.user.dto.MemberUserRespDTO;
5 import cn.iocoder.yudao.module.trade.controller.admin.brokerage.vo.withdraw.BrokerageWithdrawRespVO; 6 import cn.iocoder.yudao.module.trade.controller.admin.brokerage.vo.withdraw.BrokerageWithdrawRespVO;
6 import cn.iocoder.yudao.module.trade.controller.app.brokerage.vo.withdraw.AppBrokerageWithdrawCreateReqVO; 7 import cn.iocoder.yudao.module.trade.controller.app.brokerage.vo.withdraw.AppBrokerageWithdrawCreateReqVO;
  8 +import cn.iocoder.yudao.module.trade.controller.app.brokerage.vo.withdraw.AppBrokerageWithdrawRespVO;
7 import cn.iocoder.yudao.module.trade.dal.dataobject.brokerage.BrokerageWithdrawDO; 9 import cn.iocoder.yudao.module.trade.dal.dataobject.brokerage.BrokerageWithdrawDO;
8 import org.mapstruct.Mapper; 10 import org.mapstruct.Mapper;
9 import org.mapstruct.factory.Mappers; 11 import org.mapstruct.factory.Mappers;
@@ -38,4 +40,13 @@ public interface BrokerageWithdrawConvert { @@ -38,4 +40,13 @@ public interface BrokerageWithdrawConvert {
38 return result; 40 return result;
39 } 41 }
40 42
  43 + PageResult<AppBrokerageWithdrawRespVO> convertPage02(PageResult<BrokerageWithdrawDO> pageResult);
  44 +
  45 + default PageResult<AppBrokerageWithdrawRespVO> convertPage02(PageResult<BrokerageWithdrawDO> pageResult, Map<String, String> statusNameMap) {
  46 + PageResult<AppBrokerageWithdrawRespVO> result = convertPage02(pageResult);
  47 + for (AppBrokerageWithdrawRespVO vo : result.getList()) {
  48 + vo.setStatusName(MapUtil.getStr(statusNameMap, String.valueOf(vo.getStatus()), ""));
  49 + }
  50 + return result;
  51 + }
41 } 52 }
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; @@ -3,6 +3,8 @@ package cn.iocoder.yudao.module.system.api.dict;
3 import cn.iocoder.yudao.module.system.api.dict.dto.DictDataRespDTO; 3 import cn.iocoder.yudao.module.system.api.dict.dto.DictDataRespDTO;
4 4
5 import java.util.Collection; 5 import java.util.Collection;
  6 +import java.util.List;
  7 +import java.util.Map;
6 8
7 /** 9 /**
8 * 字典数据 API 接口 10 * 字典数据 API 接口
@@ -31,6 +33,23 @@ public interface DictDataApi { @@ -31,6 +33,23 @@ public interface DictDataApi {
31 DictDataRespDTO getDictData(String type, String value); 33 DictDataRespDTO getDictData(String type, String value);
32 34
33 /** 35 /**
  36 + * 获得指定类型的字典数据,从缓存中
  37 + *
  38 + * @param type 字典类型
  39 + * @return 字典数据
  40 + */
  41 + List<DictDataRespDTO> getDictDataList(String type);
  42 +
  43 + /**
  44 + * 获得指定类型的字典数据 标签字典,从缓存中
  45 + * key:value, value: label
  46 + *
  47 + * @param type 字典类型
  48 + * @return 字典数据
  49 + */
  50 + Map<String, String> getDictDataLabelMap(String type);
  51 +
  52 + /**
34 * 解析获得指定的字典数据,从缓存中 53 * 解析获得指定的字典数据,从缓存中
35 * 54 *
36 * @param type 字典类型 55 * @param type 字典类型
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/dict/DictDataApiImpl.java
1 package cn.iocoder.yudao.module.system.api.dict; 1 package cn.iocoder.yudao.module.system.api.dict;
2 2
3 import cn.iocoder.yudao.module.system.api.dict.dto.DictDataRespDTO; 3 import cn.iocoder.yudao.module.system.api.dict.dto.DictDataRespDTO;
  4 +import cn.iocoder.yudao.module.system.controller.admin.dict.vo.data.DictDataExportReqVO;
4 import cn.iocoder.yudao.module.system.convert.dict.DictDataConvert; 5 import cn.iocoder.yudao.module.system.convert.dict.DictDataConvert;
5 import cn.iocoder.yudao.module.system.dal.dataobject.dict.DictDataDO; 6 import cn.iocoder.yudao.module.system.dal.dataobject.dict.DictDataDO;
6 import cn.iocoder.yudao.module.system.service.dict.DictDataService; 7 import cn.iocoder.yudao.module.system.service.dict.DictDataService;
@@ -8,6 +9,10 @@ import org.springframework.stereotype.Service; @@ -8,6 +9,10 @@ import org.springframework.stereotype.Service;
8 9
9 import javax.annotation.Resource; 10 import javax.annotation.Resource;
10 import java.util.Collection; 11 import java.util.Collection;
  12 +import java.util.List;
  13 +import java.util.Map;
  14 +
  15 +import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertMap;
11 16
12 /** 17 /**
13 * 字典数据 API 实现类 18 * 字典数据 API 实现类
@@ -32,6 +37,18 @@ public class DictDataApiImpl implements DictDataApi { @@ -32,6 +37,18 @@ public class DictDataApiImpl implements DictDataApi {
32 } 37 }
33 38
34 @Override 39 @Override
  40 + public List<DictDataRespDTO> getDictDataList(String type) {
  41 + List<DictDataDO> list = dictDataService.getDictDataList(new DictDataExportReqVO().setDictType(type));
  42 + return DictDataConvert.INSTANCE.convertList04(list);
  43 + }
  44 +
  45 + @Override
  46 + public Map<String, String> getDictDataLabelMap(String type) {
  47 + List<DictDataDO> list = dictDataService.getDictDataList(new DictDataExportReqVO().setDictType(type));
  48 + return convertMap(list, DictDataDO::getValue, DictDataDO::getLabel);
  49 + }
  50 +
  51 + @Override
35 public DictDataRespDTO parseDictData(String dictType, String label) { 52 public DictDataRespDTO parseDictData(String dictType, String label) {
36 DictDataDO dictData = dictDataService.parseDictData(dictType, label); 53 DictDataDO dictData = dictDataService.parseDictData(dictType, label);
37 return DictDataConvert.INSTANCE.convert02(dictData); 54 return DictDataConvert.INSTANCE.convert02(dictData);
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 { @@ -32,6 +32,6 @@ public class AppDictDataController {
32 @Operation(summary = "根据字典类型查询字典数据信息") 32 @Operation(summary = "根据字典类型查询字典数据信息")
33 public CommonResult<List<AppDictDataRespVO>> getDicts(@PathVariable String dictType) { 33 public CommonResult<List<AppDictDataRespVO>> getDicts(@PathVariable String dictType) {
34 List<DictDataDO> list = dictDataService.getDictDataList(new DictDataExportReqVO().setDictType(dictType)); 34 List<DictDataDO> list = dictDataService.getDictDataList(new DictDataExportReqVO().setDictType(dictType));
35 - return success(DictDataConvert.INSTANCE.convertList2(list)); 35 + return success(DictDataConvert.INSTANCE.convertList03(list));
36 } 36 }
37 } 37 }
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 { @@ -29,5 +29,7 @@ public interface DictDataConvert {
29 29
30 DictDataRespDTO convert02(DictDataDO bean); 30 DictDataRespDTO convert02(DictDataDO bean);
31 31
32 - List<AppDictDataRespVO> convertList2(List<DictDataDO> list); 32 + List<AppDictDataRespVO> convertList03(List<DictDataDO> list);
  33 +
  34 + List<DictDataRespDTO> convertList04(List<DictDataDO> list);
33 } 35 }