From 26f6f43785afd992496d7fc79775124e557ff16d Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期二, 21 十月 2025 17:56:05 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TAppUserController.java | 61 ++++++++++++++++++++++++++++-- 1 files changed, 57 insertions(+), 4 deletions(-) diff --git a/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TAppUserController.java b/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TAppUserController.java index 7cf28c1..89b9447 100644 --- a/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TAppUserController.java +++ b/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TAppUserController.java @@ -2,10 +2,14 @@ import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.ruoyi.common.constant.Constants; import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.core.redis.RedisCache; import com.ruoyi.framework.web.service.TokenService; import com.ruoyi.system.dto.UpdateDetailTeamDto; +import com.ruoyi.system.dto.UserIdDto; import com.ruoyi.system.model.TAppUser; import com.ruoyi.system.model.TAppUserEquipment; import com.ruoyi.system.model.TAppUserLocation; @@ -16,7 +20,12 @@ import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.crypto.password.PasswordEncoder; +import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; + +import java.time.LocalDate; + +import java.util.List; /** * <p> @@ -36,13 +45,15 @@ private final PasswordEncoder passwordEncoder; private final TAppUserEquipmentService appUserEquipmentService; private final TAppUserLocationService appUserLocationService; + private final RedisCache redisCache; @Autowired - public TAppUserController(TAppUserService appUserService, TokenService tokenService, PasswordEncoder passwordEncoder, TAppUserEquipmentService appUserEquipmentService, TAppUserLocationService appUserLocationService) { + public TAppUserController(TAppUserService appUserService, TokenService tokenService, PasswordEncoder passwordEncoder, TAppUserEquipmentService appUserEquipmentService, TAppUserLocationService appUserLocationService, RedisCache redisCache) { this.appUserService = appUserService; this.tokenService = tokenService; this.passwordEncoder = passwordEncoder; this.appUserEquipmentService = appUserEquipmentService; this.appUserLocationService = appUserLocationService; + this.redisCache = redisCache; } /** @@ -90,8 +101,8 @@ /** * 查看人员管理详情--修改队伍情况 */ - @ApiOperation(value = "查看人员管理详情--修改队伍情况",response = TAppUserEquipment.class) - @PostMapping(value = "/open/t-app-user/updateDetailTeam") + @ApiOperation(value = "查看人员管理详情--修改队伍情况",response = UpdateDetailTeamDto.class) + @PostMapping(value = "/api/t-app-user/updateDetailTeam") public R<?> updateDetailTeam(@RequestBody String param) { String userId = tokenService.getLoginUserApplet().getUserId(); UpdateDetailTeamDto dto = JSON.parseObject(param, UpdateDetailTeamDto.class); @@ -108,7 +119,7 @@ * 用户打点 */ @ApiOperation(value = "用户打点",response = TAppUserLocation.class) - @PostMapping(value = "/open/t-app-user/appUserLocation") + @PostMapping(value = "/api/t-app-user/appUserLocation") public R<?> appUserLocation(@RequestBody String param) { TAppUserLocation location = JSON.parseObject(param,TAppUserLocation.class); String userId = tokenService.getLoginUserApplet().getUserId(); @@ -117,5 +128,47 @@ return R.ok(); } + /** + * 用户实时定位上传 + */ + @ApiOperation(value = "用户实时定位上传") + @PostMapping(value = "/open/t-app-user/positioningUpload") + public R<String> positioningUpload(@RequestParam(value = "lon") String lon , + @RequestParam(value = "lat") String lat ) { + String userId = tokenService.getLoginUserApplet().getUserId(); + String location = redisCache.getCacheObject(Constants.LOCATION + userId + ":" + LocalDate.now()); + if(StringUtils.hasLength(location)){ + redisCache.setCacheObject(Constants.LOCATION + userId + ":" + LocalDate.now(), location + ";" +lon + "," + lat); + }else { + redisCache.setCacheObject(Constants.LOCATION + userId + ":" + LocalDate.now(), lon + "," + lat); + } + // 实时定位点 + redisCache.setCacheObject(Constants.LOCATION + userId, lon + "," + lat); + return R.ok(); + } + + /** + * 用户打点 + */ + @ApiOperation(value = "获取用户打点数据",response = TAppUserLocation.class) + @GetMapping(value = "/open/t-app-user/getAppUserLocation") + public R<List<TAppUserLocation>> getAppUserLocation() { + String userId = tokenService.getLoginUserApplet().getUserId(); + List<TAppUserLocation> list = appUserLocationService.list(new LambdaQueryWrapper<TAppUserLocation>().eq(TAppUserLocation::getAppUserId, userId).orderByDesc(TAppUserLocation::getTime)); + return R.ok(list); + } + + /** + * 用户打点 + */ + @ApiOperation(value = "获取用户打点数据--详情",response = TAppUserLocation.class) + @PostMapping(value = "/open/t-app-user/getAppUserLocationFromId") + public R<TAppUserLocation> getAppUserLocationFromId(@RequestBody String param) { + UserIdDto dto = JSON.parseObject(param, UserIdDto.class); + TAppUserLocation location = appUserLocationService.getById(dto.getId()); + return R.ok(location); + } + + } -- Gitblit v1.7.1