ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/SeckillActivityInfo.java
@@ -8,6 +8,7 @@ import java.io.Serializable; import java.time.LocalDateTime; import java.util.List; /** * <p> @@ -58,5 +59,13 @@ @TableField("end_time") private LocalDateTime endTime; @ApiModelProperty(value = "是否上架:0否 1是") @TableField("is_shelves") private Integer isShelves; @TableField(exist = false) private List<GoodsSeckill> goodsSeckills; } ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/OrderActivityInfoController.java
@@ -61,7 +61,7 @@ /** * 删除活动 */ @PostMapping("/delete") @DeleteMapping("/delete") @ApiOperation(value = "订单优惠活动-删除活动", tags = {"管理后台-活动管理"}) public R<Void> deleteActivityConfig(@RequestParam("id") Long id){ orderActivityInfoService.removeById(id); ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/RedPackegeSetController.java
@@ -43,5 +43,45 @@ } } /** * 获取红包配置 */ @ApiOperation(value = "获取红包配置", tags = {"管理后台-活动管理-签到红包"}) @GetMapping("/getRedPackegeSet") public R<RedPackegeSet> getRedPackegeSet(){ return R.ok(redPackegeSetService.getOne(null)); } /** * 添加红包配置 */ @ApiOperation(value = "添加红包配置", tags = {"管理后台-活动管理-签到红包"}) @GetMapping("/addRedPackegeSet") public R<Void> addRedPackegeSet(RedPackegeSet redPackegeSet){ RedPackegeSet one = redPackegeSetService.getOne(null); if (one==null){ redPackegeSet.setId(1); redPackegeSetService.save(redPackegeSet); }else { if (one.getId()==null){ return R.fail("参数错误"); } redPackegeSetService.updateById(redPackegeSet); } return R.ok(); } /** * 删除红包配置 */ @ApiOperation(value = "删除红包配置", tags = {"管理后台-活动管理-签到红包"}) @GetMapping("/delRedPackegeSet") public R<Void> delRedPackegeSet(){ redPackegeSetService.removeById(1); return R.ok(); } } ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/SeckillActivityInfoController.java
@@ -47,7 +47,7 @@ * 秒杀活动列表 */ @GetMapping("/list") @ApiOperation(value = "秒杀活动列表",tags = {"小程序-商城-首页"}) @ApiOperation(value = "秒杀活动列表",tags = {"小程序-商城-首页","后台管理-活动管理-秒杀活动"}) public R<TableDataInfo> list(Goods goods) { startPage(); @@ -82,5 +82,55 @@ return R.ok(goodsSeckill); } /** * 新增秒杀活动 */ @PostMapping("/save") @ApiOperation(value = "新增秒杀活动", tags = {"后台管理-活动管理-秒杀活动" }) public R<Void> save(@RequestBody SeckillActivityInfo seckillActivityInfo) { seckillActivityInfoService.saveSeckillActivityInfo(seckillActivityInfo); return R.ok(); } /** * 修改秒杀活动 */ @PutMapping("/update") @ApiOperation(value = "修改秒杀活动", tags = {"后台管理-活动管理-秒杀活动" }) public R<Void> update(@RequestBody SeckillActivityInfo seckillActivityInfo) { seckillActivityInfoService.updateSeckillActivityInfo(seckillActivityInfo); return R.ok(); } /** * 删除秒杀活动 */ @DeleteMapping("/remove/{id}") @ApiOperation(value = "删除秒杀活动", tags = {"后台管理-活动管理-秒杀活动" }) public R<Void> remove(@PathVariable Integer id) { seckillActivityInfoService.removeById(id); return R.ok(); } /** * 获取秒杀活动明细 */ @GetMapping("/getSeckillActivityDetail") @ApiOperation(value = "获取秒杀活动明细", tags = {"后台管理-活动管理-秒杀活动" }) public R<SeckillActivityInfo> getSeckillActivityDetail(Integer id) { SeckillActivityInfo seckillActivityInfo = seckillActivityInfoService.getById(id); List<GoodsSeckill> goodsSeckills = goodsSeckillService.list(new LambdaQueryWrapper<GoodsSeckill>() .eq(GoodsSeckill::getSeckillActivityInfoId, id)); seckillActivityInfo.setGoodsSeckills(goodsSeckills); return R.ok(seckillActivityInfo); } } ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/GoodsSeckillService.java
@@ -13,4 +13,5 @@ */ public interface GoodsSeckillService extends IService<GoodsSeckill> { } ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/SeckillActivityInfoService.java
@@ -21,4 +21,8 @@ List<SeckillActivityVO> listSeckillActivity(Goods goods); SeckillActivityDetailVO detail(Integer seckillActivityId); void saveSeckillActivityInfo(SeckillActivityInfo seckillActivityInfo); void updateSeckillActivityInfo(SeckillActivityInfo seckillActivityInfo); } ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/SeckillActivityInfoServiceImpl.java
@@ -5,18 +5,17 @@ import com.ruoyi.account.api.feignClient.AppUserClient; import com.ruoyi.account.api.model.AppUser; import com.ruoyi.common.security.service.TokenService; import com.ruoyi.other.api.domain.Goods; import com.ruoyi.other.api.domain.GoodsShop; import com.ruoyi.other.api.domain.SeckillActivityInfo; import com.ruoyi.other.api.domain.Shop; import com.ruoyi.other.api.domain.*; import com.ruoyi.other.mapper.GoodsShopMapper; import com.ruoyi.other.mapper.SeckillActivityInfoMapper; import com.ruoyi.other.mapper.ShopMapper; import com.ruoyi.other.service.GoodsSeckillService; import com.ruoyi.other.service.SeckillActivityInfoService; import com.ruoyi.other.vo.SeckillActivityDetailVO; import com.ruoyi.other.vo.SeckillActivityVO; import com.ruoyi.system.api.model.LoginUser; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.List; @@ -42,6 +41,8 @@ private TokenService tokenService; @Resource private AppUserClient appUserClient; @Resource private GoodsSeckillService goodsSeckillService; @Override public List<SeckillActivityVO> listSeckillActivity(Goods goods) { @@ -68,4 +69,23 @@ seckillActivityDetailVO.setShopList(shopNames); return seckillActivityDetailVO; } @Override @Transactional(rollbackFor = Exception.class) public void saveSeckillActivityInfo(SeckillActivityInfo seckillActivityInfo) { this.baseMapper.insert(seckillActivityInfo); List<GoodsSeckill> goodsSeckills = seckillActivityInfo.getGoodsSeckills(); goodsSeckills.forEach(goodsSeckill -> goodsSeckill.setSeckillActivityInfoId(seckillActivityInfo.getId())); goodsSeckillService.saveBatch(goodsSeckills); } @Override @Transactional(rollbackFor = Exception.class) public void updateSeckillActivityInfo(SeckillActivityInfo seckillActivityInfo) { this.baseMapper.updateById(seckillActivityInfo); goodsSeckillService.remove(new LambdaQueryWrapper<GoodsSeckill>().eq(GoodsSeckill::getSeckillActivityInfoId, seckillActivityInfo.getId())); List<GoodsSeckill> goodsSeckills = seckillActivityInfo.getGoodsSeckills(); goodsSeckills.forEach(goodsSeckill -> goodsSeckill.setSeckillActivityInfoId(seckillActivityInfo.getId())); goodsSeckillService.saveBatch(goodsSeckills); } } ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/SeckillActivityVO.java
@@ -20,6 +20,24 @@ @ApiModelProperty(value = "商品简介") private String introduction; @ApiModelProperty(value = "商品类型") private String goodsType; @ApiModelProperty(value = "商品分类名称") private String goodsCategoryName; @ApiModelProperty(value = "运营成本") private BigDecimal operatingCost; @ApiModelProperty(value = "门店成本") private BigDecimal shopCost; @ApiModelProperty(value = "限购数量") private Integer maxNum; @ApiModelProperty(value = "销量") private Integer saleNum; @ApiModelProperty(value = "封面图") private String homePagePicture; @@ -29,8 +47,6 @@ @ApiModelProperty(value = "基础售价") private BigDecimal sellingPrice; @ApiModelProperty(value = "已售数量") private Integer saleNum; @ApiModelProperty(value = "开始时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @@ -40,4 +56,10 @@ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime endTime; @ApiModelProperty(value = "状态:1未开始 2已开始 3已结束") private Integer status; @ApiModelProperty(value = "展示状态:0下架中 1上架中") private Integer showStatus; }