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); } } ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/GoodsShopController.java
@@ -72,7 +72,7 @@ } } 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); } 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(); } } ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/AddGoodsBargainPriceVo.java
New file @@ -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; } ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/GoodsBargainPriceInfo.java
New file @@ -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; }