Browse Source

接口归类调整

wxd 3 weeks ago
parent
commit
b2b081108d

+ 13 - 13
alien-entity/src/main/java/shop/alien/mapper/second/SecondGoodsMapper.java

@@ -129,7 +129,7 @@ public interface SecondGoodsMapper extends BaseMapper<SecondGoods> {
             "LEFT JOIN second_goods_category sgc2 " +
             "on sg.category_two_id = sgc2.id " +
             "${ew.customSqlSegment}")
-    IPage<SecondGoodsVo> getCollectGoodsPage(IPage<SecondGoodsVo> page, QueryWrapper<SecondGoodsVo> queryWrapper);
+    IPage<SecondGoodsVo> getCollectGoodsPage(IPage<SecondGoodsVo> page,  @Param(Constants.WRAPPER) QueryWrapper<SecondGoodsVo> queryWrapper);
 
     /**
      * 获取用户购买的商品列表
@@ -148,7 +148,7 @@ public interface SecondGoodsMapper extends BaseMapper<SecondGoods> {
             "LEFT JOIN second_goods_category sgc2 " +
             "on sg.category_two_id = sgc2.id " +
             "${ew.customSqlSegment}")
-    IPage<SecondGoodsVo> getBuyGoodsPage(IPage<SecondGoodsVo> page, QueryWrapper<SecondGoodsVo> queryWrapper);
+    IPage<SecondGoodsVo> getBuyGoodsPage(IPage<SecondGoodsVo> page,  @Param(Constants.WRAPPER) QueryWrapper<SecondGoodsVo> queryWrapper);
 
     /**
      * 获取用户出售的商品列表
@@ -166,7 +166,7 @@ public interface SecondGoodsMapper extends BaseMapper<SecondGoods> {
             "LEFT JOIN second_goods_category sgc2 " +
             "on sg.category_two_id = sgc2.id " +
             "${ew.customSqlSegment}")
-    IPage<SecondGoodsVo> getSellGoodsPage(IPage<SecondGoodsVo> page, QueryWrapper<SecondGoodsVo> queryWrapper);
+    IPage<SecondGoodsVo> getSellGoodsPage(IPage<SecondGoodsVo> page, @Param(Constants.WRAPPER) QueryWrapper<SecondGoodsVo> queryWrapper);
 
     /**
      * 获取用户商品列表
@@ -185,7 +185,7 @@ public interface SecondGoodsMapper extends BaseMapper<SecondGoods> {
             "left JOIN second_goods_category sgc2 " +
             "on sg.category_two_id = sgc2.id "+
             "${ew.customSqlSegment}")
-    IPage<SecondGoodsVo> getUserGoodsPage(IPage<SecondGoodsVo> page, QueryWrapper<SecondGoodsVo> queryWrapper);
+    IPage<SecondGoodsVo> getUserGoodsPage(IPage<SecondGoodsVo> page,@Param("currentLatitude") Double currentLatitude , @Param("currentLongitude") Double currentLongitude,  @Param(Constants.WRAPPER) QueryWrapper<SecondGoodsVo> queryWrapper);
 
     /**
      * 获取我的商品列表
@@ -196,15 +196,15 @@ public interface SecondGoodsMapper extends BaseMapper<SecondGoods> {
     @Select("SELECT " +
             "sg.*, " +
             "sgc1.category_name as categoryOneName, " +
-            "sgc2.category_name as categoryTwoName, "+
-            "ROUND(ST_Distance_Sphere(ST_GeomFromText(CONCAT('POINT(',#{currentLongitude},' ',#{currentLatitude} , ')' )), ST_GeomFromText(CONCAT('POINT(', REPLACE(sg.position, ',', ' '), ')' ))) / 1000, 2) AS distance "+
+            "sgc2.category_name as categoryTwoName "+
+//            "ROUND(ST_Distance_Sphere(ST_GeomFromText(CONCAT('POINT(',#{currentLongitude},' ',#{currentLatitude} , ')' )), ST_GeomFromText(CONCAT('POINT(', REPLACE(sg.position, ',', ' '), ')' ))) / 1000, 2) AS distance "+
             " FROM second_goods sg " +
             "left JOIN second_goods_category sgc1 " +
             "on sg.category_one_id = sgc1.id " +
             "left JOIN second_goods_category sgc2 " +
             "on sg.category_two_id = sgc2.id "+
             "${ew.customSqlSegment}")
-    IPage<SecondGoodsVo> getMyGoodsPage(IPage<SecondGoodsVo> page, QueryWrapper<SecondGoodsVo> queryWrapper);
+    IPage<SecondGoodsVo> getMyGoodsPage(IPage<SecondGoodsVo> page,  @Param(Constants.WRAPPER)  QueryWrapper<SecondGoodsVo> queryWrapper);
 
     /**
      * 获取我的草稿列表
@@ -215,15 +215,15 @@ public interface SecondGoodsMapper extends BaseMapper<SecondGoods> {
     @Select("SELECT " +
             "sg.*, " +
             "sgc1.category_name as categoryOneName, " +
-            "sgc2.category_name as categoryTwoName, "+
-            "ROUND(ST_Distance_Sphere(ST_GeomFromText(CONCAT('POINT(',#{currentLongitude},' ',#{currentLatitude} , ')' )), ST_GeomFromText(CONCAT('POINT(', REPLACE(sg.position, ',', ' '), ')' ))) / 1000, 2) AS distance "+
+            "sgc2.category_name as categoryTwoName "+
+//            "ROUND(ST_Distance_Sphere(ST_GeomFromText(CONCAT('POINT(',#{currentLongitude},' ',#{currentLatitude} , ')' )), ST_GeomFromText(CONCAT('POINT(', REPLACE(sg.position, ',', ' '), ')' ))) / 1000, 2) AS distance "+
             " FROM second_goods sg " +
             "left JOIN second_goods_category sgc1 " +
             "on sg.category_one_id = sgc1.id " +
             "left JOIN second_goods_category sgc2 " +
             "on sg.category_two_id = sgc2.id "+
             "${ew.customSqlSegment}")
-    IPage<SecondGoodsVo> getDraftList(IPage<SecondGoodsVo> page, QueryWrapper<SecondGoodsVo> queryWrapper);
+    IPage<SecondGoodsVo> getDraftList(IPage<SecondGoodsVo> page,  @Param(Constants.WRAPPER) QueryWrapper<SecondGoodsVo> queryWrapper);
 
     /**
      * 获取用户点赞的商品列表
@@ -234,8 +234,8 @@ public interface SecondGoodsMapper extends BaseMapper<SecondGoods> {
     @Select("SELECT " +
             "sg.*, " +
             "sgc1.category_name as categoryOneName, " +
-            "sgc2.category_name as categoryTwoName, "+
-            "ROUND(ST_Distance_Sphere(ST_GeomFromText(CONCAT('POINT(',#{currentLongitude},' ',#{currentLatitude} , ')' )), ST_GeomFromText(CONCAT('POINT(', REPLACE(sg.position, ',', ' '), ')' ))) / 1000, 2) AS distance "+
+            "sgc2.category_name as categoryTwoName "+
+//            "ROUND(ST_Distance_Sphere(ST_GeomFromText(CONCAT('POINT(',#{currentLongitude},' ',#{currentLatitude} , ')' )), ST_GeomFromText(CONCAT('POINT(', REPLACE(sg.position, ',', ' '), ')' ))) / 1000, 2) AS distance "+
             " FROM second_goods sg " +
             "left JOIN life_like_record lc " +
             "on sg.id = lc.huifu_id " +
@@ -244,5 +244,5 @@ public interface SecondGoodsMapper extends BaseMapper<SecondGoods> {
             "left JOIN second_goods_category sgc2 " +
             "on sg.category_two_id = sgc2.id "+
             "${ew.customSqlSegment}")
-    IPage<SecondGoodsVo> getLikeGoodsPage(IPage<SecondGoodsVo> page, QueryWrapper<SecondGoodsVo> queryWrapper);
+    IPage<SecondGoodsVo> getLikeGoodsPage(IPage<SecondGoodsVo> page,  @Param(Constants.WRAPPER) QueryWrapper<SecondGoodsVo> queryWrapper);
 }

+ 72 - 0
alien-second/src/main/java/shop/alien/second/controller/SearchGoodsController.java

@@ -0,0 +1,72 @@
+package shop.alien.second.controller;
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.annotations.*;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.*;
+import shop.alien.entity.result.R;
+import shop.alien.entity.second.SecondGoods;
+import shop.alien.entity.second.vo.SecondGoodsVo;
+import shop.alien.second.service.SecondGoodsService;
+import shop.alien.util.common.JwtUtil;
+
+import java.util.List;
+
+/**
+ * 二手商品控制器
+ */
+@Slf4j
+@Api(tags = {"二手平台-商品管理-搜索相关"})
+@ApiSort(1)
+@CrossOrigin
+@RestController
+@RequestMapping("/secondGoods")
+@RequiredArgsConstructor
+public class SearchGoodsController {
+
+    private final SecondGoodsService secondGoodsService;
+
+
+    /**
+     * 搜索商品列表(包含商品信息、图片、用户信息),按距离和创建时间倒序
+     */
+    @PostMapping("/search")
+    @ApiOperation("搜索结果-商品列表")
+    public R<IPage<SecondGoodsVo>> searchGoodsList(
+            @ApiParam("二手商品搜索条件") @RequestBody SecondGoodsVo secondGoodsVo) {
+        log.info("SecondGoodsController.searchGoodsList?secondGoodsVo={}", secondGoodsVo.toString());
+        R<IPage<SecondGoodsVo>> result = new R<>();
+        IPage<SecondGoodsVo> page = new Page<>(secondGoodsVo.getPageNum(), secondGoodsVo.getPageSize());
+        JSONObject data = JwtUtil.getCurrentUserInfo();
+        if (null != data) {
+            int userId = data.getInteger("userId");
+            String phone = data.getString("phone");
+            secondGoodsVo.setUserPhone(phone);
+            result = R.data(secondGoodsService.searchGoodsList(page, userId,secondGoodsVo), "查询成功");
+        }
+        return result;
+    }
+
+    /**
+     * 获取商品热卖排行榜(前10名)
+     */
+    @GetMapping("/getHotSellingRanking")
+    @ApiOperation("推荐 - 获取商品点赞热卖排行榜(前10名)")
+    public R<List<SecondGoods>> getHotSellingRanking() {
+        return R.data(secondGoodsService.getHotSellingRankingTop10(), "获取成功");
+    }
+
+    /**
+     * 大家都在看(前10名)
+     */
+    @GetMapping("/getCollectTop10")
+    @ApiOperation("大家都在看 - 获取商品收藏排行榜(前10名)")
+    public R<List<SecondGoods>> getCollectTop10() {
+        return R.data(secondGoodsService.getCollectTop10(), "获取成功");
+    }
+
+}

