From a5c5fc7c86c37519dbe42b148b47ebfc00f89ca9 Mon Sep 17 00:00:00 2001
From: huliguo <2023611923@qq.com>
Date: 星期三, 09 七月 2025 10:56:42 +0800
Subject: [PATCH] bug修改
---
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteOrderService.java | 9 ++
ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsMapper.xml | 32 ++++++++
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/OrderGoodsMapper.java | 2
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtOneClinkSyncPageVO.java | 5 +
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/goods/GoodsService.java | 3
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/lottery/UserLotteryEventQuestionsAnswersServiceImpl.java | 3
ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/OneClinkSyncingMapper.xml | 9 ++
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/management/MgtGoodsController.java | 28 +++++-
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/goods/GoodsMapper.java | 2
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderService.java | 7 +
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java | 6 +
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderGoodsService.java | 4 +
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/config/OneClinkSyncing.java | 11 ++
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/MgtLotteryEventDetailVO.java | 2
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderGoodsServiceImpl.java | 6 +
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/lottery/LotteryEventPrizeServiceImpl.java | 1
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteOrderFallbackFactory.java | 6 +
ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderGoodsMapper.xml | 17 ++++
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtOneClinkSyncingPageDTO.java | 7 +
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/management/MgtLotteryEventController.java | 1
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/OneClinkSyncingServiceImpl.java | 9 +-
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/concole/OrderController.java | 12 +++
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/StaticsShopMgtGoodsVO.java | 21 +++++
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/goods/GoodsServiceImpl.java | 31 +++++++
24 files changed, 209 insertions(+), 25 deletions(-)
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/config/OneClinkSyncing.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/config/OneClinkSyncing.java
index efe74ef..fe4ee39 100644
--- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/config/OneClinkSyncing.java
+++ b/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
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/StaticsShopMgtGoodsVO.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/StaticsShopMgtGoodsVO.java
new file mode 100644
index 0000000..d4548f0
--- /dev/null
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/StaticsShopMgtGoodsVO.java
@@ -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;
+
+}
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteOrderFallbackFactory.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteOrderFallbackFactory.java
index 8806427..d5554cc 100644
--- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteOrderFallbackFactory.java
+++ b/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());
}
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteOrderService.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteOrderService.java
index bfa7ee7..f62f3ab 100644
--- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteOrderService.java
+++ b/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);
+
}
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/management/MgtGoodsController.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/management/MgtGoodsController.java
index eabdc44..888b2a4 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/management/MgtGoodsController.java
+++ b/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);
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/management/MgtLotteryEventController.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/management/MgtLotteryEventController.java
index faf9cfb..76928b7 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/management/MgtLotteryEventController.java
+++ b/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;
/**
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/MgtLotteryEventDetailVO.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/MgtLotteryEventDetailVO.java
index 2726c42..44b1332 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/MgtLotteryEventDetailVO.java
+++ b/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;
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/goods/GoodsMapper.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/goods/GoodsMapper.java
index 07e41e7..5cb60ff 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/goods/GoodsMapper.java
+++ b/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);
}
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/goods/GoodsService.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/goods/GoodsService.java
index 61d54e2..f9df2e7 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/goods/GoodsService.java
+++ b/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);
}
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/goods/GoodsServiceImpl.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/goods/GoodsServiceImpl.java
index 32aacf3..d5496ed 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/goods/GoodsServiceImpl.java
+++ b/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) {
//判断当前登录人员类型
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/lottery/LotteryEventPrizeServiceImpl.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/lottery/LotteryEventPrizeServiceImpl.java
index dfb8d5e..f3104f1 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/lottery/LotteryEventPrizeServiceImpl.java
+++ b/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;
/**
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/lottery/UserLotteryEventQuestionsAnswersServiceImpl.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/lottery/UserLotteryEventQuestionsAnswersServiceImpl.java
index 4ef8b98..fb662f1 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/lottery/UserLotteryEventQuestionsAnswersServiceImpl.java
+++ b/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;
diff --git a/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsMapper.xml b/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsMapper.xml
index e2cb612..d759f41 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsMapper.xml
+++ b/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) >= #{dto.createStartTime}
+ </if>
+ <if test="dto.createEndTime!=null and dto.createEndTime != ''">
+ AND Date(tg.create_time) <= #{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>
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/concole/OrderController.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/concole/OrderController.java
index a91a5b4..25826b4 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/concole/OrderController.java
+++ b/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);
+ }
}
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/OrderGoodsMapper.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/OrderGoodsMapper.java
index 011c397..016d469 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/OrderGoodsMapper.java
+++ b/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);
}
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderGoodsServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderGoodsServiceImpl.java
index 05b018d..02260ae 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderGoodsServiceImpl.java
+++ b/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);
+ }
}
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
index bc08919..ee04d7b 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
+++ b/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);
+ }
}
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderGoodsService.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderGoodsService.java
index 8fb0ee2..826e609 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderGoodsService.java
+++ b/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);
}
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderService.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderService.java
index 72813cc..6077b6b 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderService.java
+++ b/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);
}
diff --git a/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderGoodsMapper.xml b/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderGoodsMapper.xml
index 87791e3..33614da 100644
--- a/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderGoodsMapper.xml
+++ b/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>
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtOneClinkSyncingPageDTO.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtOneClinkSyncingPageDTO.java
index 1c6de66..1c002bd 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtOneClinkSyncingPageDTO.java
+++ b/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;
}
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtOneClinkSyncPageVO.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtOneClinkSyncPageVO.java
index 10f4f3f..26adc19 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtOneClinkSyncPageVO.java
+++ b/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;
}
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/OneClinkSyncingServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/OneClinkSyncingServiceImpl.java
index c419c1c..00aa8b5 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/OneClinkSyncingServiceImpl.java
+++ b/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();
diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/OneClinkSyncingMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/OneClinkSyncingMapper.xml
index c781269..87452bc 100644
--- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/OneClinkSyncingMapper.xml
+++ b/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 >= #{dto.syncingStartTime}
+ </if>
+ <if test="dto.createEndTime!=null and dto.createEndTime != ''">
+ AND syncing_time <= #{dto.syncingEndTime}
+ </if>
</select>
</mapper>
--
Gitblit v1.7.1