Commit ec9f2d34 by zhangxingmin

产品参数字段-分页列表查询-租户项目产品上架关系信息

parent 531e6037
......@@ -4,7 +4,9 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yd.common.result.Result;
import com.yd.product.api.service.ApiRelProjectProductLaunchService;
import com.yd.product.feign.client.relprojectproductlaunch.ApiRelProjectProductLaunchFeignClient;
import com.yd.product.feign.request.productlaunch.ApiProductLaunchParameterPageRequest;
import com.yd.product.feign.request.relprojectproductlaunch.ApiRelProjectProductLaunchPageRequest;
import com.yd.product.feign.response.relprojectproductlaunch.ApiProductLaunchParameterPageResponse;
import com.yd.product.feign.response.relprojectproductlaunch.ApiRelProjectProductLaunchPageResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
......@@ -35,5 +37,15 @@ public class ApiRelProjectProductLaunchController implements ApiRelProjectProduc
return apiRelProjectProductLaunchService.page(request);
}
/**
* 产品参数字段-分页列表查询-租户项目产品上架关系信息
* @param request
* @return
*/
@Override
public Result<IPage<ApiProductLaunchParameterPageResponse>> parameterPage(ApiProductLaunchParameterPageRequest request) {
return apiRelProjectProductLaunchService.parameterPage(request);
}
}
......@@ -2,9 +2,13 @@ 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.ApiProductLaunchParameterPageRequest;
import com.yd.product.feign.request.relprojectproductlaunch.ApiRelProjectProductLaunchPageRequest;
import com.yd.product.feign.response.relprojectproductlaunch.ApiProductLaunchParameterPageResponse;
import com.yd.product.feign.response.relprojectproductlaunch.ApiRelProjectProductLaunchPageResponse;
public interface ApiRelProjectProductLaunchService {
Result<IPage<ApiRelProjectProductLaunchPageResponse>> page(ApiRelProjectProductLaunchPageRequest request);
Result<IPage<ApiProductLaunchParameterPageResponse>> parameterPage(ApiProductLaunchParameterPageRequest request);
}
......@@ -9,8 +9,10 @@ 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.ApiSpeciesTypeDto;
import com.yd.product.feign.request.productlaunch.ApiProductLaunchParameterPageRequest;
import com.yd.product.feign.request.relprojectproductlaunch.ApiRelProjectProductLaunchPageRequest;
import com.yd.product.feign.response.productlaunch.ApiAttributeSettingDto;
import com.yd.product.feign.response.relprojectproductlaunch.ApiProductLaunchParameterPageResponse;
import com.yd.product.feign.response.relprojectproductlaunch.ApiRelProjectProductLaunchPageResponse;
import com.yd.product.service.service.IRelProjectProductLaunchService;
import lombok.extern.slf4j.Slf4j;
......@@ -64,4 +66,34 @@ public class ApiRelProjectProductLaunchServiceImpl implements ApiRelProjectProdu
}
return Result.success(iPage);
}
/**
* 产品参数字段-分页列表查询-租户项目产品上架关系信息
* @param request
* @return
*/
@Override
public Result<IPage<ApiProductLaunchParameterPageResponse>> parameterPage(ApiProductLaunchParameterPageRequest request) {
Page<ApiProductLaunchParameterPageResponse> page = new Page<>(request.getPageNo(), request.getPageSize());
IPage<ApiProductLaunchParameterPageResponse> iPage = iRelProjectProductLaunchService.parameterPage(page, request);
if (!CollectionUtils.isEmpty(iPage.getRecords())) {
List<ApiProductLaunchParameterPageResponse> responses = iPage.getRecords();
for (ApiProductLaunchParameterPageResponse response : responses) {
//设置的产品上架信息的参数列表
List<ApiAttributeSettingDto> apiAttributeSettingDtoList = apiAttributeSettingService.queryAttributeSettingDtoList(response.getProductLaunchBizId());
response.setApiAttributeSettingDtoList(apiAttributeSettingDtoList);
//规格信息配置列表
// 规格信息配置列表 - 按规格类型分组
List<ApiSpeciesTypeDto> apiSpeciesTypeDtoList = apiSpeciesSettingService.querySpeciesTypeDtoList(response.getProductLaunchBizId());
response.setApiSpeciesTypeDtoList(apiSpeciesTypeDtoList);
//规格价格配置列表
List<ApiSpeciesPriceDto> apiSpeciesPriceDtoList = apiSpeciesPriceService.querySpeciesPriceDtoList(response.getProductLaunchBizId());
response.setApiSpeciesPriceDtoList(apiSpeciesPriceDtoList);
}
iPage.setRecords(responses);
}
return Result.success(iPage);
}
}
......@@ -8,7 +8,6 @@ import com.yd.product.feign.response.productlaunch.ApiProductLaunchDetailRespons
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotBlank;
/**
......
......@@ -2,6 +2,7 @@ package com.yd.product.feign.client.relprojectproductlaunch;
import com.yd.common.result.Result;
import com.yd.product.feign.fallback.relprojectproductlaunch.ApiRelProjectProductLaunchFeignFallbackFactory;
import com.yd.product.feign.request.productlaunch.ApiProductLaunchParameterPageRequest;
import com.yd.product.feign.request.relprojectproductlaunch.ApiRelProjectProductLaunchPageRequest;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
......@@ -20,4 +21,12 @@ public interface ApiRelProjectProductLaunchFeignClient {
*/
@PostMapping("/page")
Result page(@RequestBody ApiRelProjectProductLaunchPageRequest request);
/**
* 产品参数字段-分页列表查询-租户项目产品上架关系信息
* @param request
* @return
*/
@PostMapping("/parameter/page")
Result parameterPage(@RequestBody ApiProductLaunchParameterPageRequest request);
}
......@@ -2,6 +2,7 @@ package com.yd.product.feign.fallback.relprojectproductlaunch;
import com.yd.common.result.Result;
import com.yd.product.feign.client.relprojectproductlaunch.ApiRelProjectProductLaunchFeignClient;
import com.yd.product.feign.request.productlaunch.ApiProductLaunchParameterPageRequest;
import com.yd.product.feign.request.relprojectproductlaunch.ApiRelProjectProductLaunchPageRequest;
import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.openfeign.FallbackFactory;
......@@ -20,6 +21,11 @@ public class ApiRelProjectProductLaunchFeignFallbackFactory implements FallbackF
public Result page(ApiRelProjectProductLaunchPageRequest request) {
return null;
}
@Override
public Result parameterPage(ApiProductLaunchParameterPageRequest request) {
return null;
}
};
}
}
package com.yd.product.feign.request.productlaunch;
import com.yd.common.dto.PageDto;
import lombok.Data;
@Data
public class ApiProductLaunchParameterPageRequest extends PageDto {
/**
* 租户唯一业务ID
*/
private String tenantBizId;
/**
* 项目唯一业务ID
*/
private String projectBizId;
/**
* 产品名称
*/
private String productName;
/**
* 字段表唯一业务ID
*/
private String fieldBizId;
/**
* 字段值表唯一业务ID
*/
private String fieldValueBizId;
}
package com.yd.product.feign.response.relprojectproductlaunch;
import com.yd.product.feign.dto.ApiSpeciesPriceDto;
import com.yd.product.feign.dto.ApiSpeciesTypeDto;
import com.yd.product.feign.response.productlaunch.ApiAttributeSettingDto;
import lombok.Data;
import java.util.List;
@Data
public class ApiProductLaunchParameterPageResponse {
/**
* 租户唯一业务ID
*/
private String tenantBizId;
/**
* 项目唯一业务ID
*/
private String projectBizId;
/**
* 产品上架信息表唯一业务ID
*/
private String productLaunchBizId;
/**
* 关联产品表唯一业务ID(上架的产品)
*/
private String productBizId;
/**
* 产品名称
*/
private String productName;
/**
* 标题
*/
private String title;
/**
* 短标题
*/
private String shortTitle;
/**
* 主图url(多个url用分号分隔)
*/
private String mainUrls;
/**
* 详情图(多个url用分号分隔)
*/
private String detailUrls;
/**
* 详情描述
*/
private String detailDescription;
/**
* 上架状态
*/
private String status;
/**
* 审核备注
*/
private String approvalRemark;
/**
* 设置的产品参数列表
*/
private List<ApiAttributeSettingDto> apiAttributeSettingDtoList;
/**
* 规格信息配置列表
*/
private List<ApiSpeciesTypeDto> apiSpeciesTypeDtoList;
/**
* 规格价格配置列表
*/
private List<ApiSpeciesPriceDto> apiSpeciesPriceDtoList;
}
......@@ -2,7 +2,9 @@ package com.yd.product.service.dao;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yd.product.feign.request.productlaunch.ApiProductLaunchParameterPageRequest;
import com.yd.product.feign.request.relprojectproductlaunch.ApiRelProjectProductLaunchPageRequest;
import com.yd.product.feign.response.relprojectproductlaunch.ApiProductLaunchParameterPageResponse;
import com.yd.product.feign.response.relprojectproductlaunch.ApiRelProjectProductLaunchPageResponse;
import com.yd.product.service.model.RelProjectProductLaunch;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
......@@ -20,4 +22,7 @@ public interface RelProjectProductLaunchMapper extends BaseMapper<RelProjectProd
IPage<ApiRelProjectProductLaunchPageResponse> page(@Param("page") Page<ApiRelProjectProductLaunchPageResponse> page,
@Param("request") ApiRelProjectProductLaunchPageRequest request);
IPage<ApiProductLaunchParameterPageResponse> parameterPage(@Param("page") Page<ApiProductLaunchParameterPageResponse> page,
@Param("request") ApiProductLaunchParameterPageRequest request);
}
......@@ -2,7 +2,9 @@ package com.yd.product.service.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yd.product.feign.request.productlaunch.ApiProductLaunchParameterPageRequest;
import com.yd.product.feign.request.relprojectproductlaunch.ApiRelProjectProductLaunchPageRequest;
import com.yd.product.feign.response.relprojectproductlaunch.ApiProductLaunchParameterPageResponse;
import com.yd.product.feign.response.relprojectproductlaunch.ApiRelProjectProductLaunchPageResponse;
import com.yd.product.service.model.RelProjectProductLaunch;
import com.baomidou.mybatisplus.extension.service.IService;
......@@ -21,4 +23,7 @@ public interface IRelProjectProductLaunchService extends IService<RelProjectProd
ApiRelProjectProductLaunchPageRequest request);
Boolean delByProductLaunchBizId(String productLaunchBizId);
IPage<ApiProductLaunchParameterPageResponse> parameterPage(Page<ApiProductLaunchParameterPageResponse> page,
ApiProductLaunchParameterPageRequest request);
}
......@@ -3,7 +3,9 @@ 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.productlaunch.ApiProductLaunchParameterPageRequest;
import com.yd.product.feign.request.relprojectproductlaunch.ApiRelProjectProductLaunchPageRequest;
import com.yd.product.feign.response.relprojectproductlaunch.ApiProductLaunchParameterPageResponse;
import com.yd.product.feign.response.relprojectproductlaunch.ApiRelProjectProductLaunchPageResponse;
import com.yd.product.service.model.RelProjectProductLaunch;
import com.yd.product.service.dao.RelProjectProductLaunchMapper;
......@@ -32,4 +34,11 @@ public class RelProjectProductLaunchServiceImpl extends ServiceImpl<RelProjectPr
public Boolean delByProductLaunchBizId(String productLaunchBizId) {
return this.remove(new LambdaQueryWrapper<RelProjectProductLaunch>().eq(RelProjectProductLaunch::getProductLaunchBizId,productLaunchBizId));
}
@Override
public IPage<ApiProductLaunchParameterPageResponse> parameterPage(Page<ApiProductLaunchParameterPageResponse> page,
ApiProductLaunchParameterPageRequest request) {
return baseMapper.parameterPage(page,request);
}
}
......@@ -16,9 +16,32 @@
and rppl.project_biz_id = #{request.projectBizId}
</if>
<if test="request.productName != null and request.productName != ''">
and p.product_name like concat('%', #{request.productName}, '%')
and (p.product_name like concat('%', #{request.productName}, '%') or pl.title like concat('%', #{request.productName}, '%'))
</if>
and rppl.is_deleted = 0
</where>
</select>
<select id="parameterPage"
resultType="com.yd.product.feign.response.relprojectproductlaunch.ApiProductLaunchParameterPageResponse">
select rppl.*,pl.*,p.product_name as productName
from attribute_setting s
left join rel_project_product_launch rppl on rppl.product_launch_biz_id = s.product_launch_biz_id and rppl.is_deleted = 0
left join product_launch pl on pl.product_launch_biz_id = rppl.product_launch_biz_id and pl.is_deleted = 0
left join product p on p.product_biz_id = pl.product_biz_id and pl.is_deleted = 0
<where>
<if test="request.tenantBizId != null and request.tenantBizId != ''">
and rppl.tenant_biz_id = #{request.tenantBizId}
</if>
<if test="request.projectBizId != null and request.projectBizId != ''">
and rppl.project_biz_id = #{request.projectBizId}
</if>
<if test="request.productName != null and request.productName != ''">
and (p.product_name like concat('%', #{request.productName}, '%') or pl.title like concat('%', #{request.productName}, '%'))
</if>
and s.field_biz_id = #{request.fieldBizId}
and s.field_value_biz_id = #{request.fieldValueBizId}
and s.is_deleted = 0
</where>
</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