package com.mzl.flower.web.flower; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.mzl.flower.base.BaseController; import com.mzl.flower.base.R; import com.mzl.flower.base.ReturnDataDTO; import com.mzl.flower.base.annotation.OperationLog; import com.mzl.flower.constant.Constants; import com.mzl.flower.dto.request.flower.*; import com.mzl.flower.dto.request.flower.FlowerTagMultipleDTO; import com.mzl.flower.dto.response.flower.*; import com.mzl.flower.entity.flower.Flower; import com.mzl.flower.entity.log.OperationRecord; import com.mzl.flower.service.flower.FlowerParamService; import com.mzl.flower.service.flower.FlowerService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.util.List; @RestController @RequestMapping("/api/flower") @Api(value = "商品管理-运营端", tags = "商品管理-运营端") @Validated @Slf4j public class FlowerController extends BaseController { @Autowired private FlowerService flowerService; @Autowired private FlowerParamService paramService; @GetMapping("/list") @ApiOperation(value = "商品列表") public ResponseEntity>> selectFlowerList(Page page, FlowerQueryDTO dto){ return returnData(R.SUCCESS.getCode(), flowerService.selectFlowerList(page, dto)); } @GetMapping("/list/view") @ApiOperation(value = "商品详情") @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "商品id", required = true, dataType = "Long", paramType = "query") }) public ResponseEntity> getFlowerDetail(Long id) { return returnData(R.SUCCESS.getCode(), flowerService.getFlowerDetail(id)); } @PostMapping("/list/pass") @OperationLog(value = "审核通过", type = "flower_list") @ApiOperation(value = "审核通过") public ResponseEntity passFlower(@RequestBody FlowerAuditDTO dto) { flowerService.auditFlower(dto.getId(), dto.getAuditRemarks(), Constants.FLOWER_STATUS.UP.name()); String content = "审核通过id:【" + dto.getId() + "】,审核意见为【" + dto.getAuditRemarks() + "】"; OperationRecord operationRecord = getOperationRecord(content); return returnData(R.SUCCESS.getCode(), null, operationRecord); } @PostMapping("/list/reject") @OperationLog(value = "审核驳回", type = "flower_list") @ApiOperation(value = "审核驳回") public ResponseEntity rejectFlower(@RequestBody FlowerAuditDTO dto) { flowerService.auditFlower(dto.getId(), dto.getAuditRemarks(), Constants.FLOWER_STATUS.REJECT.name()); String content = "审核驳回id:【" + dto.getId() + "】,审核意见为:【" + dto.getAuditRemarks() + "】"; OperationRecord operationRecord = getOperationRecord(content); return returnData(R.SUCCESS.getCode(), null, operationRecord); } @PostMapping("/list/pass/multi") @OperationLog(value = "批量审核通过", type = "flower_list") @ApiOperation(value = "批量审核通过") public ResponseEntity passFlowers(@RequestBody FlowerAuditMultipleDTO dto) { flowerService.auditFlowers(dto, Constants.FLOWER_STATUS.UP.name()); String content = "批量审核通过id:【" + dto.getIds() + "】,审核意见为【" + dto.getAuditRemarks() + "】"; OperationRecord operationRecord = getOperationRecord(content); return returnData(R.SUCCESS.getCode(), null, operationRecord); } @PostMapping("/list/reject/multi") @OperationLog(value = "批量审核驳回", type = "flower_list") @ApiOperation(value = "批量审核驳回") public ResponseEntity rejectFlowers(@RequestBody FlowerAuditMultipleDTO dto) { flowerService.auditFlowers(dto, Constants.FLOWER_STATUS.REJECT.name()); String content = "批量审核驳回id:【" + dto.getIds() + "】,审核意见为:【" + dto.getAuditRemarks() + "】"; OperationRecord operationRecord = getOperationRecord(content); return returnData(R.SUCCESS.getCode(), null, operationRecord); } @PostMapping("/list/tags") @OperationLog(value = "批量设置标签", type = "flower_list") @ApiOperation(value = "批量设置标签") public ResponseEntity setFlowersTags(@RequestBody FlowerTagMultipleDTO dto) { flowerService.setFlowersTags(dto); String content = "批量设置标签id:【" + dto.getIds() + "】,标签名称为:【" + dto.getTags() + "】"; OperationRecord operationRecord = getOperationRecord(content); return returnData(R.SUCCESS.getCode(), null, operationRecord); } @PostMapping("/list/zones") @OperationLog(value = "批量设置专区", type = "flower_list") @ApiOperation(value = "批量设置专区") public ResponseEntity setFlowerZone(@RequestBody FlowerZoneBatchDTO dto) { flowerService.setFlowerZone(dto); String content = "批量设置专区id:【" + dto.getIds() + "】,专区id为:【" + dto.getZoneId() + "】"; OperationRecord operationRecord = getOperationRecord(content); return returnData(R.SUCCESS.getCode(), null, operationRecord); } @PostMapping("/list/off") @OperationLog(value = "批量强制下架", type = "flower_list") @ApiOperation(value = "批量强制下架") public ResponseEntity setFlowersForceOff(@RequestBody FlowerOffDTO dto) { flowerService.setFlowersForceOff(dto); String content = "批量强制下架商品id:【" + dto.getIds() + "】"; OperationRecord operationRecord = getOperationRecord(content); return returnData(R.SUCCESS.getCode(), null, operationRecord); } @GetMapping("/list/delete") @ApiOperation(value = "商品删除") @OperationLog(value = "商品删除", type = "flower_list") @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "商品id", required = true, dataType = "Long", paramType = "query") }) public ResponseEntity> deleteFlower(Long id) { flowerService.deleteFlower(id); Flower flower = flowerService.selectFlowerById(id); String content = "删除商品id:【" + id + "】,商品名称:【" + flower.getName() + "】,商品售价:【" + flower.getPrice() + "】"; OperationRecord operationRecord = getOperationRecord(content); return returnData(R.SUCCESS.getCode(), null, operationRecord); } @GetMapping("/params") @ApiOperation(value = "获取分类参数列表") @ApiImplicitParams({ @ApiImplicitParam(name = "categoryId", value = "商品分类id", required = true, dataType = "Long", paramType = "query") }) public ResponseEntity>> getParamItemListByCategoryId(Long categoryId){ return returnData(R.SUCCESS.getCode(), paramService.getParamItemListByCategoryId(categoryId)); } @PostMapping("/list/edit") @ApiOperation(value = "编辑商品") public ResponseEntity editFlowerAdmin(@RequestBody FlowerUpdateAdminDTO dto) { return returnData(R.SUCCESS.getCode(), flowerService.editFlowerAdmin(dto)); } @PostMapping("/list/recommend/set") @OperationLog(value = "批量设置推荐", type = "flower_list") @ApiOperation(value = "批量设置推荐") public ResponseEntity setFlowerRecommend(@RequestBody FlowerRecommendMultipleDTO dto) { flowerService.setFlowerRecommend(dto); String content = "批量设置推荐id:【" + dto.getIds() + "】"; OperationRecord operationRecord = getOperationRecord(content); return returnData(R.SUCCESS.getCode(), null, operationRecord); } @PostMapping("/list/recommend/cancel") @OperationLog(value = "批量取消推荐", type = "flower_list") @ApiOperation(value = "批量取消推荐") public ResponseEntity cancelFlowerRecommend(@RequestBody FlowerRecommendMultipleDTO dto) { flowerService.cancelFlowerRecommend(dto); String content = "批量取消推荐id:【" + dto.getIds() + "】"; OperationRecord operationRecord = getOperationRecord(content); return returnData(R.SUCCESS.getCode(), null, operationRecord); } @PostMapping("/list/recommend/set/rank") @ApiOperation(value = "设置推荐排序") public ResponseEntity setFlowerRecommendRank(@RequestBody FlowerRecommendRankDTO dto) { flowerService.setFlowerRecommendRank(dto); return returnData(R.SUCCESS.getCode(), null); } @GetMapping("/list/shown") @ApiOperation(value = "显示商品") @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "商品id", required = true, dataType = "Long", paramType = "query") }) public ResponseEntity> showFlower(Long id){ flowerService.setFlowerShown(id, true); return returnData(R.SUCCESS.getCode(), null); } @GetMapping("/list/hidden") @ApiOperation(value = "隐藏商品") @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "商品id", required = true, dataType = "Long", paramType = "query") }) public ResponseEntity> hideFlower(Long id){ flowerService.setFlowerShown(id, false); return returnData(R.SUCCESS.getCode(), null); } @PostMapping("/list/limiteds") @OperationLog(value = "批量设置每人限购", type = "flower_list") @ApiOperation(value = "批量设置每人限购") public ResponseEntity setFlowersLimited(@RequestBody FlowerLimitedDTO dto) { flowerService.setFlowersLimited(dto); String content = "批量设置每人限购id:【" + dto.getIds() + "】,限购数量:【"+dto.getLimited()+"】"; OperationRecord operationRecord = getOperationRecord(content); return returnData(R.SUCCESS.getCode(), null, operationRecord); } }