Browse Source

基础配置

master
张彭杰 2 years ago
parent
commit
ea206b8ec8
6 changed files with 68 additions and 4 deletions
  1. 13
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/product/user/ProductUserQueryController.java
  2. 12
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/product/user/request/UserPageProductByCustomerQueryParam.java
  3. 7
      dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/view/ProductViewDao.java
  4. 4
      dating-agency-mall-server/src/main/java/com/qniao/dam/query/product/ProductQueryService.java
  5. 8
      dating-agency-mall-server/src/main/java/com/qniao/dam/query/product/impl/ProductQueryServiceImpl.java
  6. 28
      dating-agency-mall-server/src/main/resources/mapper/product/ProductViewMapper.xml

13
dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/product/user/ProductUserQueryController.java

@ -1,5 +1,6 @@
package com.qniao.dam.api.query.product.user;
import com.qniao.dam.api.query.product.user.request.UserPageProductByCustomerQueryParam;
import com.qniao.dam.api.query.product.user.request.UserPageProductByOperatorQueryParam;
import com.qniao.dam.api.query.product.user.response.UserGetProductDetailByOperatorVo;
import com.qniao.dam.api.query.product.user.response.UserPageProductByCustomerVo;
@ -40,12 +41,18 @@ public class ProductUserQueryController {
return productQueryService.getProductDetailByOperator(productId);
}
/**
* todo 考虑放缓存
* @param pageUtil
* @param queryParam
* @param userId
* @return
*/
@GetMapping("page/product/by/Customer")
@ApiOperation("客户获取商品分页列表")
public QnPage<UserPageProductByCustomerVo> userPageProductByCustomer(PageUtil pageUtil,
UserPageProductByOperatorQueryParam queryParam,
UserPageProductByCustomerQueryParam queryParam,
@RequestParam("userId") Long userId) {
return null;
// return PageUtil.convert(productQueryService.pageProductByCustomer(pageUtil, queryParam), UserPageProductByOperatorVo.class);
return PageUtil.convert(productQueryService.pageProductByCustomer(pageUtil, queryParam), UserPageProductByCustomerVo.class);
}
}

12
dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/product/user/request/UserPageProductByCustomerQueryParam.java

@ -0,0 +1,12 @@
package com.qniao.dam.api.query.product.user.request;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class UserPageProductByCustomerQueryParam {
@ApiModelProperty("产品次分类")
private Integer subCategory;
}

7
dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/view/ProductViewDao.java

@ -2,8 +2,9 @@ package com.qniao.dam.infrastructure.persistent.dao.view;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.qniao.dam.api.query.product.user.request.UserPageProductByCustomerQueryParam;
import com.qniao.dam.api.query.product.user.request.UserPageProductByOperatorQueryParam;
import com.qniao.dam.api.query.product.user.response.UserGetProductDetailByOperatorVo;
import com.qniao.dam.api.query.product.user.response.UserPageProductByCustomerVo;
import com.qniao.dam.api.query.product.user.response.UserPageProductByOperatorVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -13,4 +14,8 @@ public interface ProductViewDao {
IPage<UserPageProductByOperatorVo> pageProductByOperator(Page<Object> pageWithoutOrders,
@Param("queryParam") UserPageProductByOperatorQueryParam queryParam);
IPage<UserPageProductByCustomerVo> pageProductByCustomer(Page<Object> pageWithoutOrders,
@Param("queryParam") UserPageProductByCustomerQueryParam queryParam);
}

4
dating-agency-mall-server/src/main/java/com/qniao/dam/query/product/ProductQueryService.java

@ -1,8 +1,10 @@
package com.qniao.dam.query.product;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.qniao.dam.api.query.product.user.request.UserPageProductByCustomerQueryParam;
import com.qniao.dam.api.query.product.user.request.UserPageProductByOperatorQueryParam;
import com.qniao.dam.api.query.product.user.response.UserGetProductDetailByOperatorVo;
import com.qniao.dam.api.query.product.user.response.UserPageProductByCustomerVo;
import com.qniao.dam.api.query.product.user.response.UserPageProductByOperatorVo;
import com.qniao.framework.utils.PageUtil;
@ -10,4 +12,6 @@ public interface ProductQueryService {
IPage<UserPageProductByOperatorVo> pageProductByOperator(PageUtil pageUtil, UserPageProductByOperatorQueryParam queryParam);
UserGetProductDetailByOperatorVo getProductDetailByOperator(Long productId);
IPage<UserPageProductByCustomerVo> pageProductByCustomer(PageUtil pageUtil, UserPageProductByCustomerQueryParam queryParam);
}

8
dating-agency-mall-server/src/main/java/com/qniao/dam/query/product/impl/ProductQueryServiceImpl.java

@ -3,8 +3,10 @@ package com.qniao.dam.query.product.impl;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.qniao.dam.api.query.product.user.request.UserPageProductByCustomerQueryParam;
import com.qniao.dam.api.query.product.user.request.UserPageProductByOperatorQueryParam;
import com.qniao.dam.api.query.product.user.response.UserGetProductDetailByOperatorVo;
import com.qniao.dam.api.query.product.user.response.UserPageProductByCustomerVo;
import com.qniao.dam.api.query.product.user.response.UserPageProductByOperatorVo;
import com.qniao.dam.domain.aggregate.product.entity.Product;
import com.qniao.dam.domain.aggregate.productspec.entity.ProductSpec;
@ -63,6 +65,12 @@ public class ProductQueryServiceImpl implements ProductQueryService {
return detailVo;
}
@Override
public IPage<UserPageProductByCustomerVo> pageProductByCustomer(PageUtil pageUtil,
UserPageProductByCustomerQueryParam queryParam) {
return productViewDao.pageProductByCustomer(pageUtil.toPageWithoutOrders(), queryParam);
}
/**
* 找出对应name的value
*/

28
dating-agency-mall-server/src/main/resources/mapper/product/ProductViewMapper.xml

@ -30,5 +30,33 @@
AND dp.sub_category = #{queryParam.subCategory}
</if>
</select>
<select id="pageProductByCustomer"
resultType="com.qniao.dam.api.query.product.user.response.UserPageProductByCustomerVo">
select
dp.id as productId,
dps.id as productSpecId,
dp.main_category,
dp.sub_category,
dp.product_title,
dp.product_desc,
dp.detail_desc,
dps.unit_original_price,
dps.unit_selling_price,
dpst1.unit as productSpecUnit,
dpst2.`value` as validityPeriodValue,
dpst3.`value` as purchaseTimeValue,
dpst4.`value` as dailyUseLimitValue
from da_product as dp
LEFT JOIN da_product_spec as dps on dps.is_delete=0 and dps.product_id=dp.id
LEFT JOIN da_product_spec_term as dpst1 on dpst1.is_delete=0 and dpst1.product_spec_id =dps.id and dpst1.`name`=1
LEFT JOIN da_product_spec_term as dpst2 on dpst2.is_delete=0 and dpst2.product_spec_id =dps.id and dpst2.`name`=3
LEFT JOIN da_product_spec_term as dpst3 on dpst3.is_delete=0 and dpst3.product_spec_id =dps.id and dpst3.`name`=2
LEFT JOIN da_product_spec_term as dpst4 on dpst4.is_delete=0 and dpst4.product_spec_id =dps.id and dpst4.`name`=4
where dp.is_delete=0 and dp.`status`=1
<if test="queryParam.subCategory != null">
AND dp.sub_category = #{queryParam.subCategory}
</if>
</select>
</mapper>
Loading…
Cancel
Save