From 3d1cf55e874a5b79c74725af946bfe235c3b06fd Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期五, 13 九月 2024 18:15:34 +0800
Subject: [PATCH] 修改接口

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/interceptor/MybatisInterceptor.java |   10 ++--
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java       |    9 ++--
 ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml                        |    2 +
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TDataStatisticsController.java  |   14 ++++++-
 ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java               |    2 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TShopController.java            |    4 +
 ruoyi-system/src/main/java/com/ruoyi/system/vo/PersonnelStatisticsAndSumVO.java        |   23 +++++++++++
 ruoyi-system/src/main/java/com/ruoyi/system/vo/TOrderMealVO.java                       |    7 +++
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TOrderMealController.java       |   16 ++++----
 9 files changed, 66 insertions(+), 21 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 b10c644..a0fba52 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
@@ -20,6 +20,7 @@
 import org.apache.poi.ss.usermodel.Workbook;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.CollectionUtils;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
@@ -284,7 +285,7 @@
 
     @ApiOperation( value = "接待人数统计")
     @PostMapping(value = "/personnelStatistics")
-    public AjaxResult<List<PersonnelStatisticsVO>> personnelStatistics(@RequestBody TDataStatisticsQuery query) {
+    public AjaxResult<PersonnelStatisticsAndSumVO> personnelStatistics(@RequestBody TDataStatisticsQuery query) {
         Long objectId = tokenService.getLoginUser().getObjectId();
         query.setShopId(objectId);
         if(Objects.isNull(query.getTimeType())){
@@ -316,7 +317,16 @@
         }
         query.setStartTime(DateUtils.localDateTimeToDate(startTime));
         query.setEndTime(DateUtils.localDateTimeToDate(endTime));
-        return AjaxResult.success(orderMealService.personnelStatistics(query));
+
+        PersonnelStatisticsAndSumVO personnelStatisticsAndSumVO = new PersonnelStatisticsAndSumVO();
+        List<PersonnelStatisticsVO> personnelStatisticsVOS = orderMealService.personnelStatistics(query);
+        personnelStatisticsAndSumVO.setPersonnelStatisticsVOS(personnelStatisticsVOS);
+        if(!CollectionUtils.isEmpty(personnelStatisticsVOS)){
+            personnelStatisticsAndSumVO.setPersonCountSum(personnelStatisticsVOS.stream().mapToInt(PersonnelStatisticsVO::getPersonCount).sum());
+            // 计算列表中平均金额乘以人数的总和
+            personnelStatisticsAndSumVO.setTotalMoney(personnelStatisticsVOS.stream().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/TOrderMealController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TOrderMealController.java
index c86c896..08524ab 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TOrderMealController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TOrderMealController.java
@@ -5,22 +5,16 @@
 import cn.afterturn.easypoi.excel.entity.ExportParams;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.ruoyi.common.basic.PageInfo;
-import com.ruoyi.common.constant.OrderNumConstants;
 import com.ruoyi.common.core.domain.AjaxResult;
-import com.ruoyi.common.utils.CodeGenerateUtils;
 import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.common.utils.WebUtils;
 import com.ruoyi.framework.web.service.TokenService;
 import com.ruoyi.system.domain.*;
 import com.ruoyi.system.dto.CheckoutDTO;
-import com.ruoyi.system.dto.MealOrderGoodsDTO;
 import com.ruoyi.system.dto.TOrderMealDTO;
 import com.ruoyi.system.export.TOrderMealExportExcel;
 import com.ruoyi.system.query.TOrderMealQuery;
-import com.ruoyi.system.service.TGoodsService;
-import com.ruoyi.system.service.TGoodsTypeService;
-import com.ruoyi.system.service.TOrderMealGoodsService;
-import com.ruoyi.system.service.TOrderMealService;
+import com.ruoyi.system.service.*;
 import com.ruoyi.system.vo.AmountSumVO;
 import com.ruoyi.system.vo.TOrderMealVO;
 import io.swagger.annotations.Api;
@@ -59,14 +53,16 @@
     private final TOrderMealGoodsService orderMealGoodsService;
     private final TGoodsTypeService goodsTypeService;
     private final TGoodsService goodsService;
+    private final TBoardService boardService;
     private final TokenService tokenService;
 
     @Autowired
-    public TOrderMealController(TOrderMealService orderMealService, TOrderMealGoodsService orderMealGoodsService, TGoodsTypeService goodsTypeService, TGoodsService goodsService, TokenService tokenService) {
+    public TOrderMealController(TOrderMealService orderMealService, TOrderMealGoodsService orderMealGoodsService, TGoodsTypeService goodsTypeService, TGoodsService goodsService, TBoardService boardService, TokenService tokenService) {
         this.orderMealService = orderMealService;
         this.orderMealGoodsService = orderMealGoodsService;
         this.goodsTypeService = goodsTypeService;
         this.goodsService = goodsService;
+        this.boardService = boardService;
         this.tokenService = tokenService;
     }
 
@@ -107,6 +103,10 @@
             orderMealVO.setGoodsList(goodsList);
         }
         orderMealVO.setOrderMealGoods(list);
+        // 查询用餐人数
+        TBoard board = boardService.getById(orderMeal.getBoardId());
+        orderMealVO.setMaxPerson(board.getMaxPerson());
+        orderMealVO.setMinPerson(board.getMinPerson());
         return AjaxResult.success(orderMealVO);
     }
 
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TShopController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TShopController.java
index 516e1c0..f889d76 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TShopController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TShopController.java
@@ -66,7 +66,9 @@
     public AjaxResult<String> add(@RequestBody TShopDTO dto) {
         shopService.save(dto);
         // 添加账号
-        userService.addAccount(dto);
+        Long userId = userService.addAccount(dto);
+        dto.setUserId(userId);
+        shopService.updateById(dto);
         return AjaxResult.success();
     }
 
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/interceptor/MybatisInterceptor.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/interceptor/MybatisInterceptor.java
index df1c793..56eab19 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/interceptor/MybatisInterceptor.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/interceptor/MybatisInterceptor.java
@@ -78,11 +78,11 @@
                             field.setAccessible(false);
                         }
                     }
-                    if ("updateTime".equals(field.getName())) {
-                        field.setAccessible(true);
-                        field.set(parameter, LocalDateTime.now());
-                        field.setAccessible(false);
-                    }
+//                    if ("updateTime".equals(field.getName())) {
+//                        field.setAccessible(true);
+//                        field.set(parameter, LocalDateTime.now());
+//                        field.setAccessible(false);
+//                    }
                 } catch (Exception e) {
                     log.error("failed to update data, exception = ", e);
                 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java
index 7599c49..002ff6c 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java
@@ -265,7 +265,7 @@
      * 添加账号信息
      * @param dto
      */
-    void addAccount(TShopDTO dto);
+    Long addAccount(TShopDTO dto);
 
     /**
      * 修改账号信息
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
index 43e1d87..cb2e4da 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
@@ -637,19 +637,20 @@
     }
 
     @Override
-    public void addAccount(TShopDTO dto) {
+    public Long addAccount(TShopDTO dto) {
         SysUser sysUser = new SysUser();
         sysUser.setUserName(dto.getAccount());
         sysUser.setNickName(dto.getShopHead());
-        if(dto.getShopType() ==1){
+        if(dto.getShopType().equals(1)){
             sysUser.setRoleType(2);
+            sysUser.setRoleId(9L);
         }else {
             sysUser.setRoleType(3);
+            sysUser.setRoleId(2L);
         }
         sysUser.setPassword(SecurityUtils.encryptPassword(dto.getPassword()));
         this.insertUser(sysUser);
-        // TODO 自动绑定角色
-
+        return sysUser.getUserId();
     }
 
     @Override
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/vo/PersonnelStatisticsAndSumVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/vo/PersonnelStatisticsAndSumVO.java
new file mode 100644
index 0000000..2487a60
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/vo/PersonnelStatisticsAndSumVO.java
@@ -0,0 +1,23 @@
+package com.ruoyi.system.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import io.swagger.annotations.License;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.List;
+
+@Data
+@ApiModel(value = "接待人数统计合计VO")
+public class PersonnelStatisticsAndSumVO implements Serializable {
+
+    @ApiModelProperty(value = "接待总人数")
+    private Integer personCountSum;
+    @ApiModelProperty(value = "接待总金额")
+    private Double totalMoney;
+    @ApiModelProperty(value = "列表")
+    private List<PersonnelStatisticsVO> personnelStatisticsVOS;
+
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/vo/TOrderMealVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/vo/TOrderMealVO.java
index f4d5c21..51eaca9 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/vo/TOrderMealVO.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/vo/TOrderMealVO.java
@@ -1,5 +1,6 @@
 package com.ruoyi.system.vo;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.ruoyi.system.domain.TOrderMeal;
 import com.ruoyi.system.domain.TOrderMealGoods;
 import io.swagger.annotations.ApiModel;
@@ -22,4 +23,10 @@
     @ApiModelProperty(value = "菜品 列表使用")
     private List<String> goodsList;
 
+    @ApiModelProperty(value = "最小就餐人数")
+    private Integer minPerson;
+
+    @ApiModelProperty(value = "最大就餐人数")
+    private Integer maxPerson;
+
 }
diff --git a/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml b/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
index 9b46e1e..947714d 100644
--- a/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
@@ -267,6 +267,7 @@
  			<if test="status != null and status != ''">status,</if>
  			<if test="createBy != null and createBy != ''">create_by,</if>
  			<if test="remark != null and remark != ''">remark,</if>
+ 			<if test="roleType != null and roleType != ''">roleType,</if>
  			create_time
  		)values(
  			<if test="userId != null and userId != ''">#{userId},</if>
@@ -283,6 +284,7 @@
  			<if test="status != null and status != ''">#{status},</if>
  			<if test="createBy != null and createBy != ''">#{createBy},</if>
  			<if test="remark != null and remark != ''">#{remark},</if>
+ 			<if test="roleType != null and roleType != ''">#{roleType},</if>
  			sysdate()
  		)
 	</insert>

--
Gitblit v1.7.1