+ 2 - 221
alien-second/src/main/java/shop/alien/second/controller/SecondGoodsController.java

@@ -75,9 +75,9 @@ public class SecondGoodsController {
         log.info("SecondGoodsController.updateSecondGoods?secondGoods={}", secondGoods.toString());
         // 添加商品 0 创建 1 更新
         if (!secondGoodsService.createBasicInfo(secondGoods,1)) {
-            return R.fail("添加二手商品失败");
+            return R.fail("修改二手商品失败");
         }
-        return R.success("添加二手商品成功");
+        return R.success("修改二手商品成功");
     }
 
 
@@ -106,183 +106,6 @@ public class SecondGoodsController {
     }
 
     /**
-     * 搜索商品列表(包含商品信息、图片、用户信息),按距离和创建时间倒序
-     */
-    @PostMapping("/search")
-    @ApiOperation("搜索结果-商品列表")
-    public R<IPage<SecondGoodsVo>> searchGoodsList(
-            @ApiParam("二手商品搜索条件") @RequestBody SecondGoodsVo secondGoodsVo) {
-        log.info("SecondGoodsController.searchGoodsList?secondGoodsVo={}", secondGoodsVo.toString());
-        R<IPage<SecondGoodsVo>> result = new R<>();
-        IPage<SecondGoodsVo> page = new Page<>(secondGoodsVo.getPageNum(), secondGoodsVo.getPageSize());
-        JSONObject data = JwtUtil.getCurrentUserInfo();
-        if (null != data) {
-            int userId = data.getInteger("userId");
-            String phone = data.getString("phone");
-            secondGoodsVo.setUserPhone(phone);
-            result = R.data(secondGoodsService.searchGoodsList(page, userId,secondGoodsVo), "查询成功");
-        }
-        return result;
-    }
-
-    /**
-     * 获取商品热卖排行榜(前10名)
-     */
-    @GetMapping("/getHotSellingRanking")
-    @ApiOperation("推荐 - 获取商品点赞热卖排行榜(前10名)")
-    public R<List<SecondGoods>> getHotSellingRanking() {
-        return R.data(secondGoodsService.getHotSellingRankingTop10(), "获取成功");
-    }
-
-    /**
-     * 大家都在看(前10名)
-     */
-    @GetMapping("/getCollectTop10")
-    @ApiOperation("大家都在看 - 获取商品收藏排行榜(前10名)")
-    public R<List<SecondGoods>> getCollectTop10() {
-        return R.data(secondGoodsService.getCollectTop10(), "获取成功");
-    }
-
-    /**
-     * 获取用户屏蔽的商品列表(分页)
-     */
-    @GetMapping("/getShieldedGoodsPage")
-    @ApiOperation("获取用户屏蔽的商品列表(分页)")
-    @ApiImplicitParams({@ApiImplicitParam(name = "page", value = "分页页数", dataType = "Integer", paramType = "query", required = true),
-            @ApiImplicitParam(name = "size", value = "分页条数", dataType = "Integer", paramType = "query", required = true)})
-    public R<IPage<SecondGoodsVo>> getShieldedGoodsPage(
-            @RequestParam(defaultValue = "1") Integer pageNum,
-            @RequestParam(defaultValue = "10") Integer pageSize) {
-        log.info("SecondGoodsController.getShieldedGoodsPage?page={},size={},", pageNum,pageSize);
-        R<IPage<SecondGoodsVo>> result = new R<>();
-        IPage<SecondGoodsVo> page = new Page<>(pageNum, pageSize);
-        JSONObject data = JwtUtil.getCurrentUserInfo();
-        if (null != data) {
-            int userId = data.getInteger("userId");
-            result = R.data(secondGoodsService.getShieldedGoodsPage(page,userId));
-        }
-        return result;
-    }
-
-    /**
-     * 我收藏的商品列表-分页
-     */
-    @GetMapping("/getCollectGoodsPage")
-    @ApiOperation("我收藏的商品列表-分页")
-    @ApiImplicitParams({@ApiImplicitParam(name = "page", value = "分页页数", dataType = "Integer", paramType = "query", required = true),
-            @ApiImplicitParam(name = "size", value = "分页条数", dataType = "Integer", paramType = "query", required = true)})
-    public R<IPage<SecondGoodsVo>> getCollectGoodsPage(
-            @RequestParam(defaultValue = "1") Integer pageNum,
-            @RequestParam(defaultValue = "10") Integer pageSize) {
-        log.info("SecondGoodsController.getCollectGoodsPage?page={},size={},", pageNum,pageSize);
-        R<IPage<SecondGoodsVo>> result = new R<>();
-        IPage<SecondGoodsVo> page = new Page<>(pageNum,pageSize);
-        JSONObject data = JwtUtil.getCurrentUserInfo();
-        if (null != data) {
-            int userId = data.getInteger("userId");
-            result = R.data(secondGoodsService.getCollectGoodsPage(page,userId));
-        }
-        return result;
-    }
-
-    /**
-     * 我的商品-个人主页用户发布的商品
-     */
-    @GetMapping("/getMyGoodsPage")
-    @ApiOperation("我的商品-个人主页用户发布的商品")
-    @ApiImplicitParams({@ApiImplicitParam(name = "page", value = "分页页数", dataType = "Integer", paramType = "query", required = true),
-            @ApiImplicitParam(name = "size", value = "分页条数", dataType = "Integer", paramType = "query", required = true)})
-    public R<IPage<SecondGoodsVo>> getMyGoodsPage(
-            @RequestParam(defaultValue = "1") Integer pageNum,
-            @RequestParam(defaultValue = "10") Integer pageSize) {
-        log.info("SecondGoodsController.getMyGoodsPage?page={},size={},", pageNum,pageSize);
-        R<IPage<SecondGoodsVo>> result = new R<>();
-        IPage<SecondGoodsVo> page = new Page<>(pageNum,pageSize);
-        JSONObject data = JwtUtil.getCurrentUserInfo();
-        if (null != data) {
-            int userId = data.getInteger("userId");
-            result = R.data(secondGoodsService.getMyGoodsPage(page,userId));
-        }
-        return result;
-    }
-
-    /**
-     * 获取商品草稿列表
-     */
-    @GetMapping("/getDraftList")
-    @ApiOperation("获取商品草稿列表")
-    @ApiImplicitParams({@ApiImplicitParam(name = "page", value = "分页页数", dataType = "Integer", paramType = "query", required = true),
-            @ApiImplicitParam(name = "size", value = "分页条数", dataType = "Integer", paramType = "query", required = true)})
-    public R<IPage<SecondGoodsVo>> getDraftList(
-            @RequestParam(defaultValue = "1") Integer pageNum,
-            @RequestParam(defaultValue = "10") Integer pageSize) {
-        log.info("SecondGoodsController.getDraftList?page={},size={},", pageNum,pageSize);
-        R<IPage<SecondGoodsVo>> result = new R<>();
-        IPage<SecondGoodsVo> page = new Page<>(pageNum,pageSize);
-        JSONObject data = JwtUtil.getCurrentUserInfo();
-        if (null != data) {
-            int userId = data.getInteger("userId");
-            result = R.data(secondGoodsService.getDraftList(page,userId));
-        }
-        return result;
-    }
-
-
-    /**
-     * 我购买的商品列表-分页
-     */
-    @GetMapping("/getBuyGoodsPage")
-    @ApiOperation("我购买的商品列表-分页")
-    @ApiImplicitParams({@ApiImplicitParam(name = "page", value = "分页页数", dataType = "Integer", paramType = "query", required = true),
-            @ApiImplicitParam(name = "size", value = "分页条数", dataType = "Integer", paramType = "query", required = true)})
-    public R<IPage<SecondGoodsVo>> getBuyGoodsPage(
-            @RequestParam(defaultValue = "1") Integer pageNum,
-            @RequestParam(defaultValue = "10") Integer pageSize) {
-        log.info("SecondGoodsController.getDraftList?page={},size={},", pageNum,pageSize);
-        R<IPage<SecondGoodsVo>> result = new R<>();
-        IPage<SecondGoodsVo> page = new Page<>(pageNum, pageNum);
-        JSONObject data = JwtUtil.getCurrentUserInfo();
-        if (null != data) {
-            int userId = data.getInteger("userId");
-            result = R.data(secondGoodsService.getBuyGoodsPage(page,userId));
-        }
-        return result;
-    }
-
-    /**
-     * 他的商品-个人主页用户发布的商品
-     */
-    @GetMapping("/getUserGoodsPage")
-    @ApiOperation("他的商品-个人主页用户发布的商品")
-    @ApiImplicitParams({
-            @ApiImplicitParam(name = "userId", value = "主页用户id", dataType = "Integer", paramType = "query", required = true),
-            @ApiImplicitParam(name = "page", value = "分页页数", dataType = "Integer", paramType = "query", required = true),
-            @ApiImplicitParam(name = "size", value = "分页条数", dataType = "Integer", paramType = "query", required = true)})
-    public R<IPage<SecondGoodsVo>> getUserGoodsPage(
-            @RequestParam Integer userId,
-            @RequestParam(defaultValue = "1") Integer pageNum,
-            @RequestParam(defaultValue = "10") Integer pageSize) {
-        log.info("SecondGoodsController.getDraftList?userId={},page={},size={},",userId, pageNum,pageSize);
-        IPage<SecondGoodsVo> page = new Page<>(pageNum, pageSize);
-        return R.data(secondGoodsService.getUserGoodsPage(page, userId));
-    }
-
-    /**
-     * 获取商品草稿数量
-     */
-    @GetMapping("/getDraftCount")
-    @ApiOperation("获取商品草稿数量")
-    public R<Integer> getDraftCount(@ApiParam("商品id") @RequestParam Integer goodsId) {
-        log.info("SecondGoodsController.getDraftCount?goodsId={}", goodsId);
-        // 获取商品草稿数量
-        QueryWrapper<SecondGoods> queryWrapper = new QueryWrapper<>();
-        queryWrapper.lambda()
-                .eq(SecondGoods::getId, goodsId)
-                .eq(SecondGoods::getGoodsStatus, 0); // 0-草稿
-        return R.data(secondGoodsService.count(queryWrapper));
-    }
-
-    /**
      * 商品审核状态查询-消息跳转用
      */
     @GetMapping("/getGoodsAuditStatus")
