From d54741be7ff4fa3e1a9314840301107525e6e073 Mon Sep 17 00:00:00 2001 From: tangzh Date: Fri, 4 Apr 2025 21:53:03 +0800 Subject: [PATCH] =?UTF-8?q?=E5=95=86=E5=93=81=E5=B8=B8=E8=A7=81=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../StoreProductProblemController.java | 85 +++++++++++++++++++ .../request/StoreProductProblemRequest.java | 39 +++++++++ .../zbkj/common/vo/StoreProductProblemVo.java | 39 +++++++++ .../service/StoreProductProblemService.java | 4 + .../impl/StoreProductProblemServiceImpl.java | 31 +++++++ 5 files changed, 198 insertions(+) create mode 100644 food-admin/src/main/java/com/zbkj/admin/controller/StoreProductProblemController.java create mode 100644 food-common/src/main/java/com/zbkj/common/request/StoreProductProblemRequest.java create mode 100644 food-common/src/main/java/com/zbkj/common/vo/StoreProductProblemVo.java diff --git a/food-admin/src/main/java/com/zbkj/admin/controller/StoreProductProblemController.java b/food-admin/src/main/java/com/zbkj/admin/controller/StoreProductProblemController.java new file mode 100644 index 0000000..e1e4e30 --- /dev/null +++ b/food-admin/src/main/java/com/zbkj/admin/controller/StoreProductProblemController.java @@ -0,0 +1,85 @@ +package com.zbkj.admin.controller; + +import com.zbkj.common.model.product.StoreProductProblem; +import com.zbkj.common.page.CommonPage; +import com.zbkj.common.request.PageParamRequest; +import com.zbkj.common.request.StoreProductProblemRequest; +import com.zbkj.common.response.CommonResult; +import com.zbkj.common.vo.StoreProductProblemVo; +import com.zbkj.service.service.StoreProductProblemService; +import com.zbkj.service.service.SystemAttachmentService; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.Arrays; +import java.util.List; +import java.util.stream.Collectors; + +@RestController +@RequestMapping("api/admin/problem/") +public class StoreProductProblemController { + + @Autowired + private SystemAttachmentService systemAttachmentService; + @Autowired + private StoreProductProblemService storeProductProblemService; + + @PreAuthorize("hasAuthority('admin:problem:list')") + @ApiOperation(value = "分页列表") + @RequestMapping(value = "/list", method = RequestMethod.GET) + public CommonResult> getList(@Validated StoreProductProblemRequest request, @Validated PageParamRequest pageParamRequest) { + return CommonResult.success(CommonPage.restPage(storeProductProblemService.getAdminList(request, pageParamRequest))); + } + + @PreAuthorize("hasAuthority('admin:problem:save')") + @ApiOperation(value = "新增") + @RequestMapping(value = "/save", method = RequestMethod.POST) + public CommonResult save(@RequestBody @Validated StoreProductProblemRequest request) { + StoreProductProblem spp = new StoreProductProblem(); + BeanUtils.copyProperties(request, spp); + spp.setContent(systemAttachmentService.clearPrefix(spp.getContent())); + if (storeProductProblemService.save(spp)) { + return CommonResult.success(); + } else { + return CommonResult.failed(); + } + } + + @PreAuthorize("hasAuthority('admin:problem:delete')") + @ApiOperation(value = "删除") + @RequestMapping(value = "/delete", method = RequestMethod.POST) + public CommonResult delete(@RequestParam(value = "ids") String ids) { + List idList = Arrays.stream(ids.split(",")).map(Integer::parseInt).collect(Collectors.toList()); + storeProductProblemService.removeByIds(idList); + return CommonResult.success(); + } + + @PreAuthorize("hasAuthority('admin:problem:update')") + @ApiOperation(value = "修改") + @RequestMapping(value = "/update", method = RequestMethod.POST) + public CommonResult update(@RequestBody StoreProductProblemRequest request) { + StoreProductProblem upd = new StoreProductProblem(); + BeanUtils.copyProperties(request, upd); + upd.setContent(systemAttachmentService.clearPrefix(upd.getContent())); + if (storeProductProblemService.updateById(upd)) { + return CommonResult.success(); + } else { + return CommonResult.failed(); + } + } + + @PreAuthorize("hasAuthority('admin:problem:info')") + @ApiOperation(value = "详情") + @RequestMapping(value = "/info/{id}", method = RequestMethod.GET) + public CommonResult info(@PathVariable Integer id) { + StoreProductProblem spp = storeProductProblemService.getById(id); + StoreProductProblemVo vo = new StoreProductProblemVo(); + BeanUtils.copyProperties(spp, vo); + return CommonResult.success(vo); + } + +} diff --git a/food-common/src/main/java/com/zbkj/common/request/StoreProductProblemRequest.java b/food-common/src/main/java/com/zbkj/common/request/StoreProductProblemRequest.java new file mode 100644 index 0000000..d1c940a --- /dev/null +++ b/food-common/src/main/java/com/zbkj/common/request/StoreProductProblemRequest.java @@ -0,0 +1,39 @@ +package com.zbkj.common.request; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; + +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel(value="StoreProductProblemRequest对象", description="StoreProductProblemRequest对象") +public class StoreProductProblemRequest implements Serializable { + + private static final long serialVersionUID=1L; + + @ApiModelProperty(value = "id") + private Integer id; + /** + * 业务外键id + */ + @ApiModelProperty(value = "商品id") + private String businessId; + + /** + * 问题 + */ + @ApiModelProperty(value = "问题") + private String title; + + /** + * 内容 + */ + @ApiModelProperty(value = "内容") + private String content; + +} diff --git a/food-common/src/main/java/com/zbkj/common/vo/StoreProductProblemVo.java b/food-common/src/main/java/com/zbkj/common/vo/StoreProductProblemVo.java new file mode 100644 index 0000000..21776f1 --- /dev/null +++ b/food-common/src/main/java/com/zbkj/common/vo/StoreProductProblemVo.java @@ -0,0 +1,39 @@ +package com.zbkj.common.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; + +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel(value="StoreProductProblemVo", description="StoreProductProblemVo") +public class StoreProductProblemVo implements Serializable { + + private static final long serialVersionUID=1L; + + @ApiModelProperty(value = "id") + private Integer id; + /** + * 业务外键id + */ + @ApiModelProperty(value = "商品id") + private String businessId; + + /** + * 问题 + */ + @ApiModelProperty(value = "问题") + private String title; + + /** + * 内容 + */ + @ApiModelProperty(value = "内容") + private String content; + +} diff --git a/food-service/src/main/java/com/zbkj/service/service/StoreProductProblemService.java b/food-service/src/main/java/com/zbkj/service/service/StoreProductProblemService.java index 8deda04..c99f3ac 100644 --- a/food-service/src/main/java/com/zbkj/service/service/StoreProductProblemService.java +++ b/food-service/src/main/java/com/zbkj/service/service/StoreProductProblemService.java @@ -6,7 +6,9 @@ import com.zbkj.common.model.product.StoreProductProblem; import com.zbkj.common.page.CommonPage; import com.zbkj.common.request.CommitProblemRequest; import com.zbkj.common.request.PageParamRequest; +import com.zbkj.common.request.StoreProductProblemRequest; import com.zbkj.common.response.ProductProblemResponse; +import com.zbkj.common.vo.StoreProductProblemVo; import java.util.List; @@ -22,5 +24,7 @@ public interface StoreProductProblemService extends IService getAdminList(StoreProductProblemRequest request, PageParamRequest pageParamRequest); + } diff --git a/food-service/src/main/java/com/zbkj/service/service/impl/StoreProductProblemServiceImpl.java b/food-service/src/main/java/com/zbkj/service/service/impl/StoreProductProblemServiceImpl.java index 1512394..609e23e 100644 --- a/food-service/src/main/java/com/zbkj/service/service/impl/StoreProductProblemServiceImpl.java +++ b/food-service/src/main/java/com/zbkj/service/service/impl/StoreProductProblemServiceImpl.java @@ -1,25 +1,31 @@ package com.zbkj.service.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.github.pagehelper.PageHelper; import com.github.pagehelper.util.StringUtil; import com.zbkj.common.exception.CrmebException; +import com.zbkj.common.model.home.Home; import com.zbkj.common.model.product.StoreProductProblem; import com.zbkj.common.model.user.User; import com.zbkj.common.page.CommonPage; import com.zbkj.common.request.CommitProblemRequest; import com.zbkj.common.request.PageParamRequest; +import com.zbkj.common.request.StoreProductProblemRequest; import com.zbkj.common.response.ProductProblemResponse; import com.zbkj.common.utils.RedisUtil; +import com.zbkj.common.vo.StoreProductProblemVo; import com.zbkj.service.dao.StoreProductProblemDao; import com.zbkj.service.service.StoreProductProblemService; import com.zbkj.service.service.UserService; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import javax.annotation.Resource; import java.util.ArrayList; +import java.util.Collections; import java.util.List; import java.util.stream.Collectors; @@ -125,6 +131,31 @@ public class StoreProductProblemServiceImpl extends ServiceImpl getAdminList(StoreProductProblemRequest request, PageParamRequest pageParamRequest) { + PageHelper.startPage(pageParamRequest.getPage(), pageParamRequest.getLimit()); + LambdaQueryWrapper lambdaQueryWrapper = Wrappers.lambdaQuery(); + lambdaQueryWrapper.select(); + if (StringUtils.isNotBlank(request.getTitle())) { + lambdaQueryWrapper.and(i -> i + .or().like(StoreProductProblem::getTitle, request.getTitle()) + .or().like(StoreProductProblem::getContent, request.getContent())); + } + if (StringUtils.isNotEmpty(request.getBusinessId())) { + lambdaQueryWrapper.eq(StoreProductProblem::getBusinessId, request.getBusinessId()); + } + lambdaQueryWrapper.orderByDesc(StoreProductProblem::getId); + List list = dao.selectList(lambdaQueryWrapper); + return list.stream().map(i-> { + StoreProductProblemVo vo = new StoreProductProblemVo(); + vo.setId(i.getId()); + vo.setBusinessId(i.getBusinessId()); + vo.setTitle(i.getTitle()); + vo.setContent(i.getContent()); + return vo; + }).collect(Collectors.toList()); + } + private void recursionDel(List ids) { if (ids.isEmpty()) { return; } LambdaQueryWrapper lq = new LambdaQueryWrapper<>();