From 6e70ee2d0b73f70fe1140cc7d51c4e847d50aa51 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期四, 17 四月 2025 10:54:26 +0800
Subject: [PATCH] 2.0迭代师傅订单列表
---
ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/RecoveryServeController.java | 147 +++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 143 insertions(+), 4 deletions(-)
diff --git a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/RecoveryServeController.java b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/RecoveryServeController.java
index 04319dd..a2420f0 100644
--- a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/RecoveryServeController.java
+++ b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/RecoveryServeController.java
@@ -1,10 +1,23 @@
package com.ruoyi.user.controller;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.core.constant.Constants;
import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.security.service.TokenService;
+import com.ruoyi.system.api.model.LoginUserInfo;
+import com.ruoyi.user.entity.RecoveryClassify;
import com.ruoyi.user.entity.RecoveryServe;
+import com.ruoyi.user.entity.UserCollect;
+import com.ruoyi.user.entity.UserRecipient;
+import com.ruoyi.user.service.RecoveryClassifyService;
import com.ruoyi.user.service.RecoveryServeService;
+import com.ruoyi.user.service.UserCollectService;
+import com.ruoyi.user.service.UserRecipientService;
+import com.ruoyi.user.vo.ServeDetailVO;
import com.ruoyi.user.vo.ServeListVO;
+import com.ruoyi.user.vo.UserServeTypeVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
@@ -15,6 +28,7 @@
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
+import java.util.ArrayList;
import java.util.List;
/**
@@ -32,6 +46,58 @@
@Resource
private RecoveryServeService recoveryServeService;
+ @Resource
+ private RecoveryClassifyService recoveryClassifyService;
+ @Resource
+ private UserCollectService collectService;
+ @Resource
+ private TokenService tokenService;
+ @Resource
+ private UserRecipientService userRecipientService;
+
+ /**
+ * 获取服务列表
+ */
+ @GetMapping(value = "/serveType")
+ @ApiOperation(value = "获取服务分类", tags = {"用户端-服务"})
+ @ApiImplicitParams({
+ @ApiImplicitParam(value = "服务类型(0:以旧换新;1:家电回收)", name = "type", dataType = "Integer", required = true)
+ })
+ public R<List<UserServeTypeVO>> serveType(@RequestParam("type") Integer type) {
+ String serveType;
+ if (Constants.ZERO.equals(type)) {
+ serveType = Constants.TRADE_IN;
+ } else {
+ serveType = Constants.RECOVERY;
+ }
+ List<RecoveryClassify> serveList = recoveryClassifyService.lambdaQuery()
+ .eq(RecoveryClassify::getIsDelete, 0)
+ .eq(RecoveryClassify::getSupClassify, serveType)
+ .orderByDesc(RecoveryClassify::getSort)
+ .orderByDesc(RecoveryClassify::getCreateTime).list();
+ List<UserServeTypeVO> list = new ArrayList<>();
+ for (RecoveryClassify classify : serveList) {
+ list.add(new UserServeTypeVO(classify.getId(), classify.getSubClassify(),
+ classify.getClassificationPicture(), classify.getTypeDescribe(), type));
+ }
+ return R.ok(list);
+ }
+
+ /**
+ * 获取服务列表
+ */
+ @GetMapping(value = "/servePage")
+ @ApiOperation(value = "根据所选分类获取服务列表", tags = {"用户端-服务"})
+ public R<IPage<RecoveryServe>> servePage(@RequestParam("id") String id,
+ @RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum,
+ @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
+ Page<RecoveryServe> page = recoveryServeService.lambdaQuery()
+ .eq(RecoveryServe::getClassifyId, id)
+ .eq(RecoveryServe::getIsDelete, 0)
+ .orderByDesc(RecoveryServe::getSort)
+ .orderByDesc(RecoveryServe::getCreateTime).page(Page.of(pageNum, pageSize));
+ return R.ok(page);
+ }
/**
* 获取服务列表
@@ -48,13 +114,86 @@
@GetMapping(value = "/serveDetail")
@ApiOperation(value = "获取服务详情", tags = {"用户端-服务"})
@ApiImplicitParams({
- @ApiImplicitParam(value = "服务id", name = "serveId", dataType = "Integer", required = true)
+ @ApiImplicitParam(value = "服务id", name = "serveId", dataType = "String", required = true)
})
- public R<RecoveryServe> serveDetail(@RequestParam Integer serveId) {
- return R.ok(recoveryServeService.lambdaQuery().eq(RecoveryServe::getId, serveId)
- .eq(RecoveryServe::getIsDelete, 0).orderByAsc(RecoveryServe::getOrder).one());
+ public R<ServeDetailVO> serveDetail(@RequestParam String serveId) {
+ LoginUserInfo loginUser = tokenService.getLoginUserByUser();
+ if (null == loginUser) {
+ RecoveryServe recoveryServe = recoveryServeService.lambdaQuery().eq(RecoveryServe::getId, serveId)
+ .eq(RecoveryServe::getIsDelete, 0).one();
+ recoveryServe.setIsCollect(Boolean.FALSE);
+
+ // 获取服务分类
+ Integer classifyId = recoveryServe.getClassifyId();
+ RecoveryClassify classify = recoveryClassifyService.lambdaQuery()
+ .eq(RecoveryClassify::getId, classifyId).one();
+ if (classify.getSupClassify().equals(Constants.TRADE_IN)) {
+ recoveryServe.setType(Constants.ZERO);
+ } else {
+ recoveryServe.setType(Constants.ONE);
+ }
+
+
+ return R.ok(new ServeDetailVO(recoveryServe, null));
+ }
+ RecoveryServe recoveryServe = recoveryServeService.lambdaQuery().eq(RecoveryServe::getId, serveId)
+ .eq(RecoveryServe::getIsDelete, 0).one();
+ // 用户是否收藏
+ UserCollect one = collectService.lambdaQuery()
+ .eq(UserCollect::getServeId, serveId)
+ .eq(UserCollect::getUserId, loginUser.getUserid())
+ .eq(UserCollect::getIsDelete, 0).one();
+ if (null != one) {
+ recoveryServe.setIsCollect(Boolean.TRUE);
+ } else {
+ recoveryServe.setIsCollect(Boolean.FALSE);
+ }
+ // 获取服务分类
+ Integer classifyId = recoveryServe.getClassifyId();
+ RecoveryClassify classify = recoveryClassifyService.lambdaQuery()
+ .eq(RecoveryClassify::getId, classifyId).one();
+ if (classify.getSupClassify().equals(Constants.TRADE_IN)) {
+ recoveryServe.setType(Constants.ZERO);
+ } else {
+ recoveryServe.setType(Constants.ONE);
+ }
+ // 获取用户默认收货地址
+ UserRecipient userRecipient = userRecipientService.lambdaQuery()
+ .eq(UserRecipient::getIsDefault, Constants.ONE)
+ .eq(UserRecipient::getUserId, loginUser.getUserid())
+ .eq(UserRecipient::getIsDelete, Constants.ZERO)
+ .last("limit 1")
+ .one();
+ return R.ok(new ServeDetailVO(recoveryServe, userRecipient));
}
+ /**
+ * 服务收藏
+ */
+ @GetMapping(value = "/serveCollect")
+ @ApiOperation(value = "服务收藏", tags = {"用户端-服务"})
+ @ApiImplicitParams({
+ @ApiImplicitParam(value = "服务id", name = "serveId", dataType = "Integer", required = true)
+ })
+ public R<String> serveCollect(@RequestParam Integer serveId) {
+ LoginUserInfo loginUser = tokenService.getLoginUserByUser();
+ if (null == loginUser) {
+ return R.loginExpire("登录失效!");
+ }
+ UserCollect collect = collectService.lambdaQuery()
+ .eq(UserCollect::getUserId, loginUser.getUserid())
+ .eq(UserCollect::getServeId, serveId)
+ .eq(UserCollect::getIsDelete, 0).one();
+ boolean result;
+ if (null != collect) {
+ collect.setIsDelete(Constants.ONE);
+ result = collectService.updateById(collect);
+ } else {
+ collect = new UserCollect(loginUser.getUserid(), serveId);
+ result = collectService.save(collect);
+ }
+ return result ? R.ok() : R.fail();
+ }
}
--
Gitblit v1.7.1