Commit d063ba5b by jianan

来佣接口5

parent 39fc2df1
...@@ -9,11 +9,13 @@ import com.yd.csf.api.dto.CommissionExcelDTO; ...@@ -9,11 +9,13 @@ import com.yd.csf.api.dto.CommissionExcelDTO;
import com.yd.csf.service.common.ErrorCode; import com.yd.csf.service.common.ErrorCode;
import com.yd.csf.service.dto.CommissionQueryRequest; import com.yd.csf.service.dto.CommissionQueryRequest;
import com.yd.csf.service.dto.CommissionUpdateRequest; import com.yd.csf.service.dto.CommissionUpdateRequest;
import com.yd.csf.service.dto.GenerateFortuneRequest;
import com.yd.csf.service.model.Commission; import com.yd.csf.service.model.Commission;
import com.yd.csf.service.service.CommissionService; import com.yd.csf.service.service.CommissionService;
import com.yd.csf.service.vo.CommissionVO; import com.yd.csf.service.vo.CommissionVO;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import org.apache.commons.collections4.CollectionUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
...@@ -80,6 +82,24 @@ public class ApiCommissionController { ...@@ -80,6 +82,24 @@ public class ApiCommissionController {
commissionService.saveBatch(entities); commissionService.saveBatch(entities);
} }
/**
* 生成可出账(发佣)记录,支持手动复选框选择
*
* @param generateFortuneRequest
* @param request
* @return
*/
@PostMapping("/generate/fortune")
@Operation(summary = "生成可出账(发佣)记录,支持手动复选框选择")
public Result<Boolean> generateFortune(@RequestBody GenerateFortuneRequest generateFortuneRequest,
HttpServletRequest request) {
List<String> commissionBizIdList = generateFortuneRequest.getCommissionBizIdList();
if (CollectionUtils.isEmpty(commissionBizIdList)) {
return Result.fail(ErrorCode.PARAMS_ERROR.getCode(), "commissionBizIdList不能为空");
}
return Result.success(commissionService.generateFortune(generateFortuneRequest));
}
/** /**
* 创建保单来佣 * 创建保单来佣
......
...@@ -4,16 +4,24 @@ import com.alibaba.excel.EasyExcel; ...@@ -4,16 +4,24 @@ import com.alibaba.excel.EasyExcel;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yd.auth.core.dto.AuthUserDto; import com.yd.auth.core.dto.AuthUserDto;
import com.yd.auth.core.utils.SecurityUtil; import com.yd.auth.core.utils.SecurityUtil;
import com.yd.common.enums.ResultCode;
import com.yd.common.exception.BusinessException;
import com.yd.common.result.Result; import com.yd.common.result.Result;
import com.yd.csf.api.dto.FortuneImportDTO; import com.yd.csf.api.dto.FortuneImportDTO;
import com.yd.csf.service.common.ErrorCode; import com.yd.csf.service.common.ErrorCode;
import com.yd.csf.service.dto.FortuneDownloadRequest;
import com.yd.csf.service.dto.FortuneQueryRequest; import com.yd.csf.service.dto.FortuneQueryRequest;
import com.yd.csf.service.dto.FortuneUpdateRequest; import com.yd.csf.service.dto.FortuneUpdateRequest;
import com.yd.csf.service.model.Fortune; import com.yd.csf.service.model.Fortune;
import com.yd.csf.service.service.FortuneService; import com.yd.csf.service.service.FortuneService;
import com.yd.csf.service.vo.FortuneVO; import com.yd.csf.service.vo.FortuneVO;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Content;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
import io.swagger.v3.oas.annotations.servers.Server;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.models.annotations.OpenAPI30;
import org.apache.commons.collections4.CollectionUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
...@@ -22,6 +30,7 @@ import org.springframework.web.multipart.MultipartFile; ...@@ -22,6 +30,7 @@ import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
...@@ -81,22 +90,22 @@ public class ApiFortuneController { ...@@ -81,22 +90,22 @@ public class ApiFortuneController {
} }
/** /**
* 创建保单发佣 * 下载选中的发佣数据
* *
* @param customerAddRequest * @param fortuneDownloadRequest
* @param request * @param response
* @return * @return
*/ */
// @Operation(summary = "创建保单发佣") @Operation(summary = "下载选中的发佣数据")
// @PostMapping("/add") @PostMapping("/download")
// @Transactional(rollbackFor = Exception.class) public void downloadFortune(@RequestBody FortuneDownloadRequest fortuneDownloadRequest, HttpServletResponse response) throws IOException {
// public Result<Map<String, Object>> addCustomer(@RequestBody CustomerAddRequest customerAddRequest, HttpServletRequest request) { if (CollectionUtils.isEmpty(fortuneDownloadRequest.getFortuneBizIdList())) {
// if (customerAddRequest == null) { throw new BusinessException(ResultCode.PARAMS_ERROR.getCode(), "请选择要下载的发佣数据");
// return Result.fail(ErrorCode.PARAMS_ERROR.getCode(), ErrorCode.PARAMS_ERROR.getMessage()); }
// } fortuneService.downloadFortune(fortuneDownloadRequest, response);
// return Result.success(policyFollowService.addCustomer(customerAddRequest)); }
// }
/** /**
* 删除fna * 删除fna
......
...@@ -57,7 +57,7 @@ public class FortuneImportDTO { ...@@ -57,7 +57,7 @@ public class FortuneImportDTO {
entity.setBroker(data.getBroker()); entity.setBroker(data.getBroker());
entity.setTeam(data.getTeam()); entity.setTeam(data.getTeam());
entity.setRemark(data.getRemark()); entity.setRemark(data.getRemark());
entity.setStatus(FortuneStatusEnum.UNSENT.getItemValue()); entity.setStatus(FortuneStatusEnum.IN_PROCESS.getItemValue());
entity.setCreatorId(loginUserId); entity.setCreatorId(loginUserId);
entity.setUpdaterId(loginUserId); entity.setUpdaterId(loginUserId);
entity.setCreateTime(new Date()); entity.setCreateTime(new Date());
......
package com.yd.csf.service.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.util.List;
@Data
public class FortuneDownloadRequest {
@Schema(description = "发佣数据业务Id列表", requiredMode = Schema.RequiredMode.REQUIRED)
private List<String> fortuneBizIdList;
}
package com.yd.csf.service.dto;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
@Data
public class FortuneExportDTO implements Serializable {
private static final long serialVersionUID = 1L;
@ExcelProperty("发佣数据业务id")
private String fortuneBizId;
@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;
}
...@@ -6,6 +6,7 @@ import lombok.Data; ...@@ -6,6 +6,7 @@ import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import java.io.Serializable; import java.io.Serializable;
import java.util.List;
/** /**
* 查询fortune请求 * 查询fortune请求
...@@ -14,11 +15,10 @@ import java.io.Serializable; ...@@ -14,11 +15,10 @@ import java.io.Serializable;
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@Data @Data
public class FortuneQueryRequest extends PageDto implements Serializable { public class FortuneQueryRequest extends PageDto implements Serializable {
/** /**
* 发佣状态 * 发佣状态
*/ */
@Schema(description = "发佣状态 '0'-'待发佣','1'-'已发并关账', 字典值: csf_fortune_status") @Schema(description = "发佣状态 '0'-'暂不可发','1'-'可发放','2'-'已发并关账', 字典值: csf_fortune_status")
private String status; private String status;
/** /**
......
package com.yd.csf.service.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.util.List;
@Data
public class GenerateFortuneRequest {
@Schema(description = "佣金业务id列表")
private List<String> commissionBizIdList;
}
...@@ -6,8 +6,10 @@ package com.yd.csf.service.enums; ...@@ -6,8 +6,10 @@ package com.yd.csf.service.enums;
public enum FortuneStatusEnum { public enum FortuneStatusEnum {
//发佣状态枚举 //发佣状态枚举
UNSENT("待发佣","0"), IN_PROCESS("暂不可发","0"),
SENT("已发并关账","1"), CANSEND("可发放","1"),
SENT("已发并关账","2"),
; ;
//字典项标签(名称) //字典项标签(名称)
private String itemLabel; private String itemLabel;
......
...@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; ...@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yd.csf.service.dto.CommissionQueryRequest; import com.yd.csf.service.dto.CommissionQueryRequest;
import com.yd.csf.service.dto.CommissionUpdateRequest; import com.yd.csf.service.dto.CommissionUpdateRequest;
import com.yd.csf.service.dto.GenerateFortuneRequest;
import com.yd.csf.service.model.Commission; import com.yd.csf.service.model.Commission;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.yd.csf.service.vo.CommissionVO; import com.yd.csf.service.vo.CommissionVO;
...@@ -21,4 +22,6 @@ public interface CommissionService extends IService<Commission> { ...@@ -21,4 +22,6 @@ public interface CommissionService extends IService<Commission> {
Page<CommissionVO> getCommissionVOPage(Page<Commission> commissionPage); Page<CommissionVO> getCommissionVOPage(Page<Commission> commissionPage);
Boolean updateCommission(CommissionUpdateRequest commissionUpdateRequest); Boolean updateCommission(CommissionUpdateRequest commissionUpdateRequest);
Boolean generateFortune(GenerateFortuneRequest generateFortuneRequest);
} }
...@@ -2,12 +2,16 @@ package com.yd.csf.service.service; ...@@ -2,12 +2,16 @@ package com.yd.csf.service.service;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yd.csf.service.dto.FortuneDownloadRequest;
import com.yd.csf.service.dto.FortuneQueryRequest; import com.yd.csf.service.dto.FortuneQueryRequest;
import com.yd.csf.service.dto.FortuneUpdateRequest; import com.yd.csf.service.dto.FortuneUpdateRequest;
import com.yd.csf.service.model.Fortune; import com.yd.csf.service.model.Fortune;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.yd.csf.service.vo.FortuneVO; import com.yd.csf.service.vo.FortuneVO;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
/** /**
* @author Zhang Jianan * @author Zhang Jianan
* @description 针对表【fortune(保单发佣表)】的数据库操作Service * @description 针对表【fortune(保单发佣表)】的数据库操作Service
...@@ -20,4 +24,6 @@ public interface FortuneService extends IService<Fortune> { ...@@ -20,4 +24,6 @@ public interface FortuneService extends IService<Fortune> {
Page<FortuneVO> getFortuneVOPage(Page<Fortune> fortunePage); Page<FortuneVO> getFortuneVOPage(Page<Fortune> fortunePage);
Boolean updateFortune(FortuneUpdateRequest fortuneUpdateRequest); Boolean updateFortune(FortuneUpdateRequest fortuneUpdateRequest);
void downloadFortune(FortuneDownloadRequest fortuneDownloadRequest, HttpServletResponse response) throws IOException;
} }
...@@ -6,21 +6,29 @@ import cn.hutool.core.collection.CollUtil; ...@@ -6,21 +6,29 @@ import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; 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.yd.common.enums.CommonEnum;
import com.yd.common.enums.ResultCode; import com.yd.common.enums.ResultCode;
import com.yd.common.exception.BusinessException; import com.yd.common.exception.BusinessException;
import com.yd.common.utils.RandomStringGenerator;
import com.yd.csf.service.dto.CommissionQueryRequest; import com.yd.csf.service.dto.CommissionQueryRequest;
import com.yd.csf.service.dto.CommissionUpdateRequest; import com.yd.csf.service.dto.CommissionUpdateRequest;
import com.yd.csf.service.model.Commission; import com.yd.csf.service.dto.GenerateFortuneRequest;
import com.yd.csf.service.model.Customer; import com.yd.csf.service.enums.CommissionStatusEnum;
import com.yd.csf.service.enums.FortuneStatusEnum;
import com.yd.csf.service.model.*;
import com.yd.csf.service.service.CommissionService; import com.yd.csf.service.service.CommissionService;
import com.yd.csf.service.dao.CommissionMapper; import com.yd.csf.service.dao.CommissionMapper;
import com.yd.csf.service.service.FortuneService;
import com.yd.csf.service.service.PolicyBrokerService;
import com.yd.csf.service.service.PolicyService;
import com.yd.csf.service.vo.CommissionVO; import com.yd.csf.service.vo.CommissionVO;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date; import javax.annotation.Resource;
import java.util.List; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
...@@ -32,6 +40,15 @@ import java.util.stream.Collectors; ...@@ -32,6 +40,15 @@ import java.util.stream.Collectors;
public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commission> public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commission>
implements CommissionService{ implements CommissionService{
@Resource
private FortuneService fortuneService;
@Resource
private PolicyService policyService;
@Resource
private PolicyBrokerService policyBrokerService;
@Override @Override
public QueryWrapper<Commission> getQueryWrapper(CommissionQueryRequest commissionQueryRequest) { public QueryWrapper<Commission> getQueryWrapper(CommissionQueryRequest commissionQueryRequest) {
QueryWrapper<Commission> queryWrapper = new QueryWrapper<>(); QueryWrapper<Commission> queryWrapper = new QueryWrapper<>();
...@@ -87,6 +104,68 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss ...@@ -87,6 +104,68 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
return this.updateById(commission); return this.updateById(commission);
} }
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean generateFortune(GenerateFortuneRequest generateFortuneRequest) {
List<String> commissionBizIdList = generateFortuneRequest.getCommissionBizIdList();
List<Commission> commissionList = this.list(new QueryWrapper<Commission>().in("commission_biz_id", commissionBizIdList));
// 获取所有保单号
Set<String> policyNoSet = commissionList.stream().map(Commission::getPolicyNo).collect(Collectors.toSet());
// 根据保单号查询所有发佣记录
List<Fortune> fortuneList = fortuneService.list(new QueryWrapper<Fortune>().in("policy_no", policyNoSet));
// 校验,如果有"可发放或已发并关账"的发佣记录,不能重复生成
for (Fortune item : fortuneList) {
if (StringUtils.equals(item.getStatus(), FortuneStatusEnum.CANSEND.getItemValue()) ||
StringUtils.equals(item.getStatus(), FortuneStatusEnum.SENT.getItemValue())) {
throw new BusinessException(ResultCode.FAIL.getCode(), "该来佣记录已被处理,不能重复生成");
}
}
// 1.查询所有保单号对应的保单
List<Policy> policyList = policyService.list(new QueryWrapper<Policy>().in("policy_no", policyNoSet));
// 构建保单号到保单的映射
Map<String, Policy> policyMap = policyList.stream().collect(Collectors.toMap(Policy::getPolicyNo, policy -> policy));
// 2.根据保单号查询所有转介人
List<PolicyBroker> brokerList = policyBrokerService.list(new QueryWrapper<PolicyBroker>().in("policy_no", policyNoSet));
// 构建保单号到转介人的映射
Map<String, List<PolicyBroker>> brokerMap = brokerList.stream().collect(Collectors.groupingBy(PolicyBroker::getPolicyNo));
// 3.删除旧的发佣记录
fortuneService.remove(new QueryWrapper<Fortune>().in("policy_no", policyNoSet));
// 4. 构建发佣记录
List<Fortune> newFortuneList = new ArrayList<>();
for (Commission commission : commissionList) {
String policyNo = commission.getPolicyNo();
List<PolicyBroker> policyBrokers = brokerMap.get(policyNo);
for (PolicyBroker policyBroker : policyBrokers) {
Fortune fortune = new Fortune();
fortune.setFortuneBizId(RandomStringGenerator.generateBizId16(CommonEnum.UID_TYPE_FORTUNE.getCode()));
fortune.setPolicyNo(policyNo);
fortune.setBroker(policyBroker.getBrokerName());
fortune.setStatus(FortuneStatusEnum.IN_PROCESS.getItemValue());
fortune.setCreateTime(new Date());
fortune.setUpdateTime(new Date());
newFortuneList.add(fortune);
}
}
// 5. 保存发佣记录
if (CollUtil.isNotEmpty(newFortuneList)) {
boolean saveSuccess = fortuneService.saveBatch(newFortuneList);
if (!saveSuccess) {
throw new BusinessException(ResultCode.FAIL.getCode(), "保存发佣记录失败");
}
}
return true;
}
} }
......
package com.yd.csf.service.service.impl; package com.yd.csf.service.service.impl;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import com.alibaba.excel.EasyExcel;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
...@@ -9,6 +10,8 @@ import com.yd.auth.core.dto.AuthUserDto; ...@@ -9,6 +10,8 @@ import com.yd.auth.core.dto.AuthUserDto;
import com.yd.auth.core.utils.SecurityUtil; import com.yd.auth.core.utils.SecurityUtil;
import com.yd.common.enums.ResultCode; import com.yd.common.enums.ResultCode;
import com.yd.common.exception.BusinessException; import com.yd.common.exception.BusinessException;
import com.yd.csf.service.dto.FortuneDownloadRequest;
import com.yd.csf.service.dto.FortuneExportDTO;
import com.yd.csf.service.dto.FortuneQueryRequest; import com.yd.csf.service.dto.FortuneQueryRequest;
import com.yd.csf.service.dto.FortuneUpdateRequest; import com.yd.csf.service.dto.FortuneUpdateRequest;
import com.yd.csf.service.model.Fortune; import com.yd.csf.service.model.Fortune;
...@@ -19,6 +22,9 @@ import org.apache.commons.lang3.StringUtils; ...@@ -19,6 +22,9 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.net.URLEncoder;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -83,6 +89,36 @@ public class FortuneServiceImpl extends ServiceImpl<FortuneMapper, Fortune> ...@@ -83,6 +89,36 @@ public class FortuneServiceImpl extends ServiceImpl<FortuneMapper, Fortune>
return this.updateById(fortune); return this.updateById(fortune);
} }
@Override
public void downloadFortune(FortuneDownloadRequest fortuneDownloadRequest, HttpServletResponse response) throws IOException {
List<String> fortuneBizIdList = fortuneDownloadRequest.getFortuneBizIdList();
if (CollUtil.isNotEmpty(fortuneBizIdList)) {
List<Fortune> fortuneList = this.list(new QueryWrapper<Fortune>().in("fortune_biz_id", fortuneBizIdList));
if (CollUtil.isNotEmpty(fortuneList)) {
// 转换为导出DTO
List<FortuneExportDTO> exportDTOList = fortuneList.stream().map(fortune -> {
FortuneExportDTO exportDTO = new FortuneExportDTO();
BeanUtils.copyProperties(fortune, exportDTO);
return exportDTO;
}).collect(Collectors.toList());
// 设置响应头
response.setContentType("application/vnd.ms-excel;charset=UTF-8");
response.setCharacterEncoding("utf-8");
String encode = URLEncoder.encode("保单发佣.xlsx", "UTF-8");
response.setHeader("Content-Disposition", "attachment;filename=" + "fortune_"+System.currentTimeMillis() + ".xlsx");
// 导出
try {
EasyExcel.write(response.getOutputStream(), FortuneExportDTO.class).sheet("保单发佣").doWrite(exportDTOList);
} catch (IOException e) {
log.error("导出保单发佣数据失败", e);
throw new BusinessException(ResultCode.FAIL.getCode(), "导出失败");
}
}
}
}
} }
......
...@@ -80,7 +80,7 @@ public class FortuneVO implements Serializable { ...@@ -80,7 +80,7 @@ public class FortuneVO implements Serializable {
private String currency; private String currency;
/** /**
* 佣金发放状态 0=待发佣 1=已发并关账 * 佣金发放状态 0=暂不可发 1=可发放 2=已发并关账
*/ */
private String status; private String status;
......
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