From 20cd42287efb95254ea788ce2b6d0c559e378e04 Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期四, 19 九月 2024 14:36:21 +0800 Subject: [PATCH] 修改接口 --- ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TDataGeneratorServiceImpl.java | 27 +++++++++---- ruoyi-system/src/main/resources/mapper/system/TFoundationConfigMapper.xml | 3 + ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TDataStatisticsController.java | 4 +- ruoyi-system/src/main/resources/mapper/system/TFoundationPersonMapper.xml | 5 ++ ruoyi-system/src/main/resources/mapper/system/TOrderMealMapper.xml | 18 +++++---- ruoyi-system/src/main/java/com/ruoyi/system/domain/TFoundationPerson.java | 10 +++++ ruoyi-system/src/main/java/com/ruoyi/system/vo/TFoundationConfigVO.java | 2 + ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TFoundationConfigServiceImpl.java | 4 +- ruoyi-system/src/main/java/com/ruoyi/system/mapper/TFoundationConfigMapper.java | 3 + ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TFoundationPersonController.java | 2 + ruoyi-system/src/main/java/com/ruoyi/system/service/TFoundationConfigService.java | 2 ruoyi-system/src/main/resources/mapper/system/TDataGeneratorMapper.xml | 1 12 files changed, 57 insertions(+), 24 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TDataStatisticsController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TDataStatisticsController.java index a0fba52..59e98fc 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TDataStatisticsController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TDataStatisticsController.java @@ -322,9 +322,9 @@ List<PersonnelStatisticsVO> personnelStatisticsVOS = orderMealService.personnelStatistics(query); personnelStatisticsAndSumVO.setPersonnelStatisticsVOS(personnelStatisticsVOS); if(!CollectionUtils.isEmpty(personnelStatisticsVOS)){ - personnelStatisticsAndSumVO.setPersonCountSum(personnelStatisticsVOS.stream().mapToInt(PersonnelStatisticsVO::getPersonCount).sum()); + personnelStatisticsAndSumVO.setPersonCountSum(personnelStatisticsVOS.stream().filter(e->e.getPersonCount() != null).mapToInt(PersonnelStatisticsVO::getPersonCount).sum()); // 计算列表中平均金额乘以人数的总和 - personnelStatisticsAndSumVO.setTotalMoney(personnelStatisticsVOS.stream().mapToDouble(personnelStatisticsVO -> personnelStatisticsVO.getAvgAmount().doubleValue() * personnelStatisticsVO.getPersonCount()).sum()); + personnelStatisticsAndSumVO.setTotalMoney(personnelStatisticsVOS.stream().filter(e->e.getPersonCount() != null).mapToDouble(personnelStatisticsVO -> personnelStatisticsVO.getAvgAmount().doubleValue() * personnelStatisticsVO.getPersonCount()).sum()); } return AjaxResult.success(personnelStatisticsAndSumVO); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TFoundationPersonController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TFoundationPersonController.java index 7883059..ce0710d 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TFoundationPersonController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TFoundationPersonController.java @@ -15,6 +15,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import java.time.LocalDateTime; import java.util.List; /** @@ -52,6 +53,7 @@ @ApiOperation( value = "添加基础设置") @PostMapping(value = "/add") public AjaxResult<Boolean> add(@RequestBody TFoundationPersonDTO dto) { + dto.setCreateTime(LocalDateTime.now()); foundationPersonService.add(dto); return AjaxResult.success(); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/TFoundationPerson.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/TFoundationPerson.java index 6caf7aa..fc33a21 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/TFoundationPerson.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/TFoundationPerson.java @@ -4,12 +4,14 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; import java.io.Serializable; +import java.time.LocalDateTime; /** * <p> @@ -33,6 +35,14 @@ @ApiModelProperty(value = "用餐人数") @TableField("mealCount") private Integer mealCount; + @ApiModelProperty(value = "店铺id") + @TableField("shopId") + private Long shopId; + + @ApiModelProperty(value = "创建时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @TableField("createTime") + private LocalDateTime createTime; } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TFoundationConfigMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TFoundationConfigMapper.java index 8211978..43cfa66 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TFoundationConfigMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TFoundationConfigMapper.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.system.domain.TFoundationConfig; import com.ruoyi.system.vo.TFoundationConfigVO; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -20,6 +21,6 @@ * 查询所有的人数用餐标准 * @return */ - List<TFoundationConfigVO> getList(); + List<TFoundationConfigVO> getList(@Param("shopId") Long shopId); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/TFoundationConfigService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/TFoundationConfigService.java index 3db8624..f9b83ad 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/TFoundationConfigService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/TFoundationConfigService.java @@ -20,6 +20,6 @@ * 查询所有的人数用餐标准 * @return */ - List<TFoundationConfigVO> getList(); + List<TFoundationConfigVO> getList(Long shopId); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TDataGeneratorServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TDataGeneratorServiceImpl.java index 19c1960..d2561a5 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TDataGeneratorServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TDataGeneratorServiceImpl.java @@ -90,11 +90,19 @@ this.save(dataGenerator); long start = System.currentTimeMillis(); // 查询所有的人数用餐标准 - List<TFoundationConfigVO> foundationConfigs = foundationConfigService.getList(); + List<TFoundationConfigVO> foundationConfigs = foundationConfigService.getList(dto.getShopId()); // 查询所有桌子 - List<TBoard> boards = boardService.list(); + List<TBoard> boards = boardService.list(Wrappers.lambdaQuery(TBoard.class) + .eq(TBoard::getShopId,dto.getShopId())); + if(CollectionUtils.isEmpty(boards)){ + throw new ServiceException("请先添加桌台信息"); + } // 查询所有菜品 - List<TGoods> goods = goodsService.list(); + List<TGoods> goods = goodsService.list(Wrappers.lambdaQuery(TGoods.class) + .eq(TGoods::getShopId,dto.getShopId())); + if(CollectionUtils.isEmpty(goods)){ + throw new ServiceException("请先添加菜品信息"); + } // 循环待生成订单列表,添加到集合中,批量插入 List<OrderMealGeneratorCountDTO> orderMealGeneratorCountDTOS = dto.getOrderMealGeneratorCountDTOS(); List<TOrderMeal> orderMeals = new ArrayList<>(); @@ -141,14 +149,16 @@ } } }); - orderMeal.setMealOrderGoods(orderMealGoods); - orderMeal.setOrderMoney(orderMealGoods.stream().map(TOrderMealGoods::getGoodsSalePrice).reduce(BigDecimal::add).get()); - orderMeal.setPayMoney(orderMealGoods.stream().map(TOrderMealGoods::getGoodsSalePrice).reduce(BigDecimal::add).get()); - orderMeals.add(orderMeal); + if(!CollectionUtils.isEmpty(orderMealGoods)){ + orderMeal.setMealOrderGoods(orderMealGoods); + orderMeal.setOrderMoney(orderMealGoods.stream().map(TOrderMealGoods::getGoodsSalePrice).reduce(BigDecimal::add).get()); + orderMeal.setPayMoney(orderMealGoods.stream().map(TOrderMealGoods::getGoodsSalePrice).reduce(BigDecimal::add).get()); + orderMeals.add(orderMeal); + } } } BigDecimal sumMoney = orderMeals.stream().map(TOrderMeal::getPayMoney).reduce(BigDecimal::add).get(); - if(sumMoney.compareTo(dto.getMinMoney()) <= 0 || sumMoney.compareTo(dto.getMaxMoney()) >= 0){ + if(sumMoney.compareTo(dto.getMinMoney()) >= 0 && sumMoney.compareTo(dto.getMaxMoney()) <= 0){ int weiXin = getRandomPayType(orderMeals.size(), dto.getWeiXinProportion()); int ali = getRandomPayType(orderMeals.size(), dto.getAliProportion()); int card = getRandomPayType(orderMeals.size(), dto.getCardProportion()); @@ -222,6 +232,7 @@ long end = System.currentTimeMillis() - start; System.err.println("相差时间========="+end); }else { + this.removeById(dataGenerator); throw new ServiceException("数据生成不在营业额范围内"); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TFoundationConfigServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TFoundationConfigServiceImpl.java index b7b4fce..e8b1432 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TFoundationConfigServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TFoundationConfigServiceImpl.java @@ -21,7 +21,7 @@ public class TFoundationConfigServiceImpl extends ServiceImpl<TFoundationConfigMapper, TFoundationConfig> implements TFoundationConfigService { @Override - public List<TFoundationConfigVO> getList() { - return this.baseMapper.getList(); + public List<TFoundationConfigVO> getList(Long shopId) { + return this.baseMapper.getList(shopId); } } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/vo/TFoundationConfigVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/vo/TFoundationConfigVO.java index 43b9c91..4dbb1d4 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/vo/TFoundationConfigVO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/vo/TFoundationConfigVO.java @@ -11,5 +11,7 @@ @ApiModelProperty(value = "用餐人数") private Integer mealCount; + @ApiModelProperty(value = "店铺id") + private Long shopId; } diff --git a/ruoyi-system/src/main/resources/mapper/system/TDataGeneratorMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TDataGeneratorMapper.xml index 718a52b..2d12d46 100644 --- a/ruoyi-system/src/main/resources/mapper/system/TDataGeneratorMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/TDataGeneratorMapper.xml @@ -55,6 +55,7 @@ </if> AND tdg.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()} </where> + ORDER BY tdg.createTime DESC </select> </mapper> diff --git a/ruoyi-system/src/main/resources/mapper/system/TFoundationConfigMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TFoundationConfigMapper.xml index 5432c03..dda7b30 100644 --- a/ruoyi-system/src/main/resources/mapper/system/TFoundationConfigMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/TFoundationConfigMapper.xml @@ -16,9 +16,10 @@ id, personId,typeId, minCount, maxCount </sql> <select id="getList" resultType="com.ruoyi.system.vo.TFoundationConfigVO"> - SELECT tfc.id, tfc.personId,tfc.typeId, tfc.minCount, tfc.maxCount,tfp.mealCount + SELECT tfc.id, tfc.personId,tfc.typeId, tfc.minCount, tfc.maxCount,tfp.mealCount,tfp.shopId FROM t_foundation_config tfc LEFT JOIN t_foundation_person tfp ON tfp.id = tfc.personId + where tfp.shopId = #{shopId} </select> </mapper> diff --git a/ruoyi-system/src/main/resources/mapper/system/TFoundationPersonMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TFoundationPersonMapper.xml index 7c3334d..949771d 100644 --- a/ruoyi-system/src/main/resources/mapper/system/TFoundationPersonMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/TFoundationPersonMapper.xml @@ -6,16 +6,19 @@ <resultMap id="BaseResultMap" type="com.ruoyi.system.domain.TFoundationPerson"> <id column="id" property="id" /> <result column="mealCount" property="mealCount" /> + <result column="createTime" property="createTime" /> + <result column="shopId" property="shopId" /> </resultMap> <!-- 通用查询结果列 --> <sql id="Base_Column_List"> - id, mealCount + id, mealCount,createTime </sql> <select id="getList" resultType="com.ruoyi.system.vo.TFoundationPersonVO"> select <include refid="Base_Column_List"/> from t_foundation_person + ORDER BY createTime DESC </select> </mapper> diff --git a/ruoyi-system/src/main/resources/mapper/system/TOrderMealMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TOrderMealMapper.xml index 8e33141..0c6995b 100644 --- a/ruoyi-system/src/main/resources/mapper/system/TOrderMealMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/TOrderMealMapper.xml @@ -53,18 +53,19 @@ and tom.shopId = #{query.shopId} </if> <if test="query.startTime != null and query.startTime != '' and query.endTime != null and query.endTime != ''"> - AND (tom.createTime BETWEEN #{query.startTime} AND #{query.endTime}) + AND (tom.mealTime BETWEEN #{query.startTime} AND #{query.endTime}) </if> AND tom.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()} + AND tom.isCover = 1 </where> - ORDER BY tom.createTime DESC + ORDER BY tom.mealTime DESC </select> <select id="amountSum" resultType="com.ruoyi.system.vo.AmountSumVO"> select COUNT(tom.id) AS orderCount, - SUM(tom.orderMoney) AS saleAmount, - SUM(tom.payMoney) AS payAmount, - SUM(tom.orderMoney - tom.payMoney) AS obligation + IFNULL(SUM(tom.orderMoney),0) AS saleAmount, + IFNULL(SUM(tom.payMoney),0) AS payAmount, + IFNULL(SUM(tom.orderMoney - tom.payMoney),0) AS obligation from t_order_meal tom left join t_board tb on tb.id = tom.boardId <where> @@ -78,15 +79,16 @@ and tom.status = #{query.status} </if> <if test="query.orderNum != null and query.orderNum"> - and tom.orderNum LIKE concat('%',#{query.status},'%') + and tom.orderNum LIKE concat('%',#{query.orderNum},'%') </if> <if test="query.shopId != null"> and tom.shopId = #{query.shopId} </if> <if test="query.startTime != null and query.startTime != '' and query.endTime != null and query.endTime != ''"> - AND (tom.createTime BETWEEN #{query.startTime} AND #{query.endTime}) + AND (tom.mealTime BETWEEN #{query.startTime} AND #{query.endTime}) </if> AND tom.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()} + AND tom.isCover = 1 </where> </select> <select id="salesVolume" resultType="com.ruoyi.system.vo.SalesVolumeVO"> @@ -102,7 +104,7 @@ and shopId = #{query.shopId} </if> <if test="query.startTime != null and query.startTime != '' and query.endTime != null and query.endTime != ''"> - AND (createTime BETWEEN #{query.startTime} AND #{query.endTime}) + AND (mealTime BETWEEN #{query.startTime} AND #{query.endTime}) </if> AND disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()} </where> -- Gitblit v1.7.1