huliguo
昨天 a5c5fc7c86c37519dbe42b148b47ebfc00f89ca9
bug修改
1个文件已添加
23个文件已修改
234 ■■■■ 已修改文件
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/config/OneClinkSyncing.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/StaticsShopMgtGoodsVO.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteOrderFallbackFactory.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteOrderService.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/management/MgtGoodsController.java 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/management/MgtLotteryEventController.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/MgtLotteryEventDetailVO.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/goods/GoodsMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/goods/GoodsService.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/goods/GoodsServiceImpl.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/lottery/LotteryEventPrizeServiceImpl.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/lottery/UserLotteryEventQuestionsAnswersServiceImpl.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsMapper.xml 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/concole/OrderController.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/OrderGoodsMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderGoodsServiceImpl.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderGoodsService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderService.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderGoodsMapper.xml 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtOneClinkSyncingPageDTO.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtOneClinkSyncPageVO.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/OneClinkSyncingServiceImpl.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/OneClinkSyncingMapper.xml 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/config/OneClinkSyncing.java
@@ -5,11 +5,13 @@
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 lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;
@@ -84,13 +86,13 @@
    private Integer shopNum = 0;
    @TableField("create_time")
    private Date createTime;
    private LocalDateTime createTime;
    @TableField("create_user_id")
    private Long createUserId;
    @TableField("update_time")
    private Date updateTime;
    private LocalDateTime updateTime;
    @TableField("update_user_id")
    private Long updateUserId;
