Update ProdCommController.java

cyj
pbvfus8to 8 months ago
parent 552df56b8b
commit c533d9b3eb

@ -10,100 +10,126 @@
package com.yami.shop.admin.controller;
import com.fasterxml.jackson.databind.JavaType;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.yami.shop.bean.model.ProdComm;
import com.yami.shop.common.annotation.SysLog;
import com.yami.shop.common.util.Json;
import com.yami.shop.service.ProdCommService;
import lombok.AllArgsConstructor;
import jakarta.validation.Valid;
import lombok.SneakyThrows;
import org.apache.commons.lang3.StringUtils;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yami.shop.bean.model.PickAddr;
import com.yami.shop.common.exception.YamiShopBindException;
import com.yami.shop.common.response.ResponseEnum;
import com.yami.shop.common.response.ServerResponseEntity;
import com.yami.shop.common.util.PageParam;
import com.yami.shop.security.admin.util.SecurityUtils;
import com.yami.shop.service.PickAddrService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.yami.shop.common.util.PageParam;
import com.baomidou.mybatisplus.core.metadata.IPage;
import java.util.Date;
import jakarta.validation.Valid;
import java.util.Arrays;
import java.util.Objects;
/**
*
* PickAddr
*
*
*
* @author xwc
* @date 2019-04-19 10:43:57
* @author lgh on 2018/10/17.
*/
@RestController
@AllArgsConstructor
@RequestMapping("/prod/prodComm" )
public class ProdCommController {
@RequestMapping("/shop/pickAddr")
public class PickAddrController {
private final ProdCommService prodCommService;
// 注入PickAddrService用于与提货地址相关的业务逻辑处理例如查询、保存、更新、删除提货地址等操作。
@Autowired
private PickAddrService pickAddrService;
/**
*
* @param page
* @param prodComm
* @return
* PickAddrPageParam
* PickAddrServiceID
*
* @PreAuthorize"shop:pickAddr:page"访
*
* @param pickAddr PickAddr
* @param page
* @return ServerResponseEntity
*/
@GetMapping("/page" )
@PreAuthorize("@pms.hasPermission('prod:prodComm:page')" )
public ServerResponseEntity<IPage<ProdComm>> getProdCommPage(PageParam page, ProdComm prodComm) {
return ServerResponseEntity.success(prodCommService.getProdCommPage(page,prodComm));
@GetMapping("/page")
@PreAuthorize("@pms.hasPermission('shop:pickAddr:page')")
public ServerResponseEntity<IPage<PickAddr>> page(PickAddr pickAddr, PageParam<PickAddr> page) {
// 使用PickAddrService的page方法进行分页查询传入分页参数和LambdaQueryWrapper构建的查询条件。
// 通过StrUtil.isNotBlank判断提货地址名称是否不为空若不为空则添加模糊查询条件按照地址名称进行模糊匹配最后按照地址ID倒序排序。
IPage<PickAddr> pickAddrs = pickAddrService.page(page, new LambdaQueryWrapper<PickAddr>()
.like(StrUtil.isNotBlank(pickAddr.getAddrName()), PickAddr::getAddrName, pickAddr.getAddrName())
.orderByDesc(PickAddr::getAddrId));
return ServerResponseEntity.success(pickAddrs);
}
/**
* id
* @param prodCommId id
* @return
* IDIDPickAddrServicegetById
*
* @PreAuthorize"shop:pickAddr:info"访
*
* @param id
* @return ServerResponseEntity
*/
@GetMapping("/info/{prodCommId}" )
@PreAuthorize("@pms.hasPermission('prod:prodComm:info')" )
public ServerResponseEntity<ProdComm> getById(@PathVariable("prodCommId" ) Long prodCommId) {
return ServerResponseEntity.success(prodCommService.getById(prodCommId));
@GetMapping("/info/{id}")
@PreAuthorize("@pms.hasPermission('shop:pickAddr:info')")
public ServerResponseEntity<PickAddr> info(@PathVariable("id") Long id) {
PickAddr pickAddr = pickAddrService.getById(id);
return ServerResponseEntity.success(pickAddr);
}
/**
*
* @param prodComm
* @return
* @ValidPickAddr
* IDIDPickAddrServicesave
*
* @PreAuthorize"shop:pickAddr:save"访
*
* @param pickAddr
* @return ServerResponseEntityVoid
*/
@SysLog("新增商品评论" )
@PostMapping
@PreAuthorize("@pms.hasPermission('prod:prodComm:save')" )
public ServerResponseEntity<Boolean> save(@RequestBody @Valid ProdComm prodComm) {
return ServerResponseEntity.success(prodCommService.save(prodComm));
@PreAuthorize("@pms.hasPermission('shop:pickAddr:save')")
public ServerResponseEntity<Void> save(@Valid @RequestBody PickAddr pickAddr) {
pickAddr.setShopId(SecurityUtils.getSysUser().getShopId());
pickAddrService.save(pickAddr);
return ServerResponseEntity.success();
}
/**
*
* @param prodComm
* @return
* @ValidPickAddr
* PickAddrServicegetByIdID
* IDID
* PickAddrServiceupdateById
* @PreAuthorize"shop:pickAddr:update"访
*
* @param pickAddr
* @return ServerResponseEntityVoid
*/
@SysLog("修改商品评论" )
@PutMapping
@PreAuthorize("@pms.hasPermission('prod:prodComm:update')" )
public ServerResponseEntity<Boolean> updateById(@RequestBody @Valid ProdComm prodComm) {
prodComm.setReplyTime(new Date());
return ServerResponseEntity.success(prodCommService.updateById(prodComm));
@PreAuthorize("@pms.hasPermission('shop:pickAddr:update')")
public ServerResponseEntity<Void> update(@Valid @RequestBody PickAddr pickAddr) {
PickAddr dbPickAddr = pickAddrService.getById(pickAddr.getAddrId());
if (!Objects.equals(dbPickAddr.getShopId(), SecurityUtils.getSysUser().getShopId())) {
throw new YamiShopBindException(ResponseEnum.UNAUTHORIZED);
}
pickAddrService.updateById(pickAddr);
return ServerResponseEntity.success();
}
/**
* id
* @param prodCommId id
* @return
* IDPickAddrServiceremoveByIds
* ID
* @PreAuthorize"shop:pickAddr:delete"访
*
* @param ids ID
* @return ServerResponseEntityVoid
*/
@SysLog("删除商品评论" )
@DeleteMapping("/{prodCommId}" )
@PreAuthorize("@pms.hasPermission('prod:prodComm:delete')" )
public ServerResponseEntity<Boolean> removeById(@PathVariable Long prodCommId) {
return ServerResponseEntity.success(prodCommService.removeById(prodCommId));
@DeleteMapping
@PreAuthorize("@pms.hasPermission('shop:pickAddr:delete')")
public ServerResponseEntity<Void> delete(@RequestBody Long[] ids) {
pickAddrService.removeByIds(Arrays.asList(ids));
return ServerResponseEntity.success();
}
}
}
Loading…
Cancel
Save