From 1442f149019ee0590389abd7a88a79c4d9b59034 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期二, 27 五月 2025 18:23:34 +0800 Subject: [PATCH] bug修改 --- 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 c6b81ad..bc3882e 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) + .orderByAsc(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::getSort).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