@@ -99,7 +101,8 @@
     * 最近一次同步时间
     */
    @TableField("syncing_time")
    private Date syncingTime;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime syncingTime;
    /**
     * 最近一次同步操作人
@@ -113,7 +116,9 @@
    @TableField("shop_ids")
    private String shopIds;
    @TableField(exist = false)
    private List<Long> shopIdList;
    @TableField(exist = false)
    private Long userId;
    @Override
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/StaticsShopMgtGoodsVO.java
New file
@@ -0,0 +1,21 @@
package com.ruoyi.system.api.domain.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
@Data
public class StaticsShopMgtGoodsVO {
    @ApiModelProperty(value = "商品总数")
    private Integer goodsNum;
    @ApiModelProperty(value = "总销量")
    private Integer goodsSellNum;
    @ApiModelProperty(value = "总销售额")
    private BigDecimal goodsSellCount;
}
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteOrderFallbackFactory.java
@@ -88,6 +88,12 @@
            }
            @Override
            public R<StaticsShopMgtGoodsVO> getGoodsSellStatic(List<String> orderIdList) {
                return R.fail("获取商品售卖统计失败:" + throwable.getMessage());
            }
            @Override
            public R<MgtBulletinBoardVo> boardOrderTotal(BoardMemberTotalDto boardMemberTotalDto) {
                return R.fail(throwable.getMessage());
            }
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteOrderService.java
@@ -118,4 +118,13 @@
     */
    @PostMapping("/order/getActivityOrderGoods")
    R<List<String>> getActivityOrderGoods(@RequestBody String activityId);
    /**
     * 获取商品售卖统计
     * @param orderIdList
     * @return
     */
    @PostMapping("/order/getGoodsSellStatic")
    R<StaticsShopMgtGoodsVO> getGoodsSellStatic(@RequestBody List<String> orderIdList);
}
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/management/MgtGoodsController.java
@@ -7,13 +7,11 @@
import com.ruoyi.common.log.enums.BusinessType;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.goods.domain.dto.*;
import com.ruoyi.goods.domain.vo.MgtGoodsEditInfoVo;
import com.ruoyi.goods.domain.vo.MgtGoodsPageVo;
import com.ruoyi.goods.domain.vo.MgtGoodsTotalVo;
import com.ruoyi.goods.domain.vo.PageShopMgtGoodsVO;
import com.ruoyi.goods.domain.vo.*;
import com.ruoyi.goods.service.goods.GoodsService;
import com.ruoyi.system.api.domain.dto.MgtBaseGetDto;
import com.ruoyi.system.api.domain.vo.MgtSelectGoodsPageVo;
import com.ruoyi.system.api.domain.vo.StaticsShopMgtGoodsVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.validation.annotation.Validated;
@@ -144,8 +142,28 @@
        return R.ok(page.setRecords(pageShopMgtGoods));
    }
    @RequestMapping(value = "/exportShopMgtGoods", method = RequestMethod.POST)
    @ApiOperation(value = "商品信息-分页获取门店内商品信息-导出【2.0】",tags = "管理台商户相关接口")
    public void exportShopMgtGoods(@RequestBody PageShopMgtGoodsDTO pageShopMgtGoodsDTO, HttpServletResponse response) {
        Page<PageShopMgtGoodsVO> page = new Page<>();
        if(pageShopMgtGoodsDTO.getPageSize() > 5000){
            page.setSize(5000);
            page.setCurrent(1);
        }else{
            page.setSize(pageShopMgtGoodsDTO.getPageSize());
            page.setCurrent(pageShopMgtGoodsDTO.getPageNum());
        }
        List<PageShopMgtGoodsVO> pageShopMgtGoods = goodsService.pageShopMgtGoods(page,pageShopMgtGoodsDTO);
        ExcelUtil<PageShopMgtGoodsVO> util = new ExcelUtil<PageShopMgtGoodsVO>(PageShopMgtGoodsVO.class);
        util.exportExcel(response, pageShopMgtGoods, "商品信息");
    }
    @RequestMapping(value = "/staticsShopMgtGoods", method = RequestMethod.POST)
    @ApiOperation(value = "商品信息-获取门店内商品信息统计汇总【2.0】",tags = "管理台商户相关接口")
    public R<StaticsShopMgtGoodsVO> staticsShopMgtGoods(@RequestBody PageShopMgtGoodsDTO pageShopMgtGoodsDTO) {
        return R.ok(goodsService.staticsShopMgtGoods(pageShopMgtGoodsDTO));
    }
    @RequestMapping(value = "/updateGoodsPrice", method = RequestMethod.POST)
    @Log(title = "商品管理", businessType = BusinessType.UPDATE,operContent = "修改门店内商品价格")
    @ApiOperation(value = "商品信息-修改价格【2.0】",tags = "管理台商户相关接口")
    public R<Void> updateGoodsPrice(@RequestBody UpdateGoodsPriceDTO updateGoodsPriceDTO) {
        return goodsService.updateGoodsPrice(updateGoodsPriceDTO);
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/management/MgtLotteryEventController.java
@@ -16,7 +16,6 @@
import javax.annotation.Resource;
import javax.validation.Valid;
import java.util.Collections;
import java.util.List;
/**
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/MgtLotteryEventDetailVO.java
@@ -2,8 +2,6 @@
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.goods.api.domain.TLotteryEventPrize;
import com.ruoyi.goods.domain.dto.MgtLotteryEventPrizeDTO;
import com.ruoyi.goods.domain.dto.MgtLotteryEventQuestionDTO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/goods/GoodsMapper.java
@@ -161,4 +161,6 @@
    List<String> listGoodsNameByGoodsClass(@Param("classId") Long classId);
    List<PageShopMgtGoodsVO> pageShopMgtGoods(Page<PageShopMgtGoodsVO> page,@Param("dto") PageShopMgtGoodsDTO dto);
    List<String>  staticsShopMgtGoods(@Param("dto") PageShopMgtGoodsDTO pageShopMgtGoodsDTO);
}
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/goods/GoodsService.java
@@ -11,6 +11,7 @@
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.system.api.domain.vo.MerGoodsPriceListVo;
import com.ruoyi.system.api.domain.vo.MgtSelectGoodsPageVo;
import com.ruoyi.system.api.domain.vo.StaticsShopMgtGoodsVO;
import java.util.List;
@@ -230,4 +231,6 @@
     * @return
     */
    R<Void> updateGoodsPrice(UpdateGoodsPriceDTO updateGoodsPriceDTO);
    StaticsShopMgtGoodsVO staticsShopMgtGoods(PageShopMgtGoodsDTO pageShopMgtGoodsDTO);
}
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/goods/GoodsServiceImpl.java
@@ -36,15 +36,15 @@
import com.ruoyi.system.api.domain.poji.sys.SysUser;
import com.ruoyi.system.api.domain.vo.MerGoodsPriceListVo;
import com.ruoyi.system.api.domain.vo.MgtSelectGoodsPageVo;
import com.ruoyi.system.api.domain.vo.ShopRelUserVo;
import com.ruoyi.system.api.domain.vo.StaticsShopMgtGoodsVO;
import com.ruoyi.system.api.service.RemoteConfigService;
import com.ruoyi.system.api.service.RemoteOrderService;
import com.ruoyi.system.api.service.RemoteShopService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.nio.charset.StandardCharsets;
import java.time.LocalDateTime;
import java.util.*;
import java.util.stream.Collectors;
@@ -768,7 +768,34 @@
        return list;
    }
    @Resource
    private  RemoteOrderService remoteOrderService;
    @Override
    public StaticsShopMgtGoodsVO staticsShopMgtGoods(PageShopMgtGoodsDTO pageShopMgtGoodsDTO) {
        StaticsShopMgtGoodsVO vo = new StaticsShopMgtGoodsVO();
        //1.查找门店
        Shop shop = remoteShopService.getShop(pageShopMgtGoodsDTO.getShopId()).getData();
        if (null == shop || shop.getDelFlag() != 0 || shop.getShopStatus() == -1) {
            return vo;
        }
        List<Shop> shops = new ArrayList<>();
        //2.判断门店是否经销商
        if (shop.getShopType()==1){
            //经销商 获取下级-加盟商ids
            shops = remoteShopService.getFranchiseeIdsBYDealerId(shop.getShopId());
        }
        //将该门店加入
        shops.add(shop);
        List<Long> shopIds = shops.stream().map(Shop::getShopId).collect(Collectors.toList());
        //查询信息
        pageShopMgtGoodsDTO.setShopIds(shopIds);
        //3.根据shopId查询商品ids
        List<String> goodsId= goodsMapper.staticsShopMgtGoods(pageShopMgtGoodsDTO);
        //查询商品销量 销售额
        return remoteOrderService.getGoodsSellStatic(goodsId).getData();
    }
    @Override
    public R<Void> updateGoodsPrice(UpdateGoodsPriceDTO updateGoodsPriceDTO) {
        //判断当前登录人员类型
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/lottery/LotteryEventPrizeServiceImpl.java
@@ -6,7 +6,6 @@
import com.ruoyi.goods.service.lottery.ILotteryEventPrizeService;
import org.springframework.stereotype.Service;
import java.util.Collections;
import java.util.List;
/**
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/lottery/UserLotteryEventQuestionsAnswersServiceImpl.java
@@ -3,19 +3,16 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.goods.api.domain.TLotteryEvent;
import com.ruoyi.goods.api.domain.TLotteryEventQuestionsAnswers;
import com.ruoyi.goods.api.domain.TUserLotteryEventQuestionsAnswers;
import com.ruoyi.goods.domain.vo.MgtUserAnswersPageVO;
import com.ruoyi.goods.mapper.lottery.UserLotteryEventQuestionsAnswersMapper;
import com.ruoyi.goods.service.lottery.ILotteryEventQuestionsAnswersService;
import com.ruoyi.goods.service.lottery.ILotteryEventService;
import com.ruoyi.goods.service.lottery.IUserLotteryEventQuestionsAnswersService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.Collections;
import java.util.List;
ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsMapper.xml
@@ -579,4 +579,36 @@
        ORDER BY tg.create_time DESC
    </select>
    <select id="staticsShopMgtGoods" resultType="java.lang.String">
        select
        tg.goods_id
        from t_goods tg
        LEFT JOIN t_shop_goods tsg on tg.goods_id = tsg.goods_id and tsg.del_flag = 0
        WHERE tg.del_flag = 0
        <if test="dto.goodsType != null and dto.goodsType != ''">
            AND tg.goods_type = #{dto.goodsType}
        </if>
        <if test="dto.goodsClassId != null and dto.goodsClassId != ''">
            AND tg.goods_class_id = #{dto.goodsClassId}
        </if>
        <if test="dto.createStartTime!=null and dto.createStartTime != ''">
            AND Date(tg.create_time) &gt;= #{dto.createStartTime}
        </if>
        <if test="dto.createEndTime!=null and dto.createEndTime != ''">
            AND Date(tg.create_time) &lt;= #{dto.createEndTime}
        </if>
        <if test="dto.goodsName != null and dto.goodsName != ''">
            AND tg.goods_name LIKE CONCAT('%',#{dto.goodsName},'%')
        </if>
        <if test="dto.goodsStatus != null and dto.goodsStatus != ''">
            AND tg.goods_status = #{dto.goodsStatus}
        </if>
        <if test="dto.shopIds != null and dto.shopIds.size() > 0">
            AND tsg.shop_id IN
            <foreach collection="param.shopIds" item="item" open="(" separator="," close=")">
                #{item}
            </foreach>
        </if>
    </select>
</mapper>
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/concole/OrderController.java
@@ -187,4 +187,16 @@
        List<String> activityOrderGoods = orderService.getActivityOrderGoods(activityId);
        return R.ok(activityOrderGoods);
    }
    /**
     * 获取商品售卖统计
     * @param goodsIdList
     * @return
     */
    @PostMapping("/order/getGoodsSellStatic")
    R<StaticsShopMgtGoodsVO> getGoodsSellStatic(@RequestBody List<String> goodsIdList){
        StaticsShopMgtGoodsVO vo = orderService.getGoodsSellStatic(goodsIdList);
        vo.setGoodsNum(goodsIdList.size());
        return R.ok(vo);
    }
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/OrderGoodsMapper.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.order.domain.vo.AppUserOrderGoodsPageVo;
import com.ruoyi.order.domain.vo.MgtOrderGoodsDetailVo;
import com.ruoyi.system.api.domain.vo.StaticsShopMgtGoodsVO;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@@ -34,4 +35,5 @@
     */
    List<MgtOrderGoodsDetailVo> listMgtVoByOrderId(@Param("orderId")String orderId);
    StaticsShopMgtGoodsVO getGoodsSellStatic(@Param("goodsIdList")List<String> goodsIdList);
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderGoodsServiceImpl.java
@@ -8,6 +8,7 @@
import com.ruoyi.order.domain.vo.MgtOrderGoodsDetailVo;
import com.ruoyi.order.mapper.order.OrderGoodsMapper;
import com.ruoyi.order.service.order.OrderGoodsService;
import com.ruoyi.system.api.domain.vo.StaticsShopMgtGoodsVO;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@@ -66,4 +67,9 @@
        queryWrapper.eq(OrderGoods::getOrderId,orderId);
        return this.list(queryWrapper);
    }
    @Override
    public StaticsShopMgtGoodsVO getGoodsSellStatic(List<String> goodsIdList) {
        return orderGoodsMapper.getGoodsSellStatic(goodsIdList);
    }
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
@@ -72,7 +72,6 @@
import com.ruoyi.system.api.model.QwH5LoginVo;
import com.ruoyi.system.api.model.QwUserDetailDto;
import com.ruoyi.system.api.service.*;
import io.seata.spring.annotation.GlobalTransactional;
import lombok.extern.log4j.Log4j2;
import org.redisson.api.RLock;
import org.redisson.api.RedissonClient;
@@ -6881,4 +6880,9 @@
         vo = orderMapper.getPlTotalThirdOrderStatics(mgtBasePlatformDto);
        return vo;
    }
    @Override
    public StaticsShopMgtGoodsVO getGoodsSellStatic(List<String> goodsIdList) {
        return orderGoodsService.getGoodsSellStatic(goodsIdList);
    }
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderGoodsService.java
@@ -4,6 +4,8 @@
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.order.domain.vo.AppUserOrderGoodsPageVo;
import com.ruoyi.order.domain.vo.MgtOrderGoodsDetailVo;
import com.ruoyi.system.api.domain.vo.StaticsShopMgtGoodsVO;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@@ -43,4 +45,6 @@
     * @return  List<OrderGoods>
     */
    List<OrderGoods> listByOrderId(String orderId);
    StaticsShopMgtGoodsVO getGoodsSellStatic(@Param("goodsIdList") List<String> goodsIdList);
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderService.java
@@ -645,4 +645,11 @@
     * @return
     */
    MgtPlTotalThirdOrderStaticsVO getPlTotalThirdOrderStatics(MgtBasePlatformDto mgtBasePlatformDto);
    /**
     * 获取商品售卖统计
     * @param goodsIdList
     * @return
     */
    StaticsShopMgtGoodsVO getGoodsSellStatic(List<String> goodsIdList);
}
ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderGoodsMapper.xml
@@ -136,4 +136,21 @@
        INNER JOIN t_order_goods tog ON tog.order_id = toc.order_id
        WHERE toc.del_flag = 0 AND toc.order_id = #{orderId}
    </select>
    <select id="getGoodsSellStatic" resultType="com.ruoyi.system.api.domain.vo.StaticsShopMgtGoodsVO">
        SELECT
        SUM(og.buy_num) AS total_sales_volume,
        SUM(og.buy_num * og.goods_price) AS total_sales_amount
        FROM
        t_order_goods og
        JOIN
        t_order o ON og.order_id = o.order_id
        WHERE
        og.goods_id IN
        <foreach collection="goodsIds" item="goodsId" open="(" separator="," close=")">
            #{goodsId}
        </foreach>
        AND o.del_flag = 0
        AND o.order_status IN (2, 3)  <!-- 只统计已支付和已完成订单 -->
        AND og.del_flag = 0
    </select>
