| package com.ruoyi.web.controller.api; | 
|   | 
|   | 
| import com.baomidou.mybatisplus.core.toolkit.Wrappers; | 
| import com.ruoyi.common.annotation.Log; | 
| import com.ruoyi.common.basic.PageInfo; | 
| import com.ruoyi.common.core.domain.R; | 
| import com.ruoyi.common.core.redis.RedisCache; | 
| import com.ruoyi.common.enums.BusinessType; | 
| import com.ruoyi.common.utils.StringUtils; | 
| import com.ruoyi.framework.web.service.TokenService; | 
| import com.ruoyi.system.model.TSysAppUser; | 
| import com.ruoyi.system.model.TSysChronicDisease; | 
| import com.ruoyi.system.model.TSysInspection; | 
| import com.ruoyi.system.query.TSysAppUserQuery; | 
| import com.ruoyi.system.service.TSysAppUserService; | 
| import com.ruoyi.system.service.TSysChronicDiseaseService; | 
| import com.ruoyi.system.service.TSysInspectionService; | 
| import com.ruoyi.system.service.TSysOrderService; | 
| import com.ruoyi.system.vo.TSysAppUserVO; | 
| import com.ruoyi.system.vo.TSysOrderVO; | 
| import io.swagger.annotations.Api; | 
| import io.swagger.annotations.ApiOperation; | 
| import org.springframework.beans.BeanUtils; | 
| import org.springframework.beans.factory.annotation.Autowired; | 
| import org.springframework.validation.annotation.Validated; | 
| import org.springframework.web.bind.annotation.*; | 
|   | 
| import java.util.Arrays; | 
| import java.util.List; | 
|   | 
| /** | 
|  * <p> | 
|  * 用户管理 前端控制器 | 
|  * </p> | 
|  * | 
|  * @author xiaochen | 
|  * @since 2025-08-20 | 
|  */ | 
| @Api(tags = "用户管理") | 
| @RestController | 
| @RequestMapping("/t-sys-app-user") | 
| public class TSysAppUserController { | 
|   | 
|     private final TSysAppUserService sysAppUserService; | 
|     private final TSysInspectionService sysInspectionService; | 
|     private final TSysOrderService sysOrderService; | 
|     private final TSysChronicDiseaseService sysChronicDiseaseService; | 
|     private final TokenService tokenService; | 
|     private final RedisCache redisCache; | 
|     @Autowired | 
|     public TSysAppUserController(TSysAppUserService sysAppUserService, TSysInspectionService sysInspectionService, TSysOrderService sysOrderService, TSysChronicDiseaseService sysChronicDiseaseService, TokenService tokenService, RedisCache redisCache) { | 
|         this.sysAppUserService = sysAppUserService; | 
|         this.sysInspectionService = sysInspectionService; | 
|         this.sysOrderService = sysOrderService; | 
|         this.sysChronicDiseaseService = sysChronicDiseaseService; | 
|         this.tokenService = tokenService; | 
|         this.redisCache = redisCache; | 
|     } | 
|   | 
|     /** | 
|      * 获取用户管理管理列表 | 
|      */ | 
|     @ApiOperation(value = "获取用户管理分页列表") | 
|     @PostMapping(value = "/pageList") | 
|     public R<PageInfo<TSysAppUserVO>> pageList(@RequestBody TSysAppUserQuery query) { | 
|         return R.ok(sysAppUserService.pageList(query)); | 
|     } | 
|   | 
|     /** | 
|      * 修改用户管理 | 
|      */ | 
|     @ApiOperation(value = "修改用户管理") | 
|     @PostMapping(value = "/update") | 
|     public R<Boolean> update(@Validated @RequestBody TSysAppUser dto) { | 
|         return R.ok(sysAppUserService.updateById(dto)); | 
|     } | 
|   | 
|     /** | 
|      * 查看用户管理详情 | 
|      */ | 
|     @ApiOperation(value = "查看用户管理详情") | 
|     @GetMapping(value = "/getDetailById") | 
|     public R<TSysAppUserVO> getDetailById(@RequestParam String id) { | 
|         TSysAppUser sysAppUser = sysAppUserService.getById(id); | 
|         TSysAppUserVO sysAppUserVO = new TSysAppUserVO(); | 
|         BeanUtils.copyProperties(sysAppUser, sysAppUserVO); | 
|         // 查询慢性病 | 
|         String chronicDiseaseId = sysAppUserVO.getChronicDiseaseId(); | 
|         if(StringUtils.isNotBlank(chronicDiseaseId)){ | 
|             String[] split = chronicDiseaseId.split(","); | 
|             List<TSysChronicDisease> sysChronicDiseases = sysChronicDiseaseService.list(Wrappers.lambdaQuery(TSysChronicDisease.class).in(TSysChronicDisease::getId, Arrays.asList(split))); | 
|             sysAppUserVO.setSysChronicDiseases(sysChronicDiseases); | 
|         } | 
|         // 查询检测信息 | 
|         List<TSysInspection> sysInspections = sysInspectionService.list(Wrappers.lambdaQuery(TSysInspection.class).eq(TSysInspection::getAppUserId, id)); | 
|         sysAppUserVO.setSysInspections(sysInspections); | 
|         // 订单信息 | 
|         List<TSysOrderVO> sysOrders = sysOrderService.queryListByAppUserId(id); | 
|         sysAppUserVO.setSysOrders(sysOrders); | 
|         return R.ok(sysAppUserVO); | 
|     } | 
|   | 
|     /** | 
|      * 根据用户id查询检测信息 | 
|      */ | 
|     @ApiOperation(value = "根据用户id查询检测信息") | 
|     @GetMapping(value = "/getInspectionByAppUserId") | 
|     public R<List<TSysInspection>> getInspectionByAppUserId(@RequestParam String appUserId) { | 
|         // 订单信息 | 
|         List<TSysInspection> sysInspections = sysInspectionService.list(Wrappers.lambdaQuery(TSysInspection.class).eq(TSysInspection::getAppUserId, appUserId)); | 
|         return R.ok(sysInspections); | 
|     } | 
|   | 
|     /** | 
|      * 查看用户管理详情 | 
|      */ | 
|     @ApiOperation(value = "查看用户购药详情") | 
|     @GetMapping(value = "/getOrderByAppUserId") | 
|     public R<List<TSysOrderVO>> getOrderByAppUserId(@RequestParam String appUserId) { | 
|         List<TSysOrderVO> sysOrders = sysOrderService.queryListByAppUserId(appUserId); | 
|         return R.ok(sysOrders); | 
|     } | 
|   | 
|     /** | 
|      * 退出登录 | 
|      */ | 
|     @ApiOperation(value = "退出登录") | 
|     @PostMapping(value = "/loginOut") | 
|     public R<Boolean> loginOut() { | 
|         String token = tokenService.getLoginUserApplet().getToken(); | 
|         redisCache.deleteObject(tokenService.getTokenKey(token)); | 
|         return R.ok(); | 
|     } | 
|   | 
| } |