Update ProdCommController.java

cyj
pbvfus8to 8 months ago
parent 552df56b8b
commit c533d9b3eb

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