售卖商品
This commit is contained in:
@ -81,4 +81,10 @@ public class BusinessRespVO {
|
||||
private int orderSumCompare;
|
||||
|
||||
private BigDecimal priceAvgCompare;
|
||||
|
||||
private Integer breakfastNum;
|
||||
|
||||
private Integer lunchNum;
|
||||
|
||||
private Integer dinnerNum;
|
||||
}
|
@ -80,10 +80,9 @@ public class StoreGoodsController {
|
||||
}
|
||||
|
||||
@GetMapping("/salePage")
|
||||
@Operation(summary = "获得商品分页")
|
||||
public CommonResult<PageResult<StoreGoodsRespVO>> getSaleGoodsPage(@Valid StoreGoodsPageReqVO pageReqVO) {
|
||||
PageResult<StoreGoodsDO> pageResult = storeGoodsService.getSaleGoodsPage(pageReqVO);
|
||||
return success(BeanUtils.toBean(pageResult, StoreGoodsRespVO.class));
|
||||
@Operation(summary = "获得售卖商品分页")
|
||||
public CommonResult<PageResult<StoreSaleGoodsPageVO>> getSaleGoodsPage(@Valid StoreSaleGoodsPageVO pageReqVO) {
|
||||
return success(storeGoodsService.getSaleGoodsPage(pageReqVO));
|
||||
}
|
||||
|
||||
|
||||
|
@ -40,4 +40,5 @@ public class StoreGoodsRespVO {
|
||||
@ExcelProperty("创建时间")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,44 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.storegoods.vo;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.ToString;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
|
||||
|
||||
@Schema(description = "管理后台 - 售卖商品分页 Request VO")
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@ToString(callSuper = true)
|
||||
public class StoreSaleGoodsPageVO extends PageParam {
|
||||
|
||||
@Schema(description = "id", example = "28357")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "类别Id", example = "28357")
|
||||
private Integer categoryId;
|
||||
|
||||
@Schema(description = "商品名称", example = "张三")
|
||||
private String goodsName;
|
||||
|
||||
@Schema(description = "价格", example = "11124")
|
||||
private Double price;
|
||||
|
||||
@Schema(description = "售卖模式")
|
||||
private Integer salesModel;
|
||||
|
||||
@Schema(description = "设备ID")
|
||||
private String equipmentCode;
|
||||
|
||||
@Schema(description = "创建时间")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
private Long carteenId;
|
||||
|
||||
}
|
@ -21,4 +21,7 @@ public class StoreSaleGoodsSaveReqVO {
|
||||
@Schema(description = "设备ID")
|
||||
private String equipmentCode;
|
||||
|
||||
@Schema(description = "门店ID")
|
||||
private Long carteenId;
|
||||
|
||||
}
|
@ -5,9 +5,13 @@ import java.util.*;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.storegoods.vo.StoreSaleGoodsPageVO;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.storeorder.vo.StoreOrderPageVO;
|
||||
import cn.iocoder.yudao.module.member.dal.dataobject.storesalegoods.StoreSaleGoodsDO;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.storesalegoods.vo.*;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
/**
|
||||
* 售卖商品 Mapper
|
||||
@ -26,4 +30,7 @@ public interface StoreSaleGoodsMapper extends BaseMapperX<StoreSaleGoodsDO> {
|
||||
.orderByDesc(StoreSaleGoodsDO::getId));
|
||||
}
|
||||
|
||||
|
||||
IPage<StoreSaleGoodsPageVO> getSaleGoodsPage(IPage<StoreSaleGoodsPageVO> page, @Param("vo") StoreSaleGoodsPageVO vo);
|
||||
|
||||
}
|
@ -55,6 +55,6 @@ public interface StoreGoodsService {
|
||||
|
||||
List<StoreGoodsDO> getAll(List<Integer> goodsIds);
|
||||
|
||||
PageResult<StoreGoodsDO> getSaleGoodsPage(StoreGoodsPageReqVO pageReqVO);
|
||||
PageResult<StoreSaleGoodsPageVO> getSaleGoodsPage(StoreSaleGoodsPageVO pageReqVO);
|
||||
|
||||
}
|
@ -5,12 +5,16 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.storegoods.vo.StoreGoodsPageReqVO;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.storegoods.vo.StoreGoodsSaveReqVO;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.storegoods.vo.StoreSaleGoodsPageVO;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.storeorder.vo.StoreOrderPageVO;
|
||||
import cn.iocoder.yudao.module.member.dal.dataobject.storegoods.StoreGoodsDO;
|
||||
import cn.iocoder.yudao.module.member.dal.dataobject.storesalegoods.StoreSaleGoodsDO;
|
||||
import cn.iocoder.yudao.module.member.dal.mysql.storegoods.StoreGoodsMapper;
|
||||
import cn.iocoder.yudao.module.member.dal.mysql.storesalegoods.StoreSaleGoodsMapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
@ -94,15 +98,12 @@ public class StoreGoodsServiceImpl implements StoreGoodsService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResult<StoreGoodsDO> getSaleGoodsPage(StoreGoodsPageReqVO pageReqVO) {
|
||||
PageResult<StoreGoodsDO> storeGoodsDOPageResult = null;
|
||||
public PageResult<StoreSaleGoodsPageVO> getSaleGoodsPage(StoreSaleGoodsPageVO pageReqVO) {
|
||||
|
||||
List<StoreSaleGoodsDO> storeSaleGoodsDOS = storeSaleGoodsMapper.selectList();
|
||||
if(CollectionUtil.isNotEmpty(storeSaleGoodsDOS)){
|
||||
List<Integer> ids = storeSaleGoodsDOS.stream().map(StoreSaleGoodsDO::getGoodsId).collect(Collectors.toList());
|
||||
pageReqVO.setIds(ids);
|
||||
storeGoodsDOPageResult = storeGoodsMapper.selectPage(pageReqVO);
|
||||
}
|
||||
return storeGoodsDOPageResult;
|
||||
Page<StoreSaleGoodsPageVO> page = Page.of(pageReqVO.getPageNo(), pageReqVO.getPageSize());
|
||||
|
||||
IPage<StoreSaleGoodsPageVO> saleGoodsPage = storeSaleGoodsMapper.getSaleGoodsPage(page, pageReqVO);
|
||||
|
||||
return new PageResult<>(saleGoodsPage.getRecords(), saleGoodsPage.getTotal());
|
||||
}
|
||||
}
|
@ -88,10 +88,10 @@ public class StoreSaleGoodsServiceImpl implements StoreSaleGoodsService {
|
||||
if(CollectionUtil.isEmpty(dto.getEquipmentGoodsCustoms())){
|
||||
throw exception(STORE_SALE_GOODS_NOT_NULL);
|
||||
}
|
||||
//清空
|
||||
storeSaleGoodsMapper.delete(new LambdaQueryWrapper<StoreSaleGoodsDO>().eq(StoreSaleGoodsDO::getEquipmentCode, dto.getEquipmentCode()));
|
||||
ArrayList<StoreSaleGoodsDO> list = new ArrayList<>();
|
||||
Long storeId = cashregisterinfoApi.getStoreId(dto.getEquipmentCode());
|
||||
//清空
|
||||
storeSaleGoodsMapper.delete(new LambdaQueryWrapper<StoreSaleGoodsDO>().eq(StoreSaleGoodsDO::getCarteenId, storeId));
|
||||
ArrayList<StoreSaleGoodsDO> list = new ArrayList<>();
|
||||
for (StoreGoodsDto storeGoodsDto : dto.getEquipmentGoodsCustoms()) {
|
||||
StoreSaleGoodsDO storeSaleGoodsDO = new StoreSaleGoodsDO();
|
||||
BeanUtil.copyProperties(storeGoodsDto, storeSaleGoodsDO);
|
||||
@ -104,7 +104,10 @@ public class StoreSaleGoodsServiceImpl implements StoreSaleGoodsService {
|
||||
|
||||
@Override
|
||||
public List<Integer> getGoodsIds(String equipmentCode) {
|
||||
List<StoreSaleGoodsDO> storeSaleGoodsDOS = storeSaleGoodsMapper.selectList(new LambdaQueryWrapper<StoreSaleGoodsDO>().eq(StoreSaleGoodsDO::getEquipmentCode, equipmentCode));
|
||||
|
||||
Long storeId = cashregisterinfoApi.getStoreId(equipmentCode);
|
||||
|
||||
List<StoreSaleGoodsDO> storeSaleGoodsDOS = storeSaleGoodsMapper.selectList(new LambdaQueryWrapper<StoreSaleGoodsDO>().eq(StoreSaleGoodsDO::getCarteenId, storeId));
|
||||
if (CollectionUtil.isEmpty(storeSaleGoodsDOS)){
|
||||
return Collections.emptyList();
|
||||
}else {
|
||||
|
@ -0,0 +1,28 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="cn.iocoder.yudao.module.member.dal.mysql.storesalegoods.StoreSaleGoodsMapper">
|
||||
|
||||
<!--
|
||||
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
|
||||
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
|
||||
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
|
||||
文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
|
||||
-->
|
||||
|
||||
<select id="getSaleGoodsPage" resultType="cn.iocoder.yudao.module.member.controller.admin.storegoods.vo.StoreSaleGoodsPageVO">
|
||||
select sg.id,sg.carteen_id,sg.create_time,ms.category_id,ms.goods_name,ms.img,ms.sales_model,ms.price
|
||||
from member_store_sale_goods sg left join member_store_goods ms on sg.goods_id = ms.goods_id
|
||||
where sg.deleted = false
|
||||
<if test="vo.categoryId != null ">
|
||||
and ms.category_id = #{vo.categoryId}
|
||||
</if>
|
||||
<if test="vo.goodsName != null and vo.goodsName != ''">
|
||||
and ms.goods_name like concat('%',#{vo.goodsName},'%')
|
||||
</if>
|
||||
<if test="vo.carteenId != null ">
|
||||
and sg.carteen_id = #{vo.carteenId}
|
||||
</if>
|
||||
order by sg.create_time DESC
|
||||
</select>
|
||||
|
||||
</mapper>
|
Reference in New Issue
Block a user