提交 508d78cc 作者: xiaowang

优化:接口优化

上级 df18afb2
package com.mmc.pms.controller.common; package com.mmc.pms.controller;
import com.mmc.pms.common.Page; import com.mmc.pms.common.Page;
import com.mmc.pms.common.ResultBody; import com.mmc.pms.common.ResultBody;
import com.mmc.pms.constant.TokenConstant; import com.mmc.pms.constant.TokenConstant;
import com.mmc.pms.controller.BaseController;
import com.mmc.pms.model.lease.dto.LeaseGoodsInfoDTO; import com.mmc.pms.model.lease.dto.LeaseGoodsInfoDTO;
import com.mmc.pms.model.qo.WareInfoQO; import com.mmc.pms.model.qo.WareInfoQO;
import com.mmc.pms.model.sale.dto.MallGoodsDetailDTO; import com.mmc.pms.model.sale.dto.MallGoodsDetailDTO;
...@@ -23,10 +22,10 @@ import javax.servlet.http.HttpServletRequest; ...@@ -23,10 +22,10 @@ import javax.servlet.http.HttpServletRequest;
* *
* @date 2023/6/8 17:16 概要: * @date 2023/6/8 17:16 概要:
*/ */
@Api(tags = {"v1.0.1-设备租赁-相关接口"}) @Api(tags = {"v1.0.1-租赁销售-相关接口"})
@RestController @RestController
@RequestMapping("/lease/goods") @RequestMapping("/product/mall")
public class LeaseGoodsController extends BaseController { public class ProductMallController extends BaseController {
@Autowired private WebDeviceService webDeviceService; @Autowired private WebDeviceService webDeviceService;
@ApiOperation(value = "设备列表筛选") @ApiOperation(value = "设备列表筛选")
......
package com.mmc.pms.controller.web;
import com.mmc.pms.service.WebDeviceService;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
/**
* @Author LW
* @date 2023/6/8 15:19
* 概要:
*/
@RestController
@RequestMapping("/lease/goods")
@Api(tags = {"web端-设备租赁-相关接口"})
public class WebLeaseGoodsController {
@Resource
WebDeviceService webDeviceService;
}
...@@ -2,6 +2,7 @@ package com.mmc.pms.dao; ...@@ -2,6 +2,7 @@ package com.mmc.pms.dao;
import com.mmc.pms.entity.*; import com.mmc.pms.entity.*;
import com.mmc.pms.model.lease.vo.LeaseVo; import com.mmc.pms.model.lease.vo.LeaseVo;
import com.mmc.pms.model.qo.WareInfoQO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
...@@ -12,37 +13,42 @@ import java.util.List; ...@@ -12,37 +13,42 @@ import java.util.List;
*/ */
@Mapper @Mapper
public interface WebDeviceDao { public interface WebDeviceDao {
List<DistrictDO> listSecondDistrict(); List<DistrictDO> listSecondDistrict();
List<DeviceCategory> category(); List<DeviceCategory> category();
List<Brand> brand(); List<Brand> brand();
List<Brand> deviceBrand(); List<Brand> deviceBrand();
List<Model> model(); List<Model> model();
List<Model> deviceModel(); List<Model> deviceModel();
List<DeviceListDO> deviceList( List<DeviceListDO> deviceList(
Integer districtId, Integer categoryId, Integer brandId, Integer modelId); Integer districtId, Integer categoryId, Integer brandId, Integer modelId);
int update(LeaseVo param); int update(LeaseVo param);
InventoryDO findInventory(Integer inventoryId); InventoryDO findInventory(Integer inventoryId);
List<WareInfoDO> detail(Integer id); List<WareInfoDO> detail(Integer id);
int countListWareInfoPage(@Param("categoryIds") List<Integer> categoryIds, @Param("userIds") List<Integer> userIds); int countListWareInfoPage(
@Param("categoryIds") List<Integer> categoryIds,
@Param("userIds") List<Integer> userIds,
@Param("type") Integer type);
List<GoodsInfo> listWareInfoPage(@Param("categoryIds") List<Integer> categoryIds, @Param("userIds") List<Integer> userId, List<GoodsInfo> listWareInfoPage(
@Param("pageNo") Integer pageNo, @Param("pageSize") Integer pageSize); @Param("param") WareInfoQO param,
@Param("userIds") List<Integer> userId,
@Param("type") Integer type);
WareInfoDO getWareInfoById(Integer id); WareInfoDO getWareInfoById(Integer id);
WareDetailDO getWareDetailById(Integer id); WareDetailDO getWareDetailById(Integer id);
List<AdDO> ad(); List<AdDO> ad();
List<SkuInfoDO> listSkuInfo(Integer id); List<SkuInfoDO> listSkuInfo(Integer id);
} }
...@@ -17,27 +17,29 @@ import java.util.List; ...@@ -17,27 +17,29 @@ import java.util.List;
@Data @Data
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor @NoArgsConstructor
// @ApiModel(value = "com.mmc.csf.model.qo.WareInfoQO", description = "model")
public class WareInfoQO implements Serializable { public class WareInfoQO implements Serializable {
private static final long serialVersionUID = -2953141525621912414L; private static final long serialVersionUID = -2953141525621912414L;
@ApiModelProperty(name = "districtId", value = "地域id", example = "1", required = false) @ApiModelProperty(name = "districtId", value = "地域id", example = "440000")
private Integer provinceId; private Integer provinceId;
@ApiModelProperty(name = "categoryId", value = "分类id") @ApiModelProperty(name = "categoryId", value = "分类id")
private List<Integer> categoryId; private List<Integer> categoryId;
@ApiModelProperty(value = "页码", required = true) @ApiModelProperty(name = "产品类型:0商城 1租赁")
@NotNull(message = "页码不能为空", groups = Page.class) private Integer type;
@Min(value = 1, groups = Page.class)
private Integer pageNo;
@ApiModelProperty(value = "每页显示数", required = true) @ApiModelProperty(value = "页码", required = true, example = "1")
@NotNull(message = "每页显示数不能为空", groups = Page.class) @NotNull(message = "页码不能为空", groups = Page.class)
@Min(value = 1, groups = Page.class) @Min(value = 1, groups = Page.class)
private Integer pageSize; private Integer pageNo;
public void buildCurrentPage() { @ApiModelProperty(value = "每页显示数", required = true, example = "10")
this.pageNo = (pageNo - 1) * pageSize; @NotNull(message = "每页显示数不能为空", groups = Page.class)
} @Min(value = 1, groups = Page.class)
private Integer pageSize;
public void buildCurrentPage() {
this.pageNo = (pageNo - 1) * pageSize;
}
} }
...@@ -169,7 +169,7 @@ public class WebDeviceServiceImpl implements WebDeviceService { ...@@ -169,7 +169,7 @@ public class WebDeviceServiceImpl implements WebDeviceService {
userIds = Collections.singletonList(-1); userIds = Collections.singletonList(-1);
} }
} }
int count = webDeviceDao.countListWareInfoPage(param.getCategoryId(), userIds); int count = webDeviceDao.countListWareInfoPage(param.getCategoryId(), userIds, param.getType());
if (count == 0) { if (count == 0) {
return ResultBody.success( return ResultBody.success(
PageResult.buildPage(param.getPageNo(), param.getPageSize(), count)); PageResult.buildPage(param.getPageNo(), param.getPageSize(), count));
...@@ -177,9 +177,7 @@ public class WebDeviceServiceImpl implements WebDeviceService { ...@@ -177,9 +177,7 @@ public class WebDeviceServiceImpl implements WebDeviceService {
int pageNo = param.getPageNo(); int pageNo = param.getPageNo();
param.buildCurrentPage(); param.buildCurrentPage();
if (request == null) { if (request == null) {
List<GoodsInfo> list = List<GoodsInfo> list = webDeviceDao.listWareInfoPage(param, userIds, param.getType());
webDeviceDao.listWareInfoPage(
param.getCategoryId(), userIds, param.getPageNo(), param.getPageSize());
List<LeaseGoodsInfoDTO> pageList = List<LeaseGoodsInfoDTO> pageList =
list.stream().map(GoodsInfo::buildLeaseGoodsInfoDTO).collect(Collectors.toList()); list.stream().map(GoodsInfo::buildLeaseGoodsInfoDTO).collect(Collectors.toList());
return ResultBody.success(PageResult.buildPage(pageNo, param.getPageSize(), count, pageList)); return ResultBody.success(PageResult.buildPage(pageNo, param.getPageSize(), count, pageList));
...@@ -190,9 +188,7 @@ public class WebDeviceServiceImpl implements WebDeviceService { ...@@ -190,9 +188,7 @@ public class WebDeviceServiceImpl implements WebDeviceService {
if (userAccountSimpleDTO == null) { if (userAccountSimpleDTO == null) {
return ResultBody.error(ResultEnum.INTERNAL_SERVER_ERROR); return ResultBody.error(ResultEnum.INTERNAL_SERVER_ERROR);
} }
List<GoodsInfo> list = List<GoodsInfo> list = webDeviceDao.listWareInfoPage(param, userIds, param.getType());
webDeviceDao.listWareInfoPage(
param.getCategoryId(), userIds, param.getPageNo(), param.getPageSize());
List<LeaseGoodsInfoDTO> pageList = List<LeaseGoodsInfoDTO> pageList =
list.stream().map(GoodsInfo::buildLeaseGoodsInfoDTO).collect(Collectors.toList()); list.stream().map(GoodsInfo::buildLeaseGoodsInfoDTO).collect(Collectors.toList());
if (userAccountSimpleDTO.getCooperationTagId() == null) { if (userAccountSimpleDTO.getCooperationTagId() == null) {
......
...@@ -3,13 +3,9 @@ package com.mmc.pms.service.Impl; ...@@ -3,13 +3,9 @@ package com.mmc.pms.service.Impl;
import com.mmc.pms.common.ResultBody; import com.mmc.pms.common.ResultBody;
import com.mmc.pms.dao.WebProductMallDao; import com.mmc.pms.dao.WebProductMallDao;
import com.mmc.pms.entity.AdDO; import com.mmc.pms.entity.AdDO;
import com.mmc.pms.entity.GoodsInfoDO;
import com.mmc.pms.entity.ProductCategory; import com.mmc.pms.entity.ProductCategory;
import com.mmc.pms.model.other.dto.AdDTO; import com.mmc.pms.model.other.dto.AdDTO;
import com.mmc.pms.model.sale.dto.ProductCategoryDTO; import com.mmc.pms.model.sale.dto.ProductCategoryDTO;
import com.mmc.pms.model.qo.GoodsInfoQO;
import com.mmc.pms.model.sale.dto.GoodsInfoListDTO;
import com.mmc.pms.page.PageResult;
import com.mmc.pms.service.WebProductMallService; import com.mmc.pms.service.WebProductMallService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -23,78 +19,57 @@ import java.util.stream.Collectors; ...@@ -23,78 +19,57 @@ import java.util.stream.Collectors;
@Service @Service
public class WebProductMallServiceImpl implements WebProductMallService { public class WebProductMallServiceImpl implements WebProductMallService {
@Autowired @Autowired private WebProductMallDao webProductMallDao;
private WebProductMallDao webProductMallDao;
@Override @Override
public ResultBody productCategory() { public ResultBody productCategory() {
List<ProductCategory> category = webProductMallDao.productCategory(); List<ProductCategory> category = webProductMallDao.productCategory();
List<ProductCategoryDTO> collect = List<ProductCategoryDTO> collect =
category.stream() category.stream()
.map( .map(
t -> { t -> {
return t.productCategoryDTO(); return t.productCategoryDTO();
}) })
.collect(Collectors.toList()); .collect(Collectors.toList());
return ResultBody.success(collect); return ResultBody.success(collect);
} }
@Override @Override
public ResultBody productParts() { public ResultBody productParts() {
List<ProductCategory> category = webProductMallDao.productParts(); List<ProductCategory> category = webProductMallDao.productParts();
List<ProductCategoryDTO> collect = List<ProductCategoryDTO> collect =
category.stream() category.stream()
.map( .map(
t -> { t -> {
return t.productCategoryDTO(); return t.productCategoryDTO();
}) })
.collect(Collectors.toList()); .collect(Collectors.toList());
return ResultBody.success(collect); return ResultBody.success(collect);
} }
@Override @Override
public ResultBody productQuality() { public ResultBody productQuality() {
List<ProductCategory> category = webProductMallDao.productQuality(); List<ProductCategory> category = webProductMallDao.productQuality();
List<ProductCategoryDTO> collect = List<ProductCategoryDTO> collect =
category.stream() category.stream()
.map( .map(
t -> { t -> {
return t.productCategoryDTO(); return t.productCategoryDTO();
}) })
.collect(Collectors.toList()); .collect(Collectors.toList());
return ResultBody.success(collect); return ResultBody.success(collect);
} }
@Override @Override
public PageResult listPageGoodsInfo(GoodsInfoQO param) { public ResultBody<AdDTO> ad() {
int count = webProductMallDao.countListGoodsInfo(param); List<AdDO> ad = webProductMallDao.ad();
if (count == 0) { List<AdDTO> collect =
return PageResult.buildPage(param.getPageNo(), param.getPageSize(), count); ad.stream()
} .map(
Integer pageNo = param.getPageNo(); t -> {
param.buildCurrentPage(); return t.adDTO();
List<GoodsInfoDO> goodsInfo = webProductMallDao.listGoodsInfo(param); })
goodsInfo.stream() .collect(Collectors.toList());
.forEach( return ResultBody.success(collect);
t -> { }
Integer product = webProductMallDao.findProduct(t.getId());
t.setIsCoupons(product);
});
List<GoodsInfoListDTO> pageList =
goodsInfo.stream().map(GoodsInfoDO::buildGoodsInfoListDTO).collect(Collectors.toList());
return PageResult.buildPage(pageNo, param.getPageSize(), count, pageList);
}
@Override
public ResultBody<AdDTO> ad() {
List<AdDO> ad = webProductMallDao.ad();
List<AdDTO> collect =
ad.stream()
.map(
t -> {
return t.adDTO();
})
.collect(Collectors.toList());
return ResultBody.success(collect);
}
} }
...@@ -157,7 +157,7 @@ ...@@ -157,7 +157,7 @@
FROM goods_info gi FROM goods_info gi
INNER JOIN goods_img img ON gi.id = img.goods_info_id INNER JOIN goods_img img ON gi.id = img.goods_info_id
<where> <where>
gi.is_deleted = 0 and gi.shelf_status = 0 and gi.goods_type = 1 gi.is_deleted = 0 and gi.shelf_status = 0 and gi.goods_type = #{type}
<if test="categoryIds != null and categoryIds.size != 0"> <if test="categoryIds != null and categoryIds.size != 0">
<foreach collection="categoryIds" item="item" index="index" open="and gi.category_by_one IN (" close=")" <foreach collection="categoryIds" item="item" index="index" open="and gi.category_by_one IN (" close=")"
separator=","> separator=",">
...@@ -180,9 +180,9 @@ ...@@ -180,9 +180,9 @@
goods_info gi goods_info gi
INNER JOIN goods_img img ON gi.id = img.goods_info_id and img.img_type = 0 INNER JOIN goods_img img ON gi.id = img.goods_info_id and img.img_type = 0
<where> <where>
gi.is_deleted = 0 and gi.shelf_status = 0 and gi.goods_type = 1 gi.is_deleted = 0 and gi.shelf_status = 0 and gi.goods_type = #{type}
<if test="categoryIds != null"> <if test="param.categoryId != null">
<foreach collection="categoryIds" item="item" index="index" open="and gi.category_by_one IN (" close=")" <foreach collection="param" item="item" index="index" open="and gi.category_by_one IN (" close=")"
separator=","> separator=",">
#{item} #{item}
</foreach> </foreach>
...@@ -195,7 +195,7 @@ ...@@ -195,7 +195,7 @@
</if> </if>
</where> </where>
order by gi.create_time DESC order by gi.create_time DESC
limit #{pageNo},#{pageSize} limit #{param.pageNo},#{param.pageSize}
</select> </select>
<select id="getWareInfoById" resultMap="wareInfoResultMap" parameterType="java.lang.Integer"> <select id="getWareInfoById" resultMap="wareInfoResultMap" parameterType="java.lang.Integer">
select wi.id, select wi.id,
......
...@@ -7,6 +7,6 @@ data-filter: ...@@ -7,6 +7,6 @@ data-filter:
- /pms/swagger-resources/** - /pms/swagger-resources/**
- /pms/webjars/** - /pms/webjars/**
- /pms/product/spec/feignGetSpecLeaseUnitPrice - /pms/product/spec/feignGetSpecLeaseUnitPrice
- /pms//lease/goods/deviceList - /pms/product/mall/deviceList
- /pms/classify/queryCategoryInfoByType - /pms/classify/queryCategoryInfoByType
- /pms/lease/goods/getLeaseGoodsDetail - /pms/product/mall/getLeaseGoodsDetail
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论