Commit fa53a3b15e4f214df3cddf8950907b4232b39649

Authored by owen
1 parent 9336a0a1

trade: MemberBrokerageRecord 重命名为 TradeBrokerageRecord

Showing 20 changed files with 183 additions and 183 deletions
sql/mysql/brokerage.sql
@@ -42,7 +42,7 @@ create index idx_invite_user_id on trade_brokerage_user (brokerage_user_id) comm @@ -42,7 +42,7 @@ create index idx_invite_user_id on trade_brokerage_user (brokerage_user_id) comm
42 create index idx_agent on trade_brokerage_user (brokerage_enabled) comment '是否成为推广员'; 42 create index idx_agent on trade_brokerage_user (brokerage_enabled) comment '是否成为推广员';
43 43
44 44
45 -create table member_brokerage_record 45 +create table trade_brokerage_record
46 ( 46 (
47 id int auto_increment comment '编号' 47 id int auto_increment comment '编号'
48 primary key, 48 primary key,
@@ -65,12 +65,12 @@ create table member_brokerage_record @@ -65,12 +65,12 @@ create table member_brokerage_record
65 ) 65 )
66 comment '佣金记录'; 66 comment '佣金记录';
67 67
68 -create index idx_user_id on member_brokerage_record (user_id) comment '用户编号';  
69 -create index idx_biz on member_brokerage_record (biz_type, biz_id) comment '业务';  
70 -create index idx_status on member_brokerage_record (status) comment '状态'; 68 +create index idx_user_id on trade_brokerage_record (user_id) comment '用户编号';
  69 +create index idx_biz on trade_brokerage_record (biz_type, biz_id) comment '业务';
  70 +create index idx_status on trade_brokerage_record (status) comment '状态';
71 71
72 72
73 -create table member_brokerage_withdraw 73 +create table trade_brokerage_withdraw
74 ( 74 (
75 id int auto_increment comment '编号' 75 id int auto_increment comment '编号'
76 primary key, 76 primary key,
@@ -97,8 +97,8 @@ create table member_brokerage_withdraw @@ -97,8 +97,8 @@ create table member_brokerage_withdraw
97 ) 97 )
98 comment '佣金提现'; 98 comment '佣金提现';
99 99
100 -create index idx_user_id on member_brokerage_withdraw (user_id) comment '用户编号';  
101 -create index idx_audit_status on member_brokerage_withdraw (status) comment '状态'; 100 +create index idx_user_id on trade_brokerage_withdraw (user_id) comment '用户编号';
  101 +create index idx_audit_status on trade_brokerage_withdraw (status) comment '状态';
102 102
103 -- 增加字典 103 -- 增加字典
104 insert into system_dict_type(type, name) 104 insert into system_dict_type(type, name)
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/brokerage/record/MemberBrokerageRecordController.java renamed to yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/brokerage/record/TradeBrokerageRecordController.java
@@ -2,11 +2,11 @@ package cn.iocoder.yudao.module.trade.controller.admin.brokerage.record; @@ -2,11 +2,11 @@ package cn.iocoder.yudao.module.trade.controller.admin.brokerage.record;
2 2
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.module.trade.controller.admin.brokerage.record.vo.MemberBrokerageRecordPageReqVO;  
6 -import cn.iocoder.yudao.module.trade.controller.admin.brokerage.record.vo.MemberBrokerageRecordRespVO;  
7 -import cn.iocoder.yudao.module.trade.convert.brokerage.record.MemberBrokerageRecordConvert;  
8 -import cn.iocoder.yudao.module.trade.dal.dataobject.brokerage.record.MemberBrokerageRecordDO;  
9 -import cn.iocoder.yudao.module.trade.service.brokerage.record.MemberBrokerageRecordService; 5 +import cn.iocoder.yudao.module.trade.controller.admin.brokerage.record.vo.TradeBrokerageRecordPageReqVO;
  6 +import cn.iocoder.yudao.module.trade.controller.admin.brokerage.record.vo.TradeBrokerageRecordRespVO;
  7 +import cn.iocoder.yudao.module.trade.convert.brokerage.record.TradeBrokerageRecordConvert;
  8 +import cn.iocoder.yudao.module.trade.dal.dataobject.brokerage.record.TradeBrokerageRecordDO;
  9 +import cn.iocoder.yudao.module.trade.service.brokerage.record.TradeBrokerageRecordService;
