| | |
| | | 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.service.RecoveryClassifyService; |
| | | import com.ruoyi.user.service.RecoveryServeService; |
| | | import com.ruoyi.user.service.UserCollectService; |
| | | 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; |
| | |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | /** |
| | |
| | | |
| | | @Resource |
| | | private RecoveryServeService recoveryServeService; |
| | | @Resource |
| | | private RecoveryClassifyService recoveryClassifyService; |
| | | @Resource |
| | | private UserCollectService collectService; |
| | | @Resource |
| | | private TokenService tokenService; |
| | | |
| | | /** |
| | | * 获取服务列表 |
| | | */ |
| | | @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) |
| | | .orderByAsc(RecoveryServe::getSort) |
| | | .orderByDesc(RecoveryServe::getCreateTime).page(Page.of(pageNum, pageSize)); |
| | | return R.ok(page); |
| | | } |
| | | |
| | | /** |
| | | * 获取服务列表 |
| | |
| | | @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<RecoveryServe> serveDetail(@RequestParam String serveId) { |
| | | RecoveryServe recoveryServe = recoveryServeService.lambdaQuery().eq(RecoveryServe::getId, serveId) |
| | | .eq(RecoveryServe::getIsDelete, 0).orderByAsc(RecoveryServe::getSort).one(); |
| | | // 用户是否收藏 |
| | | UserCollect one = collectService.lambdaQuery() |
| | | .eq(UserCollect::getServeId, serveId) |
| | | .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) |
| | | .eq(RecoveryClassify::getIsDelete, 0).one(); |
| | | if (classify.getSupClassify().equals(Constants.TRADE_IN)) { |
| | | recoveryServe.setType(Constants.ZERO); |
| | | } else { |
| | | recoveryServe.setType(Constants.ONE); |
| | | } |
| | | return R.ok(recoveryServe); |
| | | } |
| | | |
| | | /** |
| | | * 服务收藏 |
| | | */ |
| | | @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(); |
| | | } |
| | | |
| | | } |