拼团活动修改
parent
aeaaeaf532
commit
b4cf3e8c06
|
@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
|
|||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.muyu.common.core.web.domain.BaseEntity;
|
||||
import com.muyu.marketing.domain.model.ActivityTeamInfoAddModel;
|
||||
import com.muyu.marketing.domain.model.ActivityTeamUpdModel;
|
||||
import lombok.*;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
|
@ -93,4 +94,22 @@ public class ActivityTeamInfo extends BaseEntity {
|
|||
.strategyId(activityTeamInfoAddModel.getStrategyId())
|
||||
.build();
|
||||
}
|
||||
|
||||
public static ActivityTeamInfo updModelBuild(ActivityTeamUpdModel activityTeamUpdModel){
|
||||
return ActivityTeamInfo.builder()
|
||||
.id(activityTeamUpdModel.getId())
|
||||
.name(activityTeamUpdModel.getName())
|
||||
.productId(activityTeamUpdModel.getProductId())
|
||||
.productImage(activityTeamUpdModel.getProductImage())
|
||||
.introduction(activityTeamUpdModel.getIntroduction())
|
||||
.unit(activityTeamUpdModel.getUnit())
|
||||
.imageList(activityTeamUpdModel.getImageList())
|
||||
.endTime(activityTeamUpdModel.getEndTime())
|
||||
.sort(activityTeamUpdModel.getSort())
|
||||
.content(activityTeamUpdModel.getContent())
|
||||
.status(activityTeamUpdModel.getStatus())
|
||||
.strategyType(activityTeamUpdModel.getStrategyType())
|
||||
.strategyId(activityTeamUpdModel.getStrategyId())
|
||||
.build();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
|
|||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.muyu.common.core.web.domain.BaseEntity;
|
||||
import com.muyu.marketing.domain.model.ActivityTeamProductSkuAddModel;
|
||||
import com.muyu.marketing.domain.model.ActivityTeamProductSkuUpdModel;
|
||||
import lombok.*;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
|
@ -62,4 +63,12 @@ public class ActivityTeamProductSkuInfo extends BaseEntity {
|
|||
.teamPrice(activityTeamProductSkuAddModel.getTeamPrice())
|
||||
.build();
|
||||
}
|
||||
|
||||
public static ActivityTeamProductSkuInfo updBuild(ActivityTeamProductSkuUpdModel activityTeamProductSkuUpdModel){
|
||||
return ActivityTeamProductSkuInfo.builder()
|
||||
.id(activityTeamProductSkuUpdModel.getId())
|
||||
.remainStock(activityTeamProductSkuUpdModel.getTeamStock())
|
||||
.teamPrice(activityTeamProductSkuUpdModel.getTeamPrice())
|
||||
.build();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -36,7 +36,8 @@ public class ActivityTeamProductSkuAddModel {
|
|||
/**
|
||||
* 规格SKU
|
||||
*/
|
||||
private String sku;
|
||||
private String productSku;
|
||||
|
||||
|
||||
/**
|
||||
* 拼团价格
|
||||
|
@ -51,7 +52,7 @@ public class ActivityTeamProductSkuAddModel {
|
|||
public static ActivityTeamProductSkuAddModel addReqBuild(TeamProjectSkuInfoAddReq teamProjectSkuInfoAddReq, Supplier<Long> productId){
|
||||
return ActivityTeamProductSkuAddModel.builder()
|
||||
.productId(productId.get())
|
||||
.sku(teamProjectSkuInfoAddReq.getSku())
|
||||
.productSku(teamProjectSkuInfoAddReq.getProductSku())
|
||||
.teamStock(teamProjectSkuInfoAddReq.getTeamStock())
|
||||
.teamPrice(teamProjectSkuInfoAddReq.getTeamPrice())
|
||||
.build();
|
||||
|
|
|
@ -0,0 +1,40 @@
|
|||
package com.muyu.marketing.domain.model;
|
||||
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
|
||||
/**
|
||||
* 团购spu库存修改模型
|
||||
*
|
||||
* @author DongZeLiang
|
||||
* @date 2024-11-26 09:36
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class ActivityTeamProductSkuUpdModel {
|
||||
|
||||
/**
|
||||
* 商品规格ID
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 拼团价格
|
||||
*/
|
||||
private BigDecimal teamPrice;
|
||||
|
||||
/**
|
||||
* 团购库存
|
||||
*/
|
||||
private Long teamStock;
|
||||
|
||||
|
||||
}
|
|
@ -1,6 +1,8 @@
|
|||
package com.muyu.marketing.domain.model;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.muyu.marketing.domain.ActivityTeamInfo;
|
||||
import com.muyu.marketing.domain.req.ActivityTeamUpdReq;
|
||||
import com.muyu.marketing.domain.resp.ActivityTeamProjectSkuResp;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
|
@ -56,9 +58,9 @@ public class ActivityTeamUpdModel {
|
|||
*/
|
||||
private Integer sort;
|
||||
/**
|
||||
* 商品SkU集合
|
||||
* 商品SkU
|
||||
*/
|
||||
private List<ActivityTeamProjectSkuResp> activityTeamProjectSkuResp;
|
||||
private ActivityTeamUpdSkuModel activityTeamUpdSkuModel;
|
||||
/**
|
||||
* 活动详情
|
||||
*/
|
||||
|
@ -75,4 +77,24 @@ public class ActivityTeamUpdModel {
|
|||
* 策略ID
|
||||
*/
|
||||
private Long strategyId;
|
||||
|
||||
public static ActivityTeamUpdModel activityTeamUpdReq(ActivityTeamUpdReq activityTeamInfo){
|
||||
return ActivityTeamUpdModel.builder()
|
||||
.id(activityTeamInfo.getId())
|
||||
.name(activityTeamInfo.getName())
|
||||
.productId(activityTeamInfo.getProductId())
|
||||
.introduction(activityTeamInfo.getIntroduction())
|
||||
.unit(activityTeamInfo.getUnit())
|
||||
.endTime(activityTeamInfo.getEndTime())
|
||||
.imageList(activityTeamInfo.getImageList())
|
||||
.productImage(activityTeamInfo.getProductImage())
|
||||
.activityTeamUpdSkuModel(activityTeamInfo.getActivityTeamUpdSkuModel())
|
||||
.sort(activityTeamInfo.getSort())
|
||||
.content(activityTeamInfo.getContent())
|
||||
.status(activityTeamInfo.getStatus())
|
||||
.strategyType(activityTeamInfo.getStrategyType())
|
||||
.strategyId(activityTeamInfo.getStrategyId())
|
||||
.strategyType(activityTeamInfo.getStrategyType())
|
||||
.build();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,29 @@
|
|||
package com.muyu.marketing.domain.model;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.List;
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class ActivityTeamUpdSkuModel {
|
||||
|
||||
/**
|
||||
* 团购spu库存添加模型
|
||||
*/
|
||||
private List<ActivityTeamProductSkuAddModel> activityTeamProductSkuAddModelList;
|
||||
|
||||
/**
|
||||
* 根据商品规格Id删除
|
||||
*/
|
||||
private List<Long> ids;
|
||||
|
||||
/**
|
||||
* 团购spu库存修改模型
|
||||
*/
|
||||
private List<ActivityTeamProductSkuUpdModel> activityTeamProductSkuUpdModels;
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -1,4 +1,82 @@
|
|||
package com.muyu.marketing.domain.req;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.muyu.marketing.domain.model.ActivityTeamUpdModel;
|
||||
import com.muyu.marketing.domain.model.ActivityTeamUpdSkuModel;
|
||||
import com.muyu.marketing.domain.resp.ActivityTeamProjectSkuResp;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@SuperBuilder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class ActivityTeamUpdReq {
|
||||
|
||||
/**
|
||||
* 活动ID
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 拼团名称
|
||||
*/
|
||||
private String name;
|
||||
/**
|
||||
* 商品ID
|
||||
*/
|
||||
private Long productId;
|
||||
/**
|
||||
* 商品活动图
|
||||
*/
|
||||
private String productImage;
|
||||
/**
|
||||
* 活动简介
|
||||
*/
|
||||
private String introduction;
|
||||
/**
|
||||
* 单位
|
||||
*/
|
||||
|
||||
private String unit;
|
||||
/**
|
||||
* 轮播图
|
||||
*/
|
||||
|
||||
private String imageList;
|
||||
/**
|
||||
* 活动结束时间
|
||||
*/
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
|
||||
private Date endTime;
|
||||
/**
|
||||
* 活动排序
|
||||
*/
|
||||
private Integer sort;
|
||||
/**
|
||||
* 商品SkU
|
||||
*/
|
||||
private ActivityTeamUpdSkuModel activityTeamUpdSkuModel;
|
||||
/**
|
||||
* 活动详情
|
||||
*/
|
||||
private String content;
|
||||
/**
|
||||
* 活动状态
|
||||
*/
|
||||
private String status;
|
||||
/**
|
||||
* 策略类型
|
||||
*/
|
||||
private String strategyType;
|
||||
/**
|
||||
* 策略ID
|
||||
*/
|
||||
private Long strategyId;
|
||||
|
||||
}
|
||||
|
|
|
@ -20,7 +20,7 @@ public class TeamProjectSkuInfoAddReq {
|
|||
/**
|
||||
* 规格SKU
|
||||
*/
|
||||
private String sku;
|
||||
private String productSku;
|
||||
|
||||
/**
|
||||
* 拼团价格
|
||||
|
|
|
@ -3,11 +3,9 @@ package com.muyu.marketing.team.controller;
|
|||
|
||||
import com.muyu.common.core.domain.Result;
|
||||
import com.muyu.common.core.web.page.TableDataInfo;
|
||||
import com.muyu.marketing.domain.model.ActivityTeamDetailRespModel;
|
||||
import com.muyu.marketing.domain.model.ActivityTeamInfoAddModel;
|
||||
import com.muyu.marketing.domain.model.ActivityTeamInfoDetailModel;
|
||||
import com.muyu.marketing.domain.model.ActivityTeamInfoListModel;
|
||||
import com.muyu.marketing.domain.model.*;
|
||||
import com.muyu.marketing.domain.req.ActivityTeamInfoSaveReq;
|
||||
import com.muyu.marketing.domain.req.ActivityTeamUpdReq;
|
||||
import com.muyu.marketing.domain.req.TeamInfoListReq;
|
||||
import com.muyu.marketing.domain.resp.ActivityTeamDetailResp;
|
||||
import com.muyu.marketing.domain.resp.ActivityTeamProjectSkuResp;
|
||||
|
@ -74,4 +72,10 @@ public class ActivityTeamController {
|
|||
);
|
||||
return activityTeamDetailResp;
|
||||
}
|
||||
|
||||
@PutMapping
|
||||
public Result upd(@RequestBody ActivityTeamUpdReq activityTeamUpdReq){
|
||||
activityTeamInfoService.upd(ActivityTeamUpdModel.activityTeamUpdReq(activityTeamUpdReq));
|
||||
return Result.success();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,10 +3,8 @@ package com.muyu.marketing.team.service;
|
|||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.muyu.common.core.web.page.TableDataInfo;
|
||||
import com.muyu.marketing.domain.ActivityTeamInfo;
|
||||
import com.muyu.marketing.domain.model.ActivityTeamDetailRespModel;
|
||||
import com.muyu.marketing.domain.model.ActivityTeamInfoAddModel;
|
||||
import com.muyu.marketing.domain.model.ActivityTeamInfoListModel;
|
||||
import com.muyu.marketing.domain.model.ActivityTeamInfoListQueryModel;
|
||||
import com.muyu.marketing.domain.model.*;
|
||||
import com.muyu.marketing.domain.req.ActivityTeamUpdReq;
|
||||
import com.muyu.marketing.domain.resp.ActivityTeamDetailResp;
|
||||
|
||||
public interface ActivityTeamInfoService extends IService<ActivityTeamInfo> {
|
||||
|
@ -26,7 +24,12 @@ public interface ActivityTeamInfoService extends IService<ActivityTeamInfo> {
|
|||
public void save(ActivityTeamInfoAddModel activityTeamInfoAddModel);
|
||||
|
||||
/**
|
||||
*
|
||||
* 查看拼团活动详情
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
public ActivityTeamDetailRespModel findById(Long id);
|
||||
|
||||
public boolean upd(ActivityTeamUpdModel activityTeamUpdModel);
|
||||
|
||||
}
|
||||
|
|
|
@ -4,10 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.muyu.marketing.domain.ActivityTeamProductSkuInfo;
|
||||
import com.muyu.marketing.domain.TeamStrategyExemptionHundred;
|
||||
import com.muyu.marketing.domain.model.ActivityTeamInfoDetailModel;
|
||||
import com.muyu.marketing.domain.model.ActivityTeamProductSkuAddModel;
|
||||
import com.muyu.marketing.domain.model.TeamProductDiscountPriceModel;
|
||||
import com.muyu.marketing.domain.model.TeamProductStockModel;
|
||||
import com.muyu.marketing.domain.model.*;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
@ -47,4 +44,27 @@ public interface ActivityTeamProductSkuInfoService extends IService<ActivityTeam
|
|||
* 根据活动编号查询sku
|
||||
*/
|
||||
public List<ActivityTeamInfoDetailModel> selectByTeamId(Long teamId);
|
||||
|
||||
/**
|
||||
* 根据商品规格ID修改商品规格
|
||||
* @param activityTeamProductSkuUpdModels
|
||||
* @return
|
||||
*/
|
||||
public boolean batchUpd(List<ActivityTeamProductSkuUpdModel> activityTeamProductSkuUpdModels);
|
||||
|
||||
/**
|
||||
* 添加商品规格
|
||||
* @param activityTeamProductSkuAddModelList
|
||||
* @return
|
||||
*/
|
||||
public boolean batchAdd(List<ActivityTeamProductSkuAddModel> activityTeamProductSkuAddModelList);
|
||||
|
||||
/**
|
||||
* 根据商品规格Id删除
|
||||
* @param ids
|
||||
* @return
|
||||
*/
|
||||
public boolean batchDel(List<Long> ids);
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package com.muyu.marketing.team.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.muyu.common.core.utils.StringUtils;
|
||||
|
@ -8,6 +9,7 @@ import com.muyu.common.core.web.page.TableDataInfo;
|
|||
import com.muyu.marketing.domain.ActivityTeamInfo;
|
||||
import com.muyu.marketing.domain.ActivityTeamProductSkuInfo;
|
||||
import com.muyu.marketing.domain.model.*;
|
||||
import com.muyu.marketing.domain.req.ActivityTeamUpdReq;
|
||||
import com.muyu.marketing.domain.resp.ActivityTeamDetailResp;
|
||||
import com.muyu.marketing.team.mapper.ActivityTeamInfoMapper;
|
||||
import com.muyu.marketing.team.service.ActivityTeamInfoService;
|
||||
|
@ -15,6 +17,7 @@ import com.muyu.marketing.team.service.ActivityTeamOpenInfoService;
|
|||
import com.muyu.marketing.team.service.ActivityTeamProductSkuInfoService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.Assert;
|
||||
|
||||
import java.util.List;
|
||||
|
@ -81,8 +84,25 @@ public class ActivityTeamInfoServiceImpl extends ServiceImpl<ActivityTeamInfoMap
|
|||
this.activityTeamProductSkuInfoService.batchSave(teamProductSkuAddModelList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查看拼团活动详情
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public ActivityTeamDetailRespModel findById(Long id) {
|
||||
return ActivityTeamDetailRespModel.teamDetailRespModel(this.getById(id));
|
||||
}
|
||||
|
||||
@Transactional
|
||||
@Override
|
||||
public boolean upd(ActivityTeamUpdModel activityTeamUpdModel) {
|
||||
ActivityTeamInfo teamInfo = ActivityTeamInfo.updModelBuild(activityTeamUpdModel);
|
||||
this.updateById(teamInfo);
|
||||
ActivityTeamUpdSkuModel activityTeamUpdSkuModel = activityTeamUpdModel.getActivityTeamUpdSkuModel();
|
||||
activityTeamProductSkuInfoService.batchUpd(activityTeamUpdSkuModel.getActivityTeamProductSkuUpdModels());
|
||||
activityTeamProductSkuInfoService.batchAdd(activityTeamUpdSkuModel.getActivityTeamProductSkuAddModelList());
|
||||
activityTeamProductSkuInfoService.batchDel(activityTeamUpdSkuModel.getIds());
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,13 +1,12 @@
|
|||
package com.muyu.marketing.team.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.muyu.common.core.exception.ServiceException;
|
||||
import com.muyu.marketing.domain.ActivityTeamProductSkuInfo;
|
||||
import com.muyu.marketing.domain.model.ActivityTeamInfoDetailModel;
|
||||
import com.muyu.marketing.domain.model.ActivityTeamProductSkuAddModel;
|
||||
import com.muyu.marketing.domain.model.TeamProductDiscountPriceModel;
|
||||
import com.muyu.marketing.domain.model.TeamProductStockModel;
|
||||
import com.muyu.marketing.domain.model.*;
|
||||
import com.muyu.marketing.team.mapper.ActivityTeamProductSkuInfoMapper;
|
||||
import com.muyu.marketing.team.service.ActivityTeamProductSkuInfoService;
|
||||
import com.muyu.product.cache.ProjectSkuCache;
|
||||
|
@ -87,10 +86,43 @@ public class ActivityTeamProductSkuInfoServiceImpl extends ServiceImpl<ActivityT
|
|||
LambdaQueryWrapper<ActivityTeamProductSkuInfo> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(ActivityTeamProductSkuInfo::getTeamId,teamId);
|
||||
List<ActivityTeamProductSkuInfo> activityTeamProductSkuInfos = this.list(queryWrapper);
|
||||
|
||||
|
||||
List<ActivityTeamInfoDetailModel> activityTeamInfoDetailModels = activityTeamProductSkuInfos
|
||||
.stream().map(ActivityTeamInfoDetailModel::activityTeamInfoDetailModel).toList();
|
||||
return activityTeamInfoDetailModels;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据商品规格ID修改商品规格
|
||||
* @param activityTeamProductSkuUpdModels
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public boolean batchUpd(List<ActivityTeamProductSkuUpdModel> activityTeamProductSkuUpdModels) {
|
||||
List<ActivityTeamProductSkuInfo> productSkuInfos = activityTeamProductSkuUpdModels.stream()
|
||||
.map(ActivityTeamProductSkuInfo::updBuild).toList();
|
||||
return this.updateBatchById(productSkuInfos);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加商品规格
|
||||
* @param activityTeamProductSkuAddModelList
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public boolean batchAdd(List<ActivityTeamProductSkuAddModel> activityTeamProductSkuAddModelList) {
|
||||
List<ActivityTeamProductSkuInfo> productSkuInfos = activityTeamProductSkuAddModelList.stream()
|
||||
.map(ActivityTeamProductSkuInfo::modelBuild).toList();
|
||||
return this.saveBatch(productSkuInfos);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据商品规格Id删除
|
||||
* @param ids
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public boolean batchDel(List<Long> ids) {
|
||||
return this.removeBatchByIds(ids);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue