Commit c57b0ab4 by jianan

来佣接口3

parent 232f47c0
package com.yd.csf.api.controller;
import com.alibaba.excel.EasyExcel;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yd.auth.core.dto.AuthUserDto;
import com.yd.auth.core.utils.SecurityUtil;
import com.yd.common.result.Result;
import com.yd.csf.api.dto.FortuneImportDTO;
import com.yd.csf.service.common.ErrorCode;
import com.yd.csf.service.dto.FortuneQueryRequest;
import com.yd.csf.service.dto.FortuneUpdateRequest;
import com.yd.csf.service.model.Fortune;
import com.yd.csf.service.service.FortuneService;
import com.yd.csf.service.vo.FortuneVO;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
/**
* 保单发佣接口
*
* @author jianan
* @since 2025-09-15
*/
@RestController
@RequestMapping("/fortune")
@Tag(name = "保单发佣接口")
public class ApiFortuneController {
private static final Logger log = LoggerFactory.getLogger(ApiFortuneController.class);
@Resource
private FortuneService fortuneService;
@PostMapping("/upload/excel")
@Transactional(rollbackFor = Exception.class)
public Result<Boolean> uploadExcel(@RequestParam("file") MultipartFile file) throws IOException {
try {
List<FortuneImportDTO> dataList = EasyExcel.read(file.getInputStream())
.head(FortuneImportDTO.class)
.sheet("发佣")
.doReadSync();
// 获取当前登录用户的ID
AuthUserDto currentLoginUser = SecurityUtil.getCurrentLoginUser();
String loginUserId = currentLoginUser.getId().toString();
// 数据验证和处理
processData(dataList, loginUserId);
} catch (IOException e) {
throw new RuntimeException("Excel读取失败", e);
}
return Result.success(true);
}
/**
* 处理导入的数据
*/
private void processData(List<FortuneImportDTO> dataList, String loginUserId) {
List<Fortune> entities = new ArrayList<>();
for (FortuneImportDTO data : dataList) {
// 数据验证
Fortune entity = FortuneImportDTO.convertToEntity(data, loginUserId);
entities.add(entity);
}
// 批量保存
fortuneService.saveBatch(entities);
}
/**
* 创建保单发佣
*
* @param customerAddRequest
* @param request
* @return
*/
// @Operation(summary = "创建保单发佣")
// @PostMapping("/add")
// @Transactional(rollbackFor = Exception.class)
// public Result<Map<String, Object>> addCustomer(@RequestBody CustomerAddRequest customerAddRequest, HttpServletRequest request) {
// if (customerAddRequest == null) {
// return Result.fail(ErrorCode.PARAMS_ERROR.getCode(), ErrorCode.PARAMS_ERROR.getMessage());
// }
// return Result.success(policyFollowService.addCustomer(customerAddRequest));
// }
/**
* 删除fna
*
* @param deleteRequest
* @param request
* @return
*/
// @PostMapping("/delete")
// public Result<Boolean> deleteFna(@RequestBody DeleteRequest deleteRequest, HttpServletRequest request) {
// if (deleteRequest == null || deleteRequest.getId() <= 0) {
// throw new BusinessException(ErrorCode.PARAMS_ERROR);
// }
// User user = userService.getLoginUser(request);
// long id = deleteRequest.getId();
// // 判断是否存在
// Customer oldFna = policyFollowService.getById(id);
// ThrowUtils.throwIf(oldFna == null, ErrorCode.NOT_FOUND_ERROR);
// // 仅本人或管理员可删除
// if (!oldFna.getUserId().equals(user.getId()) && !userService.isAdmin(request)) {
// throw new BusinessException(ErrorCode.NO_AUTH_ERROR);
// }
// // 操作数据库
// boolean result = policyFollowService.removeById(id);
// ThrowUtils.throwIf(!result, ErrorCode.OPERATION_ERROR);
// return Result.success(true);
// }
/**
* 更新保单发佣
*
* @param fortuneUpdateRequest
* @return
*/
@PostMapping("/update")
@Operation(summary = "更新保单发佣信息")
public Result<Boolean> updateFortune(@RequestBody FortuneUpdateRequest fortuneUpdateRequest) {
if (fortuneUpdateRequest == null || fortuneUpdateRequest.getFortuneBizId() == null) {
return Result.fail(ErrorCode.PARAMS_ERROR.getCode(), ErrorCode.PARAMS_ERROR.getMessage());
}
return Result.success(fortuneService.updateFortune(fortuneUpdateRequest));
}
/**
* 根据 fortuneBizId 获取保单发佣(封装类)
*
* @param fortuneBizId
* @return
*/
// @GetMapping("/get/vo")
// @Operation(summary = "根据 policyBizId 获取保单发佣详情")
// public Result<PolicyFollowVO> getPolicyFollowByPolicyBizId(@RequestParam("fortuneBizId") String fortuneBizId, HttpServletRequest request) {
// if (fortuneBizId == null) {
// return Result.fail(ErrorCode.PARAMS_ERROR.getCode(), ErrorCode.PARAMS_ERROR.getMessage());
// }
// // 查询数据库
// PolicyFollow policyFollow = policyFollowService.getByPolicyBizId(policyBizId);
// if (policyFollow == null) {
// return Result.fail(ErrorCode.NOT_FOUND_ERROR.getCode(), ErrorCode.NOT_FOUND_ERROR.getMessage());
// }
//
// // 获取封装类
// return Result.success(policyFollowService.getPolicyFollowVO(policyFollow));
// }
/**
* 分页获取保单发佣列表(仅管理员可用)
*
* @param fnaQueryRequest
* @return
*/
// @PostMapping("/list/page")
// public Result<Page<Customer>> listFnaByPage(@RequestBody FnaQueryRequest fnaQueryRequest) {
// long current = fnaQueryRequest.getPageNo();
// long size = fnaQueryRequest.getPageSize();
// // 查询数据库
// Page<Customer> fnaPage = policyFollowService.page(new Page<>(current, size),
// policyFollowService.getQueryWrapper(fnaQueryRequest));
// return Result.success(fnaPage);
// }
/**
* 分页获取保单发佣列表(VO)
*
* @param fortuneQueryRequest
* @param request
* @return
*/
@PostMapping("/list/page/vo")
@Operation(summary = "分页获取保单发佣列表")
public Result<Page<FortuneVO>> listFortuneByPage(@RequestBody FortuneQueryRequest fortuneQueryRequest,
HttpServletRequest request) {
long current = fortuneQueryRequest.getPageNo();
long size = fortuneQueryRequest.getPageSize();
// 查询数据库
Page<Fortune> fortunePage = fortuneService.page(new Page<>(current, size),
fortuneService.getQueryWrapper(fortuneQueryRequest));
// 获取封装类
return Result.success(fortuneService.getFortuneVOPage(fortunePage));
}
}
package com.yd.csf.api.dto;
import com.alibaba.excel.annotation.ExcelProperty;
import com.yd.common.enums.CommonEnum;
import com.yd.common.utils.RandomStringGenerator;
import com.yd.csf.service.enums.CommissionStatusEnum;
import com.yd.csf.service.enums.FortuneStatusEnum;
import com.yd.csf.service.model.Commission;
import com.yd.csf.service.model.Fortune;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
@Data
public class FortuneImportDTO {
@ExcelProperty("保单号")
private String policyNo;
@ExcelProperty("发佣期数")
private Integer fortunePeriod;
@ExcelProperty("总发佣期数")
private Integer fortuneTotalPeriod;
@ExcelProperty("发佣项目")
private String fortuneName;
@ExcelProperty("发佣金额")
private BigDecimal amount;
@ExcelProperty("发佣币种")
private String currency;
@ExcelProperty("转介人")
private String broker;
@ExcelProperty("所属团队")
private String team;
@ExcelProperty("备注")
private String remark;
/**
* 转换为 entity
*/
public static Fortune convertToEntity(FortuneImportDTO data, String loginUserId) {
Fortune entity = new Fortune();
// 字段映射
entity.setPolicyNo(data.getPolicyNo());
entity.setFortuneBizId(RandomStringGenerator.generateBizId16(CommonEnum.UID_TYPE_FORTUNE.getCode()));
entity.setFortunePeriod(data.getFortunePeriod());
entity.setFortuneTotalPeriod(data.getFortuneTotalPeriod());
entity.setFortuneName(data.getFortuneName());
entity.setAmount(data.getAmount());
entity.setCurrency(data.getCurrency());
entity.setBroker(data.getBroker());
entity.setTeam(data.getTeam());
entity.setRemark(data.getRemark());
entity.setStatus(FortuneStatusEnum.UNSENT.getItemValue());
entity.setCreatorId(loginUserId);
entity.setUpdaterId(loginUserId);
entity.setCreateTime(new Date());
entity.setUpdateTime(new Date());
return entity;
}
}
package com.yd.csf.service.dao;
import com.yd.csf.service.model.Commission;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @author Zhang Jianan
* @description 针对表【commission(保单来佣表)】的数据库操作Mapper
* @createDate 2025-09-19 16:08:05
* @Entity generator.domain.Commission
*/
public interface CommissionMapper extends BaseMapper<Commission> {
}
package com.yd.csf.service.dao;
import com.yd.csf.service.model.Fortune;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @author Zhang Jianan
* @description 针对表【fortune(保单发佣表)】的数据库操作Mapper
* @createDate 2025-09-22 13:22:08
* @Entity generator.domain.Fortune
*/
public interface FortuneMapper extends BaseMapper<Fortune> {
}
package com.yd.csf.service.dto;
import com.yd.common.dto.PageDto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
/**
* 查询fortune请求
*
*/
@EqualsAndHashCode(callSuper = true)
@Data
public class FortuneQueryRequest extends PageDto implements Serializable {
/**
* 发佣状态
*/
@Schema(description = "发佣状态 '0'-'待发佣','1'-'已发并关账', 字典值: csf_fortune_status")
private String status;
/**
* 保单号
*/
@Schema(description = "保单号")
private String policyNo;
private static final long serialVersionUID = 1L;
}
\ No newline at end of file
package com.yd.csf.service.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
@Data
public class FortuneUpdateRequest {
/**
* 保单发佣业务id
*/
@Schema(description = "保单发佣业务id", requiredMode = Schema.RequiredMode.REQUIRED)
private String fortuneBizId;
/**
* 发佣名称
*/
@Schema(description = "发佣名称")
private String fortuneName;
/**
* 发佣类型
*/
@Schema(description = "发佣类型")
private String fortuneType;
/**
* 发佣金额
*/
@Schema(description = "发佣金额")
private BigDecimal amount;
/**
* 发佣币种
*/
@Schema(description = "发佣币种")
private String currency;
/**
* 发佣日期
*/
@Schema(description = "发佣日期")
private Date payoutDate;
/**
* 备注
*/
@Schema(description = "备注")
private String remark;
}
package com.yd.csf.service.enums;
/**
* 发佣状态枚举
*/
public enum FortuneStatusEnum {
//发佣状态枚举
UNSENT("待发佣","0"),
SENT("已发并关账","1"),
;
//字典项标签(名称)
private String itemLabel;
//字典项值
private String itemValue;
//构造函数
FortuneStatusEnum(String itemLabel, String itemValue) {
this.itemLabel = itemLabel;
this.itemValue = itemValue;
}
public String getItemLabel() {
return itemLabel;
}
public String getItemValue() {
return itemValue;
}
}
package com.yd.csf.service.model;
import com.baomidou.mybatisplus.annotation.IdType;
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;
/**
* 保单发佣表
* @TableName fortune
*/
@TableName(value ="fortune")
@Data
public class Fortune implements Serializable {
/**
* serial id
*/
@TableId(type = IdType.AUTO)
private Long id;
/**
* 保单发佣业务id
*/
private String fortuneBizId;
/**
* 保单号
*/
private String policyNo;
/**
* 发佣期数(1=第一年; 2=第二年; 3=第三年; 4=第四年; 5=第五年)
*/
private Integer fortunePeriod;
/**
* 发佣总期数
*/
private Integer fortuneTotalPeriod;
/**
* 转介人
*/
private String broker;
/**
* 转介人业务ID
*/
private String brokerBizId;
/**
* 所属团队
*/
private String team;
/**
* 所属团队业务ID
*/
private String teamBizId;
/**
* 个人职级佣金率
*/
private BigDecimal gradeCommissionRate;
/**
* 多个代理人财富分摊比例
*/
private BigDecimal shareRate;
/**
* 来佣名称
*/
private String fortuneName;
/**
* 发佣类型
*/
private String fortuneType;
/**
* 发佣金额
*/
private BigDecimal amount;
/**
* 发佣币种
*/
private String currency;
/**
* 佣金发放状态 0=待发佣 1=已发并关账
*/
private String status;
/**
* 发佣日期
*/
private Date payoutDate;
/**
* 是否含税 0=No, 1=Yes
*/
private Integer isTax;
/**
* 应缴税额
*/
private BigDecimal taxAmount;
/**
* 税后发佣
*/
private BigDecimal netAmount;
/**
* 薪资单业务id
*/
private String salaryBizId;
/**
* 基本法id
*/
private String baseRuleBizId;
/**
* 计算规则id
*/
private String settlementBizId;
/**
* 计算公式
*/
private String calculationFormula;
/**
* 通用备注
*/
private String remark;
/**
* 删除标识: 0-正常, 1-删除
*/
private Integer isDeleted;
/**
* 创建人ID
*/
private String creatorId;
/**
* 更新人ID
*/
private String updaterId;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新时间
*/
private Date updateTime;
@TableField(exist = false)
private static final long serialVersionUID = 1L;
}
\ No newline at end of file
package com.yd.csf.service.service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yd.csf.service.dto.CommissionQueryRequest;
import com.yd.csf.service.dto.CommissionUpdateRequest;
import com.yd.csf.service.model.Commission;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yd.csf.service.vo.CommissionVO;
/**
* @author Zhang Jianan
* @description 针对表【commission(保单来佣表)】的数据库操作Service
* @createDate 2025-09-19 16:08:05
*/
public interface CommissionService extends IService<Commission> {
QueryWrapper<Commission> getQueryWrapper(CommissionQueryRequest commissionQueryRequest);
Page<CommissionVO> getCommissionVOPage(Page<Commission> commissionPage);
Boolean updateCommission(CommissionUpdateRequest commissionUpdateRequest);
}
package com.yd.csf.service.service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yd.csf.service.dto.FortuneQueryRequest;
import com.yd.csf.service.dto.FortuneUpdateRequest;
import com.yd.csf.service.model.Fortune;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yd.csf.service.vo.FortuneVO;
/**
* @author Zhang Jianan
* @description 针对表【fortune(保单发佣表)】的数据库操作Service
* @createDate 2025-09-22 13:22:09
*/
public interface FortuneService extends IService<Fortune> {
Wrapper<Fortune> getQueryWrapper(FortuneQueryRequest fortuneQueryRequest);
Page<FortuneVO> getFortuneVOPage(Page<Fortune> fortunePage);
Boolean updateFortune(FortuneUpdateRequest fortuneUpdateRequest);
}
package com.yd.csf.service.service.impl;
import com.yd.auth.core.dto.AuthUserDto;
import com.yd.auth.core.utils.SecurityUtil;
import cn.hutool.core.collection.CollUtil;
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.yd.common.enums.ResultCode;
import com.yd.common.exception.BusinessException;
import com.yd.csf.service.dto.CommissionQueryRequest;
import com.yd.csf.service.dto.CommissionUpdateRequest;
import com.yd.csf.service.model.Commission;
import com.yd.csf.service.model.Customer;
import com.yd.csf.service.service.CommissionService;
import com.yd.csf.service.dao.CommissionMapper;
import com.yd.csf.service.vo.CommissionVO;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
/**
* @author Zhang Jianan
* @description 针对表【commission(保单来佣表)】的数据库操作Service实现
* @createDate 2025-09-19 16:08:05
*/
@Service
public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commission>
implements CommissionService{
@Override
public QueryWrapper<Commission> getQueryWrapper(CommissionQueryRequest commissionQueryRequest) {
QueryWrapper<Commission> queryWrapper = new QueryWrapper<>();
if (commissionQueryRequest == null) {
return queryWrapper;
}
String status = commissionQueryRequest.getStatus();
String policyNo = commissionQueryRequest.getPolicyNo();
String reconciliationCompany = commissionQueryRequest.getReconciliationCompany();
Date commissionDate = commissionQueryRequest.getCommissionDate();
queryWrapper.eq(StringUtils.isNotBlank(status), "status", status);
queryWrapper.like(StringUtils.isNotBlank(policyNo), "policy_no", policyNo);
queryWrapper.like(StringUtils.isNotBlank(reconciliationCompany), "reconciliation_company", reconciliationCompany);
queryWrapper.eq(commissionDate != null, "commission_date", commissionDate);
queryWrapper.orderByDesc("id");
return queryWrapper;
}
@Override
public Page<CommissionVO> getCommissionVOPage(Page<Commission> commissionPage) {
List<Commission> commissionList = commissionPage.getRecords();
Page<CommissionVO> commissionVOPage = new Page<>(commissionPage.getCurrent(), commissionPage.getSize());
if (CollUtil.isEmpty(commissionList)) {
return commissionVOPage;
}
List<CommissionVO> commissionVOList = commissionList.stream().map(commission -> {
CommissionVO commissionVO = new CommissionVO();
BeanUtils.copyProperties(commission, commissionVO);
return commissionVO;
}).collect(Collectors.toList());
commissionVOPage.setRecords(commissionVOList);
return commissionVOPage;
}
@Override
public Boolean updateCommission(CommissionUpdateRequest commissionUpdateRequest) {
String commissionBizId = commissionUpdateRequest.getCommissionBizId();
Commission commission = this.getOne(new QueryWrapper<Commission>().eq("commission_biz_id", commissionBizId));
if (commission == null) {
throw new BusinessException(ResultCode.NULL_ERROR.getCode(), "未找到该来佣记录");
}
BeanUtils.copyProperties(commissionUpdateRequest, commission);
// 获取当前登录用户
AuthUserDto currentLoginUser = SecurityUtil.getCurrentLoginUser();
String loginUserId = currentLoginUser.getId().toString();
commission.setUpdaterId(loginUserId);
commission.setUpdateTime(new Date());
return this.updateById(commission);
}
}
package com.yd.csf.service.service.impl;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
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.yd.auth.core.dto.AuthUserDto;
import com.yd.auth.core.utils.SecurityUtil;
import com.yd.common.enums.ResultCode;
import com.yd.common.exception.BusinessException;
import com.yd.csf.service.dto.FortuneQueryRequest;
import com.yd.csf.service.dto.FortuneUpdateRequest;
import com.yd.csf.service.model.Fortune;
import com.yd.csf.service.service.FortuneService;
import com.yd.csf.service.dao.FortuneMapper;
import com.yd.csf.service.vo.FortuneVO;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
/**
* @author Zhang Jianan
* @description 针对表【fortune(保单发佣表)】的数据库操作Service实现
* @createDate 2025-09-22 13:22:08
*/
@Service
public class FortuneServiceImpl extends ServiceImpl<FortuneMapper, Fortune>
implements FortuneService {
@Override
public Wrapper<Fortune> getQueryWrapper(FortuneQueryRequest fortuneQueryRequest) {
QueryWrapper<Fortune> queryWrapper = new QueryWrapper<>();
if (fortuneQueryRequest == null) {
return queryWrapper;
}
String status = fortuneQueryRequest.getStatus();
String policyNo = fortuneQueryRequest.getPolicyNo();
queryWrapper.eq(StringUtils.isNotBlank(status), "status", status);
queryWrapper.eq(StringUtils.isNotBlank(policyNo), "policy_no", policyNo);
queryWrapper.orderByAsc("id");
return queryWrapper;
}
@Override
public Page<FortuneVO> getFortuneVOPage(Page<Fortune> fortunePage) {
List<Fortune> fortuneList = fortunePage.getRecords();
Page<FortuneVO> fortuneVOPage = new Page<>(fortunePage.getCurrent(), fortunePage.getSize());
if (CollUtil.isEmpty(fortuneList)) {
return fortuneVOPage;
}
List<FortuneVO> fortuneVOList = fortuneList.stream().map(fortune -> {
FortuneVO fortuneVO = new FortuneVO();
BeanUtils.copyProperties(fortune, fortuneVO);
return fortuneVO;
}).collect(Collectors.toList());
fortuneVOPage.setRecords(fortuneVOList);
return fortuneVOPage;
}
@Override
public Boolean updateFortune(FortuneUpdateRequest fortuneUpdateRequest) {
String fortuneBizId = fortuneUpdateRequest.getFortuneBizId();
Fortune fortune = this.getOne(new QueryWrapper<Fortune>().eq("fortune_biz_id", fortuneBizId));
if (fortune == null) {
throw new BusinessException(ResultCode.NULL_ERROR.getCode(), "发佣数据不存在");
}
BeanUtils.copyProperties(fortuneUpdateRequest, fortune);
// 获取当前登录用户
AuthUserDto currentLoginUser = SecurityUtil.getCurrentLoginUser();
String loginUserId = currentLoginUser.getId().toString();
fortune.setUpdaterId(loginUserId);
fortune.setUpdateTime(new Date());
return this.updateById(fortune);
}
}
package com.yd.csf.service.vo;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
@Data
public class FortuneVO implements Serializable {
/**
* 保单发佣业务id
*/
private String fortuneBizId;
/**
* 保单号
*/
private String policyNo;
/**
* 发佣期数(1=第一年; 2=第二年; 3=第三年; 4=第四年; 5=第五年)
*/
private Integer fortunePeriod;
/**
* 发佣总期数
*/
private Integer fortuneTotalPeriod;
/**
* 转介人
*/
private String broker;
/**
* 转介人业务ID
*/
private String brokerBizId;
/**
* 所属团队
*/
private String team;
/**
* 所属团队业务ID
*/
private String teamBizId;
/**
* 个人职级佣金率
*/
private BigDecimal gradeCommissionRate;
/**
* 多个代理人财富分摊比例
*/
private BigDecimal shareRate;
/**
* 来佣名称
*/
private String fortuneName;
/**
* 发佣类型
*/
private String fortuneType;
/**
* 发佣金额
*/
private BigDecimal amount;
/**
* 发佣币种
*/
private String currency;
/**
* 佣金发放状态 0=待发佣 1=已发并关账
*/
private String status;
/**
* 发佣日期
*/
private Date payoutDate;
/**
* 是否含税 0=No, 1=Yes
*/
private Integer isTax;
/**
* 应缴税额
*/
private BigDecimal taxAmount;
/**
* 税后发佣
*/
private BigDecimal netAmount;
/**
* 薪资单业务id
*/
private String salaryBizId;
/**
* 基本法id
*/
private String baseRuleBizId;
/**
* 计算规则id
*/
private String settlementBizId;
/**
* 计算公式
*/
private String calculationFormula;
/**
* 通用备注
*/
private String remark;
/**
* 删除标识: 0-正常, 1-删除
*/
private Integer isDeleted;
/**
* 创建人ID
*/
private String creatorId;
/**
* 更新人ID
*/
private String updaterId;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新时间
*/
private Date updateTime;
private static final long serialVersionUID = 1L;
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yd.csf.service.dao.FortuneMapper">
<resultMap id="BaseResultMap" type="com.yd.csf.service.model.Fortune">
<id property="id" column="id" />
<result property="fortuneBizId" column="fortune_biz_id" />
<result property="policyNo" column="policy_no" />
<result property="fortunePeriod" column="fortune_period" />
<result property="fortuneTotalPeriod" column="fortune_total_period" />
<result property="brokerBizId" column="broker_biz_id" />
<result property="teamBizId" column="team_biz_id" />
<result property="gradeCommissionRate" column="grade_commission_rate" />
<result property="shareRate" column="share_rate" />
<result property="fortuneName" column="fortune_name" />
<result property="fortuneType" column="fortune_type" />
<result property="amount" column="amount" />
<result property="currency" column="currency" />
<result property="status" column="status" />
<result property="payoutDate" column="payout_date" />
<result property="isTax" column="is_tax" />
<result property="taxAmount" column="tax_amount" />
<result property="netAmount" column="net_amount" />
<result property="salaryBizId" column="salary_biz_id" />
<result property="baseRuleBizId" column="base_rule_biz_id" />
<result property="settlementBizId" column="settlement_biz_id" />
<result property="calculationFormula" column="calculation_formula" />
<result property="remark" column="remark" />
<result property="isDeleted" column="is_deleted" />
<result property="creatorId" column="creator_id" />
<result property="updaterId" column="updater_id" />
<result property="createTime" column="create_time" />
<result property="updateTime" column="update_time" />
</resultMap>
<sql id="Base_Column_List">
id,fortune_biz_id,policy_no,fortune_period,fortune_total_period,broker_biz_id,
team_biz_id,grade_commission_rate,share_rate,fortune_name,fortune_type,
amount,currency,status,payout_date,is_tax,
tax_amount,net_amount,salary_biz_id,base_rule_biz_id,settlement_biz_id,
calculation_formula,remark,is_deleted,creator_id,updater_id,
create_time,update_time
</sql>
</mapper>
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