Commit dea8d07f by jianan

新单跟进85

parent 3bafe133
package com.yd.csf.api.controller; package com.yd.csf.api.controller;
import com.alibaba.excel.EasyExcel; import com.alibaba.excel.EasyExcel;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
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.yd.auth.core.dto.AuthUserDto; import com.yd.auth.core.dto.AuthUserDto;
...@@ -12,11 +13,12 @@ import com.yd.csf.api.dto.CommissionExcelDTO; ...@@ -12,11 +13,12 @@ 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.*; import com.yd.csf.service.dto.*;
import com.yd.csf.service.model.Commission; import com.yd.csf.service.model.Commission;
import com.yd.csf.service.model.CommissionEditRecord;
import com.yd.csf.service.model.CommissionExpected; import com.yd.csf.service.model.CommissionExpected;
import com.yd.csf.service.service.CommissionEditRecordService;
import com.yd.csf.service.service.CommissionExpectedService; import com.yd.csf.service.service.CommissionExpectedService;
import com.yd.csf.service.service.CommissionService; import com.yd.csf.service.service.CommissionService;
import com.yd.csf.service.vo.CommissionStatisticsVO; import com.yd.csf.service.vo.CommissionStatisticsVO;
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.apache.commons.collections4.CollectionUtils;
...@@ -56,6 +58,9 @@ public class ApiCommissionController { ...@@ -56,6 +58,9 @@ public class ApiCommissionController {
@Resource @Resource
private CommissionExpectedService commissionExpectedService; private CommissionExpectedService commissionExpectedService;
@Resource
private CommissionEditRecordService commissionEditRecordService;
@PostMapping("/upload/excel") @PostMapping("/upload/excel")
@Operation(summary = "上传保单来佣Excel文件") @Operation(summary = "上传保单来佣Excel文件")
...@@ -251,6 +256,23 @@ public class ApiCommissionController { ...@@ -251,6 +256,23 @@ public class ApiCommissionController {
} }
/** /**
* 来佣操作记录列表
*
* @param commissionBizId
* @return
*/
@GetMapping("/edit/records")
@Operation(summary = "来佣操作记录列表")
public Result<List<CommissionEditRecord>> getCommissionEditRecords(@RequestParam("commissionBizId") String commissionBizId) {
if (StringUtils.isBlank(commissionBizId)) {
return Result.fail(ErrorCode.PARAMS_ERROR.getCode(), ErrorCode.PARAMS_ERROR.getMessage());
}
return Result.success(commissionEditRecordService.list(new LambdaQueryWrapper<CommissionEditRecord>()
.eq(CommissionEditRecord::getCommissionBizId, commissionBizId)
.orderByAsc(CommissionEditRecord::getSeq)));
}
/**
* 计算统计数据 总金额、总入账金额、待入账金额、已入账比例(已入账金额/总金额)、总保单数 * 计算统计数据 总金额、总入账金额、待入账金额、已入账比例(已入账金额/总金额)、总保单数
*/ */
@PostMapping("/statistics") @PostMapping("/statistics")
......
...@@ -17,6 +17,8 @@ import com.yd.csf.service.common.ErrorCode; ...@@ -17,6 +17,8 @@ import com.yd.csf.service.common.ErrorCode;
import com.yd.csf.service.dto.*; import com.yd.csf.service.dto.*;
import com.yd.csf.service.model.Fortune; import com.yd.csf.service.model.Fortune;
import com.yd.csf.service.model.FortuneAccount; import com.yd.csf.service.model.FortuneAccount;
import com.yd.csf.service.model.FortuneAccountEditRecord;
import com.yd.csf.service.service.FortuneAccountEditRecordService;
import com.yd.csf.service.service.FortuneAccountService; import com.yd.csf.service.service.FortuneAccountService;
import com.yd.csf.service.service.FortuneService; import com.yd.csf.service.service.FortuneService;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
...@@ -59,6 +61,9 @@ public class ApiFortuneController { ...@@ -59,6 +61,9 @@ public class ApiFortuneController {
@Resource @Resource
private FortuneAccountService fortuneAccountService; private FortuneAccountService fortuneAccountService;
@Resource
private FortuneAccountEditRecordService fortuneAccountEditRecordService;
@PostMapping("/upload/excel") @PostMapping("/upload/excel")
@Operation(summary = "上传保单发佣Excel文件") @Operation(summary = "上传保单发佣Excel文件")
...@@ -307,6 +312,22 @@ public class ApiFortuneController { ...@@ -307,6 +312,22 @@ public class ApiFortuneController {
} }
/** /**
* 修订记录
*
* @param fortuneAccountBizId
* @return
*/
@PostMapping("/editRecords/fortuneAccount")
@Operation(summary = "修订记录")
public Result<List<FortuneAccountEditRecord>> getFortuneAccountEditRecords(@RequestParam("fortuneAccountBizId") String fortuneAccountBizId) {
if (StringUtils.isBlank(fortuneAccountBizId)) {
return Result.fail(ErrorCode.PARAMS_ERROR.getCode(), "fortuneAccountBizId不能为空");
}
return Result.success(fortuneAccountEditRecordService.list(new QueryWrapper<FortuneAccountEditRecord>()
.eq("fortune_account_biz_id", fortuneAccountBizId)));
}
/**
* 完成出账 * 完成出账
* *
* @param completeFortuneAccountRequest * @param completeFortuneAccountRequest
......
package com.yd.csf.service.dao;
import com.yd.csf.service.model.CommissionEditRecord;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @author Zhang Jianan
* @description 针对表【commission_edit_record(来佣修改记录表)】的数据库操作Mapper
* @createDate 2025-11-24 16:45:37
* @Entity generator.domain.CommissionEditRecord
*/
public interface CommissionEditRecordMapper extends BaseMapper<CommissionEditRecord> {
}
package com.yd.csf.service.dao;
import com.yd.csf.service.model.FortuneAccountEditRecord;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @author Zhang Jianan
* @description 针对表【fortune_account_edit_record(薪资修订记录表)】的数据库操作Mapper
* @createDate 2025-11-25 11:14:20
* @Entity generator.domain.FortuneAccountEditRecord
*/
public interface FortuneAccountEditRecordMapper extends BaseMapper<FortuneAccountEditRecord> {
}
...@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.*; ...@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.*;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
import lombok.Data; import lombok.Data;
/** /**
...@@ -71,6 +72,11 @@ public class Commission implements Serializable { ...@@ -71,6 +72,11 @@ public class Commission implements Serializable {
private String currency; private String currency;
/** /**
* 结算汇率
*/
private String exchangeRate;
/**
* 来佣日期 * 来佣日期
*/ */
private Date commissionDate; private Date commissionDate;
......
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.util.Date;
import lombok.Data;
/**
* 来佣修改记录表
* @TableName commission_edit_record
*/
@TableName(value ="commission_edit_record")
@Data
public class CommissionEditRecord implements Serializable {
/**
* 主键
*/
@TableId(type = IdType.AUTO)
private Long id;
/**
* 保单来佣业务id
*/
private String commissionBizId;
/**
* 操作人userid
*/
private String userBizId;
/**
* 操作人
*/
private String userName;
/**
* 序号
*/
private Integer seq;
/**
* 变更字段
*/
private String field;
/**
* 变更前信息
*/
private Object beforeChange;
/**
* 变更后信息
*/
private Object afterChange;
/**
* 通用备注
*/
private String remark;
/**
* 删除标识: 0-正常, 1-删除
*/
private Integer isDeleted;
/**
* 创建时间
*/
private Date createTime;
@TableField(exist = false)
private static final long serialVersionUID = 1L;
}
\ No newline at end of file
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.util.Date;
import lombok.Data;
/**
* 薪资修订记录表
* @TableName fortune_account_edit_record
*/
@TableName(value ="fortune_account_edit_record")
@Data
public class FortuneAccountEditRecord implements Serializable {
/**
* 主键
*/
@TableId(type = IdType.AUTO)
private Long id;
/**
* 薪资记录业务id
*/
private String fortuneAccountBizId;
/**
* 修订人userid
*/
private String userBizId;
/**
* 修订人
*/
private String userName;
/**
* 修订内容
*/
private String editContent;
/**
* 通用备注
*/
private String remark;
/**
* 删除标识: 0-正常, 1-删除
*/
private Integer isDeleted;
/**
* 创建时间
*/
private Date createTime;
@TableField(exist = false)
private static final long serialVersionUID = 1L;
}
\ No newline at end of file
package com.yd.csf.service.service;
import com.yd.csf.service.model.CommissionEditRecord;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* @author Zhang Jianan
* @description 针对表【commission_edit_record(来佣修改记录表)】的数据库操作Service
* @createDate 2025-11-24 16:45:37
*/
public interface CommissionEditRecordService extends IService<CommissionEditRecord> {
}
package com.yd.csf.service.service;
import com.yd.csf.service.model.FortuneAccountEditRecord;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* @author Zhang Jianan
* @description 针对表【fortune_account_edit_record(薪资修订记录表)】的数据库操作Service
* @createDate 2025-11-25 11:14:20
*/
public interface FortuneAccountEditRecordService extends IService<FortuneAccountEditRecord> {
}
package com.yd.csf.service.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yd.csf.service.model.CommissionEditRecord;
import com.yd.csf.service.service.CommissionEditRecordService;
import com.yd.csf.service.dao.CommissionEditRecordMapper;
import org.springframework.stereotype.Service;
/**
* @author Zhang Jianan
* @description 针对表【commission_edit_record(来佣修改记录表)】的数据库操作Service实现
* @createDate 2025-11-24 16:45:37
*/
@Service
public class CommissionEditRecordServiceImpl extends ServiceImpl<CommissionEditRecordMapper, CommissionEditRecord>
implements CommissionEditRecordService{
}
package com.yd.csf.service.service.impl; package com.yd.csf.service.service.impl;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
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;
...@@ -20,6 +21,7 @@ import com.yd.csf.service.service.*; ...@@ -20,6 +21,7 @@ import com.yd.csf.service.service.*;
import com.yd.csf.service.dao.CommissionMapper; import com.yd.csf.service.dao.CommissionMapper;
import com.yd.csf.service.vo.CommissionStatisticsVO; import com.yd.csf.service.vo.CommissionStatisticsVO;
import com.yd.csf.service.vo.CommissionVO; import com.yd.csf.service.vo.CommissionVO;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
...@@ -29,7 +31,6 @@ import org.springframework.transaction.annotation.Transactional; ...@@ -29,7 +31,6 @@ import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.math.RoundingMode; import java.math.RoundingMode;
import java.text.NumberFormat;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -39,6 +40,7 @@ import java.util.stream.Collectors; ...@@ -39,6 +40,7 @@ import java.util.stream.Collectors;
* @createDate 2025-09-19 16:08:05 * @createDate 2025-09-19 16:08:05
*/ */
@Service @Service
@Slf4j
public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commission> public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commission>
implements CommissionService { implements CommissionService {
...@@ -54,6 +56,8 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss ...@@ -54,6 +56,8 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
private CommissionExpectedService commissionExpectedService; private CommissionExpectedService commissionExpectedService;
@Resource @Resource
private IExpectedFortuneService iExpectedFortuneService; private IExpectedFortuneService iExpectedFortuneService;
@Resource
private CommissionEditRecordService commissionEditRecordService;
@Override @Override
...@@ -108,7 +112,16 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss ...@@ -108,7 +112,16 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
if (commission == null) { if (commission == null) {
throw new BusinessException(ResultCode.NULL_ERROR.getCode(), "未找到该来佣记录"); throw new BusinessException(ResultCode.NULL_ERROR.getCode(), "未找到该来佣记录");
} }
// 获取当前登录用户
AuthUserDto currentLoginUser = SecurityUtil.getCurrentLoginUser();
String loginUserId = currentLoginUser.getId().toString();
// 保存修改记录
saveUpdateCommissionRecord(commission, commissionUpdateRequest, currentLoginUser);
// 更新属性
BeanUtils.copyProperties(commissionUpdateRequest, commission, "id", "commissionBizId"); BeanUtils.copyProperties(commissionUpdateRequest, commission, "id", "commissionBizId");
// 查询预计来佣 // 查询预计来佣
CommissionExpected commissionExpected = queryByCommission(commission); CommissionExpected commissionExpected = queryByCommission(commission);
if (commissionExpected != null) { if (commissionExpected != null) {
...@@ -121,15 +134,84 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss ...@@ -121,15 +134,84 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
commission.setRemark("未找到当前来佣对应的预计来佣,比对失败"); commission.setRemark("未找到当前来佣对应的预计来佣,比对失败");
} }
// 获取当前登录用户
AuthUserDto currentLoginUser = SecurityUtil.getCurrentLoginUser();
String loginUserId = currentLoginUser.getId().toString();
commission.setUpdaterId(loginUserId); commission.setUpdaterId(loginUserId);
commission.setUpdateTime(new Date()); commission.setUpdateTime(new Date());
return this.updateById(commission); return this.updateById(commission);
} }
private void saveUpdateCommissionRecord(Commission commission, CommissionUpdateRequest commissionUpdateRequest, AuthUserDto currentLoginUser) {
// 保存修改记录
List<CommissionEditRecord> commissionEditRecords = new ArrayList<>();
if (!Objects.equals(commission.getPolicyNo(), commissionUpdateRequest.getPolicyNo())) {
CommissionEditRecord commissionRecord = getCommissionEditRecord("保单号", commission.getPolicyNo(), commissionUpdateRequest.getPolicyNo(), commission.getCommissionBizId(), currentLoginUser);
commissionEditRecords.add(commissionRecord);
}
if (!Objects.equals(commission.getReconciliationCompany(), commissionUpdateRequest.getReconciliationCompany())) {
CommissionEditRecord commissionRecord = getCommissionEditRecord("对账公司", commission.getReconciliationCompany(), commissionUpdateRequest.getReconciliationCompany(), commission.getCommissionBizId(), currentLoginUser);
commissionEditRecords.add(commissionRecord);
}
if (!Objects.equals(commission.getCommissionPeriod(), commissionUpdateRequest.getCommissionPeriod())) {
CommissionEditRecord commissionRecord = getCommissionEditRecord("佣金期数", commission.getCommissionPeriod(), commissionUpdateRequest.getCommissionPeriod(), commission.getCommissionBizId(), currentLoginUser);
commissionEditRecords.add(commissionRecord);
}
if (!Objects.equals(commission.getTotalPeriod(), commissionUpdateRequest.getTotalPeriod())) {
CommissionEditRecord commissionRecord = getCommissionEditRecord("总来佣期数", commission.getTotalPeriod(), commissionUpdateRequest.getTotalPeriod(), commission.getCommissionBizId(), currentLoginUser);
commissionEditRecords.add(commissionRecord);
}
if (!Objects.equals(commission.getCommissionName(), commissionUpdateRequest.getCommissionName())) {
CommissionEditRecord commissionRecord = getCommissionEditRecord("来佣名称", commission.getCommissionName(), commissionUpdateRequest.getCommissionName(), commission.getCommissionBizId(), currentLoginUser);
commissionEditRecords.add(commissionRecord);
}
if (commission.getAmount().compareTo(commissionUpdateRequest.getAmount()) != 0) {
CommissionEditRecord commissionRecord = getCommissionEditRecord("来佣金额", commission.getAmount(), commissionUpdateRequest.getAmount(), commission.getCommissionBizId(), currentLoginUser);
commissionEditRecords.add(commissionRecord);
}
if (!Objects.equals(commission.getCurrency(), commissionUpdateRequest.getCurrency())) {
CommissionEditRecord commissionRecord = getCommissionEditRecord("币种", commission.getCurrency(), commissionUpdateRequest.getCurrency(), commission.getCommissionBizId(), currentLoginUser);
commissionEditRecords.add(commissionRecord);
}
if (!Objects.equals(commission.getExchangeRate(), commissionUpdateRequest.getExchangeRate())) {
CommissionEditRecord commissionRecord = getCommissionEditRecord("结算汇率", commission.getExchangeRate(), commissionUpdateRequest.getExchangeRate(), commission.getCommissionBizId(), currentLoginUser);
commissionEditRecords.add(commissionRecord);
}
if (!Objects.equals(commission.getCommissionDate(), commissionUpdateRequest.getCommissionDate())) {
CommissionEditRecord commissionRecord = getCommissionEditRecord("来佣日期",
DateUtil.formatDate(commission.getCommissionDate()),
DateUtil.formatDate(commissionUpdateRequest.getCommissionDate()), commission.getCommissionBizId(), currentLoginUser);
commissionEditRecords.add(commissionRecord);
}
if (!Objects.equals(commission.getStatus(), commissionUpdateRequest.getStatus())) {
CommissionEditRecord commissionRecord = getCommissionEditRecord("来佣比对状态", commission.getStatus(), commissionUpdateRequest.getStatus(), commission.getCommissionBizId(), currentLoginUser);
commissionEditRecords.add(commissionRecord);
}
if (!Objects.equals(commission.getRemark(), commissionUpdateRequest.getRemark())) {
CommissionEditRecord commissionRecord = getCommissionEditRecord("备注", commission.getRemark(), commissionUpdateRequest.getRemark(), commission.getCommissionBizId(), currentLoginUser);
commissionEditRecords.add(commissionRecord);
}
if (CollectionUtils.isNotEmpty(commissionEditRecords)) {
// 变更序号从1开始
commissionEditRecords.forEach(commissionRecord -> commissionRecord.setSeq(commissionEditRecords.indexOf(commissionRecord) + 1));
commissionEditRecordService.saveBatch(commissionEditRecords);
}
}
private static CommissionEditRecord getCommissionEditRecord(String field, Object commissionPropertyValue, Object requestPropertyValue, String commissionBizId, AuthUserDto currentLoginUser) {
CommissionEditRecord commissionRecord = new CommissionEditRecord();
commissionRecord.setField(field);
commissionRecord.setBeforeChange(commissionPropertyValue);
commissionRecord.setAfterChange(requestPropertyValue);
commissionRecord.setCommissionBizId(commissionBizId);
commissionRecord.setUserBizId(currentLoginUser.getId().toString());
commissionRecord.setUserName(currentLoginUser.getUsername());
commissionRecord.setCreateTime(new Date());
return commissionRecord;
}
private CommissionExpected queryByCommission(Commission commission) { private CommissionExpected queryByCommission(Commission commission) {
QueryWrapper<CommissionExpected> queryWrapper = new QueryWrapper<>(); QueryWrapper<CommissionExpected> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("policy_no", commission.getPolicyNo()); queryWrapper.eq("policy_no", commission.getPolicyNo());
......
package com.yd.csf.service.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yd.csf.service.model.FortuneAccountEditRecord;
import com.yd.csf.service.service.FortuneAccountEditRecordService;
import com.yd.csf.service.dao.FortuneAccountEditRecordMapper;
import org.springframework.stereotype.Service;
/**
* @author Zhang Jianan
* @description 针对表【fortune_account_edit_record(薪资修订记录表)】的数据库操作Service实现
* @createDate 2025-11-25 11:14:20
*/
@Service
public class FortuneAccountEditRecordServiceImpl extends ServiceImpl<FortuneAccountEditRecordMapper, FortuneAccountEditRecord>
implements FortuneAccountEditRecordService{
}
package com.yd.csf.service.service.impl; package com.yd.csf.service.service.impl;
import java.util.Date;
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;
...@@ -15,6 +16,8 @@ import com.yd.csf.service.enums.FortuneAccountStatusEnum; ...@@ -15,6 +16,8 @@ import com.yd.csf.service.enums.FortuneAccountStatusEnum;
import com.yd.csf.service.enums.FortuneStatusEnum; import com.yd.csf.service.enums.FortuneStatusEnum;
import com.yd.csf.service.model.Fortune; import com.yd.csf.service.model.Fortune;
import com.yd.csf.service.model.FortuneAccount; import com.yd.csf.service.model.FortuneAccount;
import com.yd.csf.service.model.FortuneAccountEditRecord;
import com.yd.csf.service.service.FortuneAccountEditRecordService;
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;
import com.yd.csf.service.service.FortuneService; import com.yd.csf.service.service.FortuneService;
...@@ -41,6 +44,9 @@ public class FortuneAccountServiceImpl extends ServiceImpl<FortuneAccountMapper, ...@@ -41,6 +44,9 @@ public class FortuneAccountServiceImpl extends ServiceImpl<FortuneAccountMapper,
@Resource @Resource
private FortuneService fortuneService; private FortuneService fortuneService;
@Resource
private FortuneAccountEditRecordService fortuneAccountEditRecordService;
private final Gson GSON = new Gson(); private final Gson GSON = new Gson();
@Override @Override
...@@ -185,6 +191,8 @@ public class FortuneAccountServiceImpl extends ServiceImpl<FortuneAccountMapper, ...@@ -185,6 +191,8 @@ public class FortuneAccountServiceImpl extends ServiceImpl<FortuneAccountMapper,
if (fortuneAccount == null) { if (fortuneAccount == null) {
throw new BusinessException(ResultCode.NULL_ERROR.getCode(), ResultCode.NULL_ERROR.getMessage()); throw new BusinessException(ResultCode.NULL_ERROR.getCode(), ResultCode.NULL_ERROR.getMessage());
} }
// 保存修改记录
saveUpdateFortuneAccountRecord(fortuneAccount, fortuneAccountUpdateRequest);
fortuneAccount.setBroker(fortuneAccountUpdateRequest.getBroker()); fortuneAccount.setBroker(fortuneAccountUpdateRequest.getBroker());
fortuneAccount.setTeam(fortuneAccountUpdateRequest.getTeam()); fortuneAccount.setTeam(fortuneAccountUpdateRequest.getTeam());
...@@ -196,9 +204,40 @@ public class FortuneAccountServiceImpl extends ServiceImpl<FortuneAccountMapper, ...@@ -196,9 +204,40 @@ public class FortuneAccountServiceImpl extends ServiceImpl<FortuneAccountMapper,
fortuneAccount.setUpdateTime(new Date()); fortuneAccount.setUpdateTime(new Date());
this.updateById(fortuneAccount); this.updateById(fortuneAccount);
return true; return true;
} }
private void saveUpdateFortuneAccountRecord(FortuneAccount fortuneAccount, FortuneAccountUpdateRequest fortuneAccountUpdateRequest) {
FortuneAccountEditRecord fortuneAccountEditRecord = new FortuneAccountEditRecord();
// 薪资记录业务id
fortuneAccountEditRecord.setFortuneAccountBizId(fortuneAccount.getFortuneAccountBizId());
fortuneAccountEditRecord.setIsDeleted(0);
fortuneAccountEditRecord.setCreateTime(new Date());
// 当前登录用户
AuthUserDto currentLoginUser = SecurityUtil.getCurrentLoginUser();
Long loginUserId = currentLoginUser.getId();
fortuneAccountEditRecord.setUserBizId(loginUserId.toString());
fortuneAccountEditRecord.setUserName(currentLoginUser.getUsername());
// 构建修改内容
StringBuilder editContentBuilder = new StringBuilder();
editContentBuilder.append("修改了薪资记录:");
editContentBuilder.append("转介人:").append(fortuneAccountUpdateRequest.getBroker()).append(";");
editContentBuilder.append("团队:").append(fortuneAccountUpdateRequest.getTeam()).append(";");
editContentBuilder.append("出账金额:").append(fortuneAccountUpdateRequest.getAmount()).append(";");
editContentBuilder.append("出账币种:").append(fortuneAccountUpdateRequest.getCurrency()).append(";");
if (StringUtils.isNotBlank(fortuneAccountUpdateRequest.getRemark())) {
editContentBuilder.append("备注:").append(fortuneAccountUpdateRequest.getRemark()).append(";");
}
fortuneAccountEditRecord.setEditContent(editContentBuilder.toString());
fortuneAccountEditRecord.setRemark(fortuneAccountUpdateRequest.getRemark());
fortuneAccountEditRecordService.save(fortuneAccountEditRecord);
}
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public Boolean completeFortuneAccount(CompleteFortuneAccountRequest completeFortuneAccountRequest) { public Boolean completeFortuneAccount(CompleteFortuneAccountRequest completeFortuneAccountRequest) {
......
<?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.CommissionEditRecordMapper">
<resultMap id="BaseResultMap" type="com.yd.csf.service.model.CommissionEditRecord">
<id property="id" column="id" />
<result property="commissionBizId" column="commission_biz_id" />
<result property="userBizId" column="user_biz_id" />
<result property="userName" column="user_name" />
<result property="seq" column="seq" />
<result property="field" column="field" />
<result property="beforeChange" column="before_change" />
<result property="afterChange" column="after_change" />
<result property="remark" column="remark" />
<result property="isDeleted" column="is_deleted" />
<result property="createTime" column="create_time" />
</resultMap>
<sql id="Base_Column_List">
id,commission_biz_id,user_biz_id,user_name,seq,field,before_change,
after_change,remark,is_deleted,create_time
</sql>
</mapper>
<?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.FortuneAccountEditRecordMapper">
<resultMap id="BaseResultMap" type="com.yd.csf.service.model.FortuneAccountEditRecord">
<id property="id" column="id" />
<result property="fortuneAccountBizId" column="fortune_account_biz_id" />
<result property="userBizId" column="user_biz_id" />
<result property="userName" column="user_name" />
<result property="editContent" column="edit_content" />
<result property="remark" column="remark" />
<result property="isDeleted" column="is_deleted" />
<result property="createTime" column="create_time" />
</resultMap>
<sql id="Base_Column_List">
id,fortune_account_biz_id,user_biz_id,user_name,edit_content,remark,
is_deleted,create_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