Merge branch 'feature/community-center' into preview

master
yang 2025-03-29 15:54:02 +08:00
commit ef36122845
8 changed files with 104 additions and 0 deletions

View File

@ -12,6 +12,7 @@ import com.mcwl.memberCenter.domain.MemberConsume;
import com.mcwl.memberCenter.domain.vo.MemberConsumeVO; import com.mcwl.memberCenter.domain.vo.MemberConsumeVO;
import com.mcwl.memberCenter.domain.vo.RechargeRecordVO; import com.mcwl.memberCenter.domain.vo.RechargeRecordVO;
import com.mcwl.memberCenter.service.MemberService; import com.mcwl.memberCenter.service.MemberService;
import com.mcwl.myInvitation.service.CommissionService;
import com.mcwl.myInvitation.service.ConsumeService; import com.mcwl.myInvitation.service.ConsumeService;
import com.mcwl.pay.service.OrderTradeService; import com.mcwl.pay.service.OrderTradeService;
import com.mcwl.resource.domain.dto.ModelImagePageRes; import com.mcwl.resource.domain.dto.ModelImagePageRes;
@ -54,6 +55,8 @@ public class PersonalCenterController {
private final ConsumeService consumeService; private final ConsumeService consumeService;
private final CommissionService commissionService;
/** /**
* - * -
@ -150,6 +153,16 @@ public class PersonalCenterController {
return consumeService.getWalletRecord(pageDomain); return consumeService.getWalletRecord(pageDomain);
} }
/**
*
*/
@ApiOperation(value = "获取金币收入记录")
@PostMapping("/getWalletIncomeRecord")
public TableDataInfo getWalletIncomeRecord(@Valid @RequestBody PageDomain pageDomain) {
return commissionService.getWalletIncomeRecord(pageDomain);
}
/** /**
* *
*/ */

View File

@ -24,4 +24,7 @@ public class Commission extends BaseEntity {
// 提成金额 // 提成金额
private Double amount; private Double amount;
// 剩余金币
private Double wallet;
} }

View File

@ -32,6 +32,9 @@ public class Consume extends BaseEntity {
// 商品类型 0模型 1工作流 2图片 // 商品类型 0模型 1工作流 2图片
private Integer type; private Integer type;
// 剩余金币
private Double wallet;
// 消费时间 // 消费时间
private Date consumeDate; private Date consumeDate;
} }

View File

@ -0,0 +1,39 @@
package com.mcwl.myInvitation.domain.vo;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
*
*/
@Data
@ApiModel(description = "金币收入")
public class CommissionVo {
/**
*
*/
@ApiModelProperty("收入金币")
private Double amount;
/**
*
*/
@ApiModelProperty("剩余金币")
private Double wallet;
/**
*
*/
@ApiModelProperty("创建时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date createTime;
}

View File

@ -31,6 +31,12 @@ public class ConsumeVo {
@ApiModelProperty(value = "商品名称") @ApiModelProperty(value = "商品名称")
private String productName; private String productName;
/**
*
*/
@ApiModelProperty(value = "剩余金币")
private Double wallet;
// 消费时间 // 消费时间
@ApiModelProperty(value = "消费时间") @ApiModelProperty(value = "消费时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")

View File

@ -1,8 +1,13 @@
package com.mcwl.myInvitation.service; package com.mcwl.myInvitation.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.mcwl.common.core.page.PageDomain;
import com.mcwl.common.core.page.TableDataInfo;
import com.mcwl.myInvitation.domain.Commission; import com.mcwl.myInvitation.domain.Commission;
import javax.validation.Valid;
public interface CommissionService extends IService<Commission> { public interface CommissionService extends IService<Commission> {
TableDataInfo getWalletIncomeRecord(PageDomain pageDomain);
} }

View File

@ -1,16 +1,45 @@
package com.mcwl.myInvitation.service.impl; package com.mcwl.myInvitation.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.mcwl.common.constant.HttpStatus;
import com.mcwl.common.core.page.PageDomain;
import com.mcwl.common.core.page.TableDataInfo;
import com.mcwl.common.utils.SecurityUtils;
import com.mcwl.myInvitation.domain.Commission; import com.mcwl.myInvitation.domain.Commission;
import com.mcwl.myInvitation.domain.vo.CommissionVo;
import com.mcwl.myInvitation.mapper.CommissionMapper; import com.mcwl.myInvitation.mapper.CommissionMapper;
import com.mcwl.myInvitation.service.CommissionService; import com.mcwl.myInvitation.service.CommissionService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List;
@Service @Service
@RequiredArgsConstructor @RequiredArgsConstructor
public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commission> implements CommissionService { public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commission> implements CommissionService {
@Override
public TableDataInfo getWalletIncomeRecord(PageDomain pageDomain) {
Page<Commission> page = new Page<>(pageDomain.getPageNum(), pageDomain.getPageSize());
baseMapper.selectPage(page, new LambdaQueryWrapper<Commission>()
.eq(Commission::getUserId, SecurityUtils.getUserId()));
List<Commission> commissionList = page.getRecords();
List<CommissionVo> commissionVoList = BeanUtil.copyToList(commissionList, CommissionVo.class);
TableDataInfo rspData = new TableDataInfo();
rspData.setCode(HttpStatus.SUCCESS);
rspData.setMsg("查询成功");
rspData.setRows(commissionVoList);
rspData.setTotal(page.getTotal());
return rspData;
}
} }

View File

@ -155,6 +155,7 @@ public class OrderTradeServiceImpl extends ServiceImpl<OrderTradeMapper, OrderTr
consume.setAmount(price); consume.setAmount(price);
consume.setProductId(productId); consume.setProductId(productId);
consume.setType(productType); consume.setType(productType);
consume.setWallet(sysUser.getWallet());
consume.setConsumeDate(new Date()); consume.setConsumeDate(new Date());
consumeService.save(consume); consumeService.save(consume);
@ -172,10 +173,15 @@ public class OrderTradeServiceImpl extends ServiceImpl<OrderTradeMapper, OrderTr
return; return;
} }
if (amount == 0) {
return;
}
// 保存提成表 // 保存提成表
Commission commission = new Commission(); Commission commission = new Commission();
commission.setUserId(inviterUserId); commission.setUserId(inviterUserId);
commission.setAmount(amount); commission.setAmount(amount);
commission.setWallet(sysUser.getWallet());
commissionService.save(commission); commissionService.save(commission);
} }