Przeglądaj źródła

晋掌柜用户的地理位置

helixiao 2 lat temu
rodzic
commit
e71459e668

+ 18 - 13
src/main/java/com/ydtech/modules/admin/controller/websocket/SysGeographyPositionController.java

@@ -4,14 +4,12 @@ package com.ydtech.modules.admin.controller.websocket;
 import com.ydtech.core.page.HttpResult;
 import com.ydtech.modules.admin.model.SysGeographyPosition;
 import com.ydtech.modules.admin.model.SysGeographyPositionRecord;
+import com.ydtech.modules.admin.model.dto.SysGeographyPositionPageDto;
 import com.ydtech.modules.admin.service.SysGeographyPositionService;
+import com.ydtech.modules.order.entity.BasePageResult;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiParam;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
 import java.util.List;
@@ -24,16 +22,23 @@ public class SysGeographyPositionController {
     @Resource
     private SysGeographyPositionService sysGeographyPositionService;
 
-    @GetMapping("/queryPosition/{userId}")
-    @ApiOperation(value = "查询用户的最新位置")
-    public HttpResult<SysGeographyPosition> queryPosition(@PathVariable("userId") @ApiParam("用户id") String userId) {
-        return HttpResult.ok("success", this.sysGeographyPositionService.queryPosition(userId));
+    @GetMapping("/queryPosition")
+    @ApiOperation(value = "查询所有用户的位置列表")
+    public HttpResult<List<SysGeographyPosition>> queryPosition() {
+
+        return HttpResult.ok("success", this.sysGeographyPositionService.queryPosition());
     }
 
-    @GetMapping("/queryPositionList/{userId}")
-    @ApiOperation(value = "查询用户的所有位置")
-    public HttpResult<List<SysGeographyPositionRecord>> queryPositionList(@PathVariable("userId") @ApiParam("用户id") String userId) {
-        return HttpResult.ok("success", this.sysGeographyPositionService.queryPositionList(userId));
+    @PostMapping("/queryPositionList")
+    @ApiOperation(value = "查询单个用户的所有位置")
+    public HttpResult<BasePageResult<SysGeographyPositionRecord>> queryPositionList(@RequestBody SysGeographyPositionPageDto sysGeographyPositionPageDto) {
+        if (sysGeographyPositionPageDto.getPageNum() == 0) {
+            sysGeographyPositionPageDto.setPageNum(1);
+        }
+        if (sysGeographyPositionPageDto.getPageSize() == 0) {
+            sysGeographyPositionPageDto.setPageSize(10);
+        }
+        return HttpResult.ok("success", this.sysGeographyPositionService.queryPositionList(sysGeographyPositionPageDto));
     }
 
 

+ 11 - 1
src/main/java/com/ydtech/modules/admin/model/SysGeographyPosition.java

@@ -2,6 +2,8 @@ package com.ydtech.modules.admin.model;
 
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import java.io.Serializable;
@@ -19,30 +21,38 @@ public class SysGeographyPosition implements Serializable {
     /**
      * 员工编号
      */
+    @ApiModelProperty(value = "员工编号")
     private String id;
     /**
      * 员工姓名
      */
+    @ApiModelProperty(value = "员工姓名")
     private String userName;
     /**
      * 经度
      */
+    @ApiModelProperty(value = "经度")
     private String longitude;
     /**
      * 纬度
      */
+    @ApiModelProperty(value = "纬度")
     private String latitude;
     /**
      * 地址
      */
+    @ApiModelProperty(value = "地址")
     private String address;
     /**
-     * 地址
+     * 在线状态
      */
+    @ApiModelProperty(value = "在线状态")
     private Integer status;
     /**
      * 创建时间
      */
+    @ApiModelProperty(value = "创建时间")
+    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
     private Date createTime;
     /**
      * 创建人

+ 11 - 1
src/main/java/com/ydtech/modules/admin/model/SysGeographyPositionRecord.java

@@ -2,6 +2,8 @@ package com.ydtech.modules.admin.model;
 
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import java.io.Serializable;
@@ -19,31 +21,39 @@ public class SysGeographyPositionRecord implements Serializable {
     /**
      * 自增id
      */
+    @ApiModelProperty(value = "自增id")
     @TableId(value = "id", type= IdType.AUTO)
-    private String id;
+    private Integer id;
     /**
      * 员工编号
      */
+    @ApiModelProperty(value = "员工编号")
     private String userId;
     /**
      * 员工姓名
      */
+    @ApiModelProperty(value = "员工姓名")
     private String userName;
     /**
      * 经度
      */
+    @ApiModelProperty(value = "经度")
     private String longitude;
     /**
      * 纬度
      */
+    @ApiModelProperty(value = "纬度")
     private String latitude;
     /**
      * 地址
      */
+    @ApiModelProperty(value = "地址")
     private String address;
     /**
      * 创建时间
      */
+    @ApiModelProperty(value = "创建时间")
+    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
     private Date createTime;
     /**
      * 创建人

+ 17 - 0
src/main/java/com/ydtech/modules/admin/model/dto/SysGeographyPositionPageDto.java

@@ -0,0 +1,17 @@
+package com.ydtech.modules.admin.model.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class SysGeographyPositionPageDto {
+    @ApiModelProperty(value = "页数")
+    private int pageNum;
+
+    @ApiModelProperty(value = "每页条数")
+    private int pageSize;
+
+    @ApiModelProperty(value = "工号")
+    private String id;
+
+}

+ 4 - 2
src/main/java/com/ydtech/modules/admin/service/SysGeographyPositionService.java

@@ -3,12 +3,14 @@ package com.ydtech.modules.admin.service;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ydtech.modules.admin.model.SysGeographyPosition;
 import com.ydtech.modules.admin.model.SysGeographyPositionRecord;
+import com.ydtech.modules.admin.model.dto.SysGeographyPositionPageDto;
+import com.ydtech.modules.order.entity.BasePageResult;
 
 import java.util.List;
 
 public interface SysGeographyPositionService extends IService<SysGeographyPosition> {
 
-    SysGeographyPosition queryPosition(String userId);
+    List<SysGeographyPosition> queryPosition();
 
-    List<SysGeographyPositionRecord> queryPositionList(String userId);
+    BasePageResult<SysGeographyPositionRecord> queryPositionList(SysGeographyPositionPageDto sysGeographyPositionPageDto);
 }

+ 22 - 12
src/main/java/com/ydtech/modules/admin/service/impl/SysGeographyPositionServiceImpl.java

@@ -1,21 +1,20 @@
 package com.ydtech.modules.admin.service.impl;
 
-import cn.hutool.core.bean.BeanUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ydtech.modules.admin.dao.SysGeographyPositionMapper;
 import com.ydtech.modules.admin.dao.SysGeographyPositionRecordMapper;
-import com.ydtech.modules.admin.dao.SysUserMapper;
 import com.ydtech.modules.admin.model.SysGeographyPosition;
 import com.ydtech.modules.admin.model.SysGeographyPositionRecord;
-import com.ydtech.modules.admin.model.SysUser;
+import com.ydtech.modules.admin.model.dto.SysGeographyPositionPageDto;
+import com.ydtech.modules.admin.service.SysGeographyPositionRecordService;
 import com.ydtech.modules.admin.service.SysGeographyPositionService;
-import org.springframework.beans.factory.annotation.Autowired;
+import com.ydtech.modules.order.entity.BasePageResult;
+import com.ydtech.utils.StringUtils;
 import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
-import java.util.Date;
 import java.util.List;
 
 @Service("SysGeographyPositionService")
@@ -26,18 +25,29 @@ public class SysGeographyPositionServiceImpl extends ServiceImpl<SysGeographyPos
     @Resource
     private SysGeographyPositionRecordMapper sysGeographyPositionRecordMapper;
 
+    @Resource
+    private SysGeographyPositionRecordService sysGeographyPositionRecordService;
+
 
 
     @Override
-    public SysGeographyPosition queryPosition(String userId) {
-        return  sysGeographyPositionMapper.selectOne(new LambdaQueryWrapper<SysGeographyPosition>()
-                .eq(SysGeographyPosition::getId,userId));
+    public List<SysGeographyPosition> queryPosition() {
+        return  list();
     }
 
     @Override
-    public List<SysGeographyPositionRecord> queryPositionList(String userId) {
-        return sysGeographyPositionRecordMapper.selectList(new LambdaQueryWrapper<SysGeographyPositionRecord>()
-                .eq(SysGeographyPositionRecord::getUserId, userId).orderByDesc(SysGeographyPositionRecord::getCreateTime));
+    public BasePageResult<SysGeographyPositionRecord> queryPositionList(SysGeographyPositionPageDto sysGeographyPositionPageDto) {
+        Page<SysGeographyPositionRecord> page = new Page<>(sysGeographyPositionPageDto.getPageNum(), sysGeographyPositionPageDto.getPageSize());
+
+        LambdaQueryWrapper<SysGeographyPositionRecord> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(StringUtils.isNotEmpty(sysGeographyPositionPageDto.getId()),SysGeographyPositionRecord::getUserId, sysGeographyPositionPageDto.getId());
+        wrapper.orderByDesc(SysGeographyPositionRecord::getCreateTime);
+
+        Page<SysGeographyPositionRecord> insOrdersPage = sysGeographyPositionRecordService.page(page, wrapper);
+
+        return new BasePageResult<>(sysGeographyPositionPageDto.getPageNum(), page.getSize(), insOrdersPage.getTotal(), page.getPages(),
+                insOrdersPage.getRecords());
+
     }