10 import io.swagger.v3.oas.annotations.Operation; 10 import io.swagger.v3.oas.annotations.Operation;
11 import io.swagger.v3.oas.annotations.Parameter; 11 import io.swagger.v3.oas.annotations.Parameter;
12 import io.swagger.v3.oas.annotations.tags.Tag; 12 import io.swagger.v3.oas.annotations.tags.Tag;
@@ -24,28 +24,28 @@ import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; @@ -24,28 +24,28 @@ import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
24 24
25 @Tag(name = "管理后台 - 佣金记录") 25 @Tag(name = "管理后台 - 佣金记录")
26 @RestController 26 @RestController
27 -@RequestMapping("/trade/member-brokerage-record") 27 +@RequestMapping("/trade/brokerage-record")
28 @Validated 28 @Validated
29 -public class MemberBrokerageRecordController { 29 +public class TradeBrokerageRecordController {
30 30
31 @Resource 31 @Resource
32 - private MemberBrokerageRecordService memberBrokerageRecordService; 32 + private TradeBrokerageRecordService tradeBrokerageRecordService;
33 33
34 @GetMapping("/get") 34 @GetMapping("/get")
35 @Operation(summary = "获得佣金记录") 35 @Operation(summary = "获得佣金记录")
36 @Parameter(name = "id", description = "编号", required = true, example = "1024") 36 @Parameter(name = "id", description = "编号", required = true, example = "1024")
37 - @PreAuthorize("@ss.hasPermission('member:member-brokerage-record:query')")  
38 - public CommonResult<MemberBrokerageRecordRespVO> getMemberBrokerageRecord(@RequestParam("id") Integer id) {  
39 - MemberBrokerageRecordDO memberBrokerageRecord = memberBrokerageRecordService.getMemberBrokerageRecord(id);  
40 - return success(MemberBrokerageRecordConvert.INSTANCE.convert(memberBrokerageRecord)); 37 + @PreAuthorize("@ss.hasPermission('trade:brokerage-record:query')")
  38 + public CommonResult<TradeBrokerageRecordRespVO> getBrokerageRecord(@RequestParam("id") Integer id) {
  39 + TradeBrokerageRecordDO tradeBrokerageRecord = tradeBrokerageRecordService.getBrokerageRecord(id);
  40 + return success(TradeBrokerageRecordConvert.INSTANCE.convert(tradeBrokerageRecord));
41 } 41 }
42 42
43 @GetMapping("/page") 43 @GetMapping("/page")
44 @Operation(summary = "获得佣金记录分页") 44 @Operation(summary = "获得佣金记录分页")
45 - @PreAuthorize("@ss.hasPermission('member:member-brokerage-record:query')")  
46 - public CommonResult<PageResult<MemberBrokerageRecordRespVO>> getMemberBrokerageRecordPage(@Valid MemberBrokerageRecordPageReqVO pageVO) {  
47 - PageResult<MemberBrokerageRecordDO> pageResult = memberBrokerageRecordService.getMemberBrokerageRecordPage(pageVO);  
48 - return success(MemberBrokerageRecordConvert.INSTANCE.convertPage(pageResult)); 45 + @PreAuthorize("@ss.hasPermission('trade:brokerage-record:query')")
  46 + public CommonResult<PageResult<TradeBrokerageRecordRespVO>> getBrokerageRecordPage(@Valid TradeBrokerageRecordPageReqVO pageVO) {
  47 + PageResult<TradeBrokerageRecordDO> pageResult = tradeBrokerageRecordService.getBrokerageRecordPage(pageVO);
  48 + return success(TradeBrokerageRecordConvert.INSTANCE.convertPage(pageResult));
49 } 49 }
50 50
51 } 51 }
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/brokerage/record/vo/MemberBrokerageRecordBaseVO.java renamed to yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/brokerage/record/vo/TradeBrokerageRecordBaseVO.java
@@ -14,7 +14,7 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_ @@ -14,7 +14,7 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_
14 * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 14 * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成
15 */ 15 */
16 @Data 16 @Data
17 -public class MemberBrokerageRecordBaseVO { 17 +public class TradeBrokerageRecordBaseVO {
18 18
19 @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "25973") 19 @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "25973")
20 @NotNull(message = "用户编号不能为空") 20 @NotNull(message = "用户编号不能为空")
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/brokerage/record/vo/MemberBrokerageRecordPageReqVO.java renamed to yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/brokerage/record/vo/TradeBrokerageRecordPageReqVO.java
@@ -15,7 +15,7 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_ @@ -15,7 +15,7 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_
15 @Data 15 @Data
16 @EqualsAndHashCode(callSuper = true) 16 @EqualsAndHashCode(callSuper = true)
17 @ToString(callSuper = true) 17 @ToString(callSuper = true)
18 -public class MemberBrokerageRecordPageReqVO extends PageParam { 18 +public class TradeBrokerageRecordPageReqVO extends PageParam {
19 19
20 @Schema(description = "用户编号", example = "25973") 20 @Schema(description = "用户编号", example = "25973")
21 private Long userId; 21 private Long userId;
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/brokerage/record/vo/MemberBrokerageRecordRespVO.java renamed to yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/brokerage/record/vo/TradeBrokerageRecordRespVO.java
@@ -11,7 +11,7 @@ import java.time.LocalDateTime; @@ -11,7 +11,7 @@ import java.time.LocalDateTime;
11 @Data 11 @Data
12 @EqualsAndHashCode(callSuper = true) 12 @EqualsAndHashCode(callSuper = true)
13 @ToString(callSuper = true) 13 @ToString(callSuper = true)
14 -public class MemberBrokerageRecordRespVO extends MemberBrokerageRecordBaseVO { 14 +public class TradeBrokerageRecordRespVO extends TradeBrokerageRecordBaseVO {
15 15
16 @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "28896") 16 @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "28896")
17 private Integer id; 17 private Integer id;
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/convert/brokerage/record/MemberBrokerageRecordConvert.java renamed to yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/convert/brokerage/record/TradeBrokerageRecordConvert.java
@@ -2,8 +2,8 @@ package cn.iocoder.yudao.module.trade.convert.brokerage.record; @@ -2,8 +2,8 @@ package cn.iocoder.yudao.module.trade.convert.brokerage.record;
2 2
3 import cn.hutool.core.util.StrUtil; 3 import cn.hutool.core.util.StrUtil;
4 import cn.iocoder.yudao.framework.common.pojo.PageResult; 4 import cn.iocoder.yudao.framework.common.pojo.PageResult;
5 -import cn.iocoder.yudao.module.trade.controller.admin.brokerage.record.vo.MemberBrokerageRecordRespVO;  
6 -import cn.iocoder.yudao.module.trade.dal.dataobject.brokerage.record.MemberBrokerageRecordDO; 5 +import cn.iocoder.yudao.module.trade.controller.admin.brokerage.record.vo.TradeBrokerageRecordRespVO;
  6 +import cn.iocoder.yudao.module.trade.dal.dataobject.brokerage.record.TradeBrokerageRecordDO;
7 import cn.iocoder.yudao.module.trade.dal.dataobject.brokerage.user.TradeBrokerageUserDO; 7 import cn.iocoder.yudao.module.trade.dal.dataobject.brokerage.user.TradeBrokerageUserDO;
8 import cn.iocoder.yudao.module.trade.enums.brokerage.BrokerageRecordBizTypeEnum; 8 import cn.iocoder.yudao.module.trade.enums.brokerage.BrokerageRecordBizTypeEnum;
9 import cn.iocoder.yudao.module.trade.enums.brokerage.BrokerageRecordStatusEnum; 9 import cn.iocoder.yudao.module.trade.enums.brokerage.BrokerageRecordStatusEnum;
@@ -19,22 +19,22 @@ import java.util.List; @@ -19,22 +19,22 @@ import java.util.List;
19 * @author owen 19 * @author owen
20 */ 20 */
21 @Mapper 21 @Mapper
22 -public interface MemberBrokerageRecordConvert { 22 +public interface TradeBrokerageRecordConvert {
23 23
24 - MemberBrokerageRecordConvert INSTANCE = Mappers.getMapper(MemberBrokerageRecordConvert.class); 24 + TradeBrokerageRecordConvert INSTANCE = Mappers.getMapper(TradeBrokerageRecordConvert.class);
25 25
26 - MemberBrokerageRecordRespVO convert(MemberBrokerageRecordDO bean); 26 + TradeBrokerageRecordRespVO convert(TradeBrokerageRecordDO bean);
27 27
28 - List<MemberBrokerageRecordRespVO> convertList(List<MemberBrokerageRecordDO> list); 28 + List<TradeBrokerageRecordRespVO> convertList(List<TradeBrokerageRecordDO> list);
29 29
30 - PageResult<MemberBrokerageRecordRespVO> convertPage(PageResult<MemberBrokerageRecordDO> page); 30 + PageResult<TradeBrokerageRecordRespVO> convertPage(PageResult<TradeBrokerageRecordDO> page);
31 31
32 - default MemberBrokerageRecordDO convert(TradeBrokerageUserDO user, String bizId, int brokerageFrozenDays, int brokerage, LocalDateTime unfreezeTime) { 32 + default TradeBrokerageRecordDO convert(TradeBrokerageUserDO user, String bizId, int brokerageFrozenDays, int brokerage, LocalDateTime unfreezeTime) {
33 // 不冻结时,佣金直接就是结算状态 33 // 不冻结时,佣金直接就是结算状态
34 Integer status = brokerageFrozenDays > 0 34 Integer status = brokerageFrozenDays > 0
35 ? BrokerageRecordStatusEnum.WAIT_SETTLEMENT.getStatus() 35 ? BrokerageRecordStatusEnum.WAIT_SETTLEMENT.getStatus()
36 : BrokerageRecordStatusEnum.SETTLEMENT.getStatus(); 36 : BrokerageRecordStatusEnum.SETTLEMENT.getStatus();
37 - return new MemberBrokerageRecordDO() 37 + return new TradeBrokerageRecordDO()
38 .setUserId(user.getId()) 38 .setUserId(user.getId())
39 .setBizType(BrokerageRecordBizTypeEnum.ORDER.getType()) 39 .setBizType(BrokerageRecordBizTypeEnum.ORDER.getType())
40 .setBizId(bizId) 40 .setBizId(bizId)
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/convert/order/TradeOrderConvert.java
@@ -7,7 +7,7 @@ import cn.iocoder.yudao.framework.common.util.string.StrUtils; @@ -7,7 +7,7 @@ import cn.iocoder.yudao.framework.common.util.string.StrUtils;
7 import cn.iocoder.yudao.framework.dict.core.util.DictFrameworkUtils; 7 import cn.iocoder.yudao.framework.dict.core.util.DictFrameworkUtils;
8 import cn.iocoder.yudao.framework.ip.core.utils.AreaUtils; 8 import cn.iocoder.yudao.framework.ip.core.utils.AreaUtils;
9 import cn.iocoder.yudao.module.member.api.address.dto.AddressRespDTO; 9 import cn.iocoder.yudao.module.member.api.address.dto.AddressRespDTO;
10 -import cn.iocoder.yudao.module.trade.service.brokerage.record.bo.BrokerageAddReqDTO; 10 +import cn.iocoder.yudao.module.trade.service.brokerage.record.bo.BrokerageAddReqBO;
11 import cn.iocoder.yudao.module.member.api.user.dto.MemberUserRespDTO; 11 import cn.iocoder.yudao.module.member.api.user.dto.MemberUserRespDTO;
12 import cn.iocoder.yudao.module.pay.api.order.dto.PayOrderCreateReqDTO; 12 import cn.iocoder.yudao.module.pay.api.order.dto.PayOrderCreateReqDTO;
13 import cn.iocoder.yudao.module.pay.enums.DictTypeConstants; 13 import cn.iocoder.yudao.module.pay.enums.DictTypeConstants;
@@ -275,8 +275,8 @@ public interface TradeOrderConvert { @@ -275,8 +275,8 @@ public interface TradeOrderConvert {
275 275
276 TradeOrderDO convert(TradeOrderRemarkReqVO reqVO); 276 TradeOrderDO convert(TradeOrderRemarkReqVO reqVO);
277 277
278 - default BrokerageAddReqDTO convert(TradeOrderItemDO item, ProductSkuRespDTO sku) {  
279 - return new BrokerageAddReqDTO().setBizId(String.valueOf(item.getId())) 278 + default BrokerageAddReqBO convert(TradeOrderItemDO item, ProductSkuRespDTO sku) {
  279 + return new BrokerageAddReqBO().setBizId(String.valueOf(item.getId()))
280 .setPayPrice(item.getPayPrice()).setCount(item.getCount()) 280 .setPayPrice(item.getPayPrice()).setCount(item.getCount())
281 .setSkuFirstBrokeragePrice(sku.getSubCommissionFirstPrice()) 281 .setSkuFirstBrokeragePrice(sku.getSubCommissionFirstPrice())
282 .setSkuSecondBrokeragePrice(sku.getSubCommissionSecondPrice()); 282 .setSkuSecondBrokeragePrice(sku.getSubCommissionSecondPrice());
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/dal/dataobject/brokerage/record/MemberBrokerageRecordDO.java renamed to yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/dal/dataobject/brokerage/record/TradeBrokerageRecordDO.java
@@ -15,15 +15,15 @@ import java.time.LocalDateTime; @@ -15,15 +15,15 @@ import java.time.LocalDateTime;
15 * 15 *
16 * @author owen 16 * @author owen
17 */ 17 */
18 -@TableName("member_brokerage_record")  
19 -@KeySequence("member_brokerage_record_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 18 +@TableName("trade_brokerage_record")
  19 +@KeySequence("trade_brokerage_record_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
20 @Data 20 @Data
21 @EqualsAndHashCode(callSuper = true) 21 @EqualsAndHashCode(callSuper = true)
22 @ToString(callSuper = true) 22 @ToString(callSuper = true)
23 @Builder 23 @Builder
24 @NoArgsConstructor 24 @NoArgsConstructor
25 @AllArgsConstructor 25 @AllArgsConstructor
26 -public class MemberBrokerageRecordDO extends BaseDO { 26 +public class TradeBrokerageRecordDO extends BaseDO {
27 27
28 /** 28 /**
29 * 编号 29 * 编号
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/dal/mysql/brokerage/record/MemberBrokerageRecordMapper.java deleted
1 -package cn.iocoder.yudao.module.trade.dal.mysql.brokerage.record;  
2 -  
3 -import cn.iocoder.yudao.framework.common.pojo.PageResult;  
4 -import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;  
5 -import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;  
6 -import cn.iocoder.yudao.module.trade.controller.admin.brokerage.record.vo.MemberBrokerageRecordPageReqVO;  
7 -import cn.iocoder.yudao.module.trade.dal.dataobject.brokerage.record.MemberBrokerageRecordDO;  
8 -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;  
9 -import org.apache.ibatis.annotations.Mapper;  
10 -  
11 -import java.time.LocalDateTime;  
12 -import java.util.List;  
13 -  
14 -/**  
15 - * 佣金记录 Mapper  
16 - *  
17 - * @author owen  
18 - */  
19 -@Mapper  
20 -public interface MemberBrokerageRecordMapper extends BaseMapperX<MemberBrokerageRecordDO> {  
21 -  
22 - default PageResult<MemberBrokerageRecordDO> selectPage(MemberBrokerageRecordPageReqVO reqVO) {  
23 - return selectPage(reqVO, new LambdaQueryWrapperX<MemberBrokerageRecordDO>()  
24 - .eqIfPresent(MemberBrokerageRecordDO::getUserId, reqVO.getUserId())  
25 - .eqIfPresent(MemberBrokerageRecordDO::getBizType, reqVO.getBizType())  
26 - .eqIfPresent(MemberBrokerageRecordDO::getStatus, reqVO.getStatus())  
27 - .betweenIfPresent(MemberBrokerageRecordDO::getCreateTime, reqVO.getCreateTime())  
28 - .orderByDesc(MemberBrokerageRecordDO::getId));  
29 - }  
30 -  
31 - default List<MemberBrokerageRecordDO> selectListByStatusAndUnfreezeTimeLt(Integer status, LocalDateTime unfreezeTime) {  
32 - return selectList(new LambdaQueryWrapper<MemberBrokerageRecordDO>()  
33 - .eq(MemberBrokerageRecordDO::getStatus, status)  
34 - .lt(MemberBrokerageRecordDO::getUnfreezeTime, unfreezeTime));  
35 - }  
36 -  
37 - default int updateByIdAndStatus(Integer id, Integer status, MemberBrokerageRecordDO updateObj) {  
38 - return update(updateObj, new LambdaQueryWrapper<MemberBrokerageRecordDO>()  
39 - .eq(MemberBrokerageRecordDO::getId, id)  
40 - .eq(MemberBrokerageRecordDO::getStatus, status));  
41 - }  
42 -  
43 - default MemberBrokerageRecordDO selectByUserIdAndBizTypeAndBizId(Integer bizType, String bizId) {  
44 - return selectOne(MemberBrokerageRecordDO::getBizType, bizType,  
45 - MemberBrokerageRecordDO::getBizId, bizId);  
46 - }  
47 -}  
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/dal/mysql/brokerage/record/TradeBrokerageRecordMapper.java 0 → 100644
  1 +package cn.iocoder.yudao.module.trade.dal.mysql.brokerage.record;
  2 +
  3 +import cn.iocoder.yudao.framework.common.pojo.PageResult;
  4 +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
  5 +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
  6 +import cn.iocoder.yudao.module.trade.controller.admin.brokerage.record.vo.TradeBrokerageRecordPageReqVO;
  7 +import cn.iocoder.yudao.module.trade.dal.dataobject.brokerage.record.TradeBrokerageRecordDO;
  8 +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  9 +import org.apache.ibatis.annotations.Mapper;
  10 +
  11 +import java.time.LocalDateTime;
  12 +import java.util.List;
  13 +
  14 +/**
  15 + * 佣金记录 Mapper
  16 + *
  17 + * @author owen
  18 + */
  19 +@Mapper
  20 +public interface TradeBrokerageRecordMapper extends BaseMapperX<TradeBrokerageRecordDO> {
  21 +
  22 + default PageResult<TradeBrokerageRecordDO> selectPage(TradeBrokerageRecordPageReqVO reqVO) {
  23 + return selectPage(reqVO, new LambdaQueryWrapperX<TradeBrokerageRecordDO>()
  24 + .eqIfPresent(TradeBrokerageRecordDO::getUserId, reqVO.getUserId())
  25 + .eqIfPresent(TradeBrokerageRecordDO::getBizType, reqVO.getBizType())
  26 + .eqIfPresent(TradeBrokerageRecordDO::getStatus, reqVO.getStatus())
  27 + .betweenIfPresent(TradeBrokerageRecordDO::getCreateTime, reqVO.getCreateTime())
  28 + .orderByDesc(TradeBrokerageRecordDO::getId));
  29 + }
  30 +
  31 + default List<TradeBrokerageRecordDO> selectListByStatusAndUnfreezeTimeLt(Integer status, LocalDateTime unfreezeTime) {
  32 + return selectList(new LambdaQueryWrapper<TradeBrokerageRecordDO>()
  33 + .eq(TradeBrokerageRecordDO::getStatus, status)
  34 + .lt(TradeBrokerageRecordDO::getUnfreezeTime, unfreezeTime));
  35 + }
  36 +
  37 + default int updateByIdAndStatus(Integer id, Integer status, TradeBrokerageRecordDO updateObj) {
  38 + return update(updateObj, new LambdaQueryWrapper<TradeBrokerageRecordDO>()
  39 + .eq(TradeBrokerageRecordDO::getId, id)
  40 + .eq(TradeBrokerageRecordDO::getStatus, status));
  41 + }
  42 +
  43 + default TradeBrokerageRecordDO selectByUserIdAndBizTypeAndBizId(Integer bizType, String bizId) {
  44 + return selectOne(TradeBrokerageRecordDO::getBizType, bizType,
  45 + TradeBrokerageRecordDO::getBizId, bizId);
  46 + }
  47 +}
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/job/brokerage/MemberBrokerageRecordUnfreezeJob.java renamed to yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/job/brokerage/TradeBrokerageRecordUnfreezeJob.java
@@ -3,7 +3,7 @@ package cn.iocoder.yudao.module.trade.job.brokerage; @@ -3,7 +3,7 @@ package cn.iocoder.yudao.module.trade.job.brokerage;
3 import cn.hutool.core.util.StrUtil; 3 import cn.hutool.core.util.StrUtil;
4 import cn.iocoder.yudao.framework.quartz.core.handler.JobHandler; 4 import cn.iocoder.yudao.framework.quartz.core.handler.JobHandler;
5 import cn.iocoder.yudao.framework.tenant.core.job.TenantJob; 5 import cn.iocoder.yudao.framework.tenant.core.job.TenantJob;
6 -import cn.iocoder.yudao.module.trade.service.brokerage.record.MemberBrokerageRecordService; 6 +import cn.iocoder.yudao.module.trade.service.brokerage.record.TradeBrokerageRecordService;
7 import org.springframework.stereotype.Component; 7 import org.springframework.stereotype.Component;
8 8
9 import javax.annotation.Resource; 9 import javax.annotation.Resource;
@@ -15,14 +15,14 @@ import javax.annotation.Resource; @@ -15,14 +15,14 @@ import javax.annotation.Resource;
15 */ 15 */
16 @Component 16 @Component
17 @TenantJob 17 @TenantJob
18 -public class MemberBrokerageRecordUnfreezeJob implements JobHandler { 18 +public class TradeBrokerageRecordUnfreezeJob implements JobHandler {
19 19
20 @Resource 20 @Resource
21 - private MemberBrokerageRecordService memberBrokerageRecordService; 21 + private TradeBrokerageRecordService tradeBrokerageRecordService;
22 22
23 @Override 23 @Override
24 public String execute(String param) { 24 public String execute(String param) {
25 - int count = memberBrokerageRecordService.unfreezeRecord(); 25 + int count = tradeBrokerageRecordService.unfreezeRecord();
26 return StrUtil.format("解冻佣金 {} 个", count); 26 return StrUtil.format("解冻佣金 {} 个", count);
27 } 27 }
28 28
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/brokerage/record/MemberBrokerageRecordService.java renamed to yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/brokerage/record/TradeBrokerageRecordService.java
1 package cn.iocoder.yudao.module.trade.service.brokerage.record; 1 package cn.iocoder.yudao.module.trade.service.brokerage.record;
2 2
3 import cn.iocoder.yudao.framework.common.pojo.PageResult; 3 import cn.iocoder.yudao.framework.common.pojo.PageResult;
4 -import cn.iocoder.yudao.module.trade.service.brokerage.record.bo.BrokerageAddReqDTO;  
5 -import cn.iocoder.yudao.module.trade.controller.admin.brokerage.record.vo.MemberBrokerageRecordPageReqVO;  
6 -import cn.iocoder.yudao.module.trade.dal.dataobject.brokerage.record.MemberBrokerageRecordDO; 4 +import cn.iocoder.yudao.module.trade.dal.dataobject.brokerage.record.TradeBrokerageRecordDO;
  5 +import cn.iocoder.yudao.module.trade.service.brokerage.record.bo.BrokerageAddReqBO;
  6 +import cn.iocoder.yudao.module.trade.controller.admin.brokerage.record.vo.TradeBrokerageRecordPageReqVO;
7 7
8 import java.util.List; 8 import java.util.List;
9 9
@@ -12,7 +12,7 @@ import java.util.List; @@ -12,7 +12,7 @@ import java.util.List;
12 * 12 *
13 * @author owen 13 * @author owen
14 */ 14 */
15 -public interface MemberBrokerageRecordService { 15 +public interface TradeBrokerageRecordService {
16 16
17 /** 17 /**
18 * 获得佣金记录 18 * 获得佣金记录
@@ -20,7 +20,7 @@ public interface MemberBrokerageRecordService { @@ -20,7 +20,7 @@ public interface MemberBrokerageRecordService {
20 * @param id 编号 20 * @param id 编号
21 * @return 佣金记录 21 * @return 佣金记录
22 */ 22 */
23 - MemberBrokerageRecordDO getMemberBrokerageRecord(Integer id); 23 + TradeBrokerageRecordDO getBrokerageRecord(Integer id);
24 24
25 /** 25 /**
26 * 获得佣金记录分页 26 * 获得佣金记录分页
@@ -28,7 +28,7 @@ public interface MemberBrokerageRecordService { @@ -28,7 +28,7 @@ public interface MemberBrokerageRecordService {
28 * @param pageReqVO 分页查询 28 * @param pageReqVO 分页查询
29 * @return 佣金记录分页 29 * @return 佣金记录分页
30 */ 30 */
31 - PageResult<MemberBrokerageRecordDO> getMemberBrokerageRecordPage(MemberBrokerageRecordPageReqVO pageReqVO); 31 + PageResult<TradeBrokerageRecordDO> getBrokerageRecordPage(TradeBrokerageRecordPageReqVO pageReqVO);
32 32
33 /** 33 /**
34 * 增加佣金 34 * 增加佣金
@@ -36,7 +36,7 @@ public interface MemberBrokerageRecordService { @@ -36,7 +36,7 @@ public interface MemberBrokerageRecordService {
36 * @param userId 会员编号 36 * @param userId 会员编号
37 * @param list 请求参数列表 37 * @param list 请求参数列表
38 */ 38 */
39 - void addBrokerage(Long userId, List<BrokerageAddReqDTO> list); 39 + void addBrokerage(Long userId, List<BrokerageAddReqBO> list);
40 40
41 /** 41 /**
42 * 取消佣金:将佣金记录,状态修改为已失效 42 * 取消佣金:将佣金记录,状态修改为已失效
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/brokerage/record/MemberBrokerageRecordServiceImpl.java renamed to yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/brokerage/record/TradeBrokerageRecordServiceImpl.java
@@ -6,13 +6,13 @@ import cn.hutool.core.util.NumberUtil; @@ -6,13 +6,13 @@ import cn.hutool.core.util.NumberUtil;
6 import cn.hutool.core.util.ObjectUtil; 6 import cn.hutool.core.util.ObjectUtil;
7 import cn.hutool.extra.spring.SpringUtil; 7 import cn.hutool.extra.spring.SpringUtil;
8 import cn.iocoder.yudao.framework.common.pojo.PageResult; 8 import cn.iocoder.yudao.framework.common.pojo.PageResult;
9 -import cn.iocoder.yudao.module.trade.service.brokerage.record.bo.BrokerageAddReqDTO;  
10 -import cn.iocoder.yudao.module.trade.controller.admin.brokerage.record.vo.MemberBrokerageRecordPageReqVO;  
11 -import cn.iocoder.yudao.module.trade.convert.brokerage.record.MemberBrokerageRecordConvert;  
12 -import cn.iocoder.yudao.module.trade.dal.dataobject.brokerage.record.MemberBrokerageRecordDO; 9 +import cn.iocoder.yudao.module.trade.convert.brokerage.record.TradeBrokerageRecordConvert;
  10 +import cn.iocoder.yudao.module.trade.dal.dataobject.brokerage.record.TradeBrokerageRecordDO;
  11 +import cn.iocoder.yudao.module.trade.service.brokerage.record.bo.BrokerageAddReqBO;
  12 +import cn.iocoder.yudao.module.trade.controller.admin.brokerage.record.vo.TradeBrokerageRecordPageReqVO;
13 import cn.iocoder.yudao.module.trade.dal.dataobject.brokerage.user.TradeBrokerageUserDO; 13 import cn.iocoder.yudao.module.trade.dal.dataobject.brokerage.user.TradeBrokerageUserDO;
14 import cn.iocoder.yudao.module.trade.dal.dataobject.config.TradeConfigDO; 14 import cn.iocoder.yudao.module.trade.dal.dataobject.config.TradeConfigDO;
15 -import cn.iocoder.yudao.module.trade.dal.mysql.brokerage.record.MemberBrokerageRecordMapper; 15 +import cn.iocoder.yudao.module.trade.dal.mysql.brokerage.record.TradeBrokerageRecordMapper;
16 import cn.iocoder.yudao.module.trade.enums.brokerage.BrokerageRecordBizTypeEnum; 16 import cn.iocoder.yudao.module.trade.enums.brokerage.BrokerageRecordBizTypeEnum;
17 import cn.iocoder.yudao.module.trade.enums.brokerage.BrokerageRecordStatusEnum; 17 import cn.iocoder.yudao.module.trade.enums.brokerage.BrokerageRecordStatusEnum;
18 import cn.iocoder.yudao.module.trade.service.brokerage.user.TradeBrokerageUserService; 18 import cn.iocoder.yudao.module.trade.service.brokerage.user.TradeBrokerageUserService;
@@ -37,28 +37,28 @@ import java.util.function.Function; @@ -37,28 +37,28 @@ import java.util.function.Function;
37 @Slf4j 37 @Slf4j
38 @Service 38 @Service
39 @Validated 39 @Validated
40 -public class MemberBrokerageRecordServiceImpl implements MemberBrokerageRecordService { 40 +public class TradeBrokerageRecordServiceImpl implements TradeBrokerageRecordService {
41 41
42 @Resource 42 @Resource
43 - private MemberBrokerageRecordMapper memberBrokerageRecordMapper; 43 + private TradeBrokerageRecordMapper tradeBrokerageRecordMapper;
44 @Resource 44 @Resource
45 private TradeConfigService tradeConfigService; 45 private TradeConfigService tradeConfigService;
46 @Resource 46 @Resource
47 private TradeBrokerageUserService tradeBrokerageUserService; 47 private TradeBrokerageUserService tradeBrokerageUserService;
48 48
49 @Override 49 @Override
50 - public MemberBrokerageRecordDO getMemberBrokerageRecord(Integer id) {  
51 - return memberBrokerageRecordMapper.selectById(id); 50 + public TradeBrokerageRecordDO getBrokerageRecord(Integer id) {
  51 + return tradeBrokerageRecordMapper.selectById(id);
52 } 52 }
53 53
54 @Override 54 @Override
55 - public PageResult<MemberBrokerageRecordDO> getMemberBrokerageRecordPage(MemberBrokerageRecordPageReqVO pageReqVO) {  
56 - return memberBrokerageRecordMapper.selectPage(pageReqVO); 55 + public PageResult<TradeBrokerageRecordDO> getBrokerageRecordPage(TradeBrokerageRecordPageReqVO pageReqVO) {
  56 + return tradeBrokerageRecordMapper.selectPage(pageReqVO);
57 } 57 }
58 58
59 @Override 59 @Override
60 @Transactional(rollbackFor = Exception.class) 60 @Transactional(rollbackFor = Exception.class)
61 - public void addBrokerage(Long buyerId, List<BrokerageAddReqDTO> list) { 61 + public void addBrokerage(Long buyerId, List<BrokerageAddReqBO> list) {
62 TradeConfigDO memberConfig = tradeConfigService.getTradeConfig(); 62 TradeConfigDO memberConfig = tradeConfigService.getTradeConfig();
63 // 0 未启用分销功能 63 // 0 未启用分销功能
64 if (memberConfig == null || !BooleanUtil.isTrue(memberConfig.getBrokerageEnabled())) { 64 if (memberConfig == null || !BooleanUtil.isTrue(memberConfig.getBrokerageEnabled())) {
@@ -73,7 +73,7 @@ public class MemberBrokerageRecordServiceImpl implements MemberBrokerageRecordSe @@ -73,7 +73,7 @@ public class MemberBrokerageRecordServiceImpl implements MemberBrokerageRecordSe
73 } 73 }
74 74
75 // 1.2 计算一级分佣 75 // 1.2 计算一级分佣
76 - addBrokerage(firstUser, list, memberConfig.getBrokerageFrozenDays(), memberConfig.getBrokerageFirstPercent(), BrokerageAddReqDTO::getSkuFirstBrokeragePrice); 76 + addBrokerage(firstUser, list, memberConfig.getBrokerageFrozenDays(), memberConfig.getBrokerageFirstPercent(), BrokerageAddReqBO::getSkuFirstBrokeragePrice);
77 77
78 78
79 // 2.1 获得二级推广员 79 // 2.1 获得二级推广员
@@ -83,20 +83,20 @@ public class MemberBrokerageRecordServiceImpl implements MemberBrokerageRecordSe @@ -83,20 +83,20 @@ public class MemberBrokerageRecordServiceImpl implements MemberBrokerageRecordSe
83 } 83 }
84 84
85 // 2.2 计算二级分佣 85 // 2.2 计算二级分佣
86 - addBrokerage(secondUser, list, memberConfig.getBrokerageFrozenDays(), memberConfig.getBrokerageSecondPercent(), BrokerageAddReqDTO::getSkuSecondBrokeragePrice); 86 + addBrokerage(secondUser, list, memberConfig.getBrokerageFrozenDays(), memberConfig.getBrokerageSecondPercent(), BrokerageAddReqBO::getSkuSecondBrokeragePrice);
87 } 87 }
88 88
89 @Override 89 @Override
90 @Transactional(rollbackFor = Exception.class) 90 @Transactional(rollbackFor = Exception.class)
91 public void cancelBrokerage(Long userId, String bizId) { 91 public void cancelBrokerage(Long userId, String bizId) {
92 - MemberBrokerageRecordDO record = memberBrokerageRecordMapper.selectByUserIdAndBizTypeAndBizId(BrokerageRecordBizTypeEnum.ORDER.getType(), bizId); 92 + TradeBrokerageRecordDO record = tradeBrokerageRecordMapper.selectByUserIdAndBizTypeAndBizId(BrokerageRecordBizTypeEnum.ORDER.getType(), bizId);
93 if (record == null || ObjectUtil.notEqual(record.getUserId(), userId)) { 93 if (record == null || ObjectUtil.notEqual(record.getUserId(), userId)) {
94 log.error("[cancelBrokerage][userId({})][bizId({}) 更新为已失效失败:记录不存在]", userId, bizId); 94 log.error("[cancelBrokerage][userId({})][bizId({}) 更新为已失效失败:记录不存在]", userId, bizId);
95 return; 95 return;
96 } 96 }
97 97
98 - MemberBrokerageRecordDO updateObj = new MemberBrokerageRecordDO().setStatus(BrokerageRecordStatusEnum.CANCEL.getStatus());  
99 - int updateRows = memberBrokerageRecordMapper.updateByIdAndStatus(record.getId(), record.getStatus(), updateObj); 98 + TradeBrokerageRecordDO updateObj = new TradeBrokerageRecordDO().setStatus(BrokerageRecordStatusEnum.CANCEL.getStatus());
  99 + int updateRows = tradeBrokerageRecordMapper.updateByIdAndStatus(record.getId(), record.getStatus(), updateObj);
100 if (updateRows == 0) { 100 if (updateRows == 0) {
101 log.error("[cancelBrokerage][record({}) 更新为已失效失败]", record.getId()); 101 log.error("[cancelBrokerage][record({}) 更新为已失效失败]", record.getId());
102 return; 102 return;
@@ -140,8 +140,8 @@ public class MemberBrokerageRecordServiceImpl implements MemberBrokerageRecordSe @@ -140,8 +140,8 @@ public class MemberBrokerageRecordServiceImpl implements MemberBrokerageRecordSe
140 * @param brokeragePercent 佣金比例 140 * @param brokeragePercent 佣金比例
141 * @param skuBrokeragePriceFun 商品 SKU 设置的佣金 141 * @param skuBrokeragePriceFun 商品 SKU 设置的佣金
142 */ 142 */
143 - private void addBrokerage(TradeBrokerageUserDO user, List<BrokerageAddReqDTO> list, Integer brokerageFrozenDays,  
144 - Integer brokeragePercent, Function<BrokerageAddReqDTO, Integer> skuBrokeragePriceFun) { 143 + private void addBrokerage(TradeBrokerageUserDO user, List<BrokerageAddReqBO> list, Integer brokerageFrozenDays,
  144 + Integer brokeragePercent, Function<BrokerageAddReqBO, Integer> skuBrokeragePriceFun) {
145 // 处理冻结时间 145 // 处理冻结时间
146 brokerageFrozenDays = ObjectUtil.defaultIfNull(brokerageFrozenDays, 0); 146 brokerageFrozenDays = ObjectUtil.defaultIfNull(brokerageFrozenDays, 0);
147 LocalDateTime unfreezeTime = null; 147 LocalDateTime unfreezeTime = null;
@@ -151,12 +151,12 @@ public class MemberBrokerageRecordServiceImpl implements MemberBrokerageRecordSe @@ -151,12 +151,12 @@ public class MemberBrokerageRecordServiceImpl implements MemberBrokerageRecordSe
151 151
152 // 计算分佣 152 // 计算分佣
153 int totalBrokerage = 0; 153 int totalBrokerage = 0;
154 - List<MemberBrokerageRecordDO> records = new ArrayList<>();  
155 - for (BrokerageAddReqDTO dto : list) { 154 + List<TradeBrokerageRecordDO> records = new ArrayList<>();
  155 + for (BrokerageAddReqBO dto : list) {
156 int brokeragePerItem = calculateBrokerage(dto.getPayPrice(), brokeragePercent, skuBrokeragePriceFun.apply(dto)); 156 int brokeragePerItem = calculateBrokerage(dto.getPayPrice(), brokeragePercent, skuBrokeragePriceFun.apply(dto));
157 if (brokeragePerItem > 0) { 157 if (brokeragePerItem > 0) {
158 int brokerage = brokeragePerItem * dto.getCount(); 158 int brokerage = brokeragePerItem * dto.getCount();
159 - records.add(MemberBrokerageRecordConvert.INSTANCE.convert(user, dto.getBizId(), brokerageFrozenDays, brokerage, unfreezeTime)); 159 + records.add(TradeBrokerageRecordConvert.INSTANCE.convert(user, dto.getBizId(), brokerageFrozenDays, brokerage, unfreezeTime));
160 totalBrokerage += brokerage; 160 totalBrokerage += brokerage;
161 } 161 }
162 } 162 }
@@ -166,7 +166,7 @@ public class MemberBrokerageRecordServiceImpl implements MemberBrokerageRecordSe @@ -166,7 +166,7 @@ public class MemberBrokerageRecordServiceImpl implements MemberBrokerageRecordSe
166 } 166 }
167 167
168 // 保存佣金记录 168 // 保存佣金记录
169 - memberBrokerageRecordMapper.insertBatch(records); 169 + tradeBrokerageRecordMapper.insertBatch(records);
170 170
171 if (brokerageFrozenDays > 0) { 171 if (brokerageFrozenDays > 0) {
172 // 更新用户冻结佣金 172 // 更新用户冻结佣金
@@ -180,7 +180,7 @@ public class MemberBrokerageRecordServiceImpl implements MemberBrokerageRecordSe @@ -180,7 +180,7 @@ public class MemberBrokerageRecordServiceImpl implements MemberBrokerageRecordSe
180 @Override 180 @Override
181 public int unfreezeRecord() { 181 public int unfreezeRecord() {
182 // 1. 查询待结算的佣金记录 182 // 1. 查询待结算的佣金记录
183 - List<MemberBrokerageRecordDO> records = memberBrokerageRecordMapper.selectListByStatusAndUnfreezeTimeLt( 183 + List<TradeBrokerageRecordDO> records = tradeBrokerageRecordMapper.selectListByStatusAndUnfreezeTimeLt(
184 BrokerageRecordStatusEnum.WAIT_SETTLEMENT.getStatus(), LocalDateTime.now()); 184 BrokerageRecordStatusEnum.WAIT_SETTLEMENT.getStatus(), LocalDateTime.now());
185 if (CollUtil.isEmpty(records)) { 185 if (CollUtil.isEmpty(records)) {
186 return 0; 186 return 0;
@@ -188,7 +188,7 @@ public class MemberBrokerageRecordServiceImpl implements MemberBrokerageRecordSe @@ -188,7 +188,7 @@ public class MemberBrokerageRecordServiceImpl implements MemberBrokerageRecordSe
188 188
189 // 2. 遍历执行 189 // 2. 遍历执行
190 int count = 0; 190 int count = 0;
191 - for (MemberBrokerageRecordDO record : records) { 191 + for (TradeBrokerageRecordDO record : records) {
192 try { 192 try {
193 boolean successful = getSelf().unfreezeRecord(record); 193 boolean successful = getSelf().unfreezeRecord(record);
194 if (successful) { 194 if (successful) {
@@ -202,12 +202,12 @@ public class MemberBrokerageRecordServiceImpl implements MemberBrokerageRecordSe @@ -202,12 +202,12 @@ public class MemberBrokerageRecordServiceImpl implements MemberBrokerageRecordSe
202 } 202 }
203 203
204 @Transactional(rollbackFor = Exception.class) 204 @Transactional(rollbackFor = Exception.class)
205 - public boolean unfreezeRecord(MemberBrokerageRecordDO record) { 205 + public boolean unfreezeRecord(TradeBrokerageRecordDO record) {
206 // 更新记录状态 206 // 更新记录状态
207 - MemberBrokerageRecordDO updateObj = new MemberBrokerageRecordDO() 207 + TradeBrokerageRecordDO updateObj = new TradeBrokerageRecordDO()
208 .setStatus(BrokerageRecordStatusEnum.SETTLEMENT.getStatus()) 208 .setStatus(BrokerageRecordStatusEnum.SETTLEMENT.getStatus())
209 .setUnfreezeTime(LocalDateTime.now()); 209 .setUnfreezeTime(LocalDateTime.now());
210 - int updateRows = memberBrokerageRecordMapper.updateByIdAndStatus(record.getId(), record.getStatus(), updateObj); 210 + int updateRows = tradeBrokerageRecordMapper.updateByIdAndStatus(record.getId(), record.getStatus(), updateObj);
211 if (updateRows == 0) { 211 if (updateRows == 0) {
212 log.error("[unfreezeRecord][record({}) 更新为已结算失败]", record.getId()); 212 log.error("[unfreezeRecord][record({}) 更新为已结算失败]", record.getId());
213 return false; 213 return false;
@@ -225,7 +225,7 @@ public class MemberBrokerageRecordServiceImpl implements MemberBrokerageRecordSe @@ -225,7 +225,7 @@ public class MemberBrokerageRecordServiceImpl implements MemberBrokerageRecordSe
225 * 225 *
226 * @return 自己 226 * @return 自己
227 */ 227 */
228 - private MemberBrokerageRecordServiceImpl getSelf() { 228 + private TradeBrokerageRecordServiceImpl getSelf() {
229 return SpringUtil.getBean(getClass()); 229 return SpringUtil.getBean(getClass());
230 } 230 }
231 231
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/brokerage/record/bo/BrokerageAddReqDTO.java renamed to yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/brokerage/record/bo/BrokerageAddReqBO.java
@@ -5,13 +5,13 @@ import lombok.Data; @@ -5,13 +5,13 @@ import lombok.Data;
5 import lombok.NoArgsConstructor; 5 import lombok.NoArgsConstructor;
6 6
7 /** 7 /**
8 - * 佣金 增加 Request DTO 8 + * 佣金 增加 Request BO
9 * @author owen 9 * @author owen
10 */ 10 */
11 @Data 11 @Data
12 @NoArgsConstructor 12 @NoArgsConstructor
13 @AllArgsConstructor 13 @AllArgsConstructor
14 -public class BrokerageAddReqDTO { 14 +public class BrokerageAddReqBO {
15 /** 15 /**
16 * 业务ID 16 * 业务ID
17 */ 17 */
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/order/TradeOrderUpdateServiceImpl.java
@@ -12,8 +12,8 @@ import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; @@ -12,8 +12,8 @@ import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
12 import cn.iocoder.yudao.framework.common.util.json.JsonUtils; 12 import cn.iocoder.yudao.framework.common.util.json.JsonUtils;
13 import cn.iocoder.yudao.module.member.api.address.AddressApi; 13 import cn.iocoder.yudao.module.member.api.address.AddressApi;
14 import cn.iocoder.yudao.module.member.api.address.dto.AddressRespDTO; 14 import cn.iocoder.yudao.module.member.api.address.dto.AddressRespDTO;
15 -import cn.iocoder.yudao.module.trade.service.brokerage.record.MemberBrokerageRecordService;  
16 -import cn.iocoder.yudao.module.trade.service.brokerage.record.bo.BrokerageAddReqDTO; 15 +import cn.iocoder.yudao.module.trade.service.brokerage.record.TradeBrokerageRecordService;
  16 +import cn.iocoder.yudao.module.trade.service.brokerage.record.bo.BrokerageAddReqBO;
17 import cn.iocoder.yudao.module.member.api.level.MemberLevelApi; 17 import cn.iocoder.yudao.module.member.api.level.MemberLevelApi;
18 import cn.iocoder.yudao.module.member.api.point.MemberPointApi; 18 import cn.iocoder.yudao.module.member.api.point.MemberPointApi;
19 import cn.iocoder.yudao.module.member.api.user.MemberUserApi; 19 import cn.iocoder.yudao.module.member.api.user.MemberUserApi;
@@ -120,7 +120,7 @@ public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService { @@ -120,7 +120,7 @@ public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService {
120 @Resource 120 @Resource
121 private MemberPointApi memberPointApi; 121 private MemberPointApi memberPointApi;
122 @Resource 122 @Resource
123 - private MemberBrokerageRecordService memberBrokerageRecordService; 123 + private TradeBrokerageRecordService tradeBrokerageRecordService;
124 @Resource 124 @Resource
125 private ProductCommentApi productCommentApi; 125 private ProductCommentApi productCommentApi;
126 126
@@ -752,14 +752,14 @@ public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService { @@ -752,14 +752,14 @@ public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService {
752 @Async 752 @Async
753 protected void addBrokerageAsync(Long userId, Long orderId) { 753 protected void addBrokerageAsync(Long userId, Long orderId) {
754 List<TradeOrderItemDO> orderItems = tradeOrderItemMapper.selectListByOrderId(orderId); 754 List<TradeOrderItemDO> orderItems = tradeOrderItemMapper.selectListByOrderId(orderId);
755 - List<BrokerageAddReqDTO> list = convertList(orderItems, 755 + List<BrokerageAddReqBO> list = convertList(orderItems,
756 item -> TradeOrderConvert.INSTANCE.convert(item, productSkuApi.getSku(item.getSkuId()))); 756 item -> TradeOrderConvert.INSTANCE.convert(item, productSkuApi.getSku(item.getSkuId())));
757 - memberBrokerageRecordService.addBrokerage(userId, list); 757 + tradeBrokerageRecordService.addBrokerage(userId, list);
758 } 758 }
759 759
760 @Async 760 @Async
761 protected void cancelBrokerageAsync(Long userId, Long orderItemId) { 761 protected void cancelBrokerageAsync(Long userId, Long orderItemId) {
762 - memberBrokerageRecordService.cancelBrokerage(userId, String.valueOf(orderItemId)); 762 + tradeBrokerageRecordService.cancelBrokerage(userId, String.valueOf(orderItemId));
763 } 763 }
764 764
765 /** 765 /**
yudao-module-mall/yudao-module-trade-biz/src/test/java/cn/iocoder/yudao/module/trade/service/brokerage/record/MemberBrokerageRecordServiceImplTest.java renamed to yudao-module-mall/yudao-module-trade-biz/src/test/java/cn/iocoder/yudao/module/trade/service/brokerage/record/TradeBrokerageRecordServiceImplTest.java
@@ -3,9 +3,9 @@ package cn.iocoder.yudao.module.trade.service.brokerage.record; @@ -3,9 +3,9 @@ package cn.iocoder.yudao.module.trade.service.brokerage.record;
3 import cn.hutool.core.util.NumberUtil; 3 import cn.hutool.core.util.NumberUtil;
4 import cn.iocoder.yudao.framework.common.pojo.PageResult; 4 import cn.iocoder.yudao.framework.common.pojo.PageResult;
5 import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest; 5 import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest;
6 -import cn.iocoder.yudao.module.trade.controller.admin.brokerage.record.vo.MemberBrokerageRecordPageReqVO;  
7 -import cn.iocoder.yudao.module.trade.dal.dataobject.brokerage.record.MemberBrokerageRecordDO;  
8 -import cn.iocoder.yudao.module.trade.dal.mysql.brokerage.record.MemberBrokerageRecordMapper; 6 +import cn.iocoder.yudao.module.trade.controller.admin.brokerage.record.vo.TradeBrokerageRecordPageReqVO;
  7 +import cn.iocoder.yudao.module.trade.dal.dataobject.brokerage.record.TradeBrokerageRecordDO;
  8 +import cn.iocoder.yudao.module.trade.dal.mysql.brokerage.record.TradeBrokerageRecordMapper;
9 import cn.iocoder.yudao.module.trade.service.brokerage.user.TradeBrokerageUserService; 9 import cn.iocoder.yudao.module.trade.service.brokerage.user.TradeBrokerageUserService;
10 import cn.iocoder.yudao.module.trade.service.config.TradeConfigService; 10 import cn.iocoder.yudao.module.trade.service.config.TradeConfigService;
11 import org.junit.jupiter.api.Disabled; 11 import org.junit.jupiter.api.Disabled;
@@ -26,17 +26,17 @@ import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomPojo; @@ -26,17 +26,17 @@ import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomPojo;
26 import static org.junit.jupiter.api.Assertions.assertEquals; 26 import static org.junit.jupiter.api.Assertions.assertEquals;
27 27
28 /** 28 /**
29 - * {@link MemberBrokerageRecordServiceImpl} 的单元测试类 29 + * {@link TradeBrokerageRecordServiceImpl} 的单元测试类
30 * 30 *
31 * @author owen 31 * @author owen
32 */ 32 */
33 -@Import(MemberBrokerageRecordServiceImpl.class)  
34 -public class MemberBrokerageRecordServiceImplTest extends BaseDbUnitTest { 33 +@Import(TradeBrokerageRecordServiceImpl.class)
  34 +public class TradeBrokerageRecordServiceImplTest extends BaseDbUnitTest {
35 35
36 @Resource 36 @Resource
37 - private MemberBrokerageRecordServiceImpl memberBrokerageRecordService; 37 + private TradeBrokerageRecordServiceImpl tradeBrokerageRecordService;
38 @Resource 38 @Resource
39 - private MemberBrokerageRecordMapper memberBrokerageRecordMapper; 39 + private TradeBrokerageRecordMapper tradeBrokerageRecordMapper;
40 40
41 @MockBean 41 @MockBean
42 private TradeConfigService tradeConfigService; 42 private TradeConfigService tradeConfigService;
@@ -45,36 +45,36 @@ public class MemberBrokerageRecordServiceImplTest extends BaseDbUnitTest { @@ -45,36 +45,36 @@ public class MemberBrokerageRecordServiceImplTest extends BaseDbUnitTest {
45 45
46 @Test 46 @Test
47 @Disabled // TODO 请修改 null 为需要的值,然后删除 @Disabled 注解 47 @Disabled // TODO 请修改 null 为需要的值,然后删除 @Disabled 注解
48 - public void testGetMemberBrokerageRecordPage() { 48 + public void testGetBrokerageRecordPage() {
49 // mock 数据 49 // mock 数据
50 - MemberBrokerageRecordDO dbMemberBrokerageRecord = randomPojo(MemberBrokerageRecordDO.class, o -> { // 等会查询到 50 + TradeBrokerageRecordDO dbBrokerageRecord = randomPojo(TradeBrokerageRecordDO.class, o -> { // 等会查询到
51 o.setUserId(null); 51 o.setUserId(null);
52 o.setBizType(null); 52 o.setBizType(null);
53 o.setStatus(null); 53 o.setStatus(null);
54 o.setCreateTime(null); 54 o.setCreateTime(null);
55 }); 55 });
56 - memberBrokerageRecordMapper.insert(dbMemberBrokerageRecord); 56 + tradeBrokerageRecordMapper.insert(dbBrokerageRecord);
57 // 测试 userId 不匹配 57 // 测试 userId 不匹配
58 - memberBrokerageRecordMapper.insert(cloneIgnoreId(dbMemberBrokerageRecord, o -> o.setUserId(null))); 58 + tradeBrokerageRecordMapper.insert(cloneIgnoreId(dbBrokerageRecord, o -> o.setUserId(null)));
59 // 测试 bizType 不匹配 59 // 测试 bizType 不匹配
60 - memberBrokerageRecordMapper.insert(cloneIgnoreId(dbMemberBrokerageRecord, o -> o.setBizType(null))); 60 + tradeBrokerageRecordMapper.insert(cloneIgnoreId(dbBrokerageRecord, o -> o.setBizType(null)));
61 // 测试 status 不匹配 61 // 测试 status 不匹配
62 - memberBrokerageRecordMapper.insert(cloneIgnoreId(dbMemberBrokerageRecord, o -> o.setStatus(null))); 62 + tradeBrokerageRecordMapper.insert(cloneIgnoreId(dbBrokerageRecord, o -> o.setStatus(null)));
63 // 测试 createTime 不匹配 63 // 测试 createTime 不匹配
64 - memberBrokerageRecordMapper.insert(cloneIgnoreId(dbMemberBrokerageRecord, o -> o.setCreateTime(null))); 64 + tradeBrokerageRecordMapper.insert(cloneIgnoreId(dbBrokerageRecord, o -> o.setCreateTime(null)));
65 // 准备参数 65 // 准备参数
66 - MemberBrokerageRecordPageReqVO reqVO = new MemberBrokerageRecordPageReqVO(); 66 + TradeBrokerageRecordPageReqVO reqVO = new TradeBrokerageRecordPageReqVO();
67 reqVO.setUserId(null); 67 reqVO.setUserId(null);
68 reqVO.setBizType(null); 68 reqVO.setBizType(null);
69 reqVO.setStatus(null); 69 reqVO.setStatus(null);
70 reqVO.setCreateTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28)); 70 reqVO.setCreateTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28));
71 71
72 // 调用 72 // 调用
73 - PageResult<MemberBrokerageRecordDO> pageResult = memberBrokerageRecordService.getMemberBrokerageRecordPage(reqVO); 73 + PageResult<TradeBrokerageRecordDO> pageResult = tradeBrokerageRecordService.getBrokerageRecordPage(reqVO);
74 // 断言 74 // 断言
75 assertEquals(1, pageResult.getTotal()); 75 assertEquals(1, pageResult.getTotal());
76 assertEquals(1, pageResult.getList().size()); 76 assertEquals(1, pageResult.getList().size());
77 - assertPojoEquals(dbMemberBrokerageRecord, pageResult.getList().get(0)); 77 + assertPojoEquals(dbBrokerageRecord, pageResult.getList().get(0));
78 } 78 }
79 79
80 @Test 80 @Test
@@ -84,7 +84,7 @@ public class MemberBrokerageRecordServiceImplTest extends BaseDbUnitTest { @@ -84,7 +84,7 @@ public class MemberBrokerageRecordServiceImplTest extends BaseDbUnitTest {
84 Integer percent = randomInt(1, 101); 84 Integer percent = randomInt(1, 101);
85 Integer skuBrokeragePrice = randomInt(); 85 Integer skuBrokeragePrice = randomInt();
86 // 调用 86 // 调用
87 - int brokerage = memberBrokerageRecordService.calculateBrokerage(payPrice, percent, skuBrokeragePrice); 87 + int brokerage = tradeBrokerageRecordService.calculateBrokerage(payPrice, percent, skuBrokeragePrice);
88 // 断言 88 // 断言
89 assertEquals(brokerage, skuBrokeragePrice); 89 assertEquals(brokerage, skuBrokeragePrice);
90 } 90 }
@@ -97,7 +97,7 @@ public class MemberBrokerageRecordServiceImplTest extends BaseDbUnitTest { @@ -97,7 +97,7 @@ public class MemberBrokerageRecordServiceImplTest extends BaseDbUnitTest {
97 Integer skuBrokeragePrice = randomEle(new Integer[]{0, null}); 97 Integer skuBrokeragePrice = randomEle(new Integer[]{0, null});
98 System.out.println("skuBrokeragePrice=" + skuBrokeragePrice); 98 System.out.println("skuBrokeragePrice=" + skuBrokeragePrice);
99 // 调用 99 // 调用
100 - int brokerage = memberBrokerageRecordService.calculateBrokerage(payPrice, percent, skuBrokeragePrice); 100 + int brokerage = tradeBrokerageRecordService.calculateBrokerage(payPrice, percent, skuBrokeragePrice);
101 // 断言 101 // 断言
102 assertEquals(brokerage, NumberUtil.div(NumberUtil.mul(payPrice, percent), 100, 0, RoundingMode.DOWN).intValue()); 102 assertEquals(brokerage, NumberUtil.div(NumberUtil.mul(payPrice, percent), 100, 0, RoundingMode.DOWN).intValue());
103 } 103 }
@@ -109,7 +109,7 @@ public class MemberBrokerageRecordServiceImplTest extends BaseDbUnitTest { @@ -109,7 +109,7 @@ public class MemberBrokerageRecordServiceImplTest extends BaseDbUnitTest {
109 Integer percent = null; 109 Integer percent = null;
110 Integer skuBrokeragePrice = null; 110 Integer skuBrokeragePrice = null;
111 // 调用 111 // 调用
112 - int brokerage = memberBrokerageRecordService.calculateBrokerage(payPrice, percent, skuBrokeragePrice); 112 + int brokerage = tradeBrokerageRecordService.calculateBrokerage(payPrice, percent, skuBrokeragePrice);
113 // 断言 113 // 断言
114 assertEquals(brokerage, 0); 114 assertEquals(brokerage, 0);
115 } 115 }
yudao-module-mall/yudao-module-trade-biz/src/test/resources/sql/clean.sql
@@ -2,4 +2,5 @@ DELETE FROM trade_order; @@ -2,4 +2,5 @@ DELETE FROM trade_order;
2 DELETE FROM trade_order_item; 2 DELETE FROM trade_order_item;
3 DELETE FROM trade_after_sale; 3 DELETE FROM trade_after_sale;
4 DELETE FROM trade_after_sale_log; 4 DELETE FROM trade_after_sale_log;
5 -DELETE FROM "trade_brokerage_user"; 5 +DELETE FROM trade_brokerage_user;
  6 +DELETE FROM trade_brokerage_record;
yudao-module-mall/yudao-module-trade-biz/src/test/resources/sql/create_tables.sql
@@ -142,4 +142,25 @@ CREATE TABLE IF NOT EXISTS &quot;trade_brokerage_user&quot; @@ -142,4 +142,25 @@ CREATE TABLE IF NOT EXISTS &quot;trade_brokerage_user&quot;
142 "deleted" bit NOT NULL DEFAULT FALSE, 142 "deleted" bit NOT NULL DEFAULT FALSE,
143 "tenant_id" bigint NOT NULL DEFAULT '0', 143 "tenant_id" bigint NOT NULL DEFAULT '0',
144 PRIMARY KEY ("id") 144 PRIMARY KEY ("id")
145 -) COMMENT '分销用户';  
146 \ No newline at end of file 145 \ No newline at end of file
  146 +) COMMENT '分销用户';
  147 +CREATE TABLE IF NOT EXISTS "trade_brokerage_record"
  148 +(
  149 + "id" int NOT NULL GENERATED BY DEFAULT AS IDENTITY,
  150 + "user_id" bigint NOT NULL,
  151 + "biz_id" varchar NOT NULL,
  152 + "biz_type" varchar NOT NULL,
  153 + "title" varchar NOT NULL,
  154 + "price" int NOT NULL,
  155 + "total_price" int NOT NULL,
  156 + "description" varchar NOT NULL,
  157 + "status" varchar NOT NULL,
  158 + "frozen_days" int NOT NULL,
  159 + "unfreeze_time" varchar,
  160 + "creator" varchar DEFAULT '',
  161 + "create_time" datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  162 + "updater" varchar DEFAULT '',
  163 + "update_time" datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  164 + "deleted" bit NOT NULL DEFAULT FALSE,
  165 + "tenant_id" bigint not null default '0',
  166 + PRIMARY KEY ("id")
  167 +) COMMENT '佣金记录';
147 \ No newline at end of file 168 \ No newline at end of file
yudao-module-member/yudao-module-member-biz/src/test/resources/sql/clean.sql
@@ -2,5 +2,4 @@ DELETE FROM &quot;member_user&quot;; @@ -2,5 +2,4 @@ DELETE FROM &quot;member_user&quot;;
2 DELETE FROM "member_address"; 2 DELETE FROM "member_address";
3 DELETE FROM "member_tag"; 3 DELETE FROM "member_tag";
4 DELETE FROM "member_level"; 4 DELETE FROM "member_level";
5 -DELETE FROM "member_group";  
6 -DELETE FROM "member_brokerage_record";  
7 \ No newline at end of file 5 \ No newline at end of file
  6 +DELETE FROM "member_group";
8 \ No newline at end of file 7 \ No newline at end of file
yudao-module-member/yudao-module-member-biz/src/test/resources/sql/create_tables.sql
@@ -89,25 +89,4 @@ CREATE TABLE IF NOT EXISTS &quot;member_group&quot; @@ -89,25 +89,4 @@ CREATE TABLE IF NOT EXISTS &quot;member_group&quot;
89 "deleted" bit NOT NULL DEFAULT FALSE, 89 "deleted" bit NOT NULL DEFAULT FALSE,
90 "tenant_id" bigint not null default '0', 90 "tenant_id" bigint not null default '0',
91 PRIMARY KEY ("id") 91 PRIMARY KEY ("id")
92 -) COMMENT '用户分组';  
93 -CREATE TABLE IF NOT EXISTS "member_brokerage_record"  
94 -(  
95 - "id" int NOT NULL GENERATED BY DEFAULT AS IDENTITY,  
96 - "user_id" bigint NOT NULL,  
97 - "biz_id" varchar NOT NULL,  
98 - "biz_type" varchar NOT NULL,  
99 - "title" varchar NOT NULL,  
100 - "price" int NOT NULL,  
101 - "total_price" int NOT NULL,  
102 - "description" varchar NOT NULL,  
103 - "status" varchar NOT NULL,  
104 - "frozen_days" int NOT NULL,  
105 - "unfreeze_time" varchar,  
106 - "creator" varchar DEFAULT '',  
107 - "create_time" datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,  
108 - "updater" varchar DEFAULT '',  
109 - "update_time" datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,  
110 - "deleted" bit NOT NULL DEFAULT FALSE,  
111 - "tenant_id" bigint not null default '0',  
112 - PRIMARY KEY ("id")  
113 -) COMMENT '佣金记录';  
114 \ No newline at end of file 92 \ No newline at end of file
  93 +) COMMENT '用户分组';
115 \ No newline at end of file 94 \ No newline at end of file