liujie
23 分钟以前 3b7c832ffe25aed9cbdf0a40cbb332905b698351
ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TAppUserController.java
@@ -4,7 +4,9 @@
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;
@@ -18,7 +20,10 @@
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;
@@ -40,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;
    }
    /**
@@ -95,7 +102,7 @@
     * 查看人员管理详情--修改队伍情况
     */
    @ApiOperation(value = "查看人员管理详情--修改队伍情况",response = UpdateDetailTeamDto.class)
    @PostMapping(value = "/open/t-app-user/updateDetailTeam")
    @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);
@@ -112,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();
@@ -122,6 +129,25 @@
    }
    /**
     * 用户实时定位上传
     */
    @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)