Commit d315e2fe by zhangxingmin

Merge remote-tracking branch 'origin/test' into test

parents 1acae9ba 157eba48
......@@ -4,7 +4,6 @@ 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.exception.BusinessException;
import com.yd.common.result.Result;
import com.yd.csf.api.dto.CommissionExcelDTO;
import com.yd.csf.service.common.ErrorCode;
......@@ -29,10 +28,8 @@ import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
......@@ -163,7 +160,7 @@ public class ApiCommissionController {
*/
@Operation(summary = "创建保单来佣")
@PostMapping("/add")
public Result<Map<String, Object>> addCommission(@RequestBody CommissionAddRequest customerAddRequest, HttpServletRequest request) {
public Result<Boolean> addCommission(@RequestBody CommissionAddRequest customerAddRequest, HttpServletRequest request) {
if (customerAddRequest == null) {
return Result.fail(ErrorCode.PARAMS_ERROR.getCode(), ErrorCode.PARAMS_ERROR.getMessage());
}
......
......@@ -128,7 +128,21 @@ public class ApiFortuneController {
}
}
/**
* 创建发佣
*
* @param fortuneAddRequest
* @param request
* @return
*/
@Operation(summary = "创建发佣")
@PostMapping("/add")
public Result<Boolean> addFortune(@RequestBody FortuneAddRequest fortuneAddRequest, HttpServletRequest request) {
if (fortuneAddRequest == null) {
return Result.fail(ErrorCode.PARAMS_ERROR.getCode(), ErrorCode.PARAMS_ERROR.getMessage());
}
return Result.success(fortuneService.addFortune(fortuneAddRequest));
}
/**
* 下载选中的发佣数据
......@@ -236,6 +250,21 @@ public class ApiFortuneController {
}
/**
* 修改出账信息
*
* @param fortuneUpdateRequest
* @return
*/
@PostMapping("/update/fortuneAccount")
@Operation(summary = "修改出账信息")
public Result<Boolean> updateFortuneAccount(@RequestBody FortuneAccountUpdateRequest fortuneUpdateRequest) {
if (StringUtils.isBlank(fortuneUpdateRequest.getFortuneAccountBizId())) {
return Result.fail(ErrorCode.PARAMS_ERROR.getCode(), "出账数据业务ID不能为空");
}
return Result.success(fortuneAccountService.updateFortuneAccount(fortuneUpdateRequest));
}
/**
* 删除发佣
*
* @param deleteRequest
......@@ -287,7 +316,7 @@ public class ApiFortuneController {
}
/**
* 修改状态
* 修改发佣状态
*
* @param fortuneStatusUpdateRequest
* @return
......
......@@ -60,7 +60,7 @@ public class FortuneImportDTO {
entity.setBroker(data.getBroker());
entity.setTeam(data.getTeam());
entity.setRemark(data.getRemark());
entity.setStatus(FortuneStatusEnum.IN_PROCESS.getItemValue());
entity.setStatus(FortuneStatusEnum.WAIT.getItemValue());
entity.setCreatorId(loginUserId);
entity.setUpdaterId(loginUserId);
entity.setCreateTime(new Date());
......
package com.yd.csf.service.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
@Data
public class CommissionAddDto implements Serializable {
/**
* 来佣名称(1:销售拥金;2:销售奖金;3:销售津贴;4:续期佣金;5:服务津贴;等等)
*/
@Schema(description = "来佣名称(1:销售拥金;2:销售奖金;3:销售津贴;4:续期佣金;5:服务津贴;等等)", requiredMode = Schema.RequiredMode.REQUIRED)
private String commissionName;
/**
* 来佣类型(1:销售拥金;2:销售奖金;3:销售津贴;4:续期佣金;5:服务津贴;等等)
*/
@Schema(description = "来佣类型(1:销售拥金;2:销售奖金;3:销售津贴;4:续期佣金;5:服务津贴;等等)")
private String commissionType;
/**
* 来佣金额
*/
@Schema(description = "来佣金额", requiredMode = Schema.RequiredMode.REQUIRED)
private BigDecimal amount;
/**
* 来佣币种
*/
@Schema(description = "来佣币种", requiredMode = Schema.RequiredMode.REQUIRED)
private String currency;
/**
* 来佣日期
*/
@Schema(description = "来佣日期", requiredMode = Schema.RequiredMode.REQUIRED, format = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date commissionDate;
private static final long serialVersionUID = 1L;
}
package com.yd.csf.service.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
@Data
public class CommissionAddRequest {
// TODO 入参格式
public class CommissionAddRequest implements Serializable {
/**
* 保单号
*/
@Schema(description = "保单号", requiredMode = Schema.RequiredMode.REQUIRED)
private String policyNo;
/**
* 对账公司
*/
@Schema(description = "对账公司", requiredMode = Schema.RequiredMode.REQUIRED)
private String reconciliationCompany;
/**
* 对账公司业务id
*/
@Schema(description = "对账公司业务id")
private String reconciliationCompanyBizId;
/**
* 佣金期数(1=第一年; 2=第二年; 3=第三年; 4=第四年; 5=第五年)
*/
@Schema(description = "佣金期数(1=第一年; 2=第二年; 3=第三年; 4=第四年; 5=第五年)", requiredMode = Schema.RequiredMode.REQUIRED)
private Integer commissionPeriod;
/**
* 佣金列表
*/
@Schema(description = "佣金列表", requiredMode = Schema.RequiredMode.REQUIRED)
private List<CommissionAddDto> commissionAddDtoList;
/**
* 备注
*/
@Schema(description = "备注")
private String remark;
private static final long serialVersionUID = 1L;
}
......@@ -3,17 +3,36 @@ package com.yd.csf.service.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
@Data
public class CommissionUpdateRequest {
public class CommissionUpdateRequest implements Serializable {
/**
* 保单来佣业务id
*/
@Schema(description = "保单来佣业务id", requiredMode = Schema.RequiredMode.REQUIRED)
private String commissionBizId;
/**
* 保单号
*/
@Schema(description = "保单号")
private String policyNo;
/**
* 对账公司
*/
@Schema(description = "对账公司")
private String reconciliationCompany;
/**
* 对账公司业务id
*/
@Schema(description = "对账公司业务id")
private String reconciliationCompanyBizId;
/**
* 来佣比对状态
*/
......@@ -21,6 +40,30 @@ public class CommissionUpdateRequest {
private String status;
/**
* 佣金期数(1=第一年; 2=第二年; 3=第三年; 4=第四年; 5=第五年)
*/
@Schema(description = "佣金期数(1=第一年; 2=第二年; 3=第三年; 4=第四年; 5=第五年)")
private Integer commissionPeriod;
/**
* 总来佣期数
*/
@Schema(description = "总来佣期数")
private Integer totalPeriod;
/**
* 来佣名称(1:销售拥金;2:销售奖金;3:销售津贴;4:续期佣金;5:服务津贴;等等)
*/
@Schema(description = "来佣名称(1:销售拥金;2:销售奖金;3:销售津贴;4:续期佣金;5:服务津贴;等等)")
private String commissionName;
/**
* 来佣类型(1:销售拥金;2:销售奖金;3:销售津贴;4:续期佣金;5:服务津贴;等等)
*/
@Schema(description = "来佣类型(1:销售拥金;2:销售奖金;3:销售津贴;4:续期佣金;5:服务津贴;等等)")
private String commissionType;
/**
* 来佣金额
*/
@Schema(description = "来佣金额")
......@@ -43,4 +86,6 @@ public class CommissionUpdateRequest {
*/
@Schema(description = "备注")
private String remark;
private static final long serialVersionUID = 1L;
}
package com.yd.csf.service.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
@Data
public class FortuneAccountUpdateRequest implements Serializable {
/**
* 出账数据业务ID
*/
@Schema(description = "出账数据业务ID", requiredMode = Schema.RequiredMode.REQUIRED)
private String fortuneAccountBizId;
/**
* 经纪人
*/
@Schema(description = "经纪人")
private String broker;
/**
* 团队
*/
@Schema(description = "团队")
private String team;
/**
* 币种
*/
@Schema(description = "币种")
private String currency;
/**
* 金额
*/
@Schema(description = "金额")
private BigDecimal amount;
/**
* 出账日期
*/
@Schema(description = "出账日期")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date fortuneAccountDate;
/**
* 备注
*/
@Schema(description = "备注")
private String remark;
private static final long serialVersionUID = 1L;
}
package com.yd.csf.service.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
@Data
public class FortuneAddRequest implements Serializable {
/**
* 保单号
*/
@Schema(description = "保单号", requiredMode = Schema.RequiredMode.REQUIRED)
private String policyNo;
/**
* 发佣期数(1=第一年; 2=第二年; 3=第三年; 4=第四年; 5=第五年)
*/
@Schema(description = "发佣期数(1=第一年; 2=第二年; 3=第三年; 4=第四年; 5=第五年)", requiredMode = Schema.RequiredMode.REQUIRED)
private Integer fortunePeriod;
/**
* 发佣总期数
*/
@Schema(description = "发佣总期数", requiredMode = Schema.RequiredMode.REQUIRED)
private Integer fortuneTotalPeriod;
/**
* 转介人
*/
@Schema(description = "转介人", requiredMode = Schema.RequiredMode.REQUIRED)
private String broker;
/**
* 转介人业务ID
*/
@Schema(description = "转介人业务ID")
private String brokerBizId;
/**
* 所属团队
*/
@Schema(description = "所属团队", requiredMode = Schema.RequiredMode.REQUIRED)
private String team;
/**
* 所属团队业务ID
*/
@Schema(description = "所属团队业务ID")
private String teamBizId;
/**
* 发佣名称
*/
@Schema(description = "发佣名称", requiredMode = Schema.RequiredMode.REQUIRED)
private String fortuneName;
/**
* 发佣类型
*/
@Schema(description = "发佣类型")
private String fortuneType;
/**
* 发佣金额
*/
@Schema(description = "发佣金额", requiredMode = Schema.RequiredMode.REQUIRED)
private BigDecimal amount;
/**
* 发佣币种
*/
@Schema(description = "发佣币种", requiredMode = Schema.RequiredMode.REQUIRED)
private String currency;
/**
* 发佣日期
*/
@Schema(description = "发佣日期", requiredMode = Schema.RequiredMode.REQUIRED)
private Date payoutDate;
/**
* 发佣备注
*/
@Schema(description = "发佣备注")
private String remark;
private static final long serialVersionUID = 1L;
}
......@@ -16,6 +16,6 @@ public class FortuneStatusUpdateRequest {
/**
* 发佣状态
*/
@Schema(description = "发佣状态 '0'-'暂不可发','1'-'可发放','2'-'已发并关账', 字典值: csf_fortune_status")
@Schema(description = "发佣状态 '0'-'待出账','1'-'可出账','2'-'已出账'")
private String status;
}
......@@ -3,11 +3,12 @@ package com.yd.csf.service.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
@Data
public class FortuneUpdateRequest {
public class FortuneUpdateRequest implements Serializable {
/**
* 保单发佣业务id
*/
......@@ -15,6 +16,48 @@ public class FortuneUpdateRequest {
private String fortuneBizId;
/**
* 保单号
*/
@Schema(description = "保单号")
private String policyNo;
/**
* 发佣期数(1=第一年; 2=第二年; 3=第三年; 4=第四年; 5=第五年)
*/
@Schema(description = "发佣期数(1=第一年; 2=第二年; 3=第三年; 4=第四年; 5=第五年)")
private Integer fortunePeriod;
/**
* 发佣总期数
*/
@Schema(description = "发佣总期数")
private Integer fortuneTotalPeriod;
/**
* 转介人
*/
@Schema(description = "转介人")
private String broker;
/**
* 转介人业务ID
*/
@Schema(description = "转介人业务ID")
private String brokerBizId;
/**
* 所属团队
*/
@Schema(description = "所属团队")
private String team;
/**
* 所属团队业务ID
*/
@Schema(description = "所属团队业务ID")
private String teamBizId;
/**
* 发佣名称
*/
@Schema(description = "发佣名称")
......@@ -49,4 +92,6 @@ public class FortuneUpdateRequest {
*/
@Schema(description = "备注")
private String remark;
private static final long serialVersionUID = 1L;
}
package com.yd.csf.service.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
@Data
public class PolicyFollowUpdateRequest {
......@@ -18,7 +22,6 @@ public class PolicyFollowUpdateRequest {
@Schema(description = "新单状态 'CHECKING'-'审核中','UNDERWRITING'-'承保中','FINISHED'-'已完成','DECLINED'-'已拒绝','CANCELLED'-'已取消', 字典值: policy_follow_status")
private String status;
/**
* 客户名称
*/
......@@ -30,4 +33,127 @@ public class PolicyFollowUpdateRequest {
*/
@Schema(description = "客户编号")
private String customerBizId;
/**
* 保单号
*/
@Schema(description = "保单号")
private String policyNo;
/**
* 签单日期
*/
@Schema(description = "签单日期", format = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date signDate;
/**
* 签单人
*/
@Schema(description = "签单人")
private String signer;
/**
* 生效日期
*/
@Schema(description = "生效日期", format = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date effectiveDate;
/**
* 续保日期
*/
@Schema(description = "续保日期", format = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date renewalDate;
/**
* 供款年期
*/
@Schema(description = "供款年期")
private Integer paymentTerm;
/**
* 期交保费
*/
@Schema(description = "期交保费")
private BigDecimal paymentPremium;
/**
* 是否预缴: 0-否, 1-是
*/
@Schema(description = "是否预缴: 0-否, 1-是")
private Integer isPrepaid;
/**
* 预缴年期
*/
@Schema(description = "预缴年期")
private Integer prepaidTerm;
/**
* 产品名称
*/
@Schema(description = "产品名称")
private String productName;
/**
* 产品类别
*/
@Schema(description = "产品类别")
private String productCate;
/**
* 保险公司
*/
@Schema(description = "保险公司")
private String insurer;
/**
* 保险公司业务id
*/
@Schema(description = "保险公司业务id")
private String insurerBizId;
/**
* 对账公司
*/
@Schema(description = "对账公司")
private String reconciliationCompany;
/**
* 对账公司业务id
*/
@Schema(description = "对账公司业务id")
private String reconciliationCompanyBizId;
/**
* 保單持有人
*/
@Schema(description = "保單持有人")
private String policyHolder;
/**
* 受保人
*/
@Schema(description = "受保人")
private String insured;
/**
* 币种
*/
@Schema(description = "币种")
private String currency;
/**
* 首期保费(不含徽费,预缴保费)
*/
@Schema(description = "首期保费(不含徽费,预缴保费)")
private Object initialPremium;
/**
* 备注
*/
@Schema(description = "备注")
private String remark;
}
......@@ -6,6 +6,7 @@ package com.yd.csf.service.enums;
public enum CommissionStatusEnum {
//来佣比对状态枚举
WAIT("未比对","0"),
COMPARE_SUCCESS("比对成功","1"),
COMPARE_FAIL("比对失败","2"),
......
......@@ -6,9 +6,9 @@ package com.yd.csf.service.enums;
public enum FortuneStatusEnum {
//发佣状态枚举
IN_PROCESS("暂不可发","0"),
CANSEND("可发放","1"),
SENT("已发并关账","2"),
WAIT("待出账", "0"),
CAN_SEND("可出账", "1"),
SENT("已出账", "2"),
;
//字典项标签(名称)
......
......@@ -91,7 +91,7 @@ public class Fortune implements Serializable {
private String currency;
/**
* 佣金发放状态 0=待发佣 1=已发并关
* 佣金发放状态 0=待出账 1=可出账 2=已出
*/
private String status;
......
......@@ -28,7 +28,7 @@ public interface CommissionService extends IService<Commission> {
Boolean generateFortune(GenerateFortuneRequest generateFortuneRequest);
Map<String, Object> addCommission(CommissionAddRequest commissionAddRequest);
Boolean addCommission(CommissionAddRequest commissionAddRequest);
Commission getByCommissionBizId(String commissionBizId);
}
......@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yd.csf.service.dto.FortuneAccountAddRequest;
import com.yd.csf.service.dto.FortuneAccountExportDTO;
import com.yd.csf.service.dto.FortuneAccountQueryRequest;
import com.yd.csf.service.dto.FortuneAccountUpdateRequest;
import com.yd.csf.service.model.FortuneAccount;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yd.csf.service.vo.FortuneAccountVO;
......@@ -28,4 +29,6 @@ public interface FortuneAccountService extends IService<FortuneAccount> {
FortuneAccount getByFortuneAccountBizId(String fortuneAccountBizId);
Map<String, Object> addFortuneAccount(FortuneAccountAddRequest fortuneAccountAddRequest);
Boolean updateFortuneAccount(FortuneAccountUpdateRequest fortuneAccountUpdateRequest);
}
......@@ -2,10 +2,7 @@ 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.FortuneDownloadRequest;
import com.yd.csf.service.dto.FortuneQueryRequest;
import com.yd.csf.service.dto.FortuneStatusUpdateRequest;
import com.yd.csf.service.dto.FortuneUpdateRequest;
import com.yd.csf.service.dto.*;
import com.yd.csf.service.model.Fortune;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yd.csf.service.vo.FortuneVO;
......@@ -34,4 +31,6 @@ public interface FortuneService extends IService<Fortune> {
Boolean updateFortuneStatus(FortuneStatusUpdateRequest fortuneStatusUpdateRequest);
Fortune getByFortuneBizId(String fortuneBizId);
Boolean addFortune(FortuneAddRequest fortuneAddRequest);
}
......@@ -10,10 +10,7 @@ import com.yd.common.enums.CommonEnum;
import com.yd.common.enums.ResultCode;
import com.yd.common.exception.BusinessException;
import com.yd.common.utils.RandomStringGenerator;
import com.yd.csf.service.dto.CommissionAddRequest;
import com.yd.csf.service.dto.CommissionQueryRequest;
import com.yd.csf.service.dto.CommissionUpdateRequest;
import com.yd.csf.service.dto.GenerateFortuneRequest;
import com.yd.csf.service.dto.*;
import com.yd.csf.service.enums.CommissionStatusEnum;
import com.yd.csf.service.enums.FortuneStatusEnum;
import com.yd.csf.service.model.*;
......@@ -98,7 +95,7 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
if (commission == null) {
throw new BusinessException(ResultCode.NULL_ERROR.getCode(), "未找到该来佣记录");
}
BeanUtils.copyProperties(commissionUpdateRequest, commission);
BeanUtils.copyProperties(commissionUpdateRequest, commission, "id", "commissionBizId");
// 获取当前登录用户
AuthUserDto currentLoginUser = SecurityUtil.getCurrentLoginUser();
String loginUserId = currentLoginUser.getId().toString();
......@@ -122,7 +119,7 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
// 校验,如果有"可发放或已发并关账"的发佣记录,不能重复生成
for (Fortune item : fortuneList) {
if (StringUtils.equals(item.getStatus(), FortuneStatusEnum.CANSEND.getItemValue()) ||
if (StringUtils.equals(item.getStatus(), FortuneStatusEnum.CAN_SEND.getItemValue()) ||
StringUtils.equals(item.getStatus(), FortuneStatusEnum.SENT.getItemValue())) {
throw new BusinessException(ResultCode.FAIL.getCode(), "该来佣记录已被处理,不能重复生成");
}
......@@ -153,7 +150,7 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
fortune.setFortuneBizId(RandomStringGenerator.generateBizId16(CommonEnum.UID_TYPE_FORTUNE.getCode()));
fortune.setPolicyNo(policyNo);
fortune.setBroker(policyBroker.getBrokerName());
fortune.setStatus(FortuneStatusEnum.IN_PROCESS.getItemValue());
fortune.setStatus(FortuneStatusEnum.WAIT.getItemValue());
fortune.setCreateTime(new Date());
fortune.setUpdateTime(new Date());
......@@ -173,17 +170,41 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
}
@Override
public Map<String, Object> addCommission(CommissionAddRequest commissionAddRequest) {
Commission commission = new Commission();
BeanUtils.copyProperties(commissionAddRequest, commission);
// 生成新单编号
String commissionBizId = RandomStringGenerator.generateBizId16(CommonEnum.UID_TYPE_COMMISSION.getCode());
commission.setCommissionBizId(commissionBizId);
// 保存来佣记录
this.save(commission);
// 返回新单跟进唯一业务ID
return Collections.singletonMap("commissionBizId", commissionBizId);
@Transactional(rollbackFor = Exception.class)
public Boolean addCommission(CommissionAddRequest commissionAddRequest) {
List<CommissionAddDto> commissionAddDtoList = commissionAddRequest.getCommissionAddDtoList();
if (CollUtil.isEmpty(commissionAddDtoList)) {
throw new BusinessException(ResultCode.PARAMS_ERROR.getCode(), "佣金列表不能为空");
}
// 获取当前登录用户
AuthUserDto currentLoginUser = SecurityUtil.getCurrentLoginUser();
String loginUserId = currentLoginUser.getId().toString();
List<Commission> commissionList = new ArrayList<>();
for (CommissionAddDto item : commissionAddDtoList) {
Commission commission = new Commission();
BeanUtils.copyProperties(item, commission);
// 生成新单编号
String commissionBizId = RandomStringGenerator.generateBizId16(CommonEnum.UID_TYPE_COMMISSION.getCode());
commission.setCommissionBizId(commissionBizId);
commission.setPolicyNo(commissionAddRequest.getPolicyNo());
commission.setReconciliationCompany(commissionAddRequest.getReconciliationCompany());
commission.setReconciliationCompanyBizId(commissionAddRequest.getReconciliationCompanyBizId());
commission.setCommissionPeriod(commissionAddRequest.getCommissionPeriod());
commission.setStatus(CommissionStatusEnum.WAIT.getItemValue());
commission.setRemark(commissionAddRequest.getRemark());
commission.setCreatorId(loginUserId);
commission.setCreateTime(new Date());
commission.setUpdaterId(loginUserId);
commission.setUpdateTime(new Date());
commissionList.add(commission);
}
return this.saveBatch(commissionList);
}
@Override
......
......@@ -8,10 +8,14 @@ import com.google.gson.reflect.TypeToken;
import com.yd.auth.core.dto.AuthUserDto;
import com.yd.auth.core.utils.SecurityUtil;
import com.yd.common.enums.CommonEnum;
import com.yd.common.enums.ResultCode;
import com.yd.common.exception.BusinessException;
import com.yd.common.utils.RandomStringGenerator;
import com.yd.csf.service.common.ErrorCode;
import com.yd.csf.service.dto.FortuneAccountAddRequest;
import com.yd.csf.service.dto.FortuneAccountExportDTO;
import com.yd.csf.service.dto.FortuneAccountQueryRequest;
import com.yd.csf.service.dto.FortuneAccountUpdateRequest;
import com.yd.csf.service.enums.FortuneAccountStatusEnum;
import com.yd.csf.service.model.FortuneAccount;
import com.yd.csf.service.service.FortuneAccountService;
......@@ -143,6 +147,30 @@ public class FortuneAccountServiceImpl extends ServiceImpl<FortuneAccountMapper,
this.save(fortuneAccount);
return Collections.singletonMap("fortuneAccountBizId", fortuneAccount.getFortuneAccountBizId());
}
@Override
public Boolean updateFortuneAccount(FortuneAccountUpdateRequest fortuneAccountUpdateRequest) {
// 当前登录用户
AuthUserDto currentLoginUser = SecurityUtil.getCurrentLoginUser();
Long loginUserId = currentLoginUser.getId();
FortuneAccount fortuneAccount = this.getByFortuneAccountBizId(fortuneAccountUpdateRequest.getFortuneAccountBizId());
if (fortuneAccount == null) {
throw new BusinessException(ResultCode.NULL_ERROR.getCode(), ResultCode.NULL_ERROR.getMessage());
}
fortuneAccount.setBroker(fortuneAccountUpdateRequest.getBroker());
fortuneAccount.setTeam(fortuneAccountUpdateRequest.getTeam());
fortuneAccount.setCurrency(fortuneAccountUpdateRequest.getCurrency());
fortuneAccount.setAmount(fortuneAccountUpdateRequest.getAmount());
fortuneAccount.setFortuneAccountDate(fortuneAccountUpdateRequest.getFortuneAccountDate());
fortuneAccount.setRemark(fortuneAccountUpdateRequest.getRemark());
fortuneAccount.setUpdaterId(loginUserId.toString());
fortuneAccount.setUpdateTime(new Date());
this.updateById(fortuneAccount);
return true;
}
}
......
package com.yd.csf.service.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import com.alibaba.excel.EasyExcel;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
......@@ -8,9 +9,12 @@ 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.CommonEnum;
import com.yd.common.enums.ResultCode;
import com.yd.common.exception.BusinessException;
import com.yd.common.utils.RandomStringGenerator;
import com.yd.csf.service.dto.*;
import com.yd.csf.service.enums.FortuneStatusEnum;
import com.yd.csf.service.model.Fortune;
import com.yd.csf.service.service.FortuneAccountService;
import com.yd.csf.service.service.FortuneService;
......@@ -83,7 +87,7 @@ public class FortuneServiceImpl extends ServiceImpl<FortuneMapper, Fortune>
if (fortune == null) {
throw new BusinessException(ResultCode.NULL_ERROR.getCode(), "发佣数据不存在");
}
BeanUtils.copyProperties(fortuneUpdateRequest, fortune);
BeanUtils.copyProperties(fortuneUpdateRequest, fortune, "id", "fortuneBizId");
// 获取当前登录用户
AuthUserDto currentLoginUser = SecurityUtil.getCurrentLoginUser();
......@@ -258,6 +262,17 @@ public class FortuneServiceImpl extends ServiceImpl<FortuneMapper, Fortune>
return this.getOne(new QueryWrapper<Fortune>().eq("fortune_biz_id", fortuneBizId));
}
@Override
public Boolean addFortune(FortuneAddRequest fortuneAddRequest) {
Fortune fortune = new Fortune();
BeanUtil.copyProperties(fortuneAddRequest, fortune);
// 生成发佣业务ID
fortune.setFortuneBizId(RandomStringGenerator.generateBizId16(CommonEnum.UID_TYPE_FORTUNE.getCode()));
fortune.setStatus(FortuneStatusEnum.WAIT.getItemValue());
return this.save(fortune);
}
}
......
......@@ -77,7 +77,7 @@ public class CommissionVO implements Serializable {
/**
* 来佣状态
*/
@Schema(description = "来佣状态 1=已比对 2=部分来佣")
@Schema(description = "来佣状态 0=未比对 1=比对成功 2=比对失败")
private String status;
/**
......
......@@ -46,7 +46,7 @@ public class FortuneAccountVO {
/**
* 出账状态
*/
@Schema(description = "出账状态 可出账、待出账、已出账")
@Schema(description = "出账状态 0=可出账 1=待出账 2=已出账")
private String status;
/**
......
......@@ -87,9 +87,9 @@ public class FortuneVO implements Serializable {
private String currency;
/**
* 佣金发放状态 0=暂不可发 1=可发放 2=已发并关
* 佣金状态 0=待出账 1=可出账 2=已出
*/
@Schema(description = "佣金发放状态 0=暂不可发 1=可发放 2=已发并关账 字典值:csf_fortune_status")
@Schema(description = "佣金状态 0=待出账 1=可出账 2=已出账 字典值:csf_fortune_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