From 3348eda2c33469e9935ae6afcf83ea5c52cea906 Mon Sep 17 00:00:00 2001 From: huliguo <2023611923@qq.com> Date: 星期一, 09 六月 2025 20:07:12 +0800 Subject: [PATCH] 修改bug-初验阶段 --- ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/UserApplyForAdmissionServiceImpl.java | 123 ++++++++++++++++++++++++++++++++++++++++ 1 files changed, 121 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..c576dfe 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 @@ -1,19 +1,39 @@ package com.ruoyi.account.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.account.api.model.AppUser; +import com.ruoyi.account.api.model.AppUserShop; import com.ruoyi.account.api.model.ApplyForAdmission; import com.ruoyi.account.dto.ApplyForAdmissionDTO; +import com.ruoyi.account.dto.ApplyReviewDTO; import com.ruoyi.account.mapper.AppUserMapper; import com.ruoyi.account.mapper.ApplyForAdmissionMapper; +import com.ruoyi.account.service.AppUserService; +import com.ruoyi.account.service.AppUserShopService; import com.ruoyi.account.service.UserApplyForAdmissionService; +import com.ruoyi.account.util.tencentMap.TencentMapUtil; +import com.ruoyi.account.vo.ApplyForAdmissionDetailVO; +import com.ruoyi.account.vo.ApplyForAdmissionListVO; +import com.ruoyi.common.core.domain.R; import com.ruoyi.common.security.service.TokenService; +import com.ruoyi.other.api.domain.Phone; +import com.ruoyi.other.api.domain.Region; +import com.ruoyi.other.api.domain.Shop; +import com.ruoyi.other.api.feignClient.PhoneClient; +import com.ruoyi.other.api.feignClient.RegionClient; +import com.ruoyi.other.api.feignClient.ShopClient; +import com.ruoyi.system.api.model.UserShop; 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.transaction.annotation.Transactional; +import org.springframework.util.StringUtils; +import javax.annotation.Resource; import java.time.LocalDateTime; @Slf4j @@ -23,19 +43,39 @@ private TokenService tokenService; @Autowired private ApplyForAdmissionMapper userApplyForAdmissionMapper; + @Autowired + private AppUserService appUserService; + @Resource + private RegionClient regionClient; + @Resource + private ShopClient shopClient; + @Resource + private PhoneClient phoneClient; + + @Autowired + private AppUserShopService appUserShopService; + /** * 申请入驻 */ @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).eq(AppUser::getStatus, 1) + .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); + + this.save(applyForAdmission); + return R.ok(); } /** @@ -44,6 +84,85 @@ @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")); } + + @Override + public IPage<ApplyForAdmissionListVO> getApplyList(Integer pageNum, Integer pageSize, String shopName, String shopManager, String phone, Integer status) { + Page<ApplyForAdmissionListVO> page = new Page<>(pageNum, pageSize); + return userApplyForAdmissionMapper.selectApplyList(page, shopName, shopManager, phone, status); + } + + @Override + public ApplyForAdmissionDetailVO getApplyDetail(Integer id) { + ApplyForAdmission apply = userApplyForAdmissionMapper.selectById(id); + if (apply == null) { + throw new RuntimeException("申请记录不存在"); + } + + ApplyForAdmissionDetailVO detail = new ApplyForAdmissionDetailVO(); + BeanUtils.copyProperties(apply, detail); + detail.setFullAddress(apply.getAddress() + apply.getDetailAddress()); + return detail; + } + + @Override + @Transactional(rollbackFor=Exception.class) + public void review(ApplyReviewDTO applyReviewDTO) { + ApplyForAdmission apply = userApplyForAdmissionMapper.selectById(applyReviewDTO.getId()); + if (apply == null) { + throw new RuntimeException("申请记录不存在"); + } + if (apply.getStatus() != 0) { + throw new RuntimeException("该记录已审核过"); + } + if(applyReviewDTO.getStatus()==2){ + //审核不通过 + apply.setStatus(2); + apply.setRemark(applyReviewDTO.getRemark()); + apply.setUpdateTime(LocalDateTime.now()); + this.updateById(apply); + return; + } + //审核通过 + apply.setStatus(1); + apply.setUpdateTime(LocalDateTime.now()); + apply.setRemark(applyReviewDTO.getRemark()); + this.updateById(apply); + + //先加入商店 + Shop shop = new Shop(); + BeanUtils.copyProperties(apply, shop); + shop.setId(null); + shop.setName(apply.getShopName()); + shop.setBusinessTime(apply.getBusinessTime()); + shop.setAppUserId(apply.getApplyUserId()); + shop.setCreateTime(LocalDateTime.now()); + R shopR = shopClient.insert(shop); + if (shopR.getCode()!=200){ + throw new RuntimeException("添加店铺失败"); + } + Integer shopId = (Integer) shopR.getData(); + //加入usershop + AppUserShop userShop = new AppUserShop(); + userShop.setAppUserId(apply.getApplyUserId()); + userShop.setShopId(shopId); + appUserShopService.save(userShop); + //加入客服手机号 + Phone phone = new Phone(); + phone.setType(2);//门店 + phone.setPhoneOne(apply.getServiceTel()); + phone.setShopId(shopId); + R phoneR = phoneClient.insert(phone); + if (phoneR.getCode()!=200){ + throw new RuntimeException("添加店铺客服电话失败"); + } + + + } + } -- Gitblit v1.7.1