1、仓库采购单、采购需求前后端校验

pull/254/head
xjs 4 years ago
parent 1efab04d66
commit 14163a7341

@ -1,12 +1,13 @@
<template> <template>
<el-dialog <el-dialog
width="350px"
:title="!dataForm.id ? '新增' : '修改'" :title="!dataForm.id ? '新增' : '修改'"
:close-on-click-modal="false" :close-on-click-modal="false"
:visible.sync="visible"> :visible.sync="visible">
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmit()" <el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmit()"
label-width="120px"> label-width="80px">
<el-form-item label="优先级" prop="priority"> <el-form-item label="优先级" prop="priority">
<el-input v-model="dataForm.priority" placeholder="优先级"></el-input> <el-input-number v-model.number="dataForm.priority" :min="0" :max="9999" label="优先级"></el-input-number>
</el-form-item> </el-form-item>
</el-form> </el-form>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">

@ -3,19 +3,20 @@
:title="!dataForm.id ? '新增' : '修改'" :title="!dataForm.id ? '新增' : '修改'"
:close-on-click-modal="false" :close-on-click-modal="false"
:visible.sync="visible" :visible.sync="visible"
width="500px"
> >
<el-form <el-form
:model="dataForm" :model="dataForm"
:rules="dataRule" :rules="dataRule"
ref="dataForm" ref="dataForm"
@keyup.enter.native="dataFormSubmit()" @keyup.enter.native="dataFormSubmit()"
label-width="120px" label-width="90px"
> >
<el-form-item label="采购商品id" prop="skuId"> <el-form-item label="采购商品id" prop="skuId">
<el-input v-model="dataForm.skuId" placeholder="采购商品id"></el-input> <el-input v-model="dataForm.skuId" placeholder="采购商品id" maxlength="20"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="采购数量" prop="skuNum"> <el-form-item label="采购数量" prop="skuNum">
<el-input v-model="dataForm.skuNum" placeholder="采购数量"></el-input> <el-input-number v-model.number="dataForm.skuNum" :min="1" :max="9999999" label="采购数量"></el-input-number>
</el-form-item> </el-form-item>
<el-form-item label="仓库" prop="wareId"> <el-form-item label="仓库" prop="wareId">
<el-select v-model="dataForm.wareId" placeholder="请选择仓库" clearable> <el-select v-model="dataForm.wareId" placeholder="请选择仓库" clearable>

@ -13,7 +13,7 @@
label-width="90px" label-width="90px"
> >
<el-form-item label="sku_id" prop="skuId"> <el-form-item label="sku_id" prop="skuId">
<el-input v-model="dataForm.skuId" placeholder="请输入商品id"></el-input> <el-input v-model="dataForm.skuId" placeholder="请输入商品id" maxlength="20"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="仓库" prop="wareId"> <el-form-item label="仓库" prop="wareId">
<el-select v-model="dataForm.wareId" placeholder="请选择仓库" clearable> <el-select v-model="dataForm.wareId" placeholder="请选择仓库" clearable>
@ -24,7 +24,7 @@
<el-input-number v-model.number="dataForm.stock" :min="0" :max="9999999" label="库存数"></el-input-number> <el-input-number v-model.number="dataForm.stock" :min="0" :max="9999999" label="库存数"></el-input-number>
</el-form-item> </el-form-item>
<el-form-item label="sku_name" prop="skuName"> <el-form-item label="sku_name" prop="skuName">
<el-input v-model="dataForm.skuName" placeholder="请输入商品名称"></el-input> <el-input v-model="dataForm.skuName" placeholder="请输入商品名称" maxlength="50"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="锁定库存" prop="stockLocked"> <el-form-item label="锁定库存" prop="stockLocked">
<el-input-number v-model.number="dataForm.stockLocked" :min="0" :max="9999999" label="锁定库存"></el-input-number> <el-input-number v-model.number="dataForm.stockLocked" :min="0" :max="9999999" label="锁定库存"></el-input-number>

