售卖商品
This commit is contained in:
@ -81,4 +81,10 @@ public class BusinessRespVO {
|
|||||||
private int orderSumCompare;
|
private int orderSumCompare;
|
||||||
|
|
||||||
private BigDecimal priceAvgCompare;
|
private BigDecimal priceAvgCompare;
|
||||||
|
|
||||||
|
private Integer breakfastNum;
|
||||||
|
|
||||||
|
private Integer lunchNum;
|
||||||
|
|
||||||
|
private Integer dinnerNum;
|
||||||
}
|
}
|
@ -80,10 +80,9 @@ public class StoreGoodsController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("/salePage")
|
@GetMapping("/salePage")
|
||||||
@Operation(summary = "获得商品分页")
|
@Operation(summary = "获得售卖商品分页")
|
||||||
public CommonResult<PageResult<StoreGoodsRespVO>> getSaleGoodsPage(@Valid StoreGoodsPageReqVO pageReqVO) {
|
public CommonResult<PageResult<StoreSaleGoodsPageVO>> getSaleGoodsPage(@Valid StoreSaleGoodsPageVO pageReqVO) {
|
||||||
PageResult<StoreGoodsDO> pageResult = storeGoodsService.getSaleGoodsPage(pageReqVO);
|
return success(storeGoodsService.getSaleGoodsPage(pageReqVO));
|
||||||
return success(BeanUtils.toBean(pageResult, StoreGoodsRespVO.class));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -40,4 +40,5 @@ public class StoreGoodsRespVO {
|
|||||||
@ExcelProperty("创建时间")
|
@ExcelProperty("创建时间")
|
||||||
private LocalDateTime createTime;
|
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")
|
@Schema(description = "设备ID")
|
||||||
private String equipmentCode;
|
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.common.pojo.PageResult;
|
||||||
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||||
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
|
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 cn.iocoder.yudao.module.member.dal.dataobject.storesalegoods.StoreSaleGoodsDO;
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
import cn.iocoder.yudao.module.member.controller.admin.storesalegoods.vo.*;
|
import cn.iocoder.yudao.module.member.controller.admin.storesalegoods.vo.*;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 售卖商品 Mapper
|
* 售卖商品 Mapper
|
||||||
@ -26,4 +30,7 @@ public interface StoreSaleGoodsMapper extends BaseMapperX<StoreSaleGoodsDO> {
|
|||||||
.orderByDesc(StoreSaleGoodsDO::getId));
|
.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);
|
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.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.StoreGoodsPageReqVO;
|
||||||
import cn.iocoder.yudao.module.member.controller.admin.storegoods.vo.StoreGoodsSaveReqVO;
|
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.storegoods.StoreGoodsDO;
|
||||||
import cn.iocoder.yudao.module.member.dal.dataobject.storesalegoods.StoreSaleGoodsDO;
|
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.storegoods.StoreGoodsMapper;
|
||||||
import cn.iocoder.yudao.module.member.dal.mysql.storesalegoods.StoreSaleGoodsMapper;
|
import cn.iocoder.yudao.module.member.dal.mysql.storesalegoods.StoreSaleGoodsMapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
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.core.toolkit.Wrappers;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
|
||||||
@ -94,15 +98,12 @@ public class StoreGoodsServiceImpl implements StoreGoodsService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PageResult<StoreGoodsDO> getSaleGoodsPage(StoreGoodsPageReqVO pageReqVO) {
|
public PageResult<StoreSaleGoodsPageVO> getSaleGoodsPage(StoreSaleGoodsPageVO pageReqVO) {
|
||||||
PageResult<StoreGoodsDO> storeGoodsDOPageResult = null;
|
|
||||||
|
|
||||||
List<StoreSaleGoodsDO> storeSaleGoodsDOS = storeSaleGoodsMapper.selectList();
|
Page<StoreSaleGoodsPageVO> page = Page.of(pageReqVO.getPageNo(), pageReqVO.getPageSize());
|
||||||
if(CollectionUtil.isNotEmpty(storeSaleGoodsDOS)){
|
|
||||||
List<Integer> ids = storeSaleGoodsDOS.stream().map(StoreSaleGoodsDO::getGoodsId).collect(Collectors.toList());
|
IPage<StoreSaleGoodsPageVO> saleGoodsPage = storeSaleGoodsMapper.getSaleGoodsPage(page, pageReqVO);
|
||||||
pageReqVO.setIds(ids);
|
|
||||||
storeGoodsDOPageResult = storeGoodsMapper.selectPage(pageReqVO);
|
return new PageResult<>(saleGoodsPage.getRecords(), saleGoodsPage.getTotal());
|
||||||
}
|
|
||||||
return storeGoodsDOPageResult;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -88,10 +88,10 @@ public class StoreSaleGoodsServiceImpl implements StoreSaleGoodsService {
|
|||||||
if(CollectionUtil.isEmpty(dto.getEquipmentGoodsCustoms())){
|
if(CollectionUtil.isEmpty(dto.getEquipmentGoodsCustoms())){
|
||||||
throw exception(STORE_SALE_GOODS_NOT_NULL);
|
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());
|
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()) {
|
for (StoreGoodsDto storeGoodsDto : dto.getEquipmentGoodsCustoms()) {
|
||||||
StoreSaleGoodsDO storeSaleGoodsDO = new StoreSaleGoodsDO();
|
StoreSaleGoodsDO storeSaleGoodsDO = new StoreSaleGoodsDO();
|
||||||
BeanUtil.copyProperties(storeGoodsDto, storeSaleGoodsDO);
|
BeanUtil.copyProperties(storeGoodsDto, storeSaleGoodsDO);
|
||||||
@ -104,7 +104,10 @@ public class StoreSaleGoodsServiceImpl implements StoreSaleGoodsService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<Integer> getGoodsIds(String equipmentCode) {
|
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)){
|
if (CollectionUtil.isEmpty(storeSaleGoodsDOS)){
|
||||||
return Collections.emptyList();
|
return Collections.emptyList();
|
||||||
}else {
|
}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