</mapper>
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtOneClinkSyncingPageDTO.java
@@ -3,6 +3,9 @@
import com.ruoyi.system.api.domain.dto.MgtPageDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.cglib.core.Local;
import java.time.LocalDateTime;
@Data
public class MgtOneClinkSyncingPageDTO  {
@@ -15,8 +18,8 @@
    private String syncingName;
    @ApiModelProperty(value = "操作同步时间范围-开始时间")
    private String syncingStartTime;
    private LocalDateTime syncingStartTime;
    @ApiModelProperty(value = "操作同步时间范围-结束时间")
    private String syncingEndTime;
    private LocalDateTime syncingEndTime;
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtOneClinkSyncPageVO.java
@@ -1,8 +1,10 @@
package com.ruoyi.system.domain.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDateTime;
import java.util.Date;
@Data
@@ -22,5 +24,6 @@
    @ApiModelProperty(value = "同步门店数")
    private Integer shopNum;
    @ApiModelProperty(value = "最近一次同步时间")
    private Date syncingTime;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime syncingTime;
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/OneClinkSyncingServiceImpl.java
@@ -18,6 +18,7 @@
import com.ruoyi.system.service.config.OneClinkSyncingService;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
@@ -55,11 +56,11 @@
            if(oneClinkSyncing.getDelFlag() != 0 ){
                return R.fail("该一键同步不存在");
            }
            oneClinkSyncing.setUpdateTime(new Date());
            oneClinkSyncing.setUpdateTime(LocalDateTime.now());
            oneClinkSyncing.setUpdateUserId(dto.getUserId());
        }else {
            oneClinkSyncing.setCreateUserId(dto.getUserId());
            oneClinkSyncing.setCreateTime(new Date());
            oneClinkSyncing.setCreateTime(LocalDateTime.now());
        }
        oneClinkSyncing.setSyncingName(dto.getSyncingName());
        oneClinkSyncing.setCoverUrl(dto.getCoverUrl());
