diff --git a/ruoyi-ui/src/views/mall/ware/waresku/waresku-add-or-update.vue b/ruoyi-ui/src/views/mall/ware/waresku/waresku-add-or-update.vue index 30b8170d..a9da3744 100644 --- a/ruoyi-ui/src/views/mall/ware/waresku/waresku-add-or-update.vue +++ b/ruoyi-ui/src/views/mall/ware/waresku/waresku-add-or-update.vue @@ -1,5 +1,6 @@ diff --git a/xjs-business/xjs-project-mall/mall-ware/src/main/java/com/xjs/mall/ware/controller/PurchaseDetailController.java b/xjs-business/xjs-project-mall/mall-ware/src/main/java/com/xjs/mall/ware/controller/PurchaseDetailController.java index ff744aa0..c1fb3540 100644 --- a/xjs-business/xjs-project-mall/mall-ware/src/main/java/com/xjs/mall/ware/controller/PurchaseDetailController.java +++ b/xjs-business/xjs-project-mall/mall-ware/src/main/java/com/xjs/mall/ware/controller/PurchaseDetailController.java @@ -1,9 +1,13 @@ package com.xjs.mall.ware.controller; +import com.ruoyi.common.log.annotation.Log; +import com.ruoyi.common.log.enums.BusinessType; import com.xjs.mall.ware.entity.PurchaseDetailEntity; import com.xjs.mall.ware.service.PurchaseDetailService; import com.xjs.utils.PageUtils; import com.xjs.mall.other.R; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -11,16 +15,16 @@ import java.util.Arrays; import java.util.Map; - /** - * + * 采购需求 * * @author xiejs * @email 1294405880@qq.com - * @date 2022-03-15 09:56:19 + * @since 2022-03-15 09:56:19 */ @RestController @RequestMapping("ware/purchasedetail") +@Api(tags = "商城-仓库-采购需求") public class PurchaseDetailController { @Autowired private PurchaseDetailService purchaseDetailService; @@ -28,8 +32,9 @@ public class PurchaseDetailController { /** * 列表 */ - @RequestMapping("/list") - public R list(@RequestParam Map params){ + @GetMapping("/list") + @ApiOperation("列表") + public R list(@RequestParam Map params) { PageUtils page = purchaseDetailService.queryPage(params); return R.ok().put("page", page); @@ -40,8 +45,9 @@ public class PurchaseDetailController { * 信息 */ @RequestMapping("/info/{id}") - public R info(@PathVariable("id") Long id){ - PurchaseDetailEntity purchaseDetail = purchaseDetailService.getById(id); + @ApiOperation("信息") + public R info(@PathVariable("id") Long id) { + PurchaseDetailEntity purchaseDetail = purchaseDetailService.getById(id); return R.ok().put("purchaseDetail", purchaseDetail); } @@ -50,8 +56,10 @@ public class PurchaseDetailController { * 保存 */ @RequestMapping("/save") - public R save(@RequestBody PurchaseDetailEntity purchaseDetail){ - purchaseDetailService.save(purchaseDetail); + @ApiOperation("保存") + @Log(title = "采购需求", businessType = BusinessType.INSERT) + public R save(@RequestBody PurchaseDetailEntity purchaseDetail) { + purchaseDetailService.save(purchaseDetail); return R.ok(); } @@ -60,8 +68,10 @@ public class PurchaseDetailController { * 修改 */ @RequestMapping("/update") - public R update(@RequestBody PurchaseDetailEntity purchaseDetail){ - purchaseDetailService.updateById(purchaseDetail); + @ApiOperation("修改") + @Log(title = "采购需求", businessType = BusinessType.UPDATE) + public R update(@RequestBody PurchaseDetailEntity purchaseDetail) { + purchaseDetailService.updateById(purchaseDetail); return R.ok(); } @@ -70,8 +80,10 @@ public class PurchaseDetailController { * 删除 */ @RequestMapping("/delete") - public R delete(@RequestBody Long[] ids){ - purchaseDetailService.removeByIds(Arrays.asList(ids)); + @ApiOperation("删除") + @Log(title = "采购需求", businessType = BusinessType.DELETE) + public R delete(@RequestBody Long[] ids) { + purchaseDetailService.removeByIds(Arrays.asList(ids)); return R.ok(); } diff --git a/xjs-business/xjs-project-mall/mall-ware/src/main/java/com/xjs/mall/ware/controller/WareInfoController.java b/xjs-business/xjs-project-mall/mall-ware/src/main/java/com/xjs/mall/ware/controller/WareInfoController.java index a0634a15..86b61576 100644 --- a/xjs-business/xjs-project-mall/mall-ware/src/main/java/com/xjs/mall/ware/controller/WareInfoController.java +++ b/xjs-business/xjs-project-mall/mall-ware/src/main/java/com/xjs/mall/ware/controller/WareInfoController.java @@ -1,5 +1,7 @@ package com.xjs.mall.ware.controller; +import com.ruoyi.common.log.annotation.Log; +import com.ruoyi.common.log.enums.BusinessType; import com.xjs.business.api.domain.Area; import com.xjs.mall.other.R; import com.xjs.mall.ware.entity.WareInfoEntity; @@ -76,6 +78,7 @@ public class WareInfoController extends MyBaseController { */ @PostMapping("/save") @ApiOperation("保存") + @Log(title = "仓库信息", businessType = BusinessType.INSERT) public R save(@Validated(AddGroup.class) @RequestBody WareInfoEntity wareInfo) { wareInfoService.save(wareInfo); @@ -87,6 +90,7 @@ public class WareInfoController extends MyBaseController { */ @PutMapping("/update") @ApiOperation("修改") + @Log(title = "仓库信息", businessType = BusinessType.UPDATE) public R update(@Validated(UpdateGroup.class)@RequestBody WareInfoEntity wareInfo) { wareInfoService.updateById(wareInfo); @@ -98,6 +102,7 @@ public class WareInfoController extends MyBaseController { */ @DeleteMapping("/delete") @ApiOperation("删除") + @Log(title = "仓库信息", businessType = BusinessType.DELETE) public R delete(@RequestBody Long[] ids) { wareInfoService.removeByIds(Arrays.asList(ids)); diff --git a/xjs-business/xjs-project-mall/mall-ware/src/main/java/com/xjs/mall/ware/controller/WareSkuController.java b/xjs-business/xjs-project-mall/mall-ware/src/main/java/com/xjs/mall/ware/controller/WareSkuController.java index 2d638fdd..6f7f7dbc 100644 --- a/xjs-business/xjs-project-mall/mall-ware/src/main/java/com/xjs/mall/ware/controller/WareSkuController.java +++ b/xjs-business/xjs-project-mall/mall-ware/src/main/java/com/xjs/mall/ware/controller/WareSkuController.java @@ -1,25 +1,29 @@ package com.xjs.mall.ware.controller; +import com.ruoyi.common.log.annotation.Log; +import com.ruoyi.common.log.enums.BusinessType; import com.xjs.mall.ware.entity.WareSkuEntity; import com.xjs.mall.ware.service.WareSkuService; import com.xjs.utils.PageUtils; 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.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.util.Arrays; import java.util.Map; - /** * 商品库存 * * @author xiejs * @email 1294405880@qq.com - * @since 2022-03-15 09:56:19 + * @since 2022-03-15 09:56:19 */ @RestController @RequestMapping("ware/waresku") @@ -33,7 +37,7 @@ public class WareSkuController { */ @GetMapping("/list") @ApiOperation("列表") - public R list(@RequestParam Map params){ + public R list(@RequestParam Map params) { PageUtils page = wareSkuService.queryPage(params); return R.ok().put("page", page); @@ -43,10 +47,10 @@ public class WareSkuController { /** * 信息 */ - @RequestMapping("/info/{id}") + @GetMapping("/info/{id}") @ApiOperation("信息") - public R info(@PathVariable("id") Long id){ - WareSkuEntity wareSku = wareSkuService.getById(id); + public R info(@PathVariable("id") Long id) { + WareSkuEntity wareSku = wareSkuService.getById(id); return R.ok().put("wareSku", wareSku); } @@ -54,10 +58,11 @@ public class WareSkuController { /** * 保存 */ - @RequestMapping("/save") + @PostMapping("/save") @ApiOperation("保存") - public R save(@RequestBody WareSkuEntity wareSku){ - wareSkuService.save(wareSku); + @Log(title = "商品库存", businessType = BusinessType.INSERT) + public R save(@Validated(AddGroup.class) @RequestBody WareSkuEntity wareSku) { + wareSkuService.save(wareSku); return R.ok(); } @@ -65,10 +70,11 @@ public class WareSkuController { /** * 修改 */ - @RequestMapping("/update") + @PutMapping("/update") @ApiOperation("修改") - public R update(@RequestBody WareSkuEntity wareSku){ - wareSkuService.updateById(wareSku); + @Log(title = "商品库存", businessType = BusinessType.UPDATE) + public R update(@Validated(UpdateGroup.class) @RequestBody WareSkuEntity wareSku) { + wareSkuService.updateById(wareSku); return R.ok(); } @@ -76,10 +82,11 @@ public class WareSkuController { /** * 删除 */ - @RequestMapping("/delete") + @DeleteMapping("/delete") @ApiOperation("删除") - public R delete(@RequestBody Long[] ids){ - wareSkuService.removeByIds(Arrays.asList(ids)); + @Log(title = "商品库存", businessType = BusinessType.DELETE) + public R delete(@RequestBody Long[] ids) { + wareSkuService.removeByIds(Arrays.asList(ids)); return R.ok(); } diff --git a/xjs-business/xjs-project-mall/mall-ware/src/main/java/com/xjs/mall/ware/entity/WareSkuEntity.java b/xjs-business/xjs-project-mall/mall-ware/src/main/java/com/xjs/mall/ware/entity/WareSkuEntity.java index 088a3059..0c586a22 100644 --- a/xjs-business/xjs-project-mall/mall-ware/src/main/java/com/xjs/mall/ware/entity/WareSkuEntity.java +++ b/xjs-business/xjs-project-mall/mall-ware/src/main/java/com/xjs/mall/ware/entity/WareSkuEntity.java @@ -2,14 +2,19 @@ package com.xjs.mall.ware.entity; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.xjs.validation.group.AddGroup; +import com.xjs.validation.group.UpdateGroup; +import lombok.Data; +import javax.validation.constraints.Max; +import javax.validation.constraints.Min; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; import java.io.Serializable; -import java.util.Date; -import lombok.Data; /** * 商品库存 - * + * * @author xiejs * @email 1294405880@qq.com * @date 2022-03-15 09:56:19 @@ -17,32 +22,41 @@ import lombok.Data; @Data @TableName("wms_ware_sku") public class WareSkuEntity implements Serializable { - private static final long serialVersionUID = 1L; + private static final long serialVersionUID = 1L; - /** - * id - */ - @TableId - private Long id; - /** - * sku_id - */ - private Long skuId; - /** - * 仓库id - */ - private Long wareId; - /** - * 库存数 - */ - private Integer stock; - /** - * sku_name - */ - private String skuName; - /** - * 锁定库存 - */ - private Integer stockLocked; + /** + * id + */ + @TableId + private Long id; + /** + * sku_id + */ + @NotNull(message = "sku_id不能为空", groups = {AddGroup.class, UpdateGroup.class}) + private Long skuId; + /** + * 仓库id + */ + @NotNull(message = "仓库id不能为空", groups = {AddGroup.class, UpdateGroup.class}) + private Long wareId; + /** + * 库存数 + */ + @NotNull(message = "库存数不能为空", groups = {AddGroup.class, UpdateGroup.class}) + @Min(value = 0,message = "库存不能小于零",groups = {AddGroup.class,UpdateGroup.class}) + @Max(value = 9999999,message = "库存不能大于9999999",groups = {AddGroup.class,UpdateGroup.class}) + private Integer stock; + /** + * sku_name + */ + @NotBlank(message = "sku_name不能为空", groups = {AddGroup.class, UpdateGroup.class}) + private String skuName; + /** + * 锁定库存 + */ + @NotNull(message = "锁定库存不能为空", groups = {AddGroup.class, UpdateGroup.class}) + @Min(value = 0,message = "锁定库存不能小于零",groups = {AddGroup.class,UpdateGroup.class}) + @Max(value = 9999999,message = "锁定库存不能大于9999999",groups = {AddGroup.class,UpdateGroup.class}) + private Integer stockLocked; } diff --git a/xjs-business/xjs-project-mall/mall-ware/src/main/java/com/xjs/mall/ware/service/impl/PurchaseDetailServiceImpl.java b/xjs-business/xjs-project-mall/mall-ware/src/main/java/com/xjs/mall/ware/service/impl/PurchaseDetailServiceImpl.java index 37cd2cc7..aa3ce98e 100644 --- a/xjs-business/xjs-project-mall/mall-ware/src/main/java/com/xjs/mall/ware/service/impl/PurchaseDetailServiceImpl.java +++ b/xjs-business/xjs-project-mall/mall-ware/src/main/java/com/xjs/mall/ware/service/impl/PurchaseDetailServiceImpl.java @@ -1,8 +1,9 @@ package com.xjs.mall.ware.service.impl; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.common.core.utils.StringUtils; import com.xjs.mall.ware.dao.PurchaseDetailDao; import com.xjs.mall.ware.entity.PurchaseDetailEntity; import com.xjs.mall.ware.service.PurchaseDetailService; @@ -18,12 +19,23 @@ public class PurchaseDetailServiceImpl extends ServiceImpl params) { - IPage page = this.page( - new Query().getPage(params), - new QueryWrapper() - ); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + + String key = (String) params.get(Query.KEY_NAME); + String status = (String) params.get("status"); + String wareId = (String) params.get("wareId"); + + wrapper.and(StringUtils.isNotEmpty(key), w -> { + w.eq(PurchaseDetailEntity::getPurchaseId, key) + .or() + .eq(PurchaseDetailEntity::getSkuId, key); + }) + .eq(StringUtils.isNotEmpty(status), PurchaseDetailEntity::getStatus, status) + .eq(StringUtils.isNotEmpty(wareId), PurchaseDetailEntity::getWareId, wareId); + + IPage page = this.page(new Query().getPage(params), wrapper); return new PageUtils(page); } -} \ No newline at end of file +} diff --git a/xjs-business/xjs-project-mall/mall-ware/src/main/java/com/xjs/mall/ware/service/impl/WareSkuServiceImpl.java b/xjs-business/xjs-project-mall/mall-ware/src/main/java/com/xjs/mall/ware/service/impl/WareSkuServiceImpl.java index 9869492d..8e226e4a 100644 --- a/xjs-business/xjs-project-mall/mall-ware/src/main/java/com/xjs/mall/ware/service/impl/WareSkuServiceImpl.java +++ b/xjs-business/xjs-project-mall/mall-ware/src/main/java/com/xjs/mall/ware/service/impl/WareSkuServiceImpl.java @@ -4,33 +4,55 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.core.utils.StringUtils; +import com.ruoyi.common.core.utils.bean.BeanUtils; import com.xjs.mall.ware.dao.WareSkuDao; +import com.xjs.mall.ware.entity.WareInfoEntity; import com.xjs.mall.ware.entity.WareSkuEntity; +import com.xjs.mall.ware.service.WareInfoService; import com.xjs.mall.ware.service.WareSkuService; +import com.xjs.mall.ware.vo.WareSkuVo; import com.xjs.utils.PageUtils; import com.xjs.utils.Query; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.List; import java.util.Map; +import java.util.stream.Collectors; @Service("wareSkuService") public class WareSkuServiceImpl extends ServiceImpl implements WareSkuService { + @Autowired + private WareInfoService wareInfoService; + @Override public PageUtils queryPage(Map params) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); String key = (String) params.get(Query.KEY_NAME); - if (StringUtils.isNotEmpty(key)) { - wrapper.eq(WareSkuEntity::getSkuName, key).or() - .eq(WareSkuEntity::getSkuId, key).or() - .eq(WareSkuEntity::getWareId, key); - } - - IPage page = this.page(new Query().getPage(params),wrapper); - - return new PageUtils(page); + String skuId = (String) params.get("skuId"); + String wareId = (String) params.get("wareId"); + wrapper.like(StringUtils.isNotEmpty(key), WareSkuEntity::getSkuName, key).or() + .eq(StringUtils.isNotEmpty(skuId), WareSkuEntity::getSkuId, skuId).or() + .eq(StringUtils.isNotEmpty(wareId), WareSkuEntity::getWareId, wareId); + + IPage page = this.page(new Query().getPage(params), wrapper); + + List collect = page.getRecords().stream().map(wareSkuEntity -> { + WareSkuVo wareSkuVo = new WareSkuVo(); + BeanUtils.copyProperties(wareSkuEntity,wareSkuVo); + //获取仓库信息 + WareInfoEntity wareInfoEntity = wareInfoService.getById(wareSkuVo.getWareId()); + wareSkuVo.setWareName(wareInfoEntity.getName()); + return wareSkuVo; + }).collect(Collectors.toList()); + + PageUtils pageUtils = new PageUtils(page); + pageUtils.setList(collect); + + return pageUtils; } } diff --git a/xjs-business/xjs-project-mall/mall-ware/src/main/java/com/xjs/mall/ware/vo/WareSkuVo.java b/xjs-business/xjs-project-mall/mall-ware/src/main/java/com/xjs/mall/ware/vo/WareSkuVo.java new file mode 100644 index 00000000..de69c283 --- /dev/null +++ b/xjs-business/xjs-project-mall/mall-ware/src/main/java/com/xjs/mall/ware/vo/WareSkuVo.java @@ -0,0 +1,43 @@ +package com.xjs.mall.ware.vo; + +import com.baomidou.mybatisplus.annotation.TableId; +import lombok.Data; + +/** + * 商品库存vo + * @author xiejs + * @since 2022-03-23 + */ +@Data +public class WareSkuVo { + /** + * id + */ + @TableId + private Long id; + /** + * sku_id + */ + private Long skuId; + /** + * 仓库id + */ + private Long wareId; + /** + * 库存数 + */ + private Integer stock; + /** + * sku_name + */ + private String skuName; + /** + * 锁定库存 + */ + private Integer stockLocked; + + /** + * 仓库名称 + */ + private String wareName; +}