Commit 9e4f1095 by zhangxingmin

来佣比率规格信息

parent 725a3594
...@@ -4,8 +4,9 @@ import com.baomidou.mybatisplus.core.metadata.IPage; ...@@ -4,8 +4,9 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yd.common.result.Result; import com.yd.common.result.Result;
import com.yd.product.api.service.ApiExpectedCommissionRatioService; import com.yd.product.api.service.ApiExpectedCommissionRatioService;
import com.yd.product.feign.client.expectedcommissionratio.ApiExpectedCommissionRatioFeignClient; import com.yd.product.feign.client.expectedcommissionratio.ApiExpectedCommissionRatioFeignClient;
import com.yd.product.feign.request.expectedcommissionratio.ApiExpectedCommissionRatioAddRequest;
import com.yd.product.feign.request.expectedcommissionratio.ApiExpectedCommissionRatioEditRequest;
import com.yd.product.feign.request.expectedcommissionratio.ApiExpectedCommissionRatioPageRequest; import com.yd.product.feign.request.expectedcommissionratio.ApiExpectedCommissionRatioPageRequest;
import com.yd.product.feign.request.expectedcommissionratio.ApiExpectedCommissionRatioSaveRequest;
import com.yd.product.feign.response.expectedcommissionratio.ApiExpectedCommissionRatioDetailResponse; import com.yd.product.feign.response.expectedcommissionratio.ApiExpectedCommissionRatioDetailResponse;
import com.yd.product.feign.response.expectedcommissionratio.ApiExpectedCommissionRatioPageResponse; import com.yd.product.feign.response.expectedcommissionratio.ApiExpectedCommissionRatioPageResponse;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -13,10 +14,8 @@ import org.springframework.validation.annotation.Validated; ...@@ -13,10 +14,8 @@ import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import javax.validation.constraints.NotBlank;
/** /**
* 预计来佣比率信息 * 来佣比率规格明细信息
* *
* @author zxm * @author zxm
* @since 2025-11-20 * @since 2025-11-20
...@@ -29,34 +28,34 @@ public class ApiExpectedCommissionRatioController implements ApiExpectedCommissi ...@@ -29,34 +28,34 @@ public class ApiExpectedCommissionRatioController implements ApiExpectedCommissi
@Autowired @Autowired
private ApiExpectedCommissionRatioService apiExpectedCommissionRatioService; private ApiExpectedCommissionRatioService apiExpectedCommissionRatioService;
/**
* 分页列表查询-预计来佣比率信息
* @param request
* @return
*/
@Override @Override
public Result<IPage<ApiExpectedCommissionRatioPageResponse>> page(ApiExpectedCommissionRatioPageRequest request) { public Result<IPage<ApiExpectedCommissionRatioPageResponse>> page(ApiExpectedCommissionRatioPageRequest request) {
return apiExpectedCommissionRatioService.page(request); return null;
} }
/**
* 保存-预计来佣比率信息
* @param request
* @return
*/
@Override @Override
public Result save(ApiExpectedCommissionRatioSaveRequest request) { public Result add(ApiExpectedCommissionRatioAddRequest request) {
return apiExpectedCommissionRatioService.save(request); return null;
} }
/**
* 详情-预计来佣比率信息
* @param expectedCommissionRatioBizId 预计来佣比率表唯一业务ID
* @return
*/
@Override @Override
public Result<ApiExpectedCommissionRatioDetailResponse> detail(String expectedCommissionRatioBizId) { public Result edit(ApiExpectedCommissionRatioEditRequest request) {
return apiExpectedCommissionRatioService.detail(expectedCommissionRatioBizId); return null;
} }
@Override
public Result<ApiExpectedCommissionRatioDetailResponse> detail(String expectedSpeciesBizId) {
return null;
}
@Override
public Result del(String expectedSpeciesBizId) {
return null;
}
@Override
public Result copy(String expectedSpeciesBizId) {
return null;
}
} }
package com.yd.product.api.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yd.common.result.Result;
import com.yd.product.api.service.ApiExpectedSpeciesService;
import com.yd.product.feign.client.expectedspecies.ApiExpectedSpeciesFeignClient;
import com.yd.product.feign.request.expectedspecies.ApiExpectedSpeciesImportRequest;
import com.yd.product.feign.request.expectedspecies.ApiExpectedSpeciesPageRequest;
import com.yd.product.feign.response.expectedspecies.ApiExpectedSpeciesPageResponse;
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-12-01
*/
@RestController
@RequestMapping("/expectedSpecies")
@Validated
public class ApiExpectedSpeciesController implements ApiExpectedSpeciesFeignClient {
@Autowired
private ApiExpectedSpeciesService apiExpectedSpeciesService;
/**
* 分页列表查询-来佣比率规格信息
* @param request
* @return
*/
@Override
public Result<IPage<ApiExpectedSpeciesPageResponse>> page(ApiExpectedSpeciesPageRequest request) {
return apiExpectedSpeciesService.page(request);
}
/**
* 导入规格数据
* @param request
* @return
*/
@Override
public Result importSpecies(ApiExpectedSpeciesImportRequest request) {
return apiExpectedSpeciesService.importSpecies(request);
}
/**
* 删除规格数据 TODO
* @param expectedSpeciesBizId
* @return
*/
@Override
public Result delSpecies(String expectedSpeciesBizId) {
return apiExpectedSpeciesService.delSpecies(expectedSpeciesBizId);
}
}
...@@ -3,7 +3,6 @@ package com.yd.product.api.service; ...@@ -3,7 +3,6 @@ package com.yd.product.api.service;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yd.common.result.Result; import com.yd.common.result.Result;
import com.yd.product.feign.request.expectedcommissionratio.ApiExpectedCommissionRatioPageRequest; import com.yd.product.feign.request.expectedcommissionratio.ApiExpectedCommissionRatioPageRequest;
import com.yd.product.feign.request.expectedcommissionratio.ApiExpectedCommissionRatioSaveRequest;
import com.yd.product.feign.response.expectedcommissionratio.ApiExpectedCommissionRatioDetailResponse; import com.yd.product.feign.response.expectedcommissionratio.ApiExpectedCommissionRatioDetailResponse;
import com.yd.product.feign.response.expectedcommissionratio.ApiExpectedCommissionRatioPageResponse; import com.yd.product.feign.response.expectedcommissionratio.ApiExpectedCommissionRatioPageResponse;
import com.yd.product.service.model.ExpectedCommissionRatio; import com.yd.product.service.model.ExpectedCommissionRatio;
......
package com.yd.product.api.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yd.common.result.Result;
import com.yd.product.feign.request.expectedspecies.ApiExpectedSpeciesImportRequest;
import com.yd.product.feign.request.expectedspecies.ApiExpectedSpeciesPageRequest;
import com.yd.product.feign.response.expectedspecies.ApiExpectedSpeciesPageResponse;
public interface ApiExpectedSpeciesService {
Result<IPage<ApiExpectedSpeciesPageResponse>> page(ApiExpectedSpeciesPageRequest request);
Result importSpecies(ApiExpectedSpeciesImportRequest request);
Result delSpecies(String expectedSpeciesBizId);
}
...@@ -12,4 +12,6 @@ public interface ApiSpeciesSettingService { ...@@ -12,4 +12,6 @@ public interface ApiSpeciesSettingService {
String productLaunchBizId); String productLaunchBizId);
List<ApiSpeciesTypeDto> querySpeciesTypeDtoList(String productLaunchBizId); List<ApiSpeciesTypeDto> querySpeciesTypeDtoList(String productLaunchBizId);
String getSpeciesValue(List<ApiSpeciesSettingDto> apiSpeciesSettingDtoList, String typeCode);
} }
...@@ -10,8 +10,8 @@ import com.yd.common.utils.RandomStringGenerator; ...@@ -10,8 +10,8 @@ import com.yd.common.utils.RandomStringGenerator;
import com.yd.product.api.service.ApiAnnouncementSpeciesService; import com.yd.product.api.service.ApiAnnouncementSpeciesService;
import com.yd.product.api.service.ApiProductLaunchService; import com.yd.product.api.service.ApiProductLaunchService;
import com.yd.product.api.service.ApiSpeciesPriceService; import com.yd.product.api.service.ApiSpeciesPriceService;
import com.yd.product.api.service.ApiSpeciesSettingService;
import com.yd.product.feign.dto.ApiSpeciesPriceDto; import com.yd.product.feign.dto.ApiSpeciesPriceDto;
import com.yd.product.feign.dto.ApiSpeciesSettingDto;
import com.yd.product.feign.request.announcementspecies.ApiAnnouncementSpeciesImportRequest; import com.yd.product.feign.request.announcementspecies.ApiAnnouncementSpeciesImportRequest;
import com.yd.product.feign.request.announcementspecies.ApiAnnouncementSpeciesPageRequest; import com.yd.product.feign.request.announcementspecies.ApiAnnouncementSpeciesPageRequest;
import com.yd.product.feign.response.announcementspecies.ApiAnnouncementSpeciesPageResponse; import com.yd.product.feign.response.announcementspecies.ApiAnnouncementSpeciesPageResponse;
...@@ -38,6 +38,9 @@ public class ApiAnnouncementSpeciesServiceImpl implements ApiAnnouncementSpecies ...@@ -38,6 +38,9 @@ public class ApiAnnouncementSpeciesServiceImpl implements ApiAnnouncementSpecies
@Autowired @Autowired
private ApiSpeciesPriceService apiSpeciesPriceService; private ApiSpeciesPriceService apiSpeciesPriceService;
@Autowired
private ApiSpeciesSettingService apiSpeciesSettingService;
/** /**
* 分页列表查询-公告佣比率规格信息 * 分页列表查询-公告佣比率规格信息
* @param request * @param request
...@@ -72,10 +75,10 @@ public class ApiAnnouncementSpeciesServiceImpl implements ApiAnnouncementSpecies ...@@ -72,10 +75,10 @@ public class ApiAnnouncementSpeciesServiceImpl implements ApiAnnouncementSpecies
//公告佣比率规格表唯一业务ID //公告佣比率规格表唯一业务ID
species.setAnnouncementSpeciesBizId(RandomStringGenerator.generateBizId16(CommonEnum.UID_TYPE_ANNOUNCEMENT_SPECIES.getCode())); species.setAnnouncementSpeciesBizId(RandomStringGenerator.generateBizId16(CommonEnum.UID_TYPE_ANNOUNCEMENT_SPECIES.getCode()));
//供款年期(5、10、20年期等)(固定规格条件) //供款年期(5、10、20年期等)(固定规格条件)
species.setPaymentTerm(getSpeciesValue(dto.getApiSpeciesSettingDtoList(), SpeciesTypeEnum.PAYMENT_TERM.getItemValue())); species.setPaymentTerm(apiSpeciesSettingService.getSpeciesValue(dto.getApiSpeciesSettingDtoList(), SpeciesTypeEnum.PAYMENT_TERM.getItemValue()));
species.setProductLaunchBizId(request.getProductLaunchBizId()); species.setProductLaunchBizId(request.getProductLaunchBizId());
//保障计划(0-64岁等)(固定规格条件) //保障计划(0-64岁等)(固定规格条件)
species.setProtectionPlan(getSpeciesValue(dto.getApiSpeciesSettingDtoList(), SpeciesTypeEnum.PROTECTION_PLAN.getItemValue())); species.setProtectionPlan(apiSpeciesSettingService.getSpeciesValue(dto.getApiSpeciesSettingDtoList(), SpeciesTypeEnum.PROTECTION_PLAN.getItemValue()));
return species; return species;
}).collect(Collectors.toList()); }).collect(Collectors.toList());
iAnnouncementSpeciesService.saveOrUpdateBatch(saveList); iAnnouncementSpeciesService.saveOrUpdateBatch(saveList);
...@@ -83,27 +86,6 @@ public class ApiAnnouncementSpeciesServiceImpl implements ApiAnnouncementSpecies ...@@ -83,27 +86,6 @@ public class ApiAnnouncementSpeciesServiceImpl implements ApiAnnouncementSpecies
} }
/** /**
* 根据规格类型编码获取apiSpeciesSettingDtoList中的规格值
* @param apiSpeciesSettingDtoList
* @param typeCode
* @return
*/
public String getSpeciesValue(List<ApiSpeciesSettingDto> apiSpeciesSettingDtoList,String typeCode) {
String speciesValue = "";
if (!CollectionUtils.isEmpty(apiSpeciesSettingDtoList)){
List<ApiSpeciesSettingDto> dtoList = apiSpeciesSettingDtoList
.stream()
.filter(d -> d.getTypeCode().equals(typeCode))
.collect(Collectors.toList());
if (!CollectionUtils.isEmpty(dtoList)) {
ApiSpeciesSettingDto settingDto = dtoList.get(0);
speciesValue = settingDto.getValue();
}
}
return speciesValue;
}
/**
* 校验公告佣比率规格信息是否存在 * 校验公告佣比率规格信息是否存在
* @param announcementSpeciesBizId * @param announcementSpeciesBizId
* @return * @return
......
...@@ -9,7 +9,6 @@ import com.yd.product.api.service.ApiExpectedCommissionRatioService; ...@@ -9,7 +9,6 @@ import com.yd.product.api.service.ApiExpectedCommissionRatioService;
import com.yd.product.api.service.ApiProductLaunchService; import com.yd.product.api.service.ApiProductLaunchService;
import com.yd.product.feign.dto.ApiSpeciesSettingDto; import com.yd.product.feign.dto.ApiSpeciesSettingDto;
import com.yd.product.feign.request.expectedcommissionratio.ApiExpectedCommissionRatioPageRequest; import com.yd.product.feign.request.expectedcommissionratio.ApiExpectedCommissionRatioPageRequest;
import com.yd.product.feign.request.expectedcommissionratio.ApiExpectedCommissionRatioSaveRequest;
import com.yd.product.feign.response.expectedcommissionratio.ApiExpectedCommissionRatioDetailResponse; import com.yd.product.feign.response.expectedcommissionratio.ApiExpectedCommissionRatioDetailResponse;
import com.yd.product.feign.response.expectedcommissionratio.ApiExpectedCommissionRatioPageResponse; import com.yd.product.feign.response.expectedcommissionratio.ApiExpectedCommissionRatioPageResponse;
import com.yd.product.service.model.ExpectedCommissionRatio; import com.yd.product.service.model.ExpectedCommissionRatio;
...@@ -21,7 +20,6 @@ import org.springframework.beans.BeanUtils; ...@@ -21,7 +20,6 @@ import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
......
package com.yd.product.api.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yd.base.feign.enums.SpeciesTypeEnum;
import com.yd.common.enums.CommonEnum;
import com.yd.common.exception.BusinessException;
import com.yd.common.result.Result;
import com.yd.common.utils.RandomStringGenerator;
import com.yd.product.api.service.ApiExpectedSpeciesService;
import com.yd.product.api.service.ApiProductLaunchService;
import com.yd.product.api.service.ApiSpeciesPriceService;
import com.yd.product.api.service.ApiSpeciesSettingService;
import com.yd.product.feign.dto.ApiSpeciesPriceDto;
import com.yd.product.feign.request.expectedspecies.ApiExpectedSpeciesImportRequest;
import com.yd.product.feign.request.expectedspecies.ApiExpectedSpeciesPageRequest;
import com.yd.product.feign.response.expectedspecies.ApiExpectedSpeciesPageResponse;
import com.yd.product.service.model.ExpectedSpecies;
import com.yd.product.service.service.IExpectedSpeciesService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.List;
import java.util.stream.Collectors;
@Slf4j
@Service
public class ApiExpectedSpeciesServiceImpl implements ApiExpectedSpeciesService {
@Autowired
private IExpectedSpeciesService iExpectedSpeciesService;
@Autowired
private ApiProductLaunchService apiProductLaunchService;
@Autowired
private ApiSpeciesPriceService apiSpeciesPriceService;
@Autowired
private ApiSpeciesSettingService apiSpeciesSettingService;
/**
* 分页列表查询-来佣比率规格信息
* @param request
* @return
*/
@Override
public Result<IPage<ApiExpectedSpeciesPageResponse>> page(ApiExpectedSpeciesPageRequest request) {
Page<ApiExpectedSpeciesPageResponse> page = new Page<>(request.getPageNo(), request.getPageSize());
IPage<ApiExpectedSpeciesPageResponse> iPage = iExpectedSpeciesService.page(page, request);
return Result.success(iPage);
}
/**
* 导入规格数据
* @param request
* @return
*/
@Override
public Result importSpecies(ApiExpectedSpeciesImportRequest request) {
//校验产品上架信息是否存在
apiProductLaunchService.checkProductLaunchIsExist(request.getProductLaunchBizId());
//查询规格价格配置列表
List<ApiSpeciesPriceDto> apiSpeciesPriceDtoList = apiSpeciesPriceService.querySpeciesPriceDtoList(request.getProductLaunchBizId());
if (CollectionUtils.isEmpty(apiSpeciesPriceDtoList)) {
throw new BusinessException("导入的数据不存在");
}
//查询规格价格配置列表 -> 新增来佣比率规格数据
List<ExpectedSpecies> saveList = apiSpeciesPriceDtoList.stream().map(dto -> {
ExpectedSpecies species = new ExpectedSpecies();
//规格条件列表JSON串
species.setSpeciesJson(dto.getSpeciesJson());
//来佣比率规格表唯一业务ID
species.setExpectedSpeciesBizId(RandomStringGenerator.generateBizId16(CommonEnum.UID_TYPE_EXPECTED_SPECIES.getCode()));
//供款年期(5、10、20年期等)(固定规格条件)
species.setPaymentTerm(apiSpeciesSettingService.getSpeciesValue(dto.getApiSpeciesSettingDtoList(), SpeciesTypeEnum.PAYMENT_TERM.getItemValue()));
species.setProductLaunchBizId(request.getProductLaunchBizId());
//保障计划(0-64岁等)(固定规格条件)
species.setProtectionPlan(apiSpeciesSettingService.getSpeciesValue(dto.getApiSpeciesSettingDtoList(), SpeciesTypeEnum.PROTECTION_PLAN.getItemValue()));
return species;
}).collect(Collectors.toList());
iExpectedSpeciesService.saveOrUpdateBatch(saveList);
return Result.success();
}
/**
* 删除规格数据
* @param expectedSpeciesBizId
* @return
*/
@Override
public Result delSpecies(String expectedSpeciesBizId) {
return null;
}
}
...@@ -99,4 +99,26 @@ public class ApiSpeciesSettingServiceImpl implements ApiSpeciesSettingService { ...@@ -99,4 +99,26 @@ public class ApiSpeciesSettingServiceImpl implements ApiSpeciesSettingService {
} }
return apiSpeciesTypeDtoList; return apiSpeciesTypeDtoList;
} }
/**
* 根据规格类型编码获取apiSpeciesSettingDtoList中的规格值
* @param apiSpeciesSettingDtoList
* @param typeCode
* @return
*/
@Override
public String getSpeciesValue(List<ApiSpeciesSettingDto> apiSpeciesSettingDtoList,String typeCode) {
String speciesValue = "";
if (!CollectionUtils.isEmpty(apiSpeciesSettingDtoList)){
List<ApiSpeciesSettingDto> dtoList = apiSpeciesSettingDtoList
.stream()
.filter(d -> d.getTypeCode().equals(typeCode))
.collect(Collectors.toList());
if (!CollectionUtils.isEmpty(dtoList)) {
ApiSpeciesSettingDto settingDto = dtoList.get(0);
speciesValue = settingDto.getValue();
}
}
return speciesValue;
}
} }
...@@ -2,25 +2,23 @@ package com.yd.product.feign.client.expectedcommissionratio; ...@@ -2,25 +2,23 @@ package com.yd.product.feign.client.expectedcommissionratio;
import com.yd.common.result.Result; import com.yd.common.result.Result;
import com.yd.product.feign.fallback.expectedcommissionratio.ApiExpectedCommissionRatioFeignFallbackFactory; import com.yd.product.feign.fallback.expectedcommissionratio.ApiExpectedCommissionRatioFeignFallbackFactory;
import com.yd.product.feign.request.expectedcommissionratio.ApiExpectedCommissionRatioAddRequest;
import com.yd.product.feign.request.expectedcommissionratio.ApiExpectedCommissionRatioEditRequest;
import com.yd.product.feign.request.expectedcommissionratio.ApiExpectedCommissionRatioPageRequest; import com.yd.product.feign.request.expectedcommissionratio.ApiExpectedCommissionRatioPageRequest;
import com.yd.product.feign.request.expectedcommissionratio.ApiExpectedCommissionRatioSaveRequest;
import com.yd.product.feign.response.expectedcommissionratio.ApiExpectedCommissionRatioDetailResponse; import com.yd.product.feign.response.expectedcommissionratio.ApiExpectedCommissionRatioDetailResponse;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
/** /**
* 产品服务-预计来佣比率信息Feign客户端 * 产品服务-来佣比率规格明细信息Feign客户端
*/ */
@FeignClient(name = "yd-product-api", fallbackFactory = ApiExpectedCommissionRatioFeignFallbackFactory.class) @FeignClient(name = "yd-product-api", fallbackFactory = ApiExpectedCommissionRatioFeignFallbackFactory.class)
public interface ApiExpectedCommissionRatioFeignClient { public interface ApiExpectedCommissionRatioFeignClient {
/** /**
* 分页列表查询-预计来佣比率信息 * 分页列表查询-来佣比率规格明细信息
* @param request * @param request
* @return * @return
*/ */
...@@ -28,18 +26,42 @@ public interface ApiExpectedCommissionRatioFeignClient { ...@@ -28,18 +26,42 @@ public interface ApiExpectedCommissionRatioFeignClient {
Result page(@RequestBody ApiExpectedCommissionRatioPageRequest request); Result page(@RequestBody ApiExpectedCommissionRatioPageRequest request);
/** /**
* 保存-预计来佣比率信息 * 添加-来佣比率规格明细信息
* @param request * @param request
* @return * @return
*/ */
@PostMapping("/save") @PostMapping("/add")
Result save(@Validated @RequestBody ApiExpectedCommissionRatioSaveRequest request); Result add(@Validated @RequestBody ApiExpectedCommissionRatioAddRequest request);
/** /**
* 详情-预计来佣比率信息 * 编辑-来佣比率规格明细信息
* @param expectedCommissionRatioBizId 预计来佣比率表唯一业务ID * @param request
* @return
*/
@PostMapping("/edit")
Result edit(@Validated @RequestBody ApiExpectedCommissionRatioEditRequest request);
/**
* 详情-来佣比率规格明细信息
* @param expectedSpeciesBizId 来佣比率规格明细表唯一业务ID
* @return * @return
*/ */
@GetMapping("/detail") @GetMapping("/detail")
Result<ApiExpectedCommissionRatioDetailResponse> detail(@NotBlank(message = "预计来佣比率表唯一业务ID不能为空") @RequestParam(value = "expectedCommissionRatioBizId") String expectedCommissionRatioBizId); Result<ApiExpectedCommissionRatioDetailResponse> detail(@NotBlank(message = "来佣比率规格明细表唯一业务ID不能为空") @RequestParam(value = "expectedSpeciesBizId") String expectedSpeciesBizId);
/**
* 删除-来佣比率规格明细信息
* @param expectedSpeciesBizId 来佣比率规格明细表唯一业务ID
* @return
*/
@DeleteMapping("/del")
Result del(@NotBlank(message = "来佣比率规格明细表唯一业务ID不能为空") @RequestParam(value = "expectedSpeciesBizId") String expectedSpeciesBizId);
/**
* 复制-来佣比率规格明细信息
* @param expectedSpeciesBizId 来佣比率规格明细表唯一业务ID
* @return
*/
@PutMapping("/copy")
Result copy(@NotBlank(message = "来佣比率规格明细表唯一业务ID不能为空") @RequestParam(value = "expectedSpeciesBizId") String expectedSpeciesBizId);
} }
package com.yd.product.feign.client.expectedspecies;
import com.yd.common.result.Result;
import com.yd.product.feign.fallback.expectedspecies.ApiExpectedSpeciesFeignFallbackFactory;
import com.yd.product.feign.request.expectedspecies.ApiExpectedSpeciesImportRequest;
import com.yd.product.feign.request.expectedspecies.ApiExpectedSpeciesPageRequest;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import javax.validation.constraints.NotBlank;
/**
* 产品服务-来佣比率规格信息Feign客户端
*/
@FeignClient(name = "yd-product-api", fallbackFactory = ApiExpectedSpeciesFeignFallbackFactory.class)
public interface ApiExpectedSpeciesFeignClient {
/**
* 分页列表查询-来佣比率规格信息
* @param request
* @return
*/
@PostMapping("/page")
Result page(@RequestBody ApiExpectedSpeciesPageRequest request);
/**
* 导入规格数据
* @param request
* @return
*/
@PostMapping("/import/species")
Result importSpecies(@RequestBody ApiExpectedSpeciesImportRequest request);
/**
* 删除规格数据
* @param expectedSpeciesBizId
* @return
*/
@DeleteMapping("/del/species")
Result delSpecies(@NotBlank(message = "来佣比率规格表唯一业务ID不能为空") @RequestParam(value = "expectedSpeciesBizId") String expectedSpeciesBizId);
}
...@@ -2,8 +2,9 @@ package com.yd.product.feign.fallback.expectedcommissionratio; ...@@ -2,8 +2,9 @@ package com.yd.product.feign.fallback.expectedcommissionratio;
import com.yd.common.result.Result; import com.yd.common.result.Result;
import com.yd.product.feign.client.expectedcommissionratio.ApiExpectedCommissionRatioFeignClient; import com.yd.product.feign.client.expectedcommissionratio.ApiExpectedCommissionRatioFeignClient;
import com.yd.product.feign.request.expectedcommissionratio.ApiExpectedCommissionRatioAddRequest;
import com.yd.product.feign.request.expectedcommissionratio.ApiExpectedCommissionRatioEditRequest;
import com.yd.product.feign.request.expectedcommissionratio.ApiExpectedCommissionRatioPageRequest; import com.yd.product.feign.request.expectedcommissionratio.ApiExpectedCommissionRatioPageRequest;
import com.yd.product.feign.request.expectedcommissionratio.ApiExpectedCommissionRatioSaveRequest;
import com.yd.product.feign.response.expectedcommissionratio.ApiExpectedCommissionRatioDetailResponse; import com.yd.product.feign.response.expectedcommissionratio.ApiExpectedCommissionRatioDetailResponse;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.openfeign.FallbackFactory; import org.springframework.cloud.openfeign.FallbackFactory;
...@@ -26,12 +27,27 @@ public class ApiExpectedCommissionRatioFeignFallbackFactory implements FallbackF ...@@ -26,12 +27,27 @@ public class ApiExpectedCommissionRatioFeignFallbackFactory implements FallbackF
} }
@Override @Override
public Result save(ApiExpectedCommissionRatioSaveRequest request) { public Result add(ApiExpectedCommissionRatioAddRequest request) {
return null; return null;
} }
@Override @Override
public Result<ApiExpectedCommissionRatioDetailResponse> detail(String expectedCommissionRatioBizId) { public Result edit(ApiExpectedCommissionRatioEditRequest request) {
return null;
}
@Override
public Result<ApiExpectedCommissionRatioDetailResponse> detail(String expectedSpeciesBizId) {
return null;
}
@Override
public Result del(String expectedSpeciesBizId) {
return null;
}
@Override
public Result copy(String expectedSpeciesBizId) {
return null; return null;
} }
}; };
......
package com.yd.product.feign.fallback.expectedspecies;
import com.yd.common.result.Result;
import com.yd.product.feign.client.expectedspecies.ApiExpectedSpeciesFeignClient;
import com.yd.product.feign.request.expectedspecies.ApiExpectedSpeciesImportRequest;
import com.yd.product.feign.request.expectedspecies.ApiExpectedSpeciesPageRequest;
import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component;
/**
* 产品服务-来佣比率规格信息Feign降级处理
*/
@Slf4j
@Component
public class ApiExpectedSpeciesFeignFallbackFactory implements FallbackFactory<ApiExpectedSpeciesFeignClient> {
@Override
public ApiExpectedSpeciesFeignClient create(Throwable cause) {
return new ApiExpectedSpeciesFeignClient() {
@Override
public Result page(ApiExpectedSpeciesPageRequest request) {
return null;
}
@Override
public Result importSpecies(ApiExpectedSpeciesImportRequest request) {
return null;
}
@Override
public Result delSpecies(String expectedSpeciesBizId) {
return null;
}
};
}
}
package com.yd.product.feign.request.expectedcommissionratio;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.math.BigDecimal;
import java.time.LocalDateTime;
@Data
public class ApiExpectedCommissionRatioAddRequest {
/**
* 来佣比率规格表唯一业务ID
*/
@NotBlank(message = "来佣比率规格表唯一业务ID")
private String expectedSpeciesBizId;
/**
* 费用名称(转介费等)
*/
@NotBlank(message = "来佣比率规格表唯一业务ID")
private String expenseName;
/**
* 佣金年限(起)
*/
private String startPeriod;
/**
* 佣金年限(止)
*/
private String endPeriod;
/**
* 标保折算比例(基本保费)
*/
private BigDecimal discountRatio;
/**
* 佣金率
*/
private BigDecimal commissionRate;
/**
* 有效开始时间
*/
private LocalDateTime effectiveStart;
/**
* 有效结束时间
*/
private LocalDateTime effectiveEnd;
/**
* 是否受汇率影响 0-否 1-是,字典)
*/
private String isExchangeRate;
/**
* 结算币种(字典)
*/
private String currency;
/**
* 对账公司
*/
private String reconciliationCompany;
/**
* 销售组织
*/
private String salesOrg;
/**
* 状态(0:停用 1:启用)
*/
private Integer status;
}
package com.yd.product.feign.request.expectedcommissionratio;
import lombok.Data;
@Data
public class ApiExpectedCommissionRatioEditRequest {
}
...@@ -3,21 +3,19 @@ package com.yd.product.feign.request.expectedcommissionratio; ...@@ -3,21 +3,19 @@ package com.yd.product.feign.request.expectedcommissionratio;
import com.yd.common.dto.PageDto; import com.yd.common.dto.PageDto;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.NotBlank;
@Data @Data
public class ApiExpectedCommissionRatioPageRequest extends PageDto { public class ApiExpectedCommissionRatioPageRequest extends PageDto {
/** /**
* 产品上架信息表唯一业务ID * 来佣比率规格表唯一业务ID
*/
private String productLaunchBizId;
/**
* 保障年限(供款年期,固定规格条件)
*/ */
private String warrantyPeriod; @NotBlank(message = "来佣比率规格表唯一业务ID不能为空")
private String expectedSpeciesBizId;
/** /**
* 期数(第几年,固定规格条件 * 费用名称(转介费等
*/ */
private String issueNumber; private String expenseName;
} }
package com.yd.product.feign.request.expectedcommissionratio; package com.yd.product.feign.request.expectedspecies;
import com.yd.product.feign.dto.ApiExpectedCommissionRatioDto;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import java.util.List;
@Data @Data
public class ApiExpectedCommissionRatioSaveRequest { public class ApiExpectedSpeciesImportRequest {
/** /**
* 产品上架信息表唯一业务ID * 产品上架信息表唯一业务ID
*/ */
@NotBlank(message = "产品上架信息表唯一业务ID不能为空") @NotBlank(message = "产品上架信息表唯一业务ID不能为空")
private String productLaunchBizId; private String productLaunchBizId;
/**
* 预计来佣比率配置列表信息
*/
@NotEmpty(message = "预计来佣比率配置列表信息不能为空")
private List<ApiExpectedCommissionRatioDto> apiExpectedCommissionRatioDtoList;
} }
package com.yd.product.feign.request.expectedspecies;
import com.yd.common.dto.PageDto;
import lombok.Data;
import javax.validation.constraints.NotBlank;
@Data
public class ApiExpectedSpeciesPageRequest extends PageDto {
/**
* 产品上架信息表唯一业务ID
*/
@NotBlank(message = "产品上架信息表唯一业务ID不能为空")
private String productLaunchBizId;
/**
* 保障计划(0-64岁等)(固定规格条件)
*/
private String protectionPlan;
/**
* 供款年期(5、10、20年期等)(固定规格条件)
*/
private String paymentTerm;
}
package com.yd.product.feign.response.expectedcommissionratio; package com.yd.product.feign.response.expectedcommissionratio;
import lombok.Data; import lombok.Data;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
...@@ -9,95 +8,122 @@ import java.time.LocalDateTime; ...@@ -9,95 +8,122 @@ import java.time.LocalDateTime;
public class ApiExpectedCommissionRatioPageResponse { public class ApiExpectedCommissionRatioPageResponse {
/** /**
* 预计来佣比率表主键ID * 来佣比率规格明细表主键ID
*/ */
private Long id; private Long id;
/** /**
* 预计来佣比率表唯一业务ID * 来佣比率规格明细表唯一业务ID
*/ */
private String expectedCommissionRatioBizId; private String expectedCommissionRatioBizId;
/** /**
* 产品上架信息表唯一业务ID * 来佣比率规格表唯一业务ID
*/ */
private String productLaunchBizId; private String expectedSpeciesBizId;
/** /**
* 产品唯一业务ID * 费用名称(转介费等)
*/ */
private String productBizId; private String expenseName;
/** /**
* 规格条件列表JSON串 * 佣金年限(起)
*/ */
private String speciesJson; private String startPeriod;
/** /**
* 保障年限(固定规格条件 * 佣金年限(止
*/ */
private String warrantyPeriod; private String endPeriod;
/** /**
* 期数(固定规格条件 * 标保折算比例(基本保费
*/ */
private String issueNumber; private BigDecimal discountRatio;
// /** /**
// * 缴费年限(起) * 计算基数(保费/保费*折算比例)
// */ */
// @TableField("start_period") private BigDecimal cardinalNumber;
// private String startPeriod;
//
// /**
// * 缴费年限(止)
// */
// @TableField("end_period")
// private String endPeriod;
/** /**
* 标保折算比例 * 佣金率
*/ */
private BigDecimal discountRatio; private BigDecimal commissionRate;
/** /**
* 计算基数(保费/保费*折算比例) * 有效开始时间
*/ */
private BigDecimal cardinalNumber; private LocalDateTime effectiveStart;
/** /**
* 来佣类型 * 有效结束时间
*/ */
private String commissionType; private LocalDateTime effectiveEnd;
/** /**
* 来佣比例 * 是否受汇率影响 0-否 1-是,字典)
*/ */
private BigDecimal commissionRatio; private String isExchangeRate;
/** /**
* 出单渠道 * 结算币种(字典)
*/ */
private String channel; private String currency;
/** /**
* 有效开始时间 * 对账公司
*/ */
private LocalDateTime effectiveStart; private String reconciliationCompany;
/** /**
* 有效结束时间 * 销售组织
*/ */
private LocalDateTime effectiveEnd; private String salesOrg;
/** /**
* 来佣日规则 * 状态(0:停用 1:启用)
*/ */
private String rules; private Integer status;
/** /**
* 通用备注 * 通用备注
*/ */
private String remark; private String remark;
/**
* 删除标识: 0-正常, 1-删除
*/
private Integer isDeleted;
/**
* 创建人ID
*/
private String creatorId;
/**
* 创建人名称
*/
private String creatorName;
/**
* 更新人ID
*/
private String updaterId;
/**
* 更新人名称
*/
private String updaterName;
/**
* 创建时间
*/
private LocalDateTime createTime;
/**
* 更新时间
*/
private LocalDateTime updateTime;
} }
package com.yd.product.feign.response.expectedspecies;
import com.yd.product.feign.dto.ApiSpeciesSettingDto;
import lombok.Data;
import java.time.LocalDateTime;
import java.util.List;
@Data
public class ApiExpectedSpeciesPageResponse {
/**
* 来佣比率规格表主键ID
*/
private Long id;
/**
* 来佣比率规格表唯一业务ID
*/
private String expectedSpeciesBizId;
/**
* 产品上架信息表唯一业务ID
*/
private String productLaunchBizId;
/**
* 产品唯一业务ID
*/
private String productBizId;
/**
* 规格条件列表JSON串
*/
private String speciesJson;
/**
* 上架产品规格配置表信息JSON串对应转化的列表
*/
private List<ApiSpeciesSettingDto> apiSpeciesSettingDtoList;
/**
* 保障计划(0-64岁等)(固定规格条件)
*/
private String protectionPlan;
/**
* 供款年期(5、10、20年期等)(固定规格条件)
*/
private String paymentTerm;
/**
* 状态(0:停用 1:启用)
*/
private Integer status;
/**
* 创建时间
*/
private LocalDateTime createTime;
/**
* 更新时间
*/
private LocalDateTime updateTime;
}
package com.yd.product.service.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yd.product.feign.request.expectedspecies.ApiExpectedSpeciesPageRequest;
import com.yd.product.feign.response.expectedspecies.ApiExpectedSpeciesPageResponse;
import com.yd.product.service.model.ExpectedSpecies;
import org.apache.ibatis.annotations.Param;
/**
* <p>
* 来佣比率规格表 Mapper 接口
* </p>
*
* @author zxm
* @since 2025-12-01
*/
public interface ExpectedSpeciesMapper extends BaseMapper<ExpectedSpecies> {
IPage<ApiExpectedSpeciesPageResponse> page(@Param("page") Page<ApiExpectedSpeciesPageResponse> page,
@Param("request") ApiExpectedSpeciesPageRequest request);
}
...@@ -4,19 +4,20 @@ import com.baomidou.mybatisplus.annotation.IdType; ...@@ -4,19 +4,20 @@ import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Getter;
import lombok.Setter;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import lombok.Getter;
import lombok.Setter;
/** /**
* <p> * <p>
* 预计来佣比率表(新表) * 来佣比率规格明细表
* </p> * </p>
* *
* @author zxm * @author zxm
* @since 2025-11-20 * @since 2025-12-01
*/ */
@Getter @Getter
@Setter @Setter
...@@ -32,55 +33,37 @@ public class ExpectedCommissionRatio implements Serializable { ...@@ -32,55 +33,37 @@ public class ExpectedCommissionRatio implements Serializable {
private Long id; private Long id;
/** /**
* 预计来佣比率表唯一业务ID * 来佣比率规格明细表唯一业务ID
*/ */
@TableField("expected_commission_ratio_biz_id") @TableField("expected_commission_ratio_biz_id")
private String expectedCommissionRatioBizId; private String expectedCommissionRatioBizId;
/** /**
* 产品上架信息表唯一业务ID * 来佣比率规格表唯一业务ID
*/ */
@TableField("product_launch_biz_id") @TableField("expected_species_biz_id")
private String productLaunchBizId; private String expectedSpeciesBizId;
/** /**
* 产品唯一业务ID * 费用名称(转介费等)
*/ */
@TableField("product_biz_id") @TableField("expense_name")
private String productBizId; private String expenseName;
/** /**
* 规格条件列表JSON串 * 佣金年限(起)
*/ */
@TableField("species_json") @TableField("start_period")
private String speciesJson; private String startPeriod;
/** /**
* 保障年限(固定规格条件 * 佣金年限(止
*/ */
@TableField("warranty_period") @TableField("end_period")
private String warrantyPeriod; private String endPeriod;
/**
* 期数(固定规格条件)
*/
@TableField("issue_number")
private String issueNumber;
// /**
// * 缴费年限(起)
// */
// @TableField("start_period")
// private String startPeriod;
//
// /**
// * 缴费年限(止)
// */
// @TableField("end_period")
// private String endPeriod;
/** /**
* 标保折算比例 * 标保折算比例(基本保费)
*/ */
@TableField("discount_ratio") @TableField("discount_ratio")
private BigDecimal discountRatio; private BigDecimal discountRatio;
...@@ -92,22 +75,10 @@ public class ExpectedCommissionRatio implements Serializable { ...@@ -92,22 +75,10 @@ public class ExpectedCommissionRatio implements Serializable {
private BigDecimal cardinalNumber; private BigDecimal cardinalNumber;
/** /**
* 来佣类型 * 佣金率
*/ */
@TableField("commission_type") @TableField("commission_rate")
private String commissionType; private BigDecimal commissionRate;
/**
* 来佣比例
*/
@TableField("commission_ratio")
private BigDecimal commissionRatio;
/**
* 出单渠道
*/
@TableField("channel")
private String channel;
/** /**
* 有效开始时间 * 有效开始时间
...@@ -122,10 +93,34 @@ public class ExpectedCommissionRatio implements Serializable { ...@@ -122,10 +93,34 @@ public class ExpectedCommissionRatio implements Serializable {
private LocalDateTime effectiveEnd; private LocalDateTime effectiveEnd;
/** /**
* 来佣日规则 * 是否受汇率影响 0-否 1-是,字典)
*/ */
@TableField("rules") @TableField("is_exchange_rate")
private String rules; private String isExchangeRate;
/**
* 结算币种(字典)
*/
@TableField("currency")
private String currency;
/**
* 对账公司
*/
@TableField("reconciliation_company")
private String reconciliationCompany;
/**
* 销售组织
*/
@TableField("sales_org")
private String salesOrg;
/**
* 状态(0:停用 1:启用)
*/
@TableField("status")
private Integer status;
/** /**
* 通用备注 * 通用备注
...@@ -146,12 +141,24 @@ public class ExpectedCommissionRatio implements Serializable { ...@@ -146,12 +141,24 @@ public class ExpectedCommissionRatio implements Serializable {
private String creatorId; private String creatorId;
/** /**
* 创建人名称
*/
@TableField("creator_name")
private String creatorName;
/**
* 更新人ID * 更新人ID
*/ */
@TableField("updater_id") @TableField("updater_id")
private String updaterId; private String updaterId;
/** /**
* 更新人名称
*/
@TableField("updater_name")
private String updaterName;
/**
* 创建时间 * 创建时间
*/ */
@TableField("create_time") @TableField("create_time")
......
package com.yd.product.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 lombok.Getter;
import lombok.Setter;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* <p>
* 来佣比率规格表
* </p>
*
* @author zxm
* @since 2025-12-01
*/
@Getter
@Setter
@TableName("expected_species")
public class ExpectedSpecies implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 来佣比率规格表唯一业务ID
*/
@TableField("expected_species_biz_id")
private String expectedSpeciesBizId;
/**
* 产品上架信息表唯一业务ID
*/
@TableField("product_launch_biz_id")
private String productLaunchBizId;
/**
* 产品唯一业务ID
*/
@TableField("product_biz_id")
private String productBizId;
/**
* 规格条件列表JSON串
*/
@TableField("species_json")
private String speciesJson;
/**
* 保障计划(0-64岁等)(固定规格条件)
*/
@TableField("protection_plan")
private String protectionPlan;
/**
* 供款年期(5、10、20年期等)(固定规格条件)
*/
@TableField("payment_term")
private String paymentTerm;
/**
* 状态(0:停用 1:启用)
*/
@TableField("status")
private Integer status;
/**
* 通用备注
*/
@TableField("remark")
private String remark;
/**
* 删除标识: 0-正常, 1-删除
*/
@TableField("is_deleted")
private Integer isDeleted;
/**
* 创建人ID
*/
@TableField("creator_id")
private String creatorId;
/**
* 创建人名称
*/
@TableField("creator_name")
private String creatorName;
/**
* 更新人ID
*/
@TableField("updater_id")
private String updaterId;
/**
* 更新人名称
*/
@TableField("updater_name")
private String updaterName;
/**
* 创建时间
*/
@TableField("create_time")
private LocalDateTime createTime;
/**
* 更新时间
*/
@TableField("update_time")
private LocalDateTime updateTime;
}
package com.yd.product.service.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yd.product.feign.request.expectedspecies.ApiExpectedSpeciesPageRequest;
import com.yd.product.feign.response.expectedspecies.ApiExpectedSpeciesPageResponse;
import com.yd.product.service.model.ExpectedSpecies;
/**
* <p>
* 来佣比率规格表 服务类
* </p>
*
* @author zxm
* @since 2025-12-01
*/
public interface IExpectedSpeciesService extends IService<ExpectedSpecies> {
IPage<ApiExpectedSpeciesPageResponse> page(Page<ApiExpectedSpeciesPageResponse> page,
ApiExpectedSpeciesPageRequest request);
}
package com.yd.product.service.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yd.product.feign.request.expectedspecies.ApiExpectedSpeciesPageRequest;
import com.yd.product.feign.response.expectedspecies.ApiExpectedSpeciesPageResponse;
import com.yd.product.service.dao.ExpectedSpeciesMapper;
import com.yd.product.service.model.ExpectedSpecies;
import com.yd.product.service.service.IExpectedSpeciesService;
import org.springframework.stereotype.Service;
/**
* <p>
* 来佣比率规格表 服务实现类
* </p>
*
* @author zxm
* @since 2025-12-01
*/
@Service
public class ExpectedSpeciesServiceImpl extends ServiceImpl<ExpectedSpeciesMapper, ExpectedSpecies> implements IExpectedSpeciesService {
@Override
public IPage<ApiExpectedSpeciesPageResponse> page(Page<ApiExpectedSpeciesPageResponse> page,
ApiExpectedSpeciesPageRequest request) {
return baseMapper.page(page,request);
}
}
...@@ -21,7 +21,7 @@ public class MyBatisPlusCodeGenerator { ...@@ -21,7 +21,7 @@ public class MyBatisPlusCodeGenerator {
}) })
.strategyConfig(builder -> { .strategyConfig(builder -> {
builder.addInclude( builder.addInclude(
"announcement_species","announcement_commission_ratio" "expected_species","expected_commission_ratio"
) )
.entityBuilder() .entityBuilder()
......
<?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.product.service.dao.ExpectedSpeciesMapper">
<resultMap id="ExpectedSpeciesPageResultMap"
type="com.yd.product.feign.response.expectedspecies.ApiExpectedSpeciesPageResponse">
<id property="id" column="id"/>
<result property="expectedSpeciesBizId" column="expected_species_biz_id"/>
<result property="productLaunchBizId" column="product_launch_biz_id"/>
<result property="productBizId" column="product_biz_id"/>
<result property="speciesJson" column="species_json"/>
<result property="protectionPlan" column="protection_plan"/>
<result property="paymentTerm" column="payment_term"/>
<result property="status" column="status"/>
<result property="createTime" column="create_time"/>
<result property="updateTime" column="update_time"/>
<!-- 使用类型处理器转换 species_json 字段 -->
<result property="apiSpeciesSettingDtoList" column="species_json"
typeHandler="com.yd.product.service.handler.JsonToListTypeHandler"/>
</resultMap>
<select id="page" resultMap="ExpectedSpeciesPageResultMap">
select
e.id,
e.expected_species_biz_id,
e.product_launch_biz_id,
e.product_biz_id,
e.species_json,
e.protection_plan,
e.payment_term,
e.status,
e.create_time,
e.update_time
from expected_species e
<where>
<if test="request.productLaunchBizId != null and request.productLaunchBizId != ''">
and e.product_launch_biz_id = #{request.productLaunchBizId}
</if>
<if test="request.protectionPlan != null and request.protectionPlan != ''">
and e.protection_plan like concat('%', #{request.protectionPlan}, '%')
</if>
<if test="request.paymentTerm != null and request.paymentTerm != ''">
and e.payment_term = #{request.paymentTerm}
</if>
and e.is_deleted = 0
</where>
order by e.create_time desc
</select>
</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