@@ -107,7 +108,7 @@
            return R.ok();
        }
        oneClinkSyncing.setDelFlag(1);
        oneClinkSyncing.setUpdateTime(new Date());
        oneClinkSyncing.setUpdateTime(LocalDateTime.now());
        oneClinkSyncing.setUpdateUserId(SecurityUtils.getUserId());
        this.updateById(oneClinkSyncing);
        return R.ok();
@@ -126,7 +127,7 @@
        R r = remoteShopService.updateShopByOneClinkSyncing(oneClinkSyncing);
        oneClinkSyncing.setSyncingTime(new Date());
        oneClinkSyncing.setSyncingTime(LocalDateTime.now());
        oneClinkSyncing.setSyncingUserId(SecurityUtils.getUserId());
        this.updateById(oneClinkSyncing);
        return R.ok();
ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/OneClinkSyncingMapper.xml
@@ -17,5 +17,14 @@
            t_one_clink_syncing
        where
            del_flag=0
        <if test="null != dto.syncingName and ''!= dto.syncingName">
            and syncing_name like concat('%',#{dto.syncingName},'%')
        </if>
        <if test="dto.syncingStartTime!=null and dto.syncingStartTime != ''">
            AND  syncing_time &gt;= #{dto.syncingStartTime}
        </if>
        <if test="dto.createEndTime!=null and dto.createEndTime != ''">
            AND syncing_time &lt;= #{dto.syncingEndTime}
        </if>
    </select>
</mapper>