Commit a06fa79a by zhangxingmin

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

parents 89dcba49 8ad58ca5
......@@ -265,6 +265,21 @@ public class ApiFortuneController {
}
/**
* 完成出账
*
* @param completeFortuneAccountRequest
* @return
*/
@PostMapping("/complete/fortuneAccount")
@Operation(summary = "完成出账")
public Result<Boolean> completeFortuneAccount(@RequestBody CompleteFortuneAccountRequest completeFortuneAccountRequest) {
if (CollectionUtils.isEmpty(completeFortuneAccountRequest.getFortuneAccountBizIdList())) {
return Result.fail(ErrorCode.PARAMS_ERROR.getCode(), "出账数据业务ID列表不能为空");
}
return Result.success(fortuneAccountService.completeFortuneAccount(completeFortuneAccountRequest));
}
/**
* 删除发佣
*
* @param deleteRequest
......
......@@ -17,6 +17,7 @@ import com.yd.csf.api.dto.PolicyFollowDTO;
import com.yd.csf.api.listener.PolicyDataListener;
import com.yd.csf.service.common.ErrorCode;
import com.yd.csf.service.dto.*;
import com.yd.csf.service.enums.PolicyFollowStatusEnum;
import com.yd.csf.service.model.*;
import com.yd.csf.service.service.*;
import com.yd.csf.service.vo.PolicyFollowVO;
......@@ -35,10 +36,7 @@ import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.text.DecimalFormat;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.*;
import java.util.stream.Collectors;
/**
......@@ -68,7 +66,8 @@ public class ApiPolicyFollowController {
private CommissionExpectedService commissionExpectedService;
@Resource
private CustomerService customerService;
@Resource
private ReconciliationCompanyService reconciliationCompanyService;
@PostMapping("/upload/excel")
......@@ -114,8 +113,17 @@ public class ApiPolicyFollowController {
String validateMsg = validate(dtoList);
if (StringUtils.isNotBlank(validateMsg)) return Result.fail(ErrorCode.OPERATION_ERROR.getCode(), validateMsg);
// 保存对账公司
Set<String> reconciliationCompanyNames = dtoList.stream()
.map(PolicyExcelDTO::getReconciliationCompany)
.collect(Collectors.toSet());
List<ReconciliationCompany> reconciliationCompanyList = saveReconciliationCompany(reconciliationCompanyNames);
// 关联对账公司
Map<String, String> reconciliationCompanyMap = reconciliationCompanyList.stream()
.collect(Collectors.toMap(ReconciliationCompany::getCompanyName, ReconciliationCompany::getReconciliationCompanyBizId));
// 转换为PolicyFollow对象
List<PolicyFollowDTO> list = convertToObj(dtoList);
List<PolicyFollowDTO> list = convertToObj(dtoList, reconciliationCompanyMap);
List<PolicyFollow> policyFollowList = new ArrayList<>();
List<Policy> policyList = new ArrayList<>();
......@@ -124,6 +132,7 @@ public class ApiPolicyFollowController {
policyFollowList.add(policyFollow.getPolicyFollow());
policyBrokerList.addAll(policyFollow.getBrokerList());
// policyList.add(policyFollow.getPolicy());
reconciliationCompanyNames.add(policyFollow.getPolicy().getReconciliationCompany());
}
policyFollowService.saveBatch(policyFollowList);
......@@ -137,6 +146,7 @@ public class ApiPolicyFollowController {
List<CommissionExpected> commissionExpectedList = new ArrayList<>();
for (CommissionExcelDTO commissionExcelDTO : dataList) {
CommissionExpected commissionExpected = CommissionExcelDTO.convertToCommissionExpectedObj(commissionExcelDTO, loginUserId);
commissionExpected.setReconciliationCompanyBizId(reconciliationCompanyMap.get(commissionExcelDTO.getReconciliationCompany()));
commissionExpectedList.add(commissionExpected);
}
commissionExpectedService.saveBatch(commissionExpectedList);
......@@ -144,6 +154,40 @@ public class ApiPolicyFollowController {
return Result.success(true);
}
private List<ReconciliationCompany> saveReconciliationCompany(Set<String> reconciliationCompanyNames) {
List<ReconciliationCompany> reconciliationCompanyList = new ArrayList<>();
// 查询已存在的对账公司
List<ReconciliationCompany> existingCompanies = reconciliationCompanyService.lambdaQuery()
.in(ReconciliationCompany::getCompanyName, reconciliationCompanyNames)
.list();
Set<String> existingCompanyNames = existingCompanies.stream()
.map(ReconciliationCompany::getCompanyName)
.collect(Collectors.toSet());
// 过滤掉已存在的公司名称
Set<String> newCompanyNames = reconciliationCompanyNames.stream()
.filter(name -> !existingCompanyNames.contains(name))
.collect(Collectors.toSet());
// 只保存新的对账公司
for (String reconciliationCompanyName : newCompanyNames) {
ReconciliationCompany reconciliationCompany = new ReconciliationCompany();
reconciliationCompany.setReconciliationCompanyBizId(RandomStringGenerator.generateBizId16("reconciliation_company"));
reconciliationCompany.setCompanyName(reconciliationCompanyName);
reconciliationCompanyList.add(reconciliationCompany);
}
if (!reconciliationCompanyList.isEmpty()) {
reconciliationCompanyService.saveBatch(reconciliationCompanyList);
}
// 返回所有对账公司(包括已存在的和新建的)
List<ReconciliationCompany> allCompanies = new ArrayList<>(existingCompanies);
allCompanies.addAll(reconciliationCompanyList);
return allCompanies;
}
private String validate(List<PolicyExcelDTO> dtoList) {
String validateMsg = "";
// 校验保单号是否为空
......@@ -166,7 +210,7 @@ public class ApiPolicyFollowController {
return validateMsg;
}
private List<PolicyFollowDTO> convertToObj(List<PolicyExcelDTO> list) throws ParseException {
private List<PolicyFollowDTO> convertToObj(List<PolicyExcelDTO> list, Map<String, String> reconciliationCompanyMap) throws ParseException {
List<PolicyFollowDTO> policyFollowDTOList = new ArrayList<>();
// 获取所有保单持有人
......@@ -192,11 +236,19 @@ public class ApiPolicyFollowController {
policyFollow.setInitialPremium(decimalFormat.parse(policyExcelDTO.getInitialPremium()));
policyFollow.setCustomerName(policyExcelDTO.getPolicyHolder());
policyFollow.setCustomerBizId(customerNameToBizIdMap.get(policyExcelDTO.getPolicyHolder()));
PolicyFollowStatusEnum policyFollowStatusEnum = PolicyFollowStatusEnum.getEnumByItemLabel(policyExcelDTO.getStatus());
if (policyFollowStatusEnum == null) {
policyFollow.setStatus(null);
} else {
policyFollow.setStatus(policyFollowStatusEnum.getItemValue());
}
policyFollow.setReconciliationCompanyBizId(reconciliationCompanyMap.get(policyExcelDTO.getReconciliationCompany()));
// 转换为Policy对象
Policy policy = new Policy();
BeanUtils.copyProperties(policyExcelDTO, policy);
policy.setPolicyBizId(policyBizId);
policy.setReconciliationCompanyBizId(policyFollow.getReconciliationCompanyBizId());
// 转换为PolicyBroker对象
List<PolicyBroker> policyBrokerList = new ArrayList<>();
......
package com.yd.csf.api.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yd.common.result.Result;
import com.yd.csf.service.dto.ReconciliationCompanyQueryRequest;
import com.yd.csf.service.model.ReconciliationCompany;
import com.yd.csf.service.service.ReconciliationCompanyService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
/**
* 对账公司接口
*
* @author jianan
* @since 2025-09-20
*/
@RestController
@RequestMapping("/reconciliation_company")
@Tag(name = "对账公司接口")
public class ApiReconciliationCompanyController {
@Resource
private ReconciliationCompanyService reconciliationCompanyService;
/**
* 创建保单
*
* @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(PolicyService.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 = PolicyService.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 = PolicyService.removeById(id);
// ThrowUtils.throwIf(!result, ErrorCode.OPERATION_ERROR);
// return Result.success(true);
// }
/**
* 更新保单
*
* @param PolicyUpdateRequest
* @return
*/
// @PostMapping("/update")
// @Operation(summary = "更新保单信息")
// public Result<Boolean> updatePolicy(@RequestBody PolicyUpdateRequest PolicyUpdateRequest) {
// if (PolicyUpdateRequest == null || PolicyUpdateRequest.getPolicyBizId() == null) {
// return Result.fail(ErrorCode.PARAMS_ERROR.getCode(), ErrorCode.PARAMS_ERROR.getMessage());
// }
// return Result.success(PolicyService.updatePolicy(PolicyUpdateRequest));
// }
/**
* 根据 policyBizId 获取保单(封装类)
*
* @param policyBizId
* @return
*/
// @GetMapping("/get/vo")
// @Operation(summary = "根据 policyBizId 获取保单详情")
// public Result<PolicyVO> getPolicyByPolicyBizId(@RequestParam("policyBizId") String policyBizId, HttpServletRequest request) {
// if (policyBizId == null) {
// return Result.fail(ErrorCode.PARAMS_ERROR.getCode(), ErrorCode.PARAMS_ERROR.getMessage());
// }
// // 查询数据库
// Policy Policy = PolicyService.getByPolicyBizId(policyBizId);
// if (Policy == null) {
// return Result.fail(ErrorCode.NOT_FOUND_ERROR.getCode(), ErrorCode.NOT_FOUND_ERROR.getMessage());
// }
//
// // 获取封装类
// return Result.success(PolicyService.getPolicyVO(Policy));
// }
/**
* 分页获取对账公司列表(VO)
*
* @param reconciliationCompanyQueryRequest
* @param request
* @return
*/
@PostMapping("/list/page")
@Operation(summary = "分页获取对账公司列表")
public Result<Page<ReconciliationCompany>> listReconciliationCompanyByPage(@RequestBody ReconciliationCompanyQueryRequest reconciliationCompanyQueryRequest,
HttpServletRequest request) {
long current = reconciliationCompanyQueryRequest.getPageNo();
long size = reconciliationCompanyQueryRequest.getPageSize();
// 查询数据库
Page<ReconciliationCompany> reconciliationCompanyPage = reconciliationCompanyService.page(new Page<>(current, size),
reconciliationCompanyService.getQueryWrapper(reconciliationCompanyQueryRequest));
// 获取封装类
return Result.success(reconciliationCompanyPage);
}
}
package com.yd.csf.service.dao;
import com.yd.csf.service.model.ReconciliationCompany;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @author Zhang Jianan
* @description 针对表【reconciliation_company(对账公司表)】的数据库操作Mapper
* @createDate 2025-10-13 11:17:08
* @Entity generator.domain.ReconciliationCompany
*/
public interface ReconciliationCompanyMapper extends BaseMapper<ReconciliationCompany> {
}
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 CompleteFortuneAccountRequest implements Serializable {
/**
* 出账数据业务ID列表
*/
@Schema(description = "出账数据业务ID列表", requiredMode = Schema.RequiredMode.REQUIRED)
private List<String> fortuneAccountBizIdList;
private static final long serialVersionUID = 1L;
}
package com.yd.csf.service.dto;
import com.alibaba.excel.annotation.ExcelProperty;
import com.yd.csf.service.model.Fortune;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Data
......@@ -24,6 +26,8 @@ public class FortuneAccountExportDTO implements Serializable {
@ExcelProperty("出账总额")
private BigDecimal amount;
private List<Fortune> fortuneList;
// 动态字段,用于存储不同的fortune项目
private Map<String, BigDecimal> fortuneAmounts = new HashMap<>();
......
package com.yd.csf.service.dto;
import com.yd.common.dto.PageDto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serializable;
@Data
public class ReconciliationCompanyQueryRequest extends PageDto implements Serializable {
/**
* 对账公司名称
*/
@Schema(description = "对账公司名称")
private String companyName;
private static final long serialVersionUID = 1L;
}
package com.yd.csf.service.enums;
import org.apache.commons.lang3.ObjectUtils;
/**
* 新单跟进状态枚举 'CHECKING'-'审核中','UNDERWRITING'-'承保中','FINISHED'-'已完成','DECLINED'-'已拒绝','CANCELLED'-'已取消'
*/
......@@ -21,6 +23,24 @@ public enum PolicyFollowStatusEnum {
this.itemValue = itemValue;
}
/**
* 根据 itemLabel 获取枚举
*
* @param itemLabel
* @return
*/
public static PolicyFollowStatusEnum getEnumByItemLabel(String itemLabel) {
if (ObjectUtils.isEmpty(itemLabel)) {
return null;
}
for (PolicyFollowStatusEnum anEnum : PolicyFollowStatusEnum.values()) {
if (anEnum.itemLabel.equals(itemLabel)) {
return anEnum;
}
}
return null;
}
public String getItemLabel() {
return itemLabel;
}
......
......@@ -100,6 +100,11 @@ public class Fortune implements Serializable {
*/
private Date payoutDate;
/**
* 出账数据业务ID
*/
private String fortuneAccountBizId;
/**
* 是否含税 0=No, 1=Yes
*/
......
......@@ -7,6 +7,8 @@ import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import lombok.Data;
/**
......@@ -62,6 +64,11 @@ public class FortuneAccount implements Serializable {
*/
private String content;
/**
* 出账数据列表
*/
private List<Fortune> fortuneList;
/**
* 通用备注
*/
......
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 reconciliation_company
*/
@TableName(value ="reconciliation_company")
@Data
public class ReconciliationCompany implements Serializable {
/**
* id
*/
@TableId(type = IdType.AUTO)
private Long id;
/**
* 新单跟进唯一业务ID
*/
private String reconciliationCompanyBizId;
/**
* 转介人名称
*/
private String companyName;
/**
* 通用备注
*/
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
......@@ -2,10 +2,7 @@ package com.yd.csf.service.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
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.dto.*;
import com.yd.csf.service.model.FortuneAccount;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yd.csf.service.vo.FortuneAccountVO;
......@@ -31,4 +28,6 @@ public interface FortuneAccountService extends IService<FortuneAccount> {
Map<String, Object> addFortuneAccount(FortuneAccountAddRequest fortuneAccountAddRequest);
Boolean updateFortuneAccount(FortuneAccountUpdateRequest fortuneAccountUpdateRequest);
Boolean completeFortuneAccount(CompleteFortuneAccountRequest completeFortuneAccountRequest);
}
package com.yd.csf.service.service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.yd.csf.service.dto.ReconciliationCompanyQueryRequest;
import com.yd.csf.service.model.ReconciliationCompany;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* @author Zhang Jianan
* @description 针对表【reconciliation_company(对账公司表)】的数据库操作Service
* @createDate 2025-10-13 11:17:08
*/
public interface ReconciliationCompanyService extends IService<ReconciliationCompany> {
Wrapper<ReconciliationCompany> getQueryWrapper(ReconciliationCompanyQueryRequest reconciliationCompanyQueryRequest);
}
......@@ -7,26 +7,27 @@ import com.google.gson.Gson;
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.dto.*;
import com.yd.csf.service.enums.FortuneAccountStatusEnum;
import com.yd.csf.service.enums.FortuneStatusEnum;
import com.yd.csf.service.model.Fortune;
import com.yd.csf.service.model.FortuneAccount;
import com.yd.csf.service.service.FortuneAccountService;
import com.yd.csf.service.dao.FortuneAccountMapper;
import com.yd.csf.service.service.FortuneService;
import com.yd.csf.service.vo.FortuneAccountVO;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Collectors;
/**
* @author Zhang Jianan
......@@ -37,6 +38,9 @@ import java.util.*;
public class FortuneAccountServiceImpl extends ServiceImpl<FortuneAccountMapper, FortuneAccount>
implements FortuneAccountService{
@Resource
private FortuneService fortuneService;
private final Gson GSON = new Gson();
@Override
......@@ -77,6 +81,7 @@ public class FortuneAccountServiceImpl extends ServiceImpl<FortuneAccountMapper,
}
@Override
@Transactional(rollbackFor = BusinessException.class)
public void saveFortuneAccount(List<FortuneAccountExportDTO> accountExportDTOList) {
if (CollectionUtils.isEmpty(accountExportDTOList)) {
return;
......@@ -108,6 +113,7 @@ public class FortuneAccountServiceImpl extends ServiceImpl<FortuneAccountMapper,
fortuneList.add(fortune);
}
fortuneAccount.setContent(GSON.toJson(fortuneList));
fortuneAccount.setFortuneList(accountExportDTO.getFortuneList());
fortuneAccount.setCreatorId(loginUserId.toString());
fortuneAccount.setUpdaterId(loginUserId.toString());
fortuneAccount.setCreateTime(currentDate);
......@@ -115,8 +121,29 @@ public class FortuneAccountServiceImpl extends ServiceImpl<FortuneAccountMapper,
fortuneAccountList.add(fortuneAccount);
}
// 保存出账记录
this.saveBatch(fortuneAccountList);
// 处理关联发佣记录
List<Fortune> updateFortuneList = new ArrayList<>();
for (FortuneAccount fortuneAccount : fortuneAccountList) {
String fortuneAccountBizId = fortuneAccount.getFortuneAccountBizId();
List<Fortune> fortuneList = fortuneAccount.getFortuneList();
if (CollectionUtils.isNotEmpty(fortuneList)) {
for (Fortune item : fortuneList) {
Fortune updateFortune = new Fortune();
updateFortune.setId(item.getId());
updateFortune.setFortuneAccountBizId(fortuneAccountBizId);
updateFortuneList.add(updateFortune);
}
}
}
// 更新发佣记录的出账记录id
if (CollectionUtils.isNotEmpty(updateFortuneList)) {
fortuneService.updateBatchById(updateFortuneList);
}
}
@Override
......@@ -171,6 +198,43 @@ public class FortuneAccountServiceImpl extends ServiceImpl<FortuneAccountMapper,
this.updateById(fortuneAccount);
return true;
}
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean completeFortuneAccount(CompleteFortuneAccountRequest completeFortuneAccountRequest) {
List<String> fortuneAccountBizIdList = completeFortuneAccountRequest.getFortuneAccountBizIdList();
List<FortuneAccount> fortuneAccountList = this.listByIds(fortuneAccountBizIdList);
if (CollectionUtils.isEmpty(fortuneAccountList)) {
throw new BusinessException(ResultCode.NULL_ERROR.getCode(), ResultCode.NULL_ERROR.getMessage());
}
// 当前登录用户
AuthUserDto currentLoginUser = SecurityUtil.getCurrentLoginUser();
Long loginUserId = currentLoginUser.getId();
// 更新 FortuneAccount 状态为已出账
for (FortuneAccount fortuneAccount : fortuneAccountList) {
fortuneAccount.setStatus(FortuneAccountStatusEnum.SENT.getItemValue());
fortuneAccount.setUpdaterId(loginUserId.toString());
fortuneAccount.setUpdateTime(new Date());
}
this.updateBatchById(fortuneAccountList);
// 更新 Fortune 状态为已出账
List<String> accountBizIdList = fortuneAccountList.stream().map(FortuneAccount::getFortuneAccountBizId).collect(Collectors.toList());
List<Fortune> updateFortuneList = fortuneService.list(new QueryWrapper<Fortune>().in("fortune_account_biz_id", accountBizIdList));
if (CollectionUtils.isNotEmpty(updateFortuneList)) {
for (Fortune item : updateFortuneList) {
item.setStatus(FortuneStatusEnum.SENT.getItemValue());
item.setUpdaterId(loginUserId.toString());
item.setUpdateTime(new Date());
}
fortuneService.updateBatchById(updateFortuneList);
}
return true;
}
}
......
......@@ -154,6 +154,7 @@ public class FortuneServiceImpl extends ServiceImpl<FortuneMapper, Fortune>
FortuneAccountExportDTO accountDTO = new FortuneAccountExportDTO();
accountDTO.setBroker(broker);
accountDTO.setFortuneList(brokerFortunes);
// 设置团队、币种(取第一个记录)
if (CollUtil.isNotEmpty(brokerFortunes)) {
......
package com.yd.csf.service.service.impl;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yd.csf.service.dto.ReconciliationCompanyQueryRequest;
import com.yd.csf.service.model.ReconciliationCompany;
import com.yd.csf.service.dao.ReconciliationCompanyMapper;
import com.yd.csf.service.service.ReconciliationCompanyService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
/**
* @author Zhang Jianan
* @description 针对表【reconciliation_company(对账公司表)】的数据库操作Service实现
* @createDate 2025-10-13 11:17:08
*/
@Service
public class ReconciliationCompanyServiceImpl extends ServiceImpl<ReconciliationCompanyMapper, ReconciliationCompany>
implements ReconciliationCompanyService {
@Override
public Wrapper<ReconciliationCompany> getQueryWrapper(ReconciliationCompanyQueryRequest reconciliationCompanyQueryRequest) {
QueryWrapper<ReconciliationCompany> queryWrapper = new QueryWrapper<>();
if (reconciliationCompanyQueryRequest == null) {
return queryWrapper;
}
// 对账公司名称
String companyName = reconciliationCompanyQueryRequest.getCompanyName();
queryWrapper.like(StringUtils.isNotBlank(companyName),"company_name", companyName);
return queryWrapper;
}
}
......@@ -10,6 +10,7 @@
<result property="broker" column="broker" />
<result property="fortuneAccountDate" column="fortune_account_date" />
<result property="content" column="content" />
<result property="fortuneBizIdList" column="fortune_biz_id_list" />
<result property="remark" column="remark" />
<result property="isDeleted" column="is_deleted" />
<result property="creatorId" column="creator_id" />
......@@ -19,7 +20,7 @@
</resultMap>
<sql id="Base_Column_List">
id,fortune_account_biz_id,broker,fortune_account_date,content,remark,
id,fortune_account_biz_id,broker,fortune_account_date,content,fortune_biz_id_list,remark,
is_deleted,creator_id,updater_id,create_time,update_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.ReconciliationCompanyMapper">
<resultMap id="BaseResultMap" type="com.yd.csf.service.model.ReconciliationCompany">
<id property="id" column="id" />
<result property="reconciliationCompanyBizId" column="reconciliation_company_biz_id" />
<result property="companyName" column="company_name" />
<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,reconciliation_company_biz_id,company_name,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