From d53c16a12e612a95dc8f6fb248e3669cbc441eb4 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期二, 17 十二月 2024 16:48:41 +0800 Subject: [PATCH] 新增加商品特价接口 --- ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/AddGoodsBargainPriceVo.java | 21 +++++++ ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/GoodsBargainPriceServiceImpl.java | 81 ++++++++++++++++++++++++++ ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/GoodsBargainPriceInfo.java | 25 ++++++++ ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/GoodsBargainPriceService.java | 21 +++++++ ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/GoodsBargainPriceController.java | 28 +++++++- ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/GoodsShopController.java | 2 6 files changed, 171 insertions(+), 7 deletions(-) diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/GoodsBargainPriceController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/GoodsBargainPriceController.java index 12d044e..952197d 100644 --- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/GoodsBargainPriceController.java +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/GoodsBargainPriceController.java @@ -13,12 +13,12 @@ import com.ruoyi.other.api.domain.*; import com.ruoyi.other.api.vo.GetGoodsBargainPrice; import com.ruoyi.other.service.*; +import com.ruoyi.other.vo.AddGoodsBargainPriceVo; +import com.ruoyi.other.vo.GoodsBargainPriceInfo; import com.ruoyi.other.vo.ShopGoodsList; import com.ruoyi.other.vo.ShopGoodsListVo; import com.ruoyi.system.api.model.LoginUser; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import io.swagger.annotations.ApiParam; +import io.swagger.annotations.*; import io.swagger.models.auth.In; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; @@ -197,11 +197,29 @@ return R.ok(page); } - - + @ResponseBody + @GetMapping("/getGoodsBargainPriceInfo/{id}") + @ApiOperation(value = "获取商品特殊售价详情", tags = {"门店后台-商品管理"}) + @ApiImplicitParams({ + @ApiImplicitParam(value = "商品id", name = "id", required = true, dataType = "int"), + }) + public R<GoodsBargainPriceInfo> getGoodsBargainPriceInfo(@PathVariable("id") Integer id){ + GoodsBargainPriceInfo goodsBargainPriceInfo = goodsBargainPriceService.getGoodsBargainPriceInfo(id); + return R.ok(goodsBargainPriceInfo); + } + + + + + @ResponseBody + @GetMapping("/addGoodsBargainPrice/{id}") + @ApiOperation(value = "保存商品特殊售价", tags = {"门店后台-商品管理"}) + public R addGoodsBargainPrice(@RequestBody AddGoodsBargainPriceVo vo){ + return goodsBargainPriceService.addGoodsBargainPrice(vo); + } } diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/GoodsShopController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/GoodsShopController.java index 00f0857..b435e5c 100644 --- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/GoodsShopController.java +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/GoodsShopController.java @@ -72,7 +72,7 @@ } - + } diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/GoodsBargainPriceService.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/GoodsBargainPriceService.java index b6a4b60..42d2b33 100644 --- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/GoodsBargainPriceService.java +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/GoodsBargainPriceService.java @@ -1,7 +1,12 @@ package com.ruoyi.other.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.common.core.domain.R; import com.ruoyi.other.api.domain.GoodsBargainPrice; +import com.ruoyi.other.vo.AddGoodsBargainPriceVo; +import com.ruoyi.other.vo.GoodsBargainPriceInfo; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; /** * <p> @@ -12,5 +17,21 @@ * @since 2024-11-20 */ public interface GoodsBargainPriceService extends IService<GoodsBargainPrice> { + + + /** + * 获取商品特殊售价明细 + * @param id + * @return + */ + GoodsBargainPriceInfo getGoodsBargainPriceInfo(Integer id); + + + /** + * 提交特殊售价申请 + * @param vo + * @return + */ + R addGoodsBargainPrice(AddGoodsBargainPriceVo vo); } diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/GoodsBargainPriceServiceImpl.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/GoodsBargainPriceServiceImpl.java index bf7bf04..362f771 100644 --- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/GoodsBargainPriceServiceImpl.java +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/GoodsBargainPriceServiceImpl.java @@ -1,10 +1,23 @@ package com.ruoyi.other.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.security.service.TokenService; +import com.ruoyi.other.api.domain.GoodsBargainPriceDetail; import com.ruoyi.other.mapper.GoodsBargainPriceMapper; import com.ruoyi.other.api.domain.GoodsBargainPrice; +import com.ruoyi.other.service.GoodsBargainPriceDetailService; import com.ruoyi.other.service.GoodsBargainPriceService; +import com.ruoyi.other.vo.AddGoodsBargainPriceVo; +import com.ruoyi.other.vo.GoodsBargainPriceInfo; +import com.ruoyi.system.api.domain.SysUser; +import com.ruoyi.system.api.feignClient.SysUserClient; import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.time.LocalDateTime; +import java.util.List; /** * <p> @@ -16,5 +29,71 @@ */ @Service public class GoodsBargainPriceServiceImpl extends ServiceImpl<GoodsBargainPriceMapper, GoodsBargainPrice> implements GoodsBargainPriceService { - + + @Resource + private TokenService tokenService; + + @Resource + private SysUserClient sysUserClient; + + @Resource + private GoodsBargainPriceDetailService goodsBargainPriceDetailService; + + + + + /** + * 获取商品特殊售价明细 + * @param id + * @return + */ + @Override + public GoodsBargainPriceInfo getGoodsBargainPriceInfo(Integer id) { + Long userid = tokenService.getLoginUser().getUserid(); + SysUser sysUser = sysUserClient.getSysUser(userid).getData(); + GoodsBargainPrice bargainPrice = this.getOne(new LambdaQueryWrapper<GoodsBargainPrice>().eq(GoodsBargainPrice::getShopId, sysUser.getObjectId()) + .eq(GoodsBargainPrice::getGoodsId, id).eq(GoodsBargainPrice::getDelFlag, 0).last(" order by create_time desc limit 0, 1")); + if(null == bargainPrice){ + return null; + } + List<GoodsBargainPriceDetail> list = goodsBargainPriceDetailService.list(new LambdaQueryWrapper<GoodsBargainPriceDetail>().eq(GoodsBargainPriceDetail::getGoodsBargainPriceId, bargainPrice.getId())); + GoodsBargainPriceInfo info = new GoodsBargainPriceInfo(); + info.setId(bargainPrice.getId().toString()); + info.setList(list); + info.setAuditMsg(bargainPrice.getAuditMsg()); + info.setAuditStatus(bargainPrice.getAuditStatus()); + return info; + } + + + /** + * 提交特殊售价申请 + * @param vo + * @return + */ + @Override + public R addGoodsBargainPrice(AddGoodsBargainPriceVo vo) { + Long userid = tokenService.getLoginUser().getUserid(); + SysUser sysUser = sysUserClient.getSysUser(userid).getData(); + GoodsBargainPrice bargainPrice = this.getOne(new LambdaQueryWrapper<GoodsBargainPrice>().eq(GoodsBargainPrice::getShopId, sysUser.getObjectId()) + .eq(GoodsBargainPrice::getGoodsId, vo.getGoodsId()).eq(GoodsBargainPrice::getDelFlag, 0).last(" order by create_time desc limit 0, 1")); + if(null != bargainPrice && 1 == bargainPrice.getAuditStatus()){ + return R.fail("特价申请正在审核中"); + } + bargainPrice = new GoodsBargainPrice(); + bargainPrice.setShopId(sysUser.getObjectId()); + bargainPrice.setGoodsId(vo.getGoodsId()); + bargainPrice.setAuditStatus(1); + bargainPrice.setDelFlag(0); + bargainPrice.setCreateTime(LocalDateTime.now()); + bargainPrice.setCreateUserId(userid); + this.updateById(bargainPrice); + //添加明细 + List<GoodsBargainPriceDetail> list = vo.getList(); + for (GoodsBargainPriceDetail goodsBargainPriceDetail : list) { + goodsBargainPriceDetail.setGoodsBargainPriceId(bargainPrice.getId()); + } + goodsBargainPriceDetailService.saveBatch(list); + return R.ok(); + } } diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/AddGoodsBargainPriceVo.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/AddGoodsBargainPriceVo.java new file mode 100644 index 0000000..8e79255 --- /dev/null +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/AddGoodsBargainPriceVo.java @@ -0,0 +1,21 @@ +package com.ruoyi.other.vo; + +import com.ruoyi.other.api.domain.GoodsBargainPriceDetail; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @author zhibing.pu + * @Date 2024/12/17 16:28 + */ +@Data +@ApiModel +public class AddGoodsBargainPriceVo { + @ApiModelProperty("商品id") + private Integer goodsId; + @ApiModelProperty("特殊售价") + private List<GoodsBargainPriceDetail> list; +} diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/GoodsBargainPriceInfo.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/GoodsBargainPriceInfo.java new file mode 100644 index 0000000..6b13165 --- /dev/null +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/GoodsBargainPriceInfo.java @@ -0,0 +1,25 @@ +package com.ruoyi.other.vo; + +import com.ruoyi.other.api.domain.GoodsBargainPriceDetail; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @author zhibing.pu + * @Date 2024/12/17 16:14 + */ +@Data +@ApiModel +public class GoodsBargainPriceInfo { + @ApiModelProperty("数据id") + private String id; + @ApiModelProperty("审核状态(0=待审核,1=审核通过,2=审核失败)") + private Integer auditStatus; + @ApiModelProperty("审核意见") + private String auditMsg; + @ApiModelProperty("特殊售价") + private List<GoodsBargainPriceDetail> list; +} -- Gitblit v1.7.1