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