Commit b36e2dd3 by jianan

Fna接口57

parent d9023073
......@@ -18,6 +18,9 @@ public class FortuneAccountExportDTO implements Serializable {
@ExcelProperty("所属团队")
private String team;
@ExcelProperty("出账总额")
private BigDecimal amount;
// 动态字段,用于存储不同的fortune项目
private Map<String, BigDecimal> fortuneAmounts = new HashMap<>();
......
......@@ -12,6 +12,12 @@ public class FortuneAccountQueryRequest extends PageDto {
@Schema(description = "转介人")
private String broker;
@Schema(description = "所属团队")
private String team;
@Schema(description = "出账状态 可出账、待出账、已出账")
private String status;
@Schema(description = "出账日期开始", example = "2023-01-01", type = "string", format = "date")
private Date accountDateStart;
......
package com.yd.csf.service.enums;
/**
* 出账状态枚举
*/
public enum FortuneAccountStatusEnum {
//出账状态枚举
IN_PROCESS("可出账","0"),
CANSEND("待出账","1"),
SENT("已出账","2"),
;
//字典项标签(名称)
private String itemLabel;
//字典项值
private String itemValue;
//构造函数
FortuneAccountStatusEnum(String itemLabel, String itemValue) {
this.itemLabel = itemLabel;
this.itemValue = itemValue;
}
public String getItemLabel() {
return itemLabel;
}
public String getItemValue() {
return itemValue;
}
}
......@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import lombok.Data;
......@@ -32,6 +33,21 @@ public class FortuneAccount implements Serializable {
private String broker;
/**
* 所属团队
*/
private String team;
/**
* 出账总额
*/
private BigDecimal amount;
/**
* 出账状态 可出账、待出账、已出账
*/
private String status;
/**
* 出账日期
*/
private Date fortuneAccountDate;
......
......@@ -11,6 +11,7 @@ import com.yd.common.enums.CommonEnum;
import com.yd.common.utils.RandomStringGenerator;
import com.yd.csf.service.dto.FortuneAccountExportDTO;
import com.yd.csf.service.dto.FortuneAccountQueryRequest;
import com.yd.csf.service.enums.FortuneAccountStatusEnum;
import com.yd.csf.service.model.FortuneAccount;
import com.yd.csf.service.service.FortuneAccountService;
import com.yd.csf.service.dao.FortuneAccountMapper;
......@@ -40,6 +41,8 @@ public class FortuneAccountServiceImpl extends ServiceImpl<FortuneAccountMapper,
return queryWrapper;
}
queryWrapper.eq(StringUtils.isNotBlank(fortuneAccountQueryRequest.getBroker()), "broker", fortuneAccountQueryRequest.getBroker());
queryWrapper.eq(StringUtils.isNotBlank(fortuneAccountQueryRequest.getTeam()), "team", fortuneAccountQueryRequest.getTeam());
queryWrapper.eq(StringUtils.isNotBlank(fortuneAccountQueryRequest.getStatus()), "status", fortuneAccountQueryRequest.getStatus());
queryWrapper.ge(fortuneAccountQueryRequest.getAccountDateStart() != null, "fortune_account_date", fortuneAccountQueryRequest.getAccountDateStart());
queryWrapper.le(fortuneAccountQueryRequest.getAccountDateEnd() != null, "fortune_account_date", fortuneAccountQueryRequest.getAccountDateEnd());
......@@ -83,7 +86,12 @@ public class FortuneAccountServiceImpl extends ServiceImpl<FortuneAccountMapper,
FortuneAccount fortuneAccount = new FortuneAccount();
fortuneAccount.setFortuneAccountBizId(RandomStringGenerator.generateBizId16("fortune_account"));
fortuneAccount.setBroker(accountExportDTO.getBroker());
fortuneAccount.setTeam(accountExportDTO.getTeam());
fortuneAccount.setAmount(accountExportDTO.getAmount());
fortuneAccount.setFortuneAccountDate(currentDate);
// 出账状态默认待出账
fortuneAccount.setStatus(FortuneAccountStatusEnum.CANSEND.getItemValue());
// 转换为List<Map<String, Object>>
Map<String, BigDecimal> fortuneAmounts = accountExportDTO.getFortuneAmounts();
List<Map<String, Object>> fortuneList = new ArrayList<>();
......
......@@ -156,6 +156,12 @@ public class FortuneServiceImpl extends ServiceImpl<FortuneMapper, Fortune>
accountDTO.setTeam(brokerFortunes.get(0).getTeam());
}
// 计算出账总额
BigDecimal totalAmount = brokerFortunes.stream()
.map(Fortune::getAmount)
.reduce(BigDecimal.ZERO, BigDecimal::add);
accountDTO.setAmount(totalAmount);
// 按fortune项目分组并累加金额
Map<String, BigDecimal> fortuneAmountMap = brokerFortunes.stream()
.collect(Collectors.groupingBy(
......
......@@ -6,6 +6,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.beans.BeanUtils;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.Map;
......@@ -25,6 +26,24 @@ public class FortuneAccountVO {
private String broker;
/**
* 所属团队
*/
@Schema(description = "所属团队")
private String team;
/**
* 出账总额
*/
@Schema(description = "出账总额")
private BigDecimal amount;
/**
* 出账状态
*/
@Schema(description = "出账状态 可出账、待出账、已出账")
private String status;
/**
* 出账日期
*/
@Schema(description = "出账日期")
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment