package com.yami.trading.admin.controller.item; import javax.validation.Valid; import javax.validation.constraints.NotNull; import cn.hutool.core.util.StrUtil; import com.google.common.collect.Lists; import com.yami.trading.bean.item.dto.ItemLeverageDTO; import com.yami.trading.common.domain.Result; import com.yami.trading.common.exception.YamiShopBindException; import com.yami.trading.common.query.QueryWrapperGenerator; import com.yami.trading.common.util.StringUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.yami.trading.bean.item.mapstruct.TItemLeverageWrapper; import com.yami.trading.service.item.ItemLeverageService; import com.yami.trading.bean.item.query.TItemLeverageQuery; import java.math.BigDecimal; /** * 产品杠杠倍数Controller * * @author lucas * @version 2023-03-10 */ @Api(tags = "产品杠杠倍数") @RestController @RequestMapping(value = "normal/adminItemLeverageAction!") public class TItemLeverageController { @Autowired private ItemLeverageService itemLeverageService; @Autowired private TItemLeverageWrapper tItemLeverageWrapper; /** * 产品杠杠倍数列表数据 */ @ApiOperation(value = "查询产品杠杠倍数列表数据") @GetMapping("list") public Result> list(TItemLeverageQuery tItemLeverageQuery, Page page) throws Exception { QueryWrapper queryWrapper = QueryWrapperGenerator.buildQueryCondition(tItemLeverageQuery, TItemLeverageQuery.class); String itemId = tItemLeverageQuery.getItemId(); if(StringUtils.isNotEmpty(itemId)){ queryWrapper.eq("item_id",itemId); } queryWrapper.orderByAsc("lever_rate"); IPage result = itemLeverageService.findPage(page, queryWrapper); return Result.ok(result); } /** * 根据Id获取产品杠杠倍数数据 */ @ApiOperation(value = "根据Id获取产品杠杠倍数数据") @GetMapping("queryById") public Result queryById(String id) { return Result.ok(itemLeverageService.findById(id)); } /** * 保存产品杠杠倍数 */ @ApiOperation(value = "保存产品杠杠倍数") @PostMapping("add.action") public Result save(@Valid @RequestBody ItemLeverageDTO itemLeverageDTO) { String leverRate = itemLeverageDTO.getLeverRate(); if (StrUtil.isEmpty(leverRate)) { throw new YamiShopBindException("杠杆倍数不能为空"); } BigDecimal bigDecimal; try { bigDecimal = new BigDecimal(leverRate); } catch (Exception e) { throw new YamiShopBindException("杠杆倍数必须是数字"); } if (bigDecimal.compareTo(BigDecimal.ONE) <= 0) { throw new YamiShopBindException("杠杆倍数必须大于1"); } //新增或编辑表单保存 itemLeverageService.saveOrUpdate(tItemLeverageWrapper.toEntity(itemLeverageDTO)); return Result.ok("保存产品杠杠倍数成功"); } /** * 删除产品杠杠倍数 */ @ApiOperation(value = "删除产品杠杠倍数") @GetMapping("delete") public Result delete(String ids) { String idArray[] = ids.split(","); itemLeverageService.removeByIds(Lists.newArrayList(idArray)); return Result.ok("删除产品杠杠倍数成功"); } }