From ddf3f19408fb311734218aaaa5edb49c5134b1eb Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期三, 08 一月 2025 21:14:36 +0800
Subject: [PATCH] 修改bug

---
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/ShopServiceImpl.java |   60 ++++++++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 44 insertions(+), 16 deletions(-)

diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/ShopServiceImpl.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/ShopServiceImpl.java
index 16b42b6..c483fe4 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/ShopServiceImpl.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/ShopServiceImpl.java
@@ -19,16 +19,16 @@
 import com.ruoyi.other.service.ShopScoreService;
 import com.ruoyi.other.service.ShopService;
 import com.ruoyi.other.vo.NearbyShopVO;
+import com.ruoyi.other.vo.SaveWithdrawalAccount;
 import com.ruoyi.other.vo.ShopDetailVO;
+import com.ruoyi.system.api.domain.SysUser;
+import com.ruoyi.system.api.feignClient.SysUserClient;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
 import java.math.BigDecimal;
 import java.math.RoundingMode;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -49,6 +49,8 @@
     private AppUserClient appUserClient;
     @Resource
     private TokenService tokenService;
+    @Resource
+    private SysUserClient sysUserClient;
 
 
     @Override
@@ -71,20 +73,25 @@
         List<NearbyShopVO> nearbyShopVOS = shopMapper.selectNearbyShopList(longitude, longitude);
         if(null != appUser && null != appUser.getShopId()){
             AppUser finalAppUser = appUser;
-            NearbyShopVO nearbyShopVO = nearbyShopVOS.stream().filter(s -> s.getId().equals(finalAppUser.getShopId().longValue())).findFirst().get();
-            if(null != nearbyShopVO){
-                nearbyShopVOS.remove(nearbyShopVO);
+            Optional<NearbyShopVO> first = nearbyShopVOS.stream().filter(s -> s.getId().equals(finalAppUser.getShopId().longValue())).findFirst();
+            if(first.isPresent()){
+                NearbyShopVO nearbyShopVO = first.get();
+                if(null != nearbyShopVO){
+                    nearbyShopVOS.remove(nearbyShopVO);
+                }
             }
 
             Shop shop = shopMapper.selectById(appUser.getShopId());
-            NearbyShopVO vo = new NearbyShopVO();
-            vo.setId(appUser.getShopId().longValue());
-            vo.setName(shop.getName());
-            vo.setAddress(shop.getAddress());
-            vo.setHomePicture(shop.getHomePicture());
-            Double wgs84 = GeodesyUtil.getDistance(longitude.toString() + "," + latitude.toString(), shop.getLongitude() + "," + shop.getLatitude()).get("WGS84");
-            vo.setDistance(wgs84.toString());
-            nearbyShopVOS.add(0, vo);
+            if(null != shop){
+                NearbyShopVO vo = new NearbyShopVO();
+                vo.setId(appUser.getShopId().longValue());
+                vo.setName(shop.getName());
+                vo.setAddress(shop.getAddress());
+                vo.setHomePicture(shop.getHomePicture());
+                Double wgs84 = GeodesyUtil.getDistance(longitude.toString() + "," + latitude.toString(), shop.getLongitude() + "," + shop.getLatitude()).get("WGS84");
+                vo.setDistance(wgs84.toString());
+                nearbyShopVOS.add(0, vo);
+            }
         }
         if (nearbyShopVOS == null || nearbyShopVOS.isEmpty()) {
             return Collections.emptyList();
@@ -112,12 +119,14 @@
 
     @Override
     public ShopDetailVO getShopDetail(Integer shopId, BigDecimal longitude, BigDecimal latitude) {
+        Long userid = tokenService.getLoginUserApplet().getUserid();
         // 查询店铺详情
         ShopDetailVO shopDetailVO = shopMapper.selectShopDetail(shopId);
         if (shopDetailVO == null) {
             throw new ServiceException("查询店铺不存在");
         }
-
+        ShopScore one = shopScoreService.getOne(new LambdaQueryWrapper<ShopScore>().eq(ShopScore::getAppUserId, userid).eq(ShopScore::getShopId, shopId).last(" order by create_time desc limit 0, 1"));
+        shopDetailVO.setScore(null == one ? BigDecimal.ZERO : one.getScore());
         // 计算距离
         if (shopDetailVO.getLongitude() != null && shopDetailVO.getLatitude() != null){
             String shopLocation = String.format("%s,%s", shopDetailVO.getLongitude(), shopDetailVO.getLatitude());
@@ -137,4 +146,23 @@
         }
         return r.getData() != null;
     }
+    
+    
+    /**
+     * 保存提现账户
+     * @param saveWithdrawalAccount
+     */
+    @Override
+    public void saveWithdrawalAccount(SaveWithdrawalAccount saveWithdrawalAccount) {
+        Long userid = tokenService.getLoginUser().getUserid();
+        SysUser sysUser = sysUserClient.getSysUser(userid).getData();
+        Shop shop = this.getById(sysUser.getObjectId());
+        if(null != shop){
+            shop.setReceiverAccountNoEnc(saveWithdrawalAccount.getReceiverAccountNoEnc());
+            shop.setReceiverNameEnc(saveWithdrawalAccount.getReceiverNameEnc());
+            shop.setReceiverAccountType(saveWithdrawalAccount.getReceiverAccountType());
+            shop.setReceiverBankChannelNo(saveWithdrawalAccount.getReceiverBankChannelNo());
+            this.updateById(shop);
+        }
+    }
 }

--
Gitblit v1.7.1