From 64a71565792d4f2e9fd31eab6e98e972c12daa86 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期三, 27 十一月 2024 20:15:57 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/vo/WalletVO.java                             |   12 +-
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/VipSettingController.java             |   17 ++
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShareController.java                  |    7 
 ruoyi-api/ruoyi-api-order/src/main/java/feignClient/RemoteOrderGoodsClient.java                          |    2 
 ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/RemoteVipSettingFallbackFactory.java |   22 +++
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/RegionService.java                       |    7 +
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopController.java                   |    4 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderController.java                  |    6 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java               |   11 +
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/VipSettingServiceImpl.java          |   15 ++
 ruoyi-common/ruoyi-common-redis/src/main/java/com/ruoyi/common/redis/aspectj/DistributedLockAspect.java  |    2 
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/WalletService.java                   |    8 +
 ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/GeodesyUtil.java                |   18 +-
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/AppUserServiceImpl.java         |    2 
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/RegionController.java                 |   44 +++++++
 ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/Region.java                           |   29 ++++
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/WithdrawalAuditStatus.java                   |   16 ++
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/WalletServiceImpl.java          |   64 ++++++++++
 ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/RemoteVipSettingClient.java      |   15 ++
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/VipSettingService.java                   |    1 
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/mapper/VipGoodMapper.java                        |    5 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/OrderService.java                        |    2 
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/RegionServiceImpl.java              |   11 +
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/WalletController.java             |   13 +
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/mapper/RegionMapper.java                         |    7 +
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/GoodsServiceImpl.java               |   13 ++
 26 files changed, 316 insertions(+), 37 deletions(-)

diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/feignClient/RemoteOrderGoodsClient.java b/ruoyi-api/ruoyi-api-order/src/main/java/feignClient/RemoteOrderGoodsClient.java
index 12ff392..95afd49 100644
--- a/ruoyi-api/ruoyi-api-order/src/main/java/feignClient/RemoteOrderGoodsClient.java
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/feignClient/RemoteOrderGoodsClient.java
@@ -6,10 +6,8 @@
 import factory.RemoteOrderGoodsFallbackFactory;
 import model.OrderGood;
 import org.springframework.cloud.openfeign.FeignClient;
-import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestParam;
 
 import java.util.List;
 
diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/Region.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/Region.java
new file mode 100644
index 0000000..d3cd1b8
--- /dev/null
+++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/Region.java
@@ -0,0 +1,29 @@
+package com.ruoyi.other.api.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("t_region")
+@ApiModel(value="Region对象", description="")
+public class Region implements Serializable {
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    private String name;
+
+    private String code;
+
+    private String citycode;
+
+    private Long parentId;
+
+    private String english;
+}
diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/RemoteVipSettingFallbackFactory.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/RemoteVipSettingFallbackFactory.java
new file mode 100644
index 0000000..6bd559c
--- /dev/null
+++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/RemoteVipSettingFallbackFactory.java
@@ -0,0 +1,22 @@
+package com.ruoyi.other.api.factory;
+
+import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.core.exception.ServiceException;
+import com.ruoyi.other.api.domain.VipSetting;
+import com.ruoyi.other.api.feignClient.RemoteVipSettingClient;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.cloud.openfeign.FallbackFactory;
+
+@Slf4j
+public class RemoteVipSettingFallbackFactory implements FallbackFactory<RemoteVipSettingClient> {
+    @Override
+    public RemoteVipSettingClient create(Throwable cause) {
+        return new RemoteVipSettingClient(){
+            @Override
+            public R<VipSetting> getVipSettingById(Integer id) {
+                log.error("获取会员设置信息失败:{}", cause.getMessage());
+                throw new ServiceException("获取会员设置信息失败");
+            }
+        };
+    }
+}
diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/RemoteVipSettingClient.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/RemoteVipSettingClient.java
new file mode 100644
index 0000000..7df1f05
--- /dev/null
+++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/RemoteVipSettingClient.java
@@ -0,0 +1,15 @@
+package com.ruoyi.other.api.feignClient;
+
+import com.ruoyi.common.core.constant.ServiceNameConstants;
+import com.ruoyi.common.core.domain.R;
+import com.ruoyi.other.api.domain.VipSetting;
+import com.ruoyi.other.api.factory.RemoteVipSettingFallbackFactory;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.GetMapping;
+
+@FeignClient(contextId = "RemoteOrderGoodsClient", value = ServiceNameConstants.ORDER_SERVICE, fallbackFactory = RemoteVipSettingFallbackFactory.class)
+public interface RemoteVipSettingClient {
+
+    @GetMapping("/vip-setting/getVipSettingById")
+    R<VipSetting> getVipSettingById(Integer id);
+}
diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/GeodesyUtil.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/GeodesyUtil.java
index ff1cfd1..276d9f1 100644
--- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/GeodesyUtil.java
+++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/GeodesyUtil.java
@@ -36,14 +36,14 @@
             double WGS72 = getDistanceMeter(source, target, Ellipsoid.WGS72);
             double Clarke1858 = getDistanceMeter(source, target, Ellipsoid.Clarke1858);
             double Clarke1880 = getDistanceMeter(source, target, Ellipsoid.Clarke1880);
