Parcourir la source

feat: 饮食详情

xdd il y a 2 semaines
Parent
commit
2ee4171762

+ 10 - 1
fs-admin/src/main/java/com/fs/his/controller/FoodRecordController.java

@@ -9,6 +9,8 @@ import com.fs.foods.param.FoodRecordAddParam;
 import com.fs.foods.param.FoodRecordEditParam;
 import com.fs.foods.param.FoodRecordQueryParam;
 import com.fs.foods.service.IFsFoodRecordService;
+import com.fs.his.mapper.FsUserMapper;
+import com.fs.store.service.cache.IFsUserCacheService;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import io.swagger.annotations.Api;
@@ -123,7 +125,8 @@ public class FoodRecordController extends BaseController {
     }
 
 
-
+    @Autowired
+    private IFsUserCacheService fsUserCacheService;
     /**
      * 管理端查询饮食记录列表
      */
@@ -132,6 +135,12 @@ public class FoodRecordController extends BaseController {
     public TableDataInfo adminList(FoodRecordQueryParam param) {
         startPage();
         List<FsFoodRecord> list = foodRecordService.selectFoodRecordList(param);
+        for (FsFoodRecord fsFoodRecord : list) {
+            String fsUserName = fsUserCacheService.selectUserNameById(fsFoodRecord.getUserId());
+            if(StringUtils.isNotEmpty(fsUserName)){
+                fsFoodRecord.setUsername(fsUserName);
+            }
+        }
         return getDataTable(list);
     }
 }

+ 4 - 0
fs-service/src/main/java/com/fs/foods/domain/FsFoodRecord.java

@@ -27,6 +27,10 @@ public class FsFoodRecord {
      * 用户ID
      */
     private Long userId;
+    /**
+     * 用户名
+     */
+    private String username;
 
     /**
      * 用餐日期

+ 5 - 0
fs-service/src/main/java/com/fs/foods/param/FoodRecordAddParam.java

@@ -39,4 +39,9 @@ public class FoodRecordAddParam {
     @NotNull(message = "用餐描述不能为空")
     private String mealDescription;
 
+    /**
+     * 用户ID
+     */
+    private Long userId;
+
 }

+ 6 - 0
fs-service/src/main/java/com/fs/his/mapper/FsUserMapper.java

@@ -37,6 +37,12 @@ public interface FsUserMapper
      */
     public FsUser selectFsUserByUserId(Long userId);
 
+    @Select("select concat(user_id,'_',nickname) from fs_user where user_id=#{userId} limit 1")
+    public String selectUserNameByUserId(@Param("userId") Long userId);
+
+    @MapKey("userId")
+    public Map<Long,FsUser> selectFsUserByUserIdBatch(List<Long> userIds);
+
     @Select("select * from fs_user where user_id=#{userId}")
     public FsUser selectFsUserByUserIdForUpdate(@Param("userId") Long userId);
 

+ 2 - 0
fs-service/src/main/java/com/fs/store/service/cache/IFsUserCacheService.java

@@ -11,4 +11,6 @@ public interface IFsUserCacheService {
      * @return 用户
      */
     public FsUser selectFsUserById(Long userId);
+
+    public String selectUserNameById( Long userId);
 }

+ 12 - 0
fs-service/src/main/java/com/fs/store/service/cache/impl/IFsUserCacheServiceImpl.java

@@ -1,6 +1,7 @@
 package com.fs.store.service.cache.impl;
 
 import com.fs.his.domain.FsUser;
+import com.fs.his.mapper.FsUserMapper;
 import com.fs.his.service.IFsUserService;
 import com.fs.store.service.cache.IFsUserCacheService;
 import com.github.benmanes.caffeine.cache.Cache;
@@ -16,14 +17,25 @@ import java.util.concurrent.TimeUnit;
 @RequiredArgsConstructor
 public class IFsUserCacheServiceImpl implements IFsUserCacheService {
     private final IFsUserService fsUserService;
+    private final FsUserMapper fsUserMapper;
 
     private static final Cache<Long, FsUser> FS_USER_CACHE = Caffeine.newBuilder()
             .maximumSize(1000)
             .expireAfterWrite(3, TimeUnit.MINUTES)
             .build();
 
+    private static final Cache<Long, String> FS_USER_NAME_CACHE = Caffeine.newBuilder()
+            .maximumSize(1000)
+            .expireAfterWrite(3, TimeUnit.MINUTES)
+            .build();
+
     @Override
     public FsUser selectFsUserById(Long userId) {
         return FS_USER_CACHE.get(userId,e-> fsUserService.selectFsUserById(userId));
     }
+
+    @Override
+    public String selectUserNameById(Long userId) {
+        return FS_USER_NAME_CACHE.get(userId,e->fsUserMapper.selectUserNameByUserId(userId));
+    }
 }

+ 4 - 1
fs-service/src/main/resources/mapper/his/FsUserMapper.xml

@@ -690,7 +690,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         </where>
     </select>
 
-    <select id ="selectFsUserByUserIds" resultType="Integer">
+    <select id ="selectFsUserByUserIdList" resultType="Integer">
         select count(1) from fs_user_company_user
         LEFT JOIN company_user ON company_user.user_id = fs_user_company_user.company_user_id
         where is_repeat_fans = 1
@@ -1841,5 +1841,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             and company_user_id = #{companyUserId}
         </if>
     </select>
+    <select id="selectFsUserByUserIdBatch" resultType="java.util.Map">
+
+    </select>
 
 </mapper>