Commit 05e2d04b by zhangxingmin

new interface

parent 4c71bab6
package com.yd.csf.api.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 业务员累计积分表 - 存储业务员的累计FYC积分和当前等级信息 前端控制器
* </p>
*
* @author zxm
* @since 2025-10-15
*/
@RestController
@RequestMapping("/agentAccumulatedFyc")
public class AgentAccumulatedFycController {
}
package com.yd.csf.api.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 业务员积分明细表 - 存储业务员的每次增加或者减少的FYC积分 前端控制器
* </p>
*
* @author zxm
* @since 2025-10-15
*/
@RestController
@RequestMapping("/agentDetailFyc")
public class AgentDetailFycController {
}
package com.yd.csf.api.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 推荐关系表 前端控制器
* </p>
*
* @author zxm
* @since 2025-10-15
*/
@RestController
@RequestMapping("/agentReferralRelation")
public class AgentReferralRelationController {
}
package com.yd.csf.api.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 辅导关系表 前端控制器
* </p>
*
* @author zxm
* @since 2025-10-15
*/
@RestController
@RequestMapping("/agentTutoringRelation")
public class AgentTutoringRelationController {
}
package com.yd.csf.api.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yd.common.result.Result;
import com.yd.csf.api.service.ApiCommissionRuleConfigService;
import com.yd.csf.feign.client.commissionruleconfig.ApiCommissionRuleConfigFeignClient;
import com.yd.csf.feign.request.additional.ApiAdditionalPageRequest;
import com.yd.csf.feign.request.commissionruleconfig.ApiCommissionRuleConfigAddRequest;
import com.yd.csf.feign.request.commissionruleconfig.ApiCommissionRuleConfigEditRequest;
import com.yd.csf.feign.request.commissionruleconfig.ApiCommissionRuleConfigPageRequest;
import com.yd.csf.feign.response.commissionruleconfig.ApiCommissionRuleConfigDetailResponse;
import com.yd.csf.feign.response.commissionruleconfig.ApiCommissionRuleConfigPageResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.validation.constraints.NotBlank;
/**
* 基本法配置信息
*
* @author zxm
* @since 2025-10-15
*/
@RestController
@RequestMapping("/commissionRuleConfig")
@Validated
public class ApiCommissionRuleConfigController implements ApiCommissionRuleConfigFeignClient {
@Autowired
private ApiCommissionRuleConfigService apiCommissionRuleConfigService;
/**
* 分页查询-基本法配置信息
* @param request
* @return
*/
@Override
public Result<IPage<ApiCommissionRuleConfigPageResponse>> page(ApiCommissionRuleConfigPageRequest request) {
return apiCommissionRuleConfigService.page(request);
}
/**
* 详情-基本法配置信息
* @param ruleBizId
* @return
*/
@Override
public Result<ApiCommissionRuleConfigDetailResponse> detail(String ruleBizId) {
return apiCommissionRuleConfigService.detail(ruleBizId);
}
/**
* 添加-基本法配置信息
* @param request
* @return
*/
@Override
public Result add(ApiCommissionRuleConfigAddRequest request) {
return apiCommissionRuleConfigService.add(request);
}
/**
* 编辑-基本法配置信息
* @param request
* @return
*/
@Override
public Result edit(ApiCommissionRuleConfigEditRequest request) {
return apiCommissionRuleConfigService.edit(request);
}
/**
* 删除-基本法配置信息 TODO
* @param ruleBizId
* @return
*/
@Override
public Result del(String ruleBizId) {
return apiCommissionRuleConfigService.del(ruleBizId);
}
}
package com.yd.csf.api.controller;
import com.yd.csf.feign.client.formulaconfig.ApiFormulaConfigFeignClient;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 公式配置信息
*
* @author zxm
* @since 2025-10-17
*/
@RestController
@RequestMapping("/formulaConfig")
@Validated
public class ApiFormulaConfigController implements ApiFormulaConfigFeignClient {
}
package com.yd.csf.api.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yd.common.result.Result;
import com.yd.csf.api.service.ApiRuleItemConfigService;
import com.yd.csf.feign.client.ruleItemconfig.ApiRuleItemConfigFeignClient;
import com.yd.csf.feign.request.ruleItemconfig.ApiRuleItemConfigAddRequest;
import com.yd.csf.feign.request.ruleItemconfig.ApiRuleItemConfigEditRequest;
import com.yd.csf.feign.request.ruleItemconfig.ApiRuleItemConfigPageRequest;
import com.yd.csf.feign.response.ruleItemconfig.ApiRuleItemConfigDetailResponse;
import com.yd.csf.feign.response.ruleItemconfig.ApiRuleItemConfigPageResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 基本法项目配置信息
*
* @author zxm
* @since 2025-10-15
*/
@RestController
@RequestMapping("/ruleItemConfig")
@Validated
public class ApiRuleItemConfigController implements ApiRuleItemConfigFeignClient {
@Autowired
private ApiRuleItemConfigService apiRuleItemConfigService;
/**
* 分页查询-基本法项目配置信息
* @param request
* @return
*/
@Override
public Result<IPage<ApiRuleItemConfigPageResponse>> page(ApiRuleItemConfigPageRequest request) {
return apiRuleItemConfigService.page(request);
}
/**
* 详情-基本法项目配置信息
* @param ruleItemBizId
* @return
*/
@Override
public Result<ApiRuleItemConfigDetailResponse> detail(String ruleItemBizId) {
return apiRuleItemConfigService.detail(ruleItemBizId);
}
/**
* 添加-基本法项目配置信息
* @param request
* @return
*/
@Override
public Result add(ApiRuleItemConfigAddRequest request) {
return apiRuleItemConfigService.add(request);
}
/**
* 编辑-基本法项目配置信息
* @param request
* @return
*/
@Override
public Result edit(ApiRuleItemConfigEditRequest request) {
return apiRuleItemConfigService.edit(request);
}
/**
* 删除-基本法项目配置信息 TODO
* @param ruleItemBizId
* @return
*/
@Override
public Result del(String ruleItemBizId) {
return apiRuleItemConfigService.del(ruleItemBizId);
}
}
package com.yd.csf.api.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yd.common.result.Result;
import com.yd.csf.api.service.ApiVariableService;
import com.yd.csf.feign.client.variable.ApiVariableFeignClient;
import com.yd.csf.feign.request.variable.ApiVariableAddRequest;
import com.yd.csf.feign.request.variable.ApiVariableEditRequest;
import com.yd.csf.feign.request.variable.ApiVariablePageRequest;
import com.yd.csf.feign.response.variable.ApiVariableDetailResponse;
import com.yd.csf.feign.response.variable.ApiVariablePageResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 变量信息
*
* @author zxm
* @since 2025-10-16
*/
@RestController
@RequestMapping("/variable")
@Validated
public class ApiVariableController implements ApiVariableFeignClient {
@Autowired
private ApiVariableService apiVariableService;
/**
* 分页查询-变量信息
* @param request
* @return
*/
@Override
public Result<IPage<ApiVariablePageResponse>> page(ApiVariablePageRequest request) {
return apiVariableService.page(request);
}
/**
* 详情-变量信息
* @param variableBizId
* @return
*/
@Override
public Result<ApiVariableDetailResponse> detail( String variableBizId) {
return apiVariableService.detail(variableBizId);
}
/**
* 添加-变量信息
* @param request
* @return
*/
@Override
public Result add(ApiVariableAddRequest request) {
return apiVariableService.add(request);
}
/**
* 编辑-变量信息
* @param request
* @return
*/
@Override
public Result edit(ApiVariableEditRequest request) {
return apiVariableService.edit(request);
}
/**
* 删除-变量信息 TODO
* @param variableBizId
* @return
*/
@Override
public Result del(String variableBizId) {
return apiVariableService.detail(variableBizId);
}
}
package com.yd.csf.api.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 保单批次保单关联表 - 存储批次与保单的关联关系,记录批次中每个保单的计算状态 前端控制器
* </p>
*
* @author zxm
* @since 2025-10-15
*/
@RestController
@RequestMapping("/batchPolicy")
public class BatchPolicyController {
}
package com.yd.csf.api.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 车辆预约申请表 前端控制器
* </p>
*
* @author zxm
* @since 2025-10-15
*/
@RestController
@RequestMapping("/carApply")
public class CarApplyController {
}
package com.yd.csf.api.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 客户端角色表 前端控制器
* </p>
*
* @author zxm
* @since 2025-10-15
*/
@RestController
@RequestMapping("/clientRole")
public class ClientRoleController {
}
package com.yd.csf.api.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 保单佣金计算结果表(出账表) - 存储佣金计算的详细结果,用于查询、对账和发放 前端控制器
* </p>
*
* @author zxm
* @since 2025-10-15
*/
@RestController
@RequestMapping("/commissionResult")
public class CommissionResultController {
}
package com.yd.csf.api.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 基本法绑定表 - 存储基本法与业务员或团队的绑定关系,支持灵活的权限分配 前端控制器
* </p>
*
* @author zxm
* @since 2025-10-15
*/
@RestController
@RequestMapping("/commissionRuleBinding")
public class CommissionRuleBindingController {
}
package com.yd.csf.api.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* SQL模板表 - 存储所有佣金计算相关的动态SQL模板,支持灵活配置和参数化查询,实现业务逻辑与代码解耦 前端控制器
* </p>
*
* @author zxm
* @since 2025-10-15
*/
@RestController
@RequestMapping("/commissionSqlTemplate")
public class CommissionSqlTemplateController {
}
package com.yd.csf.api.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 条件配置表 前端控制器
* </p>
*
* @author zxm
* @since 2025-10-17
*/
@RestController
@RequestMapping("/conditionConfig")
public class ConditionConfigController {
}
package com.yd.csf.api.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 业务员积分任务表 - 定时跑批业务员绑定的基本法计算点,算出当前业务员所得的积分(一级管理奖、二级管理奖、辅导津贴奖、终身推荐奖等月末计算,季度结算等) 前端控制器
* </p>
*
* @author zxm
* @since 2025-10-15
*/
@RestController
@RequestMapping("/fycTask")
public class FycTaskController {
}
package com.yd.csf.api.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 权益表 前端控制器
* </p>
*
* @author zxm
* @since 2025-10-15
*/
@RestController
@RequestMapping("/interests")
public class InterestsController {
}
package com.yd.csf.api.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 邀请码表 前端控制器
* </p>
*
* @author zxm
* @since 2025-10-15
*/
@RestController
@RequestMapping("/invitation")
public class InvitationController {
}
package com.yd.csf.api.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 会员表 前端控制器
* </p>
*
* @author zxm
* @since 2025-10-15
*/
@RestController
@RequestMapping("/member")
public class MemberController {
}
package com.yd.csf.api.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 会员等级配置表 前端控制器
* </p>
*
* @author zxm
* @since 2025-10-15
*/
@RestController
@RequestMapping("/memberGradeConfig")
public class MemberGradeConfigController {
}
package com.yd.csf.api.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 保单发佣批次表 - 存储发佣批次信息,用于批量处理佣金计算和发放 前端控制器
* </p>
*
* @author zxm
* @since 2025-10-15
*/
@RestController
@RequestMapping("/payoutBatch")
public class PayoutBatchController {
}
package com.yd.csf.api.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 保单业务员关联表 - 存储保单与业务员的关联关系及佣金分配信息 前端控制器
* </p>
*
* @author zxm
* @since 2025-10-15
*/
@RestController
@RequestMapping("/policyAgentRelation")
public class PolicyAgentRelationController {
}
package com.yd.csf.api.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 业务员和客户关联表 前端控制器
* </p>
*
* @author zxm
* @since 2025-10-15
*/
@RestController
@RequestMapping("/relAgentCustomer")
public class RelAgentCustomerController {
}
package com.yd.csf.api.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 权益表 前端控制器
* </p>
*
* @author zxm
* @since 2025-10-15
*/
@RestController
@RequestMapping("/relCustomerInterests")
public class RelCustomerInterestsController {
}
package com.yd.csf.api.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 会员等级和服务关系表 前端控制器
* </p>
*
* @author zxm
* @since 2025-10-15
*/
@RestController
@RequestMapping("/relGradeService")
public class RelGradeServiceController {
}
package com.yd.csf.api.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 客户端角色表 前端控制器
* </p>
*
* @author zxm
* @since 2025-10-15
*/
@RestController
@RequestMapping("/relMemberRole")
public class RelMemberRoleController {
}
package com.yd.csf.api.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 对象和条件配置关系表 前端控制器
* </p>
*
* @author zxm
* @since 2025-10-17
*/
@RestController
@RequestMapping("/relObjectCondition")
public class RelObjectConditionController {
}
package com.yd.csf.api.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 对象和公式配置关系表 前端控制器
* </p>
*
* @author zxm
* @since 2025-10-17
*/
@RestController
@RequestMapping("/relObjectFormula")
public class RelObjectFormulaController {
}
package com.yd.csf.api.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 对象和SQL模板配置关系表 前端控制器
* </p>
*
* @author zxm
* @since 2025-10-17
*/
@RestController
@RequestMapping("/relObjectSql")
public class RelObjectSqlController {
}
package com.yd.csf.api.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 服务权益关系表 前端控制器
* </p>
*
* @author zxm
* @since 2025-10-15
*/
@RestController
@RequestMapping("/relServiceInterests")
public class RelServiceInterestsController {
}
package com.yd.csf.api.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 团队和会员关系表 前端控制器
* </p>
*
* @author zxm
* @since 2025-10-15
*/
@RestController
@RequestMapping("/relTeamMember")
public class RelTeamMemberController {
}
package com.yd.csf.api.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 规则条件配置表 前端控制器
* </p>
*
* @author zxm
* @since 2025-10-15
*/
@RestController
@RequestMapping("/ruleConditionConfig")
public class RuleConditionConfigController {
}
package com.yd.csf.api.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 服务配置表 前端控制器
* </p>
*
* @author zxm
* @since 2025-10-15
*/
@RestController
@RequestMapping("/serviceConfig")
public class ServiceConfigController {
}
package com.yd.csf.api.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 团队表 前端控制器
* </p>
*
* @author zxm
* @since 2025-10-15
*/
@RestController
@RequestMapping("/team")
public class TeamController {
}
package com.yd.csf.api.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yd.common.result.Result;
import com.yd.csf.feign.request.commissionruleconfig.ApiCommissionRuleConfigAddRequest;
import com.yd.csf.feign.request.commissionruleconfig.ApiCommissionRuleConfigEditRequest;
import com.yd.csf.feign.request.commissionruleconfig.ApiCommissionRuleConfigPageRequest;
import com.yd.csf.feign.response.commissionruleconfig.ApiCommissionRuleConfigDetailResponse;
import com.yd.csf.feign.response.commissionruleconfig.ApiCommissionRuleConfigPageResponse;
public interface ApiCommissionRuleConfigService {
Result<IPage<ApiCommissionRuleConfigPageResponse>> page(ApiCommissionRuleConfigPageRequest request);
Result<ApiCommissionRuleConfigDetailResponse> detail(String ruleBizId);
Result add(ApiCommissionRuleConfigAddRequest request);
Result edit(ApiCommissionRuleConfigEditRequest request);
Result del(String ruleBizId);
}
package com.yd.csf.api.service;
import com.yd.common.result.Result;
import com.yd.csf.feign.dto.conditionconfig.ApiRelObjectConditionDto;
import com.yd.csf.feign.dto.conditionconfig.ApiConditionTypeDto;
import java.util.List;
public interface ApiRelObjectConditionService {
Result saveRelList(ApiRelObjectConditionDto dto);
Result<List<ApiConditionTypeDto>> apiConditionTypeDtoList(ApiRelObjectConditionDto dto);
}
package com.yd.csf.api.service;
import com.yd.common.result.Result;
import com.yd.csf.feign.dto.formulaconfig.ApiFormulaConfigDto;
import com.yd.csf.feign.dto.formulaconfig.ApiRelObjectFormulaDto;
import java.util.List;
public interface ApiRelObjectFormulaService {
Result<List<ApiFormulaConfigDto>> apiFormulaConfigDtoList(ApiRelObjectFormulaDto dto);
Result saveRelList(ApiRelObjectFormulaDto dto);
}
package com.yd.csf.api.service;
import com.yd.common.result.Result;
import com.yd.csf.feign.dto.sqltemplate.ApiCommissionSqlTemplateDto;
import com.yd.csf.feign.dto.sqltemplate.ApiRelObjectSqlDto;
import java.util.List;
public interface ApiRelObjectSqlService {
Result saveRelList(ApiRelObjectSqlDto dto);
Result<List<ApiCommissionSqlTemplateDto>> apiCommissionSqlTemplateDtoList(ApiRelObjectSqlDto dto);
}
package com.yd.csf.api.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yd.common.result.Result;
import com.yd.csf.feign.request.ruleItemconfig.ApiRuleItemConfigAddRequest;
import com.yd.csf.feign.request.ruleItemconfig.ApiRuleItemConfigEditRequest;
import com.yd.csf.feign.request.ruleItemconfig.ApiRuleItemConfigPageRequest;
import com.yd.csf.feign.response.ruleItemconfig.ApiRuleItemConfigDetailResponse;
import com.yd.csf.feign.response.ruleItemconfig.ApiRuleItemConfigPageResponse;
public interface ApiRuleItemConfigService {
Result<IPage<ApiRuleItemConfigPageResponse>> page(ApiRuleItemConfigPageRequest request);
Result<ApiRuleItemConfigDetailResponse> detail(String ruleItemBizId);
Result add(ApiRuleItemConfigAddRequest request);
Result edit(ApiRuleItemConfigEditRequest request);
Result del(String ruleItemBizId);
}
package com.yd.csf.api.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yd.common.result.Result;
import com.yd.csf.feign.request.variable.ApiVariableAddRequest;
import com.yd.csf.feign.request.variable.ApiVariableEditRequest;
import com.yd.csf.feign.request.variable.ApiVariablePageRequest;
import com.yd.csf.feign.response.variable.ApiVariableDetailResponse;
import com.yd.csf.feign.response.variable.ApiVariablePageResponse;
public interface ApiVariableService {
Result<IPage<ApiVariablePageResponse>> page(ApiVariablePageRequest request);
Result<ApiVariableDetailResponse> detail(String variableBizId);
Result add(ApiVariableAddRequest request);
Result edit(ApiVariableEditRequest request);
Result del(String variableBizId);
}
package com.yd.csf.api.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yd.common.constant.CodeGeneratorConstants;
import com.yd.common.enums.CommonEnum;
import com.yd.common.enums.ResultCode;
import com.yd.common.exception.BusinessException;
import com.yd.common.result.Result;
import com.yd.common.utils.CodeGenerator;
import com.yd.common.utils.RandomStringGenerator;
import com.yd.csf.api.service.ApiCommissionRuleConfigService;
import com.yd.csf.feign.request.commissionruleconfig.ApiCommissionRuleConfigAddRequest;
import com.yd.csf.feign.request.commissionruleconfig.ApiCommissionRuleConfigEditRequest;
import com.yd.csf.feign.request.commissionruleconfig.ApiCommissionRuleConfigPageRequest;
import com.yd.csf.feign.response.commissionruleconfig.ApiCommissionRuleConfigDetailResponse;
import com.yd.csf.feign.response.commissionruleconfig.ApiCommissionRuleConfigPageResponse;
import com.yd.csf.service.dto.CommissionRuleConfigDto;
import com.yd.csf.service.model.CommissionRuleConfig;
import com.yd.csf.service.service.ICommissionRuleConfigService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.List;
import java.util.Objects;
@Service
public class ApiCommissionRuleConfigServiceImpl implements ApiCommissionRuleConfigService {
@Autowired
private ICommissionRuleConfigService iCommissionRuleConfigService;
/**
* 分页查询-基本法配置信息
* @param request
* @return
*/
@Override
public Result<IPage<ApiCommissionRuleConfigPageResponse>> page(ApiCommissionRuleConfigPageRequest request) {
Page<ApiCommissionRuleConfigPageResponse> page = new Page<>(request.getPageNo(), request.getPageSize());
IPage<ApiCommissionRuleConfigPageResponse> iPage = iCommissionRuleConfigService.page(page, request);
return Result.success(iPage);
}
/**
* 详情-基本法配置信息
* @param ruleBizId
* @return
*/
@Override
public Result<ApiCommissionRuleConfigDetailResponse> detail(String ruleBizId) {
//校验基本法配置信息是否存在
Result<CommissionRuleConfig> result = checkCommissionRuleConfigIsExist(ruleBizId);
CommissionRuleConfig config = result.getData();
ApiCommissionRuleConfigDetailResponse response = new ApiCommissionRuleConfigDetailResponse();
BeanUtils.copyProperties(config,response);
return Result.success(response);
}
/**
* 添加-基本法配置信息
* @param request
* @return
*/
@Override
public Result add(ApiCommissionRuleConfigAddRequest request) {
//校验基本法名称的唯一性
List<CommissionRuleConfig> list = iCommissionRuleConfigService.queryList(CommissionRuleConfigDto.builder()
.ruleName(request.getRuleName())
.build());
if (!CollectionUtils.isEmpty(list)) {
throw new BusinessException("基本法名称已存在");
}
CommissionRuleConfig config = new CommissionRuleConfig();
BeanUtils.copyProperties(request,config);
config.setRuleBizId(RandomStringGenerator.generateBizId16(CommonEnum.UID_TYPE_COMMISSION_RULE_CONFIG.getCode()));
//基本法编码
config.setRuleCode(CodeGenerator.generate10Code(CodeGeneratorConstants.PREFIX_RULE_CODE));
iCommissionRuleConfigService.saveOrUpdate(config);
return Result.success();
}
/**
* 编辑-基本法配置信息
* @param request
* @return
*/
@Override
public Result edit(ApiCommissionRuleConfigEditRequest request) {
//校验基本法配置信息是否存在
Result<CommissionRuleConfig> result = checkCommissionRuleConfigIsExist(request.getRuleBizId());
CommissionRuleConfig config = result.getData();
//校验基本法名称的唯一性
List<CommissionRuleConfig> list = iCommissionRuleConfigService.queryList(CommissionRuleConfigDto.builder()
.ruleName(request.getRuleName())
.isExcludeMy(true)
.ruleBizId(request.getRuleBizId())
.build());
if (!CollectionUtils.isEmpty(list)) {
throw new BusinessException("基本法名称已存在");
}
BeanUtils.copyProperties(request,config);
iCommissionRuleConfigService.saveOrUpdate(config);
return Result.success();
}
/**
* 删除-基本法配置信息
* @param ruleBizId
* @return
*/
@Override
public Result del(String ruleBizId) {
return null;
}
/**
* 校验基本法配置信息是否存在
* @param ruleBizId
* @return
*/
public Result<CommissionRuleConfig> checkCommissionRuleConfigIsExist(String ruleBizId) {
CommissionRuleConfig config = iCommissionRuleConfigService.queryOne(ruleBizId);
if (Objects.isNull(config)) {
//数据不存在
throw new BusinessException(ResultCode.NULL_ERROR.getCode(),ResultCode.NULL_ERROR.getMessage());
}
return Result.success(config);
}
}
package com.yd.csf.api.service.impl;
import com.yd.common.result.Result;
import com.yd.csf.api.service.ApiRelObjectConditionService;
import com.yd.csf.feign.dto.conditionconfig.ApiRelObjectConditionDto;
import com.yd.csf.feign.dto.conditionconfig.ApiConditionTypeDto;
import com.yd.csf.service.dto.ConditionTypeDto;
import com.yd.csf.service.dto.RelObjectConditionDto;
import com.yd.csf.service.model.*;
import com.yd.csf.service.service.IConditionTypeService;
import com.yd.csf.service.service.IRelObjectConditionService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
@Service
public class ApiRelObjectConditionServiceImpl implements ApiRelObjectConditionService {
@Autowired
private IRelObjectConditionService iRelObjectConditionService;
@Autowired
private IConditionTypeService iConditionTypeService;
/**
* 保存对象和规则条件配置关系
* @param dto
* @return
*/
@Override
public Result saveRelList(ApiRelObjectConditionDto dto) {
//先删后新增
iRelObjectConditionService.del(dto);
//新增
if (!CollectionUtils.isEmpty(dto.getConditionTypeBizIdList())) {
List<RelObjectCondition> saveList = dto.getConditionTypeBizIdList().stream().map(conditionTypeBizId -> {
RelObjectCondition relObjectCondition = new RelObjectCondition();
BeanUtils.copyProperties(dto,relObjectCondition);
relObjectCondition.setConditionTypeBizId(conditionTypeBizId);
return relObjectCondition;
}).collect(Collectors.toList());
iRelObjectConditionService.saveOrUpdateBatch(saveList);
}
return Result.success();
}
/**
* 根据对象关系查询条件类型列表信息
* @param dto
* @return
*/
@Override
public Result<List<ApiConditionTypeDto>> apiConditionTypeDtoList(ApiRelObjectConditionDto dto) {
List<ApiConditionTypeDto> apiConditionTypeDtoList = new ArrayList<>();
RelObjectConditionDto relObjectConditionDto = new RelObjectConditionDto();
BeanUtils.copyProperties(dto,relObjectConditionDto);
List<RelObjectCondition> relObjectConditionList = iRelObjectConditionService.queryList(relObjectConditionDto);
if (!CollectionUtils.isEmpty(relObjectConditionList)) {
List<String> conditionTypeBizIdList = relObjectConditionList.stream().map(RelObjectCondition::getConditionTypeBizId).collect(Collectors.toList());
List<ConditionType> conditionTypeList = iConditionTypeService.queryList(ConditionTypeDto.builder()
.conditionTypeBizIdList(conditionTypeBizIdList)
.build());
if (!CollectionUtils.isEmpty(conditionTypeList)) {
apiConditionTypeDtoList = conditionTypeList.stream().map(d -> {
ApiConditionTypeDto typeDto = new ApiConditionTypeDto();
BeanUtils.copyProperties(d,typeDto);
return typeDto;
}).collect(Collectors.toList());
}
}
return Result.success(apiConditionTypeDtoList);
}
}
package com.yd.csf.api.service.impl;
import com.yd.common.result.Result;
import com.yd.csf.api.service.ApiRelObjectFormulaService;
import com.yd.csf.feign.dto.formulaconfig.ApiFormulaConfigDto;
import com.yd.csf.feign.dto.formulaconfig.ApiRelObjectFormulaDto;
import com.yd.csf.service.dto.FormulaConfigDto;
import com.yd.csf.service.dto.RelObjectFormulaDto;
import com.yd.csf.service.model.FormulaConfig;
import com.yd.csf.service.model.RelObjectFormula;
import com.yd.csf.service.service.IFormulaConfigService;
import com.yd.csf.service.service.IRelObjectFormulaService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
@Service
public class ApiRelObjectFormulaServiceImpl implements ApiRelObjectFormulaService {
@Autowired
private IRelObjectFormulaService iRelObjectFormulaService;
@Autowired
private IFormulaConfigService iFormulaConfigService;
/**
* 根据对象关系查询公式配置列表信息
* @param dto
* @return
*/
@Override
public Result<List<ApiFormulaConfigDto>> apiFormulaConfigDtoList(ApiRelObjectFormulaDto dto) {
List<ApiFormulaConfigDto> apiFormulaConfigDtoList = new ArrayList<>();
RelObjectFormulaDto relObjectFormulaDto = new RelObjectFormulaDto();
BeanUtils.copyProperties(dto,relObjectFormulaDto);
List<RelObjectFormula> relObjectFormulaList = iRelObjectFormulaService.queryList(relObjectFormulaDto);
if (!CollectionUtils.isEmpty(relObjectFormulaList)) {
List<String> formulaBizIdList = relObjectFormulaList.stream().map(RelObjectFormula::getFormulaBizId).collect(Collectors.toList());
List<FormulaConfig> formulaConfigList = iFormulaConfigService.queryList(FormulaConfigDto.builder()
.formulaBizIdList(formulaBizIdList)
.build());
if (!CollectionUtils.isEmpty(formulaConfigList)) {
apiFormulaConfigDtoList = formulaConfigList.stream().map(d -> {
ApiFormulaConfigDto configDto = new ApiFormulaConfigDto();
BeanUtils.copyProperties(d,configDto);
return configDto;
}).collect(Collectors.toList());
}
}
return Result.success(apiFormulaConfigDtoList);
}
/**
* 保存对象和公式配置关系
* @param dto
* @return
*/
@Override
public Result saveRelList(ApiRelObjectFormulaDto dto) {
//先删后新增
RelObjectFormulaDto relObjectFormulaDto = new RelObjectFormulaDto();
BeanUtils.copyProperties(dto,relObjectFormulaDto);
iRelObjectFormulaService.del(relObjectFormulaDto);
//新增
if (!CollectionUtils.isEmpty(dto.getFormulaBizIdList())) {
List<RelObjectFormula> saveList = dto.getFormulaBizIdList().stream().map(bizId -> {
RelObjectFormula relObjectFormula = new RelObjectFormula();
BeanUtils.copyProperties(dto,relObjectFormula);
relObjectFormula.setFormulaBizId(bizId);
return relObjectFormula;
}).collect(Collectors.toList());
iRelObjectFormulaService.saveOrUpdateBatch(saveList);
}
return Result.success();
}
}
package com.yd.csf.api.service.impl;
import com.yd.common.result.Result;
import com.yd.csf.api.service.ApiRelObjectSqlService;
import com.yd.csf.feign.dto.sqltemplate.ApiCommissionSqlTemplateDto;
import com.yd.csf.feign.dto.sqltemplate.ApiRelObjectSqlDto;
import com.yd.csf.service.dto.CommissionSqlTemplateDto;
import com.yd.csf.service.dto.RelObjectSqlDto;
import com.yd.csf.service.model.CommissionSqlTemplate;
import com.yd.csf.service.model.RelObjectSql;
import com.yd.csf.service.service.ICommissionSqlTemplateService;
import com.yd.csf.service.service.IRelObjectSqlService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
@Service
public class ApiRelObjectSqlServiceImpl implements ApiRelObjectSqlService {
@Autowired
private IRelObjectSqlService iRelObjectSqlService;
@Autowired
private ICommissionSqlTemplateService iCommissionSqlTemplateService;
@Override
public Result saveRelList(ApiRelObjectSqlDto dto) {
//先删后新增
RelObjectSqlDto relObjectSqlDto = new RelObjectSqlDto();
BeanUtils.copyProperties(dto,relObjectSqlDto);
iRelObjectSqlService.del(relObjectSqlDto);
//新增
if (!CollectionUtils.isEmpty(dto.getSqlTemplateBizIdList())) {
List<RelObjectSql> saveList = dto.getSqlTemplateBizIdList().stream().map(bizId -> {
RelObjectSql relObjectSql = new RelObjectSql();
BeanUtils.copyProperties(dto,relObjectSql);
relObjectSql.setSqlTemplateBizId(bizId);
return relObjectSql;
}).collect(Collectors.toList());
iRelObjectSqlService.saveOrUpdateBatch(saveList);
}
return Result.success();
}
/**
* 根据对象关系查询SQL模板配置列表信息
* @param dto
* @return
*/
@Override
public Result<List<ApiCommissionSqlTemplateDto>> apiCommissionSqlTemplateDtoList(ApiRelObjectSqlDto dto) {
List<ApiCommissionSqlTemplateDto> apiCommissionSqlTemplateDtoList = new ArrayList<>();
RelObjectSqlDto relObjectSqlDto = new RelObjectSqlDto();
BeanUtils.copyProperties(dto,relObjectSqlDto);
List<RelObjectSql> relObjectSqlList = iRelObjectSqlService.queryList(relObjectSqlDto);
if (!CollectionUtils.isEmpty(relObjectSqlList)) {
List<String> sqlTemplateBizIdList = relObjectSqlList.stream().map(RelObjectSql::getSqlTemplateBizId).collect(Collectors.toList());
List<CommissionSqlTemplate> commissionSqlTemplateList = iCommissionSqlTemplateService.queryList(CommissionSqlTemplateDto.builder()
.sqlTemplateBizIdList(sqlTemplateBizIdList)
.build());
if (!CollectionUtils.isEmpty(commissionSqlTemplateList)) {
apiCommissionSqlTemplateDtoList = commissionSqlTemplateList.stream().map(d -> {
ApiCommissionSqlTemplateDto sqlTemplateDto = new ApiCommissionSqlTemplateDto();
BeanUtils.copyProperties(d,sqlTemplateDto);
return sqlTemplateDto;
}).collect(Collectors.toList());
}
}
return Result.success(apiCommissionSqlTemplateDtoList);
}
}
package com.yd.csf.api.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yd.common.constant.CodeGeneratorConstants;
import com.yd.common.enums.CommonEnum;
import com.yd.common.enums.ResultCode;
import com.yd.common.exception.BusinessException;
import com.yd.common.result.Result;
import com.yd.common.utils.CodeGenerator;
import com.yd.common.utils.RandomStringGenerator;
import com.yd.csf.api.service.ApiRelObjectFormulaService;
import com.yd.csf.api.service.ApiRuleItemConfigService;
import com.yd.csf.feign.dto.formulaconfig.ApiFormulaConfigDto;
import com.yd.csf.feign.dto.formulaconfig.ApiRelObjectFormulaDto;
import com.yd.csf.feign.request.ruleItemconfig.ApiRuleItemConfigAddRequest;
import com.yd.csf.feign.request.ruleItemconfig.ApiRuleItemConfigEditRequest;
import com.yd.csf.feign.request.ruleItemconfig.ApiRuleItemConfigPageRequest;
import com.yd.csf.feign.response.ruleItemconfig.ApiRuleItemConfigDetailResponse;
import com.yd.csf.feign.response.ruleItemconfig.ApiRuleItemConfigPageResponse;
import com.yd.csf.service.dto.RuleItemConfigDto;
import com.yd.csf.service.model.RuleItemConfig;
import com.yd.csf.service.service.IRuleItemConfigService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
@Service
public class ApiRuleItemConfigServiceImpl implements ApiRuleItemConfigService {
@Autowired
private IRuleItemConfigService iRuleItemConfigService;
@Autowired
private ApiRelObjectFormulaService apiRelObjectFormulaService;
/**
* 分页查询-基本法项目配置信息
* @param request
* @return
*/
@Override
public Result<IPage<ApiRuleItemConfigPageResponse>> page(ApiRuleItemConfigPageRequest request) {
Page<ApiRuleItemConfigPageResponse> page = new Page<>(request.getPageNo(), request.getPageSize());
IPage<ApiRuleItemConfigPageResponse> iPage = iRuleItemConfigService.page(page, request);
return Result.success(iPage);
}
/**
* 详情-基本法项目配置信息
* @param ruleItemBizId
* @return
*/
@Override
public Result<ApiRuleItemConfigDetailResponse> detail(String ruleItemBizId) {
//校验基本法项目配置信息是否存在
Result<RuleItemConfig> result = checkRuleItemConfigIsExist(ruleItemBizId);
RuleItemConfig ruleItemConfig = result.getData();
ApiRuleItemConfigDetailResponse response = new ApiRuleItemConfigDetailResponse();
BeanUtils.copyProperties(ruleItemConfig,response);
//计算公式 - 查询对象公式配置关系表
Result<List<ApiFormulaConfigDto>> listResult = apiRelObjectFormulaService.apiFormulaConfigDtoList(ApiRelObjectFormulaDto.builder()
.objectBizId(ruleItemBizId)
.build());
if (!CollectionUtils.isEmpty(listResult.getData())) {
ApiFormulaConfigDto configDto = listResult.getData().get(0);
response.setApiFormulaConfigDto(configDto);
}
return Result.success(response);
}
/**
* 添加-基本法项目配置信息
* @param request
* @return
*/
@Override
public Result add(ApiRuleItemConfigAddRequest request) {
//校验基本法项目名称的唯一性
List<RuleItemConfig> list = iRuleItemConfigService.queryList(RuleItemConfigDto.builder()
.itemName(request.getItemName())
.build());
if (!CollectionUtils.isEmpty(list)) {
throw new BusinessException("基本法项目名称已存在");
}
RuleItemConfig ruleItemConfig = new RuleItemConfig();
BeanUtils.copyProperties(request,ruleItemConfig);
//基本法项目配置表唯一业务ID
ruleItemConfig.setRuleItemBizId(RandomStringGenerator.generateBizId16(CommonEnum.UID_TYPE_RULE_ITEM_CONFIG.getCode()));
//基本法项目编码
ruleItemConfig.setItemCode(CodeGenerator.generate10Code(CodeGeneratorConstants.PREFIX_ITEM_CODE));
iRuleItemConfigService.saveOrUpdate(ruleItemConfig);
//保存对象和公式配置关系
List<String> formulaBizIdList = new ArrayList<>();
formulaBizIdList.add(request.getFormulaBizId());
apiRelObjectFormulaService.saveRelList(ApiRelObjectFormulaDto.builder()
.objectBizId(ruleItemConfig.getRuleItemBizId())
.objectName(CommonEnum.UID_TYPE_RULE_ITEM_CONFIG.getName())
.objectTableName(CommonEnum.UID_TYPE_RULE_ITEM_CONFIG.getCode())
.objectType(CommonEnum.UID_TYPE_RULE_ITEM_CONFIG.getCode())
.formulaBizIdList(formulaBizIdList)
.build());
return Result.success();
}
/**
* 编辑-基本法项目配置信息
* @param request
* @return
*/
@Override
public Result edit(ApiRuleItemConfigEditRequest request) {
Result<RuleItemConfig> result = checkRuleItemConfigIsExist(request.getRuleItemBizId());
RuleItemConfig ruleItemConfig = result.getData();
//校验基本法项目名称的唯一性
List<RuleItemConfig> list = iRuleItemConfigService.queryList(RuleItemConfigDto.builder()
.itemName(request.getItemName())
.isExcludeMy(true)
.ruleItemBizId(request.getRuleItemBizId())
.build());
if (!CollectionUtils.isEmpty(list)) {
throw new BusinessException("基本法项目名称已存在");
}
BeanUtils.copyProperties(request,ruleItemConfig);
iRuleItemConfigService.saveOrUpdate(ruleItemConfig);
//保存对象和公式配置关系
List<String> formulaBizIdList = new ArrayList<>();
formulaBizIdList.add(request.getFormulaBizId());
apiRelObjectFormulaService.saveRelList(ApiRelObjectFormulaDto.builder()
.objectBizId(ruleItemConfig.getRuleItemBizId())
.objectName(CommonEnum.UID_TYPE_RULE_ITEM_CONFIG.getName())
.objectTableName(CommonEnum.UID_TYPE_RULE_ITEM_CONFIG.getCode())
.objectType(CommonEnum.UID_TYPE_RULE_ITEM_CONFIG.getCode())
.formulaBizIdList(formulaBizIdList)
.build());
return Result.success();
}
/**
* 删除-基本法项目配置信息 TODO
* @param ruleItemBizId
* @return
*/
@Override
public Result del(String ruleItemBizId) {
return null;
}
/**
* 校验基本法项目配置信息是否存在
* @param ruleItemBizId
* @return
*/
public Result<RuleItemConfig> checkRuleItemConfigIsExist(String ruleItemBizId) {
RuleItemConfig config = iRuleItemConfigService.queryOne(ruleItemBizId);
if (Objects.isNull(config)) {
//数据不存在
throw new BusinessException(ResultCode.NULL_ERROR.getCode(),ResultCode.NULL_ERROR.getMessage());
}
return Result.success(config);
}
}
package com.yd.csf.api.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yd.common.constant.CodeGeneratorConstants;
import com.yd.common.enums.CommonEnum;
import com.yd.common.enums.ResultCode;
import com.yd.common.exception.BusinessException;
import com.yd.common.result.Result;
import com.yd.common.utils.CodeGenerator;
import com.yd.common.utils.RandomStringGenerator;
import com.yd.csf.api.service.ApiRelObjectConditionService;
import com.yd.csf.api.service.ApiRelObjectSqlService;
import com.yd.csf.api.service.ApiVariableService;
import com.yd.csf.feign.dto.conditionconfig.ApiConditionTypeDto;
import com.yd.csf.feign.dto.conditionconfig.ApiRelObjectConditionDto;
import com.yd.csf.feign.dto.formulaconfig.ApiRelObjectFormulaDto;
import com.yd.csf.feign.dto.sqltemplate.ApiCommissionSqlTemplateDto;
import com.yd.csf.feign.dto.sqltemplate.ApiRelObjectSqlDto;
import com.yd.csf.feign.request.variable.ApiVariableAddRequest;
import com.yd.csf.feign.request.variable.ApiVariableEditRequest;
import com.yd.csf.feign.request.variable.ApiVariablePageRequest;
import com.yd.csf.feign.response.variable.ApiVariableDetailResponse;
import com.yd.csf.feign.response.variable.ApiVariablePageResponse;
import com.yd.csf.service.dto.VariableDto;
import com.yd.csf.service.model.Variable;
import com.yd.csf.service.service.IRelObjectConditionService;
import com.yd.csf.service.service.IVariableService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
@Service
public class ApiVariableServiceImpl implements ApiVariableService {
@Autowired
private IVariableService iVariableService;
@Autowired
private ApiRelObjectConditionService apiRelObjectConditionService;
@Autowired
private ApiRelObjectSqlService apiRelObjectSqlService;
/**
* 分页查询-变量信息
* @param request
* @return
*/
@Override
public Result<IPage<ApiVariablePageResponse>> page(ApiVariablePageRequest request) {
Page<ApiVariablePageResponse> page = new Page<>(request.getPageNo(), request.getPageSize());
IPage<ApiVariablePageResponse> iPage = iVariableService.page(page, request);
return Result.success(iPage);
}
/**
* 详情-变量信息
* @param variableBizId
* @return
*/
@Override
public Result<ApiVariableDetailResponse> detail(String variableBizId) {
//校验变量信息是否存在
Result<Variable> result = checkVariableIsExist(variableBizId);
Variable variable = result.getData();
ApiVariableDetailResponse response = new ApiVariableDetailResponse();
BeanUtils.copyProperties(variable,response);
//绑定的条件类型对象 - 查询对象条件关系表
Result<List<ApiConditionTypeDto>> listResult = apiRelObjectConditionService.apiConditionTypeDtoList(ApiRelObjectConditionDto.builder().objectBizId(variableBizId).build());
if (!CollectionUtils.isEmpty(listResult.getData())) {
ApiConditionTypeDto typeDto = listResult.getData().get(0);
response.setApiConditionTypeDto(typeDto);
}
//绑定的SQL模板对象
Result<List<ApiCommissionSqlTemplateDto>> listResult1 = apiRelObjectSqlService.apiCommissionSqlTemplateDtoList(ApiRelObjectSqlDto.builder().objectBizId(variableBizId).build());
if (!CollectionUtils.isEmpty(listResult1.getData())) {
ApiCommissionSqlTemplateDto sqlTemplateDto = listResult1.getData().get(0);
response.setApiCommissionSqlTemplateDto(sqlTemplateDto);
}
return Result.success(response);
}
/**
* 添加-变量信息
* @param request
* @return
*/
@Override
public Result add(ApiVariableAddRequest request) {
//校验变量中文名唯一性
List<Variable> variableList = iVariableService.queryList(VariableDto.builder()
.nameCn(request.getNameCn())
.build());
if (!CollectionUtils.isEmpty(variableList)) {
throw new BusinessException("变量中文名已存在");
}
//校验变量英文名唯一性
List<Variable> variableList1 = iVariableService.queryList(VariableDto.builder()
.nameEn(request.getNameEn())
.build());
if (!CollectionUtils.isEmpty(variableList1)) {
throw new BusinessException("变量英文名已存在");
}
Variable variable = new Variable();
BeanUtils.copyProperties(request,variable);
variable.setVariableBizId(RandomStringGenerator.generateBizId16(CommonEnum.UID_TYPE_VARIABLE.getCode()));
//变量编码
variable.setVariableCode(CodeGenerator.generate10Code(CodeGeneratorConstants.PREFIX_VARIABLE_CODE));
iVariableService.saveOrUpdate(variable);
//绑定的条件类型业务ID - 保存对象条件关系表数据
List<String> conditionTypeBizIdList = new ArrayList<>();
conditionTypeBizIdList.add(request.getConditionTypeBizId());
apiRelObjectConditionService.saveRelList(ApiRelObjectConditionDto.builder()
.objectBizId(variable.getVariableBizId())
.objectName(CommonEnum.UID_TYPE_VARIABLE.getName())
.objectTableName(CommonEnum.UID_TYPE_VARIABLE.getCode())
.objectType(CommonEnum.UID_TYPE_VARIABLE.getCode())
.conditionTypeBizIdList(conditionTypeBizIdList)
.build());
//绑定的sql模板业务ID - 保存对象sql模板关系表数据
List<String> sqlTemplateBizIdList = new ArrayList<>();
sqlTemplateBizIdList.add(request.getSqlTemplateBizId());
apiRelObjectSqlService.saveRelList(ApiRelObjectSqlDto.builder()
.objectBizId(variable.getVariableBizId())
.objectName(CommonEnum.UID_TYPE_VARIABLE.getName())
.objectTableName(CommonEnum.UID_TYPE_VARIABLE.getCode())
.objectType(CommonEnum.UID_TYPE_VARIABLE.getCode())
.sqlTemplateBizIdList(sqlTemplateBizIdList)
.build());
return Result.success();
}
/**
* 编辑-变量信息
* @param request
* @return
*/
@Override
public Result edit(ApiVariableEditRequest request) {
//校验变量中文名唯一性
List<Variable> variableList = iVariableService.queryList(VariableDto.builder()
.nameCn(request.getNameCn())
.isExcludeMy(true)
.variableBizId(request.getVariableBizId())
.build());
if (!CollectionUtils.isEmpty(variableList)) {
throw new BusinessException("变量中文名已存在");
}
//校验变量英文名唯一性
List<Variable> variableList1 = iVariableService.queryList(VariableDto.builder()
.nameEn(request.getNameEn())
.isExcludeMy(true)
.variableBizId(request.getVariableBizId())
.build());
if (!CollectionUtils.isEmpty(variableList1)) {
throw new BusinessException("变量英文名已存在");
}
Variable variable = new Variable();
BeanUtils.copyProperties(request,variable);
iVariableService.saveOrUpdate(variable);
//绑定的条件类型业务ID - 保存对象条件关系表数据
List<String> conditionTypeBizIdList = new ArrayList<>();
conditionTypeBizIdList.add(request.getConditionTypeBizId());
apiRelObjectConditionService.saveRelList(ApiRelObjectConditionDto.builder()
.objectBizId(variable.getVariableBizId())
.objectName(CommonEnum.UID_TYPE_VARIABLE.getName())
.objectTableName(CommonEnum.UID_TYPE_VARIABLE.getCode())
.objectType(CommonEnum.UID_TYPE_VARIABLE.getCode())
.conditionTypeBizIdList(conditionTypeBizIdList)
.build());
//绑定的sql模板业务ID - 保存对象sql模板关系表数据
List<String> sqlTemplateBizIdList = new ArrayList<>();
sqlTemplateBizIdList.add(request.getSqlTemplateBizId());
apiRelObjectSqlService.saveRelList(ApiRelObjectSqlDto.builder()
.objectBizId(variable.getVariableBizId())
.objectName(CommonEnum.UID_TYPE_VARIABLE.getName())
.objectTableName(CommonEnum.UID_TYPE_VARIABLE.getCode())
.objectType(CommonEnum.UID_TYPE_VARIABLE.getCode())
.sqlTemplateBizIdList(sqlTemplateBizIdList)
.build());
return Result.success();
}
/**
* 删除-变量信息 TODO
* @param variableBizId
* @return
*/
@Override
public Result del(String variableBizId) {
return null;
}
/**
* 校验变量信息是否存在
* @param variableBizId
* @return
*/
public Result<Variable> checkVariableIsExist(String variableBizId) {
Variable variable = iVariableService.queryOne(variableBizId);
if (Objects.isNull(variable)) {
//数据不存在
throw new BusinessException(ResultCode.NULL_ERROR.getCode(),ResultCode.NULL_ERROR.getMessage());
}
return Result.success(variable);
}
}
...@@ -44,7 +44,7 @@ spring: ...@@ -44,7 +44,7 @@ spring:
# 配置中心 # 配置中心
config: config:
# 命名空间id(此处不用public,因public初始化的空间, id为空) # 命名空间id(此处不用public,因public初始化的空间, id为空)
namespace: b3b01715-eb85-4242-992a-5aff03d864d4 namespace: 8fbea9a4-b626-46de-a4e6-9d23f6609318
# nacos的ip地址和端口 # nacos的ip地址和端口
server-addr: 139.224.145.34:8848 server-addr: 139.224.145.34:8848
# 这个就表示 在我们nacos命名空间id为 dev中 有一个data-id 为 demo-service.yml 的配置文件 读取这个里面的配置 # 这个就表示 在我们nacos命名空间id为 dev中 有一个data-id 为 demo-service.yml 的配置文件 读取这个里面的配置
......
package com.yd.csf.feign.client.commissionruleconfig;
import com.yd.common.result.Result;
import com.yd.csf.feign.fallback.commissionruleconfig.ApiCommissionRuleConfigFeignFallbackFactory;
import com.yd.csf.feign.request.commissionruleconfig.ApiCommissionRuleConfigAddRequest;
import com.yd.csf.feign.request.commissionruleconfig.ApiCommissionRuleConfigEditRequest;
import com.yd.csf.feign.request.commissionruleconfig.ApiCommissionRuleConfigPageRequest;
import com.yd.csf.feign.response.commissionruleconfig.ApiCommissionRuleConfigDetailResponse;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotBlank;
/**
* 香港保险服务-基本法配置信息Feign客户端
*/
@FeignClient(name = "yd-csf-api", fallbackFactory = ApiCommissionRuleConfigFeignFallbackFactory.class)
public interface ApiCommissionRuleConfigFeignClient {
/**
* 分页查询-基本法配置信息
* @param request
* @return
*/
@PostMapping("/page")
Result page(@RequestBody ApiCommissionRuleConfigPageRequest request);
/**
* 详情-基本法配置信息
* @param ruleBizId
* @return
*/
@GetMapping("/detail")
Result<ApiCommissionRuleConfigDetailResponse> detail(@NotBlank(message = "基本法配置表唯一业务ID不能为空不能为空") @RequestParam(value = "ruleBizId") String ruleBizId);
/**
* 添加-基本法配置信息
* @param request
* @return
*/
@PostMapping("/add")
Result add(@Validated @RequestBody ApiCommissionRuleConfigAddRequest request);
/**
* 编辑-基本法配置信息
* @param request
* @return
*/
@PutMapping("/edit")
Result edit(@Validated @RequestBody ApiCommissionRuleConfigEditRequest request);
/**
* 删除-基本法配置信息 TODO
* @param ruleBizId
* @return
*/
@DeleteMapping("/del")
Result del(@NotBlank(message = "基本法配置表唯一业务ID不能为空不能为空") @RequestParam(value = "ruleBizId") String ruleBizId);
}
package com.yd.csf.feign.client.formulaconfig;
import com.yd.csf.feign.fallback.formulaconfig.ApiFormulaConfigFeignFallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
/**
* 香港保险服务-公式配置信息Feign客户端
*/
@FeignClient(name = "yd-csf-api", fallbackFactory = ApiFormulaConfigFeignFallbackFactory.class)
public interface ApiFormulaConfigFeignClient {
}
package com.yd.csf.feign.client.ruleItemconfig;
import com.yd.common.result.Result;
import com.yd.csf.feign.fallback.ruleItemconfig.ApiRuleItemConfigFeignFallbackFactory;
import com.yd.csf.feign.request.ruleItemconfig.ApiRuleItemConfigAddRequest;
import com.yd.csf.feign.request.ruleItemconfig.ApiRuleItemConfigEditRequest;
import com.yd.csf.feign.request.ruleItemconfig.ApiRuleItemConfigPageRequest;
import com.yd.csf.feign.response.ruleItemconfig.ApiRuleItemConfigDetailResponse;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotBlank;
/**
* 香港保险服务-基本法项目配置信息Feign客户端
*/
@FeignClient(name = "yd-csf-api", fallbackFactory = ApiRuleItemConfigFeignFallbackFactory.class)
public interface ApiRuleItemConfigFeignClient {
/**
* 分页查询-基本法项目配置信息
* @param request
* @return
*/
@PostMapping("/page")
Result page(@RequestBody ApiRuleItemConfigPageRequest request);
/**
* 详情-基本法项目配置信息
* @param ruleItemBizId
* @return
*/
@GetMapping("/detail")
Result<ApiRuleItemConfigDetailResponse> detail(@NotBlank(message = "基本法项目配置信息表唯一业务ID不能为空不能为空") @RequestParam(value = "ruleItemBizId") String ruleItemBizId);
/**
* 添加-基本法项目配置信息
* @param request
* @return
*/
@PostMapping("/add")
Result add(@Validated @RequestBody ApiRuleItemConfigAddRequest request);
/**
* 编辑-基本法项目配置信息
* @param request
* @return
*/
@PutMapping("/edit")
Result edit(@Validated @RequestBody ApiRuleItemConfigEditRequest request);
/**
* 删除-基本法项目配置信息 TODO
* @param ruleItemBizId
* @return
*/
@DeleteMapping("/del")
Result del(@NotBlank(message = "基本法项目配置信息表唯一业务ID不能为空不能为空") @RequestParam(value = "ruleItemBizId") String ruleItemBizId);
}
package com.yd.csf.feign.client.variable;
import com.yd.common.result.Result;
import com.yd.csf.feign.fallback.variable.ApiVariableFeignFallbackFactory;
import com.yd.csf.feign.request.variable.ApiVariableAddRequest;
import com.yd.csf.feign.request.variable.ApiVariableEditRequest;
import com.yd.csf.feign.request.variable.ApiVariablePageRequest;
import com.yd.csf.feign.response.variable.ApiVariableDetailResponse;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotBlank;
/**
* 香港保险服务-变量信息Feign客户端
*/
@FeignClient(name = "yd-csf-api", fallbackFactory = ApiVariableFeignFallbackFactory.class)
public interface ApiVariableFeignClient {
/**
* 分页查询-变量信息
* @param request
* @return
*/
@PostMapping("/page")
Result page(@RequestBody ApiVariablePageRequest request);
/**
* 详情-变量信息
* @param variableBizId
* @return
*/
@GetMapping("/detail")
Result<ApiVariableDetailResponse> detail(@NotBlank(message = "变量信息表唯一业务ID不能为空不能为空") @RequestParam(value = "variableBizId") String variableBizId);
/**
* 添加-变量信息
* @param request
* @return
*/
@PostMapping("/add")
Result add(@Validated @RequestBody ApiVariableAddRequest request);
/**
* 编辑-变量信息
* @param request
* @return
*/
@PutMapping("/edit")
Result edit(@Validated @RequestBody ApiVariableEditRequest request);
/**
* 删除-变量信息 TODO
* @param variableBizId
* @return
*/
@DeleteMapping("/del")
Result del(@NotBlank(message = "变量信息表唯一业务ID不能为空不能为空") @RequestParam(value = "variableBizId") String variableBizId);
}
package com.yd.csf.feign.dto.conditionconfig;
import lombok.Data;
@Data
public class ApiConditionTypeDto {
/**
* 条件类型表唯一业务ID
*/
private String conditionTypeBizId;
/**
* 条件类型编码(一个条件类型编码可能包含多个条件)
*/
private String code;
/**
* 条件类型名称
*/
private String name;
}
package com.yd.csf.feign.dto.conditionconfig;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ApiRelObjectConditionDto {
/**
* 对象类型
*/
private String objectType;
/**
* 对象所属表名
*/
private String objectTableName;
/**
* 对象名
*/
private String objectName;
/**
* 对象业务ID
*/
private String objectBizId;
/**
* 绑定条件类型表唯一业务ID列表
*/
private List<String> conditionTypeBizIdList;
}
package com.yd.csf.feign.dto.formulaconfig;
import lombok.Data;
@Data
public class ApiFormulaConfigDto {
/**
* 公式配置表唯一业务ID
*/
private String formulaBizId;
/**
* 公式编码
*/
private String code;
/**
* 公式名称
*/
private String name;
/**
* 计算公式(变量中文名称组合,用于展示)
*/
private String calculationFormulaCn;
/**
* 计算公式(变量表唯一业务ID组合)
*/
private String calculationFormulaBizId;
}
package com.yd.csf.feign.dto.formulaconfig;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ApiRelObjectFormulaDto {
/**
* 对象类型
*/
private String objectType;
/**
* 对象所属表名
*/
private String objectTableName;
/**
* 对象名
*/
private String objectName;
/**
* 对象业务ID
*/
private String objectBizId;
/**
* 公式配置表唯一业务ID
*/
private String formulaBizId;
/**
* 公式配置表唯一业务ID列表
*/
private List<String> formulaBizIdList;
}
package com.yd.csf.feign.dto.sqltemplate;
import lombok.Data;
@Data
public class ApiCommissionSqlTemplateDto {
/**
* SQL模板表唯一业务ID
*/
private String sqlTemplateBizId;
/**
* 模板编码
*/
private String sqlTemplateCode;
/**
* 模板名称
*/
private String sqlTemplateName;
/**
* SQL模板内容
*/
private String sqlTemplate;
}
package com.yd.csf.feign.dto.sqltemplate;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ApiRelObjectSqlDto {
/**
* 对象类型
*/
private String objectType;
/**
* 对象所属表名
*/
private String objectTableName;
/**
* 对象名
*/
private String objectName;
/**
* 对象业务ID
*/
private String objectBizId;
/**
* 绑定的sql模板业务ID列表
*/
private List<String> sqlTemplateBizIdList;
}
package com.yd.csf.feign.dto.variable;
import lombok.Data;
import java.math.BigDecimal;
@Data
public class ApiRuleConditionConfigDto {
/**
* 主键ID
*/
private Long id;
/**
* 条件配置唯一业务ID
*/
private String conditionBizId;
/**
* 类型(1-条件 2-计算公式)
*/
private String type;
/**
* 一级分类编码
*/
private String firstCategoryCode;
/**
* 一级分类名称
*/
private String firstCategoryName;
/**
* 二级分类编码
*/
private String secondCategoryCode;
/**
* 二级分类名称
*/
private String secondCategoryName;
/**
* 计算公式
*/
private String calculationFormula;
/**
* 条件值(范围内的值)
*/
private String conditionalValue;
/**
* 条件-最小值(在范围条件中表示最小值)
*/
private BigDecimal minValue;
/**
* 条件-最大值(在范围条件中表示最大值)
*/
private BigDecimal maxValue;
/**
* 条件-是否包含最小值(是否包含最小值,1表示包含,0表示不包含)
*/
private Integer includeMin;
/**
* 条件-是否包含最大值(是否包含最大值,1表示包含,0表示不包含)
*/
private Integer includeMax;
/**
* 优先级(数字越小优先级越高)
*/
private Integer priority;
}
package com.yd.csf.feign.fallback.commissionruleconfig;
import com.yd.common.result.Result;
import com.yd.csf.feign.client.commissionruleconfig.ApiCommissionRuleConfigFeignClient;
import com.yd.csf.feign.request.commissionruleconfig.ApiCommissionRuleConfigAddRequest;
import com.yd.csf.feign.request.commissionruleconfig.ApiCommissionRuleConfigEditRequest;
import com.yd.csf.feign.request.commissionruleconfig.ApiCommissionRuleConfigPageRequest;
import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component;
/**
* 香港保险服务-基本法配置信息Feign降级处理
*/
@Slf4j
@Component
public class ApiCommissionRuleConfigFeignFallbackFactory implements FallbackFactory<ApiCommissionRuleConfigFeignClient> {
@Override
public ApiCommissionRuleConfigFeignClient create(Throwable cause) {
return new ApiCommissionRuleConfigFeignClient() {
@Override
public Result page(ApiCommissionRuleConfigPageRequest request) {
return null;
}
@Override
public Result detail(String ruleBizId) {
return null;
}
@Override
public Result add(ApiCommissionRuleConfigAddRequest request) {
return null;
}
@Override
public Result edit(ApiCommissionRuleConfigEditRequest request) {
return null;
}
@Override
public Result del(String ruleBizId) {
return null;
}
};
}
}
package com.yd.csf.feign.fallback.formulaconfig;
import com.yd.csf.feign.client.formulaconfig.ApiFormulaConfigFeignClient;
import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component;
/**
* 香港保险服务-受益人信息Feign降级处理
*/
@Slf4j
@Component
public class ApiFormulaConfigFeignFallbackFactory implements FallbackFactory<ApiFormulaConfigFeignClient> {
@Override
public ApiFormulaConfigFeignClient create(Throwable cause) {
return null;
}
}
package com.yd.csf.feign.fallback.ruleItemconfig;
import com.yd.common.result.Result;
import com.yd.csf.feign.client.ruleItemconfig.ApiRuleItemConfigFeignClient;
import com.yd.csf.feign.request.ruleItemconfig.ApiRuleItemConfigAddRequest;
import com.yd.csf.feign.request.ruleItemconfig.ApiRuleItemConfigEditRequest;
import com.yd.csf.feign.request.ruleItemconfig.ApiRuleItemConfigPageRequest;
import com.yd.csf.feign.response.ruleItemconfig.ApiRuleItemConfigDetailResponse;
import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component;
/**
* 香港保险服务-基本法项目配置信息Feign降级处理
*/
@Slf4j
@Component
public class ApiRuleItemConfigFeignFallbackFactory implements FallbackFactory<ApiRuleItemConfigFeignClient> {
@Override
public ApiRuleItemConfigFeignClient create(Throwable cause) {
return new ApiRuleItemConfigFeignClient() {
@Override
public Result page(ApiRuleItemConfigPageRequest request) {
return null;
}
@Override
public Result<ApiRuleItemConfigDetailResponse> detail(String ruleItemBizId) {
return null;
}
@Override
public Result add(ApiRuleItemConfigAddRequest request) {
return null;
}
@Override
public Result edit(ApiRuleItemConfigEditRequest request) {
return null;
}
@Override
public Result del(String ruleItemBizId) {
return null;
}
};
}
}
package com.yd.csf.feign.fallback.variable;
import com.yd.common.result.Result;
import com.yd.csf.feign.client.variable.ApiVariableFeignClient;
import com.yd.csf.feign.request.variable.ApiVariableAddRequest;
import com.yd.csf.feign.request.variable.ApiVariableEditRequest;
import com.yd.csf.feign.request.variable.ApiVariablePageRequest;
import com.yd.csf.feign.response.variable.ApiVariableDetailResponse;
import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component;
/**
* 香港保险服务-变量信息Feign降级处理
*/
@Slf4j
@Component
public class ApiVariableFeignFallbackFactory implements FallbackFactory<ApiVariableFeignClient> {
@Override
public ApiVariableFeignClient create(Throwable cause) {
return new ApiVariableFeignClient() {
@Override
public Result page(ApiVariablePageRequest request) {
return null;
}
@Override
public Result<ApiVariableDetailResponse> detail(String variableBizId) {
return null;
}
@Override
public Result add(ApiVariableAddRequest request) {
return null;
}
@Override
public Result edit(ApiVariableEditRequest request) {
return null;
}
@Override
public Result del(String variableBizId) {
return null;
}
};
}
}
package com.yd.csf.feign.request.commissionruleconfig;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;
@Data
public class ApiCommissionRuleConfigAddRequest {
/**
* 基本法名称
*/
@NotBlank(message = "基本法名称不能为空")
private String ruleName;
/**
* 基本法描述
*/
private String description;
/**
* 生效开始日期
*/
private LocalDateTime effectiveStart;
/**
* 生效结束日期
*/
private LocalDateTime effectiveEnd;
/**
* 状态(0:停用 1:启用)
*/
@NotNull(message = "状态不能为空")
private Integer status;
/**
* 版本号
*/
private Integer ruleVersion;
// /**
// * 所属租户唯一业务ID(冗余)
// */
// private String tenantBizId;
//
// /**
// * 所属项目唯一业务ID(冗余)
// */
// private String projectBizId;
}
package com.yd.csf.feign.request.commissionruleconfig;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;
@Data
public class ApiCommissionRuleConfigEditRequest {
/**
* 基本法配置表唯一业务ID
*/
@NotBlank(message = "基本法配置表唯一业务ID不能为空")
private String ruleBizId;
/**
* 基本法名称
*/
@NotBlank(message = "基本法名称不能为空")
private String ruleName;
/**
* 基本法描述
*/
private String description;
/**
* 生效开始日期
*/
private LocalDateTime effectiveStart;
/**
* 生效结束日期
*/
private LocalDateTime effectiveEnd;
/**
* 状态(0:停用 1:启用)
*/
@NotNull(message = "状态不能为空")
private Integer status;
/**
* 版本号
*/
private Integer ruleVersion;
// /**
// * 所属租户唯一业务ID(冗余)
// */
// private String tenantBizId;
//
// /**
// * 所属项目唯一业务ID(冗余)
// */
// private String projectBizId;
}
package com.yd.csf.feign.request.commissionruleconfig;
import com.yd.common.dto.PageDto;
import lombok.Data;
@Data
public class ApiCommissionRuleConfigPageRequest extends PageDto {
/**
* 基本法名称(模糊搜索)
*/
private String ruleName;
}
package com.yd.csf.feign.request.ruleItemconfig;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
@Data
public class ApiRuleItemConfigAddRequest {
/**
* 基本法配置表唯一业务ID
*/
@NotBlank(message = "基本法配置表唯一业务ID不能为空")
private String ruleBizId;
/**
* 基本法项目名称
*/
@NotBlank(message = "基本法项目名称不能为空")
private String itemName;
/**
* 计算时间点(字典)
*/
@NotBlank(message = "计算时间点不能为空")
private String calculate;
/**
* 执行顺序,数值越小越先执行,用于控制佣金项目的计算顺序
*/
private Integer executionOrder;
/**
* 公式配置表唯一业务ID
*/
private String formulaBizId;
/**
* 项目描述
*/
private String description;
/**
* 状态(0:停用 1:启用)
*/
@NotNull(message = "状态不能为空")
private Integer status;
// /**
// * 所属租户唯一业务ID(冗余)
// */
// private String tenantBizId;
//
// /**
// * 所属项目唯一业务ID(冗余)
// */
// private String projectBizId;
}
package com.yd.csf.feign.request.ruleItemconfig;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
@Data
public class ApiRuleItemConfigEditRequest {
/**
* 基本法项目配置表唯一业务ID
*/
@NotBlank(message = "基本法项目配置表唯一业务ID不能为空")
private String ruleItemBizId;
/**
* 基本法配置表唯一业务ID
*/
@NotBlank(message = "基本法配置表唯一业务ID不能为空")
private String ruleBizId;
/**
* 基本法项目名称
*/
@NotBlank(message = "基本法项目名称不能为空")
private String itemName;
/**
* 计算时间点(字典)
*/
@NotBlank(message = "计算时间点不能为空")
private String calculate;
/**
* 执行顺序,数值越小越先执行,用于控制佣金项目的计算顺序
*/
private Integer executionOrder;
/**
* 公式配置表唯一业务ID
*/
private String formulaBizId;
/**
* 项目描述
*/
private String description;
/**
* 状态(0:停用 1:启用)
*/
@NotNull(message = "状态不能为空")
private Integer status;
// /**
// * 所属租户唯一业务ID(冗余)
// */
// private String tenantBizId;
//
// /**
// * 所属项目唯一业务ID(冗余)
// */
// private String projectBizId;
}
package com.yd.csf.feign.request.ruleItemconfig;
import com.yd.common.dto.PageDto;
import lombok.Data;
@Data
public class ApiRuleItemConfigPageRequest extends PageDto {
/**
* 基本法项目名称(模糊搜索)
*/
private String itemName;
/**
* 计算时间点(字典)
*/
private String calculate;
}
package com.yd.csf.feign.request.variable;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
@Data
public class ApiVariableAddRequest {
/**
* 变量名称中文名
*/
@NotBlank(message = "变量名称中文名不能为空")
private String nameCn;
/**
* 变量名称英文名
*/
@NotBlank(message = "变量名称英文名不能为空")
private String nameEn;
/**
* 变量类型(字典: 固定值、动态计算,如果固定值这个变量取值就是value变量值这个字段,如果是动态计算需要关联条件(对象和条件配置关系表)和SQL计算(对象和SQL模板配置关系表)对应的变量值)
*/
@NotBlank(message = "变量类型不能为空")
private String type;
/**
* 变量值
*/
@NotBlank(message = "变量值不能为空")
private String value;
// /**
// * 所属租户唯一业务ID(冗余)
// */
// private String tenantBizId;
//
// /**
// * 所属项目唯一业务ID(冗余)
// */
// private String projectBizId;
/**
* 状态(0:停用 1:启用)
*/
@NotNull(message = "状态不能为空")
private Integer status;
/**
* 绑定的条件类型业务ID
*/
private String conditionTypeBizId;
/**
* 绑定SQL模板表唯一业务ID
*/
private String sqlTemplateBizId;
}
package com.yd.csf.feign.request.variable;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
@Data
public class ApiVariableEditRequest {
/**
* 变量表唯一业务ID
*/
@NotBlank(message = "变量表唯一业务ID不能为空")
private String variableBizId;
/**
* 变量名称中文名
*/
@NotBlank(message = "变量名称中文名不能为空")
private String nameCn;
/**
* 变量名称英文名
*/
@NotBlank(message = "变量名称英文名不能为空")
private String nameEn;
/**
* 变量类型(字典: 固定值、动态计算,如果固定值这个变量取值就是value变量值这个字段,如果是动态计算需要关联条件(对象和条件配置关系表)和SQL计算(对象和SQL模板配置关系表)对应的变量值)
*/
@NotBlank(message = "变量类型不能为空")
private String type;
/**
* 变量值
*/
@NotBlank(message = "变量值不能为空")
private String value;
/**
* 状态(0:停用 1:启用)
*/
@NotNull(message = "状态不能为空")
private Integer status;
/**
* 绑定的条件类型业务ID
*/
private String conditionTypeBizId;
/**
* 绑定SQL模板表唯一业务ID
*/
private String sqlTemplateBizId;
// /**
// * 所属租户唯一业务ID(冗余)
// */
// private String tenantBizId;
//
// /**
// * 所属项目唯一业务ID(冗余)
// */
// private String projectBizId;
}
package com.yd.csf.feign.request.variable;
import com.yd.common.dto.PageDto;
import lombok.Data;
@Data
public class ApiVariablePageRequest extends PageDto {
/**
* 变量名称中文名
*/
private String nameCn;
/**
* 变量类型(字典: 固定值、动态计算,如果固定值这个变量取值就是value变量值这个字段,如果是动态计算需要关联条件和SQL计算对应的变量值)
*/
private String type;
}
package com.yd.csf.feign.response.commissionruleconfig;
import lombok.Data;
import java.time.LocalDateTime;
@Data
public class ApiCommissionRuleConfigDetailResponse {
/**
* 主键ID
*/
private Long id;
/**
* 基本法配置表唯一业务ID
*/
private String ruleBizId;
/**
* 基本法编码
*/
private String ruleCode;
/**
* 基本法名称
*/
private String ruleName;
/**
* 基本法描述
*/
private String description;
/**
* 生效开始日期
*/
private LocalDateTime effectiveStart;
/**
* 生效结束日期
*/
private LocalDateTime effectiveEnd;
/**
* 状态(0:停用 1:启用)
*/
private Integer status;
/**
* 版本号
*/
private Integer ruleVersion;
// /**
// * 所属租户唯一业务ID(冗余)
// */
// private String tenantBizId;
//
// /**
// * 所属项目唯一业务ID(冗余)
// */
// private String projectBizId;
/**
* 通用备注
*/
private String remark;
/**
* 删除标识: 0-正常, 1-删除
*/
private Integer isDeleted;
/**
* 创建人ID
*/
private String creatorId;
/**
* 更新人ID
*/
private String updaterId;
/**
* 创建时间
*/
private LocalDateTime createTime;
/**
* 更新时间
*/
private LocalDateTime updateTime;
}
package com.yd.csf.feign.response.commissionruleconfig;
import lombok.Data;
import java.time.LocalDateTime;
@Data
public class ApiCommissionRuleConfigPageResponse {
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
private Long id;
/**
* 基本法配置表唯一业务ID
*/
private String ruleBizId;
/**
* 基本法编码
*/
private String ruleCode;
/**
* 基本法名称
*/
private String ruleName;
/**
* 基本法描述
*/
private String description;
/**
* 生效开始日期
*/
private LocalDateTime effectiveStart;
/**
* 生效结束日期
*/
private LocalDateTime effectiveEnd;
/**
* 状态(0:停用 1:启用)
*/
private Integer status;
/**
* 通用备注
*/
private String remark;
/**
* 创建时间
*/
private LocalDateTime createTime;
/**
* 更新时间
*/
private LocalDateTime updateTime;
}
package com.yd.csf.feign.response.ruleItemconfig;
import com.yd.csf.feign.dto.formulaconfig.ApiFormulaConfigDto;
import lombok.Data;
import java.time.LocalDateTime;
@Data
public class ApiRuleItemConfigDetailResponse {
/**
* 主键ID
*/
private Long id;
/**
* 基本法项目配置表唯一业务ID
*/
private String ruleItemBizId;
/**
* 基本法配置表唯一业务ID
*/
private String ruleBizId;
/**
* 基本法项目编码
*/
private String itemCode;
/**
* 基本法项目名称
*/
private String itemName;
/**
* 计算时间点(字典)
*/
private String calculate;
/**
* 执行顺序,数值越小越先执行,用于控制佣金项目的计算顺序
*/
private Integer executionOrder;
/**
* 项目描述
*/
private String description;
/**
* 状态(0:停用 1:启用)
*/
private Integer status;
/**
* 通用备注
*/
private String remark;
/**
* 删除标识: 0-正常, 1-删除
*/
private Integer isDeleted;
/**
* 创建人ID
*/
private String creatorId;
/**
* 更新人ID
*/
private String updaterId;
/**
* 创建时间
*/
private LocalDateTime createTime;
/**
* 更新时间
*/
private LocalDateTime updateTime;
/**
* 绑定的公式对象
*/
private ApiFormulaConfigDto apiFormulaConfigDto;
}
package com.yd.csf.feign.response.ruleItemconfig;
import lombok.Data;
import java.time.LocalDateTime;
@Data
public class ApiRuleItemConfigPageResponse {
/**
* 基本法项目配置表主键ID
*/
private Long id;
/**
* 基本法项目配置表唯一业务ID
*/
private String ruleItemBizId;
/**
* 基本法配置表唯一业务ID
*/
private String ruleBizId;
/**
* 基本法名称
*/
private String ruleName;
/**
* 基本法项目编码
*/
private String itemCode;
/**
* 基本法项目名称
*/
private String itemName;
/**
* 计算时间点(字典)
*/
private String calculate;
/**
* 执行顺序,数值越小越先执行,用于控制佣金项目的计算顺序
*/
private Integer executionOrder;
/**
* 状态(0:停用 1:启用)
*/
private Integer status;
/**
* 创建时间
*/
private LocalDateTime createTime;
/**
* 更新时间
*/
private LocalDateTime updateTime;
}
package com.yd.csf.feign.response.variable;
import com.yd.csf.feign.dto.conditionconfig.ApiConditionTypeDto;
import com.yd.csf.feign.dto.sqltemplate.ApiCommissionSqlTemplateDto;
import lombok.Data;
import java.time.LocalDateTime;
import java.util.List;
@Data
public class ApiVariableDetailResponse {
/**
* 主键ID
*/
private Long id;
/**
* 变量表唯一业务ID
*/
private String variableBizId;
/**
* 变量编码
*/
private String variableCode;
/**
* 变量名称中文名
*/
private String nameCn;
/**
* 变量名称英文名
*/
private String nameEn;
/**
* 变量类型(字典: 固定值、动态计算,如果固定值这个变量取值就是value变量值这个字段,如果是动态计算需要关联条件和SQL计算对应的变量值)
*/
private String type;
/**
* 变量值
*/
private String value;
/**
* 状态(0:停用 1:启用)
*/
private Integer status;
/**
* 通用备注
*/
private String remark;
/**
* 删除标识: 0-正常, 1-删除
*/
private Integer isDeleted;
/**
* 创建人ID
*/
private String creatorId;
/**
* 更新人ID
*/
private String updaterId;
/**
* 创建时间
*/
private LocalDateTime createTime;
/**
* 更新时间
*/
private LocalDateTime updateTime;
/**
* 绑定的条件类型对象
*/
private ApiConditionTypeDto apiConditionTypeDto;
/**
* 绑定的SQL模板对象
*/
private ApiCommissionSqlTemplateDto apiCommissionSqlTemplateDto;
}
package com.yd.csf.feign.response.variable;
import lombok.Data;
import java.time.LocalDateTime;
@Data
public class ApiVariablePageResponse {
/**
* 主键ID
*/
private Long id;
/**
* 变量表唯一业务ID
*/
private String variableBizId;
/**
* 变量编码
*/
private String variableCode;
/**
* 变量名称中文名
*/
private String nameCn;
/**
* 变量名称英文名
*/
private String nameEn;
/**
* 变量类型(字典: 固定值、动态计算,如果固定值这个变量取值就是value变量值这个字段,如果是动态计算需要关联条件和SQL计算对应的变量值)
*/
private String type;
/**
* 变量值
*/
private String value;
/**
* 状态(0:停用 1:启用)
*/
private Integer status;
/**
* 创建时间
*/
private LocalDateTime createTime;
/**
* 更新时间
*/
private LocalDateTime updateTime;
}
package com.yd.csf.service.dao;
import com.yd.csf.service.model.AgentAccumulatedFyc;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 业务员累计积分表 - 存储业务员的累计FYC积分和当前等级信息 Mapper 接口
* </p>
*
* @author zxm
* @since 2025-10-15
*/
public interface AgentAccumulatedFycMapper extends BaseMapper<AgentAccumulatedFyc> {
}
package com.yd.csf.service.dao;
import com.yd.csf.service.model.AgentDetailFyc;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 业务员积分明细表 - 存储业务员的每次增加或者减少的FYC积分 Mapper 接口
* </p>
*
* @author zxm
* @since 2025-10-15
*/
public interface AgentDetailFycMapper extends BaseMapper<AgentDetailFyc> {
}
package com.yd.csf.service.dao;
import com.yd.csf.service.model.AgentReferralRelation;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 推荐关系表 Mapper 接口
* </p>
*
* @author zxm
* @since 2025-10-15
*/
public interface AgentReferralRelationMapper extends BaseMapper<AgentReferralRelation> {
}
package com.yd.csf.service.dao;
import com.yd.csf.service.model.AgentTutoringRelation;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 辅导关系表 Mapper 接口
* </p>
*
* @author zxm
* @since 2025-10-15
*/
public interface AgentTutoringRelationMapper extends BaseMapper<AgentTutoringRelation> {
}
package com.yd.csf.service.dao;
import com.yd.csf.service.model.BatchPolicy;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 保单批次保单关联表 - 存储批次与保单的关联关系,记录批次中每个保单的计算状态 Mapper 接口
* </p>
*
* @author zxm
* @since 2025-10-15
*/
public interface BatchPolicyMapper extends BaseMapper<BatchPolicy> {
}
package com.yd.csf.service.dao;
import com.yd.csf.service.model.CarApply;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 车辆预约申请表 Mapper 接口
* </p>
*
* @author zxm
* @since 2025-10-15
*/
public interface CarApplyMapper extends BaseMapper<CarApply> {
}
package com.yd.csf.service.dao;
import com.yd.csf.service.model.ClientRole;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 客户端角色表 Mapper 接口
* </p>
*
* @author zxm
* @since 2025-10-15
*/
public interface ClientRoleMapper extends BaseMapper<ClientRole> {
}
package com.yd.csf.service.dao;
import com.yd.csf.service.model.CommissionResult;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 保单佣金计算结果表(出账表) - 存储佣金计算的详细结果,用于查询、对账和发放 Mapper 接口
* </p>
*
* @author zxm
* @since 2025-10-15
*/
public interface CommissionResultMapper extends BaseMapper<CommissionResult> {
}
package com.yd.csf.service.dao;
import com.yd.csf.service.model.CommissionRuleBinding;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 基本法绑定表 - 存储基本法与业务员或团队的绑定关系,支持灵活的权限分配 Mapper 接口
* </p>
*
* @author zxm
* @since 2025-10-15
*/
public interface CommissionRuleBindingMapper extends BaseMapper<CommissionRuleBinding> {
}
package com.yd.csf.service.dao;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yd.csf.feign.request.commissionruleconfig.ApiCommissionRuleConfigPageRequest;
import com.yd.csf.feign.response.commissionruleconfig.ApiCommissionRuleConfigPageResponse;
import com.yd.csf.service.model.CommissionRuleConfig;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
/**
* <p>
* 基本法配置表 Mapper 接口
* </p>
*
* @author zxm
* @since 2025-10-15
*/
public interface CommissionRuleConfigMapper extends BaseMapper<CommissionRuleConfig> {
IPage<ApiCommissionRuleConfigPageResponse> page(@Param("page") Page<ApiCommissionRuleConfigPageResponse> page,
@Param("request") ApiCommissionRuleConfigPageRequest request);
}
package com.yd.csf.service.dao;
import com.yd.csf.service.model.CommissionSqlTemplate;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* SQL模板表 - 存储所有佣金计算相关的动态SQL模板,支持灵活配置和参数化查询,实现业务逻辑与代码解耦 Mapper 接口
* </p>
*
* @author zxm
* @since 2025-10-15
*/
public interface CommissionSqlTemplateMapper extends BaseMapper<CommissionSqlTemplate> {
}
package com.yd.csf.service.dao;
import com.yd.csf.service.model.ConditionConfig;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 条件配置表 Mapper 接口
* </p>
*
* @author zxm
* @since 2025-10-17
*/
public interface ConditionConfigMapper extends BaseMapper<ConditionConfig> {
}
package com.yd.csf.service.dao;
import com.yd.csf.service.model.ConditionType;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 条件类型表 Mapper 接口
* </p>
*
* @author zxm
* @since 2025-10-17
*/
public interface ConditionTypeMapper extends BaseMapper<ConditionType> {
}
package com.yd.csf.service.dao;
import com.yd.csf.service.model.FormulaConfig;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 公式配置表 Mapper 接口
* </p>
*
* @author zxm
* @since 2025-10-17
*/
public interface FormulaConfigMapper extends BaseMapper<FormulaConfig> {
}
package com.yd.csf.service.dao;
import com.yd.csf.service.model.FycTask;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 业务员积分任务表 - 定时跑批业务员绑定的基本法计算点,算出当前业务员所得的积分(一级管理奖、二级管理奖、辅导津贴奖、终身推荐奖等月末计算,季度结算等) Mapper 接口
* </p>
*
* @author zxm
* @since 2025-10-15
*/
public interface FycTaskMapper extends BaseMapper<FycTask> {
}
package com.yd.csf.service.dao;
import com.yd.csf.service.model.Interests;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 权益表 Mapper 接口
* </p>
*
* @author zxm
* @since 2025-10-15
*/
public interface InterestsMapper extends BaseMapper<Interests> {
}
package com.yd.csf.service.dao;
import com.yd.csf.service.model.Invitation;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 邀请码表 Mapper 接口
* </p>
*
* @author zxm
* @since 2025-10-15
*/
public interface InvitationMapper extends BaseMapper<Invitation> {
}
package com.yd.csf.service.dao;
import com.yd.csf.service.model.MemberGradeConfig;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 会员等级配置表 Mapper 接口
* </p>
*
* @author zxm
* @since 2025-10-15
*/
public interface MemberGradeConfigMapper extends BaseMapper<MemberGradeConfig> {
}
package com.yd.csf.service.dao;
import com.yd.csf.service.model.Member;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 会员表 Mapper 接口
* </p>
*
* @author zxm
* @since 2025-10-15
*/
public interface MemberMapper extends BaseMapper<Member> {
}
package com.yd.csf.service.dao;
import com.yd.csf.service.model.PayoutBatch;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 保单发佣批次表 - 存储发佣批次信息,用于批量处理佣金计算和发放 Mapper 接口
* </p>
*
* @author zxm
* @since 2025-10-15
*/
public interface PayoutBatchMapper extends BaseMapper<PayoutBatch> {
}
package com.yd.csf.service.dao;
import com.yd.csf.service.model.PolicyAgentRelation;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 保单业务员关联表 - 存储保单与业务员的关联关系及佣金分配信息 Mapper 接口
* </p>
*
* @author zxm
* @since 2025-10-15
*/
public interface PolicyAgentRelationMapper extends BaseMapper<PolicyAgentRelation> {
}
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