@@ -296,46 +119,4 @@ public class SecondGoodsController {
         return R.data(secondGoodsService.getOne(queryWrapper).getGoodsStatus());
     }
 
-    /**
-     * 我的 - 点赞商品列表
-     */
-    @GetMapping("/getLikeGoodsPage")
-    @ApiOperation("我的 - 点赞商品列表")
-    @ApiImplicitParams({
-            @ApiImplicitParam(name = "page", value = "分页页数", dataType = "Integer", paramType = "query", required = true),
-            @ApiImplicitParam(name = "size", value = "分页条数", dataType = "Integer", paramType = "query", required = true)})
-    public R<IPage<SecondGoodsVo>> getLikeGoodsPage(
-            @RequestParam(defaultValue = "1") Integer pageNum,
-            @RequestParam(defaultValue = "10") Integer pageSize) {
-        log.info("SecondGoodsController.getLikeGoodsPage?page={},size={},", pageNum,pageSize);
-        IPage<SecondGoodsVo> page = new Page<>(pageNum, pageSize);
-        R<IPage<SecondGoodsVo>> result = new R<>();
-        JSONObject data = JwtUtil.getCurrentUserInfo();
-        if (null != data) {
-            int userId = data.getInteger("userId");
-            String phone = data.getString("phone");
-            result = R.data(secondGoodsService.getLikeGoodsPage(page,userId,phone));
-        }
-        return result;
-    }
-
-
-    /**
-     * 我的 - 交易列表
-     * 我卖出的商品列表-分页
-     */
-    @GetMapping("/getSellGoodsPage")
-    @ApiOperation("根据商品状态获取商品列表 - 0:草稿(我的草稿列表) 1:审核中 2:审核失败 3:已上架 4:已下架 5:已售出(我卖出的商品列表) -分页")
-    public R<IPage<SecondGoodsVo>> getSellGoodsPage(
-            @ApiParam("分页参数") @RequestBody SecondGoodsVo secondGoodsVo) {
-        log.info("SecondGoodsController.getSellGoodsPage?secondGoodsVo={}", secondGoodsVo.toString());
-        R<IPage<SecondGoodsVo>> result = new R<>();
-        IPage<SecondGoodsVo> page = new Page<>(secondGoodsVo.getPageNum(), secondGoodsVo.getPageSize());
-        JSONObject data = JwtUtil.getCurrentUserInfo();
-        if (null != data) {
-            int userId = data.getInteger("userId");
-            result = R.data(secondGoodsService.getSellGoodsPage(page,secondGoodsVo,userId));
-        }
-        return result;
-    }
 }

