Commit b36e2dd3 by jianan

Fna接口57

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