提交 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.ResultBody;
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.qo.WareInfoQO;
import com.mmc.pms.model.sale.dto.MallGoodsDetailDTO;
......@@ -23,10 +22,10 @@ import javax.servlet.http.HttpServletRequest;
*
* @date 2023/6/8 17:16 概要:
*/
@Api(tags = {"v1.0.1-设备租赁-相关接口"})
@Api(tags = {"v1.0.1-租赁销售-相关接口"})
@RestController
@RequestMapping("/lease/goods")
public class LeaseGoodsController extends BaseController {
@RequestMapping("/product/mall")
public class ProductMallController extends BaseController {
@Autowired private WebDeviceService webDeviceService;
@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;
import com.mmc.pms.entity.*;
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.Param;
......@@ -33,10 +34,15 @@ public interface WebDeviceDao {
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,
@Param("pageNo") Integer pageNo, @Param("pageSize") Integer pageSize);
List<GoodsInfo> listWareInfoPage(
@Param("param") WareInfoQO param,
@Param("userIds") List<Integer> userId,
@Param("type") Integer type);
WareInfoDO getWareInfoById(Integer id);
......
......@@ -17,22 +17,24 @@ import java.util.List;
@Data
@AllArgsConstructor
@NoArgsConstructor
// @ApiModel(value = "com.mmc.csf.model.qo.WareInfoQO", description = "model")
public class WareInfoQO implements Serializable {
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;
@ApiModelProperty(name = "categoryId", value = "分类id")
private List<Integer> categoryId;
@ApiModelProperty(value = "页码", required = true)
@ApiModelProperty(name = "产品类型:0商城 1租赁")
private Integer type;
@ApiModelProperty(value = "页码", required = true, example = "1")
@NotNull(message = "页码不能为空", groups = Page.class)
@Min(value = 1, groups = Page.class)
private Integer pageNo;
@ApiModelProperty(value = "每页显示数", required = true)
@ApiModelProperty(value = "每页显示数", required = true, example = "10")
@NotNull(message = "每页显示数不能为空", groups = Page.class)
@Min(value = 1, groups = Page.class)
private Integer pageSize;
......
......@@ -35,12 +35,9 @@ import java.util.stream.Collectors;
*/
@Service
public class CategoriesServiceImpl implements CategoriesService {
@Autowired
private CategoriesDao categoriesDao;
@Resource
private GoodsInfoDao goodsInfoDao;
@Autowired
private DirectoryDao directoryDao;
@Autowired private CategoriesDao categoriesDao;
@Resource private GoodsInfoDao goodsInfoDao;
@Autowired private DirectoryDao directoryDao;
@Override
public ResultBody addOrEditDirectory(DirectoryInfoVO param) {
......@@ -54,7 +51,7 @@ public class CategoriesServiceImpl implements CategoriesService {
} else {
int count = categoriesDao.selectDirectoryById(param.getId());
if (count > 0) {
return ResultBody.error("默认目录不可修改!");
return ResultBody.error(ResultEnum.DEFAULT_DIRECTORY);
}
categoriesDao.updateDirectory(directory);
}
......@@ -67,8 +64,10 @@ public class CategoriesServiceImpl implements CategoriesService {
if (count == 0) {
return PageResult.buildPage(pageNo, pageSize, count);
}
List<DirectoryDO> directoryList = categoriesDao.directoryList((pageNo - 1) * pageSize, pageSize, type);
List<DirectoryInfoVO> list = directoryList.stream().map(DirectoryDO::buildDirectoryInfoVO).collect(Collectors.toList());
List<DirectoryDO> directoryList =
categoriesDao.directoryList((pageNo - 1) * pageSize, pageSize, type);
List<DirectoryInfoVO> list =
directoryList.stream().map(DirectoryDO::buildDirectoryInfoVO).collect(Collectors.toList());
return PageResult.buildPage(pageNo, pageSize, count, list);
}
......@@ -79,6 +78,10 @@ public class CategoriesServiceImpl implements CategoriesService {
if (count > 0) {
return ResultBody.error(ResultEnum.THERE_ARE_CATEGORIES_IN_THE_DIRECTORY);
}
int defaultCount = categoriesDao.selectDirectoryById(id);
if (defaultCount > 0) {
return ResultBody.error(ResultEnum.DEFAULT_DIRECTORY);
}
categoriesDao.removeDirectory(id);
return ResultBody.success();
}
......@@ -142,13 +145,15 @@ public class CategoriesServiceImpl implements CategoriesService {
public PageResult getClassificationList(QueryClassifyVO queryClassifyVO) {
int count = categoriesDao.countListClassification(queryClassifyVO);
if (count == 0) {
return PageResult.buildPage(queryClassifyVO.getPageNo(), queryClassifyVO.getPageSize(), count);
return PageResult.buildPage(
queryClassifyVO.getPageNo(), queryClassifyVO.getPageSize(), count);
}
int pageNo = queryClassifyVO.getPageNo();
queryClassifyVO.buildCurrentPage();
List<Categories> categories = categoriesDao.selectAllClassification(queryClassifyVO);
List<ClassifyInfoDTO> categoriesList = categories.stream().map(Categories::buildClassifyInfoDTO).collect(Collectors.toList());
List<ClassifyInfoDTO> categoriesList =
categories.stream().map(Categories::buildClassifyInfoDTO).collect(Collectors.toList());
List<ClassifyInfoDTO> topLevelCategories = new ArrayList<>();
Map<Integer, ClassifyInfoDTO> categoriesMap = new HashMap<>();
......@@ -173,8 +178,7 @@ public class CategoriesServiceImpl implements CategoriesService {
@Override
public ResultBody getClassifyDetails(Integer id) {
Categories goodsGroup = categoriesDao.getGoodsGroupById(id);
return ResultBody.success(goodsGroup == null ? null : goodsGroup.buildClassifyDetailsDTO()
);
return ResultBody.success(goodsGroup == null ? null : goodsGroup.buildClassifyDetailsDTO());
}
@Override
......@@ -184,7 +188,10 @@ public class CategoriesServiceImpl implements CategoriesService {
case 0:
List<GoodsInfo> goodsInfo = goodsInfoDao.ListGoodsInfoByCategoryId(id);
if (CollectionUtils.isNotEmpty(goodsInfo)) {
relevantBusinessVO.setRelevanceGoodsInfoVOs(goodsInfo.stream().map(GoodsInfo::buildRelevanceGoodsInfoVO).collect(Collectors.toList()));
relevantBusinessVO.setRelevanceGoodsInfoVOs(
goodsInfo.stream()
.map(GoodsInfo::buildRelevanceGoodsInfoVO)
.collect(Collectors.toList()));
return ResultBody.success(relevantBusinessVO);
}
break;
......@@ -197,7 +204,8 @@ public class CategoriesServiceImpl implements CategoriesService {
@Override
public ResultBody getDirectoryList(Integer type) {
List<DirectoryDO> directoryList = categoriesDao.getDirectoryList(type);
List<DirectoryInfoVO> list = directoryList.stream().map(DirectoryDO::buildDirectoryInfoVO).collect(Collectors.toList());
List<DirectoryInfoVO> list =
directoryList.stream().map(DirectoryDO::buildDirectoryInfoVO).collect(Collectors.toList());
return ResultBody.success(list);
}
......@@ -214,7 +222,8 @@ public class CategoriesServiceImpl implements CategoriesService {
if (org.springframework.util.CollectionUtils.isEmpty(categories)) {
return ResultBody.success();
}
List<CategoriesDTO> collect = categories.stream().map(CategoriesDTO::new).collect(Collectors.toList());
List<CategoriesDTO> collect =
categories.stream().map(CategoriesDTO::new).collect(Collectors.toList());
return ResultBody.success(collect);
}
......@@ -226,7 +235,6 @@ public class CategoriesServiceImpl implements CategoriesService {
return categoriesDao.getCategoriesListByIds(ids);
}
@Override
public ResultBody deleteRelevantBusiness(Integer id) {
int count = categoriesDao.deleteById(id);
......@@ -237,7 +245,8 @@ public class CategoriesServiceImpl implements CategoriesService {
public ResultBody queryCategoryInfoByType(Integer type) {
List<DirectoryDO> categoryDirectoryList = getCategoryDirectoryList(type);
if (CollectionUtils.isNotEmpty(categoryDirectoryList)) {
List<AllCategoryDTO> allCategoryDTOList = categoryDirectoryList.stream()
List<AllCategoryDTO> allCategoryDTOList =
categoryDirectoryList.stream()
.map(DirectoryDO::buildAllCategoryDTO)
.collect(Collectors.toList());
Map<Integer, List<CategoriesInfoListDTO>> categoryMap = getCategoryMap(allCategoryDTOList);
......@@ -251,8 +260,10 @@ public class CategoriesServiceImpl implements CategoriesService {
return categoriesDao.getDirectoryList(type);
}
private Map<Integer, List<CategoriesInfoListDTO>> getCategoryMap(List<AllCategoryDTO> allCategoryDTOList) {
List<Integer> directoryIdIds = allCategoryDTOList.stream()
private Map<Integer, List<CategoriesInfoListDTO>> getCategoryMap(
List<AllCategoryDTO> allCategoryDTOList) {
List<Integer> directoryIdIds =
allCategoryDTOList.stream()
.map(AllCategoryDTO::getDirectoryId)
.collect(Collectors.toList());
List<Categories> categoriesList = categoriesDao.selectCategoryByDirectoryId(directoryIdIds);
......@@ -261,7 +272,8 @@ public class CategoriesServiceImpl implements CategoriesService {
.collect(Collectors.groupingBy(CategoriesInfoListDTO::getDirectoryId));
}
private void addSubCategories(List<AllCategoryDTO> allCategoryDTOList,
private void addSubCategories(
List<AllCategoryDTO> allCategoryDTOList,
Map<Integer, List<CategoriesInfoListDTO>> categoryMap) {
for (AllCategoryDTO allCategoryDTO : allCategoryDTOList) {
Optional.ofNullable(categoryMap.get(allCategoryDTO.getDirectoryId()))
......@@ -269,7 +281,3 @@ public class CategoriesServiceImpl implements CategoriesService {
}
}
}
......@@ -169,7 +169,7 @@ public class WebDeviceServiceImpl implements WebDeviceService {
userIds = Collections.singletonList(-1);
}
}
int count = webDeviceDao.countListWareInfoPage(param.getCategoryId(), userIds);
int count = webDeviceDao.countListWareInfoPage(param.getCategoryId(), userIds, param.getType());
if (count == 0) {
return ResultBody.success(
PageResult.buildPage(param.getPageNo(), param.getPageSize(), count));
......@@ -177,9 +177,7 @@ public class WebDeviceServiceImpl implements WebDeviceService {
int pageNo = param.getPageNo();
param.buildCurrentPage();
if (request == null) {
List<GoodsInfo> list =
webDeviceDao.listWareInfoPage(
param.getCategoryId(), userIds, param.getPageNo(), param.getPageSize());
List<GoodsInfo> list = webDeviceDao.listWareInfoPage(param, userIds, param.getType());
List<LeaseGoodsInfoDTO> pageList =
list.stream().map(GoodsInfo::buildLeaseGoodsInfoDTO).collect(Collectors.toList());
return ResultBody.success(PageResult.buildPage(pageNo, param.getPageSize(), count, pageList));
......@@ -190,9 +188,7 @@ public class WebDeviceServiceImpl implements WebDeviceService {
if (userAccountSimpleDTO == null) {
return ResultBody.error(ResultEnum.INTERNAL_SERVER_ERROR);
}
List<GoodsInfo> list =
webDeviceDao.listWareInfoPage(
param.getCategoryId(), userIds, param.getPageNo(), param.getPageSize());
List<GoodsInfo> list = webDeviceDao.listWareInfoPage(param, userIds, param.getType());
List<LeaseGoodsInfoDTO> pageList =
list.stream().map(GoodsInfo::buildLeaseGoodsInfoDTO).collect(Collectors.toList());
if (userAccountSimpleDTO.getCooperationTagId() == null) {
......
......@@ -3,13 +3,9 @@ package com.mmc.pms.service.Impl;
import com.mmc.pms.common.ResultBody;
import com.mmc.pms.dao.WebProductMallDao;
import com.mmc.pms.entity.AdDO;
import com.mmc.pms.entity.GoodsInfoDO;
import com.mmc.pms.entity.ProductCategory;
import com.mmc.pms.model.other.dto.AdDTO;
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 org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -23,8 +19,7 @@ import java.util.stream.Collectors;
@Service
public class WebProductMallServiceImpl implements WebProductMallService {
@Autowired
private WebProductMallDao webProductMallDao;
@Autowired private WebProductMallDao webProductMallDao;
@Override
public ResultBody productCategory() {
......@@ -66,26 +61,6 @@ public class WebProductMallServiceImpl implements WebProductMallService {
}
@Override
public PageResult listPageGoodsInfo(GoodsInfoQO param) {
int count = webProductMallDao.countListGoodsInfo(param);
if (count == 0) {
return PageResult.buildPage(param.getPageNo(), param.getPageSize(), count);
}
Integer pageNo = param.getPageNo();
param.buildCurrentPage();
List<GoodsInfoDO> goodsInfo = webProductMallDao.listGoodsInfo(param);
goodsInfo.stream()
.forEach(
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 =
......
......@@ -157,7 +157,7 @@
FROM goods_info gi
INNER JOIN goods_img img ON gi.id = img.goods_info_id
<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">
<foreach collection="categoryIds" item="item" index="index" open="and gi.category_by_one IN (" close=")"
separator=",">
......@@ -180,9 +180,9 @@
goods_info gi
INNER JOIN goods_img img ON gi.id = img.goods_info_id and img.img_type = 0
<where>
gi.is_deleted = 0 and gi.shelf_status = 0 and gi.goods_type = 1
<if test="categoryIds != null">
<foreach collection="categoryIds" item="item" index="index" open="and gi.category_by_one IN (" close=")"
gi.is_deleted = 0 and gi.shelf_status = 0 and gi.goods_type = #{type}
<if test="param.categoryId != null">
<foreach collection="param" item="item" index="index" open="and gi.category_by_one IN (" close=")"
separator=",">
#{item}
</foreach>
......@@ -195,7 +195,7 @@
</if>
</where>
order by gi.create_time DESC
limit #{pageNo},#{pageSize}
limit #{param.pageNo},#{param.pageSize}
</select>
<select id="getWareInfoById" resultMap="wareInfoResultMap" parameterType="java.lang.Integer">
select wi.id,
......
......@@ -7,6 +7,6 @@ data-filter:
- /pms/swagger-resources/**
- /pms/webjars/**
- /pms/product/spec/feignGetSpecLeaseUnitPrice
- /pms//lease/goods/deviceList
- /pms/product/mall/deviceList
- /pms/classify/queryCategoryInfoByType
- /pms/lease/goods/getLeaseGoodsDetail
- /pms/product/mall/getLeaseGoodsDetail
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论