Commit 637ae8ce1d7cb7c0570aeab827fb508937273daf
1 parent
c146c98b
分佣: 提现记录
Showing
7 changed files
with
68 additions
and
11 deletions
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 | } |