Commit 1cfd31d4 by zhangxingmin

产品服务相关接口

parent d2637944
......@@ -5,6 +5,7 @@ import com.yd.common.result.Result;
import com.yd.product.api.service.ApiExpectedCommissionRatioService;
import com.yd.product.feign.client.expectedcommissionratio.ApiExpectedCommissionRatioFeignClient;
import com.yd.product.feign.request.expectedcommissionratio.ApiExpectedCommissionRatioPageRequest;
import com.yd.product.feign.request.expectedcommissionratio.ApiExpectedCommissionRatioSaveRequest;
import com.yd.product.feign.response.expectedcommissionratio.ApiExpectedCommissionRatioPageResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
......@@ -35,4 +36,14 @@ public class ApiExpectedCommissionRatioController implements ApiExpectedCommissi
return apiExpectedCommissionRatioService.page(request);
}
/**
* 保存-预计来佣比率信息
* @param request
* @return
*/
@Override
public Result save(ApiExpectedCommissionRatioSaveRequest request) {
return apiExpectedCommissionRatioService.save(request);
}
}
......@@ -4,9 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yd.common.result.Result;
import com.yd.product.api.service.ApiProductLaunchService;
import com.yd.product.feign.client.productlaunch.ApiProductLaunchFeignClient;
import com.yd.product.feign.request.productlaunch.ApiProductLaunchCategoryAddRequest;
import com.yd.product.feign.request.productlaunch.ApiProductLaunchPageRequest;
import com.yd.product.feign.request.productlaunch.ApiProductLaunchSaveRequest;
import com.yd.product.feign.request.productlaunch.*;
import com.yd.product.feign.response.productlaunch.ApiProductLaunchCategoryAddResponse;
import com.yd.product.feign.response.productlaunch.ApiProductLaunchDetailResponse;
import com.yd.product.feign.response.productlaunch.ApiProductLaunchPageResponse;
......@@ -69,5 +67,25 @@ public class ApiProductLaunchController implements ApiProductLaunchFeignClient {
return apiProductLaunchService.save(request);
}
/**
* 审核-产品上架信息
* @param request
* @return
*/
@Override
public Result approval(ApiProductLaunchApprovalRequest request) {
return apiProductLaunchService.approval(request);
}
/**
* 编辑-产品上架状态
* @param request
* @return
*/
@Override
public Result editStatus(ApiProductLaunchEditStatusRequest request) {
return apiProductLaunchService.editStatus(request);
}
}
......@@ -3,8 +3,11 @@ 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.expectedcommissionratio.ApiExpectedCommissionRatioPageRequest;
import com.yd.product.feign.request.expectedcommissionratio.ApiExpectedCommissionRatioSaveRequest;
import com.yd.product.feign.response.expectedcommissionratio.ApiExpectedCommissionRatioPageResponse;
public interface ApiExpectedCommissionRatioService {
Result<IPage<ApiExpectedCommissionRatioPageResponse>> page(ApiExpectedCommissionRatioPageRequest request);
Result save(ApiExpectedCommissionRatioSaveRequest request);
}
......@@ -2,9 +2,7 @@ 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.productlaunch.ApiProductLaunchCategoryAddRequest;
import com.yd.product.feign.request.productlaunch.ApiProductLaunchPageRequest;
import com.yd.product.feign.request.productlaunch.ApiProductLaunchSaveRequest;
import com.yd.product.feign.request.productlaunch.*;
import com.yd.product.feign.response.productlaunch.ApiProductLaunchCategoryAddResponse;
import com.yd.product.feign.response.productlaunch.ApiProductLaunchDetailResponse;
import com.yd.product.feign.response.productlaunch.ApiProductLaunchPageResponse;
......@@ -19,5 +17,9 @@ public interface ApiProductLaunchService {
Result save(ApiProductLaunchSaveRequest request);
Result<ProductLaunch> checkProductLaunchIsExist(String productBizId);
Result approval(ApiProductLaunchApprovalRequest request);
Result editStatus(ApiProductLaunchEditStatusRequest request);
Result<ProductLaunch> checkProductLaunchIsExist(String productLaunchBizId);
}
package com.yd.product.api.service.impl;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yd.common.result.Result;
import com.yd.product.api.service.ApiExpectedCommissionRatioService;
import com.yd.product.api.service.ApiProductLaunchService;
import com.yd.product.feign.request.expectedcommissionratio.ApiExpectedCommissionRatioPageRequest;
import com.yd.product.feign.request.expectedcommissionratio.ApiExpectedCommissionRatioSaveRequest;
import com.yd.product.feign.response.expectedcommissionratio.ApiExpectedCommissionRatioPageResponse;
import com.yd.product.service.model.ExpectedCommissionRatio;
import com.yd.product.service.model.ProductLaunch;
import com.yd.product.service.service.IExpectedCommissionRatioService;
import lombok.extern.slf4j.Slf4j;
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.stream.Collectors;
@Slf4j
@Service
......@@ -18,6 +28,9 @@ public class ApiExpectedCommissionRatioServiceImpl implements ApiExpectedCommiss
@Autowired
private IExpectedCommissionRatioService iExpectedCommissionRatioService;
@Autowired
private ApiProductLaunchService apiProductLaunchService;
/**
* 分页列表查询-预计来佣比率信息
* @param request
......@@ -30,4 +43,29 @@ public class ApiExpectedCommissionRatioServiceImpl implements ApiExpectedCommiss
return Result.success(iPage);
}
/**
* 保存-预计来佣比率信息
* @param request
* @return
*/
@Override
public Result save(ApiExpectedCommissionRatioSaveRequest request) {
//校验产品上架信息是否存在
Result<ProductLaunch> result = apiProductLaunchService.checkProductLaunchIsExist(request.getProductLaunchBizId());
ProductLaunch productLaunch = result.getData();
//先删后新增
//删除
iExpectedCommissionRatioService.delByProductLaunchBizId(request.getProductLaunchBizId());
//新增
List<ExpectedCommissionRatio> expectedCommissionRatioList = request.getApiExpectedCommissionRatioDtoList()
.stream().map(dto -> {
ExpectedCommissionRatio ratio = new ExpectedCommissionRatio();
BeanUtils.copyProperties(dto,ratio);
ratio.setSpeciesJson(!CollectionUtils.isEmpty(dto.getApiSpeciesSettingDtoList()) ? JSON.toJSONString(dto.getApiSpeciesSettingDtoList()) : "");
return ratio;
}).collect(Collectors.toList());
iExpectedCommissionRatioService.saveBatch(expectedCommissionRatioList);
return Result.success();
}
}
......@@ -14,11 +14,10 @@ import com.yd.product.feign.dto.ApiProductLaunchDto;
import com.yd.product.feign.dto.ApiSpeciesPriceDto;
import com.yd.product.feign.dto.ApiSpeciesSettingDto;
import com.yd.product.feign.dto.ApiSpeciesTypeDto;
import com.yd.product.feign.enums.ProductCommonEnum;
import com.yd.product.feign.request.product.ApiProductAddRequest;
import com.yd.product.feign.request.product.ApiProductEditRequest;
import com.yd.product.feign.request.productlaunch.ApiProductLaunchCategoryAddRequest;
import com.yd.product.feign.request.productlaunch.ApiProductLaunchPageRequest;
import com.yd.product.feign.request.productlaunch.ApiProductLaunchSaveRequest;
import com.yd.product.feign.request.productlaunch.*;
import com.yd.product.feign.response.productlaunch.ApiAttributeSettingDto;
import com.yd.product.feign.response.productlaunch.ApiProductLaunchCategoryAddResponse;
import com.yd.product.feign.response.productlaunch.ApiProductLaunchDetailResponse;
......@@ -28,16 +27,16 @@ import com.yd.product.service.dto.SpeciesPriceDto;
import com.yd.product.service.dto.SpeciesSettingDto;
import com.yd.product.service.model.*;
import com.yd.product.service.service.*;
import com.yd.user.feign.client.reltenantproject.ApiRelTenantProjectFeignClient;
import com.yd.user.feign.request.reltenantproject.QueryRelTenantProjectListRequest;
import com.yd.user.feign.response.reltenantproject.QueryRelTenantProjectListResponse;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
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.Arrays;
import java.util.List;
import java.util.Objects;
import java.util.*;
import java.util.stream.Collectors;
@Slf4j
......@@ -72,8 +71,17 @@ public class ApiProductLaunchServiceImpl implements ApiProductLaunchService {
private ApiSpeciesPriceService apiSpeciesPriceService;
@Autowired
private IRelTenantProductLaunchService iRelTenantProductLaunchService;
@Autowired
private IRelProjectProductLaunchService iRelProjectProductLaunchService;
@Autowired
private ApiRelObjectCategoryFeignClient apiRelObjectCategoryFeignClient;
@Autowired
private ApiRelTenantProjectFeignClient apiRelTenantProjectFeignClient;
@Override
public Result<IPage<ApiProductLaunchPageResponse>> page(ApiProductLaunchPageRequest request) {
Page<ApiProductLaunchPageResponse> page = new Page<ApiProductLaunchPageResponse>(request.getPageNo(), request.getPageSize());
......@@ -120,7 +128,7 @@ public class ApiProductLaunchServiceImpl implements ApiProductLaunchService {
//产品上架信息表唯一业务ID
productLaunch.setProductLaunchBizId(RandomStringGenerator.generateBizId16(CommonEnum.UID_TYPE_PRODUCT_LAUNCH.getCode()));
//待审核
productLaunch.setStatus(0);
productLaunch.setStatus(ProductCommonEnum.PRODUCT_LAUNCH_STATUS_DSH.getItemValue());
iProductLaunchService.saveOrUpdate(productLaunch);
//添加产品上架对象分类关系信息
ApiRelObjectCategoryListAddRequest addRequest = new ApiRelObjectCategoryListAddRequest();
......@@ -172,14 +180,40 @@ public class ApiProductLaunchServiceImpl implements ApiProductLaunchService {
response.setApiAttributeSettingDtoList(apiAttributeSettingDtoList);
//规格信息配置列表
// 规格信息配置列表 - 按规格类型分组
List<ApiSpeciesTypeDto> apiSpeciesTypeDtoList = new ArrayList<>();
List<SpeciesSetting> speciesSettingList = iSpeciesSettingService.queryList(SpeciesSettingDto.builder().productLaunchBizId(productLaunchBizId).build());
if (!CollectionUtils.isEmpty(speciesSettingList)) {
apiSpeciesTypeDtoList = speciesSettingList.stream().map(dto -> {
// 按规格类型分组
Map<String, List<SpeciesSetting>> speciesSettingByType = speciesSettingList.stream()
.collect(Collectors.groupingBy(SpeciesSetting::getSpeciesTypeBizId));
// 为每个规格类型创建DTO
apiSpeciesTypeDtoList = speciesSettingByType.entrySet().stream().map(entry -> {
List<SpeciesSetting> settingsInType = entry.getValue();
if (CollectionUtils.isEmpty(settingsInType)) {
return null;
}
// 取第一个设置项获取规格类型信息(同一类型下这些信息应该相同)
SpeciesSetting firstSetting = settingsInType.get(0);
ApiSpeciesTypeDto typeDto = new ApiSpeciesTypeDto();
BeanUtils.copyProperties(dto,typeDto);
typeDto.setSpeciesTypeBizId(firstSetting.getSpeciesTypeBizId());
typeDto.setTypeCode(firstSetting.getTypeCode());
typeDto.setTypeName(firstSetting.getTypeName());
// 转换该类型下的所有规格配置
List<ApiSpeciesSettingDto> speciesSettingDtos = settingsInType.stream().map(setting -> {
ApiSpeciesSettingDto speciesSettingDto = new ApiSpeciesSettingDto();
BeanUtils.copyProperties(setting, speciesSettingDto);
return speciesSettingDto;
}).collect(Collectors.toList());
typeDto.setApiSpeciesSettingDtoList(speciesSettingDtos);
return typeDto;
}).collect(Collectors.toList());
}).filter(Objects::nonNull).collect(Collectors.toList());
}
response.setApiSpeciesTypeDtoList(apiSpeciesTypeDtoList);
......@@ -209,11 +243,12 @@ public class ApiProductLaunchServiceImpl implements ApiProductLaunchService {
ApiProductLaunchDto apiProductLaunchDto = request.getApiProductLaunchDto();
//校验产品上架信息是否存在
Result<ProductLaunch> result = checkProductLaunchIsExist(apiProductLaunchDto.getProductLaunchBizId());
//更新产品上架主信息
ProductLaunch productLaunch = result.getData();
//更新产品上架主信息
BeanUtils.copyProperties(apiProductLaunchDto,productLaunch);
productLaunch.setMainUrls(!CollectionUtils.isEmpty(apiProductLaunchDto.getMainUrlsList()) ? String.join(";",apiProductLaunchDto.getMainUrlsList()) : "");
productLaunch.setDetailUrls(!CollectionUtils.isEmpty(apiProductLaunchDto.getDetailUrlsList()) ? String.join(";",apiProductLaunchDto.getDetailUrlsList()) : "");
productLaunch.setProjectBizIdList(!CollectionUtils.isEmpty(apiProductLaunchDto.getProjectBizIdList()) ? String.join(";",apiProductLaunchDto.getProjectBizIdList()) : "");
iProductLaunchService.saveOrUpdate(productLaunch);
//设置产品上架信息参数列表
......@@ -228,6 +263,125 @@ public class ApiProductLaunchServiceImpl implements ApiProductLaunchService {
}
/**
* 审核-产品上架信息
* @param request
* @return
*/
@Override
public Result approval(ApiProductLaunchApprovalRequest request) {
//校验产品上架信息是否存在
Result<ProductLaunch> result = checkProductLaunchIsExist(request.getProductLaunchBizId());
ProductLaunch productLaunch = result.getData();
//审核备注
productLaunch.setApprovalRemark(request.getApprovalRemark());
if (ProductCommonEnum.APPROVAL_STATUS_TG.getItemValue().equals(request.getApprovalStatus())){
//审核通过 -> 更新上架状态和更新租户/项目产品上架关系数据
//更新上架状态为在售状态
productLaunch.setStatus(ProductCommonEnum.PRODUCT_LAUNCH_STATUS_ZS.getItemValue());
iProductLaunchService.saveOrUpdate(productLaunch);
//更新租户/项目产品上架关系数据
List<String> projectBizIdList = StringUtils.isNotBlank(productLaunch.getProjectBizIdList()) ? Arrays.asList(productLaunch.getProjectBizIdList().split(";").clone()) : new ArrayList<>();
if (!CollectionUtils.isEmpty(projectBizIdList)) {
//根据项目业务ID列表查询租户项目关系列表
Result<List<QueryRelTenantProjectListResponse>> listResult = queryRelTenantProjectList(projectBizIdList);
List<QueryRelTenantProjectListResponse> list = listResult.getData();
//保存项目产品上架信息关系列表
saveRelProjectProductLaunchList(list,productLaunch.getProductLaunchBizId());
//保存租户产品上架信息关系列表
saveRelTenantProductLaunchList(list,productLaunch.getProductLaunchBizId());
}
}else if (ProductCommonEnum.APPROVAL_STATUS_WTG.getItemValue().equals(request.getApprovalStatus())) {
//审核未通过
//更新上架状态为审核失败状态
productLaunch.setStatus(ProductCommonEnum.PRODUCT_LAUNCH_STATUS_SB.getItemValue());
iProductLaunchService.saveOrUpdate(productLaunch);
//审核未通过要清空租户/项目产品上架关系数据
//根据产品业务ID删除项目产品关系
iRelProjectProductLaunchService.delByProductLaunchBizId(productLaunch.getProductLaunchBizId());
//根据产品业务ID删除租户产品关系
iRelTenantProductLaunchService.delByProductLaunchBizId(productLaunch.getProductLaunchBizId());
}
return Result.success();
}
/**
* 编辑-产品上架状态
* @param request
* @return
*/
@Override
public Result editStatus(ApiProductLaunchEditStatusRequest request) {
//校验产品上架信息是否存在
Result<ProductLaunch> result = checkProductLaunchIsExist(request.getProductLaunchBizId());
ProductLaunch productLaunch = result.getData();
productLaunch.setStatus(request.getStatus());
iProductLaunchService.saveOrUpdate(productLaunch);
return Result.success();
}
/**
* 根据项目业务ID列表查询租户项目关系列表
* @return
*/
public Result<List<QueryRelTenantProjectListResponse>> queryRelTenantProjectList(List<String> projectBizIdList) {
QueryRelTenantProjectListRequest request = new QueryRelTenantProjectListRequest();
request.setProjectBizIdList(projectBizIdList);
return apiRelTenantProjectFeignClient.queryRelTenantProjectList(request);
}
/**
* 保存租户产品上架信息关系列表
* @param responses
* @param productLaunchBizId
* @return
*/
public Result saveRelTenantProductLaunchList(List<QueryRelTenantProjectListResponse> responses,String productLaunchBizId) {
//先删后新增
//根据产品业务ID删除租户产品关系
iRelTenantProductLaunchService.delByProductLaunchBizId(productLaunchBizId);
//新增租户产品关系
if (!CollectionUtils.isEmpty(responses)) {
List<RelTenantProductLaunch> saveList = responses.stream().map(dto -> {
RelTenantProductLaunch relTenantProductLaunch = new RelTenantProductLaunch();
relTenantProductLaunch.setProductLaunchBizId(productLaunchBizId);
relTenantProductLaunch.setTenantBizId(dto.getTenantBizId());
return relTenantProductLaunch;
}).collect(Collectors.toList());
iRelTenantProductLaunchService.saveOrUpdateBatch(saveList);
}
return Result.success();
}
/**
* 保存项目产品上架信息关系列表
* @return
*/
public Result saveRelProjectProductLaunchList(List<QueryRelTenantProjectListResponse> responses,String productLaunchBizId) {
//先删后新增
//根据产品业务ID删除项目产品关系
iRelProjectProductLaunchService.delByProductLaunchBizId(productLaunchBizId);
//新增项目产品关系
if (!CollectionUtils.isEmpty(responses)) {
List<RelProjectProductLaunch> saveList = responses.stream().map(dto -> {
RelProjectProductLaunch relProjectProductLaunch = new RelProjectProductLaunch();
relProjectProductLaunch.setProductLaunchBizId(productLaunchBizId);
relProjectProductLaunch.setTenantBizId(dto.getTenantBizId());
relProjectProductLaunch.setProjectBizId(dto.getProjectBizId());
return relProjectProductLaunch;
}).collect(Collectors.toList());
iRelProjectProductLaunchService.saveOrUpdateBatch(saveList);
}
return Result.success();
}
/**
* 校验产品上架信息是否存在
* @param productLaunchBizId
* @return
......
......@@ -3,7 +3,9 @@ package com.yd.product.feign.client.expectedcommissionratio;
import com.yd.common.result.Result;
import com.yd.product.feign.fallback.expectedcommissionratio.ApiExpectedCommissionRatioFeignFallbackFactory;
import com.yd.product.feign.request.expectedcommissionratio.ApiExpectedCommissionRatioPageRequest;
import com.yd.product.feign.request.expectedcommissionratio.ApiExpectedCommissionRatioSaveRequest;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
......@@ -20,4 +22,12 @@ public interface ApiExpectedCommissionRatioFeignClient {
*/
@PostMapping("/page")
Result page(@RequestBody ApiExpectedCommissionRatioPageRequest request);
/**
* 保存-预计来佣比率信息
* @param request
* @return
*/
@PostMapping("/save")
Result save(@Validated @RequestBody ApiExpectedCommissionRatioSaveRequest request);
}
......@@ -2,17 +2,13 @@ package com.yd.product.feign.client.productlaunch;
import com.yd.common.result.Result;
import com.yd.product.feign.fallback.productlaunch.ApiProductLaunchFeignFallbackFactory;
import com.yd.product.feign.request.productlaunch.ApiProductLaunchCategoryAddRequest;
import com.yd.product.feign.request.productlaunch.ApiProductLaunchPageRequest;
import com.yd.product.feign.request.productlaunch.ApiProductLaunchSaveRequest;
import com.yd.product.feign.request.productlaunch.*;
import com.yd.product.feign.response.productlaunch.ApiProductLaunchCategoryAddResponse;
import com.yd.product.feign.response.productlaunch.ApiProductLaunchDetailResponse;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotBlank;
/**
......@@ -52,4 +48,20 @@ public interface ApiProductLaunchFeignClient {
*/
@PostMapping("/save")
Result save(@Validated @RequestBody ApiProductLaunchSaveRequest request);
/**
* 审核-产品上架信息
* @param request
* @return
*/
@PutMapping("/approval")
Result approval(@Validated @RequestBody ApiProductLaunchApprovalRequest request);
/**
* 编辑-产品上架状态
* @param request
* @return
*/
@PutMapping("/edit/status")
Result editStatus(@Validated @RequestBody ApiProductLaunchEditStatusRequest request);
}
package com.yd.product.feign.dto;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
@Data
public class ApiExpectedCommissionRatioDto {
/**
* 预计来佣比率表唯一业务ID
*/
private String expectedCommissionRatioBizId;
/**
* 产品上架信息表唯一业务ID
*/
private String productLaunchBizId;
/**
* 产品唯一业务ID
*/
private String productBizId;
/**
* 规格条件列表JSON串
*/
private String speciesJson;
/**
* 上架产品规格配置表信息JSON串对应转化的列表
*/
private List<ApiSpeciesSettingDto> apiSpeciesSettingDtoList;
/**
* 保障年限(固定规格条件)
*/
private String warrantyPeriod;
/**
* 期数(固定规格条件)
*/
private String issueNumber;
/**
* 标保折算比例
*/
private BigDecimal discountRatio;
/**
* 计算基数(保费/保费*折算比例)
*/
private BigDecimal cardinalNumber;
/**
* 来佣类型
*/
private String commissionType;
/**
* 来佣比例
*/
private BigDecimal commissionRatio;
/**
* 出单渠道
*/
private String channel;
/**
* 有效开始时间
*/
private LocalDateTime effectiveStart;
/**
* 有效结束时间
*/
private LocalDateTime effectiveEnd;
/**
* 来佣日规则
*/
private String rules;
/**
* 通用备注
*/
private String remark;
}
......@@ -49,4 +49,9 @@ public class ApiProductLaunchDto {
* 状态:0-待审核 1-审核成功 2-审核失败 3-在售 4-停售 5-下架 6-预售
*/
private Integer status;
/**
* 上架到对应的项目列表
*/
private List<String> projectBizIdList;
}
package com.yd.product.feign.enums;
/**
* 产品服务公共枚举
*/
public enum ProductCommonEnum {
//产品上架状态枚举
PRODUCT_LAUNCH_STATUS_DSH("待审核","DSH"),
PRODUCT_LAUNCH_STATUS_CG("审核成功","CG"),
PRODUCT_LAUNCH_STATUS_SB("审核失败","SB"),
PRODUCT_LAUNCH_STATUS_ZS("在售","ZS"),
PRODUCT_LAUNCH_STATUS_TS("停售","TS"),
PRODUCT_LAUNCH_STATUS_XJ("下架","XJ"),
PRODUCT_LAUNCH_STATUS_YS("预售","YS"),
//审核操作状态
APPROVAL_STATUS_TG("通过","TG"),
APPROVAL_STATUS_WTG("未通过","WTG"),
;
//字典项标签(名称)
private String itemLabel;
//字典项值
private String itemValue;
//构造函数
ProductCommonEnum(String itemLabel, String itemValue) {
this.itemLabel = itemLabel;
this.itemValue = itemValue;
}
public String getItemLabel() {
return itemLabel;
}
public String getItemValue() {
return itemValue;
}
}
......@@ -3,6 +3,7 @@ package com.yd.product.feign.fallback.expectedcommissionratio;
import com.yd.common.result.Result;
import com.yd.product.feign.client.expectedcommissionratio.ApiExpectedCommissionRatioFeignClient;
import com.yd.product.feign.request.expectedcommissionratio.ApiExpectedCommissionRatioPageRequest;
import com.yd.product.feign.request.expectedcommissionratio.ApiExpectedCommissionRatioSaveRequest;
import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component;
......@@ -20,6 +21,11 @@ public class ApiExpectedCommissionRatioFeignFallbackFactory implements FallbackF
public Result page(ApiExpectedCommissionRatioPageRequest request) {
return null;
}
@Override
public Result save(ApiExpectedCommissionRatioSaveRequest request) {
return null;
}
};
}
}
......@@ -2,9 +2,7 @@ package com.yd.product.feign.fallback.productlaunch;
import com.yd.common.result.Result;
import com.yd.product.feign.client.productlaunch.ApiProductLaunchFeignClient;
import com.yd.product.feign.request.productlaunch.ApiProductLaunchCategoryAddRequest;
import com.yd.product.feign.request.productlaunch.ApiProductLaunchPageRequest;
import com.yd.product.feign.request.productlaunch.ApiProductLaunchSaveRequest;
import com.yd.product.feign.request.productlaunch.*;
import com.yd.product.feign.response.productlaunch.ApiProductLaunchCategoryAddResponse;
import com.yd.product.feign.response.productlaunch.ApiProductLaunchDetailResponse;
import lombok.extern.slf4j.Slf4j;
......@@ -39,6 +37,16 @@ public class ApiProductLaunchFeignFallbackFactory implements FallbackFactory<Api
public Result save(ApiProductLaunchSaveRequest request) {
return null;
}
@Override
public Result approval(ApiProductLaunchApprovalRequest request) {
return null;
}
@Override
public Result editStatus(ApiProductLaunchEditStatusRequest request) {
return null;
}
};
}
}
package com.yd.product.feign.request.expectedcommissionratio;
import com.yd.product.feign.dto.ApiExpectedCommissionRatioDto;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import java.util.List;
@Data
public class ApiExpectedCommissionRatioSaveRequest {
/**
* 产品上架信息表唯一业务ID
*/
@NotBlank(message = "产品上架信息表唯一业务ID不能为空")
private String productLaunchBizId;
/**
* 预计来佣比率配置列表信息
*/
@NotEmpty(message = "预计来佣比率配置列表信息不能为空")
private List<ApiExpectedCommissionRatioDto> apiExpectedCommissionRatioDtoList;
}
package com.yd.product.feign.request.productlaunch;
import lombok.Data;
import javax.validation.constraints.NotBlank;
@Data
public class ApiProductLaunchApprovalRequest {
/**
* 产品上架信息表唯一业务ID
*/
@NotBlank(message = "产品上架信息表唯一业务ID不能为空")
private String productLaunchBizId;
/**
* 审核状态 TG-审核通过 WTG-审核未通过
*/
@NotBlank(message = "审核状态不能为空")
private String approvalStatus;
/**
* 审核备注
*/
private String approvalRemark;
}
package com.yd.product.feign.request.productlaunch;
import lombok.Data;
import javax.validation.constraints.NotBlank;
@Data
public class ApiProductLaunchEditStatusRequest {
/**
* 产品上架信息表唯一业务ID
*/
@NotBlank(message = "产品上架信息表唯一业务ID不能为空")
private String productLaunchBizId;
/**
* 上架状态(字典)
*/
@NotBlank(message = "上架状态不能为空")
private String status;
}
......@@ -49,7 +49,7 @@ public class Product implements Serializable {
private String productCode;
/**
* 状态:0=下架,1=在售 2=预售 3=停售
* 状态(0:禁用 1:启用)
*/
@TableField("status")
private Integer status;
......
......@@ -91,10 +91,22 @@ public class ProductLaunch implements Serializable {
private String projectBizId;
/**
* 状态:0-待审核 1-审核成功 2-审核失败 3-在售 4-停售 5-下架 6-预售
* 上架状态
*/
@TableField("status")
private Integer status;
private String status;
/**
* 审核备注
*/
@TableField("approval_remark")
private String approvalRemark;
/**
* 上架到对应的项目列表(多个项目id分号分隔)
*/
@TableField("project_biz_id_list")
private String projectBizIdList;
/**
* 通用备注
......
......@@ -19,4 +19,6 @@ public interface IExpectedCommissionRatioService extends IService<ExpectedCommis
IPage<ApiExpectedCommissionRatioPageResponse> page(Page<ApiExpectedCommissionRatioPageResponse> page,
ApiExpectedCommissionRatioPageRequest request);
Boolean delByProductLaunchBizId(String productLaunchBizId);
}
......@@ -13,4 +13,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/
public interface IRelProjectProductLaunchService extends IService<RelProjectProductLaunch> {
Boolean delByProductLaunchBizId(String productLaunchBizId);
}
......@@ -13,4 +13,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/
public interface IRelTenantProductLaunchService extends IService<RelTenantProductLaunch> {
Boolean delByProductLaunchBizId(String productLaunchBizId);
}
package com.yd.product.service.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yd.product.feign.request.expectedcommissionratio.ApiExpectedCommissionRatioPageRequest;
......@@ -26,4 +27,9 @@ public class ExpectedCommissionRatioServiceImpl extends ServiceImpl<ExpectedComm
ApiExpectedCommissionRatioPageRequest request) {
return baseMapper.page(page,request);
}
@Override
public Boolean delByProductLaunchBizId(String productLaunchBizId) {
return this.remove(new LambdaQueryWrapper<ExpectedCommissionRatio>().eq(ExpectedCommissionRatio::getProductLaunchBizId,productLaunchBizId));
}
}
package com.yd.product.service.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.yd.product.service.model.RelProjectProductLaunch;
import com.yd.product.service.dao.RelProjectProductLaunchMapper;
import com.yd.product.service.service.IRelProjectProductLaunchService;
......@@ -17,4 +18,8 @@ import org.springframework.stereotype.Service;
@Service
public class RelProjectProductLaunchServiceImpl extends ServiceImpl<RelProjectProductLaunchMapper, RelProjectProductLaunch> implements IRelProjectProductLaunchService {
@Override
public Boolean delByProductLaunchBizId(String productLaunchBizId) {
return this.remove(new LambdaQueryWrapper<RelProjectProductLaunch>().eq(RelProjectProductLaunch::getProductLaunchBizId,productLaunchBizId));
}
}
package com.yd.product.service.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.yd.common.result.Result;
import com.yd.product.service.model.RelTenantProductLaunch;
import com.yd.product.service.dao.RelTenantProductLaunchMapper;
import com.yd.product.service.service.IRelTenantProductLaunchService;
......@@ -17,4 +19,8 @@ import org.springframework.stereotype.Service;
@Service
public class RelTenantProductLaunchServiceImpl extends ServiceImpl<RelTenantProductLaunchMapper, RelTenantProductLaunch> implements IRelTenantProductLaunchService {
@Override
public Boolean delByProductLaunchBizId(String productLaunchBizId) {
return this.remove(new LambdaQueryWrapper<RelTenantProductLaunch>().eq(RelTenantProductLaunch::getProductLaunchBizId,productLaunchBizId));
}
}
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