-//            System.out.println("Sphere坐标系计算结果:"+Sphere + "米");
-//            System.out.println("WGS84坐标系计算结果:"+WGS84 + "米");
-//            System.out.println("GRS80坐标系计算结果:"+GRS80 + "米");
-//            System.out.println("GRS67坐标系计算结果:"+GRS67 + "米");
-//            System.out.println("ANS坐标系计算结果:"+ANS + "米");
-//            System.out.println("WGS72坐标系计算结果:"+WGS72 + "米");
-//            System.out.println("Clarke1858坐标系计算结果:"+Clarke1858 + "米");
-//            System.out.println("Clarke1880坐标系计算结果:"+Clarke1880 + "米");
+            System.out.println("Sphere坐标系计算结果:"+Sphere + "米");
+            System.out.println("WGS84坐标系计算结果:"+WGS84 + "米");
+            System.out.println("GRS80坐标系计算结果:"+GRS80 + "米");
+            System.out.println("GRS67坐标系计算结果:"+GRS67 + "米");
+            System.out.println("ANS坐标系计算结果:"+ANS + "米");
+            System.out.println("WGS72坐标系计算结果:"+WGS72 + "米");
+            System.out.println("Clarke1858坐标系计算结果:"+Clarke1858 + "米");
+            System.out.println("Clarke1880坐标系计算结果:"+Clarke1880 + "米");
             map.put("Sphere", Sphere);
             map.put("WGS84", WGS84);
             map.put("GRS80", GRS80);
@@ -67,7 +67,7 @@
 
     public static void main(String[] ages){
         GeodesyUtil geodesyUtil = new GeodesyUtil();
-        Map<String, Double> distance = geodesyUtil.getDistance("115.481028,39.989643", "114.465302,40.004717");
+        Map<String, Double> distance = geodesyUtil.getDistance("104.063855,30.575442", "104.679931,31.471814");
         System.err.println(distance);
     }
 }
diff --git a/ruoyi-common/ruoyi-common-redis/src/main/java/com/ruoyi/common/redis/aspectj/DistributedLockAspect.java b/ruoyi-common/ruoyi-common-redis/src/main/java/com/ruoyi/common/redis/aspectj/DistributedLockAspect.java
index fa06f8c..631a3b1 100644
--- a/ruoyi-common/ruoyi-common-redis/src/main/java/com/ruoyi/common/redis/aspectj/DistributedLockAspect.java
+++ b/ruoyi-common/ruoyi-common-redis/src/main/java/com/ruoyi/common/redis/aspectj/DistributedLockAspect.java
@@ -52,7 +52,7 @@
         //
         DistributedLock annotation = method.getAnnotation(DistributedLock.class);
         String lockName = getLockName(annotation, pjp.getArgs(), method);
