xuhy
2024-09-07 97cf3094ce37ee629ca6b948a9317a7ed1796c18
修改
19个文件已修改
192 ■■■■■ 已修改文件
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TDataGeneratorController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TOrderSaleController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/src/main/java/com/ruoyi/common/utils/CodeGenerateUtils.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/domain/TOrderSaleGoods.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/domain/TOrderStockGoods.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/dto/OrderSaleGeneratorDTO.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/query/SysUserQuery.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TDataGeneratorServiceImpl.java 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TOrderMealServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TOrderSaleServiceImpl.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TOrderStockServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/TOrderMealMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/TOrderSaleGoodsMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/TOrderStockGoodsMapper.xml 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TDataGeneratorController.java
@@ -178,7 +178,7 @@
            TOrderSaleAndGoodsExportExcel orderSaleExportExcel = new TOrderSaleAndGoodsExportExcel();
            BeanUtils.copyProperties(orderSaleVO, orderSaleExportExcel);
            orderSaleExportExcel.setCreateStrTime(DateUtils.localDateTimeToString(orderSaleVO.getCreateTime()));
            orderSaleExportExcel.setGoodsAmount(orderSaleVO.getOrderSaleGoods().stream().map(TOrderSaleGoods::getSalePrice).reduce(BigDecimal::add).get());
            orderSaleExportExcel.setGoodsAmount(orderSaleVO.getOrderSaleGoods().stream().map(TOrderSaleGoods::getThisSalePrice).reduce(BigDecimal::add).get());
        }
        Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams(), TOrderSaleAndGoodsExportExcel.class, orderMeals);
        HttpServletResponse response = WebUtils.response();
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TOrderSaleController.java
@@ -122,7 +122,7 @@
            TOrderSaleExportExcel orderSaleExportExcel = new TOrderSaleExportExcel();
            BeanUtils.copyProperties(orderSaleVO, orderSaleExportExcel);
            orderSaleExportExcel.setCreateStrTime(DateUtils.localDateTimeToString(orderSaleVO.getCreateTime()));
            orderSaleExportExcel.setGoodsAmount(orderSaleVO.getOrderSaleGoods().stream().map(TOrderSaleGoods::getSalePrice).reduce(BigDecimal::add).get());
            orderSaleExportExcel.setGoodsAmount(orderSaleVO.getOrderSaleGoods().stream().map(TOrderSaleGoods::getThisSalePrice).reduce(BigDecimal::add).get());
            orderSaleExportExcel.setGoodsCount(orderSaleVO.getOrderSaleGoods().size());
        }
        Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams(), TOrderMealExportExcel.class, orderMeals);
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java
@@ -57,7 +57,7 @@
     */
    @ApiOperation(value = "获取用户列表")
    @PostMapping("/list")
    public AjaxResult list(@RequestBody SysUserQuery query)
    public AjaxResult<PageInfo<SysUserVO>> list(@RequestBody SysUserQuery query)
    {
        PageInfo<SysUserVO> list = userService.pageList(query);
        return AjaxResult.success(list);
@@ -65,7 +65,7 @@
    @ApiOperation(value = "获取用户列表-不分页")
    @PostMapping("/listNotPage")
    public AjaxResult listNotPage()
    public AjaxResult<List<SysUser>> listNotPage()
    {
        List<SysUser> list = userService.selectList();
        return AjaxResult.success(list);
@@ -88,7 +88,7 @@
     */
    @ApiOperation(value = "获取用户详情")
    @GetMapping("/getDetail")
    public AjaxResult getDetail(@RequestParam Long userId)
    public AjaxResult<SysUser> getDetail(@RequestParam Long userId)
    {
        SysUser sysUser = userService.selectUserById(userId);
        SysUserVO sysUserVO = new SysUserVO();
@@ -103,7 +103,7 @@
     */
    @ApiOperation(value = "获取用户数量统计")
    @PostMapping("/getUserCount")
    public AjaxResult getUserCount()
    public AjaxResult<Map<String,Integer>> getUserCount()
    {
        Map<String,Integer> map = new HashMap<>();
@@ -121,17 +121,17 @@
    /**
     * 移除黑名单
     */
    @GetMapping("/removeBlackList")
    public AjaxResult removeBlackList(@RequestParam String ids)
    {
        String[] split = ids.split(",");
        List<Long> id = new ArrayList<>();
        for (String s : split) {
            id.add(Long.valueOf(s));
        }
        userService.updateUserIfBlack(id);
        return AjaxResult.success();
    }
//    @GetMapping("/removeBlackList")
//    public AjaxResult<String> removeBlackList(@RequestParam String ids)
//    {
//        String[] split = ids.split(",");
//        List<Long> id = new ArrayList<>();
//        for (String s : split) {
//            id.add(Long.valueOf(s));
//        }
//        userService.updateUserIfBlack(id);
//        return AjaxResult.success();
//    }
//    @Log(title = "用户管理", businessType = BusinessType.EXPORT)
@@ -210,7 +210,7 @@
        }
        user.setUpdateBy(getUsername());
        user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
//        user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
        return AjaxResult.success(userService.updateUser(user));
    }
ruoyi-common/src/main/java/com/ruoyi/common/utils/CodeGenerateUtils.java
@@ -68,7 +68,17 @@
        String timestampPart = "" + (Math.random() * 10000) * (System.currentTimeMillis() / 10000);
        timestampPart = timestampPart.replace(".", "").replace("E", "");
        timestampPart = timestampPart.substring(0, 5);
        return dateTime + timestampPart;
        int day = calendar.get(Calendar.DAY_OF_MONTH);
        double v = Math.random() * 10000;
        int dayNum = (int) ((v % 3.33) * day);
        String dayPart = "0" + dayNum;
        dayPart = dayPart.substring(dayPart.length() - 2);
        return dateTime + timestampPart + dayPart;
    }
    public static void main(String[] args) {
        System.err.println(generateVolumeSn());
    }
}
ruoyi-system/src/main/java/com/ruoyi/system/domain/TOrderSaleGoods.java
@@ -60,16 +60,13 @@
    private Integer goodsCount;
    @ApiModelProperty(value = "售卖价格")
    @TableField("salePrice")
    private BigDecimal salePrice;
    @TableField("thisSalePrice")
    private BigDecimal thisSalePrice;
    @ApiModelProperty(value = "商品图")
    @TableField("goodsPicture")
    private String goodsPicture;
    @ApiModelProperty(value = "菜品类型")
    @TableField("typeName")
    private String typeName;
    @ApiModelProperty(value = "类型id")
    @TableField("typeId")
    private Long typeId;
