From 0cf3e63218f09805c19763d3b828537ef3a895cc Mon Sep 17 00:00:00 2001 From: huliguo <2023611923@qq.com> Date: 星期六, 26 七月 2025 19:14:28 +0800 Subject: [PATCH] bug修改 --- ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopService.java | 2 + ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml | 27 +++++++------ ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/management/MgtShopController.java | 6 +++ ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MgtBasePlatformDto.java | 4 ++ ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/shop/ShopMapper.java | 3 + ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtOneClinkSyncingPageDTO.java | 3 + ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtOneClinkSyncingVO.java | 4 +- ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java | 30 ++++++++++++++ ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java | 8 +++ ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopMapper.xml | 28 +++++++++++++ 10 files changed, 98 insertions(+), 17 deletions(-) diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MgtBasePlatformDto.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MgtBasePlatformDto.java index 242f255..dee84f3 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MgtBasePlatformDto.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MgtBasePlatformDto.java @@ -3,6 +3,7 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.time.LocalDateTime; import java.util.List; /** @@ -50,4 +51,7 @@ @ApiModelProperty(value = "年龄层 1 <20,2 21-30,3 31-40,4 41-50,5 >50") private Integer ageType; + + private LocalDateTime startTime; + private LocalDateTime endTime; } 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 e412dd7..9d6ea99 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 @@ -93,6 +93,7 @@ import java.text.SimpleDateFormat; import java.time.LocalDate; import java.time.LocalDateTime; +import java.time.LocalTime; import java.time.ZoneOffset; import java.time.format.DateTimeFormatter; import java.util.*; @@ -4041,7 +4042,7 @@ Map<Long, MgtSimpleShopVo> shopMap = null; Map<Long, MgtSimpleMemberVo> userMap = null; if (shopIdSet != null && !shopIdSet.isEmpty()) { - String shopJoinedString = String.join(",", shopIdSet.stream().map(Object::toString).collect(Collectors.toList())); + String shopJoinedString = String.join(",", shopIdSet.stream().filter(Objects::nonNull).map(Object::toString).collect(Collectors.toList())); MgtBaseBathDto mgtBaseBathDto = new MgtBaseBathDto(); mgtBaseBathDto.setIds(shopJoinedString); List<MgtSimpleShopVo> simpleShopVoList = remoteShopService.listShopSimpleVoByIds(mgtBaseBathDto).getData(); @@ -7305,6 +7306,11 @@ } mgtBasePlatformDto.setShopIdList(shopIdList); // 从数据库中获取第三方订单统计 + DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + mgtBasePlatformDto.setStartTime(LocalDate.parse(mgtBasePlatformDto.getStartDate(), dateFormatter) + .atStartOfDay()); + mgtBasePlatformDto.setEndTime(LocalDate.parse(mgtBasePlatformDto.getEndDate(), dateFormatter) + .atTime(LocalTime.MAX)); vo = orderMapper.getPlTotalThirdOrderStatics(mgtBasePlatformDto); return vo; } diff --git a/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml b/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml index 5fd20f0..ec9d8f0 100644 --- a/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml +++ b/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml @@ -1194,17 +1194,17 @@ <select id="getPlTotalOrderTotalOrderFrom" resultType="com.ruoyi.order.domain.vo.MgtTotalOrderTotalVo"> SELECT COUNT(order_id) orderTotal, - IFNULL(SUM(CASE WHEN order_from in (1,5,6,7) THEN 1 ELSE 0 END),0) onlineTotal, + IFNULL(SUM(CASE WHEN order_from = 1 THEN 1 ELSE 0 END),0) onlineTotal, IFNULL(SUM(CASE WHEN order_from = 3 THEN 1 ELSE 0 END),0) offlineTotal, IFNULL(SUM(CASE WHEN order_from = 2 THEN 1 ELSE 0 END),0) activityTotal, IFNULL(SUM(CASE WHEN order_from = 5 THEN 1 ELSE 0 END),0) meituan, - IFNULL(SUM(CASE WHEN order_from = 5 THEN (CASE WHEN null = change_receivable_money or change_receivable_money = 0 THEN receivable_money ELSE change_receivable_money END) ELSE 0 END),0) meituanAmount, + IFNULL(SUM(CASE WHEN order_from = 5 THEN receivable_money ELSE 0 END),0) meituanAmount, IFNULL(SUM(CASE WHEN order_from = 6 THEN 1 ELSE 0 END),0) douyin, - IFNULL(SUM(CASE WHEN order_from = 6 THEN (CASE WHEN null = change_receivable_money or change_receivable_money = 0 THEN receivable_money ELSE change_receivable_money END) ELSE 0 END),0) douyinAmount, + IFNULL(SUM(CASE WHEN order_from = 6 THEN receivable_money ELSE 0 END),0) douyinAmount, IFNULL(SUM(CASE WHEN order_from = 7 THEN 1 ELSE 0 END),0) kuaishou, - IFNULL(SUM(CASE WHEN order_from = 7 THEN (CASE WHEN null = change_receivable_money or change_receivable_money = 0 THEN receivable_money ELSE change_receivable_money END) ELSE 0 END),0) kuaishouAmount, + IFNULL(SUM(CASE WHEN order_from = 7 THEN receivable_money ELSE 0 END),0) kuaishouAmount, IFNULL(SUM(CASE WHEN null = change_receivable_money or change_receivable_money = 0 THEN receivable_money ELSE change_receivable_money END),0) orderMoney, - IFNULL(SUM(CASE WHEN order_from in (1,5,6,7) THEN (CASE WHEN null = change_receivable_money or change_receivable_money = 0 THEN receivable_money ELSE change_receivable_money END) ELSE 0 END),0) onlineMoney, + IFNULL(SUM(CASE WHEN order_from = 1 THEN (CASE WHEN null = change_receivable_money or change_receivable_money = 0 THEN receivable_money ELSE change_receivable_money END) ELSE 0 END),0) onlineMoney, IFNULL(SUM(CASE WHEN order_from = 3 THEN (CASE WHEN null = change_receivable_money or change_receivable_money = 0 THEN receivable_money ELSE change_receivable_money END) ELSE 0 END),0) offlineMoney, IFNULL(SUM(CASE WHEN order_from = 2 THEN (CASE WHEN null = change_receivable_money or change_receivable_money = 0 THEN receivable_money ELSE change_receivable_money END) ELSE 0 END),0) activityMoney FROM t_order WHERE del_flag = 0 AND order_status = 3 @@ -1635,7 +1635,7 @@ <select id="getMerOrderTotalOrderFrom" resultType="com.ruoyi.order.domain.vo.MerOrderTotalVo"> SELECT COUNT(order_id) orderTotal, - IFNULL(SUM(CASE WHEN order_from in (1,4,5,6,7) THEN 1 ELSE 0 END),0) onlineTotal, + IFNULL(SUM(CASE WHEN order_from = 1 THEN 1 ELSE 0 END),0) onlineTotal, IFNULL(SUM(CASE WHEN order_from = 3 THEN 1 ELSE 0 END),0) offlineTotal, IFNULL(SUM(CASE WHEN order_from = 2 THEN 1 ELSE 0 END),0) activityTotal, IFNULL(SUM(CASE WHEN null = change_receivable_money or change_receivable_money = 0 THEN receivable_money ELSE change_receivable_money END),0) orderMoney, @@ -2222,7 +2222,7 @@ WHEN 7 THEN '快手' END orderFrom, tog.goods_name goodsName, - IFNULL(CASE WHEN null = change_receivable_money or change_receivable_money = 0 THEN receivable_money ELSE change_receivable_money END,0) orderMoney, + IFNULL(toc.receivable_money,0) orderMoney, toc.validity_time validityTime, CASE WHEN toc.order_status = 3 THEN toc.shop_id ELSE NULL END shopId, toc.use_time verifyTime @@ -2262,11 +2262,11 @@ IFNULL(SUM(CASE WHEN order_from = 7 THEN 1 ELSE 0 END), 0) AS kuaishou, IFNULL(SUM(CASE WHEN order_from = 8 THEN 1 ELSE 0 END), 0) AS xiaoeyun, -- 订单金额统计(取order_money) - IFNULL(SUM(CASE WHEN null = change_receivable_money or change_receivable_money = 0 THEN receivable_money ELSE change_receivable_money END),0) AS orderTotalMoney, - IFNULL(SUM(CASE WHEN order_from = 5 THEN (CASE WHEN null = change_receivable_money or change_receivable_money = 0 THEN receivable_money ELSE change_receivable_money END) ELSE 0 END),0) meituanMoney, - IFNULL(SUM(CASE WHEN order_from = 6 THEN (CASE WHEN null = change_receivable_money or change_receivable_money = 0 THEN receivable_money ELSE change_receivable_money END) ELSE 0 END),0) douyinMoney, - IFNULL(SUM(CASE WHEN order_from = 7 THEN (CASE WHEN null = change_receivable_money or change_receivable_money = 0 THEN receivable_money ELSE change_receivable_money END) ELSE 0 END),0) kuaishouMoney, - IFNULL(SUM(CASE WHEN order_from = 8 THEN (CASE WHEN null = change_receivable_money or change_receivable_money = 0 THEN receivable_money ELSE change_receivable_money END) ELSE 0 END),0) xiaoeyunMoney + IFNULL(SUM(receivable_money),0) AS orderTotalMoney, + IFNULL(SUM(CASE WHEN order_from = 5 THEN receivable_money ELSE 0 END),0) meituanMoney, + IFNULL(SUM(CASE WHEN order_from = 6 THEN receivable_money ELSE 0 END),0) douyinMoney, + IFNULL(SUM(CASE WHEN order_from = 7 THEN receivable_money ELSE 0 END),0) kuaishouMoney, + IFNULL(SUM(CASE WHEN order_from = 8 THEN receivable_money ELSE 0 END),0) xiaoeyunMoney FROM t_order WHERE @@ -2279,5 +2279,8 @@ #{item} </foreach> </if> + <if test="param.startTime!=null and param.endTime != null"> + and create_time between #{param.startTime} and #{param.endTime} + </if> </select> </mapper> diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/management/MgtShopController.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/management/MgtShopController.java index d9fb7f6..57bee7b 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/management/MgtShopController.java +++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/management/MgtShopController.java @@ -252,6 +252,12 @@ return R.ok(); } + @RequestMapping(value = "/getRelUserShopNames", method = RequestMethod.GET) + @ApiOperation(value = "获取关联账户已绑定门店【2.0】") + public R<List<String>> getRelUserShop(@RequestParam Long userId) { + return R.ok(shopService.getRelUserShop(userId)); + } + @RequestMapping(value = "/getMgtShopInfo", method = RequestMethod.POST) @ApiOperation(value = "获取商户详情【2.0】") public R<MgtShopInfoVo> getMgtShopInfo(@RequestBody MgtBaseGetDto mgtBaseGetDto) { diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/shop/ShopMapper.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/shop/ShopMapper.java index 4f6f949..cd47875 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/shop/ShopMapper.java +++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/shop/ShopMapper.java @@ -312,4 +312,7 @@ void updateShopByOneClinkSyncing(@Param("param") OneClinkSyncing oneClinkSyncing); + List<Long> getShopListBySignAreaCodes(@Param("list")List<String> areaCodes); + + void updateBelongShopIdBatch(@Param("list")List<Long> shopIds, @Param("shopId")Long shopId); } diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java index 981dd7f..75a34d8 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java +++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java @@ -1998,6 +1998,21 @@ if (shop.getShopType()==2){ //经销商转加盟商: 先解绑该经销商下所有加盟商 shopMapper.setBelongShopIdNull(shopId); + } else { + //该加盟商所属区域下的加盟商 改为该新转换的经销商 + List<String> areaCodes = Optional.ofNullable(shop.getSignAreaCode()) + .map(codes -> codes.split(";")) + .map(Arrays::asList) + .orElse(Collections.emptyList());//签约区域 + if (!areaCodes.isEmpty()){ + // 1. 查询符合条件的加盟商列表 + List<Long> shopIds = shopMapper.getShopListBySignAreaCodes(areaCodes); + + // 2. 批量更新(优化性能,避免循环中单条更新) + if(null != shopIds && !shopIds.isEmpty()){ + shopMapper.updateBelongShopIdBatch(shopIds,shop.getShopId()); + } + } } shop.setUpdateUserId(SecurityUtils.getUserId()); shopMapper.updateById(shop); @@ -2052,11 +2067,24 @@ .setDelFlag(0)); } } - shopFileService.saveBatch(coverUrlList); + shopFileService.saveBatch(bannerList); //批量修改门店信息 oneClinkSyncing.setShopIdList(shopIdList); shopMapper.updateShopByOneClinkSyncing(oneClinkSyncing); return R.ok(); } + + @Override + public List<String> getRelUserShop(Long userId) { + List<ShopRelUser> shopRelUserList = shopRelUserService.getByUserId(userId); + List<Long> shopIds = shopRelUserList.stream().map(ShopRelUser::getShopId).collect(Collectors.toList()); + if(!shopIds.isEmpty()){ + List<Shop> shops = shopMapper.selectList(new LambdaQueryWrapper<Shop>() + .ne(Shop::getShopStatus,-1) + .in(Shop::getShopId,shopIds)); + return shops.stream().map(Shop::getShopName).collect(Collectors.toList()); + } + return null; + } } diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopService.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopService.java index e0883a5..e10a588 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopService.java +++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopService.java @@ -489,4 +489,6 @@ * 一键同步商户信息 */ R updateShopByOneClinkSyncing(OneClinkSyncing oneClinkSyncing); + + List<String> getRelUserShop(Long userId); } diff --git a/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopMapper.xml b/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopMapper.xml index dadb689..fdc4a43 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopMapper.xml +++ b/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopMapper.xml @@ -597,7 +597,7 @@ FROM t_shop WHERE del_flag = 0 AND shop_status = 1 <if test="param.cityCodeList !=null and param.cityCodeList.size()>0" > - AND shop_city_code IN + AND shop_area_code IN <foreach collection="param.cityCodeList" item="item" open="(" separator="," close=")"> #{item} </foreach> @@ -1194,6 +1194,15 @@ #{id} </foreach> </update> + <update id="updateBelongShopIdBatch"> + UPDATE t_shop + SET belong_shop_id = #{shopId}, + update_time = NOW() + WHERE shop_id IN + <foreach collection="list" item="shopId" open="(" separator="," close=")"> + #{shopId} + </foreach> + </update> <select id="listShopIdByCityCode" resultType="java.lang.Long"> SELECT shop_id @@ -1284,5 +1293,22 @@ </if> </select> + <select id="getShopListBySignAreaCodes" resultType="java.lang.Long"> + SELECT shop_id FROM t_shop + WHERE del_flag = 0 + and shop_type = 2 + AND shop_status != -1 + <if test="list != null and list.size() > 0"> + AND ( + <foreach collection="list" item="code" separator=" OR "> + sign_area_code = #{code} + OR sign_area_code LIKE CONCAT(#{code}, ';%') + OR sign_area_code LIKE CONCAT('%;', #{code}, ';%') + OR sign_area_code LIKE CONCAT('%;', #{code}) + </foreach> + ) + </if> + </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 1c002bd..5ad529e 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 @@ -1,5 +1,6 @@ package com.ruoyi.system.domain.dto; +import com.fasterxml.jackson.annotation.JsonFormat; import com.ruoyi.system.api.domain.dto.MgtPageDto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -18,8 +19,10 @@ private String syncingName; @ApiModelProperty(value = "操作同步时间范围-开始时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime syncingStartTime; @ApiModelProperty(value = "操作同步时间范围-结束时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime syncingEndTime; } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtOneClinkSyncingVO.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtOneClinkSyncingVO.java index f50f852..3006c9c 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtOneClinkSyncingVO.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtOneClinkSyncingVO.java @@ -22,11 +22,11 @@ private String detailsPicture; @ApiModelProperty("领券1开2关") - private String platformCouponFlag; + private Integer platformCouponFlag; @ApiModelProperty("生日卡1开2关") - private String platformBirthdayFlag; + private Integer platformBirthdayFlag; @ApiModelProperty("店铺详情") private String shopDetail; -- Gitblit v1.7.1