-        //log.info("lockName:"+lockName);
+        log.info("lockName:"+lockName);
         RLock lock = redissonClient.getLock(lockName);
         lock.lock();
         try {
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/WithdrawalAuditStatus.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/WithdrawalAuditStatus.java
new file mode 100644
index 0000000..3daa060
--- /dev/null
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/WithdrawalAuditStatus.java
@@ -0,0 +1,16 @@
+package com.ruoyi.account;
+
+import lombok.Getter;
+
+@Getter
+public enum WithdrawalAuditStatus {
+    WAIT_AUDIT(1, "待审核"),
+    AUDIT_SUCCESS(2, "审核通过"),
+    AUDIT_FAIL(3, "审核拒绝");
+    private final Integer code;
+    private final String desc;
+    WithdrawalAuditStatus(Integer code, String desc) {
+        this.code = code;
+        this.desc = desc;
+    }
+}
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/WalletController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/WalletController.java
index 5cc846e..291de10 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/WalletController.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/WalletController.java
@@ -3,11 +3,13 @@
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.ruoyi.account.api.model.BalanceChangeRecord;
 import com.ruoyi.account.service.BalanceChangeRecordService;
+import com.ruoyi.account.service.WalletService;
 import com.ruoyi.account.vo.WalletVO;
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.web.controller.BaseController;
-import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.security.service.TokenService;
 import com.ruoyi.common.security.utils.SecurityUtils;
+import com.ruoyi.system.api.model.LoginUser;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -23,6 +25,10 @@
 public class WalletController extends BaseController {
     @Resource
     private BalanceChangeRecordService balanceChangeRecordService;
+    @Resource
+    private TokenService tokenService;
+    @Resource
+    private WalletService walletService;
 
     /**
      * 钱包详情
@@ -30,9 +36,8 @@
     @GetMapping("detail")
     @ApiOperation(value = "钱包详情", notes = "钱包详情", tags = {"小程序-个人中心-我的钱包-钱包详情"})
     public R<WalletVO> detail() {
-        Long userId = SecurityUtils.getUserId();
-        // TODO 查询钱包详情
-        WalletVO walletVO = new WalletVO();
+        LoginUser loginUserApplet = tokenService.getLoginUserApplet();
+        WalletVO walletVO = walletService.getWalletByUserId(loginUserApplet.getUserid());
         return R.ok(walletVO);
     }
 
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/WalletService.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/WalletService.java
new file mode 100644
index 0000000..088e35a
--- /dev/null
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/WalletService.java
@@ -0,0 +1,8 @@
+package com.ruoyi.account.service;
+
+import com.ruoyi.account.vo.WalletVO;
+
+public interface WalletService {
+
+    WalletVO getWalletByUserId(Long userId);
+}
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/AppUserServiceImpl.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/AppUserServiceImpl.java
index f50c1db..5ca3e21 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/AppUserServiceImpl.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/AppUserServiceImpl.java
@@ -116,7 +116,7 @@
 		loginUser.setUsername(appUser.getName());
 		Map<String, Object> tokenApplet = tokenService.createTokenApplet(loginUser);
 		loginVo.setToken(tokenApplet.get("access_token").toString());
-		loginVo.setFailureTime(Long.valueOf(tokenApplet.get("expires_in").toString()));
+			loginVo.setFailureTime(Long.valueOf(tokenApplet.get("expires_in").toString()));
 		return AjaxResult.success(loginVo);
 	}
 	
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/WalletServiceImpl.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/WalletServiceImpl.java
new file mode 100644
index 0000000..4762e9b
--- /dev/null
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/WalletServiceImpl.java
@@ -0,0 +1,64 @@
+package com.ruoyi.account.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.ruoyi.account.WithdrawalAuditStatus;
+import com.ruoyi.account.api.model.AppUser;
+import com.ruoyi.account.api.model.WithdrawalRequests;
+import com.ruoyi.account.service.AppUserService;
+import com.ruoyi.account.service.WalletService;
+import com.ruoyi.account.service.WithdrawalRequestsService;
+import com.ruoyi.account.vo.WalletVO;
+import com.ruoyi.common.core.domain.R;
+import com.ruoyi.other.api.domain.VipSetting;
+import com.ruoyi.other.api.feignClient.RemoteVipSettingClient;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.math.BigDecimal;
+import java.util.List;
+
+@Service
+public class WalletServiceImpl implements WalletService {
+    @Resource
+    private AppUserService appUserService;
+    @Resource
+    private RemoteVipSettingClient remoteVipSettingClient;
+    @Resource
+    private WithdrawalRequestsService withdrawalRequestsService;
+
+    @Override
+    public WalletVO getWalletByUserId(Long userId) {
+        AppUser appUser = appUserService.getById(userId);
+        if (appUser == null) {
+            throw new RuntimeException("用户不存在");
+        }
+        Integer vipId = appUser.getVipId();
+        R<VipSetting> r = remoteVipSettingClient.getVipSettingById(vipId);
+        if (r == null || r.getCode() != R.SUCCESS) {
+            throw new RuntimeException("获取会员设置信息失败");
+        }
+        VipSetting data = r.getData();
+        if (data == null) {
+            throw new RuntimeException("会员设置信息为空");
+        }
+
+        // 获取提现审核中的金额
+        List<WithdrawalRequests> waitAuditList = withdrawalRequestsService.list(new LambdaQueryWrapper<WithdrawalRequests>()
+                .eq(WithdrawalRequests::getAppUserId, userId)
+                .eq(WithdrawalRequests::getAuditStatus, WithdrawalAuditStatus.WAIT_AUDIT));
+
+        WalletVO walletVO = new WalletVO();
+        walletVO.setWithdrawalAmount(appUser.getWithdrawalAmount());
+        walletVO.setWithdrawnAmount(appUser.getWithdrawnAmount());
+        walletVO.setVipWithdrawalMinAmount(data.getVipWithdrawalMinAmount());
+        walletVO.setTotalRechargeAmount(appUser.getTotalRechargeAmount());
+        walletVO.setTotalRedPacketAmount(appUser.getTotalRedPacketAmount());
+        walletVO.setTotalDistributionAmount(appUser.getTotalDistributionAmount());
+        walletVO.setAuditAmount(waitAuditList.stream()
+                .map(WithdrawalRequests::getWithdrawalAmount)
+                .reduce(BigDecimal.ZERO, BigDecimal::add));
+
+        return walletVO;
+    }
+
+}
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/vo/WalletVO.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/vo/WalletVO.java
index 1b4fc74..d93c21f 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/vo/WalletVO.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/vo/WalletVO.java
@@ -11,23 +11,23 @@
 public class WalletVO {
 
     @ApiModelProperty(value = "可提现金额")
-    private BigDecimal withdrawal_amount;
+    private BigDecimal withdrawalAmount;
 
     @ApiModelProperty(value = "已提现金额")
-    private BigDecimal withdrawn_amount;
+    private BigDecimal withdrawnAmount;
 
     @ApiModelProperty(value = "最低提现门槛")
     private BigDecimal vipWithdrawalMinAmount;
 
     @ApiModelProperty(value = "提现审核中金额")
-    private BigDecimal audit_amount;
+    private BigDecimal auditAmount;
 
     @ApiModelProperty(value = "充值总金额")
-    private BigDecimal total_recharge_amount;
+    private BigDecimal totalRechargeAmount;
 
     @ApiModelProperty(value = "红包总金额")
-    private BigDecimal total_red_packet_amount;
+    private BigDecimal totalRedPacketAmount;
 
     @ApiModelProperty(value = "分销总金额")
-    private BigDecimal total_distribution_amount;
+    private BigDecimal totalDistributionAmount;
 }
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderController.java
index 5b040db..e424629 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderController.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderController.java
@@ -64,9 +64,9 @@
     @ApiImplicitParams({
             @ApiImplicitParam(value = "分享id", name = "shareId", required = true, dataType = "int", paramType="query"),
     })
-    @GetMapping("/check/{orderId}/{shopId}")
-    public R<Boolean> check(@PathVariable("orderId") Long orderId, @PathVariable("shopId") Long shopId){
-        return R.ok(orderService.check(orderId, shopId));
+    @GetMapping("/check/{orderNumber}/{shopId}")
+    public R<Boolean> check(@PathVariable("orderNumber") String orderNumber, @PathVariable("shopId") Long shopId){
+        return R.ok(orderService.check(orderNumber, shopId));
     }
 
     /**
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/OrderService.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/OrderService.java
index 0961a26..0fb5308 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/OrderService.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/OrderService.java
@@ -20,5 +20,5 @@
 
     OrderDetailVO getOrderDetail(Long orderId);
 
-    boolean check(Long orderId, Long shopId);
+    boolean check(String orderNumber, Long shopId);
 }
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java
index 8b83866..4cb9ffe 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java
@@ -1,5 +1,6 @@
 package com.ruoyi.order.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.order.mapper.OrderMapper;
 import com.ruoyi.order.service.OrderService;
@@ -24,17 +25,21 @@
 
     @Override
     public List<OrderVO> getOrderList(Integer status) {
+        // TODO 待实现
         return Collections.emptyList();
     }
 
     @Override
     public OrderDetailVO getOrderDetail(Long orderId) {
+        // TODO 待实现
         return null;
     }
 
     @Override
-    public boolean check(Long orderId, Long shopId) {
-        // TODO 待实现
-        return false;
+    public boolean check(String orderNumber, Long shopId) {
+        Order order = getOne(new LambdaQueryWrapper<Order>()
+                .eq(Order::getOrderNumber, orderNumber)
+                .eq(Order::getShopId, shopId));
+        return order != null;
     }
 }
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/RegionController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/RegionController.java
new file mode 100644
index 0000000..c01da9f
--- /dev/null
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/RegionController.java
@@ -0,0 +1,44 @@
+package com.ruoyi.other.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.ruoyi.common.core.domain.R;
+import com.ruoyi.other.api.domain.Region;
+import com.ruoyi.other.service.RegionService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+@RestController
+@RequestMapping("/region")
+@Api("地区")
+public class RegionController {
+    @Resource
+    private RegionService regionService;
+
+    /**
+     * 获取省份列表
+     */
+    @GetMapping("/getProvinceList")
+    @ApiOperation("获取省份列表")
+    public R<List<Region>> getProvinceList() {
+        return R.ok(regionService.list(new LambdaQueryWrapper<Region>()
+                .eq(Region::getParentId, 0)));
+    }
+
+    /**
+     * 获取下级地区列表
+     */
+    @GetMapping("/getNextRegionList")
+    @ApiOperation("获取下级地区列表")
+    public R<List<Region>> getNextRegionList(@ApiParam("父级id") @RequestParam Long id) {
+        return R.ok(regionService.list(new LambdaQueryWrapper<Region>()
+                .eq(Region::getParentId, id)));
+    }
+}
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShareController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShareController.java
index 3450cb6..db05155 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShareController.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShareController.java
@@ -49,7 +49,7 @@
     /**
      * 分享添加
      */
-    @ApiOperation(value = "小程序-个人中心-门店管理-分享添加", tags = {"分享添加-小程序"})
+    @ApiOperation(value = "分享添加", tags = {"小程序-个人中心-门店管理-分享添加"})
     @PostMapping
     public R<Void> add(@RequestBody Share share){
         share.setAddType(ShareAddType.STORE.getCode());
@@ -86,9 +86,8 @@
      */
     @ApiOperation(value = "分享详情", tags = {"小程序-个人中心-门店管理-分享详情-小程序"})
     @GetMapping("/detail/{id}")
-    public R<Void> detail(@PathVariable("id") Integer id){
-        shareService.getById(id);
-        return R.ok();
+    public R<Share> detail(@PathVariable("id") Integer id){
+        return R.ok(shareService.getById(id));
     }
 
 
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopController.java
index 2766c5f..b4cb27a 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopController.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopController.java
@@ -53,7 +53,7 @@
      * 门店详情
      */
     @GetMapping("/shopDetail")
-    @ApiOperation(value = "门店详情", tags = {"门店详情-小程序"})
+    @ApiOperation(value = "门店详情", tags = {"小程序-首页-门店详情"})
     public R<ShopDetailVO> shopDetail(@ApiParam("门店id") @RequestParam Integer shopId,
                                       @ApiParam("经度") @RequestParam String longitude,
                                       @ApiParam("纬度") @RequestParam String latitude) {
@@ -64,7 +64,7 @@
      * 查询当前店长所属门店
      */
     @GetMapping("/shopByUser")
-    @ApiOperation(value = "查询当前店长所属门店", tags = {"小程序-个人中心-首页-关联门店列表"})
+    @ApiOperation(value = "查询当前店长所属门店", tags = {"小程序-个人中心-首页"}, notes = "可绑定的门店列表")
     public R<List<Shop>> shopByUser() {
         List<Shop> list = shopService.list(new LambdaQueryWrapper<Shop>()
                 .eq(Shop::getAppUserId, SecurityUtils.getUserId())
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/VipSettingController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/VipSettingController.java
index 2854a20..82d8443 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/VipSettingController.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/VipSettingController.java
@@ -1,8 +1,17 @@
 package com.ruoyi.other.controller;
 
 
+import com.ruoyi.common.core.domain.R;
+import com.ruoyi.other.api.domain.VipSetting;
+import com.ruoyi.other.service.VipSettingService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
 
 /**
  * <p>
@@ -14,7 +23,15 @@
  */
 @RestController
 @RequestMapping("/vip-setting")
+@Api("会员设置")
 public class VipSettingController {
+    @Resource
+    private VipSettingService vipSettingService;
 
+    @GetMapping("getVipSettingById")
+    @ApiOperation(value = "获取会员设置")
+    public R<VipSetting> getVipSettingById(@ApiParam(value = "会员id") Integer id){
+        return R.ok(vipSettingService.getById(id));
+    }
 }
 
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/mapper/RegionMapper.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/mapper/RegionMapper.java
new file mode 100644
index 0000000..0f5ea38
--- /dev/null
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/mapper/RegionMapper.java
@@ -0,0 +1,7 @@
+package com.ruoyi.other.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.other.api.domain.Region;
+
+public interface RegionMapper extends BaseMapper<Region> {
+}
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/mapper/VipGoodMapper.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/mapper/VipGoodMapper.java
index a135675..4f6ca6e 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/mapper/VipGoodMapper.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/mapper/VipGoodMapper.java
@@ -13,4 +13,9 @@
  */
 public interface VipGoodMapper extends BaseMapper<VipGood> {
 
+    /**
+     * 查询指定商品的指定会员价格
+     */
+    VipGood selectVipGood(Long goodsId, Integer vipId);
+
 }
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/RegionService.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/RegionService.java
new file mode 100644
index 0000000..ef39093
--- /dev/null
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/RegionService.java
@@ -0,0 +1,7 @@
+package com.ruoyi.other.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.other.api.domain.Region;
+
+public interface RegionService extends IService<Region> {
+}
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/VipSettingService.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/VipSettingService.java
index 5fedae2..e576300 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/VipSettingService.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/VipSettingService.java
@@ -13,4 +13,5 @@
  */
 public interface VipSettingService extends IService<VipSetting> {
 
+    VipSetting getVipSettingByUserId(Long userId);
 }
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/GoodsServiceImpl.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/GoodsServiceImpl.java
index b1de54c..43064ab 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/GoodsServiceImpl.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/GoodsServiceImpl.java
@@ -4,11 +4,15 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.common.core.utils.StringUtils;
 import com.ruoyi.common.core.utils.bean.BeanUtils;
+import com.ruoyi.common.security.service.TokenService;
 import com.ruoyi.other.api.domain.Goods;
+import com.ruoyi.other.api.domain.VipSetting;
 import com.ruoyi.other.enums.GoodsStatus;
 import com.ruoyi.other.mapper.GoodsMapper;
 import com.ruoyi.other.service.GoodsService;
+import com.ruoyi.other.service.VipSettingService;
 import com.ruoyi.other.vo.GoodsVO;
+import com.ruoyi.system.api.model.LoginUser;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
@@ -28,6 +32,10 @@
 public class GoodsServiceImpl extends ServiceImpl<GoodsMapper, Goods> implements GoodsService {
     @Resource
     private GoodsMapper goodsMapper;
+    @Resource
+    private TokenService tokenService;
+    @Resource
+    private VipSettingService vipSettingService;
 
     @Override
     public List<GoodsVO> goodsList(Goods search) {
@@ -47,7 +55,10 @@
 
     @Override
     public GoodsVO goodsDetail(Long goodsId) {
-        // TODO 根据会员等级展示价格
+        LoginUser loginUserApplet = tokenService.getLoginUserApplet();
+        VipSetting vipSetting = vipSettingService.getVipSettingByUserId(loginUserApplet.getUserid());
+
+        // TODO 根据会员等级计算价格、积分
         Goods goods = this.getById(goodsId);
         if (Objects.nonNull(goods)){
             GoodsVO goodsVO = new GoodsVO();
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/RegionServiceImpl.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/RegionServiceImpl.java
new file mode 100644
index 0000000..d1f3777
--- /dev/null
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/RegionServiceImpl.java
@@ -0,0 +1,11 @@
+package com.ruoyi.other.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.other.api.domain.Region;
+import com.ruoyi.other.mapper.RegionMapper;
+import com.ruoyi.other.service.RegionService;
+import org.springframework.stereotype.Service;
+
+@Service
+public class RegionServiceImpl extends ServiceImpl<RegionMapper, Region> implements RegionService {
+}
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/VipSettingServiceImpl.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/VipSettingServiceImpl.java
index 16df5b2..be94a0c 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/VipSettingServiceImpl.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/VipSettingServiceImpl.java
@@ -1,10 +1,15 @@
 package com.ruoyi.other.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.account.api.feignClient.AppUserClient;
+import com.ruoyi.account.api.model.AppUser;
+import com.ruoyi.common.core.exception.ServiceException;
 import com.ruoyi.other.mapper.VipSettingMapper;
 import com.ruoyi.other.api.domain.VipSetting;
 import com.ruoyi.other.service.VipSettingService;
 import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
 
 /**
  * <p>
@@ -16,5 +21,15 @@
  */
 @Service
 public class VipSettingServiceImpl extends ServiceImpl<VipSettingMapper, VipSetting> implements VipSettingService {
+    @Resource
+    private AppUserClient appUserClient;
 
+    @Override
+    public VipSetting getVipSettingByUserId(Long userId) {
+        AppUser appUser = appUserClient.getAppUserById(userId);
+        if(null == appUser){
+            throw new ServiceException("用户不存在");
+        }
+        return this.getById(appUser.getVipId());
+    }
 }

--
Gitblit v1.7.1