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 22 WITHDRAW_FAIL(21, "提现失败"),
23 23 ;
24 24  
  25 + public static final String DICT_TYPE = "BROKERAGE_WITHDRAW_STATUS";
25 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 3 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
4 4 import cn.iocoder.yudao.framework.common.pojo.PageResult;
5 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 8 import cn.iocoder.yudao.module.trade.controller.app.brokerage.vo.withdraw.AppBrokerageWithdrawCreateReqVO;
7 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 13 import cn.iocoder.yudao.module.trade.service.brokerage.BrokerageWithdrawService;
9 14 import io.swagger.v3.oas.annotations.Operation;
10 15 import io.swagger.v3.oas.annotations.tags.Tag;
... ... @@ -14,11 +19,10 @@ import org.springframework.web.bind.annotation.*;
14 19  
15 20 import javax.annotation.Resource;
16 21 import javax.validation.Valid;
17   -import java.time.LocalDateTime;
  22 +import java.util.Map;
18 23  
19 24 import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
20 25 import static cn.iocoder.yudao.framework.web.core.util.WebFrameworkUtils.getLoginUserId;
21   -import static java.util.Arrays.asList;
22 26  
23 27 @Tag(name = "用户 APP - 分销提现")
24 28 @RestController
... ... @@ -29,16 +33,19 @@ public class AppBrokerageWithdrawController {
29 33 @Resource
30 34 private BrokerageWithdrawService brokerageWithdrawService;
31 35  
32   - // TODO 芋艿:临时 mock =>
  36 + @Resource
  37 + private DictDataApi dictDataApi;
  38 +
33 39 @GetMapping("/page")
34 40 @Operation(summary = "获得分销提现分页")
35 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 51 @PostMapping("/create")
... ...
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/convert/brokerage/BrokerageWithdrawConvert.java
1 1 package cn.iocoder.yudao.module.trade.convert.brokerage;
2 2  
  3 +import cn.hutool.core.map.MapUtil;
3 4 import cn.iocoder.yudao.framework.common.pojo.PageResult;
4 5 import cn.iocoder.yudao.module.member.api.user.dto.MemberUserRespDTO;
5 6 import cn.iocoder.yudao.module.trade.controller.admin.brokerage.vo.withdraw.BrokerageWithdrawRespVO;
6 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 9 import cn.iocoder.yudao.module.trade.dal.dataobject.brokerage.BrokerageWithdrawDO;
8 10 import org.mapstruct.Mapper;
9 11 import org.mapstruct.factory.Mappers;
... ... @@ -38,4 +40,13 @@ public interface BrokerageWithdrawConvert {
38 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 3 import cn.iocoder.yudao.module.system.api.dict.dto.DictDataRespDTO;
4 4  
5 5 import java.util.Collection;
  6 +import java.util.List;
  7 +import java.util.Map;
6 8  
7 9 /**
8 10 * 字典数据 API 接口
... ... @@ -31,6 +33,23 @@ public interface DictDataApi {
31 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 55 * @param type 字典类型
... ...
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/dict/DictDataApiImpl.java
1 1 package cn.iocoder.yudao.module.system.api.dict;
2 2  
3 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 5 import cn.iocoder.yudao.module.system.convert.dict.DictDataConvert;
5 6 import cn.iocoder.yudao.module.system.dal.dataobject.dict.DictDataDO;
6 7 import cn.iocoder.yudao.module.system.service.dict.DictDataService;
... ... @@ -8,6 +9,10 @@ import org.springframework.stereotype.Service;
8 9  
9 10 import javax.annotation.Resource;
10 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 18 * 字典数据 API 实现类
... ... @@ -32,6 +37,18 @@ public class DictDataApiImpl implements DictDataApi {
32 37 }
33 38  
34 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 52 public DictDataRespDTO parseDictData(String dictType, String label) {
36 53 DictDataDO dictData = dictDataService.parseDictData(dictType, label);
37 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 32 @Operation(summary = "根据字典类型查询字典数据信息")
33 33 public CommonResult<List<AppDictDataRespVO>> getDicts(@PathVariable String dictType) {
34 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 29  
30 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 }
... ...