+ 222 - 0
alien-second/src/main/java/shop/alien/second/controller/UserGoodsController.java

@@ -0,0 +1,222 @@
+package shop.alien.second.controller;
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.annotations.*;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.*;
+import shop.alien.entity.result.R;
+import shop.alien.entity.second.SecondGoods;
+import shop.alien.entity.second.vo.SecondGoodsVo;
+import shop.alien.second.service.SecondGoodsService;
+import shop.alien.util.common.JwtUtil;
+
+/**
+ * 二手商品控制器
+ */
+@Slf4j
+@Api(tags = {"二手平台-商品管理-我的相关"})
+@ApiSort(1)
+@CrossOrigin
+@RestController
+@RequestMapping("/secondGoods")
+@RequiredArgsConstructor
+public class UserGoodsController {
+
+    private final SecondGoodsService secondGoodsService;
+
+    /**
+     * 获取用户屏蔽的商品列表(分页)
+     */
+    @GetMapping("/getShieldedGoodsPage")
+    @ApiOperation("获取用户屏蔽的商品列表(分页)")
+    @ApiImplicitParams({@ApiImplicitParam(name = "pageNum", value = "分页页数", dataType = "Integer", paramType = "query", required = true),
+            @ApiImplicitParam(name = "pageSize", value = "分页条数", dataType = "Integer", paramType = "query", required = true)})
+    public R<IPage<SecondGoodsVo>> getShieldedGoodsPage(
+            @RequestParam(defaultValue = "1") Integer pageNum,
+            @RequestParam(defaultValue = "10") Integer pageSize) {
+        log.info("SecondGoodsController.getShieldedGoodsPage?page={},size={},", pageNum,pageSize);
+        R<IPage<SecondGoodsVo>> result = new R<>();
+        IPage<SecondGoodsVo> page = new Page<>(pageNum, pageSize);
+        JSONObject data = JwtUtil.getCurrentUserInfo();
+        if (null != data) {
+            int userId = data.getInteger("userId");
+            result = R.data(secondGoodsService.getShieldedGoodsPage(page,userId));
+        }
+        return result;
+    }
+
+    /**
+     * 我收藏的商品列表-分页
+     */
+    @GetMapping("/getCollectGoodsPage")
+    @ApiOperation("我收藏的商品列表-分页")
+    @ApiImplicitParams({@ApiImplicitParam(name = "pageNum", value = "分页页数", dataType = "Integer", paramType = "query", required = true),
+            @ApiImplicitParam(name = "pageSize", value = "分页条数", dataType = "Integer", paramType = "query", required = true)})
+    public R<IPage<SecondGoodsVo>> getCollectGoodsPage(
+            @RequestParam(defaultValue = "1") Integer pageNum,
+            @RequestParam(defaultValue = "10") Integer pageSize) {
+        log.info("SecondGoodsController.getCollectGoodsPage?page={},size={},", pageNum,pageSize);
+        R<IPage<SecondGoodsVo>> result = new R<>();
+        IPage<SecondGoodsVo> page = new Page<>(pageNum,pageSize);
+        JSONObject data = JwtUtil.getCurrentUserInfo();
+        if (null != data) {
+            int userId = data.getInteger("userId");
+            result = R.data(secondGoodsService.getCollectGoodsPage(page,userId));
+        }
+        return result;
+    }
+
+    /**
+     * 我的商品-个人主页用户发布的商品
+     */
+    @GetMapping("/getMyGoodsPage")
+    @ApiOperation("我的商品-个人主页用户发布的商品")
+    @ApiImplicitParams({@ApiImplicitParam(name = "pageNum", value = "分页页数", dataType = "Integer", paramType = "query", required = true),
+            @ApiImplicitParam(name = "pageSize", value = "分页条数", dataType = "Integer", paramType = "query", required = true)})
+    public R<IPage<SecondGoodsVo>> getMyGoodsPage(
+            @RequestParam(defaultValue = "1") Integer pageNum,
+            @RequestParam(defaultValue = "10") Integer pageSize) {
+        log.info("SecondGoodsController.getMyGoodsPage?page={},size={},", pageNum,pageSize);
+        R<IPage<SecondGoodsVo>> result = new R<>();
+        IPage<SecondGoodsVo> page = new Page<>(pageNum,pageSize);
+        JSONObject data = JwtUtil.getCurrentUserInfo();
+        if (null != data) {
+            int userId = data.getInteger("userId");
+            result = R.data(secondGoodsService.getMyGoodsPage(page,userId));
+        }
+        return result;
+    }
+
+    /**
+     * 获取商品草稿列表
+     */
+    @GetMapping("/getDraftList")
+    @ApiOperation("获取商品草稿列表")
+    @ApiImplicitParams({@ApiImplicitParam(name = "pageNum", value = "分页页数", dataType = "Integer", paramType = "query", required = true),
+            @ApiImplicitParam(name = "pageSize", value = "分页条数", dataType = "Integer", paramType = "query", required = true)})
+    public R<IPage<SecondGoodsVo>> getDraftList(
+            @RequestParam(defaultValue = "1") Integer pageNum,
+            @RequestParam(defaultValue = "10") Integer pageSize) {
+        log.info("SecondGoodsController.getDraftList?page={},size={},", pageNum,pageSize);
+        R<IPage<SecondGoodsVo>> result = new R<>();
+        IPage<SecondGoodsVo> page = new Page<>(pageNum,pageSize);
+        JSONObject data = JwtUtil.getCurrentUserInfo();
+        if (null != data) {
+            int userId = data.getInteger("userId");
+            result = R.data(secondGoodsService.getDraftList(page,userId));
+        }
+        return result;
+    }
+
+    /**
+     * 获取我的商品草稿数量
+     */
+    @GetMapping("/getDraftCount")
+    @ApiOperation("获取我的商品草稿数量")
+    public R<Integer> getDraftCount() {
+        JSONObject data = JwtUtil.getCurrentUserInfo();
+        R<Integer> result = new R<>();
+        // 获取商品草稿数量
+        QueryWrapper<SecondGoods> queryWrapper = new QueryWrapper<>();
+        if (null != data) {
+            int userId = data.getInteger("userId");
+            queryWrapper.lambda()
+                    .eq(SecondGoods::getDeleteFlag, 0)
+                    .eq(SecondGoods::getUserId, userId)
+                    .eq(SecondGoods::getGoodsStatus, 0); // 0-草稿
+            return R.data(secondGoodsService.count(queryWrapper));
+        }
+        return result;
+    }
+
+    /**
+     * 我购买的商品列表-分页
+     */
+    @GetMapping("/getBuyGoodsPage")
+    @ApiOperation("我购买的商品列表-分页")
+    @ApiImplicitParams({@ApiImplicitParam(name = "pageNum", value = "分页页数", dataType = "Integer", paramType = "query", required = true),
+            @ApiImplicitParam(name = "pageSize", value = "分页条数", dataType = "Integer", paramType = "query", required = true)})
+    public R<IPage<SecondGoodsVo>> getBuyGoodsPage(
+            @RequestParam(defaultValue = "1") Integer pageNum,
+            @RequestParam(defaultValue = "10") Integer pageSize) {
+        log.info("SecondGoodsController.getDraftList?page={},size={},", pageNum,pageSize);
+        R<IPage<SecondGoodsVo>> result = new R<>();
+        IPage<SecondGoodsVo> page = new Page<>(pageNum, pageNum);
+        JSONObject data = JwtUtil.getCurrentUserInfo();
+        if (null != data) {
+            int userId = data.getInteger("userId");
+            result = R.data(secondGoodsService.getBuyGoodsPage(page,userId));
+        }
+        return result;
+    }
+
+    /**
+     * 他的商品-个人主页用户发布的商品
+     */
+    @GetMapping("/getUserGoodsPage")
+    @ApiOperation("他的商品-个人主页用户发布的商品")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "userId", value = "主页用户id", dataType = "Integer", paramType = "query", required = true),
+            @ApiImplicitParam(name = "currentLongitude", value = "经度", dataType = "Double", paramType = "query", required = true),
+            @ApiImplicitParam(name = "currentLatitude", value = "纬度", dataType = "Double", paramType = "query", required = true),
+            @ApiImplicitParam(name = "pageNum", value = "分页页数", dataType = "Integer", paramType = "query", required = true),
+            @ApiImplicitParam(name = "pageSize", value = "分页条数", dataType = "Integer", paramType = "query", required = true)})
+    public R<IPage<SecondGoodsVo>> getUserGoodsPage(
+            @RequestParam Integer userId,
+            @RequestParam Double currentLongitude,
+            @RequestParam Double currentLatitude,
+            @RequestParam(defaultValue = "1") Integer pageNum,
+            @RequestParam(defaultValue = "10") Integer pageSize) {
+        log.info("SecondGoodsController.getDraftList?userId={},currentLongitude={},currentLatitude={},page={},size={},",userId,currentLongitude,currentLatitude, pageNum,pageSize);
+        IPage<SecondGoodsVo> page = new Page<>(pageNum, pageSize);
+        return R.data(secondGoodsService.getUserGoodsPage(page,currentLatitude,currentLongitude, userId));
+    }
+
+
+    /**
+     * 我的 - 点赞商品列表
+     */
+    @GetMapping("/getLikeGoodsPage")
+    @ApiOperation("我的 - 点赞商品列表")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "pageNum", value = "分页页数", dataType = "Integer", paramType = "query", required = true),
+            @ApiImplicitParam(name = "pageSize", value = "分页条数", dataType = "Integer", paramType = "query", required = true)})
+    public R<IPage<SecondGoodsVo>> getLikeGoodsPage(
+            @RequestParam(defaultValue = "1") Integer pageNum,
+            @RequestParam(defaultValue = "10") Integer pageSize) {
+        log.info("SecondGoodsController.getLikeGoodsPage?page={},size={},", pageNum,pageSize);
+        IPage<SecondGoodsVo> page = new Page<>(pageNum, pageSize);
+        R<IPage<SecondGoodsVo>> result = new R<>();
+        JSONObject data = JwtUtil.getCurrentUserInfo();
+        if (null != data) {
+            int userId = data.getInteger("userId");
+            String phone = data.getString("phone");
+            result = R.data(secondGoodsService.getLikeGoodsPage(page,userId,phone));
+        }
+        return result;
+    }
+
+
+    /**
+     * 我的 - 交易列表
+     * 我卖出的商品列表-分页
+     */
+    @GetMapping("/getSellGoodsPage")
+    @ApiOperation("根据商品状态获取商品列表 - 0:草稿(我的草稿列表) 1:审核中 2:审核失败 3:已上架 4:已下架 5:已售出(我卖出的商品列表) -分页")
+    public R<IPage<SecondGoodsVo>> getSellGoodsPage(
+            @ApiParam("分页参数") @RequestBody SecondGoodsVo secondGoodsVo) {
+        log.info("SecondGoodsController.getSellGoodsPage?secondGoodsVo={}", secondGoodsVo.toString());
+        R<IPage<SecondGoodsVo>> result = new R<>();
+        IPage<SecondGoodsVo> page = new Page<>(secondGoodsVo.getPageNum(), secondGoodsVo.getPageSize());
+        JSONObject data = JwtUtil.getCurrentUserInfo();
+        if (null != data) {
+            int userId = data.getInteger("userId");
+            result = R.data(secondGoodsService.getSellGoodsPage(page,secondGoodsVo,userId));
+        }
+        return result;
+    }
+}