@ -6,22 +6,24 @@ import com.xjs.mall.ware.entity.PurchaseEntity;
import com.xjs.mall.ware.service.PurchaseService; import com.xjs.mall.ware.service.PurchaseService;
import com.xjs.utils.PageUtils; import com.xjs.utils.PageUtils;
import com.xjs.mall.other.R; import com.xjs.mall.other.R;
import com.xjs.validation.group.AddGroup;
import com.xjs.validation.group.UpdateGroup;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.Arrays; import java.util.Arrays;
import java.util.Map; import java.util.Map;
/** /**
* *
* *
* @author xiejs * @author xiejs
* @email 1294405880@qq.com * @email 1294405880@qq.com
* @since 2022-03-15 09:56:19 * @since 2022-03-15 09:56:19
*/ */
@RestController @RestController
@RequestMapping("ware/purchase") @RequestMapping("ware/purchase")
@ -35,7 +37,7 @@ public class PurchaseController {
*/ */
@GetMapping("/list") @GetMapping("/list")
@ApiOperation("列表") @ApiOperation("列表")
public R list(@RequestParam Map<String, Object> params){ public R list(@RequestParam Map<String, Object> params) {
PageUtils page = purchaseService.queryPage(params); PageUtils page = purchaseService.queryPage(params);
return R.ok().put("page", page); return R.ok().put("page", page);
@ -47,8 +49,8 @@ public class PurchaseController {
*/ */
@GetMapping("/info/{id}") @GetMapping("/info/{id}")
@ApiOperation("信息") @ApiOperation("信息")
public R info(@PathVariable("id") Long id){ public R info(@PathVariable("id") Long id) {
PurchaseEntity purchase = purchaseService.getById(id); PurchaseEntity purchase = purchaseService.getById(id);
return R.ok().put("purchase", purchase); return R.ok().put("purchase", purchase);
} }
@ -59,8 +61,8 @@ public class PurchaseController {
@PostMapping("/save") @PostMapping("/save")
@ApiOperation("保存") @ApiOperation("保存")
@Log(title = "采购单", businessType = BusinessType.INSERT) @Log(title = "采购单", businessType = BusinessType.INSERT)
public R save(@RequestBody PurchaseEntity purchase){ public R save(@Validated(AddGroup.class) @RequestBody PurchaseEntity purchase) {
purchaseService.save(purchase); purchaseService.save(purchase);
return R.ok(); return R.ok();
} }
@ -71,8 +73,8 @@ public class PurchaseController {
@PutMapping("/update") @PutMapping("/update")
@ApiOperation("修改") @ApiOperation("修改")
@Log(title = "采购单", businessType = BusinessType.UPDATE) @Log(title = "采购单", businessType = BusinessType.UPDATE)
public R update(@RequestBody PurchaseEntity purchase){ public R update(@Validated(UpdateGroup.class) @RequestBody PurchaseEntity purchase) {
purchaseService.updateById(purchase); purchaseService.updateById(purchase);
return R.ok(); return R.ok();
} }
@ -83,8 +85,8 @@ public class PurchaseController {
@DeleteMapping("/delete") @DeleteMapping("/delete")
@ApiOperation("删除") @ApiOperation("删除")
@Log(title = "采购单", businessType = BusinessType.DELETE) @Log(title = "采购单", businessType = BusinessType.DELETE)
public R delete(@RequestBody Long[] ids){ public R delete(@RequestBody Long[] ids) {
purchaseService.removeByIds(Arrays.asList(ids)); purchaseService.removeByIds(Arrays.asList(ids));
return R.ok(); return R.ok();
} }

@ -6,9 +6,12 @@ import com.xjs.mall.ware.entity.PurchaseDetailEntity;
import com.xjs.mall.ware.service.PurchaseDetailService; import com.xjs.mall.ware.service.PurchaseDetailService;
import com.xjs.utils.PageUtils; import com.xjs.utils.PageUtils;
import com.xjs.mall.other.R; import com.xjs.mall.other.R;
import com.xjs.validation.group.AddGroup;
import com.xjs.validation.group.UpdateGroup;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.Arrays; import java.util.Arrays;
@ -58,7 +61,7 @@ public class PurchaseDetailController {
@PostMapping("/save") @PostMapping("/save")
@ApiOperation("保存") @ApiOperation("保存")
@Log(title = "采购需求", businessType = BusinessType.INSERT) @Log(title = "采购需求", businessType = BusinessType.INSERT)
public R save(@RequestBody PurchaseDetailEntity purchaseDetail) { public R save(@Validated(AddGroup.class) @RequestBody PurchaseDetailEntity purchaseDetail) {
purchaseDetailService.save(purchaseDetail); purchaseDetailService.save(purchaseDetail);
return R.ok(); return R.ok();
@ -70,7 +73,7 @@ public class PurchaseDetailController {
@PutMapping("/update") @PutMapping("/update")
@ApiOperation("修改") @ApiOperation("修改")
@Log(title = "采购需求", businessType = BusinessType.UPDATE) @Log(title = "采购需求", businessType = BusinessType.UPDATE)
public R update(@RequestBody PurchaseDetailEntity purchaseDetail) { public R update(@Validated(UpdateGroup.class) @RequestBody PurchaseDetailEntity purchaseDetail) {
purchaseDetailService.updateById(purchaseDetail); purchaseDetailService.updateById(purchaseDetail);
return R.ok(); return R.ok();

@ -2,8 +2,13 @@ package com.xjs.mall.ware.entity;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.xjs.validation.group.AddGroup;
import com.xjs.validation.group.UpdateGroup;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal; import java.math.BigDecimal;
@ -31,10 +36,14 @@ public class PurchaseDetailEntity implements Serializable {
/** /**
* id * id
*/ */
@NotNull(message = "采购商品id不能为空",groups = {AddGroup.class, UpdateGroup.class})
private Long skuId; private Long skuId;
/** /**
* *
*/ */
@NotNull(message = "采购数量不能为空",groups = {AddGroup.class, UpdateGroup.class})
@Max(value = 999999,message = "采购最大数999999",groups = {AddGroup.class, UpdateGroup.class})
@Min(value = 1,message = "采购最小数1",groups = {AddGroup.class, UpdateGroup.class})
private Integer skuNum; private Integer skuNum;
/** /**
* *
@ -43,6 +52,7 @@ public class PurchaseDetailEntity implements Serializable {
/** /**
* id * id
*/ */
@NotNull(message = "仓库id不能为空",groups = {AddGroup.class, UpdateGroup.class})
private Long wareId; private Long wareId;
/** /**
* [01234] * [01234]

@ -2,11 +2,16 @@ package com.xjs.mall.ware.entity;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.xjs.validation.group.AddGroup;
import com.xjs.validation.group.UpdateGroup;
import lombok.Data;
import java.math.BigDecimal; import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
import lombok.Data;
/** /**
* *
@ -37,9 +42,13 @@ public class PurchaseEntity implements Serializable {
* *
*/ */
private String phone; private String phone;
/** /**
* *
*/ */
@NotNull(message = "优先级不能为空",groups = {AddGroup.class, UpdateGroup.class})
@Min(value = 0,message = "优先级最小为0",groups = {AddGroup.class, UpdateGroup.class})
@Max(value = 9999,message = "优先级最大为9999",groups = {AddGroup.class, UpdateGroup.class})
private Integer priority; private Integer priority;
/** /**
* *

@ -6,10 +6,7 @@ import com.xjs.validation.group.AddGroup;
import com.xjs.validation.group.UpdateGroup; import com.xjs.validation.group.UpdateGroup;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.Max; import javax.validation.constraints.*;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable; import java.io.Serializable;
/** /**
@ -50,6 +47,7 @@ public class WareSkuEntity implements Serializable {
* sku_name * sku_name
*/ */
@NotBlank(message = "sku_name不能为空", groups = {AddGroup.class, UpdateGroup.class}) @NotBlank(message = "sku_name不能为空", groups = {AddGroup.class, UpdateGroup.class})
@Size(min = 0, max = 50, message = "商品名称不能超过 50 字符", groups = {AddGroup.class, UpdateGroup.class})
private String skuName; private String skuName;
/** /**
* *

Loading…
Cancel
Save