From 905077448a20fe1f06c9303152e83a6c9463541c Mon Sep 17 00:00:00 2001
From: huliguo <2023611923@qq.com>
Date: 星期四, 10 四月 2025 19:21:54 +0800
Subject: [PATCH] 商家端

---
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/UserApplyForAdmissionServiceImpl.java |   40 ++++++++++++++++++++++++++++++++++++++--
 1 files changed, 38 insertions(+), 2 deletions(-)

diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/UserApplyForAdmissionServiceImpl.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/UserApplyForAdmissionServiceImpl.java
index f768301..c312615 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/UserApplyForAdmissionServiceImpl.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/UserApplyForAdmissionServiceImpl.java
@@ -7,13 +7,20 @@
 import com.ruoyi.account.dto.ApplyForAdmissionDTO;
 import com.ruoyi.account.mapper.AppUserMapper;
 import com.ruoyi.account.mapper.ApplyForAdmissionMapper;
+import com.ruoyi.account.service.AppUserService;
 import com.ruoyi.account.service.UserApplyForAdmissionService;
+import com.ruoyi.account.util.tencentMap.TencentMapUtil;
+import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.security.service.TokenService;
+import com.ruoyi.other.api.domain.Region;
+import com.ruoyi.other.api.feignClient.RegionClient;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.util.StringUtils;
 
+import javax.annotation.Resource;
 import java.time.LocalDateTime;
 
 @Slf4j
@@ -23,19 +30,44 @@
     private TokenService tokenService;
     @Autowired
     private ApplyForAdmissionMapper userApplyForAdmissionMapper;
+    @Autowired
+    private AppUserService appUserService;
+    @Resource
+    private RegionClient regionClient;
 
     /**
      * 申请入驻
      */
     @Override
-    public void apply(ApplyForAdmissionDTO applyForAdmissionDTO) {
+    public R apply(ApplyForAdmissionDTO applyForAdmissionDTO) {
         Long userid = tokenService.getLoginUserApplet().getUserid();
+        AppUser appUser = appUserService.getOne(new LambdaQueryWrapper<AppUser>().eq(AppUser::getDelFlag, 0).ne(AppUser::getStatus, 3)
+                .eq(AppUser::getPhone, applyForAdmissionDTO.getPhone()));
+        if (appUser == null){
+            return R.fail("该手机号未注册");
+        }
         ApplyForAdmission applyForAdmission = new ApplyForAdmission();
         BeanUtils.copyProperties(applyForAdmissionDTO, applyForAdmission);
         applyForAdmission.setCreateTime(LocalDateTime.now());
         applyForAdmission.setApplyUserId(userid);
         applyForAdmission.setStatus(0);
+        String city = TencentMapUtil.inverseGeographicalAnalysis(applyForAdmission.getLongitude(), applyForAdmission.getLatitude(), false);
+        if(!StringUtils.hasLength(city)){
+            city = "510100";
+        }
+        applyForAdmission.setProvinceCode(city.substring(0, 2) + "0000");
+        Region provinceRegion = regionClient.getRegionBiCode(applyForAdmission.getProvinceCode()).getData();
+        applyForAdmission.setCityCode(city.substring(0, 4) + "00");
+        Region cityRegion = regionClient.getRegionBiCode(applyForAdmission.getCityCode()).getData();
+        applyForAdmission.setDistrictCode(city);
+        Region districtRegion = regionClient.getRegionBiCode(applyForAdmission.getDistrictCode()).getData();
+
+        applyForAdmission.setProvince(provinceRegion.getName());
+        applyForAdmission.setCity(cityRegion.getName());
+        applyForAdmission.setDistrict(districtRegion.getName());
+
         this.save(applyForAdmission);
+        return R.ok();
     }
 
     /**
@@ -44,6 +76,10 @@
     @Override
     public ApplyForAdmission read() {
         Long userid = tokenService.getLoginUserApplet().getUserid();
-        return userApplyForAdmissionMapper.selectOne(new LambdaQueryWrapper<ApplyForAdmission>().eq(ApplyForAdmission::getApplyUserId, userid));
+        return userApplyForAdmissionMapper
+                .selectOne(new LambdaQueryWrapper<ApplyForAdmission>()
+                        .eq(ApplyForAdmission::getApplyUserId, userid)
+                        .orderByDesc(ApplyForAdmission::getCreateTime)  // 按申请日期降序
+                        .last("LIMIT 1"));
     }
 }

--
Gitblit v1.7.1