+ 4 - 2
alien-second/src/main/java/shop/alien/second/service/SecondGoodsService.java

@@ -104,10 +104,12 @@ public interface SecondGoodsService extends IService<SecondGoods> {
     /**
      * 获取个人主页用户发布的商品列表(分页)
      * @param page 搜索条件
-     * @param secondGoodsVo 搜索条件
+     * @param currentLatitude 当前位置纬度
+     * @param currentLongitude 当前位置经度
+     * @param userId 用户ID
      * @return 分页后的用户商品列表
      */
-    IPage<SecondGoodsVo> getUserGoodsPage(IPage<SecondGoodsVo> page, Integer userId);
+    IPage<SecondGoodsVo> getUserGoodsPage(IPage<SecondGoodsVo> page, Double currentLatitude , Double currentLongitude, Integer userId);
 
     /**
      * 获取个人主页用户发布的商品列表(分页)

+ 3 - 2
alien-second/src/main/java/shop/alien/second/service/impl/SecondGoodsServiceImpl.java

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.RequiredArgsConstructor;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.util.StringUtils;
@@ -511,14 +512,14 @@ public class SecondGoodsServiceImpl extends ServiceImpl<SecondGoodsMapper, Secon
      * @return IPage<SecondGoodsVo> 用户商品列表
      */
     @Override
-    public IPage<SecondGoodsVo> getUserGoodsPage(IPage<SecondGoodsVo> page, Integer userId) {
+    public IPage<SecondGoodsVo> getUserGoodsPage(IPage<SecondGoodsVo> page, Double currentLatitude , Double currentLongitude, Integer userId) {
         QueryWrapper<SecondGoodsVo> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("sg.delete_flag", 0)
                 .eq("sg.user_id", userId) // 主页用户ID
                 .in("sg.goods_status",3,5) // 3-上架 5-已售出
                 .orderByAsc("FIELD(sg.goods_status, 3, 5)")
                 .orderByDesc("sg.release_time");
-        return secondGoodsMapper.getUserGoodsPage(page, queryWrapper);
+        return secondGoodsMapper.getUserGoodsPage(page, currentLatitude, currentLongitude, queryWrapper);
     }
 
     /**