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