ruoyi-system/src/main/java/com/ruoyi/system/domain/TOrderStockGoods.java
@@ -54,6 +54,10 @@
    @TableField("salePrice")
    private BigDecimal salePrice;
    @ApiModelProperty(value = "本次进货价格")
    @TableField("thisSalePrice")
    private BigDecimal thisSalePrice;
    @ApiModelProperty(value = "商品图")
    @TableField("goodsPicture")
    private String goodsPicture;
ruoyi-system/src/main/java/com/ruoyi/system/dto/OrderSaleGeneratorDTO.java
@@ -6,6 +6,7 @@
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.time.LocalDate;
import java.util.List;
@@ -15,6 +16,7 @@
public class OrderSaleGeneratorDTO implements Serializable {
    @ApiModelProperty(value = "店铺id")
    @NotNull(message = "店铺id不能为空")
    private Long shopId;
    @ApiModelProperty(value = "开始时间")
ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java
@@ -167,8 +167,6 @@
    Long getUserRole(@Param("userId") Long userId);
    int updateUserIfBlack(@Param("ids")List<Long> ids);
    List<SysUser> selectAllList();
    List<SysUserVO> pageList(@Param("query")SysUserQuery query, @Param("pageInfo")PageInfo<SysUserVO> pageInfo);
ruoyi-system/src/main/java/com/ruoyi/system/query/SysUserQuery.java
@@ -17,9 +17,6 @@
    @ApiModelProperty(value = "角色id")
    private List<Integer> roleIds;
//    @ApiModelProperty(value = "手机号")
//    private String phonenumber;
    @ApiModelProperty(value = "状态  0=正常 1=停用")
    private String status;
ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java
@@ -244,8 +244,6 @@
    Long getUserRole(Long userId);
    int updateUserIfBlack(List<Long> ids);
    /**
     * 查询所有用户(包含删除的)
     * @return
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
@@ -295,7 +295,7 @@
    {
        Long userId = user.getUserId();
        // 删除用户与角色关联
//        userRoleMapper.deleteUserRoleByUserId(userId);
        userRoleMapper.deleteUserRoleByUserId(userId);
        // 新增用户与角色管理
        insertUserRoleId(user);
        // 删除用户与岗位关联
@@ -611,11 +611,6 @@
    @Override
    public Long getUserRole(Long userId) {
        return userMapper.getUserRole(userId);
    }
    @Override
    public int updateUserIfBlack(List<Long> ids) {
        return userMapper.updateUserIfBlack(ids);
    }
    @Override
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TDataGeneratorServiceImpl.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.common.constant.Constants;
import com.ruoyi.common.constant.OrderNumConstants;
import com.ruoyi.common.core.redis.RedisCache;
import com.ruoyi.common.exception.ServiceException;
@@ -19,6 +20,8 @@
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.math.RoundingMode;
@@ -62,6 +65,7 @@
    @Autowired
    private RedisCache redisCache;
    @Transactional(rollbackFor = Exception.class,propagation = Propagation.REQUIRED)
    @Override
    public void mealDataGenerator(OrderMealGeneratorDTO dto) {
        // 存储数据生成数据
@@ -102,7 +106,7 @@
                orderMeal.setMealType(1);
                orderMeal.setMealPerson(random);
                orderMeal.setMealTime(orderMealGeneratorCountDTO.getTime());
                orderMeal.setOrderNum(OrderNumConstants.MEAL + CodeGenerateUtils.generateOrderSn());
                orderMeal.setOrderNum(OrderNumConstants.MEAL + CodeGenerateUtils.generateVolumeSn());
                orderMeal.setStatus(2);
                List<TOrderMealGoods> orderMealGoods = new ArrayList<>();
                List<TFoundationConfigVO> foundationConfigVOS = foundationConfigs.stream().filter(e -> e.getMealCount().equals(random)).collect(Collectors.toList());
@@ -216,6 +220,7 @@
    }
    @Transactional(rollbackFor = Exception.class,propagation = Propagation.REQUIRED)
    @Override
    public void saleDataGenerator(OrderSaleGeneratorDTO dto) {
        // 查询上一次的数据生成时间
@@ -236,6 +241,7 @@
        dataGenerator.setStartTime(dto.getStartTime());
        dataGenerator.setEndTime(dto.getEndTime());
        dataGenerator.setStatus(2);
        dataGenerator.setShopId(dto.getShopId());
        dataGenerator.setOrderType(2);
        this.save(dataGenerator);
@@ -246,7 +252,10 @@
        // 添加销售订单数
        List<TOrderSale> orderSales = dto.getOrderSales();
        orderSales.forEach(e->e.setGeneratorId(dataGenerator.getId()));
        orderSales.forEach(e->{
            e.setGeneratorId(dataGenerator.getId());
            e.setOrderNum(OrderNumConstants.SALE + CodeGenerateUtils.generateVolumeSn());
        });
        List<TOrderSaleGoods> orderSaleGoods = orderSales.stream().map(TOrderSale::getOrderSaleGoods).flatMap(Collection::stream).collect(Collectors.toList());
        // 生成进货数据
@@ -275,7 +284,8 @@
                    tOrderStockGoods.setGoodsName(k);
                    tOrderStockGoods.setGoodsNum(v.get(0).getGoodsNum());
                    tOrderStockGoods.setCostPrice(v.get(0).getGoodsCostPrice());
                    tOrderStockGoods.setSalePrice(v.get(0).getSalePrice());
                    tOrderStockGoods.setSalePrice(v.get(0).getGoodsSalePrice());
                    tOrderStockGoods.setThisSalePrice(v.get(0).getThisSalePrice());
                    tOrderStockGoods.setGoodsPicture(v.get(0).getGoodsPicture());
                    tOrderStockGoods.setStockCount(v.stream().mapToInt(TOrderSaleGoods::getGoodsCount).sum());
                    orderStockGoods.add(tOrderStockGoods);
@@ -310,7 +320,8 @@
                    tOrderStockGoods.setGoodsName(k);
                    tOrderStockGoods.setGoodsNum(v.get(0).getGoodsNum());
                    tOrderStockGoods.setCostPrice(v.get(0).getGoodsCostPrice());
                    tOrderStockGoods.setSalePrice(v.get(0).getSalePrice());
                    tOrderStockGoods.setSalePrice(v.get(0).getGoodsSalePrice());
                    tOrderStockGoods.setThisSalePrice(v.get(0).getThisSalePrice());
                    tOrderStockGoods.setGoodsPicture(v.get(0).getGoodsPicture());
                    tOrderStockGoods.setStockCount(v.stream().mapToInt(TOrderSaleGoods::getGoodsCount).sum());
                    orderStockGoods.add(tOrderStockGoods);
@@ -338,7 +349,8 @@
                    tOrderStockGoods.setGoodsName(k);
                    tOrderStockGoods.setGoodsNum(v.get(0).getGoodsNum());
                    tOrderStockGoods.setCostPrice(v.get(0).getGoodsCostPrice());
                    tOrderStockGoods.setSalePrice(v.get(0).getSalePrice());
                    tOrderStockGoods.setSalePrice(v.get(0).getGoodsSalePrice());
                    tOrderStockGoods.setThisSalePrice(v.get(0).getThisSalePrice());
                    tOrderStockGoods.setGoodsPicture(v.get(0).getGoodsPicture());
                    tOrderStockGoods.setStockCount(v.stream().mapToInt(TOrderSaleGoods::getGoodsCount).sum());
                    orderStockGoods1.add(tOrderStockGoods);
@@ -366,7 +378,8 @@
                    tOrderStockGoods.setGoodsName(k);
                    tOrderStockGoods.setGoodsNum(v.get(0).getGoodsNum());
                    tOrderStockGoods.setCostPrice(v.get(0).getGoodsCostPrice());
                    tOrderStockGoods.setSalePrice(v.get(0).getSalePrice());
                    tOrderStockGoods.setSalePrice(v.get(0).getGoodsSalePrice());
                    tOrderStockGoods.setThisSalePrice(v.get(0).getThisSalePrice());
                    tOrderStockGoods.setGoodsPicture(v.get(0).getGoodsPicture());
                    tOrderStockGoods.setStockCount(v.stream().mapToInt(TOrderSaleGoods::getGoodsCount).sum());
                    orderStockGoods.add(tOrderStockGoods);
@@ -393,7 +406,10 @@
            orderSale.getOrderSaleGoods().forEach(e->e.setOrderId(orderSale.getId()));
        }
        List<TGoodsType> list = goodsTypeService.list();
        orderSaleGoods.forEach(e->e.setTypeName(list.stream().filter(m->m.getId().equals(e.getTypeId())).findFirst().get().getTypeName()));
//        orderSaleGoods.forEach(e->e.setTypeName(list.stream().filter(m->m.getId().equals(e.getTypeId())).findFirst().get().getTypeName()));
        orderSaleGoods.forEach(e->{
            e.setId(null);
        });
        orderSaleGoodsService.saveBatch(orderSaleGoods);
        // 添加数据
        stockList.forEach(e->e.setShopId(dataGenerator.getShopId()));
@@ -425,13 +441,14 @@
        }else {
            List<TOrderSale> orderSales = orderSaleService.list(Wrappers.lambdaQuery(TOrderSale.class)
                    .in(TOrderSale::getGeneratorId, ids));
            List<Long> saleIds = orderSales.stream().map(TOrderSale::getId).collect(Collectors.toList());
            List<TOrderSaleGoods> orderSaleGoods = orderSaleGoodsService.list(Wrappers.lambdaQuery(TOrderSaleGoods.class)
                    .in(TOrderSaleGoods::getOrderId, saleIds));
//            List<Long> saleIds = orderSales.stream().map(TOrderSale::getId).collect(Collectors.toList());
//            List<TOrderSaleGoods> orderSaleGoods = orderSaleGoodsService.list(Wrappers.lambdaQuery(TOrderSaleGoods.class)
//                    .in(TOrderSaleGoods::getOrderId, saleIds));
            for (TDataGeneratorVO tDataGeneratorVO : list) {
                List<Long> collect = orderSales.stream().filter(e -> e.getGeneratorId().equals(tDataGeneratorVO.getId())).map(TOrderSale::getId).collect(Collectors.toList());
                BigDecimal money = orderSaleGoods.stream().filter(e -> collect.contains(e.getOrderId()))
                        .reduce(BigDecimal.ZERO, (x, y) -> x.add(y.getGoodsCostPrice().multiply(new BigDecimal(y.getGoodsCount()))), BigDecimal::add);
//                List<Long> collect = orderSales.stream().filter(e -> e.getGeneratorId().equals(tDataGeneratorVO.getId())).map(TOrderSale::getId).collect(Collectors.toList());
//                BigDecimal money = orderSaleGoods.stream().filter(e -> collect.contains(e.getOrderId()))
//                        .reduce(BigDecimal.ZERO, (x, y) -> x.add(y.getGoodsCostPrice().multiply(new BigDecimal(y.getGoodsCount()))), BigDecimal::add);
                BigDecimal money = orderSales.stream().map(TOrderSale::getPayMoney).reduce(BigDecimal::add).get();
                tDataGeneratorVO.setTotalRevenue(money);
            }
        }
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TOrderMealServiceImpl.java
@@ -68,7 +68,7 @@
            board.setStatus(BoardEnum.DURING_MEAL.getCode());
            boardService.updateById(board);
            // 订单金额,订单编号
            String orderNum = OrderNumConstants.MEAL+CodeGenerateUtils.generateOrderSn();
            String orderNum = OrderNumConstants.MEAL+CodeGenerateUtils.generateVolumeSn();
            dto.setOrderNum(orderNum);
            List<TOrderMealGoods> orderMealGoods = new ArrayList<>();
            // 查询商品
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TOrderSaleServiceImpl.java
@@ -50,14 +50,18 @@
        // 查询菜品分类
        List<TGoodsType> list1 = goodsTypeService.list();
        // 销售单号
        dto.setOrderNum(OrderNumConstants.SALE + CodeGenerateUtils.generateOrderSn());
        dto.setOrderNum(OrderNumConstants.SALE + CodeGenerateUtils.generateVolumeSn());
        List<TOrderSaleGoods> orderSaleGoods = dto.getOrderSaleGoods();
        BigDecimal sum = orderSaleGoods.stream().map(TOrderSaleGoods::getGoodsSalePrice).reduce(BigDecimal::add).get();
        dto.setOrderMoney(sum);
        dto.setPayMoney(sum);
        BigDecimal sum1 = orderSaleGoods.stream().map(TOrderSaleGoods::getThisSalePrice).reduce(BigDecimal::add).get();
        dto.setPayMoney(sum1);
        this.save(dto);
        // 添加商品
        orderSaleGoods.forEach(orderSaleGoods1 -> orderSaleGoods1.setOrderId(dto.getId()));
        orderSaleGoods.forEach(orderSaleGoods1 -> {
            orderSaleGoods1.setOrderId(dto.getId());
            orderSaleGoods1.setId(null);
        });
        orderSaleGoodsService.saveBatch(orderSaleGoods);
    }
@@ -94,12 +98,17 @@
        PageInfo<TOrderSaleVO> pageInfo = new PageInfo<>(query.getPageNum(),query.getPageSize());
        List<TOrderSaleVO> list = this.baseMapper.pageList(query,pageInfo);
        List<Long> ids = list.stream().map(TOrderSaleVO::getId).collect(Collectors.toList());
        if(!CollectionUtils.isEmpty(ids)){
        List<TOrderSaleGoods> list1 = orderSaleGoodsService.list(Wrappers.lambdaQuery(TOrderSaleGoods.class)
                .in(TOrderSaleGoods::getOrderId, ids));
        list.forEach(e->{
            e.setGoodsAmount(list1.stream().filter(m->m.getOrderId().equals(e.getId())).map(TOrderSaleGoods::getGoodsSalePrice).reduce(BigDecimal::add).get());
            e.setOrderSaleGoods(list1.stream().filter(m->m.getOrderId().equals(e.getId())).collect(Collectors.toList()));
                List<TOrderSaleGoods> collect = list1.stream().filter(m -> m.getOrderId().equals(e.getId())).collect(Collectors.toList());
                if(!CollectionUtils.isEmpty(collect)){
                    e.setGoodsAmount(collect.stream().map(TOrderSaleGoods::getGoodsSalePrice).reduce(BigDecimal::add).get());
                    e.setOrderSaleGoods(collect);
                }
        });
        }
        pageInfo.setRecords(list);
        return pageInfo;
    }
@@ -130,16 +139,17 @@
    public List<SalesRankingVO> salesRanking(TDataStatisticsQuery query) {
        List<TOrderSale> list = this.list(Wrappers.lambdaQuery(TOrderSale.class)
                .eq(TOrderSale::getShopId, query.getShopId())
                .between(TOrderSale::getCreateTime, query.getStartTime(), query.getEndTime()));
                .between(TOrderSale::getOrderTime, query.getStartTime(), query.getEndTime()));
        List<Long> ids = list.stream().map(TOrderSale::getId).collect(Collectors.toList());
        List<SalesRankingVO> salesRankingVOS = new ArrayList<>();
        if(!CollectionUtils.isEmpty(ids)){
            List<TOrderSaleGoods> list1 = orderSaleGoodsService.list(Wrappers.lambdaQuery(TOrderSaleGoods.class)
                    .in(TOrderSaleGoods::getOrderId, ids));
            Map<String, List<TOrderSaleGoods>> listMap = list1.stream().collect(Collectors.groupingBy(TOrderSaleGoods::getTypeName));
            Map<Long, List<TOrderSaleGoods>> listMap = list1.stream().collect(Collectors.groupingBy(TOrderSaleGoods::getTypeId));
            List<TGoodsType> list2 = goodsTypeService.list();
            listMap.forEach((k,v)->{
                SalesRankingVO salesRankingVO = new SalesRankingVO();
                salesRankingVO.setTypeName(k);
                salesRankingVO.setTypeName(list2.stream().filter(e->e.getId().equals(k)).findFirst().get().getTypeName());
                salesRankingVO.setSalesVolume(v.stream().map(item->item.getGoodsSalePrice().multiply(new BigDecimal(item.getGoodsCount()))).reduce(BigDecimal.ZERO, BigDecimal::add));
                salesRankingVOS.add(salesRankingVO);
            });
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TOrderStockServiceImpl.java
@@ -43,7 +43,7 @@
    @Override
    public void add(TOrderStockDTO dto) {
        // 进货单号
        dto.setStockNum(OrderNumConstants.STOCK + CodeGenerateUtils.generateOrderSn());
        dto.setStockNum(OrderNumConstants.STOCK + CodeGenerateUtils.generateVolumeSn());
        List<TOrderStockGoods> orderStockGoods = dto.getOrderStockGoods();
//        BigDecimal sum = orderStockGoods.stream().map(TOrderStockGoods::getStockPrice).reduce(BigDecimal::add).get();
//        dto.setStockTotalPrice(sum);
ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
@@ -23,6 +23,7 @@
        <result property="updateBy"     column="update_by"    />
        <result property="updateTime"   column="update_time"  />
        <result property="remark"       column="remark"       />
        <result property="disableRemark"       column="disableRemark"       />
        <result property="roleType"       column="roleType"       />
        <result property="objectId"       column="objectId"       />
        <association property="dept"    javaType="SysDept"         resultMap="deptResult" />
@@ -51,7 +52,7 @@
    <sql id="selectUserVo">
        select u.user_id, u.dept_id, u.user_name , u.nick_name , u.email , u.avatar ,
               u.phonenumber  , u.password  , u.sex  , u.status  , u.del_flag  , u.login_ip  ,
               u.login_date  , u.create_by  , u.create_time  , u.remark  ,u.roleType  , u.objectId  ,
               u.login_date  , u.create_by  , u.create_time  , u.remark  ,u.roleType  , u.objectId  ,u.disableRemark,
               d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.order_num, d.leader, d.status as dept_status,
        r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.status as role_status
        from sys_user u
@@ -62,7 +63,8 @@
    
    <select id="selectUserList" parameterType="SysUser" resultMap="SysUserResult">
        select u.user_id, u.dept_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.sex, u.status, u.del_flag, u.login_ip, u.login_date,
               u.create_by, u.create_time, u.remark, d.dept_name, d.leader from sys_user u
               u.create_by, u.create_time, u.remark, d.dept_name, d.leader ,u.disableRemark
        from sys_user u
        left join sys_dept d on u.dept_id = d.dept_id
        where u.del_flag = '0'
        <if test="userId != null and userId != 0">
@@ -91,7 +93,7 @@
    </select>
    
    <select id="selectAllocatedList" parameterType="SysUser" resultMap="SysUserResult">
        select distinct u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.phonenumber, u.status, u.create_time
        select distinct u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.phonenumber, u.status, u.create_time,u.disableRemark
        from sys_user u
             left join sys_dept d on u.dept_id = d.dept_id
             left join sys_user_role ur on u.user_id = ur.user_id
@@ -108,7 +110,7 @@
    </select>
    
    <select id="selectUnallocatedList" parameterType="SysUser" resultMap="SysUserResult">
        select distinct u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.phonenumber, u.status, u.create_time
        select distinct u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.phonenumber, u.status, u.create_time,u.disableRemark
        from sys_user u
             left join sys_dept d on u.dept_id = d.dept_id
             left join sys_user_role ur on u.user_id = ur.user_id
@@ -133,7 +135,7 @@
    <select id="selectUserById" parameterType="Long" resultType="com.ruoyi.common.core.domain.entity.SysUser">
        select u.user_id AS userId, u.dept_id AS deptId, u.user_name AS userName, u.nick_name AS nickName, u.email AS email, u.avatar AS avatar,
               u.phonenumber AS phonenumber, u.sex AS sex, u.status AS status, u.del_flag AS delFlag, u.login_ip AS loginIp,
               u.login_date AS loginDate, u.create_by AS createBy, u.create_time AS createTime, u.remark AS remark,
               u.login_date AS loginDate, u.create_by AS createBy, u.create_time AS createTime, u.remark AS remark,u.disableRemark AS disableRemark
               ur.role_id AS roleId,sr.role_name AS roleName
        from sys_user u
        left join sys_user_role ur on u.user_id = ur.user_id
@@ -163,7 +165,7 @@
    <select id="selectList" resultType="com.ruoyi.common.core.domain.entity.SysUser">
        select u.user_id AS userId, u.dept_id AS deptId, u.user_name AS userName, u.nick_name AS nickName, u.email AS email, u.avatar AS avatar,
               u.phonenumber AS phonenumber, u.sex AS sex, u.status AS status, u.del_flag AS delFlag, u.login_ip AS loginIp,
               u.login_date AS loginDate, u.create_by AS createBy, u.create_time AS createTime, u.remark AS remark,u.ifBlack AS ifBlack, u.districtId AS districtId
               u.login_date AS loginDate, u.create_by AS createBy, u.create_time AS createTime, u.remark AS remark,u.disableRemark AS disableRemark
        from sys_user u
        WHERE u.del_flag = 0
    </select>
@@ -179,7 +181,7 @@
    <select id="selectListByNamePhone" resultType="com.ruoyi.common.core.domain.entity.SysUser">
        select u.user_id AS userId, u.dept_id AS deptId, u.user_name AS userName, u.nick_name AS nickName, u.email AS email, u.avatar AS avatar,
        u.phonenumber AS phonenumber, u.sex AS sex, u.status AS status, u.del_flag AS delFlag, u.login_ip AS loginIp,
        u.login_date AS loginDate, u.create_by AS createBy, u.create_time AS createTime, u.remark AS remark,u.ifBlack AS ifBlack, u.districtId AS districtId
        u.login_date AS loginDate, u.create_by AS createBy, u.create_time AS createTime, u.remark AS remark,u.disableRemark AS disableRemark
        from sys_user u
        WHERE u.del_flag = 0
        <if test="name != null and name != ''">
@@ -189,7 +191,7 @@
    </select>
    <select id="selectUserByUserNameList" resultType="com.ruoyi.common.core.domain.entity.SysUser">
        select u.user_id AS userId, u.dept_id AS deptId, u.user_name AS userName, u.nick_name AS nickName, u.email AS email, u.avatar AS avatar,
               u.phonenumber AS phonenumber
               u.phonenumber AS phonenumber,u.disableRemark AS disableRemark
        from sys_user u
        WHERE u.del_flag = 0
        <if test="names != null and names.size()>0">
@@ -208,7 +210,7 @@
    <select id="selectByPhone" resultType="com.ruoyi.common.core.domain.entity.SysUser">
        select u.user_id AS userId, u.dept_id AS deptId, u.user_name AS userName, u.nick_name AS nickName, u.email AS email, u.avatar AS avatar,
               u.phonenumber AS phonenumber, u.sex AS sex, u.status AS status, u.del_flag AS delFlag, u.login_ip AS loginIp,
               u.login_date AS loginDate, u.create_by AS createBy, u.create_time AS createTime, u.remark AS remark
               u.login_date AS loginDate, u.create_by AS createBy, u.create_time AS createTime, u.remark AS remark,u.disableRemark AS disableRemark
        from sys_user u where u.phonenumber = #{phonenumber} and u.status = 0 and u.del_flag = 0
    </select>
    <select id="getUserInfoBy" resultType="com.ruoyi.system.vo.UserInfoVo">
@@ -225,11 +227,11 @@
    <select id="pageList" resultType="com.ruoyi.system.vo.SysUserVO">
        select u.user_id AS userId, u.dept_id AS deptId, u.user_name AS userName, u.nick_name AS nickName, u.email AS email, u.avatar AS avatar,
               u.phonenumber AS phonenumber, u.sex AS sex, u.status AS status, u.del_flag AS delFlag, u.login_ip AS loginIp,
               u.login_date AS loginDate, u.create_by AS createBy, u.create_time AS createTime, u.remark AS remark,u.ifBlack AS ifBlack, u.districtId AS districtId,
               r.role_id AS roleId, r.role_name AS roleName, r.role_key AS roleKey, r.role_sort AS roleSort, r.data_scope AS dataScope, r.status as role_status,u.deptName as deptName
               u.login_date AS loginDate, u.create_by AS createBy, u.create_time AS createTime, u.remark AS remark,u.disableRemark AS disableRemark,
               r.role_id AS roleId, r.role_name AS roleName, r.role_key AS roleKey, r.role_sort AS roleSort, r.data_scope AS dataScope, r.status as role_status
        from sys_user u
        left join sys_user_role ur on u.user_id = ur.user_id
        left join sys_role r on r.role_id = ur.role_id
        left join sys_role r on ur.role_id = r.role_id
        WHERE u.del_flag = 0
        <if test="query.nickNameOrPhone != null and query.nickNameOrPhone != ''">
            AND (u.nick_name LIKE concat('%',#{query.nickNameOrPhone},'%')
@@ -302,6 +304,7 @@
             <if test="loginDate != null">login_date = #{loginDate},</if>
             <if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
             <if test="remark != null">remark = #{remark},</if>
             <if test="disableRemark != null">disableRemark = #{disableRemark},</if>
             update_time = sysdate()
         </set>
         where user_id = #{userId}
@@ -317,13 +320,6 @@
    
    <update id="resetUserPwd" parameterType="SysUser">
         update sys_user set password = #{password} where user_name = #{userName}
    </update>
    <update id="updateUserIfBlack">
        update sys_user set ifBlack = 0,safetyPoints = 12,update_time = sysdate()
        where user_id IN
        <foreach collection="ids" separator="," item="userId" open="(" close=")">
            #{userId}
        </foreach>
    </update>
    <update id="updatePassword">
        update sys_user set password = #{s} where user_id = #{id}
ruoyi-system/src/main/resources/mapper/system/TOrderMealMapper.xml
@@ -46,7 +46,7 @@
            <if test="query.status != null">
                and tom.status = #{query.status}
            </if>
            <if test="query.orderNum != null and query.orderNum">
            <if test="query.orderNum != null and query.orderNum != ''">
                and tom.orderNum LIKE concat('%',#{query.status},'%')
            </if>
            <if test="query.shopId != null">
ruoyi-system/src/main/resources/mapper/system/TOrderSaleGoodsMapper.xml
@@ -11,15 +11,14 @@
        <result column="goodsCostPrice" property="goodsCostPrice" />
        <result column="goodsSalePrice" property="goodsSalePrice" />
        <result column="goodsCount" property="goodsCount" />
        <result column="salePrice" property="salePrice" />
        <result column="thisSalePrice" property="thisSalePrice" />
        <result column="goodsPicture" property="goodsPicture" />
        <result column="typeName" property="typeName" />
        <result column="typeId" property="typeId" />
    </resultMap>
    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
        id, orderId, goodsNum, goodsName, goodsCostPrice, goodsSalePrice, goodsCount, salePrice, goodsPicture,typeName,typeId
        id, orderId, goodsNum, goodsName, goodsCostPrice, goodsSalePrice, goodsCount, thisSalePrice, goodsPicture,typeId
    </sql>
    <select id="costTotal" resultType="java.math.BigDecimal">
        select sum(goodsCostPrice) from t_order_meal_goods
ruoyi-system/src/main/resources/mapper/system/TOrderStockGoodsMapper.xml
@@ -12,11 +12,12 @@
        <result column="salePrice" property="salePrice" />
        <result column="goodsPicture" property="goodsPicture" />
        <result column="stockCount" property="stockCount" />
        <result column="thisSalePrice" property="thisSalePrice" />
    </resultMap>
    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
        id, orderId, goodsNum, goodsName, costPrice, salePrice, goodsPicture, stockCount
        id, orderId, goodsNum, goodsName, costPrice, salePrice, goodsPicture, stockCount,thisSalePrice
    </sql>
</mapper>