From 2c68510a0287e647026e6c50f6fb755a801adbd0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E8=89=AF=28004796=29?= Date: Tue, 2 Jan 2024 17:01:28 +0800 Subject: [PATCH] 123 --- .../com/ruoyi/cai/constant/RedisConstant.java | 1 + .../main/java/com/ruoyi/cai/domain/User.java | 3 ++- .../cai/dto/app/query/UserUpdateReq.java | 2 +- .../dto/app/query/index/AnchorListQuery.java | 2 +- .../cai/dto/app/query/index/GreetQuery.java | 2 +- .../ruoyi/cai/dto/app/vo/AnchorListVo.java | 12 ++++++++- .../cai/dto/app/vo/CurrentUserInfoVo.java | 4 ++- .../com/ruoyi/cai/dto/app/vo/DynamicVo.java | 5 +++- .../ruoyi/cai/dto/app/vo/user/UserBaseVo.java | 6 ++--- .../ruoyi/cai/dto/app/vo/user/UserInfoVo.java | 4 +++ .../ruoyi/cai/manager/CurrentUserManager.java | 7 +++-- .../com/ruoyi/cai/service/CitysService.java | 1 + .../cai/service/impl/AnchorServiceImpl.java | 2 +- .../cai/service/impl/CitysServiceImpl.java | 27 ++++++++++++++++++- .../cai/service/impl/UserServiceImpl.java | 2 ++ .../resources/mapper/cai/AnchorMapper.xml | 9 +++---- .../main/resources/mapper/cai/UserMapper.xml | 8 +++--- 17 files changed, 73 insertions(+), 24 deletions(-) diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/constant/RedisConstant.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/constant/RedisConstant.java index 51e817bb..3d23d1b8 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/constant/RedisConstant.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/constant/RedisConstant.java @@ -4,6 +4,7 @@ public class RedisConstant { public static final String REDIS_P = "cai-"; public static final String SYSTEM_CONFIG = REDIS_P + "system-config"; public static final String CITY_CACHE_REDIS = REDIS_P + "city"; + public static final String CITY_CACHE_ALL_REDIS = REDIS_P + "cityAll"; public static final String DYNAMIC_TOTAL_CACHE_REDIS = REDIS_P + "synamicTotal:%s:%s"; public static final String CODE_REDIS = REDIS_P + "code:%s:%s"; public static final String USER_GREET_TOTAL_REDIS = REDIS_P + "userGreetTotal:%s:%s"; diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/domain/User.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/domain/User.java index b4dcb015..331bb63a 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/domain/User.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/domain/User.java @@ -76,7 +76,8 @@ public class User implements Serializable { /** * 城市 */ - private Long city; + private Integer cityId; + private String city; /** * 资料是否完成 0 未完成 1已完成 */ diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/query/UserUpdateReq.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/query/UserUpdateReq.java index 89a72cf6..134cc9eb 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/query/UserUpdateReq.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/query/UserUpdateReq.java @@ -10,7 +10,7 @@ public class UserUpdateReq { @Schema(description = "用户ID",accessMode = Schema.AccessMode.READ_ONLY) private Long userId; @Schema(description = "城市") - private Long city; + private Integer cityId; @Schema(description = "昵称") private String nickname; @Schema(description = "生日") diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/query/index/AnchorListQuery.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/query/index/AnchorListQuery.java index 95ec3261..269eb0b0 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/query/index/AnchorListQuery.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/query/index/AnchorListQuery.java @@ -17,5 +17,5 @@ public class AnchorListQuery { private Integer type; @Schema(description = "城市(同城查询使用)") - private String city; + private Integer cityId; } diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/query/index/GreetQuery.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/query/index/GreetQuery.java index 9204eb06..1684fc79 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/query/index/GreetQuery.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/query/index/GreetQuery.java @@ -7,7 +7,7 @@ import lombok.Data; @Schema(description = "群打招呼用户搜索") public class GreetQuery { @Schema(description = "城市") - private Long city; + private Integer cityId; @Schema(description = "搜索类型 1=活跃 2=同城") private Integer type = 1; } diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/vo/AnchorListVo.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/vo/AnchorListVo.java index ae3dc90f..8820d11c 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/vo/AnchorListVo.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/vo/AnchorListVo.java @@ -1,34 +1,44 @@ package com.ruoyi.cai.dto.app.vo; +import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import java.math.BigDecimal; @Data +@Schema(description = "主播列表信息") public class AnchorListVo { /** * 头像 */ + @Schema(description = "主播头像") private String avatar; /** * 性别 0 未知 1 女 2 男 */ + @Schema(description = "性别") private Integer gender; /** * 城市 */ - private Long city; + @Schema(description = "城市ID") + private Integer cityId; + @Schema(description = "城市") + private String city; /** * 昵称 */ + @Schema(description = "昵称") private String nickname; /** * 用户号/ID号 */ + @Schema(description = "蜜瓜号") private String usercode; /** * 用户评分 */ + @Schema(description = "评分") private BigDecimal giveScore; } diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/vo/CurrentUserInfoVo.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/vo/CurrentUserInfoVo.java index 2289224e..4ce64906 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/vo/CurrentUserInfoVo.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/vo/CurrentUserInfoVo.java @@ -54,8 +54,10 @@ public class CurrentUserInfoVo { /** * 城市 */ + @Schema(description = "城市ID") + private Integer cityId; @Schema(description = "城市") - private Long city; + private String city; /** * 是否是播主 0 否 1 是 */ diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/vo/DynamicVo.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/vo/DynamicVo.java index b2abffa6..12692c7a 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/vo/DynamicVo.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/vo/DynamicVo.java @@ -26,8 +26,11 @@ public class DynamicVo { /** * 城市ID */ - @Schema(description = "城市") + @Schema(description = "城市ID") private Integer cityId; + + @Schema(description = "城市") + private String city; /** * 是否有附件 0 没有 1 有 */ diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/vo/user/UserBaseVo.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/vo/user/UserBaseVo.java index 7754df1d..be426bb4 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/vo/user/UserBaseVo.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/vo/user/UserBaseVo.java @@ -4,8 +4,6 @@ package com.ruoyi.cai.dto.app.vo.user; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; -import java.time.LocalDateTime; - @Data public class UserBaseVo { @@ -23,8 +21,10 @@ public class UserBaseVo { /** * 城市 */ + @Schema(description = "城市ID") + private Integer cityId; @Schema(description = "城市") - private Long city; + private Integer city; /** * 昵称 */ diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/vo/user/UserInfoVo.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/vo/user/UserInfoVo.java index cd83e2a7..41422a10 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/vo/user/UserInfoVo.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/vo/user/UserInfoVo.java @@ -25,6 +25,10 @@ public class UserInfoVo { private String nickname; @Schema(description = "头像") private String avatar; + @Schema(description = "城市") + private String city; + @Schema(description = "城市ID") + private Integer cityId; /** * 价格,默认50彩币 diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/manager/CurrentUserManager.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/manager/CurrentUserManager.java index 1a2b6d34..83eeb51c 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/manager/CurrentUserManager.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/manager/CurrentUserManager.java @@ -45,6 +45,8 @@ public class CurrentUserManager { private AccountBankcardService accountBankcardService; @Resource private ImUserRefClient userClient; + @Autowired + private CitysService citysService; public CurrentUserInfoVo currentInfo() { Long userId = LoginHelper.getUserId(); @@ -122,8 +124,9 @@ public class CurrentUserManager { throw new ServiceException("性别不可以修改"); } } - if(res.getCity() != null){ - update.set(User::getCity,res.getCity()); + if(res.getCityId() != null){ + update.set(User::getCityId,res.getCityId()); + update.set(User::getCity,citysService.getByCityId(res.getCityId())); updateFlag=true; } if(StringUtils.isNotEmpty(res.getAvatar())){ diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/CitysService.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/CitysService.java index 929ddd96..b618bc22 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/CitysService.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/CitysService.java @@ -15,4 +15,5 @@ public interface CitysService extends IService { Map all(); + String getByCityId(Integer cityId); } diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/AnchorServiceImpl.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/AnchorServiceImpl.java index 6b2e2701..e6c63983 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/AnchorServiceImpl.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/AnchorServiceImpl.java @@ -31,7 +31,7 @@ public class AnchorServiceImpl extends ServiceImpl impleme @Override public Page pageApp(PageQuery pageQuery, AnchorListQuery query) { if(query.getType() != null && query.getType() != 3){ - query.setCity(null); + query.setCityId(null); } return baseMapper.pageApp(pageQuery.build(),query); } diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/CitysServiceImpl.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/CitysServiceImpl.java index 2cc3f659..39084f35 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/CitysServiceImpl.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/CitysServiceImpl.java @@ -11,6 +11,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.stereotype.Service; +import javax.annotation.PostConstruct; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; @@ -29,9 +30,16 @@ public class CitysServiceImpl extends ServiceImpl implements @Autowired private StringRedisTemplate redisTemplate; + @PostConstruct + public void init() { + List list = this.list(); + Map map = list.stream().collect(Collectors.toMap(Citys::getId, Citys::getName)); + redisTemplate.opsForHash().putAll(RedisConstant.CITY_CACHE_REDIS, map); + } + @Override public Map all() { - String value = redisTemplate.opsForValue().get(RedisConstant.CITY_CACHE_REDIS); + String value = redisTemplate.opsForValue().get(RedisConstant.CITY_CACHE_ALL_REDIS); if(value != null){ return JSON.parseObject(value, new TypeReference>(){}); } @@ -40,4 +48,21 @@ public class CitysServiceImpl extends ServiceImpl implements redisTemplate.opsForValue().set(RedisConstant.CITY_CACHE_REDIS,JSON.toJSONString(map),30, TimeUnit.DAYS); return map; } + + @Override + public String getByCityId(Integer cityId){ + if(cityId == null || cityId == 0){ + return null; + } + Object val = redisTemplate.opsForHash().get(RedisConstant.CITY_CACHE_REDIS, cityId); + if(val != null){ + return String.valueOf(val); + } + Citys city = this.getById(cityId); + if(city == null){ + return null; + } + redisTemplate.opsForHash().put(RedisConstant.CITY_CACHE_REDIS, cityId, city.getName()); + return city.getName(); + } } diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/UserServiceImpl.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/UserServiceImpl.java index 6bb9c363..e2ccd396 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/UserServiceImpl.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/UserServiceImpl.java @@ -88,6 +88,8 @@ public class UserServiceImpl extends ServiceImpl implements Us } } + vo.setCity(user.getCity()); + vo.setCityId(user.getCityId()); vo.setFansNum(userFollowService.getFansNumByUserId(userId)); vo.setStar(userFollowService.checkStar(currentUserId, userId)); vo.setAlbumList(userAlbumService.getUserAlbum(userId, user.getIsAnchor())); diff --git a/ruoyi-cai/src/main/resources/mapper/cai/AnchorMapper.xml b/ruoyi-cai/src/main/resources/mapper/cai/AnchorMapper.xml index c8dff1f5..cbd5a640 100644 --- a/ruoyi-cai/src/main/resources/mapper/cai/AnchorMapper.xml +++ b/ruoyi-cai/src/main/resources/mapper/cai/AnchorMapper.xml @@ -14,14 +14,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - - -